feature_0521
zhenghuang 5 years ago
parent 5468c30171
commit 795a76d451

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

@ -55,20 +55,22 @@ export default {
};
},
mounted () {
this.getCompanyInfo();
let _this = this;
console.log(111, store.getters.useData);
if (store.getters.useData.company) {
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) {
store.getters.useData.stores.forEach((item) => {
if (item.companyId) {
_this.checkCompanys.push(item.companyId);
if (item.parentId && _this.checkCompanys.indexOf(item.parentId) == -1) {
_this.checkCompanys.push(item.parentId);
}
});
}
this.getCompanyInfo()
},
methods: {
onChange (data) {
@ -127,6 +129,17 @@ export default {
});
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;
});
},

@ -75,7 +75,7 @@ export function instanceTerminate(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) {

Loading…
Cancel
Save