You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bsdgy-front/src/pages/activity/ActivityManager.vue

190 lines
4.5 KiB
Vue

<template>
5 years ago
<div class="activityManager">
<Spin v-show="loading" fix>加载中...</Spin>
5 years ago
<Row>
<i-col class="activityListClass" v-for="(item, index) in activityList" :key="index" span="7" offset="1">
5 years ago
<Card>
<div class="operateAndThemeItem">
<div class="ThemeItem">
<div class="schedule-image"><img class="img" :src="'/kiisoo-ic' + item.logo" alt /></div>
5 years ago
<div class="tipItem">
5 years ago
<span>{{ item.name }}</span>
<span>{{ item.description }}</span>
5 years ago
</div>
</div>
<div class="operateItem">
<div @click="disPlayUseTable(item)">使</div>
5 years ago
<div v-show="roleCode === 'GLY-ADMIN'"
@click="dispalyAddActivity(item.id)">配置</div>
5 years ago
</div>
</div>
</Card>
</i-col>
6 years ago
</Row>
5 years ago
<Row v-show="roleCode === 'GLY-ADMIN'">
5 years ago
<i-col span="7"
offset="1">
<div @click="dispalyAddActivity('')"
class="addactivity">
5 years ago
<span>+</span>
<span>添加活动</span>
</div>
</i-col>
</Row>
5 years ago
<useTable ref="useTable"
@doShow="doShow"
:show="showUse"
:schedule="useSchedule"></useTable>
<addActivity @dispalyAddActivityModal="dispalyAddActivityModal"
:addActivityModal="addActivityModal"
:id="id"></addActivity>
5 years ago
</div>
</template>
<script>
5 years ago
import useTable from "./useTable";
import addActivity from "./addActivity";
import ActivityManager from "../../services/ActivityManager/ActivityManager";
5 years ago
5 years ago
export default {
name: "ActivityManager",
components: {
useTable,
addActivity,
},
inject: ["setMenuName"],
5 years ago
data () {
5 years ago
return {
showUse: false,
addActivityModal: false,
activityList: [],
id: "",
inputActivityList: [],
useSchedule: {},
loading: false,
5 years ago
roleCode: ""
5 years ago
};
},
5 years ago
mounted () {
5 years ago
this.setMenuName("活动管理", "活动池");
this.getActivityTable();
5 years ago
this.roleCode = sessionStorage.getItem("roleCode");
5 years ago
},
methods: {
5 years ago
doShow (show) {
5 years ago
this.showUse = show;
5 years ago
},
5 years ago
getActivityData (id) {
5 years ago
let that = this;
let data = {
instanceId: id,
};
that.loading = true;
5 years ago
ActivityManager.getActivityInfo(data, function (data) {
5 years ago
that.inputActivityList = [];
data.data.results.params.forEach((item) => {
that.inputActivityList.push({
value1: item.name,
value2: item.description,
});
});
this.useModal = true;
that.loading = false;
});
},
5 years ago
getActivityTable () {
5 years ago
let that = this;
5 years ago
ActivityManager.getActivityList({}, function (data) {
5 years ago
that.activityList = data.data.results;
});
6 years ago
},
5 years ago
disPlayUseTable (item) {
5 years ago
let that = this;
let data = {
id: item.id,
};
// let data = new FormData()
// data.append('instanceId', item.id)
5 years ago
ActivityManager.getActivityInfo(data, function (data) {
5 years ago
that.useSchedule = data.data.results;
that.showUse = true;
5 years ago
that.$forceUpdate()
5 years ago
});
5 years ago
},
5 years ago
dispalyAddActivity (id) {
5 years ago
this.addActivityModal = true;
this.id = id.toString();
},
5 years ago
dispalyuseModal (displayModalFlag, isCancle) {
5 years ago
this.useModal = displayModalFlag;
if (isCancle === true) {
this.getActivityTable();
6 years ago
}
5 years ago
},
5 years ago
dispalyAddActivityModal (displayModalFlag, isCancle) {
5 years ago
this.addActivityModal = displayModalFlag;
if (isCancle === true) {
this.getActivityTable();
}
},
},
};
</script>
5 years ago
<style scoped>
.activityManager {
min-height: 600px;
}
5 years ago
.operateAndThemeItem {
display: flex;
justify-content: space-between;
}
5 years ago
5 years ago
.operateItem {
display: flex;
flex-direction: column;
justify-content: space-between;
color: #6ac1d1;
width: 20%;
text-align: right;
cursor: pointer;
}
5 years ago
5 years ago
.ThemeItem {
display: flex;
justify-content: flex-start;
width: 80%;
}
5 years ago
5 years ago
.tipItem {
display: flex;
flex-direction: column;
justify-content: space-between;
margin-left: 50px;
}
5 years ago
5 years ago
.activityListClass {
margin-bottom: 20px;
5 years ago
}
5 years ago
5 years ago
.addactivity {
height: 100px;
border: 1px dashed;
text-align: center;
line-height: 100px;
cursor: pointer;
}
.schedule-image {
width: 50px;
height: 50px;
display: flex;
align-items: center;
border-radius: 5px;
background-color: #eee;
}
.schedule-image img {
width: 100%;
height: auto;
}
</style>