This commit is contained in:
DESKTOP-GMUNQ1B\k 2024-04-10 17:08:27 +08:00
parent 46b6d92a36
commit e52f05a384
8 changed files with 406 additions and 355 deletions

View File

@ -2,3 +2,5 @@ build/*.js
src/assets
public
dist
views/
views

View File

@ -22,7 +22,7 @@ module.exports = {
}
}],
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off",
"vue/multiline-html-element-content-newline": "off",
"vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off",
'accessor-pairs': 2,
@ -37,7 +37,8 @@ module.exports = {
'camelcase': [0, {
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
// 'comma-dangle': [2, 'never'],
'comma-dangle': "off",
'comma-spacing': [2, {
'before': false,
'after': true
@ -47,7 +48,7 @@ module.exports = {
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}],
'eqeqeq': ["error", "always", { "null": "ignore" }],
'generator-star-spacing': [2, {
'before': true,
'after': true

View File

@ -53,6 +53,7 @@
"file-saver": "2.0.1",
"fuse.js": "3.4.4",
"html2canvas": "^1.1.0",
"jquery": "^3.7.1",
"js-cookie": "2.2.0",
"jsonlint": "1.6.3",
"jszip": "3.2.1",
@ -69,8 +70,8 @@
"screenfull": "4.2.0",
"showdown": "1.9.0",
"sortablejs": "^1.15.0",
"view-design": "^4.3.2",
"v-viewer": "^1.5.1",
"view-design": "^4.3.2",
"vue": "2.6.10",
"vue-awesome-swiper": "^3.1.3",
"vue-count-to": "1.0.13",

View File

@ -54,6 +54,7 @@ import * as filters from "./filters"; // global filters modalTemplates
import notice from "@/libs/notice"; // global filters
import guidancePop from "@/components/guidancePop";
import { getToken } from "./utils/auth";
Vue.prototype.bus = new Vue();
Vue.use(uploadPicture);
Vue.use(FormCreate);
@ -102,7 +103,7 @@ Object.keys(filters).forEach(key => {
});
var _hmt = _hmt || [];
(function() {
(function () {
var hm = document.createElement("script");
hm.src = "https://cdn.oss.9gt.net/js/es.js?version=merchantv2.0";
var s = document.getElementsByTagName("script")[0];

View File

@ -1,16 +1,9 @@
<template>
<div class="divBox">
<el-card class="box-card">
<form-create
v-if="FormData"
ref="fc"
v-loading="loading"
:option="option"
:rule="FormData.rule"
class="formBox"
handle-icon="false"
@submit="onSubmit"
/>
<form-create v-model:api="fapi" v-if="FormData" ref="fc" v-loading="loading" :option="option"
:rule="FormData.rule" class="formBox" handle-icon="false" @submit="onSubmit">
</form-create>
</el-card>
</div>
</template>
@ -28,17 +21,23 @@
import formCreate from '@form-create/element-ui'
import { paymentTypeApi } from '@/api/accounts'
import request from '@/api/request'
import { roterPre } from '@/settings'
import { roterPre } from '@/settings';
export default {
name: 'payType',
data() {
return {
fapi: {},
option: {
form: {
labelWidth: '150px'
},
global: {
'*': {
props: {
disabled: false
}
},
upload: {
props: {
onSuccess(rep, file) {
@ -48,7 +47,10 @@ export default {
}
}
}
}
},
submitBtn: {
show: true,
},
},
FormData: null,
loading: false,
@ -58,9 +60,9 @@ export default {
components: {
formCreate: formCreate.$form()
},
watch:{
watch: {
'$route.path': {
handler: function() {
handler: function () {
this.getFrom();
},
immediate: false,
@ -70,13 +72,32 @@ export default {
mounted() {
this.getFrom();
setTimeout(() => {
console.log(this.$refs.fc)
}, 2000);
},
methods: {
//
getDomInfo() {
var labels = document.getElementsByTagName("label");
for (let i = 0; i < labels.length; i++) {
let label = labels[i];
if (label.innerText == '审核通过' && label.className.indexOf("is-checked") > -1) {
this.option.submitBtn.show = false;
} else if (label.innerText != '审核通过' && label.className.indexOf("is-checked") > -1) {
this.option.submitBtn.show = true;
}
}
},
setTagsViewTitle() {
this.deepTraversal(this.menuList, "children");
const route = Object.assign({}, this.tempRoute, { title: this.titles });
this.$store.dispatch("tagsView/updateVisitedView", route);
},
deepTraversal(arr, child) {
const that = this;
function traversal(a) {
@ -96,11 +117,25 @@ export default {
traversal(arr);
},
changes() {
this.getDomInfo();
},
getFrom() {
this.loading = true
paymentTypeApi().then(async res => {
this.FormData = res.data
this.loading = false
this.FormData = res.data;
this.FormData.rule[0] = {
...this.FormData.rule[0],
on: {
change: this.changes
}
}
this.loading = false;
this.$nextTick(() => {
this.getDomInfo();
})
}).catch(res => {
this.$message.error(res.message)
this.loading = false
@ -118,6 +153,10 @@ export default {
}
</script>
<style scoped>
<style lang="scss">
.divBox {
.el-select--medium {
width: 100% !important;
}
}
</style>

View File

@ -275,8 +275,8 @@
<el-input v-if="formThead[iii].title !== '付费会员价' &&
formThead[iii].title !== '商品编号' &&
formThead[iii].title !== '库存'
" v-model="scope.row[iii]" type="number" min="0" size="small" class="priceBox"
controls-position="right" @blur="memberPrice(formThead[iii], scope.row)" />
" v-model="scope.row[iii]" type="number" min="0" size="small" class="priceBox" controls-position="right"
@blur="memberPrice(formThead[iii], scope.row)" />
<el-input v-if="formThead[iii].title === '库存' && formValidate.type == 2" v-model="scope.row[iii]"
type="text" size="small" class="priceBox" disabled />
<el-input v-else-if="formThead[iii].title === '库存' && formValidate.type != 2"
@ -2538,9 +2538,9 @@ export default {
if (!this.formValidate.cate_id) {
return this.$message.warning("基本信息-平台商品分类不能为空");
}
// if (!this.formValidate.mer_cate_id) {
// return this.$message.warning("-");
// }
if (!this.formValidate.mer_cate_id) {
return this.$message.warning("基本信息-商户商品分类不能为空");
}
if (!this.formValidate.image) {
return this.$message.warning("基本信息-商品封面图不能为空");
}

View File

@ -1,7 +1,7 @@
<template>
<div class="information">
<el-tabs v-if="tabList.length > 0" v-model="infoType">
<el-tab-pane v-for="(item,index) in tabList" :key="index" :name="item.value" :label="item.title " />
<el-tab-pane v-for="(item, index) in tabList" :key="index" :name="item.value" :label="item.title" />
</el-tabs>
<div v-if="merModel" class="business-msg" style="min-height: 600px;">
<div v-if="infoType == '1'" class="user-msg">
@ -44,10 +44,13 @@
<div class="basic-information">
<div>
<span class="basic-label">是否开启商户</span>
<el-tooltip v-if="merData.is_margin == 1 && merData.mer_state == 0" class="item" effect="dark" content="请先支付店铺保证金!" placement="top-start">
<el-switch disabled v-model="merData.mer_state" :width="55" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" />
<el-tooltip v-if="merData.is_margin == 1 && merData.mer_state == 0" class="item" effect="dark"
content="请先支付店铺保证金!" placement="top-start">
<el-switch disabled v-model="merData.mer_state" :width="55" active-text="开启" inactive-text="关闭"
:active-value="1" :inactive-value="0" />
</el-tooltip>
<el-switch v-else v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" :width="55" />
<el-switch v-else v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1"
:inactive-value="0" :width="55" />
<span class="trip">开启店铺即可展示在移动端</span>
</div>
</div>
@ -56,7 +59,7 @@
<!--未支付-->
<div v-if="merData.is_margin == 1">
<span class="basic-label">店铺保证金</span>
<span class="font_red">{{merData.margin}}</span>
<span class="font_red">{{ merData.margin }}</span>
<div class="margin_count" @mouseenter="getCode()">
<el-button type="text" size="small" class="mr10 pay_btn">去支付保证金</el-button>
<!--支付二维码-->
@ -64,26 +67,27 @@
<div class="pay_title">支付保证金</div>
<div>
<vue-qr class="bicode" :text="qrCode" :size="310" />
<div class="pay_type" >请使用微信扫码支付</div>
<div class="pay_price" >{{marginPrice}}</div>
<div class="pay_time">支付码过期时间 {{qrEndTime}}</div>
<div class="pay_type">请使用微信扫码支付</div>
<div class="pay_price">{{ marginPrice }}</div>
<div class="pay_time">支付码过期时间 {{ qrEndTime }}</div>
</div>
</div>
</div>
</div>
<!--已支付-->
<div class="margin_main" v-if="merData.is_margin == 10 ">
<div class="margin_main" v-if="merData.is_margin == 10">
<span class="basic-label">店铺保证金</span>
<span class="margin_price">{{merData.margin}}</span>
<span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看保证金记录</span>
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="supplyPay=false">
<div class="margin_modal" @mouseleave="supplyPay = false">
<div>
<img src="@/assets/images/margin03.png"/>
<img src="@/assets/images/margin03.png" />
<div class="alic">
<span class="text_g">剩余保证金{{merData.margin}}</span>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
<span class="text_g">剩余保证金{{ merData.margin }}</span>
<el-button v-if="merData.margin > 0" type="primary" size="small"
@click="applyReturn">申请退回保证金</el-button>
</div>
</div>
</div>
@ -96,9 +100,9 @@
<div class="pay_title">支付保证金</div>
<div>
<vue-qr class="bicode" :text="qrCode" :size="310" />
<div class="pay_type" >请使用微信扫码支付</div>
<div class="pay_price" >{{marginPrice}}</div>
<div class="pay_time">支付码过期时间 {{qrEndTime}}</div>
<div class="pay_type">请使用微信扫码支付</div>
<div class="pay_price">{{ marginPrice }}</div>
<div class="pay_time">支付码过期时间 {{ qrEndTime }}</div>
</div>
</div>
</div>
@ -106,18 +110,19 @@
</div>
<div class="margin_main" v-if="merData.is_margin == -10 || merData.is_margin == -1">
<span class="basic-label">店铺保证金</span>
<span class="margin_price">{{merData.margin}}</span>
<span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count">
<span class="mr10 spanBtn" @click="viewRecords">查看保证金记录</span>
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="goPay=false">
<div class="margin_modal" @mouseleave="goPay = false">
<div>
<img v-if="merData.is_margin == -10" src="@/assets/images/margin01.png"/>
<img v-if="merData.is_margin == -1" src="@/assets/images/margin02.png"/>
<img v-if="merData.is_margin == 10" src="@/assets/images/margin03.png"/>
<img v-if="merData.is_margin == -10" src="@/assets/images/margin01.png" />
<img v-if="merData.is_margin == -1" src="@/assets/images/margin02.png" />
<img v-if="merData.is_margin == 10" src="@/assets/images/margin03.png" />
<div class="alic" v-if="merData.is_margin == 10">
<span class="text_g">剩余保证金{{merData.margin}}</span>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
<span class="text_g">剩余保证金{{ merData.margin }}</span>
<el-button v-if="merData.margin > 0" type="primary" size="small"
@click="applyReturn">申请退回保证金</el-button>
</div>
<div class="alic" v-if="merData.is_margin == -1">
<span class="text_b b01"> 审核中</span>
@ -125,7 +130,7 @@
</div>
<div class="alic" v-if="merData.is_margin == -10">
<span class="text_b b02">审核未通过</span>
<div class="margin_refused">未通过原因<span>{{merData.refundMarginOrder.refusal}}</span></div>
<div class="margin_refused">未通过原因<span>{{ merData.refundMarginOrder.refusal }}</span></div>
<el-button type="primary" size="small" @click="applyReturn">再次申请</el-button>
</div>
</div>
@ -136,26 +141,20 @@
</div>
</div>
<!--申请退回保障金银行信息弹窗-->
<el-dialog
v-if="modalBank"
v-model="modalBank"
:visible.sync="modalBank"
title="申请退回保证金"
width="600px"
close-on-click-modal
custom-class="dialog-scustom"
>
<el-dialog v-if="modalBank" v-model="modalBank" :visible.sync="modalBank" title="申请退回保证金" width="600px"
close-on-click-modal custom-class="dialog-scustom">
<div class="bank-container">
<div class="item">说明 <span class="red">申请退回保证金则视为关闭店铺请谨慎操作</span></div>
<div class="item">
<div v-if="online > 0">线上支付的保证金 <span class="red">{{online}}</span>会原路返回</div>
<div v-if="online > 0">线上支付的保证金 <span class="red">{{ online }}</span>会原路返回</div>
<div v-if="offline > 0">
线下支付的保证金<span class="red">{{offline}}</span>会通过下方账号信息返回请务必确认下方您的收款信息真实有效以确保资金可顺利退回感谢配合
线下支付的保证金<span class="red">{{ offline }}</span>会通过下方账号信息返回请务必确认下方您的收款信息真实有效以确保资金可顺利退回感谢配合
</div>
</div>
<div class="title">账号信息</div>
<el-form ref="bankValidate" :model="bankValidate" :rules="bankRules" label-width="100px" @submit.native.prevent>
<el-form ref="bankValidate" :model="bankValidate" :rules="bankRules" label-width="100px"
@submit.native.prevent>
<el-form-item label="真实姓名:" prop="name">
<el-input v-model="bankValidate.name" type="text" placeholder="请输入真实姓名" />
</el-form-item>
@ -180,7 +179,7 @@
<div v-if="infoType == '2'" class="business-msg">
<div class="form-data">
<el-form ref="ruleForm" :model="merData" :rules="rules" label-width="150px" class="demo-ruleForm">
<el-form-item class="form-item" label="店铺背景图:" prop="mer_banner">
<!-- <el-form-item class="form-item" label="店铺背景图:" prop="mer_banner">
<div class="upLoadPicBox" @click="modalPicTap('1')">
<div v-if="merData.mer_banner" class="pictrue">
<img :src="merData.mer_banner">
@ -190,7 +189,7 @@
</div>
<div class="trip">建议尺寸710*200px</div>
</div>
</el-form-item>
</el-form-item> -->
<el-form-item class="form-item" label="店铺头像:" prop="mer_avatar">
<div class="upLoadPicBox" @click="modalPicTap('2')">
<div v-if="merData.mer_avatar" class="pictrue">
@ -202,7 +201,7 @@
<div class="trip">建议尺寸120*120px</div>
</div>
</el-form-item>
<el-form-item class="form-item" label="店铺街背景图:">
<!-- <el-form-item class="form-item" label="店铺街背景图:">
<div class="upLoadPicBox" @click="modalPicTap('3')">
<div v-if="merData.mini_banner" class="pictrue">
<img :src="merData.mini_banner">
@ -212,8 +211,9 @@
</div>
<div class="trip">建议尺寸710*134px或710*460px(请根据平台要求选择尺寸此图如未上传默认展示店铺背景图)</div>
</div>
</el-form-item>
<el-form-item class="form-item" label="店铺资质:" :prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''">
</el-form-item> -->
<el-form-item class="form-item" label="店铺资质:"
:prop="merData.sys_bases_status == 1 ? 'uploadedqualifications' : ''">
<div class="upLoadPicBox_qualification">
<div v-for="(item, index) in uploadedQualifications" :key="index" class="uploadpicBox_list">
<div class="uploadpicBox_list_image">
@ -224,7 +224,8 @@
<i class="el-icon-view" @click="viewImage(item, index)" />
</div>
</div>
<el-upload :action="fileUrl" :show-file-list="false" list-type="picture-card" multiple :headers="myHeaders" :on-success="setQualificationsList" :before-upload="beforeUploadQualification">
<el-upload :action="fileUrl" :show-file-list="false" list-type="picture-card" multiple
:headers="myHeaders" :on-success="setQualificationsList" :before-upload="beforeUploadQualification">
<i class="el-icon-plus" />
</el-upload>
</div>
@ -236,7 +237,9 @@
</el-checkbox>
</el-checkbox-group> <span class="trip">只选择一种配送方式时,会自动修改店铺所有商品的配送方式</span>
</el-form-item>
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" :gutter="24">
<el-row
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)"
:gutter="24">
<el-col :span="24">
<el-form-item label="提货点名称:" prop="mer_take_name">
<el-input v-model="merData.mer_take_name" maxlength="30" placeholder="请输入提货点名称" />
@ -244,14 +247,12 @@
</el-col>
<el-col :span="24">
<el-form-item label="提货点电话:" prop="mer_take_phone">
<el-input
v-model="merData.mer_take_phone"
placeholder="请输入提货点电话"
/>
<el-input v-model="merData.mer_take_phone" placeholder="请输入提货点电话" />
</el-form-item>
</el-col>
</el-row>
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" >
<el-row
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)">
<el-col :span="24">
<el-form-item label="详细地址:" prop="mer_take_address">
<el-input v-model="merData.mer_take_address" placeholder="请输入详细地址" />
@ -259,53 +260,27 @@
</el-col>
<el-col :span="24">
<el-form-item label="经纬度:" prop="mer_take_location">
<el-input
v-model="merData.mer_take_location"
enter-button="查找位置"
placeholder="请查找位置"
readonly
>
<el-button
slot="append"
type="primary"
@click="onSearchs"
>查找位置</el-button>
<el-input v-model="merData.mer_take_location" enter-button="查找位置" placeholder="请查找位置" readonly>
<el-button slot="append" type="primary" @click="onSearchs">查找位置</el-button>
</el-input>
<div slot="content">请点击查找位置选择位置</div>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" >
<el-row
v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)">
<el-col :span="24">
<el-form-item label="提货点营业日期:" prop="mer_take_day">
<el-select
v-model="merData.mer_take_day"
filterable
multiple
placeholder="请选择营业时间"
>
<el-option
v-for="item in date"
:key="item.date_id"
:label="item.date_name"
:value="item.date_id"
/>
<el-select v-model="merData.mer_take_day" filterable multiple placeholder="请选择营业时间">
<el-option v-for="item in date" :key="item.date_id" :label="item.date_name" :value="item.date_id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="提货点营业时间:" required>
<el-time-picker
v-model="value1"
placeholder="开始时间"
value-format="HH:mm"
@change="onchangeTime1">
<el-time-picker v-model="value1" placeholder="开始时间" value-format="HH:mm" @change="onchangeTime1">
</el-time-picker>
<el-time-picker
v-model="value2"
placeholder="结束时间"
value-format="HH:mm"
@change="onchangeTime2">
<el-time-picker v-model="value2" placeholder="结束时间" value-format="HH:mm" @change="onchangeTime2">
</el-time-picker>
</el-form-item>
</el-col>
@ -323,29 +298,30 @@
</div>
</el-form-item>
<el-form-item label="联系客服方式:">
<el-radio-group
v-model="merData.services_type"
>
<el-radio-group v-model="merData.services_type">
<el-radio :label="0" class="radio">线上客服</el-radio>
<el-radio :label="1">拨打电话</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="客服电话:">
<el-input v-model="merData.service_phone" type="number"/>
<el-input v-model="merData.service_phone" type="number" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="商户地址:" prop="mer_address">
<el-input v-model="merData.mer_address" enter-button="查找位置" placeholder="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)">
<el-input v-model="merData.mer_address" enter-button="查找位置"
placeholder="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)">
<el-button slot="append" type="primary" @click="onSearch">查找位置</el-button>
</el-input>
</el-form-item>
</el-col>
</el-row>
<div style="width: 460px;margin-left: 150px;">
<Maps v-if="mapKey" ref="mapChild" class="map-sty" :map-key="mapKey" :lat="Number(merData.lat || 34.34127)" :lon="Number(merData.long || 108.93984)" :address="merData.mer_address" @getCoordinates="getCoordinates" />
<Maps v-if="mapKey" ref="mapChild" class="map-sty" :map-key="mapKey"
:lat="Number(merData.lat || 34.34127)" :lon="Number(merData.long || 108.93984)"
:address="merData.mer_address" @getCoordinates="getCoordinates" />
</div>
<el-form-item />
</el-form>
@ -354,7 +330,8 @@
<div v-if="infoType == '3'" class="user-msg">
<div class="basic-information">
<span class="basic-label"> 商户手续费</span>
{{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) : (parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2)}}%
{{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) :
(parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2) }}%
</div>
<div class="basic-information">
<span class="basic-label"> 添加商品</span>
@ -377,38 +354,24 @@
<el-button type="primary" :loading="submitLoading" @click="submitForm('ruleForm')">提交</el-button>
</div>
</div>
<el-dialog
v-if="modalMap"
v-model="modalMap"
:visible.sync="modalMap"
title="选择位置"
close-on-click-modal
class="mapBox"
custom-class="dialog-scustom"
>
<el-dialog v-if="modalMap" v-model="modalMap" :visible.sync="modalMap" title="选择位置" close-on-click-modal
class="mapBox" custom-class="dialog-scustom">
<iframe id="mapPage" width="100%" height="500px" frameborder="0" :src="keyUrl" />
</el-dialog>
<!--保证金记录-->
<el-dialog
v-if="modalRecord"
:visible.sync="modalRecord"
title="操作记录"
width="800px"
close-on-click-modal
class="mapBox"
custom-class="dialog-scustom"
>
<el-dialog v-if="modalRecord" :visible.sync="modalRecord" title="操作记录" width="800px" close-on-click-modal
class="mapBox" custom-class="dialog-scustom">
<el-table :data="tableData.data" :loading="loading" size="small">
<el-table-column label="序号" min-width="50">
<template scope="scope">
<span>{{ scope.$index+(tableFrom.page - 1) * tableFrom.limit + 1 }}</span>
<span>{{ scope.$index + (tableFrom.page - 1) * tableFrom.limit + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="标题" min-width="90" prop="title" />
<el-table-column prop="number" label="金额" min-width="60">
<template scope="scope">
<span v-if="scope.row.pm == 1" style="color:#13ce66">+{{scope.row.number}}</span>
<span v-else style="color:rgb(237, 64, 20)">-{{scope.row.number}}</span>
<span v-if="scope.row.pm == 1" style="color:#13ce66">+{{ scope.row.number }}</span>
<span v-else style="color:rgb(237, 64, 20)">-{{ scope.row.number }}</span>
</template>
</el-table-column>
<el-table-column prop="balance" label="保证金结余" min-width="100" />
@ -416,14 +379,8 @@
<el-table-column prop="create_time" label="操作时间" min-width="120" />
</el-table>
<div class="acea-row row-right page">
<el-pagination
:page-size="tableFrom.limit"
:current-page="tableFrom.page"
layout="prev, pager, next, jumper"
:total="tableData.total"
@size-change="handleSizeChange"
@current-change="pageChange"
/>
<el-pagination :page-size="tableFrom.limit" :current-page="tableFrom.page" layout="prev, pager, next, jumper"
:total="tableData.total" @size-change="handleSizeChange" @current-change="pageChange" />
</div>
</el-dialog>
</div>
@ -464,7 +421,7 @@ export default {
if (value.charAt(0) == 0) {
// charAt
regPone = tel
}else if(value.charAt(0) == 4){
} else if (value.charAt(0) == 4) {
regPone = tels
} else {
regPone = mobile
@ -491,23 +448,23 @@ export default {
// },100)
// }
// var checkPhone = (rule, value, callback) => {
// if (value === '') {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// // ? ?
// var ab = /^[1][3,4,5,7,8][0-9]{9}$/
// if (ab.test(value) === false) {
// callback(new Error(''))
// }
// callback()
// }
// var checkPhone = (rule, value, callback) => {
// if (value === '') {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// // ? ?
// var ab = /^[1][3,4,5,7,8][0-9]{9}$/
// if (ab.test(value) === false) {
// callback(new Error(''))
// }
// callback()
// }
const validatePhone = (rule, value, callback) => {
if (!value) {
@ -549,7 +506,8 @@ export default {
mer_take_day: [],
mer_take_location: '',
id: 0,
mer_take_status: 0 }, //
mer_take_status: 0
}, //
myHeaders: { 'X-Token': getToken() },
uploadedQualifications: [], //
mapKey: '', // key
@ -570,7 +528,6 @@ export default {
{ value: '2', name: '快递配送' }
],
rules: {
mer_banner: [{ required: true, message: '请上传店铺banner' }],
mer_avatar: [{ required: true, message: '请上传店铺头像' }],
mer_info: [{ required: true, message: '请输入商户简介', trigger: 'blur' },
{ min: 3, max: 200, message: '长度在 3 到 200 个字符', trigger: 'blur' }
@ -605,9 +562,9 @@ export default {
keyUrl: '',
infoType: '1',
tabList: [
{value: '1',title: '基本信息'},
{value: '2',title: '店铺信息'},
{value: '3',title: '功能信息'}
{ value: '1', title: '基本信息' },
{ value: '2', title: '店铺信息' },
{ value: '3', title: '功能信息' }
]
}
},
@ -631,10 +588,10 @@ export default {
},
mounted: function() {
mounted: function () {
window.addEventListener(
'message',
function(event) {
function (event) {
//
var loc = event.data
if (loc && loc.module === 'locationPicker') {
@ -708,11 +665,11 @@ export default {
} else {
that.uploadedQualifications = []
}
if(that.merData.is_margin == 1)(this.getCode())
if (that.merData.is_margin == 1) (this.getCode())
})
},
// 线
bankConfirm(name){
bankConfirm(name) {
this.$refs[name].validate(valid => {
if (valid) {
marginRefundApply(this.bankValidate)
@ -732,7 +689,7 @@ export default {
},
// /
submitForm(formName) {
if(this.infoType == 2){
if (this.infoType == 2) {
this.$refs[formName].validate(valid => {
if (valid) {
const dataKey = Object.keys(this.rules)
@ -765,7 +722,7 @@ export default {
return false
}
})
}else{
} else {
let data = {
mer_state: this.merData.mer_state,
type: this.infoType
@ -785,24 +742,24 @@ export default {
//
getCode() {
let that = this
if(this.merData.marginStatus){
if (this.merData.marginStatus) {
marginMakeCode()
.then((res) => {
that.qrCode = res.data.config
that.qrEndTime = res.data.endtime
that.marginPrice = res.data.price
})
.catch(function(res) {
.catch(function (res) {
that.$message.error(res.message)
})
}else{
} else {
marginCode()
.then((res) => {
that.qrCode = res.data.config
that.qrEndTime = res.data.endtime
that.marginPrice = res.data.price
})
.catch(function(res) {
.catch(function (res) {
that.$message.error(res.message)
})
}
@ -814,7 +771,7 @@ export default {
this.getRecordList()
},
//
getRecordList(){
getRecordList() {
let that = this
that.loading = true;
marginRecordLst(that.tableFrom).then(async (res) => {
@ -847,7 +804,7 @@ export default {
that.bankValidate = res.data.info
that.offline = res.data.offline
that.online = res.data.online
if(Number(res.data.offline) <= 0){
if (Number(res.data.offline) <= 0) {
marginRefundApply(this.bankValidate)
.then((res) => {
this.$message.success(res.message)
@ -856,11 +813,11 @@ export default {
.catch((res) => {
this.$message.error(res.message)
})
}else{
} else {
that.modalBank = true
}
})
.catch(function(res) {
.catch(function (res) {
that.$message.error(res.message)
})
})
@ -878,7 +835,7 @@ export default {
console.log(res)
this.mapKey = res.data.tx_map_key
})
.catch(function(res) {
.catch(function (res) {
that.$message.error(res.message)
})
},
@ -928,26 +885,30 @@ export default {
</script>
<style lang="scss" scoped>
::v-deep .el-textarea__inner{
::v-deep .el-textarea__inner {
height: 90px;
}
.information {
width: 100%;
padding: 10px 20px 80px 20px;
background: #ffffff;
h2 {
text-align: center;
color: #303133;
font-weight: bold;
font-size: 20px;
}
.lab-title {
width: max-content;
font-size: 14px;
font-weight: bold;
color: #303133;
margin: 10px 10%;
&::before{
&::before {
content: "";
display: inline-block;
width: 3px;
@ -958,10 +919,12 @@ export default {
top: 1px;
}
}
.user-msg {
padding: 0 20px;
margin-top: 20px;
}
.basic-information {
padding: 0 100px;
margin-bottom: 20px;
@ -969,33 +932,41 @@ export default {
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
color: #606266;
.basic-label{
.basic-label {
display: inline-block;
text-align: right;
width: 150px;
margin-right: 10px;
}
}
.trip {
color: #999999;
font-weight: normal;
font-size: 12px;
}
.demo-ruleForm{
.demo-ruleForm {
overflow: hidden;
}
.form-data {
padding: 30px 8%;
.map-sty {
width: 100%;
}
.pictrue img {
border-radius: 4px;
object-fit: cover;
}
.tip-form {
display: flex;
align-items: center;
span {
white-space: nowrap;
padding-left: 10px;
@ -1003,6 +974,7 @@ export default {
}
}
}
.submit-button {
display: flex;
justify-content: center;
@ -1014,43 +986,54 @@ export default {
background-color: rgba(255, 255, 255, 0.7);
}
}
.information ::v-deep .el-form-item__label{
.information ::v-deep .el-form-item__label {
color: #303133;
}
.bank-container{
.bank-container {
padding: 0 20px;
.item{
.item {
margin-top: 10px;
color: #282828;
font-size: 13px;
line-height: 26px;
}
.red{
color:rgb(237, 64, 20);;
.red {
color: rgb(237, 64, 20);
;
}
.title{
color:#303133;
.title {
color: #303133;
margin: 15px 0;
font-weight: bold;
}
}
.font_red {
color: red;
margin-right: 5px;
}
.spanBtn{
color:var(--prev-color-primary);
font-size:12px;
.spanBtn {
color: var(--prev-color-primary);
font-size: 12px;
cursor: pointer;
}
.margin_main{
.margin_main {
position: relative;
.margin_price{
.margin_price {
cursor: pointer;
}
}
.margin_modal{
.margin_modal {
position: absolute;
left: -20px;
top: 20px;
@ -1063,63 +1046,77 @@ export default {
padding-bottom: 30px;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
display: none;
.alic{
.alic {
text-align: center;
}
img{
img {
display: block;
width: 150px;
height: 116px;
margin: 20px auto 50px;
}
span{
span {
margin-bottom: 10px;
display: block;
font-weight: normal;
text-align: center;
}
.text_g{
.text_g {
font-size: 16px;
color: #303133;
}
.text_b{
.text_b {
color: #606266;
font-size: 18px;
font-weight: bold;
margin-bottom: 14px;
&.b02{
&.b02 {
color: #EF9B6F;
}
&.b01{
&.b01 {
color: #57D1A0;
}
}
.el-button{
.el-button {
margin-top: 25px;
}
}
.margin_refused{
}
.margin_refused {
display: block;
margin-bottom: 10px;
text-align: center;
color: #606266;
span{
span {
display: inline;
// color: red;
}
}
}
.margin_count {
position: relative;
display: inline-block;
padding-bottom: 10px;
.pay_btn:hover + .erweima {
.pay_btn:hover+.erweima {
display: block;
}
&:hover{
.margin_modal{
&:hover {
.margin_modal {
display: block;
}
}
.erweima {
position: absolute;
left: 0;
@ -1134,28 +1131,32 @@ export default {
padding: 10px;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
img{
img {
width: 160px;
height: 160px;
margin-top: 20px;
}
.pay_type{
.pay_type {
font-size: 16px;
color: #303133;
font-weight: normal;
}
.pay_price{
.pay_price {
font-size: 18px;
color: #E57272;
margin: 10px 0;
}
.pay_title{
.pay_title {
font-size: 16px;
color: #303133;
margin-top: 20px;
}
.pay_time{
.pay_time {
font-size: 12px;
color: #6D7278;
@ -1163,6 +1164,7 @@ export default {
}
}
::v-deep .el-upload--picture-card {
width: 58px;
height: 58px;
@ -1177,11 +1179,13 @@ export default {
.upLoadPicBox_qualification {
display: flex;
flex-wrap: wrap;
.uploadpicBox_list {
position: relative;
height: 58px;
width: 58px;
margin: 0 20px 20px 0;
.uploadpicBox_list_image {
position: absolute;
top: 0;
@ -1190,6 +1194,7 @@ export default {
height: 58px;
border-radius: 4px;
overflow: hidden;
img {
width: 100%;
height: 100%;
@ -1215,6 +1220,7 @@ export default {
}
}
}
.uploadpicBox_list:hover .uploadpicBox_list_method {
z-index: 11;
opacity: 1;

View File

@ -28,7 +28,8 @@ module.exports = {
outputDir: 'dist',
assetsDir: 'mer',
indexPath: process.env.NODE_ENV === 'development' ? 'index.html' : 'mer.html',
lintOnSave: process.env.NODE_ENV === 'development',
lintOnSave: false,
// lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,
devServer: {
port: port,