feature_0521
root 6 years ago
parent 70244c75aa
commit 7bfeb88b02

@ -1,183 +1,226 @@
<template> <template>
<div> <div>
<Form ref="formValidate" :model="formValidate" :label-width="80"> <Form ref="formValidate" :model="formValidate" :label-width="80">
<Row> <Row>
<i-col span="6"> <i-col span="6">
<FormItem label="零售公司" prop=""> <FormItem label="零售公司" prop="">
<Select v-model="formValidate.companyData" filterable placeholder="全部" clearable> <Select v-model="formValidate.companyData" filterable placeholder="全部" clearable>
<Option v-for="(item,index) in companyList" :key="index" :value="item.value">{{ item.label }}</Option> <Option v-for="(item,index) in companyList" :key="index" :value="item.value">{{ item.label
</Select> }}
</FormItem> </Option>
</i-col> </Select>
<i-col span="6"> </FormItem>
<FormItem label="店铺" prop=""> </i-col>
<Select v-model="formValidate.shopData" filterable placeholder="全部" clearable> <i-col span="6">
<Option v-for="(item,index) in shopList" :key="index" :value="item.value">{{ item.label }}</Option> <FormItem label="店铺" prop="">
</Select> <Select v-model="formValidate.shopData" filterable placeholder="全部" clearable>
</FormItem> <Option v-for="(item,index) in shopList" :key="index" :value="item.value">{{ item.label }}
</i-col> </Option>
<i-col span="4"> </Select>
<FormItem label="活动状态" prop=""> </FormItem>
<Select v-model="formValidate.activityStatus"> </i-col>
<Option v-for="(item,index) in activityStatusList" :key="index" :value="item.value">{{ item.label }}</Option> <i-col span="4">
</Select> <FormItem label="活动状态" prop="">
</FormItem> <Select v-model="formValidate.activityStatus">
</i-col> <Option v-for="(item,index) in activityStatusList" :key="index" :value="item.value">{{
<i-col span="7"> item.label }}
<FormItem label="选择日期" prop=""> </Option>
<Date-picker format="yyyy-MM-dd" :value="formValidate.date" type="daterange" placement="bottom-end" placeholder="选择日期区间"></Date-picker> </Select>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="1"> <i-col span="7">
<Button type="primary" @click="getActivityTable"></Button> <FormItem label="选择日期" prop="">
</i-col> <Date-picker :value="formValidate.date" type="daterange" placement="bottom-end"
</Row> placeholder="选择日期区间"></Date-picker>
<Row style="margin-top:50px"> </FormItem>
<Table border :columns="columns1" :data="activityData"></Table> </i-col>
</Row> <i-col span="1">
</Form> <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> </div>
</template> </template>
<script> <script>
import ActivityManager from "../../services/ActivityManager/ActivityManager"; import ActivityManager from "../../services/ActivityManager/ActivityManager";
export default { import http from '../../services/CommonHttp'
name: "ActivityPlan",
inject: ['setMenuName'], export default {
data() { name: "ActivityPlan",
return { inject: ['setMenuName'],
companyList: [], data() {
shopList: [], return {
pageNum: 1, totalSize: 0,
pageSize: 10, pageNum: 1,
formValidate: { pageSize: 10,
date: [], data: [],
companyData: '', companyList: [],
shopData: '', shopList: [],
activityStatus: '进行中', activityStatus: '进行中',
}, formValidate: {
activityData:[{ date: '',
activityStatus: '进行中' companyData: '',
},{ shopData: '',
activityStatus: '已结束' activityStatus: '进行中',
}], },
activityStatusList: [{ activityData: [{
label: '全部', activityStatus: '进行中'
value: '全部' }, {
},{ activityStatus: '已结束'
label: '进行中', }],
value: '2' activityStatusList: [{
},{ label: '全部',
label: '未开始', value: '全部'
value: '1' }, {
},{ label: '进行中',
label: '已结束', value: '进行中'
value: '3' }, {
}], label: '未开始',
columns1: [{ value: '未开始'
}, {
label: '已结束',
value: '已结束'
}],
columns1: [{
type: 'index', type: 'index',
width: 60, width: 60,
align: 'center' align: 'center'
}, },
{ {
title: '活动名称', title: '活动名称',
key: 'activityName' key: 'name'
}, },
{ {
title: '活动类型', title: '活动类型',
key: 'activityStyle' key: 'scheduleVO.name',
}, render(h, params) {
{ return h("span", params.row['scheduleVO']['name']);
title: '活动时间', }
key: 'activityDate' },
}, {
{ title: '活动开始时间',
title: '零售公司', key: 'beginTime'
key: 'company' },
}, {
{ title: '活动结束时间',
title: '店铺', key: 'endTime'
key: 'shop' },
}, // {
{ // title: '',
title: '添加好友数', // key: 'company'
key: 'addFriendNum' // },
}, {
{ title: '店铺',
title: '参与活动客户数', key: 'shop',
key: 'joinActivityClientNum' render(h, params) {
}, return h("span", (params.row.stores.length || 0) + '家')
{ }
title: '活动码', },
key: 'activityCode' {
}, title: '添加好友数',
{ key: 'addFriendNum',
title: '活动状态', render(h, params) {
key: 'activityStatus' return h("span", (params.row.friends || 0) + '人')
}, }
{ },
title: '操作', {
key: 'action', title: '参与活动客户数',
render () { key: 'joinActivityClientNum',
return `<Button type="text" size="small">终止</Button><Button type="text" size="small">修改</Button>`; 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> </script>
<style scoped> <style scoped>

@ -31,7 +31,8 @@
action="" action=""
style="display: inline-block;"> style="display: inline-block;">
<div style="width: 200px;height:200px;line-height: 200px;"> <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> </div>
</Upload> </Upload>
</FormItem> </FormItem>
@ -71,6 +72,7 @@
</template> </template>
<script> <script>
import ActivityManager from "../../services/ActivityManager/ActivityManager"; import ActivityManager from "../../services/ActivityManager/ActivityManager";
import axios from 'axios';
export default { export default {
name: "addActivity", name: "addActivity",
data() { data() {
@ -84,7 +86,8 @@ export default {
activityName: '', activityName: '',
activityDsc: '', activityDsc: '',
appId: '', appId: '',
uri: '' uri: '',
logo: '',
}, },
ruleValidate: { ruleValidate: {
activityName: [ activityName: [
@ -161,10 +164,22 @@ export default {
debugger debugger
this.imageName = file.name this.imageName = file.name
}, },
handleBeforeUpload(res, file) { handleBeforeUpload(res) {
let data = new FormData() const me = this;
data.append('file', res.name) let data = new FormData();
ActivityManager.uploadImg(data, function (data) { 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() { next() {

Loading…
Cancel
Save