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

869 lines
36 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<!--
职工困难库页面
李耀威
2019 6 12
-->
<div id="app" v-cloak>
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" clearable 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" v-if="identity!=2">
<el-select placeholder="请选择基层工会" v-model="pageForm.fghid" clearable="true" filterable="true"
style="width:200px;">
<el-option v-for="item in ghOptions" :label="item.unionname" :value="item.unioninfomgr_id"></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="pull-right offscreen-right mt5">
<el-button size="medium" icon="el-icon-plus" @click="seeadd">添加困难职工</el-button>
<el-button size="medium" type="primary" @click="lsjl">历史记录查询</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table
:data="tableData"
size="small"
header-align="center"
style="width: 100%"
@sort-change="pageOrder"
>
<el-table-column
label="序号"
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="unitname"
label="所属单位"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
v-if="identity!=2"
prop="fghname"
label="所属基层工会"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="userOnline"
label="操作"
header-align="center" width="180px"
align="center">
<template slot-scope="scope">
<!-- <el-button type="primary" size="mini" @click="openEdit(scope.row.lx_id)">编辑</el-button>-->
<!-- <el-button type="danger" size="mini" @click="doDelete(scope.row.lx_id)">删除</el-button>-->
<el-button @click="openDetail(scope.row.id)" size="mini">查看</el-button>
<el-button type="danger" size="mini" @click="del(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="detailDialogVisible"
width="60%">
<el-collapse v-model="activeName">
<el-collapse-item title="基本信息" name="1">
<table style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{detailData.username}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{detailData.sex}}</td>
<td class="tpa">出生日期</td>
<td class="tpb">{{detailData.birthday}}</td>
<td rowspan="3">
<img v-if="detailData.imgurl!=''&&detailData.imgurl!=null" :src="showPic"
style="height: 140px;width: 100%;border:none">
<div v-if="(detailData.imgurl==''||detailData.imgurl==null)" style="text-align: center">
<el-label>暂无图片</el-label>
</div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">出生地点</td>
<td class="tpb">{{detailData.csdd}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{detailData.mz}}</td>
<td class="tpa">政治面貌</td>
<td class="tpb">{{detailData.zzmc}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{detailData.gz}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{detailData.zc}}</td>
<td class="tpa">联系电话</td>
<td class="tpb">{{detailData.mobile}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="1">所在部门</td>
<td class="tpb" colspan="3">{{detailData.unitname}}</td>
<td class="tpa" colspan="1">现任职务</td>
<td class="tpb" colspan="2">{{detailData.zw}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="7">个 人 简 历</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpb" colspan="7" v-if="(typeof(detailData.grjl)==='undefined')">暂无个人简历信息</td>
<td class="tpc" colspan="7" v-if="!(typeof(detailData.grjl)==='undefined')">
<div v-html="detailData.grjl"></div>
</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="7">家 庭 成 员</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpb" colspan="7" v-if="(typeof(detailData.jtcy)==='undefined')">暂无家庭成员信息</td>
<td class="tpc" colspan="7" v-if="!(typeof(detailData.jtcy)==='undefined')">
<div v-html="detailData.jtcy"></div>
</td>
</tr>
</table>
</el-collapse-item>
<el-collapse-item title="困难帮扶申请记录" name="2">
<el-table
:data="gyqss"
size="small"
header-align="center"
style="width: 100%"
@sort-change='rolePageOrder'
>
<el-table-column
label="序号"
type="index"
header-align="center"
align="center"
>
<template scope="scope">
<span>{{scope.$index+(rolePageForm.pageNumber - 1) * rolePageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column
sortable
prop="sq_sqsj"
label="申请时间"
header-align="center"
align="center">
</el-table-column>
<el-table-column
prop="sq_knbzsqly"
label="申请理由"
header-align="center"
align="center">
</el-table-column>
<el-table-column
sortable
prop="sq_sqzt"
label="状态"
header-align="center"
align="center">
<template scope="scope">
<el-tag type="warning" v-if="scope.row.sq_sqzt==1">待基层工会位审核</el-tag>
<el-tag type="danger" v-if="scope.row.sq_sqzt==2">基层工会审核不通过</el-tag>
<el-tag type="warning" v-if="scope.row.sq_sqzt==3">待校工会审核</el-tag>
<el-tag type="danger" v-if="scope.row.sq_sqzt==4">校工会审核不通过</el-tag>
<el-tag type="success" v-if="scope.row.sq_sqzt==5">申请成功</el-tag>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="rolePageSizeChange"
@current-change="rolePageNumberChange"
:page-size="rolePageForm.pageSize"
:total="rolePageForm.totalCount"
layout="prev, pager, next"
>
</el-pagination>
</el-collapse-item>
</el-collapse>
<span slot="footer" class="dialog-footer">
<el-button type="danger" @click="detailDialogVisible = false">关闭</el-button>
</span>
</el-dialog>
<el-dialog
class="ViewDialogClass"
title="新增困难职工"
:visible.sync="addDialogVisible"
width="60%">
<div v-show="firstDialogVisible==true">
<el-row>
<div class="btn-group tool-button mt5">
<el-input size="small" clearable v-model="kxryPageForm.searchName" placeholder="请输入工号或姓名查找"
style="width: 200px"></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-button size="small" type="primary" icon="el-icon-search" @click="kxryPageData"></el-button>
</div>
</el-row>
<el-row style="margin-top: 10px;">
<el-table
ref="kxryTableData"
:row-key="getRowKeys"
:data="kxryTableData"
size="small"
header-align="center"
style="width: 100%"
@select="kxrySelect"
@select-all="kxrySelectAll"
>
<el-table-column
:reserve-selection="true"
type="selection"
width="30">
</el-table-column>
</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"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
prop="sex"
label="性别"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="name"
label="所属单位"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
</el-table>
</el-row>
<el-row style="margin-top: 15px">
<el-pagination
@size-change="kxryPageSizeChange"
@current-change="kxryPageNumberChange"
:current-page="kxryPageForm.pageNumber"
:page-sizes="[5, 10]"
:page-size="kxryPageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="kxryPageForm.totalCount">
</el-pagination>
</el-row>
</div>
<div v-show="secondDialogVisible==true">
<el-row>
<el-table
class="myT"
:data="kn"
border
style="width: 100%">
<el-table-column
prop="loginname"
label="工号"
align-="center"
header-align="center"
width="100px"
align="center">
</el-table-column>
<el-table-column
prop="username"
header-align="center"
align="center"
label="姓名">
</el-table-column>
<el-table-column
prop="sex"
header-align="center"
align="center"
label="性别">
</el-table-column>
<el-table-column
prop="name"
header-align="center"
align="center"
label="所属单位">
</el-table-column>
</el-table>
</el-row>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="qx">取 消</el-button>
<el-button type="primary" v-if="firstDialogVisible==true&&isNext==true" @click="next">下一步</el-button>
<el-button type="primary" v-if="firstDialogVisible==true&&isNext==false" disabled>下一步</el-button>
<el-button type="primary" v-if="secondDialogVisible==true" @click="firstDialogVisible=true;secondDialogVisible=false">上一步</el-button>
<el-button type="success" v-if="secondDialogVisible==true" @click="submit">提 交</el-button>
</span>
</el-dialog>
<el-dialog
class="ViewDialogClass"
title="历史记录展示"
:visible.sync="showDialogVisible"
width="60%">
<el-row>
<div class="btn-group tool-button mt5">
<el-input size="small" v-model="showPageForm.searchName" placeholder="请输入工号或姓名查找"
style="width: 200px"></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-button size="small" type="primary" icon="el-icon-search" @click="showPageForm"></el-button>
</div>
</el-row>
<el-row style="margin-top: 10px;">
<el-table
:data="showTableData"
size="small"
header-align="center"
style="width: 100%"
>
</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"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
prop="sex"
label="性别"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="qxsj"
label="取消时间"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
prop="name"
label="所属单位"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
</el-table>
</el-row>
<el-row style="margin-top: 15px">
<el-pagination
@size-change="showPageSizeChange"
@current-change="showPageNumberChange"
:current-page="showPageForm.pageNumber"
:page-sizes="[5, 10]"
:page-size="showPageForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="showPageForm.totalCount">
</el-pagination>
</el-row>
</el-dialog>
</div>
<script>
var vue = new Vue({
el: '#app',
data: function () {
var self = this
var validateLx_wtsl = function (rule, value, callback) {
if (typeof (value) === "undefined") {
callback(new Error(''));
} else {
callback()
}
}
return {
getRowKeys: function (row) {
return row.id;
},
userid: '',
activeName: ['1', '2'],
detailData: {},
detailDialogVisible: false,
ghOptions: [],
identity: '',
tableData: [],
pageForm: {
searchName: "username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
showPic: '',
formData: {},
editDialogVisible: false,
formRules: {
lx_name: [{required: true, message: '', trigger: ['blur', 'change']}],
lx_wtsl: [{validator: validateLx_wtsl, trigger: ['blur', 'change']}],
lx_bz: [{required: false, message: '', trigger: ['blur', 'change']}],
},
rolePageForm: {
searchName: '',
searchKeyword: '',
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: "",
userid: '',
},
gyqss:[],
addDialogVisible:false,
kxryTableData:[],
kxryPageForm: {
searchName: '',
pageNumber: 1,
pageSize: 5,
totalCount: 0,
},
firstDialogVisible: false,
isNext: false,
kn:[],
secondDialogVisible:false,
showDialogVisible:false,
showPageForm:{
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchName:""
},
showTableData:[]
}
},
methods: {
rolePageData: function () {
var self = this;
sublime.showLoadingbar();//显示loading
$.post('/platform/knbf/knbfsq/data', self.rolePageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.gyqss = data.data.list
self.rolePageForm.totalCount = data.data.totalCount;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
rolePageNumberChange: function (val) {//页码更新操作
this.rolePageForm.pageNumber = val;
this.rolePageData();
},
rolePageSizeChange: function (val) {//分页大小更新操作
this.rolePageForm.pageSize = val;
this.rolePageData();
},
rolePageOrder: function (column) {//按字段排序
switch (column.order) {
case 'descending':
column.order = 'desc'
break
case "ascending":
column.order = 'asc'
break
}
this.rolePageForm.pageOrderName = column.prop;
this.rolePageForm.pageOrderBy = column.order;
this.rolePageData();
},
/*计算年龄*/
calAge: function (birthday) {
// 获得今天的时间
var date = new Date();
var startDate = new Date(birthday);
var newDate = date.getTime() - startDate.getTime();
var age = Math.ceil(newDate / 1000 / 60 / 60 / 24 / 365);
if (isNaN(age)) {
age = "";
}
return age;
},
openDetail: function (userid) {
var self = this;
self.rolePageForm.userid = userid
self.rolePageData()
$.post(base + "/platform/knbf/knzgk/queryDetail", {userid: userid}, function (data) {
if (data.code == 0) {
self.detailData = data.data;
self.showPic = base + "/platform/hy/hyda/showPic?filePath=" + data.data.imgurl;
self.detailData.age = self.calAge(self.detailData.birthday);
self.detailDialogVisible = true;
}
}, "json");
},
doDelete: function (id) {
var self = this;
this.$confirm('确定要删除吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {//确认后再执行
$.post(base + "/platform/zgfw/wjdclx/delete", {lx_id: id}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
},
openEdit: function (id) {
var self = this;
this.formData = {};
if (this.$refs["editForm"])
this.$refs["editForm"].resetFields();
$.get("/platform/zgfw/wjdclx/queryDetail", {lx_id: id}, function (data) {
if (data.code == 0) {
self.formData = data.data
self.formData.lx_wtsl = self.formData.lx_wtsl.toString()
self.editDialogVisible = true
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, 'json')
},
doEdit: function () {
var self = this;
self.$refs["editForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/zgfw/wjdclx/doEdit", self.formData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();//查询是带条件的,加载新建用户选择的单位用户数据
self.editDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
});
},
doAdd: function () {
var self = this;
self.$refs["addForm"].validate(function (valid) {
if (valid) {
$.post(base + "/platform/zgfw/wjdclx/doAdd", self.formData, function (data) {
if (data.code == 0) {
self.pageData();
self.addDialogVisible = false
self.$message({
message: '添加成功',
type: "success"
});
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
})
},
openAdd: function () {
var self = this;
this.addDialogVisible = true;
this.formData = {};//打开新增窗口,表单先清空
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
},
doSearch: function () {
this.pageForm.pageNumber = 1;
this.pageData();
},
pageOrder: function (column) {//按字段排序
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
$.post(base + "/platform/knbf/knzgk/data", self.pageForm, function (data) {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
self.tableData = data.data.list;
self.pageForm.totalCount = data.data.totalCount;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
getIdentity: function () {
var self = this
$.get(base + "/platform/zgfw/zgwwsh/getIdentity", function (data) {
self.identity = data
if (data == 2) {
self.quertyUnit2ByFgh()
} else {
self.queryAllFgh()
}
}, 'json')
},
quertyUnit2ByFgh: function () {
var self = this
$.get("/platform/zgfw/dbhzjjhyfghsq/quertyUnit2ByFgh", function (data) {
if (data.code == 0) {
self.unitOptions = data.data
}
})
},
queryAllFgh: function () {
var self = this
$.get(base + "/platform/zgfw/zgwwsh/queryAllFgh", function (data) {
self.ghOptions = data.data;
}, 'json')
},
kxrySelectAll: function (val) {
var self = this
self.kn=val
self.isNextFun()
},
kxrySelect: function (val, row) {
var self = this
self.kn=val;
self.isNextFun()
},
isNextFun: function () {
var self = this
self.isNext = self.kn.length > 0 ? true : false
},
next:function(){
var self=this;
self.firstDialogVisible= false;
self.secondDialogVisible=true;
},
kxryPageSizeChange: function (val) {//分页大小更新操作
this.kxryPageForm.pageSize = val;
this.kxryPageData();
},
kxryPageNumberChange: function (val) {//页码更新操作
this.kxryPageForm.pageNumber = val;
this.kxryPageData();
var self = this
},
kxryPageData:function () {
var self=this;
$.post(base+"/platform/knbf/knzgk/findUser",self.kxryPageForm,function (data) {
self.kxryTableData=data.data.list;
self.kxryPageForm.totalCount=data.data.totalCount;
})
},
del:function (id) {
var self=this;
var self = this;
this.$confirm('确定要删除吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {
$.post(base+"/platform/knbf/knzgk/del",{userid:id},function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.pageData();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
})
}
}
})
},
seeadd:function () {
this.kn=[];
this.isNextFun();
this.addDialogVisible=true;
this.kxryPageData();
this.firstDialogVisible=true;
this.secondDialogVisible=false;
this.$refs.kxryTableData.clearSelection();
},
qx:function () {
this.addDialogVisible=false;
this.$refs.kxryTableData.clearSelection();
},
submit:function () {
var self=this;
var kns=JSON.stringify(self.kn);
$.post(base+"/platform/knbf/knzgk/submit",{kns:kns},function (data) {
if (data.code==0){
self.$message({
message: data.msg,
type: 'success'
});
self.addDialogVisible=false;
self.pageData();
} else{
self.$message({
message: data.msg,
type: 'error'
});
}
})
},
showPageNumberChange: function (val) {//页码更新操作
this.showPageForm.pageNumber = val;
this.showPageData();
},
showPageSizeChange: function (val) {//分页大小更新操作
this.showPageForm.pageSize = val;
this.showPageData();
},
lsjl:function () {
this.showDialogVisible=true;
this.showPageData();
},
showPageData:function () {
var self=this;
$.post(base+"/platform/knbf/knzgk/show",self.showPageForm,function (data) {
self.showTableData=data.data.list;
self.showPageForm.totalCount=data.data.totalCount;
})
}
},
created: function () {
this.pageData();
this.getIdentity()
}
})
</script>
<!--#
}
#-->