Commit 69b7c49a by huaying

fix: 活码分组列表

parent 3a3670cc
...@@ -4,16 +4,16 @@ import { postRequest, getRequest } from '@/api/api'; ...@@ -4,16 +4,16 @@ import { postRequest, getRequest } from '@/api/api';
export const findActCodeGroupListApi = params => postRequest('/hm/group/list', params); export const findActCodeGroupListApi = params => postRequest('/hm/group/list', params);
// 新增活码分组 // 新增活码分组
export const addActCodeGroupApi = params => postRequest('/hm/group/save', params); export const addActCodeGroupApi = params => postRequest('/haoban-manage3-web/hm/group/save', params);
// 编辑活码分组 // 编辑活码分组
export const editActCodeGroupApi = params => postRequest('/hm/group/edit', params); export const editActCodeGroupApi = params => postRequest('/haoban-manage3-web/hm/group/edit', params);
// 删除分组 // 删除分组
export const delActCodeGroupApi = params => postRequest('/hm/group/delete', params); export const delActCodeGroupApi = params => postRequest('/haoban-manage3-web/hm/group/delete', params);
// 活码列表 // 活码列表
export const actCodeListApi = params => postRequest('', params); export const actCodeListApi = params => postRequest('/haoban-manage3-web/hm/qrcode/list', params);
// 落地页模板列表 // 落地页模板列表
export const guidePageList = params => getRequest('/hm/guide/page/list', params); export const guidePageList = params => getRequest('/hm/guide/page/list', params);
...@@ -35,3 +35,6 @@ export const guidePageEdit = params => postRequest('/hm/guide/page/edit', params ...@@ -35,3 +35,6 @@ export const guidePageEdit = params => postRequest('/hm/guide/page/edit', params
// 落地页模板新增详情 // 落地页模板新增详情
export const guidePageSave = params => postRequest('/hm/guide/page/save', params); export const guidePageSave = params => postRequest('/hm/guide/page/save', params);
//【活码】详情-查看明细列表
export const detailClerkList = params => postRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list', params);
...@@ -15,6 +15,21 @@ const staffActCodeRouter = [ ...@@ -15,6 +15,21 @@ const staffActCodeRouter = [
path: '/actCodeDetail', path: '/actCodeDetail',
name: '活码详情', name: '活码详情',
component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail') component: _import('salesleads/actCodeManage/staffActCode', 'actCodeDetail')
},
{
path: '/actCodeAdd',
name: '新增活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode')
},
{
path: '/actCodeEdit',
name: '编辑活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'setActCode')
},
{
path: '/actCodeBatch',
name: '批量创建活码',
component: _import('salesleads/actCodeManage/staffActCode/views', 'batchAddCode')
} }
]; ];
export default staffActCodeRouter; export default staffActCodeRouter;
<template>
<div>
<setActCode>
<template #typeCode>
<el-form-item label="活码类型" prop="hmType">
<el-radio-group v-model="form.hmType">
<el-radio :label="1">单人活码</el-radio>
</el-radio-group>
</el-form-item>
</template>
<template #member>
<el-form-item label="使用成员" prop="memberType">
<el-radio-group v-model="form.memberType">
<el-radio :label="1">全部成员</el-radio>
<el-radio :label="2">部分成员</el-radio>
</el-radio-group>
<br />
<el-button plain class="ylbtn" v-if="form.memberType == 2"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加成员</el-button>
</el-form-item>
</template>
</setActCode>
</div>
</template>
<script>
import setActCode from '../../../components/actCodeSet.vue';
export default {
components: { setActCode },
data() {
return {
form: {
hmType: 1,
memberType: 1
}
};
},
methods: {}
};
</script>
<style lang="less" scoped>
.ylbtn {
margin-top: 10px;
border: 1px solid #2f54eb;
color: #2f54eb;
}
</style>
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
<li v-for="listItem in groupList" :key="listItem.groupId" :class="['list-item', 'member-list', { 'active-li': listItem.groupId == currentListItemUuid }]" @click="clickGroupListItem(listItem)"> <li v-for="listItem in groupList" :key="listItem.groupId" :class="['list-item', 'member-list', { 'active-li': listItem.groupId == currentListItemUuid }]" @click="clickGroupListItem(listItem)">
<div class="wrap"> <div class="wrap">
<span :title="listItem.groupName" class="listItemName overflow-ellipsis">{{ listItem.groupName }}</span> <span :title="listItem.groupName" class="listItemName overflow-ellipsis">{{ listItem.groupName }}</span>
<span>{{ `(${listItem.releationNum})` }}</span> <span>{{ `(${listItem.referNum})` }}</span>
</div> </div>
<el-popover placement="bottom" trigger="hover" v-if="isShowGroupListItemMore(listItem)"> <el-popover placement="bottom" trigger="hover" v-if="isShowGroupListItemMore(listItem)">
<p class="more" @click="editGroupListItem(listItem)">编辑</p> <p class="more" @click="editGroupListItem(listItem)">编辑</p>
<p class="more" @click="delGroupListItem(listItem)" v-if="!listItem.releationNum">删除</p> <p class="more" @click="delGroupListItem(listItem)" v-if="!listItem.referNum">删除</p>
<i slot="reference" class="iconfont-hb3 icongengduo icon"></i> <i slot="reference" class="iconfont-hb3 icongengduo icon"></i>
</el-popover> </el-popover>
</li> </li>
...@@ -40,32 +40,23 @@ ...@@ -40,32 +40,23 @@
</template> </template>
<script> <script>
import { findActCodeGroupListApi, addActCodeGroupApi, editActCodeGroupApi, delActCodeGroupApi } from '@/api/actCode.js'; import { addActCodeGroupApi, editActCodeGroupApi, delActCodeGroupApi } from '@/api/actCode.js';
import { getRequest } from '@/api/api';
export default { export default {
name: 'staffActCodeGroupList', name: 'staffActCodeGroupList',
data() { data() {
const groupList = [ const groupList = [
{ {
groupName: '全部分组', groupName: '全部分组',
releationNum: 11, referNum: 11,
groupId: 1 groupId: 1
},
{
groupName: '默认分组',
releationNum: 10,
groupId: 2
} }
// {
// groupName: '默认分组',
// referNum: 10,
// groupId: 2
// }
]; ];
let i = 3;
while (i <= 15) {
groupList.push({
groupName: '单人分组',
releationNum: i,
groupId: i
});
i++;
}
return { return {
currentListItemUuid: 1, currentListItemUuid: 1,
searchGroupInput: '', searchGroupInput: '',
...@@ -88,7 +79,7 @@ export default { ...@@ -88,7 +79,7 @@ export default {
}; };
}, },
created() { created() {
// this.searchGroup(); this.searchGroup();
}, },
methods: { methods: {
load() { load() {
...@@ -145,18 +136,19 @@ export default { ...@@ -145,18 +136,19 @@ export default {
}) })
.then(() => { .then(() => {
// 删除操作 // 删除操作
const listItemIndex = this.groupList.findIndex(item => item.groupId === listItem.groupId); // const listItemIndex = this.groupList.findIndex(item => item.groupId === listItem.groupId);
if (listItemIndex < 0) return; // if (listItemIndex < 0) return;
let params = { let params = {
groupId: listItem.groupId groupId: listItem.groupId
}; };
delActCodeGroupApi(params).then(res => { delActCodeGroupApi(params).then(res => {
if (res.errorCode == 0) { if (res.data.code == 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: '删除成功!' message: '删除成功!'
}); });
this.groupList.splice(listItemIndex, 1); // this.groupList.splice(listItemIndex, 1);
this.searchGroup();
} }
}); });
}) })
...@@ -170,14 +162,19 @@ export default { ...@@ -170,14 +162,19 @@ export default {
let resSucTip = `${this.isEditGroup ? '修改' : '新增'}成功`; let resSucTip = `${this.isEditGroup ? '修改' : '新增'}成功`;
let resErTip = `${this.isEditGroup ? '修改' : '新增'}失败`; let resErTip = `${this.isEditGroup ? '修改' : '新增'}失败`;
if (this.isEditGroup) { if (this.isEditGroup) {
res = await editActCodeGroupApi(this.groupListForm); let obj = {
groupId: this.groupListForm.groupId,
groupName: this.groupListForm.groupName
};
res = await editActCodeGroupApi(obj);
} else { } else {
let params = { let params = {
groupName: this.groupListForm.groupName groupName: this.groupListForm.groupName
}; };
res = await addActCodeGroupApi(params); res = await addActCodeGroupApi(params);
} }
if (res.errorCode == 0) { // return console.log(res, 'res');
if (res.data.code == 0) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: resSucTip, message: resSucTip,
...@@ -200,7 +197,9 @@ export default { ...@@ -200,7 +197,9 @@ export default {
} }
}); });
}, },
searchGroup(val) { async searchGroup(val) {
const countNum = await getRequest('/haoban-manage3-web/hm/group/refer/count', {});
// this.groupList[0].referNum = countNum.data.result;
if (this.pageNum == 1) { if (this.pageNum == 1) {
this.groupList = []; this.groupList = [];
} }
...@@ -212,12 +211,20 @@ export default { ...@@ -212,12 +211,20 @@ export default {
if (String(this.searchGroupInput)) { if (String(this.searchGroupInput)) {
params.groupName = this.searchGroupInput; params.groupName = this.searchGroupInput;
} }
findActCodeGroupListApi(params).then(res => { await getRequest('/haoban-manage3-web/hm/group/list', params).then(res => {
if (res.errorCode == 0) { if (res.data.code == 0) {
const { list, pageInfo } = res.result || {}; const { list, pageInfo } = res.data.result || {};
if (Array.isArray(list)) { // if (Array.isArray(list)) {
list.reduce((pre, cur) => pre.push(cur), this.groupList); // list.reduce((pre, cur) => pre.push(cur), this.groupList);
} // }
this.groupList = list;
this.groupList.unshift({
groupName: '全部分组',
referNum: 11,
groupId: null
});
this.groupList[0].referNum = countNum.data.result;
console.log(this.groupList, '444');
this.allPageNum = pageInfo.pages || 1; this.allPageNum = pageInfo.pages || 1;
} }
}); });
......
<template>
<div>
<setActCode>
<template #typeCode>
<el-form-item label="活码类型" prop="hmType">
<el-radio-group v-model="form.hmType">
<el-radio :label="1">单人活码</el-radio>
<el-radio :label="2">多人活码</el-radio>
</el-radio-group>
</el-form-item>
</template>
<template #codeName>
<el-form-item label="活码名称" prop="name">
<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="使用成员" prop="memberList">
<p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p>
<p class="tabs" v-if="form.hmType == 2">若选择多名成员,则随机分配企微员工</p>
<el-button plain class="ylbtn"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加成员</el-button>
</el-form-item>
</template>
</setActCode>
</div>
</template>
<script>
import setActCode from '../../../components/actCodeSet.vue';
// import { getRequest } from '@/api/api';
import errMsg from '@/common/js/error';
export default {
components: { setActCode },
created() {
console.log(this.$route.query, 7878);
},
data() {
return {
loading: false,
form: {
hmType: 1,
name: '',
memberList: []
}
};
},
methods: {
async getActCodeInfo() {
const that = this;
that.actCode = '999';
if (that.actCode.length <= 0) return;
that.loading = true;
// getRequest('/hm/qrcode/detail', { hmId: that.actCode })
// .then(res => {
let res = {
data: {
errorCode: 1,
result: {
name: '测试活码好的可以',
hmId: '727363646474849483332',
statusFlag: 1,
overFlag: 1,
hmType: 2,
creatorName: '少见多怪',
createTime: 182736347383,
passFlag: 0,
welcomeId: 'b680a2cf18b742cc9f4560f6195c9ec6',
enterpriseId: '5bd929fd3b2c49deaa1184bcb0d669b3'
}
}
};
let resData = res.data;
that.loading = false;
if (resData.errorCode == 1) {
that.statusIndex = resData.result.statusFlag == 1 && resData.result.overFlag == 1 ? 4 : resData.result.statusFlag;
that.codeInfo = resData.result;
return;
}
errMsg.errorMsg(resData);
// })
// .catch(function(error) {
// that.$message.error({
// duration: 1000,
// message: error.message
// });
// });
}
}
};
</script>
<style lang="less" scoped>
.ylbtn {
border: 1px solid #2f54eb;
color: #2f54eb;
}
.w340 {
width: 340px;
}
</style>
...@@ -3,30 +3,21 @@ ...@@ -3,30 +3,21 @@
<div class="m20 formBox"> <div class="m20 formBox">
<dm-sub-title text="基础信息" type="line" /> <dm-sub-title text="基础信息" type="line" />
<el-form class="mt20" ref="form" :model="form" :rules="rules" label-width="110px"> <el-form class="mt20" ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="活码类型" prop="hmType"> <slot name="typeCode"></slot>
<el-radio-group v-model="form.hmType"> <slot name="codeName"></slot>
<el-radio :label="1">单人活码</el-radio> <el-form-item label="活码分组" prop="actGroup">
<el-radio :label="2">多人活码</el-radio> <el-select class="w340" filterable v-model="form.actGroup">
</el-radio-group> <el-options v-for="(item, index) in groupList" :key="index"></el-options>
</el-form-item> </el-select>
<el-form-item label="活码名称" prop="name">
<el-input class="w340" v-model="form.name" placeholder="请输入活码名称,默认使用成员名称" maxlength="20" show-word-limit></el-input>
</el-form-item>
<el-form-item label="活动分组" prop="actGroup">
<el-select class="w340" filterable v-model="form.actGroup"></el-select>
</el-form-item>
<el-form-item label="使用成员" prop="memberList">
<p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p>
<p class="tabs" v-if="form.hmType == 2">若选择多名成员,则随机分配企微员工</p>
<el-button plain class="ylbtn"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加成员</el-button>
</el-form-item> </el-form-item>
<slot name="member"></slot>
<el-form-item label="自动通过好友"> <el-form-item label="自动通过好友">
<el-switch v-model="form.passFlag" class="mr15"></el-switch> <el-switch v-model="form.passFlag" class="mr15"></el-switch>
<span class="tabs">开启后,客户添加该企业微信时,无需好友验证,将会自动添加成功</span> <span class="tabs">开启后,客户添加该企业微信时,无需好友验证,将会自动添加成功</span>
</el-form-item> </el-form-item>
<el-form-item label="活码标签"> <el-form-item label="活码标签">
<el-button plain class="ylbtn" @click="tagsDialogVisible = true"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加标签</el-button> <el-button plain class="ylbtn" @click="tagsDialogVisible = true"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加标签</el-button>
<dm-memberTag-group :visiable.sync="tagsDialogVisible" @save="saveTagPop" :projectName="haobao - 3"></dm-memberTag-group> <dm-memberTag-group :visiable.sync="tagsDialogVisible" :projectName="haobao - 3"></dm-memberTag-group>
</el-form-item> </el-form-item>
<dm-sub-title text="欢迎语设置" type="line" class="mt40b20" /> <dm-sub-title text="欢迎语设置" type="line" class="mt40b20" />
<el-row> <el-row>
...@@ -49,11 +40,15 @@ ...@@ -49,11 +40,15 @@
<el-form-item label="选择欢迎语" v-if="form.welcomes == 1"> <el-form-item label="选择欢迎语" v-if="form.welcomes == 1">
<div class="welcomeTable"> <div class="welcomeTable">
<div class="wtabTop"> <div class="wtabTop">
<el-input class="w260" placeholder="请输入标题"></el-input> <el-input class="w260" placeholder="请输入标题" v-model="pageParam.search"></el-input>
<el-button plain class="ylbtn" @click="changeRoute">新建欢迎语</el-button> <el-button plain class="ylbtn" @click="changeRoute">新建欢迎语</el-button>
</div> </div>
<el-table :data="welcomeTableData" @selection-change="handleSelectionChange"> <el-table :data="welcomeTableData">
<el-table-column type="selection" width="55"> </el-table-column> <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>
</template>
</el-table-column>
<el-table-column prop="welcomeTitle" label="标题" width="158px"></el-table-column> <el-table-column prop="welcomeTitle" label="标题" width="158px"></el-table-column>
<el-table-column prop="welcomeContent" label="内容" show-overflow-tooltip></el-table-column> <el-table-column prop="welcomeContent" label="内容" show-overflow-tooltip></el-table-column>
<el-table-column prop="welcomeEnclosure" label="附件" width="212px" show-overflow-tooltip> <el-table-column prop="welcomeEnclosure" label="附件" width="212px" show-overflow-tooltip>
...@@ -69,14 +64,13 @@ ...@@ -69,14 +64,13 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- <dm-pagination background @current-change="handleCurrentChange" :current-page="pageParam.currentPage" layout=" prev, pager, next " :total="totalCount"> </dm-pagination> --> <dm-pagination class="paginationBox" background @current-change="handleCurrentChange" :current-page="pageParam.currentPage" layout=" prev, pager, next " :page-size="4" :total="100"> </dm-pagination>
<dm-pagination class="paginationBox" background layout=" prev, pager, next " :total="100"> </dm-pagination>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7" v-if="form.welcomes == 1"> <el-col :span="7" v-if="form.welcomes == 1 && welcomeContent != ''">
<p class="welcomeTitle">欢迎语预览</p> <p class="welcomeTitle">欢迎语预览</p>
<previewWelcome :welcomeContent="welcomeTableData.welcomeContent"></previewWelcome> <previewWelcome :welcomeContent="welcomeContent"></previewWelcome>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -89,8 +83,9 @@ ...@@ -89,8 +83,9 @@
<script> <script>
import previewWelcome from '../../../components/preview-welcome.vue'; import previewWelcome from '../../../components/preview-welcome.vue';
// import { findActCodeGroupListApi } from '@/api/actCode.js';
export default { export default {
name: 'addActCode', name: 'setActCode',
components: { previewWelcome }, components: { previewWelcome },
props: { props: {
actCodeData: { actCodeData: {
...@@ -119,21 +114,44 @@ export default { ...@@ -119,21 +114,44 @@ export default {
welcomeTableData: [], welcomeTableData: [],
tagsDialogVisible: false, tagsDialogVisible: false,
data: '', data: '',
multipleSelection: [] welcome: '',
templateSelection: {},
welcomeContent: '',
pageParam: {
search: '',
currentPage: 1
},
groupList: []
}; };
}, },
created() { created() {
this.getWelcomeTable(); this.getWelcomeTable();
// this.searchGroup();
}, },
methods: { methods: {
handleSelectionChange(val) { searchGroup(val) {
console.log(val, 'val'); // const params = {
this.multipleSelection = val; // pageNum: 1,
// pageSize: 4
// };
// if (String(this.searchGroupInput)) {
// params.groupName = this.searchGroupInput;
// }
// findActCodeGroupListApi(params).then(res => {
// console.log(res);
// });
},
// 当前页变化
handleCurrentChange(val) {
console.log(val);
this.pageParam.currentPage = val;
// this.getAjaxMembers();
}, },
// 选择欢迎语列表数据 // 选择欢迎语列表数据
getWelcomeTable() { getWelcomeTable() {
this.welcomeTableData = [ this.welcomeTableData = [
{ {
welcomeId: 1,
welcomeTitle: '标题标题标题', welcomeTitle: '标题标题标题',
welcomeContent: '欢迎语内容欢迎语内容欢迎语内容 欢迎语内容欢迎语内容欢迎语内容欢迎语内容欢迎语内容 欢迎语内容欢迎语内容', welcomeContent: '欢迎语内容欢迎语内容欢迎语内容 欢迎语内容欢迎语内容欢迎语内容欢迎语内容欢迎语内容 欢迎语内容欢迎语内容',
welcomeEnclosure: { welcomeEnclosure: {
...@@ -142,6 +160,7 @@ export default { ...@@ -142,6 +160,7 @@ export default {
} }
}, },
{ {
welcomeId: 2,
welcomeTitle: '标题标题标题', welcomeTitle: '标题标题标题',
welcomeContent: '内容房价还是大家开始的房价款', welcomeContent: '内容房价还是大家开始的房价款',
welcomeEnclosure: { welcomeEnclosure: {
...@@ -150,6 +169,7 @@ export default { ...@@ -150,6 +169,7 @@ export default {
} }
}, },
{ {
welcomeId: 3,
welcomeTitle: '标题标题标题', welcomeTitle: '标题标题标题',
welcomeContent: '内容房价还是大家开始的房价款', welcomeContent: '内容房价还是大家开始的房价款',
welcomeEnclosure: { welcomeEnclosure: {
...@@ -158,6 +178,7 @@ export default { ...@@ -158,6 +178,7 @@ export default {
} }
}, },
{ {
welcomeId: 4,
welcomeTitle: '标题标题标题', welcomeTitle: '标题标题标题',
welcomeContent: '内容房价还是大家开始的房价款', welcomeContent: '内容房价还是大家开始的房价款',
welcomeEnclosure: { welcomeEnclosure: {
...@@ -171,6 +192,11 @@ export default { ...@@ -171,6 +192,11 @@ export default {
changeRoute() { changeRoute() {
this.$router.push({ path: '/salutatorySet' }); this.$router.push({ path: '/salutatorySet' });
}, },
getCurrentRow(row) {
// 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值
this.templateSelection = row;
this.welcomeContent = this.templateSelection.welcomeContent;
},
saveTagPop(data) { saveTagPop(data) {
console.log(data); console.log(data);
this.data = data; this.data = data;
...@@ -183,16 +209,10 @@ export default { ...@@ -183,16 +209,10 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
// /deep/ .el-table__body-wrapper .el-checkbox .el-checkbox__input .el-checkbox__inner {
// border-radius: 100%;
// }
/deep/ .el-table__body-wrapper .el-table__row .cell { /deep/ .el-table__body-wrapper .el-table__row .cell {
padding-left: 10px !important; padding-left: 10px !important;
line-height: 14px; line-height: 14px;
} }
/deep/ .el-table__header-wrapper .el-checkbox {
display: none;
}
.m20 { .m20 {
margin: 20px; margin: 20px;
} }
......
...@@ -2,28 +2,28 @@ ...@@ -2,28 +2,28 @@
<div> <div>
<el-row> <el-row>
<div class="leftBox"> <div class="leftBox">
<el-input class="w260 mr10" placeholder="请输入门店名称/code" v-model="pageParam.search1" prefix-icon="el-icon-search"></el-input> <el-input class="w260 mr10" placeholder="请输入门店名称/code" v-model="pageParam.storeSearch" prefix-icon="el-icon-search"></el-input>
<el-input class="w260 mr10" placeholder="请输入导购名称/code" v-model="pageParam.search2" prefix-icon="el-icon-search"></el-input> <el-input class="w260 mr10" placeholder="请输入导购名称/code" v-model="pageParam.clerkSearch" prefix-icon="el-icon-search"></el-input>
</div> </div>
<div class="rightBox"> <div class="rightBox">
<ul class="datebox" v-for="(lis, index) in dateLis" :key="lis.key"> <ul class="datebox" v-for="(lis, index) in dateLis" :key="lis.key">
<li :class="active == index ? 'activeClass' : 'noActive'" class="dateLisBox" @click="btnChange(index)">{{ lis.value }}</li> <li :class="active == index ? 'activeClass' : 'noActive'" class="dateLisBox" @click="btnChange(index)">{{ lis.value }}</li>
</ul> </ul>
<el-date-picker class="w256" v-model="pageParam.dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange"> </el-date-picker> <el-date-picker class="w256" v-model="dateDefault" type="daterange" range-separator="~" start-placeholder="创建开始日期" end-placeholder="创建结束日期" :default-time="['00:00:00', '23:59:59']" :picker-options="pickerOptions()" @change="onDateChange"> </el-date-picker>
</div> </div>
</el-row> </el-row>
<el-table class="mt18" :data="tableData" @sort-change="sortChange"> <el-table class="mt18" :data="tableData" @sort-change="sortChange">
<el-table-column label="导购信息"> <el-table-column label="导购信息">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p class="overflow-ellipsis" :title="row.guideMsg">{{ row.guideMsg }}</p> <p class="overflow-ellipsis" :title="row.clerkName">{{ row.clerkName }}</p>
<p>{{ row.guideMsgs }}</p> <p>{{ row.clerkCode }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="导购所属门店"> <el-table-column label="导购所属门店">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p class="overflow-ellipsis" :title="row.guideStore">{{ row.guideStore }}</p> <p class="overflow-ellipsis" :title="row.storeName">{{ row.storeName }}</p>
<p>{{ row.guideStoreCode }}</p> <p>{{ row.storeCode }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="企微号"> <el-table-column label="企微号">
...@@ -32,26 +32,27 @@ ...@@ -32,26 +32,27 @@
<p>{{ row.qwCode }}</p> <p>{{ row.qwCode }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="新增总人数" prop="addTotal" sortable></el-table-column> <el-table-column label="新增总人数" prop="addFriendNumTd" sortable></el-table-column>
<el-table-column label="今日新增总人数" prop="todayAddTotal" sortable></el-table-column> <el-table-column label="今日新增总人数" prop="addFriendNumD" sortable></el-table-column>
<el-table-column label="今日流失人数" prop="toadyLess" sortable></el-table-column> <el-table-column label="今日流失人数" prop="toadyLess" sortable></el-table-column>
<el-table-column label="流失总人数" prop="lessTotal" sortable></el-table-column> <el-table-column label="流失总人数" prop="lessTotal" sortable></el-table-column>
<el-table-column label="今日已达上限" prop="status"> <el-table-column label="今日已达上限" prop="overFlag">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p>{{ row.status == 1 ? '是' : '否' }}</p> <p>{{ row.overFlag == 1 ? '是' : '否' }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-button type="text" @click="lookRecords(row.actId)">查看记录</el-button> <el-button type="text" @click="lookRecords(row.hmId)">查看记录</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageParam.currentPage" :page-sizes="[20, 40, 60, 80]" :page-size="pageParam.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalCount"> </dm-pagination> <dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageParam.pageNum" :page-sizes="[20, 40, 60, 80]" :page-size="pageParam.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalCount"> </dm-pagination>
</div> </div>
</template> </template>
<script> <script>
import { detailClerkList } from '@/api/actCode.js';
export default { export default {
name: 'DateDetail', name: 'DateDetail',
props: { props: {
...@@ -71,12 +72,12 @@ export default { ...@@ -71,12 +72,12 @@ export default {
], ],
tableData: [], tableData: [],
pageParam: { pageParam: {
search1: '', storeSearch: '',
search2: '', clerkSearch: '',
dateDefault: [], pageNum: 1,
currentPage: 1,
pageSize: 20 pageSize: 20
}, },
dateDefault: [],
totalCount: 0, totalCount: 0,
sortColumn: '', sortColumn: '',
sortType: '', sortType: '',
...@@ -142,7 +143,7 @@ export default { ...@@ -142,7 +143,7 @@ export default {
btnChange(index) { btnChange(index) {
//把index值赋给active,点击改变样式 //把index值赋给active,点击改变样式
this.active = index; this.active = index;
this.pageParam.dateDefault = []; this.dateDefault = [];
let setDate; let setDate;
if (index == 0) { if (index == 0) {
// 近7天 // 近7天
...@@ -170,20 +171,20 @@ export default { ...@@ -170,20 +171,20 @@ export default {
}; };
} }
const [start, end] = this.getDateRange(setDate); const [start, end] = this.getDateRange(setDate);
this.pageParam.dateDefault.push(end); this.dateDefault.push(end);
this.pageParam.dateDefault.push(start); this.dateDefault.push(start);
}, },
onDateChange() { onDateChange() {
this.active = -1; this.active = -1;
}, },
// 当前页变化 // 当前页变化
handleCurrentChange(val) { handleCurrentChange(val) {
this.pageParam.currentPage = val; this.pageParam.pageNum = val;
sessionStorage.setItem('currentPage', val); sessionStorage.setItem('pageNum', val);
}, },
// 页码 // 页码
handleSizeChange(val) { handleSizeChange(val) {
this.pageParam.currentPage = 1; this.pageParam.pageNum = 1;
this.pageParam.pageSize = val; this.pageParam.pageSize = val;
this.getTableList(); this.getTableList();
}, },
...@@ -195,39 +196,46 @@ export default { ...@@ -195,39 +196,46 @@ export default {
that.getTableList(); that.getTableList();
}, },
// 列表数据 // 列表数据
getTableList() { async getTableList() {
this.tableData = [ // this.tableData = [
{ // {
guideMsg: '导购信息1索尼大法根据历史的快乐风格问题', // clerkName: '导购信息1索尼大法根据历史的快乐风格问题',
guideMsgs: '2364756qre', // clerkCode: '2364756qre',
guideStore: '门店名称1哈金斯的看法和大家说法可接受的垡健康是的发送到', // storeName: '门店名称1哈金斯的看法和大家说法可接受的垡健康是的发送到',
guideStoreCode: '4564564', // storeCode: '4564564',
qw: '趣味', // qw: '趣味',
qwCode: '23674726', // qwCode: '23674726',
addTotal: 1, // addFriendNumTd: 1,
todayAddTotal: 2, // addFriendNumD: 2,
toadyLess: 89, // toadyLess: 89,
lessTotal: 23, // lessTotal: 23,
staus: 1 // staus: 1
}, // },
{ // {
guideMsg: '导购信息1索尼大法根据历史的快乐风格问题', // clerkName: '导购信息1索尼大法根据历史的快乐风格问题',
guideMsgs: '2364756qre', // clerkCode: '2364756qre',
guideStore: '门店名称1哈金斯的看法和大家说法可接受的垡健康是的发送到', // storeName: '门店名称1哈金斯的看法和大家说法可接受的垡健康是的发送到',
guideStoreCode: '4564564', // storeCode: '4564564',
qw: '趣味', // qw: '趣味',
qwCode: '23674726', // qwCode: '23674726',
addTotal: 9, // addFriendNumTd: 9,
todayAddTotal: 5, // addFriendNumD: 5,
toadyLess: 77, // toadyLess: 77,
lessTotal: 66, // lessTotal: 66,
staus: 0 // staus: 0
} // }
]; // ];
const obj = {
...this.pageParam,
startTime: this.dateDefault ? Date.parse(new Date(this.dateDefault[0]).toString()) : '',
endTime: this.dateDefault ? Date.parse(new Date(this.dateDefault[1]).toString()) : ''
};
const a = await detailClerkList(obj);
console.log(a, 'a');
}, },
lookRecords(actId) { lookRecords(hmId) {
const that = this; const that = this;
that.$router.push(`/actCodeRecord?actId=${actId}`); that.$router.push(`/actCodeRecord?hmId=${hmId}`);
} }
} }
}; };
......
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