commit
This commit is contained in:
@@ -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
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user