Commit 22ccf6c1 by huaying

fix: 活码列表

parent 75b29454
......@@ -15,6 +15,13 @@ module.exports = {
'^/haoban-manage3-web': ''
}
},
'/api/': {
target: 'https://www.gicdev.com/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/haoban-app-customer-web/': {
target: 'https://www.gicdev.com/haoban-app-customer-web/',
changeOrigin: true,
......
......@@ -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 => 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>
<div>
<setActCode @submit="onSubmit">
<setActCode @sumbit="onSubmit">
<template #typeCode>
<el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group v-model="form.hmType">
......@@ -25,6 +25,7 @@
<script>
import setActCode from '@/views/salesleads/components/actCodeSet.vue';
import SelectClerk from '../../components/select-clerk/index.vue';
import { postJsonRequest } from '@/api/api';
export default {
components: { setActCode, SelectClerk },
data() {
......@@ -32,7 +33,8 @@ export default {
form: {
hmType: 1,
clerkIdList: [],
memberType: 1
memberType: 1,
hmUserNum: null
},
data: []
};
......@@ -41,13 +43,23 @@ export default {
onChange(data) {
this.data = data;
this.form.clerkIdList = data;
this.form.hmUserNum = data.length;
},
onSubmit(event) {
async onSubmit(event) {
let obj = {
...event,
...this.form
};
await postJsonRequest('/haoban-manage3-web/hm/qrcode/add', obj).then(res => {
console.log(res);
});
console.log(obj, '父组件,整体表单数据');
// this.$refs.form.clearValidate();
this.form = {
hmType: 1,
clerkIdList: [],
hmUserNum: null //多人活码人数
};
}
}
};
......
<template>
<div>
<setActCode @submit="onSubmit" :actCodeData="detailCode">
<setActCode @sumbit="onSubmit" :actCodeData="detailCode">
<template #typeCode>
<el-form-item label="活码类型" :rules="[{ required: true, message: '请选择活码类型', trigger: 'blur' }]">
<el-radio-group v-model="form.hmType" @change="changeEvent">
......@@ -18,18 +18,16 @@
<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 == 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>
</el-form-item>
</template>
</setActCode>
</div>
</template>
<script>
import setActCode from '@/views/salesleads/components/actCodeSet.vue';
import SelectClerk from '../../components/select-clerk/index.vue';
import { getRequest, postRequest } from '@/api/api';
import { getRequest, postJsonRequest } from '@/api/api';
export default {
components: { setActCode, SelectClerk },
data() {
......@@ -63,6 +61,7 @@ export default {
}
},
onChange(data) {
console.log(data, 'data');
this.data = data;
this.form.clerkIdList = data.map(item => {
return item.clerkId;
......@@ -76,15 +75,16 @@ export default {
},
async getActCodeInfo() {
const that = this;
if (this.$route.query.hmId) return;
that.loading = true;
await getRequest('/hm/qrcode/detail', { hmId: this.$route.query.hmId }).then(res => {
this.detailCode = res.data;
console.log(this.detailCode, 'detailcode');
that.loading = false;
});
if (this.$route.query.hmId) {
await getRequest('/hm/qrcode/detail', { hmId: this.$route.query.hmId }).then(res => {
this.detailCode = res.data;
console.log(this.detailCode, 'detailcode');
that.loading = false;
});
}
},
onSubmit(event) {
async onSubmit(event) {
let obj = {
...event,
...this.form
......@@ -96,18 +96,29 @@ export default {
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 {
// 新增
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 = {
hmType: 1,
name: '',
clerkIdList: [],
hmUserNum: null //多人活码人数
};
// this.$router.go(-1);
}
}
};
......
......@@ -17,7 +17,7 @@
</el-form-item>
<el-form-item label="活码标签">
<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>
<dm-sub-title text="欢迎语设置" type="line" class="mt40b20" />
<welcomeItem @getWelcomeId="getWelcomeId"></welcomeItem>
......@@ -62,9 +62,9 @@ export default {
hmGroupId: null, //活码分组id
passFlag: 1, // 1自动通过 0否
memberLabelId: '', //会员活动标签id
welcomeId: null, // 欢迎语id
welcomeId: null // 欢迎语id
// clerkIdList: '', // 选择导购id
storeId: '' //门店id
// storeId: '' //门店id
// hmUserNum: null //多人活码人数
},
rules: {
......@@ -75,9 +75,10 @@ export default {
pageParam: {
groupName: '',
pageNum: 1,
pageSize: 20,
total: 1
pageSize: 20
},
total: 1,
groupList: [],
data: ''
};
......@@ -91,7 +92,7 @@ export default {
this.data = data;
},
onLoadmore() {
if (this.pageParam.pageNum >= this.pageParam.total) return;
if (this.pageParam.pageNum >= this.total) return;
this.pageParam.pageNum++;
this.searchGroup();
},
......@@ -102,14 +103,12 @@ export default {
await getRequest('/haoban-manage3-web/hm/group/list', this.pageParam).then(res => {
if (res.data.code == 0) {
const { result, pages } = res.data.result || {};
this.pageParam.total = pages || 1;
// console.log(this.groupList, 'list');
this.total = pages || 1;
if (this.pageParam.groupName != '') {
this.groupList = result;
} else if (Array.isArray(result)) {
this.groupList = this.groupList.concat(result);
}
// console.log(this.groupList, 909090);
}
});
},
......@@ -137,6 +136,7 @@ export default {
this.$refs.form.validate(async valid => {
if (valid) {
console.log(this.form, '子组件');
this.form.passFlag = this.form.passFlag ? 1 : 0;
this.$emit('sumbit', this.form);
}
});
......
......@@ -2,15 +2,15 @@
<div>
<el-row>
<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.clerkSearch" 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.clerkSelect" prefix-icon="el-icon-search"></el-input>
</div>
<div class="rightBox">
<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>
</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>
</el-row>
<el-table class="mt18" :data="tableData" @sort-change="sortChange">
......@@ -47,7 +47,7 @@
</template>
</el-table-column>
</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>
</template>
......@@ -76,15 +76,17 @@ export default {
],
tableData: [],
pageParam: {
hmId: '',
linkId: '',
startTime: '',
endTime: '',
storeSearch: '',
clerkSearch: '',
pageNum: 1,
pageSize: 20,
orderByField: ''
inFields: {
hmId: '',
linkId: '',
startTime: '',
endTime: '',
storeSelect: '',
clerkSelect: '',
orderByField: 'addNumT desc'
},
pageNo: 1,
pageSize: 20
},
dateDefault: [],
totalCount: 0,
......@@ -109,7 +111,6 @@ export default {
start = start > start2 ? start : start2;
end2 = end2.setMonth(end2.getMonth() + 6);
end = end.getTime() > end2 ? end2 : end.getTime();
// console.log('end2', end2, end);
} else {
start = start.setFullYear(start.getFullYear() - 2);
end = end.getTime();
......@@ -121,9 +122,9 @@ export default {
};
},
created() {
this.getTableList();
// 默认显示近七天
this.btnChange(0);
this.getTableList();
},
methods: {
getDateRange(setEndDate) {
......@@ -180,39 +181,47 @@ export default {
const [start, end] = this.getDateRange(setDate);
this.dateDefault.push(end);
this.dateDefault.push(start);
this.getTableList();
},
onDateChange() {
this.active = -1;
if (this.dateDefault.length) this.getTableList();
},
// 当前页变化
handleCurrentChange(val) {
this.pageParam.pageNum = val;
sessionStorage.setItem('pageNum', val);
this.pageParam.pageNo = val;
sessionStorage.setItem('pageNo', val);
},
// 页码
handleSizeChange(val) {
this.pageParam.pageNum = 1;
this.pageParam.pageNo = 1;
this.pageParam.pageSize = val;
this.getTableList();
},
// 排序
sortChange(column, prop, order) {
sortChange(column) {
const that = this;
that.sortColumn = column.property;
that.sortColumn = column.prop;
that.sortType = column.order == 'ascending' ? 'asc' : 'desc';
that.pageParam.orderByField = [that.sortColumn, that.sortType];
this.pageParam.inFields.orderByField = `${that.sortColumn} ${that.sortType}`;
that.getTableList();
},
// 列表数据
async getTableList() {
this.pageParam.startTime = this.dateDefault ? Date.parse(new Date(this.dateDefault[0]).toString()) : '';
this.pageParam.endTime = this.dateDefault ? Date.parse(new Date(this.dateDefault[1]).toString()) : '';
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.hmId = this.$route.query.id;
delete this.pageParam.linkId;
this.pageParam.inFields.hmId = Number(this.$route.query.id);
delete this.pageParam.inFields.linkId;
} else if (this.$route.query.id && this.typeT == 'link') {
this.pageParam.linkId = this.$route.query.id;
delete this.pageParam.hmId;
this.pageParam.inFields.linkId = Number(this.$route.query.id);
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 => {
if (res.code == 0) {
......
......@@ -2,7 +2,7 @@
<div>
<el-row>
<el-col :span="17">
<el-form-item label="活码类型">
<el-form-item label="活码类型" @change="radioChange">
<el-radio-group v-model="welcomesType">
<el-radio :label="1">活码欢迎语</el-radio>
<el-radio :label="2">不发送欢迎语</el-radio>
......@@ -23,7 +23,7 @@
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.search"></el-input>
<el-button plain class="ylbtn" @click="changeRoute">新建欢迎语</el-button>
</div>
<el-table :data="welcomeTableData">
<el-table :data="welcomeTableData" 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>
......@@ -72,7 +72,7 @@ export default {
welcomePage: {
wxEnterpriseId: sessionStorage.getItem('userInfos') ? JSON.parse(sessionStorage.getItem('userInfos')).wxEnterpriseId : '',
title: '',
type: 2,
type: 1,
pageNum: 1,
pageSize: 4
},
......@@ -88,6 +88,7 @@ export default {
// 当前页变化
handleCurrentChange(val) {
this.welcomePage.pageNum = val;
this.welcome = '';
this.getWelcomeTable();
},
// 选择欢迎语列表数据
......@@ -99,14 +100,23 @@ export default {
},
// 新建欢迎语
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) {
// 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值
this.templateSelection = row;
this.welcomeContent = row.welcomeContent;
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