first commit
This commit is contained in:
@@ -0,0 +1,396 @@
|
||||
<template>
|
||||
<view>
|
||||
<van-sticky class="van-sticky van-sticky--fixed" style="top: 40px">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" :options="yearList"
|
||||
@change="yearChange"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.activityLevel" :options="activityTypeOptions"
|
||||
@change="getNearActivity()"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.id" :options="activityOptions"
|
||||
@change="onRefresh"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionid" :options="unionOptions"
|
||||
@change="onRefresh"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
<div style="margin-top: 50px;">
|
||||
<van-list v-model="loading" :finished="finished"
|
||||
:finished-text="apply.length>0?'没有更多了':''"
|
||||
v-if="apply && apply.length>0" @load="pageData">
|
||||
<van-collapse v-model="oneCollapseName" accordion @change="changeCollapse">
|
||||
<template v-for="item in apply">
|
||||
<van-collapse-item :title="item.unionCode+'-'+item.unionName+'('+item.num+'人)'"
|
||||
:name="item.unionCode">
|
||||
|
||||
|
||||
<van-collapse v-model="twoCollapseName" accordion>
|
||||
<van-collapse-item title="领队" name="1" v-if="item.leader">
|
||||
<van-cell title="姓名" :value="item.leader.username"/>
|
||||
<van-cell title="教工号" :value="item.leader.loginname"/>
|
||||
<van-cell title="性别">
|
||||
{{ item.leader.sex == '0' ? '男' : item.leader.sex == '1' ? '女' : '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell title="单位" :value="item.coach.unitname"/>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="教练" name="2" v-if="item.coach">
|
||||
<van-cell title="姓名" :value="item.coach.username"/>
|
||||
<van-cell title="教工号" :value="item.coach.loginname"/>
|
||||
<van-cell title="性别">
|
||||
{{ item.coach.sex == '0' ? '男' : item.coach.sex == '1' ? '女' : '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell title="单位" :value="item.coach.unitname"/>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="团长" name="3" v-if="item.head">
|
||||
<van-cell title="姓名" :value="item.head.username"/>
|
||||
<van-cell title="教工号" :value="item.head.loginname"/>
|
||||
<van-cell title="性别">
|
||||
{{ item.head.sex == '0' ? '男' : item.head.sex == '1' ? '女' : '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell title="单位" :value="item.head.unitname"/>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="工作人员" name="4" v-if=" item.staff">
|
||||
<van-cell title="姓名" :value="item.staff.username"/>
|
||||
<van-cell title="教工号" :value="item.staff.loginname"/>
|
||||
<van-cell title="性别">
|
||||
{{ item.staff.sex == '0' ? '男' : item.staff.sex == '1' ? '女' : '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell title="单位" :value="item.staff.unitname"/>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="项目报名信息" name="5">
|
||||
<template v-if="item.apply2">
|
||||
<van-cell-group inset v-for="userItem in item.apply2">
|
||||
<van-cell title="项目名称" :value="userItem.allName"/>
|
||||
<van-cell title="所属队" :value="userItem.team?userItem.team.team:'暂无'"/>
|
||||
<van-cell title="姓名" :value="userItem.username"/>
|
||||
<van-cell title="教工号" :value="userItem.loginname"/>
|
||||
<van-cell title="性别">
|
||||
{{ userItem.sex == '0' ? '男' : userItem.sex == '1' ? '女' : '暂无' }}
|
||||
</van-cell>
|
||||
<van-cell title="单位" :value="userItem.unitname"/>
|
||||
<van-cell title="身份">
|
||||
<van-tag type="primary" v-if="userItem.identity.includes('1')"
|
||||
style="margin-right: 5px">运动员
|
||||
</van-tag>
|
||||
<van-tag type="success" v-if="userItem.identity.includes('2')"
|
||||
style="margin-right: 5px">教练
|
||||
</van-tag>
|
||||
<van-tag type="warning" v-if="userItem.identity.includes('3')"
|
||||
style="margin-right: 5px">领队
|
||||
</van-tag>
|
||||
<van-tag type="danger" v-if="userItem.identity.includes('4')"
|
||||
style="margin-right: 5px">处级领导
|
||||
</van-tag>
|
||||
<van-tag type="danger" v-if="userItem.identity.includes('5')"
|
||||
style="margin-right: 5px">替补
|
||||
</van-tag>
|
||||
</van-cell>
|
||||
|
||||
<van-cell title="备注" :value="userItem.bz"/>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
<template v-else>暂无</template>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
|
||||
|
||||
</van-collapse-item>
|
||||
</template>
|
||||
|
||||
</van-collapse>
|
||||
|
||||
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mobileMixins from "@/mixins/mobileMixins";
|
||||
|
||||
export default {
|
||||
mixins: [mobileMixins],
|
||||
name: "summary",
|
||||
filters: {
|
||||
money(val) {
|
||||
return val || 0
|
||||
},
|
||||
str(val) {
|
||||
return val || '暂无'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
activityTypeOptions() {
|
||||
if (this.activityTypeList) {
|
||||
return this.activityTypeList.map(v => {
|
||||
return {
|
||||
value: v.code,
|
||||
text: v.name
|
||||
}
|
||||
})
|
||||
}
|
||||
return []
|
||||
},
|
||||
activityOptions() {
|
||||
if (this.activities) {
|
||||
return this.activities.map(v => {
|
||||
return {
|
||||
value: v.id,
|
||||
text: v.name
|
||||
}
|
||||
})
|
||||
}
|
||||
return []
|
||||
},
|
||||
unionOptions() {
|
||||
if (this.unions) {
|
||||
return this.unions.map(v => {
|
||||
return {
|
||||
value: v.id,
|
||||
text: v.unionName
|
||||
}
|
||||
})
|
||||
}
|
||||
return []
|
||||
}
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isH04: this.$auth.hasRole('H04'),
|
||||
events: [],
|
||||
activityTypeList: [],
|
||||
activities: [],
|
||||
apply: [],
|
||||
apply2: [],
|
||||
unions: [],
|
||||
rootData: [],
|
||||
pageForm: {
|
||||
pageSize: 10,
|
||||
id: '',
|
||||
unionid: '',
|
||||
year: new Date().getFullYear(),
|
||||
},
|
||||
projectTypeList: [
|
||||
{id: '1', name: '单项'},
|
||||
{id: '2', name: '团体'}
|
||||
],
|
||||
|
||||
//年份列表
|
||||
yearOptions: [],
|
||||
oneCollapseName: "",
|
||||
twoCollapseName: "",
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeCollapse(){
|
||||
this.twoCollapseName=""
|
||||
},
|
||||
async onRefresh() {
|
||||
this.apply = []
|
||||
this.refreshing = true;
|
||||
this.finished = false;
|
||||
this.pageForm.pageNumber = 0
|
||||
this.loading = true;
|
||||
this.oneCollapseName = ""
|
||||
this.twoCollapseName = ""
|
||||
await this.pageData();
|
||||
},
|
||||
async changeActivity() {
|
||||
const resp = await this.$http.get('/activity/sports/activityApply/getEvents', {
|
||||
params: {
|
||||
activityId: this.pageForm.id
|
||||
}
|
||||
})
|
||||
if (resp.code === 200) {
|
||||
this.events = resp.data
|
||||
}
|
||||
},
|
||||
async yearChange() {
|
||||
this.pageForm.id = null
|
||||
await this.getNearActivity()
|
||||
},
|
||||
async getNearActivity() {
|
||||
const resp = await this.$http.get('/activity/sports/reading/getNearActivity', {
|
||||
params: {
|
||||
year: this.pageForm.year,
|
||||
activityLevel: this.pageForm.activityLevel
|
||||
}
|
||||
})
|
||||
if (resp.code === 200) {
|
||||
this.activities = resp.data
|
||||
if (resp.data.length) {
|
||||
this.pageForm.id = resp.data[0].id
|
||||
await this.onRefresh()
|
||||
} else {
|
||||
this.pageForm.unionid = ''
|
||||
this.unions = []
|
||||
this.apply = []
|
||||
this.pageForm.pageNumber = 0
|
||||
}
|
||||
}
|
||||
},
|
||||
async changeActivit() {
|
||||
const resp = await this.$http.get('/activity/sports/activityApply/getEvents', {
|
||||
params: {
|
||||
activityId: this.pageForm.id
|
||||
}
|
||||
})
|
||||
if (resp.code === 200) {
|
||||
this.events = resp.data
|
||||
}
|
||||
},
|
||||
async pageData() {
|
||||
this.$modal.loading()
|
||||
this.loading = true
|
||||
await this.changeActivit()
|
||||
|
||||
const activity = this.activities.filter(v => {
|
||||
return v.id === this.pageForm.id
|
||||
})
|
||||
|
||||
this.pageForm.activityName = activity.length > 0 ? activity[0].name : null
|
||||
this.pageForm.applyType = activity[0].applyType
|
||||
|
||||
const resp = await this.$http.post('/activity/sports/reading/getData', this.pageForm, {
|
||||
params: {
|
||||
id: this.pageForm.id,
|
||||
activityLevel: this.pageForm.activityLevel,
|
||||
applyed: this.pageForm.applyed,
|
||||
unionid: this.pageForm.unionid
|
||||
}
|
||||
})
|
||||
|
||||
if (resp.code === 200) {
|
||||
const v = resp.data.list
|
||||
if (v.length) {
|
||||
v.forEach(x => {
|
||||
const leaders = x.apply.filter(i => {
|
||||
return i.unionLeader
|
||||
})
|
||||
|
||||
x.leader = null
|
||||
if (leaders.length) {
|
||||
x.leader = leaders[0]
|
||||
}
|
||||
|
||||
const coachs = x.apply.filter(i => {
|
||||
return i.unionCoach
|
||||
})
|
||||
|
||||
x.coach = null
|
||||
if (coachs.length) {
|
||||
x.coach = coachs[0]
|
||||
}
|
||||
|
||||
const heads = x.apply.filter(i => {
|
||||
return i.unionHead
|
||||
})
|
||||
|
||||
x.head = null
|
||||
if (heads.length) {
|
||||
x.head = heads[0]
|
||||
}
|
||||
|
||||
const staffs = x.apply.filter(i => {
|
||||
return i.unionStaff
|
||||
})
|
||||
|
||||
x.staff = null
|
||||
if (staffs.length) {
|
||||
x.staff = staffs[0]
|
||||
}
|
||||
|
||||
x.apply = x.apply.filter(i => {
|
||||
return !i.unionLeader && !i.unionCoach && !i.unionHead && !i.unionStaff
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
this.rootData = JSON.parse(JSON.stringify(v))
|
||||
this.rootData.forEach(x => {
|
||||
if (x.apply&&x.apply.length>0){
|
||||
x.apply2 = this.clone(x.apply)
|
||||
}else{
|
||||
x.apply2 = null
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.unions = []
|
||||
this.pageForm.unionid = ''
|
||||
this.loading = false
|
||||
this.finished = true
|
||||
this.$modal.closeLoading()
|
||||
}
|
||||
if (this.pageForm.activityLevel !== '40001' && this.rootData && this.rootData.length > 0) {
|
||||
this.$set(this.rootData[0], 'show', true)
|
||||
}
|
||||
this.apply = this.apply.concat(this.rootData)
|
||||
this.pageForm.totalCount = resp.data.totalCount
|
||||
if (this.apply.length === this.pageForm.totalCount) {
|
||||
this.finished = true
|
||||
this.unions = this.apply.map(v => {
|
||||
return {id: v.id, unionName: v.unionName}
|
||||
})
|
||||
this.unions.unshift({id: '', unionName: '全部'})
|
||||
|
||||
if (this.unions.length === 2) {
|
||||
this.pageForm.unionid = this.unions[1].id
|
||||
}
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.loading = false
|
||||
this.$modal.closeLoading()
|
||||
} else {
|
||||
this.loading = false
|
||||
this.finished = true
|
||||
this.$modal.closeLoading()
|
||||
}
|
||||
},
|
||||
async getActivityTypeList(code) {
|
||||
const {data} = await this.$http.get('/activity/common/getActivityTwoLevelType', {
|
||||
params: {
|
||||
code: code
|
||||
}
|
||||
})
|
||||
return data
|
||||
},
|
||||
doEventType(app) {
|
||||
const {apply, projectType} = app
|
||||
if (!app.projectType) {
|
||||
this.$set(app, 'apply2', apply)
|
||||
} else {
|
||||
const arr = apply.filter(i => {
|
||||
return i.projectType === projectType
|
||||
})
|
||||
this.$set(app, 'apply2', arr)
|
||||
}
|
||||
},
|
||||
doEvent(app) {
|
||||
const {apply, eventId} = app
|
||||
|
||||
if (!app.eventId) {
|
||||
this.$set(app, 'apply2', apply)
|
||||
} else {
|
||||
const arr = apply.filter(i => {
|
||||
return !i.unionLeader && !i.unionCoach && i.evid === eventId
|
||||
})
|
||||
this.$set(app, 'apply2', arr)
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.changeActivity()
|
||||
const activityType = await this.getActivityTypeList('40000')
|
||||
this.activityTypeList = activityType
|
||||
this.$set(this.pageForm, 'activityLevel', this.activityTypeList[0].code)
|
||||
await this.getNearActivity()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user