feature_0521
zhenghuang 5 years ago
parent d00e6e8752
commit ba8d3a8a48

@ -1,107 +1,105 @@
<template> <template>
<div> <div>
<Spin v-if="saving" fix>加载中...</Spin> <Spin v-if="saving"
<Form ref="formValidate" :model="formValidate" :label-width="80"> fix>加载中...</Spin>
<Form ref="formValidate"
:model="formValidate"
:label-width="80">
<Row :gutter="10"> <Row :gutter="10">
<i-col span="4"> <i-col span="4">
<FormItem label="开始日期" prop> <FormItem label="开始日期"
<Date-picker prop>
v-model="formValidate.startDate" <Date-picker v-model="formValidate.startDate"
:options='startDateOptions' :options='startDateOptions'
type="date" type="date"
placement="bottom-end" placement="bottom-end"
placeholder="选择日期区间" placeholder="选择日期区间"
format="yyyy-MM-dd" format="yyyy-MM-dd"
@on-change="startDateChange" @on-change="startDateChange"></Date-picker>
></Date-picker>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="4"> <i-col span="4">
<FormItem label="结束日期" prop> <FormItem label="结束日期"
<Date-picker prop>
v-model="formValidate.endDate" <Date-picker v-model="formValidate.endDate"
:options='endDateOptions' :options='endDateOptions'
type="date" type="date"
placement="bottom-end" placement="bottom-end"
placeholder="选择结束日期" placeholder="选择结束日期"
format="yyyy-MM-dd" format="yyyy-MM-dd"
@on-change="endDateChange" @on-change="endDateChange"></Date-picker>
></Date-picker>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="4"> <i-col span="4">
<FormItem label="零售公司" prop> <FormItem label="零售公司"
<Select prop>
v-model="formValidate.organizationId" <Select v-model="formValidate.organizationId"
filterable filterable
@on-change="selectCompany" @on-change="selectCompany"
placeholder="全部" placeholder="全部"
clearable clearable>
> <Option v-for="(item, index) in companyList"
<Option :key="index"
v-for="(item, index) in companyList" :value="item.value">{{ item.label }}</Option>
:key="index"
:value="item.value"
>{{ item.label }}</Option>
</Select> </Select>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="6"> <i-col span="6">
<FormItem label="店铺" prop> <FormItem label="店铺"
<Select v-model="formValidate.storeId" filterable placeholder="全部" clearable> prop>
<Option <Select v-model="formValidate.storeId"
v-for="(item, index) in shopList" filterable
:key="index" placeholder="全部"
:value="item.value" clearable>
>{{ item.label }}</Option> <Option v-for="(item, index) in shopList"
:key="index"
:value="item.value">{{ item.label }}</Option>
</Select> </Select>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="3"> <i-col span="3">
<FormItem label="活动状态" prop> <FormItem label="活动状态"
prop>
<Select v-model="formValidate.status"> <Select v-model="formValidate.status">
<Option <Option v-for="(item, index) in activityStatusList"
v-for="(item, index) in activityStatusList" :key="index"
:key="index" :value="item.value">{{ item.label }}</Option>
:value="item.value"
>{{ item.label }}</Option>
</Select> </Select>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="3"> <i-col span="3">
<Button type="primary" @click="() => {pageNum = 1;searchTable()}">查询</Button> <Button type="primary"
@click="() => {pageNum = 1;searchTable()}">查询</Button>
</i-col> </i-col>
</Row> </Row>
<Row style="margin-top:50px"> <Row style="margin-top:50px">
<Table <Table :loading="loading"
:loading="loading" border
border @on-row-dblclick="showDetail"
@on-row-dblclick="showDetail" :columns="columns1"
:columns="columns1" :data="data"></Table>
:data="data" <Page :total="totalSize"
></Table> :current="pageNum"
<Page :page-size="pageSize"
:total="totalSize" show-elevator
:current="pageNum" show-total
:page-size="pageSize" placement="top"
show-elevator @on-change="handlePage"
show-total class-name="ks-page"></Page>
placement="top"
@on-change="handlePage"
class-name="ks-page"
></Page>
</Row> </Row>
</Form> </Form>
<useTable <useTable ref="useTable"
ref="useTable" @doShow="doShow"
@doShow="doShow" :show="showUse"
:show="showUse" :isModify="true"
:isModify="true" :schedule="activityInstance.scheduleVO"></useTable>
:schedule="activityInstance.scheduleVO" <Modal v-model="isShowDetail"
></useTable> title="活动计划详情"
<Modal v-model="isShowDetail" title="活动计划详情" width="70%" :footer-hide="true"> width="70%"
<planDetail v-if="isShowDetail" :detail="detail"></planDetail> :footer-hide="true">
<planDetail v-if="isShowDetail"
:detail="detail"></planDetail>
</Modal> </Modal>
</div> </div>
</template> </template>
@ -120,7 +118,7 @@ export default {
useTable, useTable,
planDetail planDetail
}, },
data() { data () {
const _this = this; const _this = this;
return { return {
loading: false, loading: false,
@ -141,11 +139,11 @@ export default {
organizationId: null, organizationId: null,
storeId: null, storeId: null,
status: 2, status: 2,
startDate:null, startDate: null,
endDate:null, endDate: null,
}, },
startDateOptions:{}, startDateOptions: {},
endDateOptions:{}, endDateOptions: {},
activityData: [ activityData: [
{ {
activityStatus: "进行中" activityStatus: "进行中"
@ -177,7 +175,7 @@ export default {
width: 60, width: 60,
align: "center", align: "center",
title: "序号", title: "序号",
render(h, params) { render (h, params) {
let num = parseInt(params.index) + 1; let num = parseInt(params.index) + 1;
console.log(_this.pageSize); console.log(_this.pageSize);
if (_this.pageSize > 1) { if (_this.pageSize > 1) {
@ -193,7 +191,7 @@ export default {
{ {
title: "活动类型", title: "活动类型",
key: "scheduleVO.name", key: "scheduleVO.name",
render(h, params) { render (h, params) {
return h("span", params.row["params"][0]["name"]); return h("span", params.row["params"][0]["name"]);
} }
}, },
@ -201,54 +199,54 @@ export default {
title: "活动时间", title: "活动时间",
key: "beginTime", key: "beginTime",
width: 230, width: 230,
render(h, params) { render (h, params) {
return h("span", params.row.beginTime + " - " + params.row.endTime); return h("span", params.row.beginTime + " - " + params.row.endTime);
} }
}, },
{ {
title: "零售公司", title: "零售公司",
key: "shop", key: "shop",
render(h, params) { render (h, params) {
return h( return h(
"span", "span",
params.row.companyName + params.row.companyName +
"等" + "等" +
(params.row.companyCount || 0) + (params.row.companyCount || 0) +
"家公司" "家公司"
); );
} }
}, },
{ {
title: "店铺", title: "店铺",
key: "shop", key: "shop",
render(h, params) { render (h, params) {
return h( return h(
"span", "span",
params.row.storeName + params.row.storeName +
"等" + "等" +
(params.row.storeCount || 0) + (params.row.storeCount || 0) +
"家店铺" "家店铺"
); );
} }
}, },
{ {
title: "添加好友数", title: "添加好友数",
key: "addFriendNum", key: "addFriendNum",
render(h, params) { render (h, params) {
return h("span", (params.row.friends || 0) + "人"); return h("span", (params.row.friends || 0) + "人");
} }
}, },
{ {
title: "参与活动客户数", title: "参与活动客户数",
key: "joinActivityClientNum", key: "joinActivityClientNum",
render(h, params) { render (h, params) {
return h("span", (params.row.friends || 0) + "人"); return h("span", (params.row.friends || 0) + "人");
} }
}, },
{ {
title: "活动码", title: "活动码",
key: "activityCode", key: "activityCode",
render(h, p) { render (h, p) {
return h( return h(
"Button", "Button",
{ {
@ -262,7 +260,7 @@ export default {
{ {
title: "活动状态", title: "活动状态",
key: "status", key: "status",
render(h, p) { render (h, p) {
const status = p.row.status; const status = p.row.status;
if (status === 1) return h("span", "未开始"); if (status === 1) return h("span", "未开始");
if (status === 2) return h("span", "进行中"); if (status === 2) return h("span", "进行中");
@ -274,7 +272,7 @@ export default {
title: "操作", title: "操作",
key: "action", key: "action",
width: 200, width: 200,
render(h, p) { render (h, p) {
let r = [ let r = [
h( h(
"Button", "Button",
@ -305,30 +303,30 @@ export default {
] ]
}; };
}, },
mounted() { mounted () {
this.setMenuName("活动管理", "活动计划"); this.setMenuName("活动管理", "活动计划");
this.getCompanyInfo(); this.getCompanyInfo();
this.getShopInfo(); this.getShopInfo();
this.searchTable(); this.searchTable();
}, },
methods: { methods: {
doShow(show) { doShow (show) {
this.showUse = show; this.showUse = show;
this.searchTable(); this.searchTable();
}, },
showDetail(detail) { showDetail (detail) {
let _this = this; let _this = this;
this.getDetail(detail.id).then(res => { this.getDetail(detail.id).then(res => {
_this.detail = res; _this.detail = res;
_this.isShowDetail = true; _this.isShowDetail = true;
}); });
}, },
getCompanyInfo() { getCompanyInfo () {
let that = this; let that = this;
let data = { let data = {
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
}; };
ActivityManager.getCompany(data, function(data) { ActivityManager.getCompany(data, function (data) {
that.companyList = []; that.companyList = [];
data.data.results.forEach(element => { data.data.results.forEach(element => {
that.companyList.push({ that.companyList.push({
@ -338,18 +336,18 @@ export default {
}); });
}); });
}, },
selectCompany(value) { selectCompany (value) {
this.customerId = value; this.customerId = value;
this.getShopInfo(); this.getShopInfo();
}, },
getShopInfo() { getShopInfo () {
let that = this; let that = this;
let data = { let data = {
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId, userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId,
customerIds: this.customerId, customerIds: this.customerId,
scheduleId: null scheduleId: null
}; };
ActivityManager.getShop(data, function(data) { ActivityManager.getShop(data, function (data) {
that.shopList = []; that.shopList = [];
data.data.results.forEach(element => { data.data.results.forEach(element => {
that.shopList.push({ that.shopList.push({
@ -359,11 +357,11 @@ export default {
}); });
}); });
}, },
handlePage: function(value) { handlePage: function (value) {
this.pageNum = value; this.pageNum = value;
this.searchTable(); this.searchTable();
}, },
stop(instance) { stop (instance) {
let _this = this; let _this = this;
this.$Modal.confirm({ this.$Modal.confirm({
title: "您确认要终止?", title: "您确认要终止?",
@ -382,10 +380,10 @@ export default {
} }
); );
}, },
onCancel: () => {} onCancel: () => { }
}); });
}, },
getDetail(instanceId) { getDetail (instanceId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
ActivityManager.instanceDetail( ActivityManager.instanceDetail(
{ {
@ -397,7 +395,7 @@ export default {
); );
}); });
}, },
modify(instance) { modify (instance) {
let _this = this; let _this = this;
this.getDetail(instance.id).then(res => { this.getDetail(instance.id).then(res => {
store.commit("SET_useData", res); store.commit("SET_useData", res);
@ -405,20 +403,20 @@ export default {
_this.showUse = true; _this.showUse = true;
}); });
}, },
navigateCode(instance) { navigateCode (instance) {
this.$router.push({ this.$router.push({
path: "/activity/plan/code", path: "/activity/plan/code",
query: { instanceId: instance.id } query: { instanceId: instance.id }
}); });
}, },
searchTable(params = {}) { searchTable (params = {}) {
this.loading = true; this.loading = true;
if (this.formValidate.startDate !== "") { if (this.formValidate.startDate) {
this.formValidate.startDate = formatDate(this.formValidate.startDate); this.formValidate.startDate = formatDate(this.formValidate.startDate);
} else { } else {
this.formValidate.startDate = undefined; this.formValidate.startDate = undefined;
} }
if (!!this.formValidate.endDate) { if (this.formValidate.endDate) {
this.formValidate.endDate = formatDate(this.formValidate.endDate); this.formValidate.endDate = formatDate(this.formValidate.endDate);
} else { } else {
this.formValidate.endDate = undefined; this.formValidate.endDate = undefined;
@ -438,24 +436,24 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
startDateChange:function(e){ startDateChange: function (e) {
// //
this.endDateOptions = { this.endDateOptions = {
disabledDate:date =>{ disabledDate: date => {
let startTime = this.formValidate.startDate ? new Date(this.formValidate.startDate).valueOf() : ''; let startTime = this.formValidate.startDate ? new Date(this.formValidate.startDate).valueOf() : '';
return date && (date.valueOf() < startTime) return date && (date.valueOf() < startTime)
} }
} }
}, },
endDateChange:function(e){ endDateChange: function (e) {
// //
let endTime = this.formValidate.endDate ? new Date( this.formValidate.endDate ).valueOf()-1*24*60*60*1000 :''; let endTime = this.formValidate.endDate ? new Date(this.formValidate.endDate).valueOf() - 1 * 24 * 60 * 60 * 1000 : '';
this.startDateOptions = { this.startDateOptions = {
disabledDate:date =>{ disabledDate: date => {
return date && (date.valueOf() >endTime); return date && (date.valueOf() > endTime);
} }
}
} }
}
} }
}; };
</script> </script>

@ -1,10 +1,8 @@
<template> <template>
<Modal v-model="dispalyModal" <Modal v-model="dispalyModal"
width="1000" width="1000"
:loading="loading" :loading="true"
:mask-closable="false" :mask-closable="false">
@on-cancel="cancel"
@on-ok="save">
<p slot="header" <p slot="header"
style="color:#f60;text-align:left"> style="color:#f60;text-align:left">
<span>配置活动</span> <span>配置活动</span>
@ -97,6 +95,16 @@
<Button style="margin-top: 10px" <Button style="margin-top: 10px"
type="primary" type="primary"
@click="addActivityInput">+添加活动类型</Button> @click="addActivityInput">+添加活动类型</Button>
<div slot="footer">
<Button type="primary"
shape="circle"
:loading="modal_loading"
@click="cancel">取消</Button>
<Button type="primary"
shape="circle"
:loading="modal_loading"
@click="save">确定</Button>
</div>
</Modal> </Modal>
</template> </template>
<script> <script>
@ -133,7 +141,6 @@ export default {
}, },
watch: { watch: {
addActivityModal (val) { addActivityModal (val) {
console.log(111, val);
this.dispalyModal = val; this.dispalyModal = val;
if (val === true && this.id) { if (val === true && this.id) {
this.getActivityData(); this.getActivityData();
@ -159,6 +166,7 @@ export default {
}, },
]; ];
} }
this.$forceUpdate();
}, },
}, },
mounted () { }, mounted () { },
@ -224,20 +232,20 @@ export default {
}, },
save () { save () {
let that = this; let that = this;
that.modal_loading = true;
let i = 0; let i = 0;
this.loading = true;
if ( if (
typeof that.formValidate.logo == "undefined" || typeof that.formValidate.logo == "undefined" ||
that.formValidate.logo == "" || that.formValidate.logo == "" ||
that.formValidate.logo.length <= 0 that.formValidate.logo.length <= 0
) { ) {
that.$Message.error("请上传活动封面!"); that.$Message.error("请上传活动封面!");
that.loading = false; that.modal_loading = false;
return false; return false;
} }
if (that.formValidate.params.length <= 0) { if (that.formValidate.params.length <= 0) {
that.$Message.error("至少需要填写一个活动类型!"); that.$Message.error("至少需要填写一个活动类型!");
that.loading = false; that.modal_loading = false;
return false; return false;
} }
for (const key in that.formValidate.params) { for (const key in that.formValidate.params) {
@ -250,12 +258,11 @@ export default {
} }
if (element.defaultVal.length <= 0) { if (element.defaultVal.length <= 0) {
that.$Message.error(`请输入类型${i}的参数!`); that.$Message.error(`请输入类型${i}的参数!`);
that.loading = false; that.modal_loading = false;
return false; return false;
} }
} }
} }
this.loading = true;
this.$refs["formValidate"].validate((valid) => { this.$refs["formValidate"].validate((valid) => {
if (valid) { if (valid) {
// param = JSON.stringify(param) // param = JSON.stringify(param)
@ -263,12 +270,13 @@ export default {
ActivityManager.addOreditActivity(data, function (data) { ActivityManager.addOreditActivity(data, function (data) {
that.addActivityModal = false; that.addActivityModal = false;
that.formValidate = {}; that.formValidate = {};
that.modal_loading = false;
that.$emit("dispalyAddActivityModal", false, true); that.$emit("dispalyAddActivityModal", false, true);
}); });
} else { } else {
that.modal_loading = false;
that.$Message.error("表单验证失败!"); that.$Message.error("表单验证失败!");
} }
that.loading = false;
}); });
}, },
}, },

@ -31,7 +31,7 @@ module.exports = {
// proxy: 'http://192.168.1.123:8312/' // proxy: 'http://192.168.1.123:8312/'
// proxy: 'http://192.168.31.177:8312/' // proxy: 'http://192.168.31.177:8312/'
// proxy: 'http://localhost:8312/' // proxy: 'http://localhost:8312/'
proxy: "http://111.231.218.44:8080/", proxy: 'http://localhost:8080/',
// proxy: 'http://localhost:8080/', // proxy: 'http://localhost:8080/',
// proxy: 'http://jdxdev.vipgz4.idcfengye.com/' // proxy: 'http://jdxdev.vipgz4.idcfengye.com/'
}, },

Loading…
Cancel
Save