Commit 22ccf6c1 by huaying

fix: 活码列表

parent 75b29454
...@@ -15,6 +15,13 @@ module.exports = { ...@@ -15,6 +15,13 @@ module.exports = {
'^/haoban-manage3-web': '' '^/haoban-manage3-web': ''
} }
}, },
'/api/': {
target: 'https://www.gicdev.com/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/haoban-app-customer-web/': { '/haoban-app-customer-web/': {
target: 'https://www.gicdev.com/haoban-app-customer-web/', target: 'https://www.gicdev.com/haoban-app-customer-web/',
changeOrigin: true, changeOrigin: true,
......
...@@ -37,4 +37,4 @@ export const guidePageSave = params => postRequest('/haoban-manage3-web/hm/guide ...@@ -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 linkPage = params => postRequest('/haoban-manage3-web/hm/link/page', params);
//【活码】详情-查看明细列表 //【活码】详情-查看明细列表
export const detailClerkList = params => postRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list', params); export const detailClerkList = params => postJsonRequest('/haoban-manage3-web/hm/qrcode/detail-clerk-list', params);
<template> <template>
<div> <div>
<setActCode @submit="onSubmit"> <setActCode @sumbit="onSubmit">
<template #typeCode> <template #typeCode>
<el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]"> <el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group v-model="form.hmType"> <el-radio-group v-model="form.hmType">
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<script> <script>
import setActCode from '@/views/salesleads/components/actCodeSet.vue'; import setActCode from '@/views/salesleads/components/actCodeSet.vue';
import SelectClerk from '../../components/select-clerk/index.vue'; import SelectClerk from '../../components/select-clerk/index.vue';
import { postJsonRequest } from '@/api/api';
export default { export default {
components: { setActCode, SelectClerk }, components: { setActCode, SelectClerk },
data() { data() {
...@@ -32,7 +33,8 @@ export default { ...@@ -32,7 +33,8 @@ export default {
form: { form: {
hmType: 1, hmType: 1,
clerkIdList: [], clerkIdList: [],
memberType: 1 memberType: 1,
hmUserNum: null
}, },
data: [] data: []
}; };
...@@ -41,13 +43,23 @@ export default { ...@@ -41,13 +43,23 @@ export default {
onChange(data) { onChange(data) {
this.data = data; this.data = data;
this.form.clerkIdList = data; this.form.clerkIdList = data;
this.form.hmUserNum = data.length;
}, },
onSubmit(event) { async onSubmit(event) {
let obj = { let obj = {
...event, ...event,
...this.form ...this.form
}; };
await postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
console.log(res);
});
console.log(obj, '父组件,整体表单数据'); console.log(obj, '父组件,整体表单数据');
// this.$refs.form.clearValidate();
this.form = {
hmType: 1,
clerkIdList: [],
hmUserNum: null //多人活码人数
};
} }
} }
}; };
......
<template> <template>
<div> <div>
<setActCode @submit="onSubmit" :actCodeData="detailCode"> <setActCode @sumbit="onSubmit" :actCodeData="detailCode">
<template #typeCode> <template #typeCode>
<el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]"> <el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group v-model="form.hmType" @change="changeEvent"> <el-radio-group v-model="form.hmType" @change="changeEvent">
...@@ -18,18 +18,16 @@ ...@@ -18,18 +18,16 @@
<el-form-item label="使用成员" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]"> <el-form-item label="使用成员" :rules="[{ required: true, message: '请选择使用成员', trigger: 'blur' }]">
<p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p> <p class="tabs" v-if="form.hmType == 1">单人活码仅可选择一名成员</p>
<p class="tabs" v-if="form.hmType == 2">若选择多名成员,则随机分配企微员工</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> -->
<select-clerk :multiple="multiple" :data="data" @change="onChange"></select-clerk> <select-clerk :multiple="multiple" :data="data" @change="onChange"></select-clerk>
</el-form-item> </el-form-item>
</template> </template>
</setActCode> </setActCode>
</div> </div>
</template> </template>
<script> <script>
import setActCode from '@/views/salesleads/components/actCodeSet.vue'; import setActCode from '@/views/salesleads/components/actCodeSet.vue';
import SelectClerk from '../../components/select-clerk/index.vue'; import SelectClerk from '../../components/select-clerk/index.vue';
import { getRequest, postRequest } from '@/api/api'; import { getRequest, postJsonRequest } from '@/api/api';
export default { export default {
components: { setActCode, SelectClerk }, components: { setActCode, SelectClerk },
data() { data() {
...@@ -63,6 +61,7 @@ export default { ...@@ -63,6 +61,7 @@ export default {
} }
}, },
onChange(data) { onChange(data) {
console.log(data, 'data');
this.data = data; this.data = data;
this.form.clerkIdList = data.map(item => { this.form.clerkIdList = data.map(item => {
return item.clerkId; return item.clerkId;
...@@ -76,15 +75,16 @@ export default { ...@@ -76,15 +75,16 @@ export default {
}, },
async getActCodeInfo() { async getActCodeInfo() {
const that = this; const that = this;
if (this.$route.query.hmId) return;
that.loading = true; that.loading = true;
if (this.$route.query.hmId) {
await getRequest('/hm/qrcode/detail', { hmId: this.$route.query.hmId }).then(res => { await getRequest('/hm/qrcode/detail', { hmId: this.$route.query.hmId }).then(res => {
this.detailCode = res.data; this.detailCode = res.data;
console.log(this.detailCode, 'detailcode'); console.log(this.detailCode, 'detailcode');
that.loading = false; that.loading = false;
}); });
}
}, },
onSubmit(event) { async onSubmit(event) {
let obj = { let obj = {
...event, ...event,
...this.form ...this.form
...@@ -96,18 +96,29 @@ export default { ...@@ -96,18 +96,29 @@ export default {
hm_id: this.detailCode.hmId hm_id: this.detailCode.hmId
}; };
// 编辑 // 编辑
postRequest('/hm/qrcode/update', obj); await postJsonRequest('/haoban-manage3-web/hm/qrcode/update', obj).then(res => {
console.log(res, '编辑');
if (res.data.code == 0) {
// this.$router.go(-1);
}
});
} else { } else {
// 新增 // 新增
postRequest('/hm/qrcode/add', obj); await postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
console.log(res, '新增');
if (res.data.code == 0) {
// this.$router.go(-1);
}
});
} }
this.$refs.form.clearValidate(); // this.$refs.form.clearValidate();
this.form = { this.form = {
hmType: 1, hmType: 1,
name: '', name: '',
clerkIdList: [], clerkIdList: [],
hmUserNum: null //多人活码人数 hmUserNum: null //多人活码人数
}; };
// this.$router.go(-1);
} }
} }
}; };
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</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"></dm-memberTag-group> --> <dm-memberTag-group :visiable.sync="tagsDialogVisible" projectName="haobao-3" @save="saveTagPop"></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" />
<welcomeItem @getWelcomeId="getWelcomeId"></welcomeItem> <welcomeItem @getWelcomeId="getWelcomeId"></welcomeItem>
...@@ -62,9 +62,9 @@ export default { ...@@ -62,9 +62,9 @@ export default {
hmGroupId: null, //活码分组id hmGroupId: null, //活码分组id
passFlag: 1, // 1自动通过 0否 passFlag: 1, // 1自动通过 0否
memberLabelId: '', //会员活动标签id memberLabelId: '', //会员活动标签id
welcomeId: null, // 欢迎语id welcomeId: null // 欢迎语id
// clerkIdList: '', // 选择导购id // clerkIdList: '', // 选择导购id
storeId: '' //门店id // storeId: '' //门店id
// hmUserNum: null //多人活码人数 // hmUserNum: null //多人活码人数
}, },
rules: { rules: {
...@@ -75,9 +75,10 @@ export default { ...@@ -75,9 +75,10 @@ export default {
pageParam: { pageParam: {
groupName: '', groupName: '',
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20
total: 1
}, },
total: 1,
groupList: [], groupList: [],
data: '' data: ''
}; };
...@@ -91,7 +92,7 @@ export default { ...@@ -91,7 +92,7 @@ export default {
this.data = data; this.data = data;
}, },
onLoadmore() { onLoadmore() {
if (this.pageParam.pageNum >= this.pageParam.total) return; if (this.pageParam.pageNum >= this.total) return;
this.pageParam.pageNum++; this.pageParam.pageNum++;
this.searchGroup(); this.searchGroup();
}, },
...@@ -102,14 +103,12 @@ export default { ...@@ -102,14 +103,12 @@ export default {
await getRequest('/haoban-manage3-web/hm/group/list', this.pageParam).then(res => { await getRequest('/haoban-manage3-web/hm/group/list', this.pageParam).then(res => {
if (res.data.code == 0) { if (res.data.code == 0) {
const { result, pages } = res.data.result || {}; const { result, pages } = res.data.result || {};
this.pageParam.total = pages || 1; this.total = pages || 1;
// console.log(this.groupList, 'list');
if (this.pageParam.groupName != '') { if (this.pageParam.groupName != '') {
this.groupList = result; this.groupList = result;
} else if (Array.isArray(result)) { } else if (Array.isArray(result)) {
this.groupList = this.groupList.concat(result); this.groupList = this.groupList.concat(result);
} }
// console.log(this.groupList, 909090);
} }
}); });
}, },
...@@ -137,6 +136,7 @@ export default { ...@@ -137,6 +136,7 @@ export default {
this.$refs.form.validate(async valid => { this.$refs.form.validate(async valid => {
if (valid) { if (valid) {
console.log(this.form, '子组件'); console.log(this.form, '子组件');
this.form.passFlag = this.form.passFlag ? 1 : 0;
this.$emit('sumbit', this.form); this.$emit('sumbit', this.form);
} }
}); });
......
...@@ -2,15 +2,15 @@ ...@@ -2,15 +2,15 @@
<div> <div>
<el-row> <el-row>
<div class="leftBox"> <div class="leftBox">
<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.storeSelect" 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> <el-input class="w260 mr10" placeholder="请输入导购名称/code" v-model="pageParam.clerkSelect" 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="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']" value-format="yyyy-MM-dd" :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">
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<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> <dm-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageParam.pageNo" :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>
...@@ -76,15 +76,17 @@ export default { ...@@ -76,15 +76,17 @@ export default {
], ],
tableData: [], tableData: [],
pageParam: { pageParam: {
inFields: {
hmId: '', hmId: '',
linkId: '', linkId: '',
startTime: '', startTime: '',
endTime: '', endTime: '',
storeSearch: '', storeSelect: '',
clerkSearch: '', clerkSelect: '',
pageNum: 1, orderByField: 'addNumT desc'
pageSize: 20, },
orderByField: '' pageNo: 1,
pageSize: 20
}, },
dateDefault: [], dateDefault: [],
totalCount: 0, totalCount: 0,
...@@ -109,7 +111,6 @@ export default { ...@@ -109,7 +111,6 @@ export default {
start = start > start2 ? start : start2; start = start > start2 ? start : start2;
end2 = end2.setMonth(end2.getMonth() + 6); end2 = end2.setMonth(end2.getMonth() + 6);
end = end.getTime() > end2 ? end2 : end.getTime(); end = end.getTime() > end2 ? end2 : end.getTime();
// console.log('end2', end2, end);
} else { } else {
start = start.setFullYear(start.getFullYear() - 2); start = start.setFullYear(start.getFullYear() - 2);
end = end.getTime(); end = end.getTime();
...@@ -121,9 +122,9 @@ export default { ...@@ -121,9 +122,9 @@ export default {
}; };
}, },
created() { created() {
this.getTableList();
// 默认显示近七天 // 默认显示近七天
this.btnChange(0); this.btnChange(0);
this.getTableList();
}, },
methods: { methods: {
getDateRange(setEndDate) { getDateRange(setEndDate) {
...@@ -180,39 +181,47 @@ export default { ...@@ -180,39 +181,47 @@ export default {
const [start, end] = this.getDateRange(setDate); const [start, end] = this.getDateRange(setDate);
this.dateDefault.push(end); this.dateDefault.push(end);
this.dateDefault.push(start); this.dateDefault.push(start);
this.getTableList();
}, },
onDateChange() { onDateChange() {
this.active = -1; this.active = -1;
if (this.dateDefault.length) this.getTableList();
}, },
// 当前页变化 // 当前页变化
handleCurrentChange(val) { handleCurrentChange(val) {
this.pageParam.pageNum = val; this.pageParam.pageNo = val;
sessionStorage.setItem('pageNum', val); sessionStorage.setItem('pageNo', val);
}, },
// 页码 // 页码
handleSizeChange(val) { handleSizeChange(val) {
this.pageParam.pageNum = 1; this.pageParam.pageNo = 1;
this.pageParam.pageSize = val; this.pageParam.pageSize = val;
this.getTableList(); this.getTableList();
}, },
// 排序 // 排序
sortChange(column, prop, order) { sortChange(column) {
const that = this; const that = this;
that.sortColumn = column.property; that.sortColumn = column.prop;
that.sortType = column.order == 'ascending' ? 'asc' : 'desc'; that.sortType = column.order == 'ascending' ? 'asc' : 'desc';
that.pageParam.orderByField = [that.sortColumn, that.sortType]; this.pageParam.inFields.orderByField = `${that.sortColumn} ${that.sortType}`;
that.getTableList(); that.getTableList();
}, },
// 列表数据 // 列表数据
async getTableList() { async getTableList() {
this.pageParam.startTime = this.dateDefault ? Date.parse(new Date(this.dateDefault[0]).toString()) : ''; this.pageParam.inFields.startTime = this.dateDefault ? this.dateDefault[0].toString() : '';
this.pageParam.endTime = this.dateDefault ? Date.parse(new Date(this.dateDefault[1]).toString()) : ''; this.pageParam.inFields.endTime = this.dateDefault ? this.dateDefault[1].toString() : '';
if (this.$route.query.id && this.typeT == 'code') { if (this.$route.query.id && this.typeT == 'code') {
this.pageParam.hmId = this.$route.query.id; this.pageParam.inFields.hmId = Number(this.$route.query.id);
delete this.pageParam.linkId; delete this.pageParam.inFields.linkId;
} else if (this.$route.query.id && this.typeT == 'link') { } else if (this.$route.query.id && this.typeT == 'link') {
this.pageParam.linkId = this.$route.query.id; this.pageParam.inFields.linkId = Number(this.$route.query.id);
delete this.pageParam.hmId; delete this.pageParam.inFields.hmId;
}
if (this.pageParam.inFields.storeSelect == '') {
delete this.pageParam.inFields.storeSelect;
}
if (this.pageParam.inFields.clerkSelect == '') {
delete this.pageParam.inFields.clerkSelect;
} }
await detailClerkList(this.pageParam).then(res => { await detailClerkList(this.pageParam).then(res => {
if (res.code == 0) { if (res.code == 0) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-row> <el-row>
<el-col :span="17"> <el-col :span="17">
<el-form-item label="活码类型"> <el-form-item label="活码类型" @change="radioChange">
<el-radio-group v-model="welcomesType"> <el-radio-group v-model="welcomesType">
<el-radio :label="1">活码欢迎语</el-radio> <el-radio :label="1">活码欢迎语</el-radio>
<el-radio :label="2">不发送欢迎语</el-radio> <el-radio :label="2">不发送欢迎语</el-radio>
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.search"></el-input> <el-input class="w260" placeholder="请输入标题" v-model="welcomePage.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"> <el-table :data="welcomeTableData" height="330px">
<el-table-column width="55"> <el-table-column width="55">
<template slot-scope="scope"> <template slot-scope="scope">
<el-radio :label="scope.$index" @change.native="getCurrentRow(scope.row)" v-model="welcome">&nbsp;</el-radio> <el-radio :label="scope.$index" @change.native="getCurrentRow(scope.row)" v-model="welcome">&nbsp;</el-radio>
...@@ -72,7 +72,7 @@ export default { ...@@ -72,7 +72,7 @@ export default {
welcomePage: { welcomePage: {
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '', wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
title: '', title: '',
type: 2, type: 1,
pageNum: 1, pageNum: 1,
pageSize: 4 pageSize: 4
}, },
...@@ -88,6 +88,7 @@ export default { ...@@ -88,6 +88,7 @@ export default {
// 当前页变化 // 当前页变化
handleCurrentChange(val) { handleCurrentChange(val) {
this.welcomePage.pageNum = val; this.welcomePage.pageNum = val;
this.welcome = '';
this.getWelcomeTable(); this.getWelcomeTable();
}, },
// 选择欢迎语列表数据 // 选择欢迎语列表数据
...@@ -99,14 +100,23 @@ export default { ...@@ -99,14 +100,23 @@ export default {
}, },
// 新建欢迎语 // 新建欢迎语
changeRoute() { changeRoute() {
this.$router.push({ path: '/salutatorySet' }); // this.$router.push({ path: '/salutatorySet' });
let routeUrl = this.$router.resolve({ path: '/salutatorySet', query: { type: 1 } });
window.open(routeUrl.href, '_blank');
}, },
getCurrentRow(row) { getCurrentRow(row) {
// 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值 // 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值
this.templateSelection = row; this.templateSelection = row;
this.welcomeContent = row.welcomeContent; this.welcomeContent = row.welcomeContent;
this.welcomeId = row.welcomeId; this.welcomeId = row.welcomeId;
this.$emit('getWelcomeId', row.welcomeId); this.$emit('getWelcomeId', this.welcomeId);
},
// 单选框点击事件
radioChange(e) {
if (e == 1) {
this.welcomeId = '';
this.$emit('getWelcomeId', this.welcomeId);
}
} }
} }
}; };
......
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