first commit

This commit is contained in:
2026-09-23 09:38:39 +08:00
commit 98a8b8cace
6257 changed files with 1266718 additions and 0 deletions
@@ -0,0 +1,133 @@
<template>
<div>
<el-tabs tab-position="top" v-model="activeName">
<el-tab-pane label="报名信息" name="1">
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
本人信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item label="工号">{{ viewData.loginName }}</el-descriptions-item>
<el-descriptions-item label="姓名">{{ viewData.userName }}</el-descriptions-item>
<el-descriptions-item label="是否转入">
<span class="label label-primary">
{{ viewData.isTransferIn ? '是' : '否' }}
</span>
</el-descriptions-item>
<el-descriptions-item label="是否携带家属">
<span class="label label-primary">
{{ viewData.isFamily ? '携带' : '未携带' }}
</span>
</el-descriptions-item>
<el-descriptions-item label="报名时间">{{ viewData.signingUptime }}</el-descriptions-item>
<el-descriptions-item label="参加时间">{{ viewData.takePartInTime }}</el-descriptions-item>
<el-descriptions-item label="单位">{{ viewData.unitName }}</el-descriptions-item>
<el-descriptions-item label="工会">{{ viewData.unionName }}</el-descriptions-item>
<el-descriptions-item label="旅行社名称">{{ viewData.travelAgencyName }}</el-descriptions-item>
<el-descriptions-item label="线路名称">{{ viewData.lineName }}</el-descriptions-item>
<el-descriptions-item label="床型">{{ viewData.bedInfo.bedType }}</el-descriptions-item>
<el-descriptions-item label="意向拼床人">
{{ viewData.bedInfo.otherSleepUser ? viewData.bedInfo.otherSleepUser : '暂无' }}
</el-descriptions-item>
</el-descriptions>
</div>
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
同伴信息
</h3>
</div>
<div class="panel-body" style="border: 1px solid rgb(235, 238, 245)">
<el-table :data="viewData.companionList">
<el-table-column label="姓名" prop="userName"></el-table-column>
<el-table-column label="性别" prop="sex"></el-table-column>
<el-table-column label="年龄" prop="age"></el-table-column>
<el-table-column label="关系" prop="relation"></el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane v-if="viewData.selfUnionAuditId" label="教职工部门工会审核信息" name="2">
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
审核信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item label="审核人">
{{ viewData.selfUnionAudit.username }}({{ viewData.selfUnionAudit.loginname }})
</el-descriptions-item>
<el-descriptions-item label="审核时间">{{ viewData.selfUnionAudit.auditTime }}</el-descriptions-item>
<el-descriptions-item label="审核意见">{{ viewData.selfUnionAudit.auditOpinion }}</el-descriptions-item>
</el-descriptions>
</div>
</el-tab-pane>
<el-tab-pane v-if="viewData.joinLineUnionAuditId" label="线路部门工会审核信息" name="3">
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
审核信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item label="审核人">
{{ viewData.joinLineUnionAudit.username }}({{ viewData.joinLineUnionAudit.loginname }})
</el-descriptions-item>
<el-descriptions-item label="审核时间">{{ viewData.joinLineUnionAudit.auditTime }}</el-descriptions-item>
<el-descriptions-item label="审核意见">{{ viewData.joinLineUnionAudit.auditOpinion }}</el-descriptions-item>
</el-descriptions>
</div>
</el-tab-pane>
<slot name="handle"></slot>
</el-tabs>
</div>
</template>
<script>
module.exports = {
props: {},
components: {
'line-info': httpVueLoader('/components/theRapyRecuperation/LineInfo.vue')
},
data() {
return {
activeName: "1",
viewData: {
companionList: []
},
loading: true,
}
},
methods: {
async findOne(id) {
const resp = await $.get("/platform/theRapyRecuperation/TheRapyAudit/findOne", {id})
if (resp.code === 0) {
this.viewData = resp.data.viewData
} else {
this.viewData = {}
this.$notify.warning({title: '警告', message: resp.data})
}
},
openView(id) {
this.findOne(id)
},
openAudit(id, activeName) {
this.findOne(id)
this.activeName = activeName
}
},
created() {
}
}
</script>
@@ -0,0 +1,107 @@
<template>
<div>
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
线路信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item label="年度">{{ viewData.year }}</el-descriptions-item>
<el-descriptions-item label="编号">{{ viewData.serialNumber }}</el-descriptions-item>
<el-descriptions-item :span="2 " label="线路名称">{{ viewData.lineName }}</el-descriptions-item>
<el-descriptions-item label="区域性质">{{ viewData.regionalNature }}</el-descriptions-item>
<el-descriptions-item label="最少成团人数">{{ viewData.minimumGroupSize }}</el-descriptions-item>
<el-descriptions-item label="游玩天数">
<span class="label label-primary">
{{ viewData.playNumberOfDays + '天' }}
</span>
</el-descriptions-item>
<!-- (校工会创建AND自由模式) OR (部门工会创建) -->
<!-- <template v-if="(viewData.createMode === 2 && viewData.signUpMode === 2 ) || viewData.createMode === 1">-->
<el-descriptions-item label="报名开始时间">{{ viewData.signUpStartTime }}</el-descriptions-item>
<el-descriptions-item label="报名结束时间">{{ viewData.signUpEndTime }}</el-descriptions-item>
<el-descriptions-item label="变更截至时间">{{ viewData.changeEndTime }}</el-descriptions-item>
<!-- </template>-->
</el-descriptions>
</div>
<div class="panel panel-default mt20" style="border: none">
<div class="panel-heading" style="background: #fafafa;border:1px solid #ebeef5;border-bottom: none">
<h3 class="panel-title">
旅行社信息
</h3>
</div>
<el-descriptions :column="2" border class="viewTable">
<el-descriptions-item :span="2" label="旅行社名称">{{
viewData.travelAgency.travelAgencyName
}}
</el-descriptions-item>
<el-descriptions-item label="联系人">{{ viewData.travelAgency.contact }}</el-descriptions-item>
<el-descriptions-item label="电话">{{ viewData.travelAgency.contactMobileNumber }}</el-descriptions-item>
<el-descriptions-item label="邮箱">{{ viewData.travelAgency.email }}</el-descriptions-item>
<el-descriptions-item label="官网">
<a :href="viewData.travelAgency.officialWebsite" class="text-primary" target="_blank">
{{ viewData.travelAgency.officialWebsite }}
</a>
</el-descriptions-item>
</el-descriptions>
</div>
<div class="panel panel-default mt20" style="border-color: #ebeef5">
<div class="panel-heading" style="background: #fafafa;border-color: #ebeef5">
<h3 class="panel-title">
线路内容
</h3>
</div>
<div class="panel-body">
<div v-html="viewData.content"></div>
</div>
</div>
</div>
</template>
<script>
module.exports = {
name: "LineInfo",
data() {
return {
viewData: {
travelAgency: {}
},
//部门工会选择校工会的线路自己设置的时间信息等等。。。
unionSelectLineData: {}
}
},
methods: {
openView(lineId) {
this.findOne(lineId)
},
async findOne(id, unionId) {
const resp = await $.get('/platform/theRapyRecuperation/line/selectLineInfoById/' + id)
if (resp.code === 0) {
this.viewData = resp.data
//校工会创建 部门工会选择 所以每个部门工会的活动时间会不一样
await this.findUnionSelectLineData(id, unionId)
}
},
async findUnionSelectLineData(lineId, unionId) {
const resp = await $.post('/platform/theRapyRecuperation/lineUnionSelect/selectLineInfo/' + lineId + "/" + unionId)
if (resp.code === 0 && resp.data) {
this.viewData.signUpStartTime = resp.data.signUpStartTime
this.viewData.signUpEndTime = resp.data.signUpEndTime
this.viewData.changeEndTime = resp.data.changeEndTime
}
}
}
}
</script>
<style scoped>
.viewTable .el-descriptions__table {
table-layout: fixed !important;
}
.viewTable .el-descriptions-item__cell {
text-align: center !important;
}
</style>