1063 lines
50 KiB
HTML
1063 lines
50 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
|
|
<meta name="description" content="${AppName!}">
|
|
<title>${AppName!}</title>
|
|
<meta charset="UTF-8">
|
|
<!-- import CSS -->
|
|
<link rel="stylesheet" href="/assets/platform/plugins/bootstrap/css/bootstrap.min.css">
|
|
<link rel="stylesheet" href="/assets/platform/plugins/element-ui/lib/theme-chalk/index.css">
|
|
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
|
<link rel="stylesheet" href="/assets/platform/fonts/themify-icons.css">
|
|
<link rel="stylesheet" href="/assets/platform/fonts/font-awesome.min.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/common.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/main.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/elmain.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/panel.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/dialogview.css">
|
|
<link rel="stylesheet" href="/assets/platform/css/pic.css">
|
|
<!-- import Vue before Element -->
|
|
<script src="/assets/platform/plugins/vue/vue.min.js"></script>
|
|
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
|
|
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="/assets/platform/plugins/viewer/viewer.min.css">
|
|
|
|
<!-- import JavaScript -->
|
|
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
|
|
<!--<script src="/assets/platform/plugins/element-ui/lib/index.js"></script>-->
|
|
<script src="/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
|
<script src="/assets/platform/plugins/slimscroll/jquery.slimscroll.min.js"></script>
|
|
<!-- pjax是异步加载html片段的工具,模拟前端路由机制 -->
|
|
<script src="/assets/platform/plugins/pjax/jquery.pjax.js"></script>
|
|
<script src="/assets/platform/plugins/bootstrap/js/bootstrap.js"></script>
|
|
<!-- Array数组增加findIndex等方法,TreeTable用得到,兼容IE8 -->
|
|
<script src="/assets/platform/plugins/polyfill/polyfill.js"></script>
|
|
<!--FlexPaper预览插件-->
|
|
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash.js"></script>
|
|
<script src="/assets/platform/plugins/flexPaper/flexpaper_flash_debug.js"></script>
|
|
<!-- 时间日期处理工具类 -->
|
|
<script src="/assets/platform/plugins/moment/moment.min.js"></script>
|
|
<!-- 浏览器通知 -->
|
|
<script src="/assets/platform/plugins/push/push.min.js"></script>
|
|
<script src="/assets/platform/js/main.js"></script>
|
|
<script src="/assets/platform/js/offscreen.js"></script>
|
|
|
|
|
|
<!--editor-->
|
|
<script src="https://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js"></script>
|
|
<link href="/assets/platform/plugins/umeditor/themes/default/css/umeditor.css" type="text/css"
|
|
rel="stylesheet">
|
|
<script type="text/javascript" charset="utf-8"
|
|
src="/assets/platform/plugins/umeditor/umeditor.config.js"></script>
|
|
<script type="text/javascript" charset="utf-8" src="/assets/platform/plugins/umeditor/umeditor.js"></script>
|
|
<script type="text/javascript" src="/assets/platform/plugins/umeditor/lang/zh-cn/zh-cn.js"></script>
|
|
|
|
<link rel="stylesheet" href="/assets/platform/plugins/myframe/css/myframe.css">
|
|
<!--viewer-->
|
|
<script src="/assets/platform/plugins/viewer/viewer.min.js"></script>
|
|
<script src="/assets/platform/plugins/viewer/jquery-viewer.min.js"></script>
|
|
|
|
</head>
|
|
<body style="background-color: white">
|
|
<style>
|
|
|
|
.el-divider--horizontal {
|
|
margin: 12px 0px 14px 0px;
|
|
}
|
|
|
|
.dia .el-dialog__body {
|
|
padding: 10px 20px;
|
|
}
|
|
|
|
.editor {
|
|
width: 100%;
|
|
height: 120px;
|
|
}
|
|
|
|
.el-form {
|
|
margin-left: 30px;
|
|
}
|
|
|
|
.need .el-form-item__label {
|
|
line-height: 20px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.need .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.need .el-form--label-top .el-form-item__label {
|
|
padding: 0px;
|
|
}
|
|
|
|
.el-transfer-panel {
|
|
width: 40%;
|
|
min-height: 100%;
|
|
}
|
|
|
|
|
|
.el-transfer-panel__filter {
|
|
margin: 5px;
|
|
}
|
|
|
|
.el-transfer {
|
|
height: 400px;
|
|
}
|
|
|
|
.el-transfer-panel .el-transfer-panel__footer {
|
|
text-align: right;
|
|
}
|
|
|
|
.el-dialog__footer {
|
|
padding: 2px 20px 20px;
|
|
}
|
|
|
|
.el-message-box {
|
|
width: 450px;
|
|
}
|
|
|
|
.el-checkbox {
|
|
margin-right: 0px;
|
|
}
|
|
|
|
.el-transfer-panel__list.is-filterable {
|
|
height: 320px;
|
|
}
|
|
|
|
.bmqk .el-card__body {
|
|
padding: 10px 20px;
|
|
}
|
|
|
|
.el-transfer-panel {
|
|
text-align: left;
|
|
}
|
|
|
|
.v-modal {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.el-table-container {
|
|
padding-top: 0px;
|
|
}
|
|
|
|
.navbar {
|
|
margin-bottom: 0px;
|
|
}
|
|
|
|
</style>
|
|
<div id="app" v-cloak>
|
|
<transition name="el-zoom-in-center">
|
|
<div style="padding: 10px" v-show="tbshow">
|
|
<el-row class="header navbar bg-white">
|
|
<div class="btn-group tool-button mt5">
|
|
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword"
|
|
clearable></el-input>
|
|
<el-select placeholder="请选择活动类型" filterable v-model="pageForm.hdlx" style="width: 160px;"
|
|
clearable="true"
|
|
filterable="true">
|
|
<el-option v-for="item in queryHdlx" :label="item.name" :value="item.id"></el-option>
|
|
</el-select>
|
|
<el-select placeholder="请选择活动项目" v-model="pageForm.hdxm" style="width: 160px;" clearable="true"
|
|
filterable="true">
|
|
<el-option v-for="item in queryHdxm" :label="item.name" :value="item.id"></el-option>
|
|
</el-select>
|
|
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
|
|
</div>
|
|
</el-row>
|
|
|
|
<!--表格-->
|
|
<el-row class="el-table-container">
|
|
<el-table
|
|
:data="tableData"
|
|
size="small"
|
|
>
|
|
<el-table-column label="序号" header-align="center" align="center" type="index">
|
|
<template scope="scope">
|
|
<span>{{scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1}}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="活动名称" width="200" :show-overflow-tooltip="true" prop="xhdmc"
|
|
header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="活动地点" width="140" :show-overflow-tooltip="true" prop="hddz"
|
|
header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="活动类型" prop="hdlx" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="活动项目" prop="hdxm" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="报名开始时间" prop="bmkssj" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="报名截止时间" prop="bmjssj" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="活动开始时间" prop="kssj" header-align="center" align="center"></el-table-column>
|
|
<el-table-column align="center" header-align="center" label="报名方式" prop="bmfs">
|
|
<template slot-scope="scope">
|
|
<el-lable v-if="scope.row.bmfs!='名额分配'">{{scope.row.bmfs}}</el-lable>
|
|
<el-lable v-else>院级工会报名</el-lable>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="报名状态" prop="bmzt" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<el-tag type="warning" v-if="scope.row.bmzt=='报名待审核'&&scope.row.cc!='1'">报名待审核</el-tag>
|
|
<el-tag type="primary" v-if="scope.row.bmzt=='未报名'&&scope.row.cc!='1'">未报名</el-tag>
|
|
<el-tag type="success" v-if="scope.row.bmzt=='报名通过'&&scope.row.cc!='1'">报名通过</el-tag>
|
|
<el-tag type="info" v-if="scope.row.bmzt=='报名驳回'&&scope.row.cc!='1'">报名驳回</el-tag>
|
|
<el-tag type="info" v-if="scope.row.cc=='1'">报名取消</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作" width="220px" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<el-button @click="openInfo(scope,1)" size="mini">查看</el-button>
|
|
<el-button size="mini"
|
|
v-if="(scope.row.bmfs=='院级工会报名' || scope.row.bmfs=='名额分配')&&flag != '1'"
|
|
type="primary"
|
|
@click="openBm(scope)">报名
|
|
</el-button>
|
|
|
|
<el-button size="mini" v-if="scope.row.bmfs=='个人报名'&&(scope.row.cc=='1'||scope.row.cc=='2')"
|
|
type="primary"
|
|
@click="handleCommand(scope,11)">报名
|
|
</el-button>
|
|
<el-button size="mini" v-if="scope.row.cc!='1'&&scope.row.bmfs=='个人报名'&&scope.row.cc!='2'"
|
|
type="warning"
|
|
@click="qxbm(scope)">取消报名
|
|
</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-row>
|
|
<!--分页-->
|
|
<el-row class="el-pagination-container">
|
|
<el-pagination
|
|
@size-change="pageSizeChange"
|
|
@current-change="pageNumberChange"
|
|
:current-page="pageForm.pageNumber"
|
|
:page-sizes="[10, 20, 30, 50]"
|
|
:page-size="pageForm.pageSize"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:total="pageForm.totalCount">
|
|
</el-pagination>
|
|
</el-row>
|
|
</div>
|
|
</transition>
|
|
|
|
|
|
<transition name="el-zoom-in-center">
|
|
<div style="padding: 10px" v-show="bmshow">
|
|
<div class="text-primary pointer" style="font-size: 20px" @click="tbshow=true,bmshow=false">
|
|
<i class="el-icon-arrow-left"></i>
|
|
返回
|
|
</div>
|
|
<el-divider content-position="left">
|
|
<span style="color: rgb(121, 187, 255)">
|
|
请选择参加【{{temp.xhdmc}}】的名单,注:<span v-if="temp.bmfs=='名额分配'&&fpme!=null">总人数<span
|
|
style="color: red">{{fpme.hdrs}}</span>人</span><span
|
|
v-if="temp.manrs!=''&&temp.manrs!=null">男队人数<span style="color: red">{{temp.manrs}}</span>人,</span>
|
|
<span v-if="temp.womenrs!=''&&temp.womenrs!=null">女队人数<span style="color:red;">{{temp.womenrs}}</span>人,</span>
|
|
<span v-if="temp.hdrs!=''&&temp.hdrs!=null&&temp.bmfs!='名额分配'">需报名人数<span
|
|
style="color: red">{{temp.hdrs}}</span>人</span>
|
|
</span>
|
|
</el-divider>
|
|
|
|
<div style="margin: 14px 0px 8px 0px;color:red" v-if="temp.bmfs=='名额分配'&&fpme!=null">
|
|
报名要求:{{fpme.bmyq}}
|
|
</div>
|
|
<div style="width: 100%;text-align: center">
|
|
<el-transfer
|
|
filterable
|
|
:props="{key:'id',label:'display'}"
|
|
:titles="['院级可报人员名单','已选择']"
|
|
v-model="selUsers"
|
|
@right-check-change="rightChange"
|
|
@change="right"
|
|
:data="ryData">
|
|
<el-button @click="caozuo(11)" class="transfer-footer" slot="right-footer" size="small"
|
|
type="primary">
|
|
运动员(参与者)
|
|
</el-button>
|
|
<el-button @click="caozuo(10)" class="transfer-footer" slot="right-footer" size="small"
|
|
type="success">
|
|
教练
|
|
</el-button>
|
|
<el-button @click="caozuo(9)" class="transfer-footer" slot="right-footer" size="small"
|
|
type="warning">
|
|
领队
|
|
</el-button>
|
|
</el-transfer>
|
|
</div>
|
|
|
|
<el-table border :data="ryTableData" max-height="240px" height="240px" size="mini" style="margin-top: 14px;"
|
|
:default-sort="{prop:'rysf',order:'ascending'}"
|
|
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
|
<el-table-column align="center" header-align="center" label="序号" type="index">
|
|
<template scope="scope">
|
|
<span>{{scope.$index + (ryPageForm.pageNumber - 1) * ryPageForm.pageSize + 1}} </span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" header-align="center" label="姓名" prop="username"></el-table-column>
|
|
<el-table-column align="center" header-align="center" label="教工号" prop="loginname"></el-table-column>
|
|
<el-table-column align="center" :show-overflow-tooltip="true" width="180" header-align="center"
|
|
label="单位"
|
|
prop="name"></el-table-column>
|
|
<el-table-column align="center" header-align="center" label="电话" prop="mobile"></el-table-column>
|
|
<el-table-column align="center" header-align="center" label="性别" width="52px"
|
|
prop="sex"></el-table-column>
|
|
<el-table-column align="center" header-align="center" label="身份" width="148px" prop="rysf"
|
|
:sort-method="sortChange">
|
|
<template slot-scope="scope">
|
|
<el-tag v-if="scope.row.rysf=='9'" @close="handleClose(scope,scope.$index)" size="mini"
|
|
effect="dark" type="warning" closable>领队
|
|
</el-tag>
|
|
<el-tag v-if="scope.row.rysf=='10'" @close="handleClose(scope,scope.$index)" size="small"
|
|
effect="dark" type="success" closable>教练
|
|
</el-tag>
|
|
<el-tag v-if="scope.row.rysf=='11'" @close="handleClose(scope,scope.$index)" size="mini"
|
|
effect="dark" closable>运动员(参与者)
|
|
</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
|
|
<span style="float: right;">
|
|
|
|
<el-button type="primary" @click="doBm">提 交</el-button>
|
|
</span>
|
|
</div>
|
|
</transition>
|
|
|
|
|
|
<transition name="el-zoom-in-center">
|
|
<div style="padding: 10px" v-show="isshow">
|
|
<div class="text-primary pointer" style="font-size: 20px" @click="isshow=false,tbshow=true">
|
|
<i class="el-icon-arrow-left"></i>
|
|
返回
|
|
<div style="float: right;margin-right: 20px">
|
|
|
|
<el-button v-if="(infoTemp.bmfs=='院级工会报名' || infoTemp.bmfs=='名额分配')&&flag != '1'" type="primary"
|
|
@click="openBm(infoFlag)">报名
|
|
</el-button>
|
|
|
|
<el-button v-if="infoTemp.bmfs=='个人报名'&&(infoTemp.cc=='1'||infoTemp.cc=='2')" type="primary"
|
|
@click="handleCommand(infoFlag,11)">报名
|
|
</el-button>
|
|
<el-button v-if="infoTemp.cc!='1'&&infoTemp.bmfs=='个人报名'&&infoTemp.cc!='2'" type="warning"
|
|
@click="qxbm(infoFlag)">取消报名
|
|
</el-button>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<el-tabs v-model="xqactive" style="margin-right: 20px;margin-left: 20px">
|
|
<el-tab-pane label="活动详细信息" name="1">
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<td colspan="6" class="text-center" style="font-size: 20px;background-color: #f5f5f5">
|
|
{{viewData.xhdmc}}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>活动地点</td>
|
|
<td colspan="2">{{viewData.hddz}}</td>
|
|
<td>主办单位</td>
|
|
<td colspan="2">{{viewData.unit}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>活动类型</td>
|
|
<td>{{viewData.hdlx}}</td>
|
|
<td>活动项目</td>
|
|
<td>{{viewData.hdxm}}</td>
|
|
<td>活动经费预算</td>
|
|
<td>{{viewData.jfys}}</td>
|
|
</tr>
|
|
<tr style="border: 1px solid rgb(220,220,220);">
|
|
<td>报名开始时间</td>
|
|
<td>{{viewData.bmkssj}}</td>
|
|
<td>报名截止时间</td>
|
|
<td>{{viewData.bmjssj}}</td>
|
|
<td>活动年份</td>
|
|
<td>{{viewData.hdnf}}</td>
|
|
</tr>
|
|
<tr style="border: 1px solid rgb(220,220,220);">
|
|
<td>活动开始时间</td>
|
|
<td>{{viewData.hdks}}</td>
|
|
<td>活动结束时间</td>
|
|
<td>{{viewData.hdjs}}</td>
|
|
<td>组合方式</td>
|
|
<td>{{viewData.zhfs}}</td>
|
|
</tr>
|
|
<tr style="border: 1px solid rgb(220,220,220);">
|
|
<td>颁奖模式</td>
|
|
<td>{{viewData.bjms}}</td>
|
|
<td>竞赛模式</td>
|
|
<td>{{viewData.jsfs}}</td>
|
|
<td>报名方式</td>
|
|
<td v-if="viewData.bmfs!='名额分配'">{{viewData.bmfs}}</td>
|
|
<td v-else>院级工会报名</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6" class="text-center"
|
|
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">报名办法
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6">
|
|
<div v-html="viewData.bmbf"></div>
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6" class="text-center"
|
|
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">竞赛办法
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6">
|
|
<div v-html="viewData.jsbf"></div>
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6" class="text-center"
|
|
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">奖励办法
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6">
|
|
<div v-html="viewData.jlbf"></div>
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6" class="text-center"
|
|
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">其他注意事项
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6">
|
|
<div v-html="viewData.zysx"></div>
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6" class="text-center"
|
|
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5">活动通知
|
|
</td>
|
|
</tr>
|
|
<tr v-show="viewData.jsfs=='非竞赛类'" style="border: 1px solid rgb(220,220,220);">
|
|
<td colspan="6">
|
|
<div v-html="viewData.hdtz"></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="活动工作人员列表" name="2">
|
|
<el-table :data="gzryListTableData" size="small" border
|
|
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
|
<el-table-column label="人员身份" prop="shmc" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="姓名" prop="username" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="所属单位" prop="name" header-align="center"
|
|
align="center"></el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="活动报名情况" name="3">
|
|
<el-table :data="bmTableData" size="small" border
|
|
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
|
<el-table-column label="序号" type="index" index="1" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '院级工会报名' || bmfs == '名额分配'" label="报名单位" width="220"
|
|
prop="unionname" header-align="center" align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '院级工会报名' || bmfs == '名额分配'" label="报名人员" prop="cyry"
|
|
header-align="center" align="center"></el-table-column>
|
|
|
|
<el-table-column v-if="bmfs == '个人报名'" label="职工号" prop="loginname" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '个人报名'" label="姓名" prop="username" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '个人报名'" label="性别" prop="sex" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '个人报名'" label="单位" width="240px" prop="name"
|
|
header-align="center" align="center"></el-table-column>
|
|
<el-table-column v-if="bmfs == '个人报名'" label="联系电话" prop="mobile" header-align="center"
|
|
align="center"></el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="活动获奖情况" name="4">
|
|
<el-table :data="hjTableData" size="small" border
|
|
:header-cell-style="{background:'#eef1f6',color:'#606266'}">
|
|
<el-table-column v-if="hdms == '团体'" label="获奖单位" prop="name" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="hdms == '个人'" label="获奖人" prop="username" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column v-if="hdms == '个人'" label="获奖人单位" prop="name" header-align="center"
|
|
align="center"></el-table-column>
|
|
<el-table-column label="获奖信息" prop="mc" header-align="center" align="center"></el-table-column>
|
|
<el-table-column label="奖品名称" prop="jpmc" header-align="center" align="center">
|
|
<template slot-scope="scope">
|
|
<el-label v-if="scope.row.jpmc!='' && scope.row.jpmc!=null">{{scope.row.jpmc}}
|
|
</el-label>
|
|
<el-label v-else>无(现金奖励)</el-label>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="金额" prop="money" header-align="center" align="center"></el-table-column>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
<div style="float: right;margin-right: 20px">
|
|
|
|
<el-button v-if="(infoTemp.bmfs=='院级工会报名' || infoTemp.bmfs=='名额分配')&&flag != '1'" type="primary"
|
|
@click="openBm(infoFlag)">报名
|
|
</el-button>
|
|
|
|
<el-button v-if="infoTemp.bmfs=='个人报名'&&(infoTemp.cc=='1'||infoTemp.cc=='2')" type="primary"
|
|
@click="handleCommand(infoFlag,11)">报名
|
|
</el-button>
|
|
<el-button v-if="infoTemp.cc!='1'&&infoTemp.bmfs=='个人报名'&&infoTemp.cc!='2'" type="warning"
|
|
@click="qxbm(infoFlag)">取消报名
|
|
</el-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</transition>
|
|
|
|
</div>
|
|
<script>
|
|
var vue = new Vue({
|
|
el: "#app",
|
|
data: function () {
|
|
return {
|
|
pageForm: {//分页
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
searchKeyword: "",
|
|
hdlx: "",
|
|
hdxm: "",
|
|
},
|
|
tableData: [],//表格
|
|
queryHdlx: [],
|
|
queryHdxm: [],
|
|
|
|
/*院级工会管理员报名*/
|
|
bMDialogVisible: false,
|
|
temp: [],
|
|
ryData: [],
|
|
ryTableData: [],
|
|
selUsers: [],
|
|
ryPageForm: {
|
|
pageNumber: 1,
|
|
pageSize: 10,
|
|
totalCount: 0,
|
|
},
|
|
flag: "",
|
|
user: [],
|
|
hdid: "",
|
|
dropDownIsShow: true,
|
|
fpme: [],
|
|
rightSelData: [],
|
|
|
|
/*查看*/
|
|
infoDialogVisible: false,
|
|
activeName: '1',
|
|
viewData: [],
|
|
gzryListTableData: [],
|
|
bmTableData: [],
|
|
hjTableData: [],
|
|
bmfs: "",
|
|
hdms: "",
|
|
infoTemp: [],
|
|
infoFlag: [],
|
|
titleTemp: "",
|
|
isshow: false,
|
|
xqactive: "1",
|
|
bmshow: false,
|
|
tbshow: true
|
|
}
|
|
},
|
|
methods: {
|
|
sortChange: function (a, b) {
|
|
|
|
},
|
|
pageData: function () {
|
|
|
|
var self = this;
|
|
sublime.showLoadingbar();//显示loading
|
|
$.post("/platform/hd/xhdgl/hdbm/data", self.pageForm, function (data) {
|
|
console.log(data)
|
|
sublime.closeLoadingbar();//关闭loading
|
|
if (data.code == 0) {
|
|
self.tableData = data.data.hds.list;
|
|
self.pageForm.totalCount = data.data.hds.totalCount;
|
|
self.flag = data.data.flag;
|
|
self.user = data.data.user;
|
|
self.queryHdlx = data.data.hdlx;
|
|
}
|
|
}, "json");
|
|
},
|
|
|
|
/*分页*/
|
|
pageSizeChange: function (val) {
|
|
this.pageForm.pageSize = val;
|
|
this.pageData();
|
|
},
|
|
pageNumberChange: function (val) {
|
|
this.pageForm.pageNumber = val;
|
|
this.pageData();
|
|
},
|
|
|
|
doSearch: function () {
|
|
this.pageForm.pageNumber = 1;
|
|
this.pageData();
|
|
},
|
|
|
|
/*查看*/
|
|
openInfo: function (scope, obj) {
|
|
|
|
var self = this;
|
|
if (obj == 1) {
|
|
self.titleTemp = "查看";
|
|
} else {
|
|
self.titleTemp = "报名";
|
|
}
|
|
self.infoFlag = scope;
|
|
self.infoTemp.bmfs = scope.row.bmfs;
|
|
self.infoTemp.cc = scope.row.cc;
|
|
self.bmfs = scope.row.bmfs;
|
|
self.hdms = scope.row.bjms;
|
|
$.post("/platform/hd/xhdgl/xhdxxgl/findById", {
|
|
id: scope.row.id,
|
|
bmfs: scope.row.bmfs,
|
|
bjms: scope.row.bjms
|
|
}, function (data) {
|
|
if (data.code == 0) {
|
|
self.viewData = data.data.xhd;
|
|
self.bmTableData = data.data.cyry;
|
|
self.hjTableData = data.data.hj;
|
|
self.gzryListTableData = data.data.gzry;
|
|
self.isshow = true;
|
|
self.tbshow = false;
|
|
}
|
|
}, "json");
|
|
},
|
|
|
|
/*院级工会管理员报名*/
|
|
openBm: function (scope) {
|
|
var self = this;
|
|
|
|
self.temp = scope.row;
|
|
if (scope.row.bmzt == "报名通过") {
|
|
self.$alert("已经报名此活动!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
|
|
self.rightSelData = [];
|
|
self.selUsers = [];
|
|
self.ryTableData = [];
|
|
/*查询人员名单*/
|
|
$.post("/platform/hd/xhdgl/hdbm/getBmRy", {hdid: scope.row.id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.ryData = data.data.users;
|
|
if (data.data.ry != null && data.data.ry.length > 0) {
|
|
self.ryTableData = data.data.ry;
|
|
}
|
|
if (scope.row.bmfs != "名额分配") {
|
|
self.bmshow = true;
|
|
self.isshow = false;
|
|
self.tbshow = false;
|
|
}
|
|
}
|
|
}, "json");
|
|
|
|
if (scope.row.bmfs == "名额分配") {
|
|
var flag = 0;
|
|
$.post("/platform/hd/xhdgl/hdbm/findGhHdrs", {id: scope.row.id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.fpme = data.data;
|
|
if (self.fpme == null) {
|
|
flag = 1;
|
|
}
|
|
}
|
|
}, "json");
|
|
|
|
setTimeout(function () {
|
|
if (flag == 1) {
|
|
self.$alert("您所在的院级工会暂未进行名额分配!", "温馨提示", {type: 'warning',});
|
|
return;
|
|
}
|
|
if (self.flag == "2") {
|
|
setTimeout(function () {
|
|
self.$alert(self.fpme.bmyq, "报名要求", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
callback: function () {
|
|
setTimeout(function () {
|
|
self.bmshow = true;
|
|
self.isshow = false;
|
|
self.tbshow = false;
|
|
}, 200);
|
|
}
|
|
});
|
|
}, 20)
|
|
} else {
|
|
self.bmshow = true;
|
|
self.isshow = false;
|
|
self.tbshow = false;
|
|
}
|
|
}, 80)
|
|
}
|
|
},
|
|
|
|
caozuo: function (obj) {
|
|
var self = this;
|
|
|
|
var rs = 0;
|
|
if (self.temp.bmfs == "名额分配") {
|
|
if (self.fpme == null) {
|
|
self.$alert("此活动暂未进行名额分配!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
} else {
|
|
rs = self.fpme.hdrs;
|
|
}
|
|
} else {
|
|
rs = self.temp.hdrs;
|
|
}
|
|
if (self.rightSelData == 0) {
|
|
self.$message({
|
|
message: "请在右侧列表中选择人员!",
|
|
type: 'warning'
|
|
});
|
|
return;
|
|
}
|
|
|
|
if ((self.rightSelData.length > rs) || (self.ryTableData.length >= rs) || ((self.ryTableData.length + self.rightSelData.length) > rs)) {
|
|
|
|
self.$alert("<span>当前活动需报名人数为<span style='color: red'>" + rs + "</span>人</span>", "温馨提示", {
|
|
dangerouslyUseHTMLString: true,
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
|
|
return;
|
|
}
|
|
|
|
const loading = self.$loading({
|
|
lock: true,
|
|
text: 'Loading',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
});
|
|
console.log(loading)
|
|
|
|
$.post("/platform/hd/xhdgl/hdbm/findById", {id: self.rightSelData.toString()}, function (data) {
|
|
if (data.code == 0) {
|
|
|
|
for (var i = 0; i < data.data.length; i++) {
|
|
data.data[i].rysf = obj;
|
|
self.ryTableData.push(data.data[i]);
|
|
}
|
|
for (var d = 0; d < self.rightSelData.length; d++) {
|
|
for (var j = 0; j < self.ryData.length; j++) {
|
|
if (self.rightSelData[d] == self.ryData[j].id) {
|
|
self.ryData.splice(j, 1);
|
|
}
|
|
}
|
|
}
|
|
self.rightSelData = [];
|
|
self.ryPageForm.totalCount = self.ryTableData.length;
|
|
setTimeout(() => {
|
|
loading.close()
|
|
}, 500)
|
|
|
|
}
|
|
}, "json");
|
|
|
|
},
|
|
handleClose: function (obj, index) {
|
|
var self = this;
|
|
|
|
self.ryData.push({id: obj.row.id, display: obj.row.display});
|
|
for (var i = 0; i < self.ryTableData.length; i++) {
|
|
if (obj.row.id == self.ryTableData[i].id) {
|
|
|
|
self.ryTableData.splice(i, 1);
|
|
return;
|
|
}
|
|
}
|
|
},
|
|
|
|
rightChange: function (obj) {
|
|
var self = this;
|
|
self.rightSelData = obj;
|
|
},
|
|
right: function (obj, pos) {
|
|
if (pos == "left") {
|
|
this.rightSelData = [];
|
|
}
|
|
},
|
|
|
|
/*报名提交*/
|
|
doBm: function () {
|
|
var self = this;
|
|
|
|
try {
|
|
if (self.temp.bmfs == "名额分配") {
|
|
if (self.fpme == null) {
|
|
self.$alert("此活动暂未进行名额分配!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
if (self.ryTableData.length != self.fpme.hdrs) {
|
|
self.$alert("请选择正确的人数进行报名!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
} else {
|
|
var manCount = 0;
|
|
var womenCount = 0;
|
|
var other = 0;
|
|
for (var i = 0; i < self.ryTableData.length; i++) {
|
|
if (self.ryTableData[i].rysf == "11") {
|
|
if (self.ryTableData[i].sex == "男") {
|
|
manCount++;
|
|
} else if (self.ryTableData[i].sex == "女") {
|
|
womenCount++;
|
|
}
|
|
} else if (self.ryTableData[i].rysf == "9" || self.ryTableData[i].rysf == "10") {
|
|
other++;
|
|
}
|
|
}
|
|
|
|
if (self.temp.zhfs == "男女组") {
|
|
if (self.temp.manrs != manCount || self.temp.womenrs != womenCount || self.ryTableData.length != self.temp.hdrs) {
|
|
self.$alert("<span>男队人数需<span style='color: red'>" + self.temp.manrs + "</span>人,当前<span style='color: red'>" + manCount + "</span>人,女队人数需<span style='color: red'>" + self.temp.womenrs + "</span>人,当前<span style='color: red'>" + womenCount + "</span>人<br/>领队及教练需<span style='color: red'>" + (self.temp.hdrs - (self.temp.manrs * 1 + self.temp.womenrs * 1)) + "</span>人,当前<span style='color: red'>" + other + "</span>人</span>", "温馨提示", {
|
|
dangerouslyUseHTMLString: true,
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
|
|
} else if (self.temp.zhfs == "普通组") {
|
|
if (self.ryTableData.length != self.temp.hdrs) {
|
|
self.$alert("<span>报名人数需<span style='color: red'>" + self.temp.hdrs + "</span>人,当前<span style='color: red'>" + self.ryTableData.length + "</span>人(运动员<span style='color: red'>" + (manCount * 1 + womenCount * 1) + "</span>人,领队及教练<span style='color: red'>" + other + "</span>人)</span>", "温馨提示", {
|
|
dangerouslyUseHTMLString: true,
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
var array = new Array();
|
|
for (var i = 0; i < self.ryTableData.length; i++) {
|
|
array.push(
|
|
{
|
|
hdid: self.temp.id,
|
|
userid: self.ryTableData[i].id,
|
|
rysfid: self.ryTableData[i].rysf,
|
|
unionid: self.ryTableData[i].unionid,
|
|
rylx: "1",
|
|
shzt: "1",
|
|
qxbm: "0",
|
|
}
|
|
);
|
|
}
|
|
self.$confirm("您确定要批量报名吗?", "温馨提示", {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback: function (a, b) {
|
|
if ("confirm" == a) {
|
|
$.post("/platform/hd/xhdgl/hdbm/bmDo", {
|
|
array: JSON.stringify(array),
|
|
hdid: self.temp.id
|
|
}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
self.bMDialogVisible = false;
|
|
self.infoDialogVisible = false;
|
|
} else {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
}, "json");
|
|
}
|
|
}
|
|
});
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
|
|
},
|
|
|
|
/*个人报名*/
|
|
handleCommand: function (scope, command) {
|
|
var self = this;
|
|
|
|
//先判断用户自己是否已报名
|
|
if ((scope.row.bmzt == "已报名" || scope.row.bmzt == "报名待审核") && scope.row.cc != '1') {
|
|
self.$alert("您已经报名此活动!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
self.dropDownIsShow = false;
|
|
return;
|
|
}
|
|
|
|
//判断当前活动是男女组还是普通组
|
|
if (scope.row.zhfs == "男女组") {
|
|
|
|
if (self.sex == "男") {
|
|
if (scope.row.boy == scope.row.manrs) {
|
|
self.$alert("当前活动男队人数名额已满!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
self.dropDownIsShow = false;
|
|
return;
|
|
}
|
|
}
|
|
if (self.sex == "女") {
|
|
if (scope.row.girl == scope.row.womenrs) {
|
|
self.$alert("当前活动女队人数名额已满!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
self.dropDownIsShow = false;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (scope.row.hdrs == scope.row.bmrs) {
|
|
self.$alert("当前活动人数名额已满!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
self.dropDownIsShow = false;
|
|
return;
|
|
}
|
|
self.$confirm("您确定要报名此活动吗?", "温馨提示", {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback: function (a, b) {
|
|
if ("confirm" == a) {
|
|
$.post("/platform/hd/xhdgl/hdbm/grBmDo", {
|
|
hdid: scope.row.id,
|
|
userid: self.user.id,
|
|
rysfid: command,
|
|
unionid: self.user.unionid,
|
|
rylx: "1",
|
|
shzt: "1",
|
|
qxbm: "0"
|
|
}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
self.infoDialogVisible = false;
|
|
} else {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'error'
|
|
});
|
|
}
|
|
}, "json");
|
|
}
|
|
}
|
|
});
|
|
},
|
|
clickGrBm: function (scope) {
|
|
var self = this;
|
|
self.hdid = scope.row.id;
|
|
},
|
|
|
|
qxbm: function (scope) {
|
|
var self = this;
|
|
if (moment().format("YYYY-MM-DD") > scope.row.bmjssj) {
|
|
self.$alert("当前活动报名已结束,不能取消!", "温馨提示", {
|
|
type: 'warning',
|
|
closeOnPressEscape: true,
|
|
closeOnClickModal: true,
|
|
});
|
|
return;
|
|
}
|
|
self.$confirm("您是否要取消此活动的报名?", "温馨提示", {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
callback: function (a, b) {
|
|
if ("confirm" == a) {
|
|
$.post("/platform/hd/xhdgl/hdbm/qxbm", {id: scope.row.id}, function (data) {
|
|
if (data.code == 0) {
|
|
self.$message({
|
|
message: data.msg,
|
|
type: 'success'
|
|
});
|
|
self.pageData();
|
|
self.infoDialogVisible = false;
|
|
}
|
|
}, "json");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
},
|
|
created: function () {
|
|
this.pageData();
|
|
},
|
|
watch: {
|
|
"pageForm.hdlx": function (obj) {
|
|
var self = this;
|
|
if (obj != "" && obj != null && obj != "undefined") {
|
|
self.pageForm.hdxm = "";
|
|
$.post("/platform/hd/xhdgl/xhdxxgl/findHdXm", {id: obj}, function (data) {
|
|
if (data.code == 0) {
|
|
self.queryHdxm = data.data;
|
|
console.log(data.data)
|
|
self.pageForm.hdxm = data.data[0].id;
|
|
}
|
|
}, "json");
|
|
}
|
|
},
|
|
}
|
|
})
|
|
</script>
|
|
</body>
|
|
</html>
|