Commit 79543a4f by caoyanzhi

update: 升级simple-transfer

parent 402ee275
<template>
<el-popover placement="bottom" v-model="departmentVisible">
<dm-simple-transfer :value="selected" v-loading="loading" :canSelectAll="canSelectAll" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :props="props" :max="max" :data="data" :bodyH="62" :item-size="66" :titles="['选择门店', '已选门店']" filterable filter-placeholder="请输入门店名称/code" @change="change">
<dm-simple-transfer :value="selected" v-loading="loading" :leftListTotal="leftListTotal" :canSelectAll="canSelectAll" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :props="props" :max="max" :data="data" :bodyH="62" :item-size="66" :titles="['选择门店', '已选门店']" filterable filter-placeholder="请输入门店名称/code" @change="change">
<div slot-scope="{ option }">
<el-tooltip :content="option.storeName" :disabled="option.storeName.length < 10">
<p class="storeName">{{ option.storeName }}</p>
......@@ -30,6 +30,10 @@ export default {
type: Array,
default: () => []
},
leftListTotal: {
type: Number,
default: 0
},
max: {
type: Number,
default: 999999
......
......@@ -73,7 +73,7 @@
<div class="level3-2" v-if="form.customRuleJson.open">
<div class="level3-2-content" v-if="form.customRuleJson.store_type == 1">
<el-form-item label="选择门店" label-width="92px" prop="storeList">
<selectShop @change="handleTransferChange" :loading="storeLoading" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :max="20" :selected="form.storeList" :canSelectAll="false" />
<selectShop @change="handleTransferChange" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :leftListTotal="leftPanel.totalCount" :max="20" :selected="form.storeList" :canSelectAll="false" />
</el-form-item>
<el-checkbox v-model="form.customRuleJson.store.dz" :true-label="1" :false-label="0" :disabled="disabledProperty(form.customRuleJson.store.dz, form.customRuleJson.store.dy) && form.customRuleJson.store.dz">店长</el-checkbox>
<el-checkbox v-model="form.customRuleJson.store.dy" :true-label="1" :false-label="0" :disabled="disabledProperty(form.customRuleJson.store.dz, form.customRuleJson.store.dy) && form.customRuleJson.store.dy">导购</el-checkbox>
......@@ -86,7 +86,7 @@
</div>
<p class="content-tips m-b-10">客户拒绝授权当前定位信息,可在下方指定的门店范围中(最多20家)自主选择要添加的门店好友</p>
<el-form-item label="选择门店" label-width="92px" prop="storeList">
<selectShop @change="handleTransferChange" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :max="20" :selected="form.storeList" :canSelectAll="false" />
<selectShop @change="handleTransferChange" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :leftListTotal="leftPanel.totalCount" :max="20" :selected="form.storeList" :canSelectAll="false" />
</el-form-item>
<el-checkbox v-model="form.customRuleJson.store.ndz" :true-label="1" :false-label="0" :disabled="disabledProperty(form.customRuleJson.store.ndz, form.customRuleJson.store.ndy) && form.customRuleJson.store.ndz">店长</el-checkbox>
<el-checkbox v-model="form.customRuleJson.store.ndy" :true-label="1" :false-label="0" :disabled="disabledProperty(form.customRuleJson.store.ndz, form.customRuleJson.store.ndy) && form.customRuleJson.store.ndy">导购</el-checkbox>
......@@ -167,8 +167,10 @@ export default {
leftPanel: {
pageNum: 1,
totalPage: 1,
totalCount: 0,
isMultiplePage: true,
loading: false,
remote: true,
filterMethod: this.filterMethod
},
search: '',
......@@ -186,7 +188,6 @@ export default {
storeList: { required: true, validator: validateStoreList }
},
storeData: [],
storeLoading: false,
form: {
linkType: 1,
memberLabelName: '',
......@@ -267,17 +268,16 @@ export default {
}
},
filterMethod(search) {
this.storeLoading = true;
this.search = search;
this.leftPanel.pageNum = 1;
this.leftPanel.loading = true;
this.storeData = [];
this.getStoreList();
return this.getStoreList();
},
getStoreList() {
storeListApi({ pageNum: this.leftPanel.pageNum, pageSize: 20, storeSearchParams: this.search })
return storeListApi({ pageNum: this.leftPanel.pageNum, pageSize: 20, storeSearchParams: this.search })
.then(res => {
const { result, totalPage } = res.data.result;
const { result, totalPage, totalCount } = res.data.result;
this.leftPanel.totalPage = totalPage;
if (Array.isArray(result) && Array.isArray(this.form.storeList)) {
this.storeData = this.storeData.concat(
......@@ -287,10 +287,12 @@ export default {
})
);
}
if (this.search.length == 0) {
this.leftPanel.totalCount = totalCount;
}
})
.finally(_ => {
this.leftPanel.loading = false;
this.storeLoading = false;
});
},
getDetail() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment