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

629 lines
30 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>
.dia .el-dialog__body {
padding: 10px 20px;
}
.el-form--label-top .el-form-item__label {
padding: 0px;
}
.el-form {
margin-left: 30px;
}
.el-form-item__label {
line-height: 20px;
font-size: 14px;
}
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
margin-bottom: 8px;
}
.el-divider--horizontal {
margin: 16px 0px;
}
.editor {
width: 100%;
height: 160px;
}
label {
margin-bottom: 0px;
}
.el-card__body {
padding: 10px;
}
.el-input--suffix .el-input__inner {
padding-right: 0px;
}
.el-dropdown-menu__item {
padding: 0px 15px;
}
.bmqk .el-card__body {
padding: 10px 20px;
}
.v-modal{
background-color: transparent;
}
.navbar{
margin-bottom: 0px;
}
.el-table-container{
padding-top: 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" width="200" header-align="center" label="基层工会"-->
<!-- prop="unionname"></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="180px">
<template slot-scope="scope">
<el-button @click="openInfo(scope)" size="mini">查看</el-button>
<el-button type="primary" @click="bmhd(scope)" size="mini" v-if="scope.row.sfbm=='0'">报名</el-button>
<el-button type="danger" @click="qxbm(scope)" size="mini" v-if="scope.row.sfbm>'0'">取消报名
</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"
:visible.sync="infoDialogVisible" custom-class="ViewDialogClass" width="70%" top="3%">
<el-collapse v-model="activeName" accordion>
<el-collapse-item title="活动详细信息" name="1">
<el-card>
<table style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="6" style="font-size: 18px;">{{viewData.fhdmc}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">活动类型</td>
<td class="tpb">{{viewData.hdlx}}</td>
<td class="tpa">活动项目</td>
<td class="tpb">{{viewData.hdxm}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">活动地点</td>
<td class="tpb">{{viewData.hddz}}</td>
<td class="tpa">活动年份</td>
<td class="tpb">{{viewData.hdnf}}</td>
<!--<td class="tpa" >活动经费预算</td>
<td class="tpb">{{viewData.jfys}}</td>-->
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">主办基层工会</td>
<td class="tpb">{{viewData.unionname}}</td>
<td class="tpa">活动人数</td>
<td class="tpb">{{viewData.hdrs}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">报名开始时间</td>
<td class="tpb">{{viewData.bmkssj}}</td>
<td class="tpa">报名截止时间</td>
<td class="tpb">{{viewData.bmjssj}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">活动开始时间</td>
<td class="tpb">{{viewData.hdks}}</td>
<td class="tpa">活动结束时间</td>
<td class="tpb">{{viewData.hdjs}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="6">报名办法</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div v-html="viewData.bmbf"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="6">活动内容</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div v-html="viewData.hdnr"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="6">奖励办法</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div v-html="viewData.jlbf"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="6">其他注意事项</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpc" colspan="6">
<div v-html="viewData.zysx"></div>
</td>
</tr>
</table>
</el-card>
</el-collapse-item>
<el-collapse-item title="活动报名情况" name="2">
<el-card class="box-card bmqk">
<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="所属单位" width="172px" prop="name" header-align="center"
align="center"></el-table-column>
<!--<el-table-column label="基层工会" width="172px" prop="unionname" header-align="center" align="center" ></el-table-column>-->
</el-table>
</el-row>
</el-card>
</el-collapse-item>
</el-collapse>
<span slot="footer" class="dialog-footer">
<el-button @click="infoDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="bmhd(infoFlag)" v-if="flag!='1'&&infoTemp.sfbm=='0'">报名</el-button>
<el-button type="warning" @click="qxbm(infoFlag)" v-if="flag!='1'&&infoTemp.sfbm>'0'">取消报名</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: [],
flag: "",
/*查看*/
infoDialogVisible: false,
activeName: '1',
viewData: [],
bmTableData: [],
infoTemp: [],
infoFlag: [],
isshow:true,
xqactive:"1"
}
},
methods: {
pageData: function () {
var self = this;
sublime.showLoadingbar();//显示loading
$.post("/platform/hd/fhdgl/fhhdbm/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;
self.flag = data.data.flag;
}
}, "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) {
var self = this;
self.infoFlag = scope;
self.infoTemp.sfbm = scope.row.sfbm;
$.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");
},
/*报名*/
bmhd: 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/fhdgl/fhhdbm/bmhd", {
id: scope.row.id,
hdrs: scope.row.hdrs
}, function (data) {
if (data.code == 0) {
self.$message({
message: "报名成功!",
type: 'success'
});
self.pageData();
self.isshow = true;
} else if (data.code == -1) {
setTimeout(function () {
self.$alert("您已经报名此活动,不能重复报名!", "温馨提示", {
type: 'error',
closeOnPressEscape: true,
closeOnClickModal: true,
});
}, 200);
} else if (data.code == -2) {
setTimeout(function () {
self.$alert("抱歉,此活动报名人数已满!", "温馨提示", {
type: 'error',
closeOnPressEscape: true,
closeOnClickModal: true,
});
}, 200);
}
}, "json");
}
}
});
},
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/fhdgl/fhhdbm/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;
self.pageForm.hdxm = data.data[0].id;
}
}, "json");
}
},
},
})
</script>
</body>
</html>