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

594 lines
26 KiB
HTML

<!DOCTYPE html>
<html lang="${lang,escape}">
<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;
}
.v-0x2323544 {
text-align: center;
color: rgb(180, 180, 180);
}
.v-0x345756765 {
text-align: center;
}
.v-0x2392939 {
}
</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" >
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" placeholder="可按活动名称查询" v-model="pageForm.searchKeyword" clearable></el-input>
<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>
<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 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="160" :show-overflow-tooltip="true" header-align="center" label="院工会活动名称" prop="fhdmc"></el-table-column>
<el-table-column align="center" width="160" :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="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="bmrs" width="80px"></el-table-column>
<el-table-column align="center" header-align="center" label="活动人数" prop="hdrs" width="68px"></el-table-column>
<el-table-column align="center" label="操作" width="200px">
<template slot-scope="scope">
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
<el-button type="primary" @click="openBm(scope)" size="mini">统一报名</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="!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" style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);" class="text-center">
<td colspan="6" style="font-size: 20px;background-color: #f5f5f5">{{viewData.fhdmc}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动类型</td>
<td class="v-0x2323544" >{{viewData.hdlx}}</td>
<td class="v-0x345756765">活动项目</td>
<td class="v-0x2323544" >{{viewData.hdxm}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动地点</td>
<td class="v-0x2323544" >{{viewData.hddz}}</td>
<td class="v-0x345756765">活动年份</td>
<td class="v-0x2323544" >{{viewData.hdnf}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动经费预算</td>
<td class="v-0x2323544" >{{viewData.jfys}}</td>
<td class="v-0x345756765">是否推送日历</td>
<td class="v-0x2323544" >
<div v-if="viewData.sfrl==1"></div>
<div v-else></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">主办院级工会</td>
<td class="v-0x2323544" >{{viewData.unionname}}</td>
<td class="v-0x345756765">人数限制</td>
<td class="v-0x2323544" >{{viewData.hdrs}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">报名开始时间</td>
<td class="v-0x2323544" >{{viewData.bmkssj}}</td>
<td class="v-0x345756765">报名截止时间</td>
<td class="v-0x2323544" >{{viewData.bmjssj}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="v-0x345756765">活动开始时间</td>
<td class="v-0x2323544" >{{viewData.hdks}}</td>
<td class="v-0x345756765">活动结束时间</td>
<td class="v-0x2323544" >{{viewData.hdjs}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
colspan="6">报名办法
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div class="v-0x2392939 v-0x2323544" v-html="viewData.bmbf"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
colspan="6">活动内容
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div class="v-0x2392939 v-0x2323544" v-html="viewData.hdnr"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
colspan="6">奖励办法
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div class="v-0x2392939 v-0x2323544" v-html="viewData.jlbf"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="text-center"
style="font-size: 15px;border-top: 1px solid #e3e6f3;background-color: #f5f5f5"
colspan="6">其他注意事项
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div class="v-0x2392939 v-0x2323544" v-html="viewData.zysx"></div>
</td>
</tr>
</table>
</el-tab-pane>
<el-tab-pane label="活动报名情况" name="2">
<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 label="职工号" prop="loginname" 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="mobile" header-align="center"
align="center"></el-table-column>
<el-table-column label="所属单位" prop="name" header-align="center"
align="center"></el-table-column>
<el-table-column label="院级工会" prop="unionname" header-align="center"
align="center"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</transition>
<el-dialog title="统一报名" class="dia" :close-on-click-modal="false"
:visible.sync="bmDialogVisible" custom-class="ViewDialogClass" width="70%" top="3%">
<el-row>
<div class="btn-group tool-button mt5">
<el-input style="width:180px;" size="mini" placeholder="可按姓名、工号查询" v-model="bmPageForm.searchKeyword" clearable></el-input>
<el-button type="primary" size="mini" icon="el-icon-search" @click="bmSearch"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-label style="color: #409EFF">【{{temp.fhdmc}}】人数限制为<span style="color: red">{{temp.hdrs}}</span>人,目前已报名人数为<span style="color: red">{{temp.bmrs}}</span></el-label>
</div>
</el-row>
<el-row>
<el-table :row-key="rowKey" ref="bmTable" @selection-change="handleSelectionChange" :data="tybmTableData" size="small">
<el-table-column :reserve-selection="true" type="selection" width="46"></el-table-column>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"><span>{{scope.$index+(bmPageForm.pageNumber - 1) * bmPageForm.pageSize + 1}} </span></template>
</el-table-column>
<el-table-column label="姓名" prop="username" header-align="center" align="center" ></el-table-column>
<el-table-column label="教工号" prop="loginname" header-align="center" align="center" ></el-table-column>
<el-table-column label="单位" width="240px" prop="name" header-align="center" align="center" ></el-table-column>
<el-table-column label="电话" prop="mobile" header-align="center" align="center" ></el-table-column>
<el-table-column label="性别" prop="sex" header-align="center" align="center" ></el-table-column>
</el-table>
</el-row>
<!--分页-->
<el-row class="el-pagination-container">
<el-pagination
background
@size-change="bmpageSizeChange"
@current-change="bmpageNumberChange"
:current-page="bmPageForm.pageNumber"
:page-sizes="[5, 10, 15, 20]"
:page-size="bmPageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="bmPageForm.totalCount">
</el-pagination>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="bmDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="bmDo">报 名</el-button>
</span>
</el-dialog>
</div>
<script>
new Vue({
el: "#app",
data: function () {
return {
/*列表*/
tableData:[],
pageForm:{
pageNumber:1,
pageSize:10,
totalCount:0,
searchKeyword:"",
hdlx:"",
hdxm:"",
},
queryHdlx:[],
queryHdxm:[],
/*查看*/
infoDialogVisible:false,
activeName: '1',
viewData:[],
bmTableData:[],
bmDialogVisible:false,
bmPageForm:{
pageNumber:1,
pageSize:10,
totalCount:0,
searchKeyword:"",
id:"",
},
tybmTableData:[],
multipleSelection:[],
temp:[],
isshow:true,
xqactive:"1"
}
},
methods: {
pageData:function () {
var self = this;
sublime.showLoadingbar();//显示loading
$.post("/platform/hd/fhdgl/tybm/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.hds.list;
self.pageForm.totalCount=data.data.hds.totalCount;
self.queryHdlx = data.data.hdlx;
}
}, "json");
},
/*分页*/
pageSizeChange:function (val) {
this.pageForm.pageSize=val;
this.pageData();
},
pageNumberChange:function (val) {
this.pageForm.pageNumber=val;
this.pageData();
},
bmpageSizeChange:function (val) {
this.bmPageForm.pageSize=val;
this.bmPageData();
},
bmpageNumberChange:function (val) {
this.bmPageForm.pageNumber=val;
this.bmPageData();
},
doSearch:function () {
this.pageForm.pageNumber = 1;
this.pageData();
},
bmSearch:function () {
this.bmPageData();
},
rowKey:function (row) {
var self = this;
return row.id;
},
handleSelectionChange:function (val) {
this.multipleSelection = val;
},
/*查看*/
openInfo:function (scope) {
var self = this;
$.post("/platform/hd/fhdgl/fhhdbm/findById", {id:scope.row.id}, function (data) {
if (data.code == 0) {
self.viewData = data.data.fhd;
self.bmTableData = data.data.cyry;
self.isshow = false;
}
}, "json");
},
openBm:function (scope) {
var self = this;
self.temp = scope.row;
self.bmPageForm.id=scope.row.id;
self.multipleSelection=[];
self.bmPageData();
self.bmDialogVisible = true;
},
bmPageData:function () {
var self = this;
$.post("/platform/hd/fhdgl/tybm/findUser", self.bmPageForm, function (data) {
if (data.code == 0) {
self.tybmTableData = data.data.user.list;
self.bmPageForm.totalCount=data.data.user.totalCount;
}
}, "json");
},
/*报名*/
bmDo:function () {
var self = this;
if(self.temp.bmrs >= self.temp.hdrs) {
self.$alert("抱歉,此活动报名人数已满!","温馨提示",{
type:'error',
closeOnPressEscape:true,
closeOnClickModal:true,
});
return;
}
if((self.multipleSelection.length + self.temp.bmrs) > self.temp.hdrs) {
self.$alert("<span>该活动人数限制为<span style='color: red'>"+self.temp.hdrs+"</span>人,当前已报名<span style='color: red'>"+self.temp.bmrs+"</span>人,您已选择<span style='color: red'>"+self.multipleSelection.length+"</span>人</span></span>","温馨提示",{
dangerouslyUseHTMLString:true,
type:'warning',
closeOnPressEscape:true,
closeOnClickModal:true,
});
return;
}
var array = new Array();
for(var i = 0; i < self.multipleSelection.length; i++) {
array.push({
id:self.multipleSelection[i].id,
unionid:self.multipleSelection[i].unionid,
});
}
self.$confirm("您确定要批量报名吗?","温馨提示",{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback:function (a,b) {
if("confirm" == a) {
$.post("/platform/hd/fhdgl/tybm/tybm", {id:self.bmPageForm.id,userid:JSON.stringify(array)}, function (data) {
if (data.code == 0) {
self.$message({
message: "报名成功!",
type: 'success'
});
self.bmDialogVisible = false;
setTimeout(function () {
self.$refs.bmTable.clearSelection();
},500)
self.pageData();
}
}, "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;
self.pageForm.hdxm = data.data[0].id;
}
}, "json");
}
},
},
})
</script>
</body>
</html>