This commit is contained in:
2025-04-22 16:05:43 +08:00
parent 80b27850f3
commit 2bfb4061d0
4 changed files with 317 additions and 207 deletions
@@ -289,6 +289,7 @@ public class ActivityCommonController {
app.activityUnionName unionname,
app.sex,
app.mobile,
app.position,
app.unitname,
u.idCard,
u.userState,
@@ -333,6 +334,7 @@ public class ActivityCommonController {
exportEntities.add(new ExcelExportEntity("姓名", "username", 20));
exportEntities.add(new ExcelExportEntity("性别", "sex", 20));
exportEntities.add(new ExcelExportEntity("手机号码", "mobile", 20));
exportEntities.add(new ExcelExportEntity("职称职务", "position", 20));
exportEntities.add(new ExcelExportEntity("所在单位", "unitname", 20));
exportEntities.add(new ExcelExportEntity("身份", "sf", 20));
exportEntities.add(new ExcelExportEntity("报名人", "applyUserName", 20));
@@ -195,6 +195,12 @@ public class ActivitySchoolApply implements Serializable {
@ColDefine(type = ColType.VARCHAR, width = 50)
private String sex;
@Column
@Comment("职务")
@Excel(name = "职务", width = 20)
@ColDefine(type = ColType.VARCHAR, width = 50)
private String position;
@Excel(name = "在职状态", width = 20)
private String userState;
@@ -257,13 +257,13 @@ layout("/layouts/platform.html"){
</div>
<div class="text item" v-if="item.isSign"
style="display: flex;justify-content: space-around;">
<!-- <div>
<el-button @click.stop="doExport"
size="mini"
type="primary">
下载风险告知书(签名)
</el-button>
</div>-->
<!-- <div>
<el-button @click.stop="doExport"
size="mini"
type="primary">
下载风险告知书(签名)
</el-button>
</div>-->
<div>
<el-button @click.stop="openPromiseBook(item)"
size="mini"
@@ -675,19 +675,22 @@ layout("/layouts/platform.html"){
<el-table-column
align="center" header-align="center" label="所属队"
prop="team">
prop="team" width="100">
</el-table-column>
<el-table-column
align="center" header-align="center" label="姓名"
prop="username">
prop="username" width="100">
</el-table-column>
<el-table-column
align="center" header-align="center" label="教工号"
prop="loginname">
prop="loginname" width="150">
</el-table-column>
<el-table-column
align="center" header-align="center" label="性别"
prop="sex" width="100px">
</el-table-column>
<el-table-column
align="center" header-align="center" label="单位"
prop="unitname"
@@ -695,20 +698,28 @@ layout("/layouts/platform.html"){
</el-table-column>
<el-table-column
align="center" header-align="center" label="电话"
align="center" header-align="center" label="电话(手机)"
prop="mobile">
<template slot-scope="{row}">
<el-input placeholder="请输入电话"
v-model="row.mobile"></el-input>
</template>
</el-table-column>
<el-table-column
align="center" header-align="center" label="性别"
prop="sex">
</el-table-column>
<el-table-column
align="center" header-align="center" label="年龄"
prop="age">
align="center" header-align="center" label="职务"
prop="position">
<template slot-scope="{row}">
<el-input v-model="row.position" placeholder="请填写填写职称职务"></el-input>
</template>
</el-table-column>
<!-- <el-table-column
align="center" header-align="center" label="年龄"
prop="age">
</el-table-column>-->
<el-table-column
align="center" header-align="center" label="身份"
prop="identity" width="300px">
@@ -983,6 +994,10 @@ layout("/layouts/platform.html"){
<el-input maxlength="50" placeholder="请填写电话" type="text"
v-model="LeaderData.mobile"></el-input>
</el-form-item>
<el-form-item label="职称职务" prop="position">
<el-input maxlength="50" placeholder="请填写职称职务" type="text"
v-model="LeaderData.position"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<vi-title title="填写教练信息"></vi-title>
@@ -1022,6 +1037,10 @@ layout("/layouts/platform.html"){
<el-input maxlength="50" placeholder="请填写电话" type="text"
v-model="CoachData.mobile"></el-input>
</el-form-item>
<el-form-item label="职称职务" prop="position">
<el-input maxlength="50" placeholder="请填写职称职务" type="text"
v-model="CoachData.position"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<vi-title title="填写工作人员信息"></vi-title>
@@ -1302,7 +1321,8 @@ layout("/layouts/platform.html"){
],
formRules: {
name: [{required: true, message: "必填", trigger: ["blur", "change"]}],
teamId: [{required: true, message: "必填", trigger: ["blur", "change"]}]
teamId: [{required: true, message: "必填", trigger: ["blur", "change"]}],
position: [{required: true, message: "必填", trigger: ["blur", "change"]}]
// userId: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
@@ -2034,8 +2054,6 @@ layout("/layouts/platform.html"){
let flag = true
let msg = null
await this.apply()
if (flag1) {
const {
@@ -2054,6 +2072,23 @@ layout("/layouts/platform.html"){
const teamAppliedData = groupBy(appliedData, (v) => {
return v.teamId
})
//判断每一个选手填写的是否正确
for (let i = 0; i < appliedData.length; i++) {
if (!appliedData[i].position) {
this.$message.warning("请填写填写职称职务!")
return
}
if (!appliedData[i].mobile) {
this.$message.warning("请填写手机号!")
return
} else {
const phoneRegex = /^1[3-9]\d{9}$/;
if (!phoneRegex.test(appliedData[i].mobile)) {
this.$message.warning("手机号填写不正确!")
return
}
}
}
if (this.appliedData3.length == 0 && this.appliedData.length == 0) {
this.$notify.warning({
@@ -2065,49 +2100,61 @@ layout("/layouts/platform.html"){
for (let i = 0; i < teamAppliedData.length; i++) {
const teamName = teamAppliedData[i][0].team
if (deputyDirectorNum > 0 && teamAppliedData[i].filter(v => v.divisionLevelLeadership).length > deputyDirectorNum) {
//教练
const identity2 = teamAppliedData[i].filter(v => v.identity.includes('2')).length
//领队
const identity3 = teamAppliedData[i].filter(v => v.identity.includes('3')).length
//处级领导
const identity4 = teamAppliedData[i].filter(v => v.identity.includes('4')).length
//候补
const identity5 = teamAppliedData[i].filter(v => v.identity.includes('5')).length
if (deputyDirectorNum > 0 && identity4 > deputyDirectorNum) {
flag = false
msg = teamName + "处级领导应设置" + deputyDirectorNum + "人"
break
msg = teamName + '处级领导应设置' + deputyDirectorNum + '人'
break;
}
if (leanderNum > 0 && (identity3 === 0 || identity3 > leanderNum)) {
flag = false
msg = teamName + '领队应设置' + leanderNum + '人'
break;
}
if (leanderNum > 0 && teamAppliedData[i].filter(v => v.identity.includes("3")).length > leanderNum) {
if (coachNum > 0 && (identity2 === 0 || identity2 > coachNum)) {
flag = false
msg = teamName + "领队应设置" + leanderNum + "人"
break
msg = teamName + '教练应设置' + coachNum + '人'
break;
}
if (coachNum > 0 && teamAppliedData[i].filter(v => v.identity.includes("2")).length > coachNum) {
if (substituteNum > 0 && identity5 > substituteNum) {
flag = false
msg = teamName + "教练应设置" + coachNum + "人"
break
msg = teamName + '候补最多设置' + substituteNum + '人'
break;
}
if (projectType !== "1") {
if ((athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) > 0 && (teamAppliedData[i].filter(v => v.identity.includes("1")).length < (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) || teamAppliedData[i].filter(v => v.identity.includes("1")).length > (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)))) {
if (restrictGirlNum > 0 && teamAppliedData[i].filter(v => v.sex === '女' && v.identity.includes('1')).length < restrictGirlNum) {
flag = false
msg = teamName + '女运动员至少设置' + restrictGirlNum + '人'
break;
}
if (restrictBoyNum > 0 && teamAppliedData[i].filter(v => v.sex === '男' && v.identity.includes('1')).length < restrictBoyNum) {
flag = false
msg = teamName + '男运动员至少设置' + restrictBoyNum + '人'
break;
}
//团体才做的判断
if (projectType === '2') {
if ((athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) > 0 && (teamAppliedData[i].filter(v => v.identity.includes('1')).length < (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) || teamAppliedData[i].filter(v => v.identity.includes('1')).length > (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)))) {
flag = false
msg = teamName + "运动员应设置" + (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) + "人"
break
msg = teamName + '运动员应设置' + (athletesMaxNum ? athletesMaxNum : (restrictGirlNum + restrictBoyNum)) + '人'
break;
}
}
if (teamAppliedData[i].filter(v => v.identity.includes("5")).length > substituteNum) {
flag = false
msg = teamName + "替补最多设置" + substituteNum + "人"
break
}
if (restrictGirlNum > 0 && teamAppliedData[i].filter(v => v.sex === "女" && v.identity.includes("1")).length < restrictGirlNum) {
flag = false
msg = teamName + "女运动员至少设置" + restrictGirlNum + "人"
break
}
if (restrictBoyNum > 0 && teamAppliedData[i].filter(v => v.sex === "男" && v.identity.includes("1")).length < restrictBoyNum) {
flag = false
msg = teamName + "男运动员至少设置" + restrictBoyNum + "人"
break
}
}
if (!flag && this.isLeader == false) {
this.$notify.warning({title: "警告", message: msg})
return
this.$notify.warning({title: '警告', message: msg});
return;
}
}
if (!flag1) {
@@ -2406,14 +2453,14 @@ layout("/layouts/platform.html"){
this.rightChecked = v
},
flushApplyed(applyed) {
if (this.activityData2.id==="6a2546b6df41457b871d590c0290eb07"){
if (this.team==="00dfa3b4f2ad4d238277b1345e6437f3"&&"${@shiro.getPrincipalProperty('unit').getUnionid()}"!=="6234c0450ef0414f87a38794faac6c3d"){
if (this.activityData2.id === "6a2546b6df41457b871d590c0290eb07") {
if (this.team === "00dfa3b4f2ad4d238277b1345e6437f3" && "${@shiro.getPrincipalProperty('unit').getUnionid()}" !== "6234c0450ef0414f87a38794faac6c3d") {
this.$notify({
title: "警告",
message: "您只能报一队暂时不能报两队!",
type: "warning"
})
this.team="ad85ba7540494c0d849936555287fa78"
this.team = "ad85ba7540494c0d849936555287fa78"
return
}
}
@@ -36,37 +36,38 @@ layout("/layouts/platform.html"){
<div class="search-item">
<div class="search-item-label">活动年份</div>
<el-date-picker
v-model="pageForm.year"
type="year"
placeholder="选择年份"
style="width: 100%"
:clearable="false"
value-format="yyyy"
@change="yearChange()"
v-model="pageForm.year"
type="year"
placeholder="选择年份"
style="width: 100%"
:clearable="false"
value-format="yyyy"
@change="yearChange()"
></el-date-picker>
</div>
<div class="search-item">
<div class="search-item-label">活动级别</div>
<div class="search-item-option">
<el-select
v-model="pageForm.activityLevel"
placeholder="请选择活动级别"
clearable
style="width: 100%"
@change="changeLevel"
v-model="pageForm.activityLevel"
placeholder="请选择活动级别"
clearable
style="width: 100%"
@change="changeLevel"
>
<el-option v-for="item in activityTypeList" :key="item.code" :label="item.name" :value="item.code"></el-option>
<el-option v-for="item in activityTypeList" :key="item.code" :label="item.name"
:value="item.code"></el-option>
</el-select>
</div>
</div>
<div class="search-item">
<div class="search-item-label">活动名称</div>
<el-select
v-model="pageForm.id"
filterable
style="width: 100%; font-weight: bold"
placeholder="请选择活动"
@change="getData()"
v-model="pageForm.id"
filterable
style="width: 100%; font-weight: bold"
placeholder="请选择活动"
@change="getData()"
>
<el-option v-for="item in activities" :label="item.name" :value="item.id"></el-option>
</el-select>
@@ -77,15 +78,16 @@ layout("/layouts/platform.html"){
<div class="search-item-label" v-if="pageForm.activityLevel==='40003'">协会名称</div>
<div class="search-item-option">
<el-select
style="width: 100%; font-weight: bold"
v-model="pageForm.unionid"
placeholder="基层工会筛选"
filterable
clearable
@change="changeVVV"
@clear="changeVVV"
style="width: 100%; font-weight: bold"
v-model="pageForm.unionid"
placeholder="基层工会筛选"
filterable
clearable
@change="changeVVV"
@clear="changeVVV"
>
<el-option v-for="item in unions" :key="item.id" :label="item.unionname" :value="item.id"></el-option>
<el-option v-for="item in unions" :key="item.id" :label="item.unionname"
:value="item.id"></el-option>
</el-select>
</div>
</div>
@@ -143,11 +145,15 @@ layout("/layouts/platform.html"){
<el-col :span="6">{{isDisPlayCode?'('+app.unioncode+')':null}}{{app.unionname}}</el-col>
<el-col :span="6">{{pageForm.activityName || '暂无'}}</el-col>
<el-col :span="4">
{{app.num |money}} 人({{(app.promiseBookFiles&&app.promiseBookFiles.length>0)?'已上传风险告知书':'未上传'}})
{{app.num |money}}
人({{(app.promiseBookFiles&&app.promiseBookFiles.length>0)?'已上传风险告知书':'未上传'}})
</el-col>
<el-col :span="4">
<el-button @click="openPromiseBook(app)" style="float: right; padding: 3px 5px" type="text">查看风险告知书</el-button>
<el-button style="float: right; padding: 3px 5px" @click="$set(app,'show',!app.show)" type="text">
<el-button @click="openPromiseBook(app)" style="float: right; padding: 3px 5px"
type="text">查看风险告知书
</el-button>
<el-button style="float: right; padding: 3px 5px" @click="$set(app,'show',!app.show)"
type="text">
{{app.show?'折叠':'展开'}}
</el-button>
</el-col>
@@ -230,28 +236,29 @@ layout("/layouts/platform.html"){
<el-timeline-item timestamp="运动员信息" placement="top">
<el-table border stripe :data="app.apply2" size="mini" :key="tableKey">
<el-table-column
type="index"
label="序号"
header-align="center"
align="center"
sortable
width="100"
type="index"
label="序号"
header-align="center"
align="center"
sortable
width="100"
></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
:width="column.width"
align="center"
header-align="center"
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
:width="column.width"
>
<template scope="{row}" v-if="column.prop=='team'">
<span v-if="row.team">{{ row.team }}</span>
<span v-if="!row.team">暂无</span>
</template>
<template scope="{row:{projectType}}" v-else-if="column.prop=='projectType'">
<template scope="{row:{projectType}}"
v-else-if="column.prop=='projectType'">
{{projectType==1?'单项':'团体'}}
</template>
@@ -263,10 +270,18 @@ layout("/layouts/platform.html"){
<template scope="{row}" v-else-if="column.prop=='identity'">
<el-tag v-if="row.identity.includes(1)" effect="light">运动员</el-tag>
<el-tag v-if="row.identity.includes(2)" type="success" effect="light">教练</el-tag>
<el-tag v-if="row.identity.includes(3)" type="warning" effect="light">领队</el-tag>
<el-tag v-if="row.identity.includes(4)" type="warning" effect="light">处级领导</el-tag>
<el-tag v-if="row.identity.includes(5)" type="warning" effect="light">替补</el-tag>
<el-tag v-if="row.identity.includes(2)" type="success" effect="light">
教练
</el-tag>
<el-tag v-if="row.identity.includes(3)" type="warning" effect="light">
领队
</el-tag>
<el-tag v-if="row.identity.includes(4)" type="warning" effect="light">
处级领导
</el-tag>
<el-tag v-if="row.identity.includes(5)" type="warning" effect="light">
替补
</el-tag>
</template>
</el-table-column>
</el-table>
@@ -276,22 +291,31 @@ layout("/layouts/platform.html"){
<el-timeline v-else-if="pageForm.applyType===2">
<el-timeline-item timestamp="领队信息" placement="top" v-if="app.leader.username!=null">
<el-card shadow="never">
<el-form label-suffix=":" label-position="right" label-width="80px" style="margin-top: 30px">
<el-form label-suffix=":" label-position="right" label-width="100px"
style="margin-top: 30px">
<el-row gutter="20">
<el-col :span="4">
<el-form-item label="姓名">{{ app.leader.username | str }}</el-form-item>
<el-col :span="3">
<el-form-item label="姓名">{{ app.leader.username | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label="性别">{{ app.leader.sex | str }}</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工号">{{ app.leader.loginname | str }}</el-form-item>
<el-col :span="2">
<el-form-item label="工号">{{ app.leader.loginname | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="电话">{{ app.leader.mobile | str }}</el-form-item>
<el-form-item label="电话">{{ app.leader.mobile | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位">{{ app.leader.unitname | str }}</el-form-item>
<el-form-item label="职称职务">{{ app.leader.position | str }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位">{{ app.leader.unitname | str }}
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -299,22 +323,31 @@ layout("/layouts/platform.html"){
</el-timeline-item>
<el-timeline-item timestamp="教练信息" placement="top" v-if="app.coach.username!=null">
<el-card shadow="never">
<el-form label-suffix=":" label-position="right" label-width="80px" style="margin-top: 30px">
<el-form label-suffix=":" label-position="right" label-width="100px"
style="margin-top: 30px">
<el-row gutter="20">
<el-col :span="4">
<el-form-item label="姓名">{{ app.coach.username | str }}</el-form-item>
<el-col :span="3">
<el-form-item label="姓名">{{ app.coach.username | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="3">
<el-form-item label="性别">{{ app.coach.sex | str }}</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工号">{{ app.coach.loginname | str }}</el-form-item>
<el-col :span="2">
<el-form-item label="工号">{{ app.coach.loginname | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="电话">{{ app.coach.mobile | str }}</el-form-item>
<el-form-item label="电话">{{ app.coach.mobile | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位">{{ app.coach.unitname | str }}</el-form-item>
<el-form-item label="职称职务">{{ app.coach.position | str }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位">{{ app.coach.unitname | str }}
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -322,45 +355,56 @@ layout("/layouts/platform.html"){
</el-timeline-item>
<el-timeline-item timestamp="团长信息" placement="top" v-if="app.head.username!=null">
<el-card shadow="never">
<el-form label-suffix=":" label-position="right" label-width="80px" style="margin-top: 30px">
<el-form label-suffix=":" label-position="right" label-width="80px"
style="margin-top: 30px">
<el-row gutter="20">
<el-col :span="4">
<el-form-item label="姓名">{{ app.head.username | str }}</el-form-item>
<el-form-item label="姓名">{{ app.head.username | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="性别">{{ app.head.sex | str }}</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工号">{{ app.head.loginname | str }}</el-form-item>
<el-form-item label="工号">{{ app.head.loginname | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="电话">{{ app.head.mobile | str }}</el-form-item>
<el-form-item label="电话">{{ app.head.mobile | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位">{{ app.head.unitname | str }}</el-form-item>
<el-form-item label="单位">{{ app.head.unitname | str }}
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="工作人员信息" placement="top" v-if="app.staff.username!=null">
<el-timeline-item timestamp="工作人员信息" placement="top"
v-if="app.staff.username!=null">
<el-card shadow="never">
<el-form label-suffix=":" label-position="right" label-width="80px" style="margin-top: 30px">
<el-form label-suffix=":" label-position="right" label-width="80px"
style="margin-top: 30px">
<el-row gutter="20">
<el-col :span="4">
<el-form-item label="姓名">{{ app.staff.username | str }}</el-form-item>
<el-form-item label="姓名">{{ app.staff.username | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="性别">{{ app.staff.sex | str }}</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="工号">{{ app.staff.loginname | str }}</el-form-item>
<el-form-item label="工号">{{ app.staff.loginname | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="电话">{{ app.staff.mobile | str }}</el-form-item>
<el-form-item label="电话">{{ app.staff.mobile | str }}
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单位">{{ app.staff.unitname | str }}</el-form-item>
<el-form-item label="单位">{{ app.staff.unitname | str }}
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -372,18 +416,18 @@ layout("/layouts/platform.html"){
<div class="search-item">
<div class="search-item-option">
<el-select
v-model="app.eventId"
placeholder="请选择活动项目"
filterable
clearable
style="width: 100%"
@change="doEvent(app)"
v-model="app.eventId"
placeholder="请选择活动项目"
filterable
clearable
style="width: 100%"
@change="doEvent(app)"
>
<el-option
v-for="item in events"
:key="item.id"
:label="item.allname"
:value="item.eventid"
v-for="item in events"
:key="item.id"
:label="item.allname"
:value="item.eventid"
></el-option>
</el-select>
</div>
@@ -393,20 +437,20 @@ layout("/layouts/platform.html"){
<div class="search-item">
<div class="search-item-option">
<el-select
v-model="app.projectType"
placeholder="请选择项目类型"
allow-create
filterable
default-first-option
clearable
style="width: 100%"
@change="doEventType(app)"
v-model="app.projectType"
placeholder="请选择项目类型"
allow-create
filterable
default-first-option
clearable
style="width: 100%"
@change="doEventType(app)"
>
<el-option
v-for="item in projectTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
v-for="item in projectTypeList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</div>
@@ -416,23 +460,23 @@ layout("/layouts/platform.html"){
<el-table border stripe :data="app.apply2" size="mini" :key="tableKey">
<el-table-column
type="index"
label="序号"
header-align="center"
align="center"
sortable
width="100"
type="index"
label="序号"
header-align="center"
align="center"
sortable
width="100"
></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
:width="column.width"
show-overflow-tooltip
align="center"
header-align="center"
v-for="column in tableColumns"
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
:width="column.width"
show-overflow-tooltip
>
<template scope="{row}" v-if="column.prop=='team'">
<span v-if="row.team">{{ row.team }}</span>
@@ -445,16 +489,25 @@ layout("/layouts/platform.html"){
<span v-else class="text-danger">否</span>
</template>-->
<template scope="{row:{projectType}}" v-else-if="column.prop=='projectType'">
<template scope="{row:{projectType}}"
v-else-if="column.prop=='projectType'">
{{projectType==1?'单项':'团体'}}
</template>
<template scope="{row}" v-else-if="column.prop=='identity'">
<el-tag v-if="row.identity.includes(1)" effect="light">运动员</el-tag>
<el-tag v-if="row.identity.includes(2)" type="success" effect="light">教练</el-tag>
<el-tag v-if="row.identity.includes(3)" type="warning" effect="light">领队</el-tag>
<el-tag v-if="row.identity.includes(4)" type="warning" effect="light">处级领导</el-tag>
<el-tag v-if="row.identity.includes(5)" type="warning" effect="light">替补</el-tag>
<el-tag v-if="row.identity.includes(2)" type="success" effect="light">
教练
</el-tag>
<el-tag v-if="row.identity.includes(3)" type="warning" effect="light">
领队
</el-tag>
<el-tag v-if="row.identity.includes(4)" type="warning" effect="light">
处级领导
</el-tag>
<el-tag v-if="row.identity.includes(5)" type="warning" effect="light">
替补
</el-tag>
</template>
</el-table-column>
</el-table>
@@ -472,11 +525,11 @@ layout("/layouts/platform.html"){
<el-timeline-item placement="top" timestamp="下载模板">
<el-card>
<el-button
@click="location.href='/platform/basics/downloadTemplate?filePath=activity/ActivityApplyUser.xlsx&fileName=导入模板.xlsx'"
icon="el-icon-download"
size="medium"
style="width: 200px"
type=""
@click="location.href='/platform/basics/downloadTemplate?filePath=activity/ActivityApplyUser.xlsx&fileName=导入模板.xlsx'"
icon="el-icon-download"
size="medium"
style="width: 200px"
type=""
>
下载模板
</el-button>
@@ -485,17 +538,17 @@ layout("/layouts/platform.html"){
<el-timeline-item placement="top" timestamp="上传文件">
<el-card>
<el-upload
:auto-upload="false"
:file-list="importData.fileList"
:limit="1"
:on-change="(file, fileList) => {
:auto-upload="false"
:file-list="importData.fileList"
:limit="1"
:on-change="(file, fileList) => {
importData.fileList = fileHandleChange(file, fileList,{type:['xls','xlsx']})
}"
:on-remove="(file, fileList) => {
:on-remove="(file, fileList) => {
importData.fileList = fileHandleRemove(file, fileList)
}"
name="file"
ref="upload"
name="file"
ref="upload"
>
<el-button icon="el-icon-upload" size="medium" style="width: 200px" type="">选择文件</el-button>
</el-upload>
@@ -509,8 +562,10 @@ layout("/layouts/platform.html"){
</span>
</el-dialog>
<el-dialog :append-to-body="false" :close-on-click-modal="false" :visible.sync="promiseBookDialogVisible" title="参赛风险告知书" width="30%">
<file-upload :files="promiseBookFileList" view v-if="promiseBookFileList&&promiseBookFileList.length>0"></file-upload>
<el-dialog :append-to-body="false" :close-on-click-modal="false" :visible.sync="promiseBookDialogVisible"
title="参赛风险告知书" width="30%">
<file-upload :files="promiseBookFileList" view
v-if="promiseBookFileList&&promiseBookFileList.length>0"></file-upload>
<span v-if="promiseBookFileList&&promiseBookFileList.length===0">暂无风险告知书</span>
<span class="dialog-footer" slot="footer">
<el-button @click="promiseBookDialogVisible = false" type="primary">关 闭</el-button>
@@ -529,9 +584,9 @@ layout("/layouts/platform.html"){
importVisible: false,
events: [],
activityTypeList: [
{ name: "校级", code: 40001 },
{ name: "基层工会", code: 40002 },
{ name: "社团或协会", code: 40003 }
{name: "校级", code: 40001},
{name: "基层工会", code: 40002},
{name: "社团或协会", code: 40003}
],
noneData: true,
tabLoading: true,
@@ -548,21 +603,21 @@ layout("/layouts/platform.html"){
year: new Date().getFullYear() + ""
},
tableColumns: [
{ prop: "allName", label: "项目名称", sortable: true, width: "200px" },
{ prop: "team", label: "所属队", sortable: true },
{ prop: "username", label: "姓名" },
{ prop: "loginname", label: "教工号" },
{ prop: "sex", label: "性别" },
{prop: "allName", label: "项目名称", sortable: true, width: "200px"},
{prop: "team", label: "所属队", sortable: true},
{prop: "username", label: "姓名"},
{prop: "loginname", label: "教工号"},
{prop: "sex", label: "性别"},
/* {prop: 'divisionLevelLeadership', label: '是否处级领导', sortable: true},*/
{ prop: "unitname", label: "单位", sortable: true },
{ prop: "mobile", label: "电话" },
{ prop: "projectType", label: "项目类型", sortable: true },
{ prop: "identity", label: "身份", sortable: true, width: "300px" },
{ prop: "applyUserName", label: "报名人" }
{prop: "unitname", label: "单位", sortable: true},
{prop: "mobile", label: "电话"},
{prop: "position", label: "职称职务"},
{prop: "identity", label: "身份", sortable: true, width: "300px"},
{prop: "applyUserName", label: "报名人"}
],
projectTypeList: [
{ id: "1", name: "单项" },
{ id: "2", name: "团体" }
{id: "1", name: "单项"},
{id: "2", name: "团体"}
],
fileList: [],
fileVisible: false,
@@ -637,9 +692,9 @@ layout("/layouts/platform.html"){
this.importVisible = true
},
doExportByEnroll() {
const { id, unionid } = this.pageForm
const {id, unionid} = this.pageForm
if (unionid === "") {
this.$notify.warning({ title: "警告", message: "请选择要导出的工会" })
this.$notify.warning({title: "警告", message: "请选择要导出的工会"})
return
}
window.open(loc() + "/doExportByEnroll?id=" + id + "&unionId=" + unionid)
@@ -648,7 +703,7 @@ layout("/layouts/platform.html"){
await this.getNearActivity()
},
doExport() {
const { id, unionid } = this.pageForm
const {id, unionid} = this.pageForm
location.href = "/platform/activity/common/exportXlsx?id=" + id
},
@@ -699,11 +754,11 @@ layout("/layouts/platform.html"){
}
},
async changeActivit() {
const resp = await $.post("/platform/activity/apply/getEvents", { activityId: this.pageForm.id })
const resp = await $.post("/platform/activity/apply/getEvents", {activityId: this.pageForm.id})
this.events = resp
},
doEventType(app) {
const { apply, projectType } = app
const {apply, projectType} = app
if (!app.projectType) {
this.$set(app, "apply2", apply)
} else {
@@ -714,7 +769,7 @@ layout("/layouts/platform.html"){
}
},
doEvent(app) {
const { apply, eventId } = app
const {apply, eventId} = app
if (!app.eventId) {
this.$set(app, "apply2", apply)
@@ -811,7 +866,7 @@ layout("/layouts/platform.html"){
return b.num - a.num
})
this.unions = v.map((v) => {
return { id: v.id, unionname: v.unionname }
return {id: v.id, unionname: v.unionname}
})
if (this.unions.length == 1) {
@@ -839,7 +894,7 @@ layout("/layouts/platform.html"){
}
},
async getActivityTypeList(code) {
const { data } = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", { code: code })
const {data} = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", {code: code})
return data
}
},