feature_0521
root 5 years ago
parent 70244c75aa
commit 7bfeb88b02

@ -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>

@ -31,7 +31,8 @@
action=""
style="display: inline-block;">
<div style="width: 200px;height:200px;line-height: 200px;">
<span>请上传图片</span>
<span v-if="!formValidate.logo"></span>
<img v-if="formValidate.logo" :src="formValidate.logo" alt="" style="width: 100%; height: auto">
</div>
</Upload>
</FormItem>
@ -71,6 +72,7 @@
</template>
<script>
import ActivityManager from "../../services/ActivityManager/ActivityManager";
import axios from 'axios';
export default {
name: "addActivity",
data() {
@ -84,7 +86,8 @@ export default {
activityName: '',
activityDsc: '',
appId: '',
uri: ''
uri: '',
logo: '',
},
ruleValidate: {
activityName: [
@ -161,10 +164,22 @@ export default {
debugger
this.imageName = file.name
},
handleBeforeUpload(res, file) {
let data = new FormData()
data.append('file', res.name)
ActivityManager.uploadImg(data, function (data) {
handleBeforeUpload(res) {
const me = this;
let data = new FormData();
data.append('file', res);
axios({
method: 'post',
url: '/upload',
data: data,
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(function (res) {
console.log(res);
if (res.data.success) {
me.formValidate.logo = res.data.results;
}
})
},
next() {

Loading…
Cancel
Save