Commit a7d0356c by crushh

Merge branch 'feature/act-code' into dev

parents a17b78e0 b77603cf
<template>
<el-popover placement="bottom" v-model="departmentVisible">
<dm-simple-transfer :value="selected" :canSelectAll="canSelectAll" :filterMethod="filterMethod" :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" :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>
......@@ -37,6 +37,14 @@ export default {
canSelectAll: {
type: Boolean,
default: false
},
leftPanel: {
type: Object,
default: () => {}
},
loading: {
type: Boolean,
default: false
}
},
data() {
......@@ -51,11 +59,10 @@ export default {
},
methods: {
change(val) {
console.log(val);
this.$emit('change', val);
},
filterMethod(val, item) {
return item.storeName.toLowerCase().indexOf(val.toLowerCase()) > -1 || item.storeCode.toLowerCase().indexOf(val.toLowerCase()) > -1;
onLeftLoadMore(query) {
this.$emit('leftLoadMore', query);
}
}
};
......
......@@ -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" :data="storeData" :max="20" :selected="form.storeList" :canSelectAll="false" />
<selectShop @change="handleTransferChange" :loading="storeLoading" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :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" :data="storeData" :max="20" :selected="form.storeList" :canSelectAll="false" />
<selectShop @change="handleTransferChange" :left-panel="leftPanel" @leftLoadMore="onLeftLoadMore" :data="storeData" :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>
......@@ -164,6 +164,14 @@ export default {
pageNum: 1,
pageSize: 20
},
leftPanel: {
pageNum: 1,
totalPage: 1,
isMultiplePage: true,
loading: false,
filterMethod: this.filterMethod
},
search: '',
welcomeType: 1,
landingLoading: false,
loading: false,
......@@ -178,12 +186,11 @@ export default {
storeList: { required: true, validator: validateStoreList }
},
storeData: [],
storeLoading: false,
form: {
linkType: 1,
memberLabelName: '',
memberLabelId: '',
// memberLabelName: '测试标签值名称重复- 温州青童时代店',
// memberLabelId: 'edd3901afd1e418d93fdc3b50bb24784',
storeList: [],
name: '',
pageId: '',
......@@ -222,9 +229,7 @@ export default {
}
},
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
btnLoading: false,
storePageNum: 0,
totalCount: 1
btnLoading: false
};
},
components: {
......@@ -250,25 +255,42 @@ export default {
this.getStoreList();
}
},
methods: {
toInput: _debounce(function(e, value) {
this.getList();
}, 500),
onLeftLoadMore() {
if (this.leftPanel.pageNum < this.leftPanel.totalPage) {
this.leftPanel.pageNum++;
this.leftPanel.loading = true;
this.getStoreList();
}
},
filterMethod(search) {
this.storeLoading = true;
this.search = search;
this.leftPanel.pageNum = 1;
this.leftPanel.loading = true;
this.storeData = [];
this.getStoreList();
},
getStoreList() {
storeListApi({ pageSize: 999999 })
storeListApi({ pageNum: this.leftPanel.pageNum, pageSize: 20, storeSearchParams: this.search })
.then(res => {
const { result, totalCount } = res.data.result;
this.totalCount = totalCount;
const { result, totalPage } = res.data.result;
this.leftPanel.totalPage = totalPage;
if (Array.isArray(result) && Array.isArray(this.form.storeList)) {
this.storeData = result.map(el => {
this.storeData = this.storeData.concat(
result.map(el => {
el.checked = this.form.storeList.some(item => item.storeId == el.storeId);
return el;
});
})
);
}
})
.finally(_ => {
this.busy = false;
this.leftPanel.loading = false;
this.storeLoading = false;
});
},
getDetail() {
......@@ -308,19 +330,17 @@ export default {
this.form.memberLabelId = '';
},
handleTransferChange(val) {
console.log(val);
this.form.storeList = val;
this.$refs.form.validateField('storeList');
// if (val && !val.length) {
// this.storeData = this.storeData.splice(0);
// }
// this.$refs.form.validateField('storeList');
},
getList() {
this.landingLoading = true;
guidePageList(this.landingPage)
.then(res => {
const { result, totalCount } = res.data.result;
const { result, search } = res.data.result;
if (result) {
this.total = totalCount;
this.total = search;
this.landingData = result;
}
})
......
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