first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,845 @@
<!--#
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
v-loading="loading"
element-loading-text="正在生成缴费名单,数据较多....."
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)">
<!-- 头部 -->
<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:180px;">
<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">
<div>
<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>
<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-button type="primary" @click="doSearch" icon="el-icon-search"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button size="medium" @click="plsh"><i class="el-icon-edit"></i>批量审核</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'
@selection-change="handleSelectionChange"
ref="multipleTable"
>
<el-table-column
type="selection"
width="55">
</el-table-column>
<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"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="username"
label="姓名"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
sortable
prop="depname"
label="所属单位"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
sortable
prop="unionname"
label="所属基层工会"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="mobile"
label="电话"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="sqsj"
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
label="申请类型"
header-align="center"
align="center">
<template scope="scope">
<el-tag v-if="scope.row.jllx==1">加入基金</el-tag>
<el-tag type="danger" v-if="scope.row.jllx==2">退出基金</el-tag>
</template>
</el-table-column>
<!-- <el-table-column
label="退出原因"
prop="tclx"
header-align="center"
align="center">
</el-table-column>-->
<el-table-column
prop="jjzt"
label="状态"
header-align="center"
align="center">
<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="warning" v-if="scope.row.sqzt==4">审核不通过</el-tag>
<el-tag type="warning" v-if="scope.row.sqzt==5">分会/离退休审核不通过</el-tag>
<el-tag type="warning" v-if="scope.row.sqzt==6">互管会审核通过</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
align="center">
<template slot-scope="scope">
<el-row>
<el-button size="mini" v-if="scope.row.jjzt==1"
type="primary"
@click="openjjsh(1,scope)">基层工会审核
</el-button>
<el-button size="mini" v-if="scope.row.jjzt==2"
type="primary"
@click="openjjsh(2,scope)">离退休干部处审核
</el-button>
<el-button size="mini" v-if="scope.row.jjzt==3"
type="primary"
@click="openjjsh(3,scope)">互管会审核
</el-button>
</el-row>
</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
:close-on-click-modal="false"
@close="rhsqActiveNames='';hy_id='',rhsqFormData={shyj:''}"
class="ViewDialogClass"
title="大病基金审核"
:visible.sync="rhsqDialogVisible"
width="45%">
<el-collapse v-model="rhsqActiveNames">
<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">{{rhsqData.username}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{rhsqData.sex}}</td>
<td class="tpa">出生日期</td>
<td class="tpb">{{rhsqData.birthday}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">出生地点</td>
<td class="tpb">{{rhsqData.csdd}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{rhsqData.mz}}</td>
<td class="tpa">政治面貌</td>
<td class="tpb">{{rhsqData.zzmc}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">入校时间</td>
<td class="tpb">{{rhsqData.rxsj}}</td>
<td class="tpa">&emsp;&emsp;</td>
<td class="tpb">{{rhsqData.zc}}</td>
<td class="tpa">联系电话</td>
<td class="tpb">{{rhsqData.mobile}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa" colspan="1">所在部门</td>
<td class="tpb" colspan="1">{{rhsqData.depname}}</td>
<td class="tpa" colspan="1">所属基层工会</td>
<td class="tpb" colspan="1">{{rhsqData.unionname}}</td>
<td class="tpa" colspan="1">现任职务</td>
<td class="tpb" colspan="2">{{rhsqData.zw}}</td>
</tr>
</table>
</div>
</el-card>
</el-collapse-item>
<el-collapse-item v-if="!(typeof(rhsqData.jjshyj)==='undefined')" title="基层工会/离退休干部处审核意见" name="2">
<el-card>
<div>
<table style="width: 100%">
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">审核人</td>
<td class="tpb">{{rhsqData.jjshr}}</td>
<td class="tpa">审核时间</td>
<td class="tpb">{{rhsqData.jjshsj}}</td>
</tr>
<tr style="border: 1px solid rgb(220,220,220);">
<td class="tpa">审核意见</td>
<td class="tpb" colspan="3">{{rhsqData.jjshyj}}</td>
</tr>
</table>
</div>
</el-card>
</el-collapse-item>
<el-collapse-item :title="shtitle" name="4">
<el-form :model="rhsqFormData" ref="rhshForm" style="margin-top: 15px"
size="medium"
label-width="90px">
<el-form-item prop="sfjf" label="是否缴费" v-if="rhsqData.jjzt==3&&rhsqData.jllx==1">
<el-radio v-model="rhsqFormData.sfjf" label="0">未缴费</el-radio>
<el-radio disabled="true" v-model="rhsqFormData.sfjf" label="1">已缴费</el-radio>
<el-tag type="danger" v-if="rhsqFormData.jfje!=0&&rhsqFormData.jfje!=''">
应交{{rhsqFormData.jfje}}
</el-tag>
</el-form-item>
<el-form-item prop="shyj" label="审核意见">
<el-input
maxlength="300"
type="textarea"
:autosize="{ minRows: 4, maxRows: 10}"
placeholder="请输入您的审核意见"
v-model="rhsqFormData.shyj">
</el-input>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
<span slot="footer" class="dialog-footer">
<el-button @click="rhsqDialogVisible = false">取 消</el-button>
<el-button type="danger" @click="rhsh(1)">不通过</el-button>
<el-button type="success" @click="rhsh(2)">通过</el-button>
</span>
</el-dialog>
<el-dialog
:close-on-click-modal="false"
@close="rhsqActiveNames='';hy_id='',rhsqFormData={shyj:''},multipleSelection=[]"
class="ViewDialogClass"
title="批量审核"
:visible.sync="plshDialogVisible"
width="60%">
<el-collapse v-model="rhsqActiveNames">
<el-collapse-item title="审核列表" name="1">
<el-table
:data="multipleSelection"
size="small"
header-align="center"
style="width: 100%"
>
<el-table-column
prop="loginname"
label="工号"
header-align="center"
align="center"
:show-overflow-tooltip="true">
</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="rylx"
label="人员类型"
header-align="center"
align="center">
</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="danger" v-if="scope.row.jllx==2">退出基金</el-tag>
</template>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
width="300px"
align="center">
<template slot-scope="scope">
<el-radio :disabled="scope.row.jjzt!=3" v-model="scope.row.sfjf" label="0">未缴费</el-radio>
<!--<el-radio disabled="true" v-model="scope.row.sfjf" label="1">已缴费</el-radio>-->
<el-tag style="width: 70px" type="danger" v-if="scope.row.jfje!=0&&scope.row.jfje!=''">
应交{{scope.row.jfje}}
</el-tag>
</template>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item title="审核意见" name="2">
<el-form :model="rhsqFormData" ref="rhshForm" style="margin-top: 15px"
size="medium"
label-width="90px">
<el-form-item prop="shyj" label="审核意见">
<el-input
maxlength="300"
type="textarea"
:autosize="{ minRows: 4, maxRows: 10}"
placeholder="请输入您的审核意见"
v-model="rhsqFormData.shyj">
</el-input>
</el-form-item>
</el-form>
</el-collapse-item>
</el-collapse>
<span slot="footer" class="dialog-footer">
<el-button @click="plshDialogVisible = false">取 消</el-button>
<el-button type="danger" @click="plrhsh(1)">不通过</el-button>
<el-button type="success" @click="plrhsh(2)">通过</el-button>
</span>
</el-dialog>
</div>
<script>
var ue1;
var ue2;
const vue = new Vue({
el: "#app",
data: function () {
var self = this
return {
loading: false,
year: "",
shtitle: '',
identity: 0,
fghshFormData: {},
rhsqFormData: {
shyj: "",
shlx: "",
jlid: "",
sfjf: "",
jfje: 0,
},
thsqFormData: {},
rhsqActiveNames: '',
thsqActiveNames: '',
identity: 0,
gxOptions: [],
ghOptions: [],
fzhDialogVisible: false,
rhsqDialogVisible: false,
tableData: [],
pageForm: {
searchName: "username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: "",
rylx: "",
jfnf: moment().format('YYYY'),
jllx: "",
fghid: ""
},
fghscData: {unit: {}},
rhsqData: {user: {}, hy: {}},
thsqData: {user: {}, hy: {}},
fghshFormRules: {
wwsq_fghshyj: [{required: true, message: '请填写您的审核意见', trigger: ['blur', 'change']}],
},
formRules: {
shyj: [{required: true, message: '请填写您的审核意见', trigger: ['blur', 'change']}],
},
unitOptions: [],
unitid: "",
optionsrylx: [{
value: '1',
label: '在编'
}, {
value: '2',
label: '离退休人员'
},
// {
// value: '3',
// label: '劳动服务公司'
// }
],
multipleTable: [],
multipleSelection: [],
plshDialogVisible: false
}
},
methods: {
unionChange() {
let self = this
if (!self.pageForm.fghid) {
self.pageForm.unitid = ''
self.unitOptions = []
}
self.getUn()
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
//打开基金审核
openjjsh: function (shlx, scopes) {
//shlx 1基层工会 2离退休 3互管会
//jjlx 1加入 2退出
var self = this
if (this.$refs["rhshForm"])
this.$refs["rhshForm"].resetFields();
self.rhsqData = {};
self.rhsqFormData = {
shyj: "",
shlx: "",
jlid: "",
sfjf: "",
jfje: 0,
};
self.rhsqFormData.shlx = shlx;
self.rhsqFormData.jlid = scopes.row.jlid;
self.rhsqData = scopes.row;
if (shlx == 1) {
self.shtitle = "填写基层工会审核意见"
} else if (shlx == 2) {
self.shtitle = "填写离退休干部处审核意见"
} else if (shlx == 3) {
self.shtitle = "填写互管会审核意见"
if (scopes.row.jllx == 1) {
if (self.rhsqData.rxsj.substring(0, 4) == self.year) {
self.rhsqFormData.jfje = 120;
} else if (self.rhsqData.rxsj.substring(0, 4) <= self.year && self.rhsqData.rxsj.substring(0, 4) >= 2015) {
self.rhsqFormData.jfje = (self.year + 1 - self.rhsqData.rxsj.substring(0, 4)) * 120 + (self.year - self.rhsqData.rxsj.substring(0, 4)) * 120 * 0.1;
} else if (self.rhsqData.rxsj.substring(0, 4) < 2015) {
self.rhsqFormData.jfje = (self.year + 2 - 2015) * 120 + (self.year + 1 - 2015) * 120 * 0.1;
}
}
}
self.rhsqActiveNames = ['1', '2', '3', '4'];
self.rhsqDialogVisible = true;
}
,
rhsh: function (flag) {
var self = this;
var notSubmit = true;
if (flag == 1) {
if (typeof (self.rhsqFormData.shyj) === "undefined" || self.rhsqFormData.shyj == '') {
notSubmit = false;
self.$message({
message: "请填写您的审核意见",
type: 'warning'
});
}
}
if (flag == 2) {
if (typeof (self.rhsqFormData.shyj) === "undefined" || self.rhsqFormData.shyj == '') {
self.rhsqFormData.shyj = '同意'
}
}
if (notSubmit) {
$.post(base + "/platform/zgfw/dbhzjjsh/jjsh", {
shlx: self.rhsqFormData.shlx,
jlid: self.rhsqFormData.jlid,
shyj: self.rhsqFormData.shyj,
sftg: flag,
sfjf: self.rhsqFormData.sfjf,
jfje: self.rhsqFormData.jfje,
}, function (data) {
if (data.code == 0) {
self.pageData();
self.$message({
message: data.msg,
type: 'success'
});
self.rhsqDialogVisible = false
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
});
}
},
plrhsh(flag) {
var self = this;
var notSubmit = true;
if (flag == 1) {
if (typeof (self.rhsqFormData.shyj) === "undefined" || self.rhsqFormData.shyj == '') {
notSubmit = false;
self.$message({
message: "请填写您的审核意见",
type: 'warning'
});
}
}
if (flag == 2) {
if (typeof (self.rhsqFormData.shyj) === "undefined" || self.rhsqFormData.shyj == '') {
self.rhsqFormData.shyj = '同意'
}
}
if (notSubmit) {
$.post(base + "/platform/zgfw/dbhzjjsh/plsh", {
sftg: flag,
data: JSON.stringify(self.multipleSelection),
shyj: self.rhsqFormData.shyj
}, function (data) {
if (data.code == 0) {
self.pageData();
self.$message({
message: data.msg,
type: 'success'
});
self.plshDialogVisible = false
} else {
self.$message({
message: data.msg,
type: 'error'
});
}
});
}
},
doSearch: function () {
this.pageForm.pageNumber = 1;
this.pageForm.year = "";
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
$.post(base + "/platform/zgfw/dbhzjjsh/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");
},
queryAllGX: function () {
var self = this
$.get(base + "/platform/jdh/cbldxz/queryAllGX", function (data) {
if (data.code == 0) {
self.gxOptions = data.data;
}
}, 'json')
},
getUn: async function () {
var self = this
self.unitOptions = await getUnit(self.pageForm.fghid)
// $.get(base + "/platform/zgfw/dbhzjjsh/getUn", function (data) {
// if (data.code == 0) {
// self.unitOptions = data.data;
// }
// }, 'json')
},
//生成缴费名单
initJfmd: function () {
var self = this
self.loading = true;
$.post(base + "/platform/zgfw/dbhzjjjf/initjfmd", function (data) {
if (data.code == 0) {
self.$message({
message: data.msg,
type: 'success'
});
self.loading = false;
} else {
self.$message({
message: data.msg,
type: 'error'
});
self.loading = false;
}
}, 'json');
},
/**
* @param strBirthday:指的是出生日期,格式为"1990-01-01"
*/
getAge: function (strBirthday) {
try {
var returnAge,
strBirthdayArr = strBirthday.split("-"),
birthYear = strBirthdayArr[0],
birthMonth = strBirthdayArr[1],
birthDay = strBirthdayArr[2],
d = new Date(),
nowYear = d.getFullYear(),
nowMonth = d.getMonth() + 1,
nowDay = d.getDate();
if (nowYear == birthYear) {
returnAge = 0;//同年 则为0周岁
} else {
var ageDiff = nowYear - birthYear; //年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay;//日之差
if (dayDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
} else {
var monthDiff = nowMonth - birthMonth;//月之差
if (monthDiff < 0) {
returnAge = ageDiff - 1;
} else {
returnAge = ageDiff;
}
}
} else {
returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge;//返回周岁年龄
} catch (e) {
return ''
}
},
queryAllFgh: async function () {
var self = this
self.ghOptions = await getUnions()
// $.get(base + "/platform/zgfw/zgwwsh/queryAllFgh", function (data) {
// self.ghOptions = data.data;
// }, 'json')
},
plsh() {
var self = this;
if (self.multipleSelection.length == 0) {
self.$message({
message: "请选择要审核的数据!",
type: 'warning'
});
return;
}
self.multipleSelection.forEach(function (val) {
if (val.rxsj != undefined && val.rxsj != null) {
if (val.rxsj.substring(0, 4) == self.year) {
val.jfje = 120;
} else if (val.rxsj.substring(0, 4) <= self.year && val.rxsj.substring(0, 4) >= 2015) {
val.jfje = (self.year + 1 - val.rxsj.substring(0, 4)) * 120 + (self.year - val.rxsj.substring(0, 4)) * 120 * 0.1;
} else if (val.rxsj.substring(0, 4) < 2015) {
val.jfje = (self.year + 2 - 2015) * 120 + (self.year + 1 - 2015) * 120 * 0.1;
}
}
val.sfjf = '0';
})
self.rhsqActiveNames = ['1', '2'];
self.plshDialogVisible = true;
}
},
created:
function () {
this.year = new Date().getFullYear();
this.pageData();
this.queryAllFgh();
this.getUn()
}
,
})
</script>
<!--#
}
#-->