commit
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
package io.v.nutz.zhgh.therapyRecuperation.controller.mine;
|
||||
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/6/18 22:46
|
||||
* @description 我的疗休养
|
||||
*/
|
||||
@IocBean
|
||||
@Ok("json:full")
|
||||
@At("/platform/theRapyRecuperation/mineEnroll")
|
||||
public class MineTheRapyRecuperationEnrollController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/theRapyRecuperation/mine/index.html")
|
||||
@RequiresPermissions("theRapyRecuperation.mineEnroll")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,220 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">年度:</div>
|
||||
<div class="search-item-option">
|
||||
<el-date-picker
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
:clearable="false"
|
||||
value-format="yyyy" style="width: 100%"
|
||||
@change="doSearch"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">线路名称:</div>
|
||||
<div class="search-item-option">
|
||||
<el-radio-group v-model="pageForm.theRapyRecuperationType" @change="doSearch">
|
||||
<el-radio-button :label="item.value" v-for="item in chooseButton">{{item.label}}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card class="mt10" shadow="never">
|
||||
<table-tool :app="this" label="线路列表">
|
||||
<template #func>
|
||||
<el-radio-group v-model="pageForm.signUpStateId" @change="doSearch">
|
||||
<el-radio-button label="1">已报名</el-radio-button>
|
||||
<el-radio-button label="2">已参加</el-radio-button>
|
||||
<el-radio-button label="3">未参加</el-radio-button>
|
||||
</el-radio-group>
|
||||
</template>
|
||||
</table-tool>
|
||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||
align="center"
|
||||
header-align="center">
|
||||
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
|
||||
width="80px"></el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="年度" type="signingUptime">
|
||||
<template scope="{row}">
|
||||
{{moment(row.signingUptime).format('YYYY')}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
:label="pageForm.theRapyRecuperationType===3?'名称':'线路名称'">
|
||||
<template scope="{row}">
|
||||
{{pageForm.theRapyRecuperationType===3?row.baseName:row.lineName}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template v-if="pageForm.theRapyRecuperationType===3">
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="联系人" prop="baseContactPerson">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="联系方式" prop="baseContactNumber">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="已报人数" prop="signUpUserNum">
|
||||
</el-table-column>
|
||||
</template>
|
||||
<template v-if="pageForm.theRapyRecuperationType!==3">
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="时间标段" prop="lotName">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="组织形式" prop="signUpMode">
|
||||
<template scope="{row}">
|
||||
<span>{{row.signUpMode === 1 ? '校工会组织' : '分工会组织'}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="旅行社" prop="travelAgencyName">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="联系方式" prop="contactMobileNumber">
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center"
|
||||
label="随行家属" prop="companionCount">
|
||||
</el-table-column>
|
||||
</template>
|
||||
|
||||
<el-table-column label="操作" width="400">
|
||||
<template scope="{row}">
|
||||
<el-button @click="openLine(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button @click="edit(row)" size="mini" type="primary"
|
||||
v-if="pageForm.theRapyRecuperationType != '2' && moment().unix() < moment(row.changeEndTime).unix()
|
||||
&& ![2715,2725,2735].includes(row.stateId)"
|
||||
:disabled="row.isTakePartIn == true || getDisabled(row)">修改报名信息
|
||||
</el-button>
|
||||
<el-button @click="editOther(row)" size="mini" type="primary"
|
||||
v-if="pageForm.theRapyRecuperationType != '2' && moment().unix() < moment(row.changeEndTime).unix()
|
||||
&& ![2715,2725,2735].includes(row.stateId)"
|
||||
:disabled="row.isTakePartIn == true || getDisabled(row)">修改成其他线路
|
||||
</el-button>
|
||||
<el-button @click="cancel(row)" size="mini" type="danger" :disabled="getDisabled(row)">
|
||||
撤 销
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
</guava>
|
||||
<el-dialog
|
||||
title="详情"
|
||||
:visible.sync="lineDialogVisible"
|
||||
width="50%">
|
||||
<info ref="lineRef" :index="pageForm.theRapyRecuperationType"></info>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="lineDialogVisible = false">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<!--#include('../signUp/info.js'){}#-->
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
theRapyRecuperationType: 0,
|
||||
signUpStateId: 1,
|
||||
year: new Date().getFullYear() + "",
|
||||
},
|
||||
chooseButton: [],
|
||||
configData: {},
|
||||
lineDialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'info': INFO
|
||||
},
|
||||
methods: {
|
||||
edit(o) {
|
||||
},
|
||||
editOther(o) {
|
||||
},
|
||||
openLine(row) {
|
||||
this.lineDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.lineRef.openInit(row.takePartInLineId, row.takePartInBaseManagementId)
|
||||
})
|
||||
},
|
||||
getDisabled(o) {
|
||||
if (o.regionalNature === '省内') {
|
||||
return this.configData.isSnLine && o.stateId === 2750
|
||||
}
|
||||
if (o.regionalNature === '省外') {
|
||||
return this.configData.isSwLine && o.stateId === 2750
|
||||
}
|
||||
return true
|
||||
},
|
||||
async cancel(o) {
|
||||
if (this.pageForm.theRapyRecuperationType != '2') {
|
||||
const re = await $.post('/platform/theRapyRecuperation/line/enroll/canDelete/' + o.id)
|
||||
if (re.code !== 0) {
|
||||
this.$message.error(re.msg)
|
||||
return
|
||||
}
|
||||
this.$confirm('您确定要撤销此报名吗?', '温馨提醒', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
const res = await $.post('/platform/theRapyRecuperation/line/enroll/doDeleteMyEnrollInfoById/' + o.id)
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.pageData()
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
pageData() {
|
||||
sublime.showLoadingbar();
|
||||
this.tableLoading = true
|
||||
$.post('/platform/theRapyRecuperation/line/enroll/mySignUpPageData', this.pageForm, (data) => {
|
||||
sublime.closeLoadingbar();
|
||||
this.tableLoading = false
|
||||
if (data.code === 0) {
|
||||
this.tableData = data.data.list;
|
||||
this.pageForm.totalCount = data.data.totalCount;
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}, "json");
|
||||
},
|
||||
async getConfigData() {
|
||||
const resp = await $.get('/platform/theRapyRecuperation/TheRapyConfig/findOne')
|
||||
this.configData = resp.data
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.chooseButton = await getEnumOptions('TheRapyRecuperationType')
|
||||
this.chooseButton = this.chooseButton.filter(o => o.value !== 2)
|
||||
await this.getConfigData()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user