Commit 0b74d31d by huaying

fix: l活码列表联调

parent 22ccf6c1
......@@ -37,4 +37,4 @@ export const guidePageSave = params => postRequest('/haoban-manage3-web/hm/guide
export const linkPage = params => postRequest('/haoban-manage3-web/hm/link/page', params);
//【活码】详情-查看明细列表
export const detailClerkList = params => postJsonRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list', params);
export const detailClerkList = params => postJsonRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list-page', params);
......@@ -2,7 +2,7 @@
<section>
<el-form inline>
<el-form-item>
<el-input placeholder="请输入活码ID/名称、创建人" style="width: 300px" @change="searchList" v-model="inFields.hmSelect">
<el-input placeholder="请输入活码ID/名称、创建人" style="width: 300px" @change="searchList" v-model="inFields.hmSelect" clearable>
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
</el-form-item>
......@@ -20,7 +20,7 @@
</el-form-item>
<el-form-item>
<el-select v-model="inFields.statusFlagInt" placeholder="全部状态" clearable class="w160" @change="searchList">
<el-option :key="0" label="删除" :value="0"> </el-option>
<!-- <el-option :key="0" label="删除" :value="0"> </el-option> -->
<el-option :key="1" label="正常" :value="1"> </el-option>
<el-option :key="2" label="作废" :value="2"> </el-option>
<el-option :key="3" label="待生效" :value="3"> </el-option>
......@@ -41,7 +41,7 @@
<el-button type="primary" @click="$router.push('/actCodeAdd')">新增活码</el-button>
</el-form-item>
</el-form>
<el-table ref="actCodeTableRef" v-loading="loadingStatus" :data="tableData" class="act-code-table" @sort-change="sortChange">
<el-table ref="actCodeTableRef" v-loading="loadingStatus" :data="tableData" class="act-code-table" @sort-change="sortChange" :max-height="tableMaxHeight">
<!-- @select="selectTable" :max-height="tableMaxHeight" tooltip-effect="dark"-->
<el-table-column type="selection" width="60" fixed> </el-table-column>
<el-table-column width="60" class-name="table-select-cell" fixed>
......@@ -57,16 +57,13 @@
<el-table-column label="活码信息" width="100">
<template slot-scope="{ row }">
<p class="overflow-ellipsis" :title="row.hmName">{{ row.hmName ? row.hmName : '--' }}</p>
<!-- <p><span class="oneActCode" v-if="row.hmType == 1">单人活码</span><span class="moreActCOde" v-else>多人活码</span></p> -->
<p><span class="oneActCode" v-if="row.hmType == '单人活码'">单人活码</span><span class="moreActCOde" v-else>多人活码</span></p>
<p><span class="oneActCode" v-if="row.hmType == 1">单人活码</span><span class="moreActCOde" v-else>多人活码</span></p>
</template>
</el-table-column>
<el-table-column label="活码状态" width="130">
<template slot-scope="{ row }">
<!-- <p><span class="dot normal" v-if="row.statusFlag == 1">正常</span><span class="dot voided" v-if="row.statusFlag == 2">作废</span><span class="dot needSure" v-if="row.statusFlag == 3">待生效</span></p>
<p class="toTopTip" v-if="row.statusFlag == 1">(今日已达上限)</p> -->
<p><span class="dot normal" v-if="row.statusFlag == '正常'">正常</span><span class="dot voided" v-if="row.statusFlag == '作废'">作废</span><span class="dot needSure" v-if="row.statusFlag == '待生效'">待生效</span></p>
<p class="toTopTip" v-if="row.statusFlag == '正常'">(今日已达上限)</p>
<p><span class="dot normal" v-if="row.statusFlag == 1">正常</span><span class="dot voided" v-if="row.statusFlag == 2">作废</span><span class="dot needSure" v-if="row.statusFlag == 3">待生效</span></p>
<p class="toTopTip" v-if="row.statusFlag == 1">(今日已达上限)</p>
</template>
</el-table-column>
<el-table-column label="添加好友人数" prop="addNum" sortable="custom" width="150">
......@@ -83,12 +80,36 @@
<template slot-scope="{ row }">
<p>{{ row.clerkName ? row.clerkName : '--' }}</p>
<p class="ft-12 phone">{{ row.clerkCode == null ? row.clerkCode : '--' }}</p>
<p>
<el-popover width="200" trigger="click">
<ul class="userMember-ul">
<!-- <li v-for="(item, index) in row.hmUserMember" :key="index"> -->
<li v-for="(item, index) in hmUserMember" :key="index" class="userMemberLi">
<p class="ulName">{{ item.name }}</p>
<p class="ft-12 phone">4564565446</p>
</li>
</ul>
<el-button class="ft-12" type="text" slot="reference">查看更多</el-button>
</el-popover>
</p>
</template>
</el-table-column>
<el-table-column label="成员所属门店" width="120">
<el-table-column label="成员所属门店" width="120" show-overflow-tooltip>
<template slot-scope="{ row }">
<p>{{ row.storeName ? row.storeName : '--' }}</p>
<p class="ft-12 phone">{{ row.storeCode == null ? row.storeCode : '--' }}</p>
<p>
<el-popover width="200" trigger="click">
<ul class="userMember-ul">
<!-- <li v-for="(item, index) in row.hmUserMember" :key="index"> -->
<li v-for="(item, index) in hmUserMember" :key="index" class="userMemberLi">
<p class="ulName">{{ item.name }}</p>
<p class="ft-12 phone">4564565446</p>
</li>
</ul>
<el-button class="ft-12" type="text" slot="reference">查看更多</el-button>
</el-popover>
</p>
</template>
</el-table-column>
<el-table-column label="所属分组" width="100" show-overflow-tooltip>
......@@ -106,9 +127,9 @@
<p>{{ row.createTime ? row.createTime : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="操作" width="300" fixed="right">
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="{ row }">
<dm-dropdown :scope-data="row" :configs="operateBtnArr" :max="5" />
<dm-dropdown :scope-data="row" :max="3" :configs="operateBtnArr" />
</template>
</el-table-column>
</el-table>
......@@ -161,9 +182,9 @@ export default {
}
},
data() {
// let tableMaxHeight = document.body.clientHeight - 312 + 'px';
let tableMaxHeight = document.body.clientHeight - 312 + 'px';
return {
// tableMaxHeight: tableMaxHeight,
tableMaxHeight: tableMaxHeight,
inFields: {
// hmId: null,
hmSelect: '',
......@@ -179,6 +200,48 @@ export default {
storeSelect: 1,
dateTime: [],
tableData: [],
hmUserMember: [
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
},
{
name: 'test'
}
],
total: 1,
totalCount: 100,
selectPage: {
......@@ -198,7 +261,7 @@ export default {
text: '数据',
visible: true,
handler: row => {
this.$router.push('/actCodeDetail?id=' + row.hmId);
this.$router.push(`/actCodeDetail?id=${row.hmId}&activeName=second`);
}
},
{
......@@ -210,14 +273,26 @@ export default {
},
{
text: '编辑',
visible: true,
visible: row => {
if (row.hmType == 1 && row.statusFlag != 2) {
return true;
} else {
return false;
}
},
handler: row => {
this.$router.push('/actCodeEdit?hmId=' + row.hmId);
}
},
{
text: '下载活码',
visible: true,
visible: row => {
if (row.hmType == 1 || row.statusFlag != 1) {
return false;
} else {
return true;
}
},
handler: row => {
this.wxQrcode = row.wxQrcode;
this.imageName = `${row.hmId}_${row.name}`;
......@@ -226,7 +301,11 @@ export default {
},
{
text: '作废',
visible: true,
visible: row => {
if (row.statusFlag != 2) {
return true;
}
},
handler: row => {
this.$confirm('确认要作废该活码?此操作将永久废弃该活码,请确保不影响其他投放使用!', '作废提示', {
confirmButtonText: '删除',
......@@ -237,7 +316,6 @@ export default {
if (res.data.code == 0) {
this.getTableList();
}
console.log(res, 'delrte');
});
});
}
......@@ -441,7 +519,6 @@ export default {
inFields: this.inFields,
...this.pageParam
};
console.log(obj, 'obj');
actCodeListApi(obj)
.then(res => {
if (res.data.code == 0) {
......@@ -547,7 +624,7 @@ export default {
.phone {
color: #606266;
}
.useMember-ul {
.userMember-ul {
max-height: 230px;
overflow: auto;
li {
......@@ -555,7 +632,11 @@ export default {
display: flex;
flex-direction: column;
justify-content: center;
border-bottom: 1px solid #dcdfe6;
border-bottom: 1px dashed #dcdfe6;
// .ulName {
// font: 14px;
// color: #303133;
// }
}
}
</style>
......@@ -15,7 +15,8 @@
<el-radio :label="2">部分成员</el-radio>
</el-radio-group>
<br />
<select-clerk v-if="form.memberType == 2" :multiple="false" :data="data" @change="onChange"></select-clerk>
<p v-if="form.memberType == 1" class="tips">当前已选择 {{ hmMemberNum }} 个成员 <span>(活码名称默认为使用成员名称)</span></p>
<select-clerk v-if="form.memberType == 2" :multiple="true" :data="data" @change="onChange"></select-clerk>
</el-form-item>
</template>
</setActCode>
......@@ -25,21 +26,41 @@
<script>
import setActCode from '@/views/salesleads/components/actCodeSet.vue';
import SelectClerk from '../../components/select-clerk/index.vue';
import { postJsonRequest } from '@/api/api';
import { postJsonRequest, getRequest } from '@/api/api';
export default {
components: { setActCode, SelectClerk },
data() {
return {
hmMemberNum: 103,
form: {
hmType: 1,
clerkIdList: [],
memberType: 1,
hmUserNum: null
},
data: []
data: [],
storeClerkList: []
};
},
created() {
this.getStoreClerkList();
},
methods: {
getStoreClerkList() {
getRequest('/haoban-manage3-web/hm/store-clerk-list', { pageNum: 1, pageSize: 20 }).then(res => {
const { code, message, result } = res.data || {};
if (code != 0) {
return this.$message.error(message);
}
result.result = Array.isArray(result.result) ? result.result : [];
this.storeClerkList = result.result.map(el => {
el.clerkList = Array.isArray(el.clerkList) ? el.clerkList : [];
// 设置导购的禁用状态和选中状态
return el.clerkList.length;
});
console.log(this.storeClerkList, 'this.storeClerkList');
});
},
onChange(data) {
this.data = data;
this.form.clerkIdList = data;
......@@ -70,4 +91,13 @@ export default {
border: 1px solid #2f54eb;
color: #2f54eb;
}
.damolish .el-form-item__content {
line-height: 30px;
}
.tips {
color: #303133;
span {
color: #909399;
}
}
</style>
......@@ -99,7 +99,13 @@ export default {
await postJsonRequest('/haoban-manage3-web/hm/qrcode/update', obj).then(res => {
console.log(res, '编辑');
if (res.data.code == 0) {
// this.$router.go(-1);
this.form = {
hmType: 1,
name: '',
clerkIdList: [],
hmUserNum: null //多人活码人数
};
this.$router.go(-1);
}
});
} else {
......@@ -107,18 +113,17 @@ export default {
await postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
console.log(res, '新增');
if (res.data.code == 0) {
// this.$router.go(-1);
this.form = {
hmType: 1,
name: '',
clerkIdList: [],
hmUserNum: null //多人活码人数
};
this.$router.go(-1);
}
});
}
// this.$refs.form.clearValidate();
this.form = {
hmType: 1,
name: '',
clerkIdList: [],
hmUserNum: null //多人活码人数
};
// this.$router.go(-1);
}
}
};
......
......@@ -60,7 +60,7 @@ export default {
// hmType: 1, //1单人 2多人
// name: '', // 名称
hmGroupId: null, //活码分组id
passFlag: 1, // 1自动通过 0否
passFlag: true, // 1自动通过 0否
memberLabelId: '', //会员活动标签id
welcomeId: null // 欢迎语id
// clerkIdList: '', // 选择导购id
......
......@@ -22,8 +22,8 @@
</el-table-column>
<el-table-column label="导购所属门店">
<template slot-scope="{ row }">
<p class="overflow-ellipsis" :title="row.storeName">{{ row.storeName }}</p>
<p>{{ row.storeCode }}</p>
<p class="overflow-ellipsis" :title="row.storeName">{{ row.storeName ? row.storeName : '--' }}</p>
<p>{{ row.storeCode ? row.storeCode : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="企微号">
......@@ -38,7 +38,8 @@
<el-table-column label="流失总人数" prop="lessTotal" sortable></el-table-column> -->
<el-table-column label="今日已达上限" prop="overFlag">
<template slot-scope="{ row }">
<p>{{ row.overFlag == 1 ? '是' : '否' }}</p>
<!-- <p>{{ row.overFlag == 1 ? '是' : '否' }}</p> -->
<p>{{ row.overFlag }}</p>
</template>
</el-table-column>
<el-table-column label="操作">
......@@ -211,10 +212,11 @@ export default {
this.pageParam.inFields.startTime = this.dateDefault ? this.dateDefault[0].toString() : '';
this.pageParam.inFields.endTime = this.dateDefault ? this.dateDefault[1].toString() : '';
if (this.$route.query.id && this.typeT == 'code') {
this.pageParam.inFields.hmId = Number(this.$route.query.id);
// this.pageParam.inFields.hmId = '420370925331480577';
this.pageParam.inFields.hmId = this.$route.query.id;
delete this.pageParam.inFields.linkId;
} else if (this.$route.query.id && this.typeT == 'link') {
this.pageParam.inFields.linkId = Number(this.$route.query.id);
this.pageParam.inFields.linkId = this.$route.query.id;
delete this.pageParam.inFields.hmId;
}
if (this.pageParam.inFields.storeSelect == '') {
......@@ -224,8 +226,8 @@ export default {
delete this.pageParam.inFields.clerkSelect;
}
await detailClerkList(this.pageParam).then(res => {
if (res.code == 0) {
this.tableData = res.result.result || [];
if (res.data.code == 0) {
this.tableData = res.data.result.data || [];
this.totalCount = res.result.totalCount;
}
});
......
......@@ -20,10 +20,10 @@
<el-form-item label="选择欢迎语" v-if="welcomesType == 1">
<div class="welcomeTable">
<div class="wtabTop">
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.search"></el-input>
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.title" @change="onSearch" clearable></el-input>
<el-button plain class="ylbtn" @click="changeRoute">新建欢迎语</el-button>
</div>
<el-table :data="welcomeTableData" height="330px">
<el-table :data="welcomeTableData" max-height="330px">
<el-table-column width="55">
<template slot-scope="scope">
<el-radio :label="scope.$index" @change.native="getCurrentRow(scope.row)" v-model="welcome">&nbsp;</el-radio>
......@@ -44,7 +44,8 @@
</template>
</el-table-column>
</el-table>
<dm-pagination class="paginationBox" background @current-change="handleCurrentChange" :current-page="welcomePage.pageNum" layout=" prev, pager, next " :page-size="welcomePage.pageSize" :total="totalNum"> </dm-pagination>
<!-- <dm-pagination class="paginationBox" background @current-change="handleCurrentChange" :current-page="welcomePage.pageNum" layout=" prev, pager, next " :page-size="welcomePage.pageSize" :total="totalNum"> </dm-pagination> -->
<el-pagination class="paginationBox" background @current-change="handleCurrentChange" :current-page="welcomePage.pageNum" layout=" prev, pager, next " :page-size="welcomePage.pageSize" :total="totalNum"></el-pagination>
</div>
</el-form-item>
</el-col>
......@@ -72,7 +73,7 @@ export default {
welcomePage: {
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
title: '',
type: 1,
type: 2,
pageNum: 1,
pageSize: 4
},
......@@ -85,6 +86,10 @@ export default {
this.getWelcomeTable();
},
methods: {
onSearch() {
this.welcomePage.pageNum = 1;
this.getWelcomeTable();
},
// 当前页变化
handleCurrentChange(val) {
this.welcomePage.pageNum = val;
......@@ -101,7 +106,7 @@ export default {
// 新建欢迎语
changeRoute() {
// this.$router.push({ path: '/salutatorySet' });
let routeUrl = this.$router.resolve({ path: '/salutatorySet', query: { type: 1 } });
let routeUrl = this.$router.resolve({ path: '/salutatorySet', query: { type: 2 } });
window.open(routeUrl.href, '_blank');
},
getCurrentRow(row) {
......
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