Commit 79543a4f by caoyanzhi

update: 升级simple-transfer

parent 402ee275
<template> <template>
<el-popover placement="bottom" v-model="departmentVisible"> <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 }"> <div slot-scope="{ option }">
<el-tooltip :content="option.storeName" :disabled="option.storeName.length < 10"> <el-tooltip :content="option.storeName" :disabled="option.storeName.length < 10">
<p class="storeName">{{ option.storeName }}</p> <p class="storeName">{{ option.storeName }}</p>
...@@ -30,6 +30,10 @@ export default { ...@@ -30,6 +30,10 @@ export default {
type: Array, type: Array,
default: () => [] default: () => []
}, },
leftListTotal: {
type: Number,
default: 0
},
max: { max: {
type: Number, type: Number,
default: 999999 default: 999999
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<div class="level3-2" v-if="form.customRuleJson.open"> <div class="level3-2" v-if="form.customRuleJson.open">
<div class="level3-2-content" v-if="form.customRuleJson.store_type == 1"> <div class="level3-2-content" v-if="form.customRuleJson.store_type == 1">
<el-form-item label="选择门店" label-width="92px" prop="storeList"> <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-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.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> <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 @@ ...@@ -86,7 +86,7 @@
</div> </div>
<p class="content-tips m-b-10">客户拒绝授权当前定位信息,可在下方指定的门店范围中(最多20家)自主选择要添加的门店好友</p> <p class="content-tips m-b-10">客户拒绝授权当前定位信息,可在下方指定的门店范围中(最多20家)自主选择要添加的门店好友</p>
<el-form-item label="选择门店" label-width="92px" prop="storeList"> <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-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.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> <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 { ...@@ -167,8 +167,10 @@ export default {
leftPanel: { leftPanel: {
pageNum: 1, pageNum: 1,
totalPage: 1, totalPage: 1,
totalCount: 0,
isMultiplePage: true, isMultiplePage: true,
loading: false, loading: false,
remote: true,
filterMethod: this.filterMethod filterMethod: this.filterMethod
}, },
search: '', search: '',
...@@ -186,7 +188,6 @@ export default { ...@@ -186,7 +188,6 @@ export default {
storeList: { required: true, validator: validateStoreList } storeList: { required: true, validator: validateStoreList }
}, },
storeData: [], storeData: [],
storeLoading: false,
form: { form: {
linkType: 1, linkType: 1,
memberLabelName: '', memberLabelName: '',
...@@ -267,17 +268,16 @@ export default { ...@@ -267,17 +268,16 @@ export default {
} }
}, },
filterMethod(search) { filterMethod(search) {
this.storeLoading = true;
this.search = search; this.search = search;
this.leftPanel.pageNum = 1; this.leftPanel.pageNum = 1;
this.leftPanel.loading = true; this.leftPanel.loading = true;
this.storeData = []; this.storeData = [];
this.getStoreList(); return this.getStoreList();
}, },
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 => { .then(res => {
const { result, totalPage } = res.data.result; const { result, totalPage, totalCount } = res.data.result;
this.leftPanel.totalPage = totalPage; this.leftPanel.totalPage = totalPage;
if (Array.isArray(result) && Array.isArray(this.form.storeList)) { if (Array.isArray(result) && Array.isArray(this.form.storeList)) {
this.storeData = this.storeData.concat( this.storeData = this.storeData.concat(
...@@ -287,10 +287,12 @@ export default { ...@@ -287,10 +287,12 @@ export default {
}) })
); );
} }
if (this.search.length == 0) {
this.leftPanel.totalCount = totalCount;
}
}) })
.finally(_ => { .finally(_ => {
this.leftPanel.loading = false; this.leftPanel.loading = false;
this.storeLoading = false;
}); });
}, },
getDetail() { 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