2022-10-19 13:38:16 +08:00
|
|
|
<template>
|
|
|
|
|
<ai-detail class="party-detail">
|
|
|
|
|
<template slot="title">
|
|
|
|
|
<ai-title
|
|
|
|
|
title="活动详情"
|
|
|
|
|
isShowBack
|
|
|
|
|
isShowBottomBorder
|
|
|
|
|
@onBackClick="cancel()"
|
|
|
|
|
></ai-title>
|
|
|
|
|
</template>
|
|
|
|
|
<template slot="content">
|
|
|
|
|
<div>
|
|
|
|
|
<ai-card title="活动信息">
|
|
|
|
|
<template #content>
|
|
|
|
|
<ai-wrapper label-width="120px">
|
|
|
|
|
<ai-info-item isLine label="发布地区">{{ info.areaName }}</ai-info-item>
|
|
|
|
|
<ai-info-item isLine label="标题">{{ info.title }}</ai-info-item>
|
|
|
|
|
<ai-info-item isLine label="活动地点">{{ info.address }}</ai-info-item>
|
|
|
|
|
<ai-info-item isLine label="参与名额">{{ info.total }}</ai-info-item>
|
|
|
|
|
<ai-info-item label="报名状态">{{ dict.getLabel('partyReportSignupStatus', info.signupStatus) }}</ai-info-item>
|
|
|
|
|
<ai-info-item label="活动状态">{{ dict.getLabel('activityStatus', info.actionStatus) }}</ai-info-item>
|
2022-10-21 11:28:16 +08:00
|
|
|
<ai-info-item label="活动时间">{{ info.beginTime }} 至 {{ info.endTime }}</ai-info-item>
|
2022-10-19 13:38:16 +08:00
|
|
|
<ai-info-item label="截至时间">{{ info.stopSignupTime }}</ai-info-item>
|
|
|
|
|
<ai-info-item label="联系人">{{ info.contactPerson }}</ai-info-item>
|
|
|
|
|
<ai-info-item label="联系电话">{{ info.contactPhone }}</ai-info-item>
|
|
|
|
|
</ai-wrapper>
|
|
|
|
|
</template>
|
|
|
|
|
</ai-card>
|
|
|
|
|
<ai-card title="活动介绍">
|
|
|
|
|
<template #content>
|
|
|
|
|
<p v-html="info.content"></p>
|
|
|
|
|
</template>
|
|
|
|
|
</ai-card>
|
|
|
|
|
<ai-card title="报名情况">
|
|
|
|
|
<template #content>
|
2022-10-19 14:16:14 +08:00
|
|
|
<ai-table
|
2022-10-21 11:28:16 +08:00
|
|
|
:dict="dict"
|
2022-10-19 14:16:14 +08:00
|
|
|
:border="true"
|
2022-10-21 11:28:16 +08:00
|
|
|
:tableData="userList"
|
2022-10-19 14:16:14 +08:00
|
|
|
:isShowPagination="false"
|
|
|
|
|
:col-configs="colConfigs"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column slot="user" width="300px" label="报名人员资料" align="center">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<div class="table-options">
|
|
|
|
|
<p>{{row.partyName}}-{{row.phone}}</p>
|
2022-10-21 11:28:16 +08:00
|
|
|
<p class="color-999">{{row.partyOrgName}}</p>
|
2022-10-19 14:16:14 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column slot="options" width="120px" fixed="right" label="操作" align="center">
|
|
|
|
|
<template slot-scope="{ row }">
|
|
|
|
|
<div class="table-options">
|
2022-10-21 11:28:16 +08:00
|
|
|
<el-button type="text" @click="viewUser(row)">查看日志</el-button>
|
2022-10-19 14:16:14 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</ai-table>
|
2022-10-19 13:38:16 +08:00
|
|
|
</template>
|
|
|
|
|
</ai-card>
|
2022-10-21 11:28:16 +08:00
|
|
|
<ai-dialog :visible.sync="showDialog" title="查看活动日志" @closed="showDialog=false">
|
|
|
|
|
<ai-wrapper label-width="120px">
|
|
|
|
|
<ai-info-item label="提交人">{{ userInfo.userName }}</ai-info-item>
|
|
|
|
|
<ai-info-item label="提交时间">{{ userInfo.submitTime }}</ai-info-item>
|
|
|
|
|
<ai-info-item isLine label="活动总结">{{ userInfo.content }}</ai-info-item>
|
|
|
|
|
<ai-info-item isLine label="活动照片">
|
|
|
|
|
<ai-uploader
|
|
|
|
|
:instance="instance"
|
|
|
|
|
disabled
|
|
|
|
|
v-model="userInfo.files"
|
|
|
|
|
>
|
|
|
|
|
</ai-uploader>
|
|
|
|
|
</ai-info-item>
|
|
|
|
|
</ai-wrapper>
|
|
|
|
|
</ai-dialog>
|
2022-10-19 13:38:16 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</ai-detail>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { mapState } from "vuex";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "detail",
|
|
|
|
|
|
|
|
|
|
props: {
|
|
|
|
|
instance: Function,
|
|
|
|
|
dict: Object,
|
|
|
|
|
params: Object,
|
|
|
|
|
id: String
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
info: {},
|
2022-10-19 14:16:14 +08:00
|
|
|
colConfigs: [
|
|
|
|
|
{prop: "signupTime", label: "报名时间", align: "center"},
|
|
|
|
|
{slot: "user"},
|
|
|
|
|
{prop: "reportType", label: "活动报到类型", align: "center", dict: 'partyReportSignupReportType'},
|
|
|
|
|
{prop: "remark", label: "报名备注", align: "center"},
|
|
|
|
|
{prop: "status", label: "报名状态", align: "center", dict: 'partyReportPersonSignupStatus'},
|
|
|
|
|
{prop: "logStatus", label: "活动日志", align: "center", dict: 'partyReportSignupLogStatus'},
|
|
|
|
|
{slot: "options"},
|
|
|
|
|
],
|
2022-10-21 11:28:16 +08:00
|
|
|
userList: [],
|
|
|
|
|
showDialog: false,
|
|
|
|
|
userInfo: {}
|
2022-10-19 13:38:16 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
computed: {
|
|
|
|
|
...mapState(["user"]),
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
created() {
|
2022-10-19 14:16:14 +08:00
|
|
|
this.dict.load('activityStatus', 'partyReportSignupStatus', 'partyReportSignupReportType', 'partyReportPersonSignupStatus', 'partyReportSignupLogStatus').then(() => {
|
2022-10-19 13:38:16 +08:00
|
|
|
this.getInfo()
|
2022-10-19 14:16:14 +08:00
|
|
|
this.getList()
|
2022-10-19 13:38:16 +08:00
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
|
getInfo() {
|
|
|
|
|
this.instance.post(`/app/apppartyreport/queryDetailById?id=${this.id}`).then((res) => {
|
|
|
|
|
if (res?.data) {
|
2022-10-21 11:28:16 +08:00
|
|
|
this.info = res.data
|
2022-10-19 13:38:16 +08:00
|
|
|
if (this.info.birthday) {
|
|
|
|
|
this.info.birthday = this.info.birthday.substring(0, 10);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
2022-10-19 14:16:14 +08:00
|
|
|
getList() {
|
|
|
|
|
this.instance.post(`/app/apppartyreport/signup-info?id=${this.id}`).then((res) => {
|
|
|
|
|
if (res?.data) {
|
|
|
|
|
res.data.map((item) => {
|
2022-10-21 11:28:16 +08:00
|
|
|
if(item.signupTime) {
|
|
|
|
|
item.signupTime = item.signupTime.substring(0, 10)
|
|
|
|
|
}
|
2022-10-19 14:16:14 +08:00
|
|
|
})
|
2022-10-21 11:28:16 +08:00
|
|
|
this.userList = res.data
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
viewUser(row) {
|
|
|
|
|
this.instance.post(`app/apppartyreport/log?id=${row.id}`).then((res) => {
|
|
|
|
|
if (res.code == 0) {
|
|
|
|
|
this.userInfo = {...res.data}
|
|
|
|
|
this.userInfo.userName = row.partyName
|
|
|
|
|
this.showDialog = true
|
2022-10-19 14:16:14 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
2022-10-19 13:38:16 +08:00
|
|
|
cancel() {
|
|
|
|
|
this.$emit("goBack")
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|