|
@@ -1,8 +1,8 @@
|
|
|
<template>
|
|
<template>
|
|
|
<basic-container>
|
|
<basic-container>
|
|
|
- <el-dialog @close="dialogShow=false" append-to-body :close-on-click-modal="false" :visible.sync="dialogShow"
|
|
|
|
|
|
|
+ <el-dialog @close="dialogShow=false" append-to-body :close-on-click-modal="false" :visible.sync="dialogShow"
|
|
|
:title="dialogTitle" width="60%">
|
|
:title="dialogTitle" width="60%">
|
|
|
- <mall-audit v-if="dialogTitle=='商场进件'" ref="refName" :operateId="operateId"></mall-audit>
|
|
|
|
|
|
|
+ <mall-audit v-if="dialogTitle=='商场进件'&& dialogShow" ref="refName" :operateId="operateId" :isResubmit="isResubmit"></mall-audit>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
|
|
<avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
|
|
<avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
|
|
@@ -29,14 +29,14 @@
|
|
|
<template slot-scope="scope" slot="dataInfo">
|
|
<template slot-scope="scope" slot="dataInfo">
|
|
|
<div style="display: flex;">
|
|
<div style="display: flex;">
|
|
|
<div>
|
|
<div>
|
|
|
- 会员数量:
|
|
|
|
|
|
|
+ 会员数量:
|
|
|
<div
|
|
<div
|
|
|
style="background-color: #3296fa;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
style="background-color: #3296fa;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
|
{{scope.row.memberNum}}
|
|
{{scope.row.memberNum}}
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div>
|
|
<div>
|
|
|
- 账户余额:
|
|
|
|
|
|
|
+ 账户余额:
|
|
|
<div
|
|
<div
|
|
|
style="background-color: #5289ff;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
style="background-color: #5289ff;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
|
{{scope.row.balance}}
|
|
{{scope.row.balance}}
|
|
@@ -45,7 +45,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div>
|
|
<div>
|
|
|
- 积分数量:
|
|
|
|
|
|
|
+ 积分数量:
|
|
|
<div
|
|
<div
|
|
|
style="background-color: #ffaa7f;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
style="background-color: #ffaa7f;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
|
{{scope.row.point}}
|
|
{{scope.row.point}}
|
|
@@ -53,7 +53,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div>
|
|
<div>
|
|
|
- 积分兑率:
|
|
|
|
|
|
|
+ 积分兑率:
|
|
|
<div
|
|
<div
|
|
|
style="background-color: #00aa7f;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
style="background-color: #00aa7f;color: white; border-radius: 5px; margin:10px; padding:0 10px 0 10px ; display:inline;">
|
|
|
{{scope.row.pointRate}}
|
|
{{scope.row.pointRate}}
|
|
@@ -61,10 +61,20 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
|
|
+ <!-- 进件状态 -->
|
|
|
|
|
+ <template slot-scope="scope" slot="auditStatus">
|
|
|
|
|
+ <div>{{ auditStatusKey(scope.row.auditStatus) }}</div>
|
|
|
|
|
+ <el-tag v-if="scope.row.auditStatus=='WAITING_SIGN'" @click.stop="downloadFile(scope.row)" type="warning" style="margin-top: 3px;cursor: pointer;"> 打开签约页
|
|
|
|
|
+ </el-tag><br>
|
|
|
|
|
+ <el-tag @click.stop="openDialog(scope.row.id,'商场进件',true)" type="danger" style="margin-top: 3px;cursor: pointer;"> 修改进件资料</el-tag><br>
|
|
|
|
|
+ <el-tag v-if="!$isEmpty(scope.row.auditStatus)" @click.stop="toFlowDetail(scope.row)" type="success" style="margin-top: 3px;cursor: pointer;"> 状态跟踪</el-tag><br>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
<!-- 操作菜单 -->
|
|
<!-- 操作菜单 -->
|
|
|
<template slot-scope="scope" slot="menu">
|
|
<template slot-scope="scope" slot="menu">
|
|
|
<el-button type="text" size="small" icon="el-icon-view" plain class="none-border"
|
|
<el-button type="text" size="small" icon="el-icon-view" plain class="none-border"
|
|
|
- @click.stop="openDialog(scope.row.id,'商场进件')">商场进件
|
|
|
|
|
|
|
+ :disabled= "!$isEmpty(scope.row.auditStatus)"
|
|
|
|
|
+ @click.stop="openDialog(scope.row.id,'商场进件',false)">商场进件
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -83,8 +93,15 @@
|
|
|
getDetail,
|
|
getDetail,
|
|
|
add,
|
|
add,
|
|
|
update,
|
|
update,
|
|
|
|
|
+ downloadSign,
|
|
|
remove
|
|
remove
|
|
|
} from "@/api/ldt_mall/mall";
|
|
} from "@/api/ldt_mall/mall";
|
|
|
|
|
+ import {
|
|
|
|
|
+ getOne as getAudit
|
|
|
|
|
+ } from "@/api/ldt_shop/audit";
|
|
|
|
|
+ import {
|
|
|
|
|
+ getOne as getRegion
|
|
|
|
|
+ } from "@/api/base/region";
|
|
|
import {
|
|
import {
|
|
|
mapGetters
|
|
mapGetters
|
|
|
} from "vuex";
|
|
} from "vuex";
|
|
@@ -92,19 +109,63 @@
|
|
|
getLazyTree
|
|
getLazyTree
|
|
|
} from "@/api/base/region";
|
|
} from "@/api/base/region";
|
|
|
|
|
|
|
|
-import mallAudit from "./comps/mall_audit.vue"
|
|
|
|
|
|
|
+ const auditKV = [{
|
|
|
|
|
+ label: "待商场审核",
|
|
|
|
|
+ value: "WAITING_MALL"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "待平台审核",
|
|
|
|
|
+ value: "WAITING_PLATFORM"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "商户入驻评估",
|
|
|
|
|
+ value: "WAITING_INVITATION"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "待商户签约",
|
|
|
|
|
+ value: "WAITING_SIGN"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "待商户认证",
|
|
|
|
|
+ value: "WAITING_AUTH"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "审核通过",
|
|
|
|
|
+ value: "PASS"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "审核驳回",
|
|
|
|
|
+ value: "FAIL"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: "停用",
|
|
|
|
|
+ value: "STOP"
|
|
|
|
|
+ },
|
|
|
|
|
+ ]
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ import mallAudit from "./comps/mall_audit.vue"
|
|
|
export default {
|
|
export default {
|
|
|
- components:{
|
|
|
|
|
|
|
+ components: {
|
|
|
mallAudit
|
|
mallAudit
|
|
|
},
|
|
},
|
|
|
|
|
+ watch:{
|
|
|
|
|
+ "form.locationCode"(val){
|
|
|
|
|
+ if(!this.$isEmpty(val)){
|
|
|
|
|
+ let regions = val.split(",");
|
|
|
|
|
+ getRegion({code: regions[regions.length-1]}).then(res => {
|
|
|
|
|
+ let region = res.data.data;
|
|
|
|
|
+ this.form.location = region.provinceName+","+region.cityName+","+region.districtName
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
//弹框
|
|
//弹框
|
|
|
- dialogShow:false,
|
|
|
|
|
|
|
+ dialogShow: false,
|
|
|
operateId: '',
|
|
operateId: '',
|
|
|
- dialogTitle:'',
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ dialogTitle: '',
|
|
|
form: {
|
|
form: {
|
|
|
longitude: "",
|
|
longitude: "",
|
|
|
},
|
|
},
|
|
@@ -120,13 +181,14 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
height: 'auto',
|
|
height: 'auto',
|
|
|
calcHeight: 30,
|
|
calcHeight: 30,
|
|
|
tip: false,
|
|
tip: false,
|
|
|
|
|
+ viewBtn: false,
|
|
|
searchShow: true,
|
|
searchShow: true,
|
|
|
searchMenuSpan: 6,
|
|
searchMenuSpan: 6,
|
|
|
searchLabelWidth: 120,
|
|
searchLabelWidth: 120,
|
|
|
border: true,
|
|
border: true,
|
|
|
index: true,
|
|
index: true,
|
|
|
- viewBtn: true,
|
|
|
|
|
addBtn: true,
|
|
addBtn: true,
|
|
|
|
|
+ card: true,
|
|
|
selection: true,
|
|
selection: true,
|
|
|
dialogClickModal: false,
|
|
dialogClickModal: false,
|
|
|
labelWidth: 150,
|
|
labelWidth: 150,
|
|
@@ -185,6 +247,7 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
{
|
|
{
|
|
|
label: "是否启用会员中心",
|
|
label: "是否启用会员中心",
|
|
|
prop: "useMember",
|
|
prop: "useMember",
|
|
|
|
|
+ addDisplay: false,
|
|
|
type: "radio",
|
|
type: "radio",
|
|
|
dicData: [{
|
|
dicData: [{
|
|
|
label: '否',
|
|
label: '否',
|
|
@@ -225,19 +288,8 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
label: "所在区域",
|
|
label: "所在区域",
|
|
|
width: 150,
|
|
width: 150,
|
|
|
prop: "location",
|
|
prop: "location",
|
|
|
- type: "cascader",
|
|
|
|
|
- typeslot: true,
|
|
|
|
|
- separator: "-",
|
|
|
|
|
- dicUrl: 'https://cli.avuejs.com/api/area/getProvince',
|
|
|
|
|
- lazy: true,
|
|
|
|
|
- emitPath: true,
|
|
|
|
|
- region: [],
|
|
|
|
|
- lazyLoad: this.region,
|
|
|
|
|
- dataType: "string",
|
|
|
|
|
- props: {
|
|
|
|
|
- label: 'title',
|
|
|
|
|
- value: 'title'
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ hide: true,
|
|
|
|
|
+ display: false,
|
|
|
rules: [{
|
|
rules: [{
|
|
|
required: true,
|
|
required: true,
|
|
|
message: "请输入所在区域",
|
|
message: "请输入所在区域",
|
|
@@ -249,7 +301,7 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
prop: "address",
|
|
prop: "address",
|
|
|
type: "map",
|
|
type: "map",
|
|
|
dataType: "string",
|
|
dataType: "string",
|
|
|
- hide:true,
|
|
|
|
|
|
|
+ hide: true,
|
|
|
rules: [{
|
|
rules: [{
|
|
|
required: true,
|
|
required: true,
|
|
|
message: "请选择具体地址",
|
|
message: "请选择具体地址",
|
|
@@ -257,11 +309,20 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
}]
|
|
}]
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- label: "所在区域编码",
|
|
|
|
|
|
|
+ label: "所在区域",
|
|
|
prop: "locationCode",
|
|
prop: "locationCode",
|
|
|
hide: true,
|
|
hide: true,
|
|
|
- display: false,
|
|
|
|
|
- disabled: false,
|
|
|
|
|
|
|
+ type: "cascader",
|
|
|
|
|
+ typeslot: true,
|
|
|
|
|
+ separator: ",",
|
|
|
|
|
+ lazy: true,
|
|
|
|
|
+ emitPath: true,
|
|
|
|
|
+ lazyLoad: this.region,
|
|
|
|
|
+ dataType: "string",
|
|
|
|
|
+ props: {
|
|
|
|
|
+ label: 'title',
|
|
|
|
|
+ value: 'id'
|
|
|
|
|
+ },
|
|
|
rules: [{
|
|
rules: [{
|
|
|
required: false,
|
|
required: false,
|
|
|
message: "请输入所在区域编码",
|
|
message: "请输入所在区域编码",
|
|
@@ -289,9 +350,14 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
}]
|
|
}]
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- label: "商场描述",
|
|
|
|
|
- prop: "intro",
|
|
|
|
|
- type: "textarea",
|
|
|
|
|
|
|
+ label: "进件状态",
|
|
|
|
|
+ prop: "auditStatus",
|
|
|
|
|
+ type: "select",
|
|
|
|
|
+ addDisplay: false,
|
|
|
|
|
+ search: true,
|
|
|
|
|
+ slot: true,
|
|
|
|
|
+ editDisplay: false,
|
|
|
|
|
+ dicData: auditKV
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: "会员数量",
|
|
label: "会员数量",
|
|
@@ -352,13 +418,32 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
});
|
|
});
|
|
|
return ids.join(",");
|
|
return ids.join(",");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
- openDialog(id,name) {
|
|
|
|
|
- this.dialogTitle=name
|
|
|
|
|
|
|
+ auditStatusKey(value) {
|
|
|
|
|
+ if(this.$isEmpty(value)){return "暂无进件信息"}
|
|
|
|
|
+ return auditKV.filter(item => item.value == value)[0].label;
|
|
|
|
|
+ },
|
|
|
|
|
+ downloadFile(row) {
|
|
|
|
|
+ downloadSign(row).then(res => {
|
|
|
|
|
+ window.open(res.data.data);
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ toFlowDetail(row){
|
|
|
|
|
+ console.log(row);
|
|
|
|
|
+ getAudit({entityId: row.id}).then(res => {
|
|
|
|
|
+ let audit = res.data.data;
|
|
|
|
|
+ console.log(audit.processInstanceId,row.id)
|
|
|
|
|
+ this.$router.push(`/work/process/shop/handle/${audit.processInstanceId}/${audit.id}`)
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ openDialog(id, name,isResubmit) {
|
|
|
|
|
+ this.dialogTitle = name
|
|
|
this.operateId = id
|
|
this.operateId = id
|
|
|
this.dialogShow = true
|
|
this.dialogShow = true
|
|
|
- if (this.canReset && this.dialogTitle!='商场进件') {
|
|
|
|
|
|
|
+ this.isResubmit = isResubmit;
|
|
|
|
|
+ if (this.canReset && this.dialogTitle != '商场进件') {
|
|
|
this.$refs.refName.refreshChange()
|
|
this.$refs.refName.refreshChange()
|
|
|
}
|
|
}
|
|
|
this.canReset = true
|
|
this.canReset = true
|
|
@@ -466,44 +551,26 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
let stop_level = 2;
|
|
let stop_level = 2;
|
|
|
let level = node.level;
|
|
let level = node.level;
|
|
|
let data = node.data || {}
|
|
let data = node.data || {}
|
|
|
- let parentCode = data.id;
|
|
|
|
|
|
|
+ let code = data.id;
|
|
|
let list = [];
|
|
let list = [];
|
|
|
- if (level > 0) {
|
|
|
|
|
- let col = this.option.column.find((item) => {
|
|
|
|
|
- return item.prop === "location";
|
|
|
|
|
- });
|
|
|
|
|
- col.region[level - 1] = data.id;
|
|
|
|
|
- if (level > 2) {
|
|
|
|
|
- this.form.locationCode = col.region.join(',');
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
let callback = () => {
|
|
let callback = () => {
|
|
|
resolve((list || []).map(ele => {
|
|
resolve((list || []).map(ele => {
|
|
|
- return Object.assign(ele, {
|
|
|
|
|
|
|
+ ele.hasChildren = false;
|
|
|
|
|
+ ele.children = [];
|
|
|
|
|
+ return Object.assign(ele,{
|
|
|
leaf: level >= stop_level
|
|
leaf: level >= stop_level
|
|
|
})
|
|
})
|
|
|
}));
|
|
}));
|
|
|
}
|
|
}
|
|
|
- if (level == 0) {
|
|
|
|
|
- getLazyTree().then(res => {
|
|
|
|
|
- list = res.data.data;
|
|
|
|
|
- callback()
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
- if (level == 1) {
|
|
|
|
|
- getLazyTree(parentCode).then(res => {
|
|
|
|
|
- list = res.data.data;
|
|
|
|
|
- callback()
|
|
|
|
|
- })
|
|
|
|
|
- } else if (level == 2) {
|
|
|
|
|
- getLazyTree(parentCode).then(res => {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ getLazyTree(code).then(res => {
|
|
|
list = res.data.data;
|
|
list = res.data.data;
|
|
|
callback()
|
|
callback()
|
|
|
})
|
|
})
|
|
|
- } else {
|
|
|
|
|
- callback()
|
|
|
|
|
- }
|
|
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
onLoad(page, params = {}) {
|
|
onLoad(page, params = {}) {
|
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
|
|
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
|
|
@@ -516,6 +583,7 @@ import mallAudit from "./comps/mall_audit.vue"
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
<style>
|