commit
This commit is contained in:
@@ -1,959 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.mb10 {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.d .el-card__header {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.d .el-card__body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.search .search-item {
|
||||
width: calc((100% - 0px) / 4);
|
||||
}
|
||||
|
||||
.search .search-item-label {
|
||||
/*min-width: 70px;*/
|
||||
}
|
||||
|
||||
.el-row-title {
|
||||
margin-bottom: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="platform" id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<template>
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">活动年份</div>
|
||||
<el-date-picker :clearable="false" @change="yearChange()" placeholder="选择年份"
|
||||
style="width: 100%" type="year" v-model="pageForm.year"
|
||||
value-format="yyyy"></el-date-picker>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">活动级别</div>
|
||||
<div class="search-item-option">
|
||||
<el-select @change="changeLevel" clearable
|
||||
placeholder="请选择活动级别"
|
||||
style="width: 100%" v-model="pageForm.activityLevel">
|
||||
<el-option
|
||||
:key="item.code"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
v-for="item in activityTypeList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">活动名称</div>
|
||||
<el-select @change="getData()" filterable
|
||||
placeholder="请选择活动"
|
||||
style="width: 100%;font-weight:bold;"
|
||||
v-model="pageForm.id">
|
||||
<el-option :label="item.name" :value="item.id"
|
||||
v-for="item in activities"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="search-item">
|
||||
<div class="search-item-label" v-if="pageForm.activityLevel!=='40003'">
|
||||
院级工会
|
||||
</div>
|
||||
<div class="search-item-label" v-if="pageForm.activityLevel==='40003'">
|
||||
社团名称
|
||||
</div>
|
||||
<div class="search-item-option">
|
||||
<el-select @change="changeVVV"
|
||||
@clear="changeVVV"
|
||||
clearable
|
||||
filterable placeholder="院级工会筛选"
|
||||
style="width: 100%;font-weight:bold;" v-model="pageForm.unionid">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id"
|
||||
v-for="item in unions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--#if(!@shiro.hasRole('H04') || !@shiro.hasRole('ghzl')){#-->
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">报名状态</div>
|
||||
<div class="search-item-option">
|
||||
<el-radio-group size="medium" v-model="pageForm.applyed">
|
||||
<el-radio border label="1" style="background-color: white">未报名
|
||||
</el-radio>
|
||||
<el-radio border label="2" style="background-color: white">已报名
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div>
|
||||
<!--#}#-->
|
||||
|
||||
<!-- <div class="search-item">
|
||||
<div class="search-item-label">导入导出</div>
|
||||
<div class="search-item-option">
|
||||
<el-button type="primary" plain @click="openImport">导入报名人员</el-button>
|
||||
<el-button @click="doExportByEnroll" plain
|
||||
type="primary">导出报名信息
|
||||
</el-button>
|
||||
<!– <el-button @click="doExportByEnroll" icon="el-icon-printer" plain size="small"
|
||||
style="position: absolute;right: 0px" type="primary">导出报名信息
|
||||
</el-button>–>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10 d" shadow="never" style="padding: 20px">
|
||||
<vi-title2 title="报名列表">
|
||||
<template #func>
|
||||
<!--#if(@shiro.hasRole('sysadmin')){#-->
|
||||
<el-button @click="exportUnionNum" size="small" type="primary">导出分工会报名人数
|
||||
</el-button>
|
||||
<el-button @click="exportUnionUser" size="small" type="primary">导出报名人员名单
|
||||
</el-button>
|
||||
<!--#}#-->
|
||||
<!--#if(@shiro.hasRole('ghzl')){#-->
|
||||
<el-button @click="exportUnionUser" size="small" type="primary">导出报名人员名单
|
||||
</el-button>
|
||||
<!--#}#-->
|
||||
</template>
|
||||
</vi-title2>
|
||||
<el-row :gutter="20" class="el-row-title" style="margin-left: 0;margin-right: 0;">
|
||||
<el-col :span="2">序号</el-col>
|
||||
<el-col :span="4">年度</el-col>
|
||||
<el-col :span="6">
|
||||
<span v-if="pageForm.activityLevel!=='40003'">分工会名称</span>
|
||||
<span v-if="pageForm.activityLevel==='40003'">社团名称</span>
|
||||
</el-col>
|
||||
<el-col :span="6">活动名称</el-col>
|
||||
<el-col :span="4">人数</el-col>
|
||||
<el-col :span="2">
|
||||
<!-- <el-button style="position: absolute;right: 0px" plain size="small" icon="el-icon-printer"
|
||||
type="primary" @click="doExport">导 出
|
||||
</el-button>-->
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="[]" size="mini" v-if="noneData||tabLoading"
|
||||
v-loading="tabLoading"></el-table>
|
||||
|
||||
<el-card class="box-card mb10" shadow="hover" v-else v-for="app,tabIdx in apply"
|
||||
v-loading="tabLoading">
|
||||
<div class="clearfix" slot="header">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="2">{{tabIdx + 1}}</el-col>
|
||||
<el-col :span="4">{{pageForm.year}}</el-col>
|
||||
<el-col :span="6">
|
||||
{{isDisPlayCode?'('+app.unioncode+')':null}}{{app.unionname}}
|
||||
</el-col>
|
||||
<el-col :span="6">{{pageForm.activityName || '暂无'}}</el-col>
|
||||
<el-col :span="2">{{app.num |money}} 人</el-col>
|
||||
<el-col :span="4">
|
||||
<el-button @click="$set(app,'show',!app.show)"
|
||||
style="float: right; padding: 3px 5px"
|
||||
type="text">{{app.show?'折叠':'展开'}}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<transition name="el-fade-in-linear">
|
||||
<div class="text item transition-box" style="padding: 20px 20px"
|
||||
v-show="app.show">
|
||||
<el-timeline v-if="pageForm.applyType===1||pageForm.applyType===3">
|
||||
<!-- <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-row gutter="20">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="姓名">
|
||||
{{ app.leader.username | str }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<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>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</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-row gutter="20">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="姓名">
|
||||
{{ app.coach.username | str }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<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>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</el-timeline-item>-->
|
||||
|
||||
<el-timeline-item placement="top" timestamp="教职工信息">
|
||||
|
||||
<el-table :data="app.apply2" :key="tableKey" border size="mini"
|
||||
stripe>
|
||||
|
||||
<el-table-column
|
||||
align="center" header-align="center" label="序号"
|
||||
sortable type="index"
|
||||
width="100">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:width="column.width"
|
||||
align="center"
|
||||
header-align="center"
|
||||
v-for="column in tableColumns">
|
||||
|
||||
<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'">
|
||||
{{projectType==1?'单项':'团体'}}
|
||||
</template>
|
||||
|
||||
<!-- <template scope="{row:{divisionLevelLeadership}}"
|
||||
v-else-if="column.prop=='divisionLevelLeadership'">
|
||||
<span v-if="divisionLevelLeadership" class="text-primary">是</span>
|
||||
<span v-else class="text-danger">否</span>
|
||||
</template>-->
|
||||
|
||||
<template scope="{row}"
|
||||
v-else-if="column.prop=='identity'">
|
||||
<el-tag effect="light"
|
||||
v-if="row.identity.includes(1)">运动员
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="success" v-if="row.identity.includes(2)">教练
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning" v-if="row.identity.includes(3)">领队
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning"
|
||||
v-if="row.identity.includes(4)">处级领导
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning" v-if="row.identity.includes(5)">替补
|
||||
</el-tag>
|
||||
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
|
||||
<el-timeline v-else-if="pageForm.applyType===2">
|
||||
<el-timeline-item placement="top" timestamp="领队信息"
|
||||
v-if="app.leader.username!=null">
|
||||
<el-card shadow="never">
|
||||
<el-form label-position="right" label-suffix=":"
|
||||
label-width="80px"
|
||||
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>
|
||||
<el-col :span="4">
|
||||
<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>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</el-timeline-item>
|
||||
<el-timeline-item placement="top" timestamp="教练信息"
|
||||
v-if="app.coach.username!=null">
|
||||
<el-card shadow="never">
|
||||
<el-form label-position="right" label-suffix=":"
|
||||
label-width="80px"
|
||||
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>
|
||||
<el-col :span="4">
|
||||
<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>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</el-timeline-item>
|
||||
<el-timeline-item placement="top" timestamp="团长信息"
|
||||
v-if="app.head.username!=null">
|
||||
<el-card shadow="never">
|
||||
<el-form label-position="right" label-suffix=":"
|
||||
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-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-col>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</el-timeline-item>
|
||||
<el-timeline-item placement="top" timestamp="工作人员信息"
|
||||
v-if="app.staff.username!=null">
|
||||
<el-card shadow="never">
|
||||
<el-form label-position="right" label-suffix=":"
|
||||
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-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-col>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
</el-timeline-item>
|
||||
<el-timeline-item placement="top" timestamp="教职工信息">
|
||||
<el-row gutter="40">
|
||||
<el-col :span="4">
|
||||
<div class="search-item">
|
||||
<div class="search-item-option">
|
||||
<el-select @change="doEvent(app)"
|
||||
clearable
|
||||
filterable placeholder="请选择活动项目"
|
||||
style="width: 100%"
|
||||
v-model="app.eventId">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.allName"
|
||||
:value="item.eventId"
|
||||
v-for="item in events">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<div class="search-item">
|
||||
<div class="search-item-option">
|
||||
<el-select @change="doEventType(app)"
|
||||
allow-create
|
||||
clearable default-first-option
|
||||
filterable placeholder="请选择项目类型"
|
||||
style="width: 100%"
|
||||
v-model="app.projectType">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
v-for="item in projectTypeList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="app.apply2" :key="tableKey" border class="mt10"
|
||||
size="mini"
|
||||
stripe>
|
||||
<el-table-column
|
||||
align="center" header-align="center" label="序号"
|
||||
sortable type="index"
|
||||
width="100">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:width="column.width"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns">
|
||||
|
||||
<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:{divisionLevelLeadership}}"
|
||||
v-else-if="column.prop=='divisionLevelLeadership'">
|
||||
<span v-if="divisionLevelLeadership" class="text-primary">是</span>
|
||||
<span v-else class="text-danger">否</span>
|
||||
</template>-->
|
||||
|
||||
<template scope="{row:{projectType}}"
|
||||
v-else-if="column.prop=='projectType'">
|
||||
{{projectType==1?'单项':'团体'}}
|
||||
</template>
|
||||
|
||||
<template scope="{row}"
|
||||
v-else-if="column.prop=='identity'">
|
||||
<el-tag effect="light"
|
||||
v-if="row.identity.includes(1)">运动员
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="success" v-if="row.identity.includes(2)">教练
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning" v-if="row.identity.includes(3)">领队
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning"
|
||||
v-if="row.identity.includes(4)">处级领导
|
||||
</el-tag>
|
||||
<el-tag effect="light"
|
||||
type="warning" v-if="row.identity.includes(5)">替补
|
||||
</el-tag>
|
||||
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
|
||||
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
</el-card>
|
||||
</el-card>
|
||||
</template>
|
||||
</guava>
|
||||
|
||||
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="importVisible"
|
||||
title="导入"
|
||||
width="50%"
|
||||
>
|
||||
<el-timeline>
|
||||
<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="">下载模板
|
||||
</el-button>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item placement="top" timestamp="上传文件">
|
||||
<el-card>
|
||||
<el-upload
|
||||
: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) => {
|
||||
importData.fileList = fileHandleRemove(file, fileList)
|
||||
}"
|
||||
name="file"
|
||||
ref="upload">
|
||||
<el-button icon="el-icon-upload" size="medium" style="width: 200px" type="">
|
||||
选择文件
|
||||
</el-button>
|
||||
</el-upload>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
|
||||
<span class="dialog-footer" slot="footer">
|
||||
<el-button :disabled="importLoading" @click="importVisible = false">取 消</el-button>
|
||||
<el-button :loading="importLoading" @click="doImport" type="primary">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
importData: {},
|
||||
importLoading: false,
|
||||
importVisible: false,
|
||||
events: [],
|
||||
activityTypeList: [],
|
||||
noneData: true,
|
||||
tabLoading: true,
|
||||
activities: [],
|
||||
apply: [],
|
||||
apply2: [],
|
||||
unions: [],
|
||||
rootData: [],
|
||||
tableKey: '',
|
||||
pageForm: {
|
||||
id: '',
|
||||
unionid: '',
|
||||
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: '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: 'notes', label: '备注'},
|
||||
{prop: 'campus', label: '参加地点'},
|
||||
],
|
||||
projectTypeList: [
|
||||
{id: '1', name: '单项'},
|
||||
{id: '2', name: '团体'},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'guava': httpVueLoader('/components/plugins/Guava.vue'),
|
||||
'info': httpVueLoader('/components/activity/school/Info.vue'),
|
||||
},
|
||||
filters: {
|
||||
money(val) {
|
||||
return val ? val : 0
|
||||
},
|
||||
str(val) {
|
||||
return val ? val : '暂无'
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'pageForm.applyed': (val) => {
|
||||
vue.changeVVV(val)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
exportUnionNum() {
|
||||
window.open(loc() + '/exportUnionNum?activityId=' + this.pageForm.id + '&activityLevel=' + this.pageForm.activityLevel)
|
||||
},
|
||||
exportUnionUser() {
|
||||
window.open("/platform/activity/common/exportXlsx?id=" + this.pageForm.id + '&unionId=' + this.pageForm.unionid)
|
||||
// window.open("/platform/activity/common/exportXlsx2?id=" + this.pageForm.id+'&unionId='+this.pageForm.unionid)
|
||||
},
|
||||
|
||||
doImport() {
|
||||
if (!this.importData.fileList.length) {
|
||||
this.notifyWarning("请选择文件!")
|
||||
return
|
||||
}
|
||||
const data = new FormData();
|
||||
this.importData.fileList.forEach((val) => {
|
||||
data.append("file", val.raw, val.raw.name);
|
||||
data.append("activityId", this.pageForm.id);
|
||||
});
|
||||
this.importLoading = true
|
||||
$.ajax({
|
||||
url: loc() + "/importUserActivitys",
|
||||
type: "post",
|
||||
data: data,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: (data) => {
|
||||
if (!data.code) {
|
||||
this.notifySuccess(data.msg);
|
||||
this.getData();
|
||||
this.importVisible = false
|
||||
} else {
|
||||
this.notifyWarning(data.msg)
|
||||
}
|
||||
this.importLoading = false
|
||||
},
|
||||
error: (data) => {
|
||||
this.notifyWarning(data.msg)
|
||||
this.importLoading = false
|
||||
}
|
||||
});
|
||||
},
|
||||
openImport() {
|
||||
this.importData = {
|
||||
fileList: []
|
||||
}
|
||||
if (!this.pageForm.id) {
|
||||
this.notifyWarning("请先选择活动名称")
|
||||
return
|
||||
}
|
||||
this.importVisible = true;
|
||||
},
|
||||
doExportByEnroll() {
|
||||
const {id, unionid} = this.pageForm
|
||||
if (unionid === "") {
|
||||
this.$notify.warning({title: '警告', message: "请选择要导出的工会"});
|
||||
return
|
||||
}
|
||||
window.open(loc() + "/doExportByEnroll?id=" + id + "&unionId=" + unionid)
|
||||
},
|
||||
async changeLevel() {
|
||||
await this.getNearActivity()
|
||||
},
|
||||
doExport() {
|
||||
const {id, unionid} = this.pageForm
|
||||
|
||||
location.href = "/platform/activity/common/exportXlsx?id=" + id
|
||||
},
|
||||
async yearChange() {
|
||||
this.pageForm.id = null
|
||||
await this.getNearActivity()
|
||||
},
|
||||
changeVVV() {
|
||||
if (this.pageForm.unionid) {
|
||||
this.apply = this.rootData.filter(v => {
|
||||
return v.id === this.pageForm.unionid
|
||||
})
|
||||
} else {
|
||||
this.apply = JSON.parse(JSON.stringify(this.rootData))
|
||||
}
|
||||
|
||||
if (this.pageForm.applyed === '1') {
|
||||
this.apply = this.apply.filter(v => {
|
||||
return v.num === 0
|
||||
})
|
||||
} else if (this.pageForm.applyed === '2') {
|
||||
this.apply = this.apply.filter(v => {
|
||||
return v.num > 0
|
||||
})
|
||||
}
|
||||
|
||||
this.tableKey = new Date().getTime()
|
||||
},
|
||||
async getNearActivity() {
|
||||
const resp = await $.get(loc() + "/getNearActivity", {
|
||||
year: this.pageForm.year,
|
||||
activityLevel: this.pageForm.activityLevel
|
||||
})
|
||||
if (resp.code === 0) {
|
||||
this.activities = resp.data
|
||||
if (resp.data.length) {
|
||||
this.pageForm.id = resp.data[0].id
|
||||
this.getData()
|
||||
} else {
|
||||
this.pageForm.unionid = ""
|
||||
this.unionis = []
|
||||
this.pageForm.id = ""
|
||||
this.noneData = true
|
||||
this.tabLoading = false
|
||||
}
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
async changeActivit() {
|
||||
const resp = await $.post("/platform/activity/apply/getEvents", {activityId: this.pageForm.id})
|
||||
this.events = resp
|
||||
|
||||
},
|
||||
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 getData() {
|
||||
this.noneData = true
|
||||
this.tabLoading = 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 $.get(loc() + "/getData", this.pageForm)
|
||||
this.tabLoading = false
|
||||
if (resp.code === 0) {
|
||||
const v = resp.data
|
||||
if (v.length) {
|
||||
/* if (activity[0].applyType == 2) {*/
|
||||
v.forEach(x => {
|
||||
|
||||
const leaders = x.apply.filter(i => {
|
||||
return i.unionLeader
|
||||
})
|
||||
|
||||
x.leader = {}
|
||||
if (leaders.length) {
|
||||
x.leader = leaders[0]
|
||||
}
|
||||
|
||||
const coachs = x.apply.filter(i => {
|
||||
return i.unionCoach
|
||||
})
|
||||
|
||||
x.coach = {}
|
||||
if (coachs.length) {
|
||||
x.coach = coachs[0]
|
||||
}
|
||||
|
||||
const heads = x.apply.filter(i => {
|
||||
return i.unionHead
|
||||
})
|
||||
|
||||
x.head = {}
|
||||
if (heads.length) {
|
||||
x.head = heads[0]
|
||||
}
|
||||
|
||||
const staffs = x.apply.filter(i => {
|
||||
return i.unionStaff
|
||||
})
|
||||
|
||||
x.staff = {}
|
||||
if (staffs.length) {
|
||||
x.staff = staffs[0]
|
||||
}
|
||||
|
||||
x.apply = x.apply.filter(i => {
|
||||
return !i.unionLeader && !i.unionCoach && !i.unionHead && !i.unionStaff
|
||||
})
|
||||
|
||||
})
|
||||
/*}*//* else {
|
||||
v.forEach(x => {
|
||||
const leaders = x.apply.filter(i => {
|
||||
return i.identity.includes(3)
|
||||
})
|
||||
x.leader = {}
|
||||
if (leaders.length) {
|
||||
x.leader = leaders[0]
|
||||
}
|
||||
const coachs = x.apply.filter(i => {
|
||||
return i.identity.includes(2)
|
||||
})
|
||||
|
||||
x.coach = {}
|
||||
if (coachs.length) {
|
||||
x.coach = coachs[0]
|
||||
}
|
||||
|
||||
x.apply = x.apply.filter(i => {
|
||||
return i.identity.includes(1)
|
||||
})
|
||||
})
|
||||
}*/
|
||||
|
||||
|
||||
v.sort((a, b) => {
|
||||
return b.num - a.num
|
||||
})
|
||||
this.unions = v.map(v => {
|
||||
return {id: v.id, unionname: v.unionname}
|
||||
})
|
||||
|
||||
if (this.unions.length == 1) {
|
||||
this.pageForm.unionid = this.unions[0].id
|
||||
}
|
||||
this.rootData = JSON.parse(JSON.stringify(v))
|
||||
this.rootData.forEach(x => {
|
||||
x.apply2 = clone(x.apply)
|
||||
})
|
||||
this.noneData = false
|
||||
} else {
|
||||
this.unions = []
|
||||
this.pageForm.unionid = ""
|
||||
this.noneData = true
|
||||
|
||||
}
|
||||
if (this.pageForm.activityLevel !== '40001' && this.rootData && this.rootData.length > 0) {
|
||||
this.$set(this.rootData[0], "show", true)
|
||||
}
|
||||
this.apply = this.rootData
|
||||
|
||||
this.tableKey = new Date().getTime()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
this.noneData = true
|
||||
}
|
||||
},
|
||||
async getActivityTypeList(code) {
|
||||
const {data} = await $.get("/platform/activity/basic/basic/settings/getActivityTwoLevelType", {code: code})
|
||||
return data;
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.changeActivit()
|
||||
this.activityTypeList = await this.getActivityTypeList("40000")
|
||||
this.$set(this.pageForm, "activityLevel", this.activityTypeList[0].code)
|
||||
await this.getNearActivity()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user