feature_0521
zhenghuang 5 years ago
parent 5468c30171
commit 795a76d451

@ -63,6 +63,7 @@
<Row style="margin-top:50px"> <Row style="margin-top:50px">
<Table :loading="loading" <Table :loading="loading"
border border
@on-row-dblclick="showDetail"
:columns="columns1" :columns="columns1"
:data="data"></Table> :data="data"></Table>
<Page :total="totalSize" <Page :total="totalSize"
@ -80,6 +81,13 @@
:show="showUse" :show="showUse"
:isModify="true" :isModify="true"
:schedule="activityInstance.scheduleVO"></useTable> :schedule="activityInstance.scheduleVO"></useTable>
<Modal v-model="isShowDetail"
title="活动计划详情"
width="70%"
:footer-hide="true">
<planDetail v-if="isShowDetail"
:detail="detail"></planDetail>
</Modal>
</div> </div>
</template> </template>
@ -89,19 +97,21 @@ import useTable from "./useTable";
import http from "../../services/CommonHttp"; import http from "../../services/CommonHttp";
import { formatDate } from "../../utils/Common"; import { formatDate } from "../../utils/Common";
import store from "../../store"; import store from "../../store";
import planDetail from './PlanDetail';
export default { export default {
name: "ActivityPlan", name: "ActivityPlan",
inject: ["setMenuName"], inject: ["setMenuName"],
components: { components: {
useTable, useTable, planDetail
}, },
data () { data () {
const _this = this; const _this = this;
return { return {
loading: false, loading: false,
isShowDetail: false,
totalSize: 0, totalSize: 0,
pageNum: 1, pageNum: 1,
detail: {},
pageSize: 10, pageSize: 10,
saving: false, saving: false,
data: [], data: [],
@ -261,6 +271,13 @@ export default {
doShow (show) { doShow (show) {
this.showUse = show; this.showUse = show;
}, },
showDetail (detail) {
let _this = this;
this.getDetail(detail.id).then(res => {
_this.detail = res;
_this.isShowDetail = true;
})
},
getCompanyInfo () { getCompanyInfo () {
let that = this; let that = this;
let data = { let data = {
@ -321,11 +338,22 @@ export default {
} }
}); });
}, },
getDetail (instanceId) {
return new Promise((resolve, reject) => {
ActivityManager.instanceDetail({
instanceId
}, res => {
resolve(res.data.results)
});
})
},
modify (instance) { modify (instance) {
this.activityInstance = instance; let _this = this;
this.showUse = true; this.getDetail(instance.id).then(res => {
console.log("instance", instance) store.commit("SET_useData", res);
store.commit("SET_useData", Object.assign({}, instance)); _this.activityInstance = res;
_this.showUse = true;
})
}, },
navigateCode (instance) { navigateCode (instance) {
this.$router.push({ this.$router.push({

@ -0,0 +1,118 @@
<template>
<div style="padding: 0 40px;">
<Form ref="formValidate"
:model="useData"
:label-width="80">
<Row>
<i-col span="22"
offset="2">
<FormItem label="活动名称"
prop="activityName">
<div>{{ detail.name }}</div>
</FormItem>
<Form-item label="活动时间"
prop="activityDate">
<div>{{ detail.beginTime }} - {{ detail.endTime }}</div>
</Form-item>
<FormItem label="活动类型"
prop="activityStyle">
<div style="display:flex"
v-for="(item, index) in detail.params"
:key="index">
<i-input class="inputClass"
disabled
type="text"
v-model="item.name"
placeholder=""></i-input>
<i-input class="inputClass"
style="margin-left: 20px"
disabled
type="text"
v-model="item.defaultVal"
placeholder=""></i-input>
</div>
</FormItem>
<FormItem label="活动范围"
prop="activityRange">
<Collapse simple>
<Panel :key="index"
v-for="(item, index) in groups">
{{
item.name
}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{
item.stores.length
}}家店铺
<div slot="content">
<div class="activityShopClass">
<div class="mr10"
v-for="(item, index) in item.stores"
:key="index">
<Tag class="tagClass"
color="blue">{{ item.name }}</Tag>
</div>
</div>
</div>
</Panel>
</Collapse>
</FormItem>
</i-col>
</Row>
</Form>
</div>
</template>
<script>
import store from "../../store/index";
export default {
name: "useActivityStepFoure",
data () {
return {
useData: store.getters.useData,
operate: "收起",
displayActivityShopFlag: false,
groups: [],
};
},
props: {
detail: Object
},
created () {
let _this = this;
this.$nextTick(() => {
console.log(123, this.detail)
_this.detail.organizations.forEach((item) => {
item.stores = _this._.filter(
_this.detail.stores,
(s) => s.companyId == item.id || s.parentId == item.id
);
console.log(item.stores)
_this.groups.push(item);
});
});
},
methods: {
isDisplay () {
if (this.operate === "展开") {
this.operate = "收起";
this.displayActivityShopFlag = false;
} else {
this.operate = "展开";
this.displayActivityShopFlag = true;
}
},
},
};
</script>
<style scoped>
.activityShopClass {
display: flex;
justify-content: start;
flex-wrap: wrap;
}
.mr10 {
margin-right: 20px;
}
.tagClass {
text-align: center;
}
</style>

@ -144,7 +144,7 @@ export default {
_this.formValidate.activityStyle = item.id; _this.formValidate.activityStyle = item.id;
}); });
} }
console.log(22, this.isModify); console.log(22, store.getters.useData);
}, },
methods: { methods: {
onChange (e) { onChange (e) {

@ -55,20 +55,22 @@ export default {
}; };
}, },
mounted () { mounted () {
this.getCompanyInfo();
let _this = this; let _this = this;
console.log(111, store.getters.useData); console.log(111, store.getters.useData);
if (store.getters.useData.company) { if (store.getters.useData.company) {
store.getters.useData.company.forEach((item) => { store.getters.useData.company.forEach((item) => {
_this.checkCompanys.push(item.id); if (_this.checkCompanys.indexOf(item.id) == -1) {
_this.checkCompanys.push(item.id);
}
}); });
} else if (store.getters.useData.stores) { } else if (store.getters.useData.stores) {
store.getters.useData.stores.forEach((item) => { store.getters.useData.stores.forEach((item) => {
if (item.companyId) { if (item.parentId && _this.checkCompanys.indexOf(item.parentId) == -1) {
_this.checkCompanys.push(item.companyId); _this.checkCompanys.push(item.parentId);
} }
}); });
} }
this.getCompanyInfo()
}, },
methods: { methods: {
onChange (data) { onChange (data) {
@ -127,6 +129,17 @@ export default {
}); });
that.orginCompanyList = that.companyList; that.orginCompanyList = that.companyList;
}); });
store.getters.useData.company = [];
console.log(123, that.checkCompanys, that.companyListdata)
that.checkCompanys.forEach((item) => {
const c = that._.find(
that.companyListdata,
(company) => company.id == item
);
if (c) {
store.getters.useData.company.push(c);
}
});
that.loading = false; that.loading = false;
}); });
}, },

@ -75,7 +75,7 @@ export function instanceTerminate(params, call) {
* 活动实例详情 * 活动实例详情
*/ */
export function instanceDetail(params, call) { export function instanceDetail(params, call) {
return http.post('activity/instance/detail', params).then(call) return http.get('activity/instance/detail', params).then(call)
} }
export function activityCodeList(params, call) { export function activityCodeList(params, call) {

Loading…
Cancel
Save