Files
UNION_HUTB/target/classes/views/platform/hd/xhdgl/hdshindex.html
T
2026-09-09 09:14:28 +08:00

545 lines
26 KiB
HTML

<!--校活动报名 djx 2019-6-18 -->
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-divider--horizontal{
margin: 12px 0px 20px 0px;
}
.dia .el-dialog__body{
padding: 10px 20px;
}
.el-badge__content.is-fixed{
top:6px;
right: 14px;
}
.el-badge__content{
font-size: 8px;
height: 16px;
line-height: 16px;
padding: 0px 4px;
}
.bmqk .el-card__body{
padding: 10px 20px;
}
</style>
<div id="app" v-cloak>
<transition name="el-zoom-in-center">
<div style="padding: 10px" v-show="isshow">
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择活动类型" 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>
</div>
<div class="btn-group tool-button mt5">
<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>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="竞赛模式" v-model="pageForm.jsms" style="width: 120px;" clearable="true" filterable="true">
<el-option label="竞赛类" value="竞赛类"></el-option>
<el-option label="非竞赛类" value="非竞赛类"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
</div>
<!--<div class="pull-right offscreen-right mt5">
<el-button size="medium" type="warning" @click="openAdd"><i class="ti-plus"></i>新建活动计划</el-button>
</div>-->
</el-row>
<!--表格-->
<el-row class="el-table-container">
<el-table :data="tableData" size="small">
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"><span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" width="200" :show-overflow-tooltip="true" header-align="center" label="活动名称" prop="xhdmc"></el-table-column>
<el-table-column align="center" width="140" :show-overflow-tooltip="true" header-align="center" label="活动地点" prop="hddz"></el-table-column>
<el-table-column align="center" header-align="center" label="活动类型" prop="hdlx"></el-table-column>
<el-table-column align="center" header-align="center" label="活动类型" prop="hdxm"></el-table-column>
<el-table-column align="center" header-align="center" label="竞赛模式" prop="jsfs">
<template slot-scope="scope">
<el-tag type="primary" :disable-transitions="true" v-if="scope.row.jsfs=='竞赛类'">{{scope.row.jsfs}}</el-tag>
<el-tag type="warning" :disable-transitions="true" v-if="scope.row.jsfs=='非竞赛类'">{{scope.row.jsfs}}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="报名开始时间" prop="bmkssj"></el-table-column>
<el-table-column align="center" header-align="center" label="报名结束时间" prop="bmjssj"></el-table-column>
<el-table-column align="center" header-align="center" label="活动开始时间" prop="hdks"></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 align="center" header-align="center" label="已报名人数" prop="bmrs"></el-table-column>
<el-table-column align="center" label="操作" width="220px">
<template slot-scope="scope">
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
<el-badge :value="scope.row.sqrs" class="item">
<el-button type="primary" @click="openSh(scope)" size="mini">审核</el-button>
</el-badge>
</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>
<!--审核-->
<el-dialog title="审核" class="dia"
:visible.sync="shDialogVisible" custom-class="ViewDialogClass" width="60%" top="3%">
<el-table :data="shTableData" @selection-change="handleSelectionChange" size="small" v-show="temp.bmfs=='院级工会报名' || temp.bmfs=='名额分配'">
<el-table-column type="selection" width="46"></el-table-column>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"><span>{{scope.$index+(shPageForm.pageNumber - 1) * shPageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" header-align="center" width="160px" label="基层工会名称" prop="unionname"></el-table-column>
<el-table-column align="center" header-align="center" label="报名人员名单" prop="cyry"></el-table-column>
<el-table-column align="center" label="操作" width="120px">
<template slot-scope="scope">
<el-button type="success" @click="shDo(scope,2)" size="mini" icon="el-icon-check" circle></el-button>
<el-button type="danger" @click="shDo(scope,3)" size="mini" icon="el-icon-close" circle></el-button>
</template>
</el-table-column>
</el-table>
<el-table :data="grTableData" @selection-change="handleSelectionChange" size="small" v-show="temp.bmfs=='个人报名'">
<el-table-column type="selection" width="46"></el-table-column>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"><span>{{scope.$index+(grPageForm.pageNumber - 1) * grPageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column align="center" header-align="center" width="120px" label="报名人员名单" prop="username"></el-table-column>
<el-table-column align="center" header-align="center" label="所属单位" prop="name"></el-table-column>
<el-table-column align="center" header-align="center" label="院级工会" prop="unionname"></el-table-column>
<el-table-column align="center" label="操作" width="120px">
<template slot-scope="scope">
<el-button type="success" @click="grDo(scope,2)" size="mini" icon="el-icon-check" circle></el-button>
<el-button type="danger" @click="grDo(scope,3)" size="mini" icon="el-icon-close" circle></el-button>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="shDialogVisible = false">取 消</el-button>
<el-button type="danger" @click="plshDo(3)">驳 回</el-button>
<el-button type="success" @click="plshDo(2)">通 过</el-button>
</span>
</el-dialog>
<!--查看-->
<transition name="el-zoom-in-center">
<div style="padding: 10px" v-show="!isshow">
<div class="text-primary pointer" style="font-size: 20px" @click="isshow=true">
<i class="el-icon-arrow-left"></i>
返回
</div>
<el-tabs v-model="xqactive">
<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" >
<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" max-height="320px" height="320px" size="small" >
<el-table-column label="序号" type="index" index="1" header-align="center"
align="center"></el-table-column>
<el-table-column v-if="bmfs == '院级工会报名' || bmfs == '名额分配'" label="报名单位"
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="单位" 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" >
<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>
</transition>
</div>
<script>
new Vue({
el:"#app",
data:function () {
return{
pageForm:{//分页
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword:"",
hdlx:"",
hdxm:"",
},
queryHdlx:[],
queryHdxm:[],
shPageForm:{//分页
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword:"",
},
grPageForm:{//分页
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword:"",
},
tableData:[],//表格
/*审核*/
shDialogVisible:false,
shTableData:[],
temp:[],
grTableData:[],
/*查看*/
infoDialogVisible:false,
activeName: '1',
viewData:[],
gzryListTableData:[],
bmTableData:[],
hjTableData:[],
bmfs:"",
hdms:"",
multipleSelection:[],
isshow:true,
xqactive:"1"
}
},
methods:{
pageData:function () {
var self = this;
sublime.showLoadingbar();//显示loading
$.post(base + "/platform/hd/xhdgl/hdsh/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.hds.list;
self.queryHdlx = data.data.hdlx;
self.pageForm.totalCount=data.data.hds.totalCount;
}
}, "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();
},
openSh:function (scope) {
var self = this;
self.multipleSelection=[];
self.temp = scope.row;
if(scope.row.sqrs != 0) {
self.fhFlag();
}else{
self.$alert("此活动暂无人员报名!","温馨提示",{
type:'warning',
closeOnPressEscape:true,
closeOnClickModal:true,
});
return;
}
},
fhFlag:function () {
var self = this;
$.post(base + "/platform/hd/xhdgl/hdsh/findBmRy", {id:self.temp.id,bmfs:self.temp.bmfs}, function (data) {
if (data.code == 0) {
self.shTableData = data.data.hds;
self.grTableData = data.data.hds;
self.shDialogVisible = true;
}
}, "json");
},
/*查看*/
openInfo:function (scope) {
var self = this;
self.bmfs = scope.row.bmfs;
self.hdms = scope.row.bjms;
$.post(base + "/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 = false;
}
}, "json");
},
/*审核*/
shDo:function (scope,obj) {
var self = this;
$.post(base + "/platform/hd/xhdgl/hdsh/shDo", {unionid:scope.row.id,hdid:scope.row.hdid,shzt:obj}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.fhFlag();
//self.shDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
handleSelectionChange:function (val) {
this.multipleSelection = val;
},
plshDo:function (obj) {
var self = this;
if(self.multipleSelection.length == 0) {
self.$message({
message: "请在左侧选择!",
type: 'warning'
});
return;
}
var array = new Array();
var flag;
if(self.temp.bmfs == "个人报名") {
flag = "1";
for(var i=0; i<self.multipleSelection.length; i++) {
array.push(self.multipleSelection[i].id);
}
}else{
flag = "2";
for(var i=0; i<self.multipleSelection.length; i++) {
array.push(self.multipleSelection[i].id);
}
}
$.post(base + "/platform/hd/xhdgl/hdsh/plshDo", {hdid:self.temp.id,id:array.toString(),flag:flag,obj:obj}, function (data) {
if (data.code == 0) {
self.$message({
message: "操作成功!",
type: 'success'
});
self.pageData();
self.shDialogVisible = false;
}
}, "json");
},
/*个人报名审核*/
grDo:function (scope,obj) {
var self = this;
$.post(base + "/platform/hd/xhdgl/hdsh/grDo", {hdid:self.temp.id,shzt:obj,userid:scope.row.id}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.fhFlag();
//self.shDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
},
created:function () {
this.pageData();
},
watch:{
"pageForm.hdlx":function (obj) {
var self = this;
if(obj != "" && obj != null && obj!="undefined") {
self.pageForm.hdxm = "";
$.post(base + "/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>
<!--#
}
#-->