|
|
|
@ -1,183 +1,226 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<Form ref="formValidate" :model="formValidate" :label-width="80">
|
|
|
|
|
<Row>
|
|
|
|
|
<i-col span="6">
|
|
|
|
|
<FormItem label="零售公司" prop="">
|
|
|
|
|
<Select v-model="formValidate.companyData" filterable placeholder="全部" clearable>
|
|
|
|
|
<Option v-for="(item,index) in companyList" :key="index" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="6">
|
|
|
|
|
<FormItem label="店铺" prop="">
|
|
|
|
|
<Select v-model="formValidate.shopData" filterable placeholder="全部" clearable>
|
|
|
|
|
<Option v-for="(item,index) in shopList" :key="index" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="4">
|
|
|
|
|
<FormItem label="活动状态" prop="">
|
|
|
|
|
<Select v-model="formValidate.activityStatus">
|
|
|
|
|
<Option v-for="(item,index) in activityStatusList" :key="index" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="7">
|
|
|
|
|
<FormItem label="选择日期" prop="">
|
|
|
|
|
<Date-picker format="yyyy-MM-dd" :value="formValidate.date" type="daterange" placement="bottom-end" placeholder="选择日期区间"></Date-picker>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="1">
|
|
|
|
|
<Button type="primary" @click="getActivityTable">查询</Button>
|
|
|
|
|
</i-col>
|
|
|
|
|
</Row>
|
|
|
|
|
<Row style="margin-top:50px">
|
|
|
|
|
<Table border :columns="columns1" :data="activityData"></Table>
|
|
|
|
|
</Row>
|
|
|
|
|
</Form>
|
|
|
|
|
<Form ref="formValidate" :model="formValidate" :label-width="80">
|
|
|
|
|
<Row>
|
|
|
|
|
<i-col span="6">
|
|
|
|
|
<FormItem label="零售公司" prop="">
|
|
|
|
|
<Select v-model="formValidate.companyData" filterable placeholder="全部" clearable>
|
|
|
|
|
<Option v-for="(item,index) in companyList" :key="index" :value="item.value">{{ item.label
|
|
|
|
|
}}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="6">
|
|
|
|
|
<FormItem label="店铺" prop="">
|
|
|
|
|
<Select v-model="formValidate.shopData" filterable placeholder="全部" clearable>
|
|
|
|
|
<Option v-for="(item,index) in shopList" :key="index" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="4">
|
|
|
|
|
<FormItem label="活动状态" prop="">
|
|
|
|
|
<Select v-model="formValidate.activityStatus">
|
|
|
|
|
<Option v-for="(item,index) in activityStatusList" :key="index" :value="item.value">{{
|
|
|
|
|
item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="7">
|
|
|
|
|
<FormItem label="选择日期" prop="">
|
|
|
|
|
<Date-picker :value="formValidate.date" type="daterange" placement="bottom-end"
|
|
|
|
|
placeholder="选择日期区间"></Date-picker>
|
|
|
|
|
</FormItem>
|
|
|
|
|
</i-col>
|
|
|
|
|
<i-col span="1">
|
|
|
|
|
<Button type="primary" @click="searchTable">查询</Button>
|
|
|
|
|
</i-col>
|
|
|
|
|
</Row>
|
|
|
|
|
<Row style="margin-top:50px">
|
|
|
|
|
<Table border :columns="columns1" :data="data"></Table>
|
|
|
|
|
<Page :total="totalSize" :current="pageNum" :page-size="pageSize" show-elevator show-total
|
|
|
|
|
placement="top" @on-change="handlePage" class-name="ks-page"></Page>
|
|
|
|
|
</Row>
|
|
|
|
|
</Form>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import ActivityManager from "../../services/ActivityManager/ActivityManager";
|
|
|
|
|
export default {
|
|
|
|
|
name: "ActivityPlan",
|
|
|
|
|
inject: ['setMenuName'],
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
companyList: [],
|
|
|
|
|
shopList: [],
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
formValidate: {
|
|
|
|
|
date: [],
|
|
|
|
|
companyData: '',
|
|
|
|
|
shopData: '',
|
|
|
|
|
activityStatus: '进行中',
|
|
|
|
|
},
|
|
|
|
|
activityData:[{
|
|
|
|
|
activityStatus: '进行中'
|
|
|
|
|
},{
|
|
|
|
|
activityStatus: '已结束'
|
|
|
|
|
}],
|
|
|
|
|
activityStatusList: [{
|
|
|
|
|
label: '全部',
|
|
|
|
|
value: '全部'
|
|
|
|
|
},{
|
|
|
|
|
label: '进行中',
|
|
|
|
|
value: '2'
|
|
|
|
|
},{
|
|
|
|
|
label: '未开始',
|
|
|
|
|
value: '1'
|
|
|
|
|
},{
|
|
|
|
|
label: '已结束',
|
|
|
|
|
value: '3'
|
|
|
|
|
}],
|
|
|
|
|
columns1: [{
|
|
|
|
|
import ActivityManager from "../../services/ActivityManager/ActivityManager";
|
|
|
|
|
import http from '../../services/CommonHttp'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "ActivityPlan",
|
|
|
|
|
inject: ['setMenuName'],
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
totalSize: 0,
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
data: [],
|
|
|
|
|
companyList: [],
|
|
|
|
|
shopList: [],
|
|
|
|
|
activityStatus: '进行中',
|
|
|
|
|
formValidate: {
|
|
|
|
|
date: '',
|
|
|
|
|
companyData: '',
|
|
|
|
|
shopData: '',
|
|
|
|
|
activityStatus: '进行中',
|
|
|
|
|
},
|
|
|
|
|
activityData: [{
|
|
|
|
|
activityStatus: '进行中'
|
|
|
|
|
}, {
|
|
|
|
|
activityStatus: '已结束'
|
|
|
|
|
}],
|
|
|
|
|
activityStatusList: [{
|
|
|
|
|
label: '全部',
|
|
|
|
|
value: '全部'
|
|
|
|
|
}, {
|
|
|
|
|
label: '进行中',
|
|
|
|
|
value: '进行中'
|
|
|
|
|
}, {
|
|
|
|
|
label: '未开始',
|
|
|
|
|
value: '未开始'
|
|
|
|
|
}, {
|
|
|
|
|
label: '已结束',
|
|
|
|
|
value: '已结束'
|
|
|
|
|
}],
|
|
|
|
|
columns1: [{
|
|
|
|
|
type: 'index',
|
|
|
|
|
width: 60,
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动名称',
|
|
|
|
|
key: 'activityName'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动类型',
|
|
|
|
|
key: 'activityStyle'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动时间',
|
|
|
|
|
key: 'activityDate'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '零售公司',
|
|
|
|
|
key: 'company'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '店铺',
|
|
|
|
|
key: 'shop'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '添加好友数',
|
|
|
|
|
key: 'addFriendNum'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '参与活动客户数',
|
|
|
|
|
key: 'joinActivityClientNum'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动码',
|
|
|
|
|
key: 'activityCode'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动状态',
|
|
|
|
|
key: 'activityStatus'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '操作',
|
|
|
|
|
key: 'action',
|
|
|
|
|
render () {
|
|
|
|
|
return `<Button type="text" size="small">终止</Button><Button type="text" size="small">修改</Button>`;
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
{
|
|
|
|
|
title: '活动名称',
|
|
|
|
|
key: 'name'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动类型',
|
|
|
|
|
key: 'scheduleVO.name',
|
|
|
|
|
render(h, params) {
|
|
|
|
|
return h("span", params.row['scheduleVO']['name']);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动开始时间',
|
|
|
|
|
key: 'beginTime'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动结束时间',
|
|
|
|
|
key: 'endTime'
|
|
|
|
|
},
|
|
|
|
|
// {
|
|
|
|
|
// title: '零售公司',
|
|
|
|
|
// key: 'company'
|
|
|
|
|
// },
|
|
|
|
|
{
|
|
|
|
|
title: '店铺',
|
|
|
|
|
key: 'shop',
|
|
|
|
|
render(h, params) {
|
|
|
|
|
return h("span", (params.row.stores.length || 0) + '家')
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '添加好友数',
|
|
|
|
|
key: 'addFriendNum',
|
|
|
|
|
render(h, params) {
|
|
|
|
|
return h("span", (params.row.friends || 0) + '人')
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '参与活动客户数',
|
|
|
|
|
key: 'joinActivityClientNum',
|
|
|
|
|
render(h, params) {
|
|
|
|
|
return h("span", (params.row.friends || 0) + '人')
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动码',
|
|
|
|
|
key: 'activityCode',
|
|
|
|
|
render(h) {
|
|
|
|
|
return h('Button', { props: { type: 'primary', size: 'small' } }, '查看详情')
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '活动状态',
|
|
|
|
|
key: 'status',
|
|
|
|
|
render(h, p) {
|
|
|
|
|
const status = p.row.status;
|
|
|
|
|
if (status === 1) return h('span', '未开始');
|
|
|
|
|
if (status === 2) return h('span', '进行中');
|
|
|
|
|
if (status === 3) return h('span', '已结束');
|
|
|
|
|
if (status === 4) return h('span', '取消');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '操作',
|
|
|
|
|
key: 'action',
|
|
|
|
|
width: 200,
|
|
|
|
|
render(h, p) {
|
|
|
|
|
return h('div',
|
|
|
|
|
[
|
|
|
|
|
h('Button', { props: { type: 'primary', size: 'small' }, style: { marginRight: '8px' }, on: { click: () => this.stop(p.row) } }, '终止'),
|
|
|
|
|
h('Button', { props: { type: 'primary', size: 'small' }, on: { click: () => this.modify(p.row) } }, '修改')
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.setMenuName("活动管理", "活动计划")
|
|
|
|
|
this.getCompanyInfo()
|
|
|
|
|
this.getShopInfo()
|
|
|
|
|
this.searchTable();
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
getCompanyInfo() {
|
|
|
|
|
let that = this
|
|
|
|
|
let data = {
|
|
|
|
|
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
|
|
|
|
|
}
|
|
|
|
|
ActivityManager.getCompany(data, function (data) {
|
|
|
|
|
that.companyList = []
|
|
|
|
|
data.data.results.forEach(element => {
|
|
|
|
|
that.companyList.push({
|
|
|
|
|
label: element.name,
|
|
|
|
|
value: element.id
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getShopInfo() {
|
|
|
|
|
let that = this
|
|
|
|
|
let data = {
|
|
|
|
|
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
|
|
|
|
|
}
|
|
|
|
|
ActivityManager.getShop(data, function (data) {
|
|
|
|
|
that.shopList = []
|
|
|
|
|
data.data.results.forEach(element => {
|
|
|
|
|
that.shopList.push({
|
|
|
|
|
label: element.name,
|
|
|
|
|
value: element.id
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handlePage: function (value) {
|
|
|
|
|
this.pageNum = value;
|
|
|
|
|
this.searchTable();
|
|
|
|
|
},
|
|
|
|
|
searchTable(params = {}) {
|
|
|
|
|
params.pageNum = this.pageNum;
|
|
|
|
|
params.pageSize = this.pageSize;
|
|
|
|
|
http.get('/activity/instance/list', params).then(res => {
|
|
|
|
|
const data = res.data.results.this || {};
|
|
|
|
|
this.data = data.list || [];
|
|
|
|
|
this.totalSize = data.total || 0;
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.setMenuName("活动管理", "活动计划")
|
|
|
|
|
this.getCompanyInfo()
|
|
|
|
|
this.getShopInfo()
|
|
|
|
|
// this.getActivityTable()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
getActivityTable() {
|
|
|
|
|
let that = this
|
|
|
|
|
console.log(that.formValidate.date)
|
|
|
|
|
debugger
|
|
|
|
|
let data = new FormData()
|
|
|
|
|
data.append('endDate', that.formValidate.date)
|
|
|
|
|
data.append('organizationId', that.formValidate.companyData)
|
|
|
|
|
data.append('pageNum', that.pageNum)
|
|
|
|
|
data.append('pageSize', that.pageSize)
|
|
|
|
|
data.append('startDate', that.formValidate.date)
|
|
|
|
|
data.append('startDate', that.formValidate.date)
|
|
|
|
|
ActivityManager.getActivityTableData(data, function (data) {
|
|
|
|
|
debugger
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getCompanyInfo() {
|
|
|
|
|
let that = this
|
|
|
|
|
let data = {
|
|
|
|
|
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
|
|
|
|
|
}
|
|
|
|
|
ActivityManager.getCompany(data, function (data) {
|
|
|
|
|
that.companyList = []
|
|
|
|
|
data.data.results.forEach(element => {
|
|
|
|
|
that.companyList.push({
|
|
|
|
|
label: element.name,
|
|
|
|
|
value: element.id
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getShopInfo() {
|
|
|
|
|
let that = this
|
|
|
|
|
let data = {
|
|
|
|
|
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
|
|
|
|
|
}
|
|
|
|
|
ActivityManager.getShop(data, function (data) {
|
|
|
|
|
that.shopList = []
|
|
|
|
|
data.data.results.forEach(element => {
|
|
|
|
|
that.shopList.push({
|
|
|
|
|
label: element.name,
|
|
|
|
|
value: element.id
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
|