feature_0521
郑皇 5 years ago
parent 3acf0dd4e6
commit a5d7e15f06

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

@ -5,7 +5,7 @@
* @company kiisoo * @company kiisoo
*/ */
import roter from '../router' import roter from "../router";
// import store from '../store' // import store from '../store'
/** /**
@ -13,11 +13,21 @@ import roter from '../router'
* @author dexiang.jiang * @author dexiang.jiang
* @date 2019/04/18 11:19 * @date 2019/04/18 11:19
*/ */
export function goToLogin(){ export function goToLogin() {
// store.commit("LOGOUT"); // store.commit("LOGOUT");
roter.push('/login'); roter.push("/login");
} }
export default { export function formatDate(dt) {
goToLogin dt = new Date(dt);
let year = dt.getFullYear();
let month = dt.getMonth() + 1;
let day = dt.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
return year + "-" + month + "-" + day;
} }
export default {
goToLogin,
};

Loading…
Cancel
Save