Commit 5780fb08 by crushh

Merge branch 'feature/act-code' into dev

parents dd121199 272432c3
<template> <template>
<el-popover placement="bottom" style="min-width: 357px" v-model="departmentVisible"> <el-popover placement="bottom" v-model="departmentVisible">
<dm-simple-transfer v-model="selected" :props="props" :data="data" :item-size="66" :titles="['选择门店', '已选门店']" filterable filter-placeholder="请输入门店名称/code" @change="change"> <dm-simple-transfer v-model="selected" :busy="busy" :canSelectAll="canSelectAll" :props="props" :max="max" :data="data" :bodyH="62" :item-size="66" :titles="['选择门店', '已选门店']" filterable filter-placeholder="请输入门店名称/code" @change="change" @loadMore="loadMore">
<div slot-scope="{ option }"> <div slot-scope="{ option }">
<p>{{ option.storeName }}</p> <p>{{ option.storeName }}</p>
<p style="font-size: 12px;line-height: 18px">{{ option.storeCode }}</p> <p style="font-size: 12px;line-height: 14px">{{ option.storeCode }}</p>
<p v-show="option.isOver == 1" class="isOver">所有导购今日添加已到上限</p> <p v-if="option.isOver == 1" class="isOver">所有导购今日添加已到上限</p>
</div> </div>
</dm-simple-transfer> </dm-simple-transfer>
<div class="show-select-num cursor-pointer w-250" slot="reference"> <div class="show-select-num cursor-pointer w-250" slot="reference">
...@@ -26,6 +26,18 @@ export default { ...@@ -26,6 +26,18 @@ export default {
data: { data: {
type: Array, type: Array,
default: () => [] default: () => []
},
max: {
type: Number,
default: 999999
},
busy: {
type: Boolean,
default: false
},
canSelectAll: {
type: Boolean,
default: false
} }
}, },
data() { data() {
...@@ -34,7 +46,7 @@ export default { ...@@ -34,7 +46,7 @@ export default {
props: { props: {
key: 'storeId', key: 'storeId',
label: 'storeName', label: 'storeName',
isOver: 'isOver' disabledProp: 'disabled'
} }
}; };
}, },
...@@ -43,15 +55,21 @@ export default { ...@@ -43,15 +55,21 @@ export default {
console.log(val); console.log(val);
this.$emit('change', val); this.$emit('change', val);
}, },
renderContent(h, { isOver, storeCode, storeId, storeName }) { loadMore(side) {
console.log(isOver, storeCode, storeId, storeName); if (side == 'left') {
return h('p', [h('p', storeName), h('p', isOver)]); // this.$emit('update:busy', true);
console.log('loadMore');
this.$emit('loadMore');
}
} }
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="less" scoped>
/deep/.dm-transfer-panel .transfer-panel-body {
height: calc(100% - 58px);
}
.show-select-num { .show-select-num {
position: relative; position: relative;
display: inline-block; display: inline-block;
...@@ -78,6 +96,7 @@ export default { ...@@ -78,6 +96,7 @@ export default {
} }
} }
} }
.isOver { .isOver {
font-size: 12px; font-size: 12px;
color: #fa8c16; color: #fa8c16;
......
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,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" :data="storeData" :selected="form.storeList" /> <selectShop @change="handleTransferChange" :data="storeData" :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>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,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" :data="storeData" :selected="form.storeList" /> <selectShop @change="handleTransferChange" :data="storeData" :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>
...@@ -220,7 +220,11 @@ export default { ...@@ -220,7 +220,11 @@ export default {
} }
}, },
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
btnLoading: false btnLoading: false,
storePageNum: 0,
totalCount: 1,
busy: false,
busy2: false
}; };
}, },
components: { components: {
...@@ -242,9 +246,8 @@ export default { ...@@ -242,9 +246,8 @@ export default {
}); });
if (this.isEdit) { if (this.isEdit) {
this.getDetail(); this.getDetail();
} else {
this.getStoreList();
} }
this.getStoreList();
}, },
methods: { methods: {
...@@ -252,15 +255,21 @@ export default { ...@@ -252,15 +255,21 @@ export default {
this.getList(); this.getList();
}, 500), }, 500),
getStoreList() { getStoreList() {
storeListApi({ pageSize: 99999 }).then(res => { storeListApi({ pageSize: 999999 })
const { result } = res.data.result; .then(res => {
this.storeData = result || []; const { result, totalCount } = res.data.result;
if (this.form.storeList && this.form.storeList.length) { this.storeData = this.storeData.concat(result || []);
this.storeData.map(el => { this.totalCount = totalCount;
el.checked = this.form.storeList.some(item => item.storeId == el.storeId); this.busy = false;
return el; // if (this.form.storeList && this.form.storeList.length) {
}); // this.storeData.map(el => {
} // el.checked = this.form.storeList.some(item => item.storeId == el.storeId);
// return el;
// });
// }
})
.finally(_ => {
this.busy = false;
}); });
}, },
getDetail() { getDetail() {
...@@ -270,16 +279,15 @@ export default { ...@@ -270,16 +279,15 @@ export default {
const { result } = res.data; const { result } = res.data;
if (result) { if (result) {
const { link, page } = result; const { link, page } = result;
link.customRuleJson = JSON.parse(link.customRuleJson); link.customRuleJson = JSON.parse(link.customRuleJson);
link.storeRuleJson = JSON.parse(link.storeRuleJson); link.storeRuleJson = JSON.parse(link.storeRuleJson);
link.storeList = link.storeList ? link.storeList : []; link.storeList = link.storeList ? link.storeList : [];
this.form = link; this.form = link;
this.form.storeList.map(item => (item.checked = true));
if (!this.form.welcomeId) { if (!this.form.welcomeId) {
this.welcomeType = 2; this.welcomeType = 2;
} }
this.landingForm = page; this.landingForm = page;
this.getStoreList();
} }
}) })
.finally(_ => { .finally(_ => {
...@@ -301,11 +309,16 @@ export default { ...@@ -301,11 +309,16 @@ export default {
this.form.memberLabelId = ''; this.form.memberLabelId = '';
}, },
handleTransferChange(val) { handleTransferChange(val) {
console.log(val);
this.form.storeList = val; this.form.storeList = val;
this.$refs.form.validateField('storeList'); this.$refs.form.validateField('storeList');
}, },
// loadMore() {
// if (this.storeData.length < this.totalCount) {
// this.busy = false;
// this.storePageNum++;
// this.getStoreList();
// }
// },
getList() { getList() {
this.landingLoading = true; this.landingLoading = true;
guidePageList(this.landingPage) guidePageList(this.landingPage)
...@@ -313,7 +326,6 @@ export default { ...@@ -313,7 +326,6 @@ export default {
const { result, totalCount } = res.data.result; const { result, totalCount } = res.data.result;
if (result) { if (result) {
this.total = totalCount; this.total = totalCount;
this.landingData = result; 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