Commit bca9773c by caoyanzhi

Merge branch 'feature/act-code' into dev

parents eabb8421 93e07830
......@@ -22,7 +22,7 @@
<el-button v-if="!disabled" type="text" class="update-clerk-trigger" @click="showSelectClerk = true">修改成员</el-button>
</div>
</template>
<select-clerk :visible.sync="showSelectClerk" :multiple="multiple" :max="max" :data="data" @save="onChange"></select-clerk>
<select-clerk :visible.sync="showSelectClerk" :is-simple="isSimple" :multiple="multiple" :max="max" :data="data" @save="onChange"></select-clerk>
</div>
</template>
......@@ -33,6 +33,11 @@ export default {
name: 'Index',
components: { SelectClerk, SelectedClerkItem },
props: {
// 是否单人活码
isSimple: {
type: Boolean,
default: false
},
// 是否多选
multiple: {
type: Boolean,
......
<template>
<el-dialog :visible.sync="show" title="选择成员" width="1030px" @close="onCancel">
<el-dialog :visible.sync="show" title="选择成员" width="1030px" append-to-body @close="onCancel">
<div class="select-clerk" v-loading="loading">
<!-- 选择导购 -->
<div class="clerk-list">
......@@ -100,10 +100,16 @@ export default {
type: Array,
default: () => []
},
// 是否批量选择导购
multiple: {
type: Boolean,
default: false
},
// 是否单人活码
isSimple: {
type: Boolean,
default: false
},
max: {
type: Number,
default: 100
......@@ -173,10 +179,14 @@ export default {
el.clerkList = Array.isArray(el.clerkList) ? el.clerkList : [];
// 设置导购的禁用状态和选中状态
el.clerkList = el.clerkList.map(item => {
item.disabled = this.multiple ? item.hmStatus == 1 || item.hmStatus == 2 : item.hmStatus == 1 || item.hmStatus == 2 || item.hmStatus == 3;
item.disabled = this.isSimple ? item.hmStatus == 1 || item.hmStatus == 2 || item.hmStatus == 3 : item.hmStatus == 1 || item.hmStatus == 2;
item.selected = this.selected.some(clerk => clerk.clerkId == item.clerkId);
return item;
});
this.selected = this.selected.map(item => {
const clerk = el.clerkList.find(cell => cell.clerkId == item.clerkId);
return clerk ? clerk : item;
});
// 设置门店禁用状态、选中状态和半选状态
el.disabled = el.clerkList.length == 0 || el.clerkList.every(el => el.disabled);
el.selected = el.clerkList.length > 0 && el.clerkList.every(el => !el.disabled && el.selected);
......@@ -365,7 +375,7 @@ export default {
}
.clerk-list {
padding: 10px 16px;
width: 700px;
width: 694px;
box-sizing: border-box;
.hide-empty {
>>> .el-table__empty-block {
......
......@@ -16,7 +16,7 @@
</el-radio-group>
<br />
<p v-if="memberType == 1" class="tips">当前已选择 {{ hmMemberNum }} 个成员 <span>(活码名称默认为使用成员名称)</span></p>
<select-clerk style="margin-top: 12px;" v-if="memberType == 2" :multiple="true" :data="data" @change="onChange"></select-clerk>
<select-clerk style="margin-top: 12px;" v-if="memberType == 2" :is-simple="true" :multiple="true" :data="data" @change="onChange"></select-clerk>
</el-form-item>
</template>
</setActCode>
......
<template>
<div>
<setActCode ref="setActCodePage" @sumbit="onSubmit" :actCodeData="detailCode">
<setActCode ref="setActCodePage" @sumbit="onSubmit" :actCodeData="form">
<template #typeCode>
<el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group v-model="form.hmType" @change="changeEvent" :disabled="$route.query.hmId">
......@@ -10,15 +10,15 @@
</el-form-item>
</template>
<template #codeName>
<el-form-item label="活码名称" :rules="[{ required: true, message: '请输入活码名称', trigger: 'blur' }]">
<el-form-item label="活码名称" prop="name" :rules="[{ required: true, message: '请输入活码名称', trigger: 'blur' }]">
<el-input class="w340" v-model="form.name" placeholder="请输入活码名称,默认使用成员名称" maxlength="20" show-word-limit></el-input>
</el-form-item>
</template>
<template #member>
<el-form-item label="关联导购" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<el-form-item label="关联导购" prop="clerkIdList" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p>
<p class="tabs" v-if="form.hmType == 2">若选择多名成员,则随机分配企微员工</p>
<select-clerk :multiple="multiple" :data="data" @change="onChange" :disabled="clerkDisabled"></select-clerk>
<select-clerk :is-simple="form.hmType == 1" :multiple="multiple" :data="data" @change="onChange" :disabled="clerkDisabled"></select-clerk>
</el-form-item>
</template>
</setActCode>
......@@ -42,7 +42,6 @@ export default {
multiple: false,
data: [],
dataArr: [],
detailCode: [],
clerkDisabled: false
};
},
......@@ -74,18 +73,19 @@ export default {
if (this.form.name == '') {
this.form.name = this.dataArr.toString();
}
this.$nextTick(() => {
this.$refs.setActCodePage.getForm().validateField(['name', 'clerkIdList']);
});
},
async getActCodeInfo() {
const that = this;
that.loading = true;
if (this.$route.query.hmId) {
await getRequest('/haoban-manage3-web/hm/qrcode/detail', { hmId: this.$route.query.hmId }).then(res => {
this.detailCode = res.data.result;
this.form.hmType = this.detailCode.hmType;
this.form.name = this.detailCode.name;
this.form.clerkIdList = this.detailCode.clerkList.map(i => i.clerkId);
this.form = res.data.result;
this.form.clerkIdList = this.form.clerkList.map(i => i.clerkId);
this.form.hmUserNum = this.form.clerkIdList.length;
this.data = this.detailCode.clerkList;
this.data = res.data.result.clerkList;
if (this.form.hmType == 1) {
this.clerkDisabled = true;
this.multiple = false;
......
......@@ -6,7 +6,7 @@
<slot name="typeCode"></slot>
<slot name="codeName"></slot>
<el-form-item label="活码分组" prop="hmGroupId" class="code-group">
<el-select class="w340" v-model="form.hmGroupId" v-loadmore="onLoadmore" clearable filterable :filter-method="remoteMethod">
<el-select class="w340" v-model="form.hmGroupId" v-loadmore="onLoadmore" clearable filterable :filter-method="remoteMethod" @change="$refs.form.validateField('hmGroupId')">
<el-option v-for="item in groupList" :key="item.groupId" :label="item.groupName" :value="item.groupId"></el-option>
</el-select>
</el-form-item>
......@@ -94,6 +94,9 @@ export default {
this.searchGroup();
},
methods: {
getForm() {
return this.$refs.form;
},
handleTagCloseTag() {
this.form.memberLabelName = '';
this.form.memberLabelId = '';
......@@ -181,13 +184,15 @@ export default {
},
watch: {
actCodeData: {
deep: true,
handler: function(val) {
if (val) {
this.form.hmGroupId = val.hmGroupId;
this.form = val;
// this.form.hmGroupId = val.hmGroupId;
this.form.passFlag = val.passFlag == 1 ? true : false;
this.form.memberLabelId = val.memberLabelId ? val.memberLabelId : '';
this.form.memberLabelName = val.memberLabelName ? val.memberLabelName : '';
this.form.welcomeId = val.welcomeId;
// this.form.welcomeId = val.welcomeId;
if (this.form.welcomeId) {
this.welcomeType = 1;
} else {
......
......@@ -849,12 +849,12 @@ select:-webkit-autofill {
position: absolute;
bottom: -30px;
}
.el-form .el-form-item.is-success .el-input__inner,
/* .el-form .el-form-item.is-success .el-input__inner,
.el-form .el-form-item.is-success .el-input__inner:focus,
.el-form .el-form-item.is-success .el-textarea__inner,
.el-form .el-form-item.is-success .el-textarea__inner:focus {
border-color: #dcdfe6;
}
} */
/* 开卡模板 */
.template-cell-r .el-input.is-disabled .el-input__inner {
......
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