feature_0521
zhenghuang 5 years ago
parent cb5ec12b4c
commit 357bd60f79

@ -1,128 +1,128 @@
<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="6"> <i-col span="6">
<FormItem label="选择日期" prop> <FormItem label="选择日期"
<Date-picker prop>
style="width: 100%" <Date-picker style="width: 100%"
v-model="formValidate.date" v-model="formValidate.date"
type="daterange" type="daterange"
placement="bottom-end" placement="bottom-end"
placeholder="选择日期区间" placeholder="选择日期区间"></Date-picker>
></Date-picker>
</FormItem> </FormItem>
</i-col> </i-col>
<i-col span="6"> <i-col span="6">
<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">
:data="data" <template slot-scope="{row}"
> slot="qrCodeAction">
<template slot-scope="{row}" slot="qrCodeAction"> <img :src="require('../../../static/img/qrCode-init.png')"
<img @click="navigateCode(row)"
:src="require('../../../static/img/qrCode-init.png')" class="table-img-qr-code" />
@click="navigateCode(row)"
class="table-img-qr-code"
/>
</template> </template>
<template slot="action" slot-scope="{row}"> <template slot="action"
slot-scope="{row}">
<i-col span="12"> <i-col span="12">
<Button <Button ghost
ghost :class="row.status > 2 ? 'router-btn disable' : 'router-btn'"
:class="row.status > 2 ? 'router-btn disable' : 'router-btn'" @click="() => {stop(row)}">终止</Button>
@click="() => {stop(row)}"
>终止</Button>
</i-col> </i-col>
<i-col span="12"> <i-col span="12">
<Button ghost class="router-btn" @click="() => {modify(row)}">修改</Button> <Button ghost
class="router-btn"
@click="() => {modify(row)}">修改</Button>
</i-col> </i-col>
</template> </template>
</Table> </Table>
<Page <Page :total="totalSize"
:total="totalSize" :current="pageNum"
:current="pageNum" :page-size="pageSize"
:page-size="pageSize" show-elevator
show-elevator show-total
show-total placement="top"
placement="top" @on-change="handlePage"
@on-change="handlePage" class-name="ks-page"></Page>
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>
<!-- 预览二维码 --> <!-- 预览二维码 -->
<Modal <Modal v-model="isShow"
v-model="isShow" :title="showStoreName"
:title="showStoreName" :footer-hide="true"
:footer-hide="true" width="230"
width="230" class-name="vertical-center-modal"
class-name="vertical-center-modal" @on-ok="ok">
@on-ok="ok"
>
<div slot="header"> <div slot="header">
<p></p> <p></p>
</div> </div>
<p>{{this.showStoreName}}</p> <p>{{this.showStoreName}}</p>
<img :src="qrCodeImage" style="width:200px;height:200px;" /> <img :src="qrCodeImage"
style="width:200px;height:200px;" />
<div style="text-align: center;"> <div style="text-align: center;">
<Button ghost type="primary" @click="download(rowData)"></Button> <Button ghost
type="primary"
@click="download(rowData)">下载</Button>
</div> </div>
</Modal> </Modal>
</div> </div>
@ -142,7 +142,7 @@ export default {
useTable, useTable,
planDetail planDetail
}, },
data() { data () {
const _this = this; const _this = this;
return { return {
showStoreName: "", showStoreName: "",
@ -203,7 +203,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) {
@ -219,7 +219,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"]);
} }
}, },
@ -227,47 +227,47 @@ 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) + "人");
} }
}, },
@ -289,7 +289,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", "进行中");
@ -332,30 +332,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({
@ -365,18 +365,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({
@ -386,11 +386,11 @@ export default {
}); });
}); });
}, },
handlePage: function(value) { handlePage: function (value) {
this.pageNum = value; this.pageNum = value;
this.searchTable(); this.searchTable();
}, },
stop(instance) { stop (instance) {
if (instance.status > 2) { if (instance.status > 2) {
return; return;
} }
@ -412,10 +412,10 @@ export default {
} }
); );
}, },
onCancel: () => {} onCancel: () => { }
}); });
}, },
getDetail(instanceId) { getDetail (instanceId) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
ActivityManager.instanceDetail( ActivityManager.instanceDetail(
{ {
@ -427,7 +427,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);
@ -435,14 +435,13 @@ export default {
_this.showUse = true; _this.showUse = true;
}); });
}, },
navigateCode(instance) { navigateCode (instance) {
return;
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 ( if (
this.formValidate.date !== null && this.formValidate.date !== null &&
@ -475,7 +474,7 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
startDateChange: function(e) { startDateChange: function (e) {
// //
this.endDateOptions = { this.endDateOptions = {
disabledDate: date => { disabledDate: date => {
@ -486,11 +485,11 @@ export default {
} }
}; };
}, },
endDateChange: function(e) { endDateChange: function (e) {
// //
let endTime = this.formValidate.endDate let endTime = this.formValidate.endDate
? new Date(this.formValidate.endDate).valueOf() - ? new Date(this.formValidate.endDate).valueOf() -
1 * 24 * 60 * 60 * 1000 1 * 24 * 60 * 60 * 1000
: ""; : "";
this.startDateOptions = { this.startDateOptions = {
disabledDate: date => { disabledDate: date => {
@ -498,17 +497,17 @@ export default {
} }
}; };
}, },
show: function(index) { show: function (index) {
this.isShow = true; this.isShow = true;
this.showStoreName = index.name; this.showStoreName = index.name;
this.qrCodeImage = index.qrCodeAction; this.qrCodeImage = index.qrCodeAction;
this.rowData = index; this.rowData = index;
}, },
hide: function() { hide: function () {
this.isShow = false; this.isShow = false;
}, },
// //
download: function(index) { download: function (index) {
debugger; debugger;
let fileName = index.name + "-门店码"; let fileName = index.name + "-门店码";
http.downloadImg( http.downloadImg(
@ -516,10 +515,10 @@ export default {
url: index.qrCodeAction url: index.qrCodeAction
}, },
fileName, fileName,
function(/*data*/) {} function (/*data*/) { }
); );
}, },
ok: function() { ok: function () {
this.isShow = false; this.isShow = false;
} }
} }

Loading…
Cancel
Save