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

423 lines
15 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;
}
</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="请选择基层工会" @clear="getFghBydw" @change="getFghBydw(pageForm.fghid)"
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-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.jllx" clearable="true" filterable="true"
style="width:160px;">
<el-option
label="新增" value="1">
</el-option>
<el-option
label="退出" value="2">
</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-button icon="el-icon-search" @click="doSearch"
style="background-color:#409eff;color: white;"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button size="medium" @click="hybf">备份{{moment().format('YYYY')}}年度数据</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
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
sortable
prop="rylx"
label="人员类型"
header-align="center"
align="center">
</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">
<template>
{{pageForm.jfnf}}
</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>
<script>
const vue = new Vue({
el: '#app',
data: function () {
var self = this
var validateHys = function (rule, value, callback) {
if (typeof (self.hys) === "undefined" || self.hys.length == 0) {
callback(new Error(''));
} else {
callback()
}
}
return {
yeard: "",
ghOptions: [],
sfgl: 0,
identity: '',
activeName: ['1', '2', '3'],
roleData: {user: {}, sqjl: [], listjf: []},
unitOptions: [],
tableData: [],
jrTime: [],
pageForm: {
searchName: "username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: "",
fghid: "",
unitid: "",
jrTime: "",
rylx: "",
jfnf: moment().add(-1, 'year').format('YYYY'),
year: "",
sfjr: "1"
},
roleDialogVisible: false,
optionsrylx: [{
value: '1',
label: '在编'
}, {
value: '2',
label: '离退休人员'
},
// {
// value: '3',
// label: '劳动服务公司'
// }
],
rmDialogVisible: false,
userid: "",
tclx: "",
addDialogVisible: false,
fileList: [],
delFiles: [],
uploadForm: {},
formData: {},
fileData: [],
user: {},
loading: false,
useroptions: []
}
},
methods: {
getFghBydw: async function (dwid) {
var self = this;
self.unitOptions = await getUnits(dwid);
self.pageForm.unitid = "";
},
getUnionid(unitid) {
var self = this;
$.post(base + "/platform/zgfw/dbhzjjtz/getUnionid", {id: unitid}, function (data) {
self.formData.fghid = data.data.id;
})
},
/**************************************时间格式化处理************************************/
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 () {
if (this.pageForm.jllx == "1") {
this.pageForm.sfjr = "1"
} else if (this.pageForm.jllx == "2") {
this.pageForm.sfjr = "0"
} else {
this.pageForm.sfjr = "1"
}
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/dbhzjjtz/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;
self.ghOptions = data.data.listunion;
self.unitOptions = data.data.listun;
self.user = data.data.user;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
hybf() {
var self = this;
self.$confirm('请确认是否备份' + moment().format('YYYY') + '年度的数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {//确认后再执行
const loading = self.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.post(base + "/platform/zgfw/dbhzjjtz/hybf", function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
loading.close();
}, "json");
}
}
})
}
},
created: function () {
this.yeard = new Date().getFullYear() + 1;
this.pageData();
}
})
</script>
<!--#
}
#-->