Files
UNION_HUTB/target/classes/views/platform/fw/dbhzjj/dbhzjjbg.html
T
2026-09-09 09:14:28 +08:00

846 lines
34 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<!--
大病互助基金会员变更管理
廖怡爽
-->
<style>
.dia .el-dialog__body {
padding: 5px 20px;
}
.note {
width: 100%;
height: 200px;
}
.el-radio.is-bordered.is-disabled.is-checked {
/* cursor: not-allowed; */
border-color: #409EFF;
}
.el-radio__input.is-disabled .is-checked .el-radio__inner, .el-radio__input.is-disabled.is-checked .el-radio__inner {
background-color: #409EFF;
/*border-color: #E4E7ED; */
}
.tpa {
padding: 10px;
text-align: center;
width: 12%;
color: #777;
background-color: rgb(250, 250, 250);
border: 1px solid rgb(220, 220, 220);
}
.tpb {
padding: 10px;
text-align: center;
color: #333;
width: 15%;
border: 1px solid rgb(220, 220, 220);
}
.tpc {
padding: 10px;
color: #a0a9b4;
width: 15%;
border: 1px solid rgb(220, 220, 220);
}
.el-card__body {
padding: 0;
}
.myT .has-gutter tr th {
background-color: #F5F7FA;
}
input[type=file] {
display: none;
}
</style>
<div id="app" v-cloak>
<div hidden id="username">${@shiro.getPrincipalProperty('username')}</div>
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-date-picker
v-model="pageForm.jfnf"
type="year"
placeholder="选择年"
format="yyyy"
value-format="yyyy"
style="width: 130px;"
>
</el-date-picker>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择基层工会" @change="unionChange" @clear="unionChange" v-model="pageForm.fghid"
clearable="true" filterable="true"
style="width:200px;">
<el-option v-for="item in ghOptions" :label="item.unionname" :value="item.id"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select v-model="pageForm.unitid" filterable="true" clearable placeholder="请选择单位">
<el-option
v-for="item in unitOptions"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询" style="width: 100px;">
<el-option label="工号" value="loginname"></el-option>
<el-option label="姓名" value="username"></el-option>
</el-select>
</el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择人员类型" v-model="pageForm.rylx" clearable="true" filterable="true"
style="width:160px;">
<el-option
v-for="item in optionsrylx"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择变更类型" v-model="pageForm.bglx" clearable="true" filterable="true"
style="width:160px;">
<el-option
v-for="item in optionsbglx"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button icon="el-icon-search" @click="doSearch"
style="background-color:#409eff;color: white;"></el-button>
</div>
<!-- <div class="btn-group tool-button mt5" style="margin-bottom: 10px;">
<span style="color: grey;font-weight: bold;">基金会员退休去世变更处理: </span>
<el-button size="small" type="warning" @click="downloadmodel" >下载会员退休去世变更模板</el-button>
<el-button size="small" type="success" @click="openAdd" >上传会员退休去世记录</el-button>
</div>-->
</el-row>
<el-row class="el-table-container">
<el-table
@sort-change='pageOrder'
:data="tableData"
size="medium"
header-align="center"
style="width: 100%"
>
<el-table-column label="序号" width="90px" type="index" header-align="center" align="center">
<template scope="scope"><span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column
prop="loginname"
label="工号"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="username"
label="姓名"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="sex"
label="性别"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="rxsj"
label="入校日期"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="mobile"
label="电话"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="depname"
label="所属单位"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="unionname"
label="所属基层工会"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="zzzt"
label="在职状态"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="rylx"
label="人员类型"
header-align="center"
align="center">
<template scope="scope">
<el-tag type="primary">{{scope.row.rylx}}</el-tag>
</template>
</el-table-column>
<el-table-column
label="变更类型"
header-align="center"
align="center">
<template scope="scope">
<el-tag v-if="scope.row.jllx==1">加入基金</el-tag>
<el-tag type="warning" v-if="scope.row.jllx==2">退出基金</el-tag>
</template>
</el-table-column>
<el-table-column
prop="zssj"
label="变更日期"
header-align="center"
align="center">
</el-table-column>
<!-- <el-table-column
label="操作"
header-align="center"
align="center"
width="200px"
>
<template slot-scope="scope">
<el-button type="success" size="mini" @click="openDetail(scope.row.id)">查看</el-button>
<el-button v-if="sfgl==2" type="danger" size="mini" @click="tcjj(scope.row.id)">退出大病基金</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>
<el-dialog
class="ViewDialogClass"
title="查看详情"
:visible.sync="roleDialogVisible"
width="55%"
>
<el-collapse v-model="activeName">
<el-collapse-item title="用户信息" name="1">
<el-card>
<div>
<table style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{roleData.user.username}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{roleData.user.sex}}</td>
<td class="tpa">出生日期</td>
<td class="tpb">{{roleData.user.birthday}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">出生地点</td>
<td class="tpb">{{roleData.user.csdd}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{roleData.user.mz}}</td>
<td class="tpa">政治面貌</td>
<td class="tpb">{{roleData.user.zzmc}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{roleData.user.gz}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{roleData.user.zc}}</td>
<td class="tpa">联系电话</td>
<td class="tpb">{{roleData.user.mobile}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="1">所在部门</td>
<td class="tpb" colspan="1">{{roleData.user.depname}}</td>
<td class="tpa" colspan="1">所属基层工会</td>
<td class="tpb" colspan="1">{{roleData.user.unionname}}</td>
<td class="tpa" colspan="1">现任职务</td>
<td class="tpb" colspan="2">{{roleData.user.zw}}</td>
</tr>
</table>
</div>
</el-card>
</el-collapse-item>
<el-collapse-item title="申请记录" name="2">
<el-table
:data="roleData.sqjls"
size="small"
header-align="center"
style="width: 100%"
>
<!-- <el-table-column label="序号" type="index" header-align="center" align="center"></el-table-column>-->
<el-table-column
prop="sqsj"
label="申请时间"
header-align="center"
align="center"
width="100px">
</el-table-column>
<el-table-column
label="申请类型"
header-align="center"
align="center">
<template scope="scope">
<el-tag v-if="scope.row.jllx==1">加入基金</el-tag>
<el-tag type="warning" v-if="scope.row.jllx==2">退出基金</el-tag>
</template>
</el-table-column>
<el-table-column
prop="jjzt"
label="申请状态"
header-align="center"
align="center"
width="120px"
>
<template scope="scope">
<el-tag type="warning" v-if="scope.row.jjzt==1">待基层工会审核</el-tag>
<el-tag type="warning" v-if="scope.row.jjzt==2">待离退休干部处审核</el-tag>
<el-tag type="warning" v-if="scope.row.jjzt==3">待互管会审核</el-tag>
<el-tag type="danger" v-if="scope.row.jjzt==4">审核不通过</el-tag>
<el-tag type="danger" v-if="scope.row.jjzt==5">分会/离退休审核不通过</el-tag>
<el-tag type="success" v-if="scope.row.jjzt==6">互管会审核通过</el-tag>
</template>
</el-table-column>
<!-- <el-table-column
prop="jjshr"
label="分会审核人"
header-align="center"
align="center">
<template scope="scope">
<span style="color: #a0a9b4" v-if="scope.row.jjshr==''||scope.row.jjshr==null">暂无审核</span>
<span v-else>{{scope.row.jjshr}}</span>
</template>
</el-table-column>-->
<el-table-column
prop="jjshyj"
label="分会审核意见"
header-align="center"
align="center"
width="120px">
<template scope="scope">
<span style="color: #a0a9b4" v-if="scope.row.jjshyj==''||scope.row.jjshyj==null">暂无</span>
<span v-else>{{scope.row.jjshyj}}</span>
</template>
</el-table-column>
<el-table-column
prop="jjshsj"
label="分会审核时间"
header-align="center"
align="center"
width="100px">
<template scope="scope">
<span style="color: #a0a9b4" v-if="scope.row.jjshsj==''||scope.row.jjshsj==null">暂无</span>
<span v-else>{{scope.row.jjshsj}}</span>
</template>
</el-table-column>
<el-table-column
prop="hghshyj"
label="互管会审核意见"
header-align="center"
align="center"
width="120px">
<template scope="scope">
<span style="color: #a0a9b4" v-if="scope.row.hghshyj==''||scope.row.hghshyj==null">暂无</span>
<span v-else>{{scope.row.hghshyj}}</span>
</template>
</el-table-column>
<el-table-column
prop="hghshsj"
label="互管会审核时间"
header-align="center"
align="center"
width="120px">
<template scope="scope">
<span style="color: #a0a9b4" v-if="scope.row.hghshsj==''||scope.row.hghshsj==null">暂无</span>
<span v-else>{{scope.row.hghshsj}}</span>
</template>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item title="缴费记录" name="3">
<el-table
:data="roleData.listjf"
size="small"
header-align="center"
style="width: 100%"
>
<!-- <el-table-column label="序号" type="index" header-align="center" align="center"></el-table-column>-->
<el-table-column
prop="jfyear"
label="缴费年份"
header-align="center"
align="center"
width="100px">
</el-table-column>
<el-table-column
label="缴费金额"
header-align="center"
align="center">
<template scope="scope">
<el-tag type="danger">{{scope.row.jfje}}</el-tag>
</template>
</el-table-column>
<el-table-column
prop="sfjf"
label="是否扣款"
header-align="center"
align="center"
width="120px"
>
<template scope="scope">
<el-tag type="info" v-if="scope.row.sfjf==0">未扣款</el-tag>
<el-tag type="success" v-if="scope.row.sfjf==1">已扣款</el-tag>
</template>
</el-table-column>
</el-table>
</el-collapse-item>
</el-collapse>
</el-collaps>
<span slot="footer" class="dialog-footer">
<el-button type="danger" @click="roleDialogVisible = false">关 闭</el-button>
</span>
</el-dialog>
<el-dialog
class="ViewDialogClass"
title="上传会员退休去世变更记录"
@close="fileList = [];delFiles = [];uploadForm:{}"
:close-on-click-modal="false"
:visible.sync="addDialogVisible"
width="60%">
<el-form :model="formData" ref="addForm" size="small" label-width="140px">
<el-row>
<div class="btn-group tool-button mt5">
<el-form-item prop="fj" label="退休/去世变更记录">
<el-upload
name="file"
ref="upload"
multiple="false"
:auto-upload="false"
class="upload-demo"
action="/platform/zgfw/dbhzjjbg/getFiles"
:data="uploadForm"
:on-success="handleSuccess"
:on-error="handleError"
:on-change="handleChange"
:on-remove="handleRemove"
:file-list="fileList">
<el-button size="small" type="primary">选取文件</el-button>
<div class="el-upload__tip" slot="tip" style="color:#F56C6C;">只能上传1个
xls/xlsx文件;必须上传模板文件!
</div>
</el-upload>
</el-form-item>
</div>
<div class="pull-right offscreen-right mt5" style="margin-right: 10px;">
<el-button type="warning" size="small" type="primary" @click="doAdd">获取文件内容</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table
:data="fileData"
size="medium"
header-align="center"
style="width: 100%"
>
<el-table-column label="序号" width="90px" type="index" header-align="center" align="center">
</el-table-column>
<el-table-column
prop="loginname"
label="工号"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="depname"
label="所属单位"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="rylx"
label="人员类型"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="bgsj"
label="变更时间"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="bglx"
label="变更类型"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="sfcz"
label="是否存在"
header-align="center"
align="center">
<template scope="scope">
<el-tag type="success" v-if="scope.row.sfcz=='1'">找到数据</el-tag>
<el-tag type="danger" v-if="scope.row.rylx=='0'">数据不存在</el-tag>
</template>
</el-table-column>
<el-table-column
label="是否加入基金"
header-align="center"
align="center">
<template scope="scope">
<el-tag v-if="scope.row.sfjrjj==1">已加入</el-tag>
<el-tag type="warning" v-if="scope.row.sfjrjj==0">未加入</el-tag>
</template>
</el-table-column>
</el-table>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doplbg">确 定</el-button>
</span>
</el-dialog>
</div>
<script>
const vue = new Vue({
el: '#app',
data: function () {
var self = this
return {
ghOptions: [],
sfgl: 0,
identity: '',
activeName: ['1', '2', '3'],
roleData: {user: {}, sqjl: [], listjf: []},
unitOptions: [],
tableData: [],
fileData: [],
jrTime: [],
pageForm: {
searchName: "username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: "",
fghid: "",
unitid: "",
jrTime: "",
rylx: "",
bglx: "",
jfnf: moment().format('YYYY')
},
optionsrylx: [
{
value: '1',
label: '在编'
}, {
value: '2',
label: '离退休人员'
},
// {
// value: '3',
// label: '劳动服务公司'
// }, {
// value: '5',
// label: '去世人员'
// }
],
optionsbglx: [{
value: '1',
label: '加入基金'
}, {
value: '2',
label: '退出基金'
}],
roleDialogVisible: false,
addDialogVisible: false,
uploadForm: [],
fileList: [],
delFiles: [],
formData: {fileurl: ''},
}
},
methods: {
openDetail: function (id) {
var self = this;
$.get(base + "/platform/zgfw/dbhzjjyl/queryDetail", {"userid": id}, function (data) {
if (data.code == 0) {
self.roleData = data.data;//加载后台表单数据
self.roleDialogVisible = true
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json")
},
/**************************************时间格式化处理************************************/
dateFtt: function (fmt, date) { //author: meizz
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
},
doSearch: function () {
this.pageForm.pageNumber = 1;
this.pageData();
},
pageOrder: function (column) {//按字段排序
switch (column.order) {
case 'descending':
column.order = 'desc'
break
case "ascending":
column.order = 'asc'
break
}
this.pageForm.pageOrderName = column.prop;
this.pageForm.pageOrderBy = column.order;
this.pageData();
},
pageNumberChange: function (val) {//页码更新操作
this.pageForm.pageNumber = val;
this.pageData();
},
pageSizeChange: function (val) {//分页大小更新操作
this.pageForm.pageSize = val;
this.pageData();
},
pageData: function () {//加载分页数据
var self = this;
sublime.showLoadingbar();//显示loading
if (self.jrTime) {
self.pageForm.jrTime = self.jrTime.toString();
} else {
self.pageForm.jrTime = "";
}
$.post(base + "/platform/zgfw/dbhzjjbg/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.jj.list;
self.pageForm.totalCount = data.data.jj.totalCount;
self.sfgl = data.data.sfgl;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
openAdd: function () {
var self = this;
self.addDialogVisible = true;
self.fileData = [];
self.fileList = [];
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
},
doAdd: function () {
var self = this;
self.$refs["addForm"].validate(function (valid) {
if (valid) {
var flag = true;
for (var i in self.fileList) {
var name = self.fileList[i].name;
var testmsg = name.substring(name.lastIndexOf('.') + 1);
testmsg = testmsg.toLowerCase();
var e = testmsg === 'xls';
var f = testmsg === 'xlsx';
if (!e && !f) {
self.$message.error("您选择的文件格式不正确!请重新选择!");
flag = false
} else if (self.fileList.length > 1) {
self.$message.error("最多只能上传1个附件!");
flag = false
}
}
if (flag) {
if (self.fileList.length > 0) {
loading = true;
self.fileData = [];
self.$refs.upload.submit();
} else {
self.$message.error("请选择一个附件!");
}
}
}
});
},
//提交变更数据
doplbg: function () {//加载分页数据
var self = this;
$.post(base + "/platform/zgfw/dbhzjjbg/plbg", {"userlist": JSON.stringify(self.fileData)}, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
self.addDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
handleSuccess: function (response, file, fileList) {
this.$refs.upload.clearFiles();//清除已上传的列表
loading = false;
if (response.code == 1) {
this.$message({
message: response.msg,
type: "error"
});
} else {
this.fileData = response.data;
}
},
handleError: function (err, file, fileList) {
loading = false;
this.$message({
message: err.msg,
type: "error"
});
},
handleChange: function (file, filelist) {
var self = this;
self.fileList = filelist;
},
handleRemove: function (file, filelist) {
var self = this;
self.fileList = filelist;
if (typeof (file.url) === "undefined") {
} else {
console.log("增加要删除的文件:" + file.name)
self.delFiles.push({uid: file.uid, url: file.url})
}
},
//下载模板
downloadmodel: function () {
var self = this;
var url = "src/main/resources/excelTemplate/txqsmodel1.xlsx";
var name = "大病会员退休去世变更模板.xlsx";
window.location.href = base + "/platform/zgfw/dbhzjjjf/downLoad?path=" + url + "&filename=" + name;
},
async unionChange() {
if (!this.pageForm.fghid) {
this.pageForm.unitid = ''
this.unitOptions = []
}
this.unitOptions = await getUnits(this.pageForm.fghid)
},
},
created: async function () {
this.pageData();
this.ghOptions = await getUnions()
this.unitOptions = await getUnits()
}
})
</script>
<!--#
}
#-->