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);
......@@ -2,29 +2,32 @@
<section>
<el-form inline>
<el-form-item>
<el-input placeholder="请输入活码ID/名称、创建人" style="width: 300px" @change="searchList" v-model="searchForm.keyword">
<el-input placeholder="请输入活码ID/名称、创建人" style="width: 300px" @change="searchList" v-model="inFields.hmSelect">
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
</el-form-item>
<el-form-item>
<el-select v-model="storeSearch" placeholder="请选择" style="width: 128px" @change="searchList">
<el-select v-model="storeSelect" placeholder="请选择" style="width: 128px" @change="storeMemberSe">
<el-option label="成员所属门店" :value="1"></el-option>
<el-option label="使用成员" :value="2"></el-option>
</el-select>
<el-select v-model="searchForm.storeSearch" filterable remote :placeholder="`请输入${storeSearch == 1 ? '门店名称' : '成员姓名'} / code`" :remote-method="remoteMethods" :loading="selectLoading" @change="searchList" style="margin-left: -4px; width:196px;">
<el-option v-for="item in memberOrShopList" :key="item.value" :label="item.label" :value="item.value"> </el-option>
<el-select v-model="inFields.storeSelect" v-if="storeSelect == 1" filterable remote placeholder="请输入门店名称/code" :remote-method="remoteMethods" :loading="selectLoading" v-loadmore="onLoadmoreStore" @change="searchList" style="margin-left: -4px; width:196px;">
<el-option v-for="item in shopList" :key="item.storeId" :label="item.storeName" :value="item.storeCode"> </el-option>
</el-select>
<el-select v-model="inFields.clerkSelect" v-if="storeSelect == 2" filterable remote placeholder="请输入成员名称/code" :loading="selectLoading" @change="searchList" style="margin-left: -4px; width:196px;">
<el-option v-for="item in memberList" :key="item.clerkId" :label="item.clerkName" :value="item.clerkCode"> </el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="searchForm.statusFlag" placeholder="全部状态" clearable class="w160" @change="searchList">
<!-- <el-option :key="0" label="删除" :value="0"> </el-option> -->
<el-select v-model="inFields.statusFlagInt" placeholder="全部状态" clearable class="w160" @change="searchList">
<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>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="searchForm.hmType" placeholder="全部类型" clearable class="w160" @change="searchList">
<el-select v-model="inFields.hmTypeInt" placeholder="全部类型" clearable class="w160" @change="searchList">
<el-option :key="0" label="单人活码" :value="0"> </el-option>
<el-option :key="1" label="多人活码" :value="1"> </el-option>
</el-select>
......@@ -38,8 +41,8 @@
<el-button type="primary" @click="$router.push('/actCodeAdd')">新增活码</el-button>
</el-form-item>
</el-form>
<el-table ref="actCodeTableRef" v-loading="loadingStatus" :data="actCodeList" tooltip-effect="dark" class="act-code-table" @sort-change="sortChange" :max-height="tableMaxHeight">
<!-- @select="selectTable" -->
<el-table ref="actCodeTableRef" v-loading="loadingStatus" :data="tableData" class="act-code-table" @sort-change="sortChange">
<!-- @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>
<template #header>
......@@ -53,41 +56,44 @@
</el-table-column>
<el-table-column label="活码信息" width="100">
<template slot-scope="{ row }">
<p class="overflow-ellipsis" :title="row.name">{{ row.name ? row.name : '--' }}</p>
<p><span class="oneActCode" v-if="row.hmType == 1">单人活码</span><span class="moreActCOde" v-else>多人活码</span></p>
<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>
</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 == 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>
</template>
</el-table-column>
<el-table-column label="添加好友人数" sortable="custom" width="150">
<el-table-column label="添加好友人数" prop="addNum" sortable="custom" width="150">
<template slot-scope="{ row }">
<p>{{ row.addNum ? row.addNum : '--' }}</p>
<p>{{ row.addNum == null ? row.addNum : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="今日新增人数" sortable="custom" width="150">
<el-table-column label="今日新增人数" prop="addNumT" sortable="custom" width="150">
<template slot-scope="{ row }">
<p>{{ row.addNum ? row.addNum : '--' }}</p>
<p>{{ row.addNumT == null ? row.addNumT : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="使用成员" width="120">
<template slot-scope="{ row }">
<p>{{ row.clerkName ? row.clerkName : '--' }}</p>
<p class="ft-12 phone">{{ row.clerCode ? row.clerCode : '--' }}</p>
<p class="ft-12 phone">{{ row.clerkCode == null ? row.clerkCode : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="成员所属门店" width="120">
<template slot-scope="{ row }">
<p>{{ row.storeName ? row.storeName : '--' }}</p>
<p class="ft-12 phone">{{ row.storeCode ? row.storeCode : '--' }}</p>
<p class="ft-12 phone">{{ row.storeCode == null ? row.storeCode : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="所属分组" width="100" show-overflow-tooltip>
<template slot-scope="{ row }">
<p>{{ row.hmGroupId ? row.hmGroupId : '--' }}</p>
<p>{{ row.hmGroupId == null ? row.hmGroupId : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="创建人" width="100">
......@@ -95,42 +101,46 @@
<p>{{ row.creatorName ? row.creatorName : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="创建时间" sortable="custom" width="120">
<el-table-column label="创建时间" prop="createTime" sortable="custom" width="110">
<template slot-scope="{ row }">
<p>{{ row.createTime ? row.createTime : '--' }}</p>
</template>
</el-table-column>
<el-table-column label="操作" width="300" fixed="right">
<template slot-scope="{ row }">
<dm-dropdown :scope-data="row" :configs="operateBtnArr" :max="5" @command="onCommand" />
<dm-dropdown :scope-data="row" :configs="operateBtnArr" :max="5" />
</template>
</el-table-column>
</el-table>
<div class="block common-wrap__page text-right m-t-24" v-if="actCodeList.length != 0">
<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 class="block common-wrap__page text-right m-t-24" v-if="tableData.length">
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-size.sync="pageParam.pageSize" :current-page.sync="pageParam.pageNum" layout="total, sizes, prev, pager, next, jumper" :page-sizes="[20, 40, 60, 80]" :total="totalCount"> </el-pagination>
</div>
<el-dialog title="选择分组" :visible.sync="dialogGroupFormVisible" width="25%">
<el-form :model="formGroup">
<el-form-item label="活动区域" :rules="[{ required: true, message: '请选择分组', trigger: 'blur' }]">
<el-select v-model="formGroup.groupList" placeholder="选择分组" v-loadmore="onLoadmore" remote filterable :remote-method="remoteMethod" @visible-change="visibleChange">
<el-select v-model="formGroup.groupId" placeholder="选择分组" v-loadmore="onLoadmore" remote filterable :remote-method="remoteMethod" @visible-change="visibleChange" clearable>
<el-option v-for="item in groupList" :key="item.groupId" :label="item.groupName" :value="item.groupId"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogGroupFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogGroupFormVisible = false">确 定</el-button>
<el-button type="primary" @click="batchOK">确 定</el-button>
</div>
</el-dialog>
<links :src="wxQrcode" :show.sync="show" :imageName="imageName" />
</section>
</template>
<script>
import { actCodeListApi } from '@/api/actCode.js';
// import errMsg from '@/common/js/error';
import { deleteRequest, getRequest, postJsonRequest } from '@/api/api';
import links from '@/components/common/links';
import { deleteRequest, getRequest, postRequest, postJsonRequest } from '@/api/api';
export default {
name: 'actCodeTable',
components: {
links
},
directives: {
loadmore: {
inserted(el, binding) {
......@@ -151,19 +161,22 @@ export default {
}
},
data() {
let tableMaxHeight = document.body.clientHeight - 312 + 'px';
// let tableMaxHeight = document.body.clientHeight - 312 + 'px';
return {
tableMaxHeight: tableMaxHeight,
searchForm: {
keyword: '',
searchInfo: '',
statusFlag: '',
storeSearch: '',
hmType: '',
createTimeStart: '',
createTimeEnd: ''
},
storeSearch: 1,
// tableMaxHeight: tableMaxHeight,
inFields: {
// hmId: null,
hmSelect: '',
statusFlagInt: '',
storeSelect: '',
clerkSelect: '',
hmTypeInt: '',
startTime: '',
endTime: '',
orderByField: 'createTime desc',
hmGroupId: 0
},
storeSelect: 1,
dateTime: [],
tableData: [],
total: 1,
......@@ -172,113 +185,7 @@ export default {
type: 0,
dataReady: false
},
actCodeList: [
{
hmId: 1,
hmType: 1,
statusFlag: 1,
useMember: [
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 123132132222222222222,
hmType: 1,
statusFlag: 2,
useMember: [
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 12313213,
statusFlag: 3,
useMember: [
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 12313213,
hmType: 1,
statusFlag: 1,
useMember: [
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 12313213,
statusFlag: 2,
useMember: [
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 12313213,
statusFlag: 2,
useMember: [
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
}
]
},
{
hmId: 12313213,
statusFlag: 2,
useMember: [
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
},
{
name: 'text'
}
]
}
],
actCodeList: [],
loadingStatus: false,
pickerOptions: {
disabledDate: time => {
......@@ -291,29 +198,30 @@ export default {
text: '数据',
visible: true,
handler: row => {
this.$router.push(`/actCodeDetail?hmId=${row.hmId}`);
this.$router.push('/actCodeDetail?id=' + row.hmId);
}
},
{
text: '详情',
visible: true,
handler: row => {
this.$router.push(`/actCodeDetail?hmId=${row.hmId}`);
this.$router.push('/actCodeDetail?hmId=' + row.hmId);
}
},
{
text: '编辑',
visible: true,
handler: row => {
console.log(row, 77);
this.$router.push(`/actCodeEdit?hmId=${row.hmId}`);
this.$router.push('/actCodeEdit?hmId=' + row.hmId);
}
},
{
text: '下载活码',
visible: true,
handler: row => {
console.log(row);
this.wxQrcode = row.wxQrcode;
this.imageName = `${row.hmId}_${row.name}`;
this.show = true;
}
},
{
......@@ -325,22 +233,19 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteRequest('/hm/qrcode/del', { hmId: row.hmId }).then(res => {});
deleteRequest('/haoban-manage3-web/hm/qrcode/del', { hmId: row.hmId }).then(res => {
if (res.data.code == 0) {
this.getTableList();
}
console.log(res, 'delrte');
});
});
}
}
],
selectLoading: false,
memberOrShopList: [
{
value: 1,
label: '测试1'
},
{
value: 2,
label: '测试2'
}
],
memberList: [],
shopList: [],
// 分页参数
pageParam: {
pageSize: 20,
......@@ -352,7 +257,7 @@ export default {
selectHmIds: [],
dialogGroupFormVisible: false,
formGroup: {
groupList: []
groupId: []
},
groupList: [],
pageParamGroup: {
......@@ -361,7 +266,17 @@ export default {
pageSize: 20,
total: 1
},
name: ''
name: '1',
storeParam: {
searchParam: '',
pageSize: 20,
currentPage: 1,
scenes: 'integral',
creatorId: '',
total: 1
},
wxQrcode: '',
show: false
};
},
created() {
......@@ -371,25 +286,54 @@ export default {
this.getStore();
},
methods: {
// 获取导购列表数据
async getStraff() {
await postJsonRequest(`/api-plug/search-clerk?type=2`, { name: this.name });
storeMemberSe(e) {
if (e == 1) {
this.inFields.clerkSelect = '';
} else if (e == 2) {
this.inFields.storeSelect = '';
}
},
onLoadmoreStore() {
if (this.storeParam.currentPage >= this.storeParam.total) return;
this.storeParam.currentPage++;
this.getStore();
},
async getStore() {
const obj = {
searchParam: '',
pageSize: 20,
currentPage: 1,
scenes: 'integral',
creatorId: ''
};
await postJsonRequest(`/api-plug/query-store-by-code-name-new?requestProject=haoban-manage-web`, obj);
await postRequest(`/api/api-plug/query-store-by-code-name-new?requestProject=haoban-manage-web`, this.storeParam).then(res => {
if (res.data.errorCode == 0) {
this.storeParam.total = res.data.totalCount;
if (Array.isArray(res.data.result.result)) {
this.shopList = this.shopList.concat(res.data.result.result);
}
}
});
},
// 门店远程搜索
remoteMethods(query) {
if (query !== '') {
this.storeParam.searchParam = query;
this.storeParam.currentPage = 1;
this.shopList = [];
this.getStore();
} else {
this.shopList = [];
}
},
// 获取导购列表数据
async getStraff() {
await postRequest(`/api/api-plug/search-clerk?type=2`, { name: this.name }).then(res => {
if (res.data.errorCode == 0) {
this.memberList = res.data.result || [];
}
});
},
// 分组加载更多
onLoadmore() {
if (this.pageParamGroup.pageNum >= this.pageParamGroup.total) return;
this.pageParamGroup.pageNum++;
this.searchGroup();
},
// 分组列表
async searchGroup() {
if (this.pageParamGroup.pageNum == 1) {
this.groupList = [];
......@@ -398,7 +342,6 @@ export default {
if (res.data.code == 0) {
const { result, pages } = res.data.result || {};
this.pageParamGroup.total = pages;
// console.log(this.groupList, 'list');
if (Array.isArray(result)) {
this.groupList = this.groupList.concat(result);
}
......@@ -422,13 +365,12 @@ export default {
}
},
// 表格选中事件
// selectTable(selection, row) {
// console.log(selection);
// this.selectHmIds = selection.map(item => {
// return item.hmId;
// });
// console.log(this.selectHmIds, 'iss');
// },
handleSelectionChange(val) {
this.multipleSelection = val;
this.selectHmIds = val.map(item => {
return item.hmId;
});
},
// 批量分组
batchGoupEvent() {
if (this.selectHmIds.length == 0) {
......@@ -437,13 +379,16 @@ export default {
this.dialogGroupFormVisible = true;
}
},
onCommand() {
console.log('hello');
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.selectHmIds = val.map(item => {
return item.hmId;
async batchOK() {
const obj = {
hmIds: this.selectHmIds,
groupId: this.formGroup.groupId
};
await postJsonRequest('/haoban-manage3-web/hm/qrcode/update/qrcode/group', obj).then(res => {
if (res.data.code == 0) {
this.dialogGroupFormVisible = false;
this.$router.go(0);
}
});
},
// 当前页变化
......@@ -457,14 +402,11 @@ export default {
this.pageParam.pageSize = val;
this.getTableList();
},
remoteMethods(query) {
console.log(query);
},
// 排序
sortChange(column) {
const that = this;
that.sortColumn = column.prop;
that.sortType = column.order == 'ascending' ? 'asc' : 'desc';
this.sortColumn = column.prop;
this.sortType = column.order == 'ascending' ? 'asc' : 'desc';
this.inFields.orderByField = `${this.sortColumn} ${this.sortType}`;
this.getTableList();
},
searchList() {
......@@ -474,54 +416,43 @@ export default {
getTableList() {
this.loadingStatus = true;
if (this.dateTime && this.dateTime.length) {
this.searchForm.createTimeStart = this.dateTime ? Date.parse(new Date(this.dateTime[0]).toString()) : '';
this.searchForm.createTimeEnd = this.dateTime ? Date.parse(new Date(this.dateTime[1]).toString()) : '';
this.inFields.startTime = this.dateTime ? Date.parse(new Date(this.dateTime[0]).toString()) : '';
this.inFields.endTime = this.dateTime ? Date.parse(new Date(this.dateTime[1]).toString()) : '';
}
this.searchForm = {
...this.searchForm
};
if (this.currentGroupId != null) {
this.searchForm = {
...this.searchForm,
hmGroupId: this.currentGroupId
};
this.inFields.hmGroupId = Number(this.currentGroupId);
}
if (this.inFields.hmSelect == '') {
delete this.inFields.hmSelect;
}
if (this.inFields.storeSelect == '') {
delete this.inFields.storeSelect;
}
if (this.inFields.clerkSelect == '') {
delete this.inFields.clerkSelect;
}
// delete this.searchForm.dateTime;
actCodeListApi(Object.assign({}, this.searchForm, this.pageParam))
if (this.inFields.startTime == '') {
delete this.inFields.startTime;
}
if (this.inFields.endTime == '') {
delete this.inFields.endTime;
}
const obj = {
inFields: this.inFields,
...this.pageParam
};
console.log(obj, 'obj');
actCodeListApi(obj)
.then(res => {
this.totalCount = res.data.result.totalCount || 0;
if (res.data.result.result.length && Array.isArray(res.data.result.result)) {
this.tableData = [].concat(res.data.result.result);
} else {
this.tableData = [];
if (res.data.code == 0) {
this.tableData = res.data.result.data || [];
this.totalCount = res.data.result.page.totalCount;
}
})
.finally(_ => {
this.loadingStatus = false;
});
}
// discardCode(id) {
// const that = this;
// that.loading = true;
// const aa = deleteRequest('/hm/qrcode/del', { hmId: id });
// return console.log(aa, 'aa');
// .then(res => {
// let resData = res.data;
// that.loading = false;
// if (resData.errorCode == 1) {
// that.getActCodeInfo();
// return;
// }
// errMsg.errorMsg(resData);
// })
// .cash(function(error) {
// that.$message.error({
// duration: 1000,
// message: error.message
// });
// });
// }
},
watch: {
currentGroupId: {
......
<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;
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: {
inFields: {
hmId: '',
linkId: '',
startTime: '',
endTime: '',
storeSearch: '',
clerkSearch: '',
pageNum: 1,
pageSize: 20,
orderByField: ''
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