423 lines
15 KiB
HTML
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>
|
|
|
|
<!--#
|
|
}
|
|
#--> |