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

780 lines
33 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<style>
.tpa {
padding: 10px;
text-align: center;
width: 12%;
background-color: rgb(250, 250, 250);
border: 1px solid rgb(220, 220, 220);
}
.tpb {
padding: 10px;
text-align: center;
width: 16%;
border: 1px solid rgb(220, 220, 220);
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"] {
-moz-appearance: textfield;
}
.el-collapse-item__header {
background-color: #317fca;
color: whitesmoke;
padding-left: 10px;
height: 35px;
line-height: 35px;
font-size: 16px;
}
.el-table-container2 el-table-container {
padding-top: 0px !important;
}
</style>
<div id="app" v-cloak>
<el-row class="header navbar bg-white shadow">
<!-- <div class="btn-group tool-button mt5">
<el-date-picker
v-model="pageForm.year"
type="year"
style="width: 100px"
:clearable="false"
value-format="yyyy"
placeholder="年度">
</el-date-picker>
</div>-->
<div class="btn-group tool-button mt5">
<el-select clearable placeholder="福利单位" @change="getFghBydw(pageForm.fgh)" filterable v-model="pageForm.fgh"
style="width:180px">
<el-option v-for="dw in fghlist" :value="dw.id" :label="dw.welfare_unit_name"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select clearable placeholder="组成单位" filterable v-model="pageForm.ejdw" style="width:210px">
<el-option v-for="dw in dwlist" :value="dw.id" :label="dw.name"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-input type="text" v-model="pageForm.searchName" placeholder="请输入" style="width: 230px"
class="input-with-select">
<el-select style="width: 100px" v-model="pageForm.searchKey" slot="prepend" placeholder="请选择">
<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 clearable v-model="pageForm.flhy" style="width: 130px" slot="prepend" placeholder="福利会员">
<el-option value="1" label="有效会员"></el-option>
<el-option value="0" label="无效会员"></el-option>
&lt;!&ndash;<el-option value="3" label="自筹经费"></el-option>&ndash;&gt;
</el-select>
</div>-->
<div class="btn-group tool-button mt5">
<el-select v-model="pageForm.rylx" style="width: 100%" filterable clearable placeholder="人员类型">
<el-option
label="在编" value="在编">
</el-option>
<el-option
label="非编" value="非编">
</el-option>
<el-option
label="离退休" value="离退休">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-select clearable v-model="pageForm.jflx" style="width: 130px" slot="prepend" placeholder="缴费类型">
<el-option value="学校经费" label="学校经费"></el-option>
<el-option value="单位缴费" label="单位缴费"></el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search" @click="doSearch"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<!-- <el-button size="medium" @click="download">-->
<!-- 数据模板-->
<!-- </el-button>-->
<el-button size="medium" @click="opendr">
导入
</el-button>
<el-button size="medium" @click="openAdd">
新增
</el-button>
<!-- <el-button size="medium" @click="alldel">
删除
</el-button>-->
<!-- <el-button size="medium" @click="dc">
导出
</el-button>-->
</div>
</el-row>
<el-row class="el-table-container">
<el-table :data="tableData" @sort-change="changeTableSort" size="small">
<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 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="单位" sortable prop="name" width="220px" header-align="center"
align="center"></el-table-column>
<el-table-column label="福利单位" sortable prop="unionname" width="220px" header-align="center"
align="center"></el-table-column>
<el-table-column label="人员类型" sortable prop="rylx" header-align="center" align="center">
</el-table-column>
<el-table-column label="福利会员" prop="flhy" header-align="center" align="center">
<template scope="scope">
<span style="color: #9fadbd" v-if="scope.row.flhy==0">无效会员</span>
<span style="color: #00c1de" v-if="scope.row.flhy==1">有效会员</span>
</template>
</el-table-column>
<el-table-column label="状态" sortable prop="ryzt" header-align="center" align="center">
<template scope="scope">
<span v-if="scope.row.flzt==1">待审核</span>
<span v-if="scope.row.flzt==2">拒绝</span>
<span v-if="scope.row.flzt==3">通过</span>
</template>
</el-table-column>
<el-table-column label="操作" header-align="center" align="center" width="300">
<template slot-scope="scope">
<el-button size="mini" @click="see(scope.row)">查看</el-button>
<el-button size="mini" type="primary" @click="openEdit(scope.row)">编辑</el-button>
<!-- <el-button size="mini" type="danger" @click="doDel(scope.row.id)">删除</el-button>-->
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="el-pagination-container">
<el-pagination
@current-change="pageNumberChange"
:current-page="pageForm.pageNumber"
layout="total, prev, pager, next, jumper"
:total="pageForm.totalCount">
</el-pagination>
</el-row>
<el-divider content-position="left" style="color: #409EFF">系统未找到的人员数据</el-divider>
<template class="el-table-container2">
<el-row class="el-table-container">
<el-table :data="noTableData" @sort-change="changeTableSort" size="small">
<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 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="单位" sortable prop="unitname" width="220px" header-align="center"
align="center"></el-table-column>
<!-- <el-table-column label="基层工会" sortable prop="unionname" width="220px" header-align="center"-->
<!-- align="center"></el-table-column>-->
<el-table-column label="人员类型" sortable prop="rylx" header-align="center" align="center">
</el-table-column>
<el-table-column label="操作" header-align="center" align="center" width="300">
<template slot-scope="scope">
<el-button size="mini" @click="see(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="el-pagination-container">
<el-pagination
@current-change="noPageNumberChange"
:current-page="noPageForm.pageNumber"
layout="total, prev, pager, next, jumper"
:total="noPageForm.totalCount">
</el-pagination>
</el-row>
</template>
<el-dialog
title="福利人员信息"
:visible.sync="viewDialogVisible"
width="50%">
<el-collapse v-model="activeNames">
<el-collapse-item title="基本信息" name="1">
<div>
<table style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">姓名</td>
<td class="tpb">{{viewData.username}}</td>
<td class="tpa">工号</td>
<td class="tpb">{{viewData.loginname}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">单位</td>
<td class="tpb">{{viewData.name}}</td>
<td class="tpa">联系电话</td>
<td class="tpb">{{viewData.mobile}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">福利会员</td>
<td class="tpb">
<span v-if="viewData.flhy==1">有效会员</span>
<span v-if="viewData.flhy==0">无效会员</span>
<!--<span v-if="viewData.jflx==3">自筹经费</span>-->
</td>
<td class="tpa">人员类型</td>
<td class="tpb">{{viewData.rylx}}</td>
</tr>
</table>
</div>
</el-collapse-item>
</el-collapse>
</el-dialog>
<!-- 编辑人员 -->
<el-dialog
title="编辑"
top="15px"
:close-on-click-modal="false"
:visible.sync="editDialogVisible"
width="50%">
<el-form :model="EditFormData" :rules="rules" ref="editForm" label-width="100px">
<div>
<div>
<el-row>
<el-col :span="24">
<el-form-item label="工号" prop="loginname">
<el-input clearable v-model="EditFormData.loginname"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="姓名" prop="username">
<el-input clearable v-model="EditFormData.username"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="福利单位" prop="unionid">
<el-select clearable filterable v-model="EditFormData.unionid"
@change="getFghBydw(EditFormData.unionid)" style="width: 100%">
<el-option v-for="dw in fghlist" :value="dw.id"
:label="dw.welfare_unit_name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="单位" prop="unitid">
<el-select clearable filterable v-model="EditFormData.unitid" style="width: 100%">
<el-option v-for="dw in dwlist" :value="dw.id" :label="dw.name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="人员类型" prop="rylx">
<el-select clearable v-model="EditFormData.rylx" style="width: 100%">
<el-option
label="在编" value="在编">
</el-option>
<el-option
label="非编" value="非编">
</el-option>
<el-option
label="离退休" value="离退休">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doEdit">确 定</el-button>
</span>
</el-dialog>
<!-- 新增人员 -->
<el-dialog
title="新增"
top="15px"
:close-on-click-modal="false"
:visible.sync="addDialogVisible"
width="50%">
<el-form :model="AddFormData" :rules="rules" ref="addForm" label-width="100px">
<div>
<div>
<el-row>
<el-col :span="24">
<el-form-item label="工号">
<el-input clearable v-model="AddFormData.loginname"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="姓名" prop="username">
<el-input clearable v-model="AddFormData.username"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="福利单位" prop="unionid">
<el-select clearable filterable v-model="AddFormData.unionid"
@change="getFghBydw(AddFormData.unionid)" style="width: 100%">
<el-option v-for="dw in fghlist" :value="dw.id"
:label="dw.welfare_unit_name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="单位" prop="unitid">
<el-select clearable filterable v-model="AddFormData.unitid" style="width: 100%">
<el-option v-for="dw in dwlist" :value="dw.id" :label="dw.name"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="人员类型" prop="rylx">
<el-select clearable v-model="AddFormData.rylx" style="width: 100%">
<el-option
label="在编" value="在编">
</el-option>
<el-option
label="非编" value="非编">
</el-option>
<el-option
label="劳务派遣人员" value="劳务派遣人员">
</el-option>
<el-option
label="单位自聘人员" value="单位自聘人员">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="doAdd">确 定</el-button>
</span>
</el-dialog>
<el-dialog
custom-class="ViewDialogClass"
title="人员名单导入"
:visible.sync="drDialogVisible"
:close-on-click-modal="false"
width="40%"
>
<el-row>
<el-col :span="9">
<el-upload
name="file"
ref="upload"
action="****"
:on-remove="handleRemove"
:on-change="handleChange"
:auto-upload="false"
:limit="1"
:file-list="fileList">
<el-button size="small" type="">选择文件</el-button>
<div class="el-upload__tip" slot="tip" style="color: #F56C6C">
只能上传 xls/xlsx 文件
</div>
</el-upload>
</el-col>
<el-col :span="10">
导入数据年度:
<el-date-picker
v-model="year"
type="year"
size="small"
style="width: 50%"
value-format="yyyy"
placeholder="年度">
</el-date-picker>
</el-col>
<!-- <el-col :span="5">
<el-select size="small" v-model="yf" placeholder="月份">
<el-option label="4月" value="4月"></el-option>
<el-option label="12月" value="12月"></el-option>
</el-select>
</el-col>-->
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="drDialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dq">确定</el-button>
</span>
</el-dialog>
</div>
<script>
const vue = new Vue({
el: "#app",
data() {
return {
viewData: {},
viewDialogVisible: false,
activeNames: ["1"],
addDialogVisible: false,
AddFormData: {},
editDialogVisible: false,
EditFormData: {},
pageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchName: "",
year: moment().format('YYYY'),
sfhz: "",
searchKey: "username",
jflx: "",
rylx: "",
fgh: "",
prop: "",
order: "",
ejdw: "",
newhy: "",
flhy: ""
},
tableData: [],
multipleTable: [],
drDialogVisible: false,
fileList: [],
rows: [],
hzlist: [],
year: "",
dwlist: [],
rules: {
username: [{required: true, message: '必选', trigger: ['blur', 'change']}],
loginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
unitid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jflx: [{required: true, message: '必填', trigger: ['blur', 'change']}],
rylx: [{required: true, message: '必填', trigger: ['blur', 'change']}],
unionid: [{required: true, message: '必填', trigger: ['blur', 'change']}],
year: [{required: true, message: '必填', trigger: ['blur', 'change']}],
yf: [{required: true, message: '必填', trigger: ['blur', 'change']}],
order: "",
prop: "",
},
drDialogVisible: false,
fileList: [],
year: "",
yf: "",
fghlist: [],
dw: [],
lp: "",
lplist: [],
noTableData: [],
noPageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
},
}
},
methods: {
doSearch() {
this.pageForm.pageNumber = 1;
this.pageForm.newhy = "";
this.pageData();
},
pageData() {
var self = this;
$.post(base + "/platform/zgfw/mddr/data", self.pageForm, function (data) {
if (data.code === 0) {
self.tableData = data.data.list;
self.pageForm.totalCount = data.data.totalCount;
} else {
self.$message.error(data.msg);
}
});
},
noPageData() {
$.post("/platform/zgfw/mddr/getUserNo", this.noPageForm, (data) => {
if (data.code === 0) {
this.noTableData = data.data.list;
this.noPageForm.totalCount = data.data.totalCount;
} else {
this.$message.error(data.msg);
}
})
},
pageNumberChange(val) {
this.pageForm.pageNumber = val;
this.pageData();
},
noPageNumberChange(val) {
this.noPageForm.pageNumber = val;
this.noPageData();
},
openAdd() {
var self = this;
self.addDialogVisible = true;
self.AddFormData = {jflx: '2', year: self.pageForm.year, lpid: self.pageForm.lp};
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
},
async getDw() {
this.dwlist = await getUnits();
},
async getFgh() {
this.fghlist = await getWelfareUnits();
},
async getFghBydw(dwid) {
this.dwlist = await getUnitsByWelfareUnit(dwid);
this.EditFormData.unitid = "";
this.AddFormData.unitid = "";
},
doAdd() {
var self = this;
this.$refs["addForm"].validate((valid) => {
if (valid) {
$.post(base + "/platform/zgfw/mddr/doAdd", self.AddFormData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.doSearch();//查询是带条件的,加载新建用户选择的单位用户数据
self.addDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
})
}
})
},
see(scope) {
var self = this;
self.viewData = scope;
self.viewDialogVisible = true;
},
openEdit(scope) {
var self = this;
self.EditFormData = JSON.parse(JSON.stringify(scope));
self.editDialogVisible = true;
if (this.$refs["editForm"])
this.$refs["editForm"].resetFields();
},
doEdit() {
var self = this;
this.$refs["editForm"].validate((valid) => {
if (valid) {
$.post(base + "/platform/zgfw/mddr/doEdit", self.EditFormData, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.doSearch();//查询是带条件的,加载新建用户选择的单位用户数据
self.editDialogVisible = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
})
}
})
},
doDel(id) {
var self = this;
self.$confirm('此操作将删除这条数据,确定吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback(a, b) {
if ("confirm" == a) {//确认后再执行
$.post(base + "/platform/zgfw/mddr/doDel", {id: id}, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.doSearch();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
},
download() {//附件下载
var self = this;
window.location.href = base + "/platform/zgfw/mdgl/downLoad";
},
opendr() {
var self = this;
self.fileList = [];
self.year = "";
self.drDialogVisible = true;
},
dq() {
var self = this;
if (self.fileList.length == 0) {
self.$message.warning("请选择选择一个文件!");
return;
}
if (self.year == "" || self.year == undefined) {
self.$message.warning("请选择数据所属年份!");
return;
}
var formdata = new FormData();
self.fileList.forEach(function (val) {
formdata.append("file", val.raw, val.raw.name);
});
sublime.showLoadingbar()
const loading = this.$loading({
lock: true,
text: '数据读取中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.ajax({
url: base + "/platform/zgfw/mdgl/getRow?year=" + self.year + "&yf=" + self.yf,
type: "post",
data: formdata,
processData: false,
contentType: false,
success(data) {
if (data.code == 0) {
loading.close();
self.$message.success("数据导入成功!");
self.pageData();
self.drDialogVisible = false;
} else {
loading.close();
self.$message.error(data.msg);
}
sublime.closeLoadingbar()
},
error(data) {
sublime.closeLoadingbar()
}
});
},
handleRemove(file, fileList) {
var self = this;
self.fileList = fileList;
},
handleChange(file, fileList) {
var self = this;
if (file.size == 0) {
self.$message.warning("您选择的是空文件!");
for (var i = 0; i < fileList.length; i++) {
if (file == fileList[i]) {
fileList.splice(i, 1);
}
}
}
self.fileList = fileList;
},
alldel() {
var self = this;
self.$confirm('此操作将删除当前所选数据,确定吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback(a, b) {
if ("confirm" == a) {//确认后再执行
$.post(base + "/platform/zgfw/mddr/allDel", self.pageForm, function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.doSearch();
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
},
changeTableSort(column) {
var self = this;
self.pageForm.prop = column.prop;
self.pageForm.order = column.order;
self.pageData();
},
dc() {
var self = this;
location.href = base + "/platform/zgfw/mdgl/exportExcel?year=" + self.pageForm.year + "&yf=" + self.pageForm.yf + "&searchKey=" + self.searchKey + "&searchName=" +
self.pageForm.searchName + "&jflx=" + self.pageForm.jflx + "&bzlx=" + self.pageForm.bzlx + "&fgh=" + self.pageForm.fgh + "&order=" + self.pageForm.order + "&prop=" + self.pageForm.prop;
},
getJjrlp(year) {
var self = this;
$.post(base + "/platform/zgfw/mdgl/getJjrlp", {year: year}, function (data) {
self.lplist = data.data;
self.pageForm.lp = self.lplist[0].lp_id
self.pageData();
})
}
},
async created() {
this.pageData();
this.noPageData()
this.getDw();
this.getFgh();
}
});
</script>
<!--#
}
#-->