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,869 @@
<!--#
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>
<!--#
}
#-->
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,743 @@
<!--#
layout("/layouts/platform.html"){
#-->
<style>
#app {
padding: 20px;
}
input[type=file] {
display: none;
}
.card-title {
margin-bottom: 20px;
letter-spacing: 2px;
display: flex;
justify-content: space-between;
height: 30px;
line-height: 30px;
}
.card-title .title-left {
font-size: 25px;
}
.card-title .title-right {
text-align: right;
font-size: 15px;
color: #0e78c5;
cursor: pointer;
}
.card-title .title-right:hover {
text-decoration: underline;
}
.el-date-editor.el-input, .el-select, .el-input-number {
width: 100%;
}
.addFormCard {
}
.excelCard {
min-height: 650px;
}
.excelBack {
font-size: 15px;
color: #0e78c5;
cursor: pointer;
}
.excelBack:hover {
text-decoration: underline;
}
.el-icon-loading {
font-size: 30px;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
.el-input-number .el-input__inner {
padding: 0 15px;
text-align: left;
}
.el-icon-eleme:before {
content: '元';
}
.submitClass {
text-align: right;
}
.ivu-upload {
display: inline;
}
.el-table th.gutter {
display: table-cell !important
}
.el-table {
margin-top: 100px;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"] {
-moz-appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.int_input .el-input-number__decrease {
display: none;
}
.int_input .el-input-number__increase {
display: none;
}
.int_input .el-input-number.is-controls-right .el-input__inner {
text-align: left;
}
.border_table .el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed {
border-right: 1px solid #EBEEF5;
border-right-width: 1px;
border-right-style: solid;
border-right-color: rgb(235, 238, 245);
}
.border_table .el-table {
border: 1px solid #EBEEF5;
border-top-color: rgb(235, 238, 245);
border-top-style: solid;
border-top-width: 1px;
border-right-color: rgb(235, 238, 245);
border-right-style: solid;
border-right-width: 1px;
border-bottom-color: rgb(235, 238, 245);
border-bottom-style: solid;
border-bottom-width: 1px;
border-left-color: rgb(235, 238, 245);
border-left-style: solid;
border-left-width: 1px;
border-image-source: initial;
border-image-slice: initial;
border-image-width: initial;
border-image-outset: initial;
border-image-repeat: initial;
}
.border_table .el-table--border::after, .el-table--group::after {
width: 1px;
}
.textareaDiv {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
</style>
<div id="app" v-cloak>
<transition name="el-zoom-in-top">
<el-card class="addFormCard" v-show="AddFormCardShow">
<div class="card-title">
<span class="title-left" style="font-size: 18px;font-weight: bold">新增历史数据</span>
<span class="title-right"
@click="AddFormCardShow=!AddFormCardShow;ExcelCardShow=!AddFormCardShow;">
从excel导入
<span slot="suffix">
<i class="el-icon-upload"></i>
</span>
</span>
</div>
<el-form :model="formData" style="width: 90%;margin: 0 auto" ref="addForm" :rules="formRules" size="medium"
label-position="right"
label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item prop="year" label="年&emsp;&emsp;份">
<el-date-picker
v-model="formData.year"
type="year"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="sqr" label="困难职工">
<el-select
v-model="formData.sqr"
@change="userChange"
filterable
remote
reserve-keyword
placeholder="请输入姓名或工号查找"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.username+''+item.unitname+''"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="sex" label="性&emsp;&emsp;别">
<el-select v-model="formData.sex" placeholder="请选择性别" clearable>
<el-option
v-for="item in ['男','女']"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item prop="jtzz" label="家庭地址">
<el-input maxlength="50" placeholder="请输入家庭地址" clearable v-model="formData.jtzz"
type="text"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="lxfs" label="手机号码">
<el-input maxlength="100" clearable placeholder="请填写手机号码" v-model="formData.lxfs"
type="text"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item prop="brnzsr" label="本人年收入" class="int_input">
<el-input-number clearable style="width: 100%" v-model="formData.brnzsr" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写年收入(元)">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="jtnzsr" label="家庭年收入" class="int_input">
<el-input-number clearable style="width: 100%" v-model="formData.jtnzsr" :min="0"
:max="9999999"
controls-position="right" placeholder="请填写年收入(元)">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="jtrs" label="家庭人数" class="int_input">
<el-input-number clearable style="width: 100%" v-model="formData.jtrs" :min="0" :max="99"
controls-position="right" placeholder="请填写家庭人数">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item prop="zyzkyybz" label="致困特殊原因">
<el-input maxlength="500" placeholder="请简述原因" clearable v-model="formData.zyzkyybz"
type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="submitClass">
<el-button type="primary" @click="doAdd">确定</el-button>
</div>
</el-card>
</transition>
<transition name="el-zoom-in-bottom">
<el-card class="excelCard" v-show="ExcelCardShow">
<div class="mb10">
<span class="excelBack" @click="ExcelCardShow=!ExcelCardShow;AddFormCardShow=!ExcelCardShow;">&lt;&ensp;返回</span>
</div>
<div class="mb20">
<el-row class="header navbar">
<div class="btn-group tool-button mt5">
<el-button size="small" icon="el-icon-download" style="width: 100px"
@click="location.href='/platform/knbf/sjdr/downLoadTemp'">下载模板
</el-button>
</div>
<div class="btn-group tool-button mt5">
<!-- <i-button icon="ios-cloud-download-outline" style="width: 100px" @click="download">下载模板</i-button>-->
<el-upload :before-upload="handleUpload">
<!--<i-button icon="ios-cloud-upload-outline" style="width: 100px">选择文件</i-button>-->
<el-button icon="el-icon-upload" size="small" style="width: 100px">上传文件</el-button>
</el-upload>
</div>
<div class="btn-group tool-button mt5">
<el-date-picker size="small"
v-model="year"
type="year"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
</div>
<div v-if="file!==null" style="height: 30px;">
<el-row style="padding: 0 15px">
<el-col :span="18">
<span style="float: left;overflow: hidden;line-height: 30px;">
<i class="el-icon-tickets"></i>
{{file.name}}&emsp;
<span style="font-size: 12px;color: #b49672;" v-if="tableData.length>0">共读取了{{tableData.length}}条数据</span>
</span>
</el-col>
<span style="line-height: 30px;">
<el-button size="mini" type="danger" @click="file=null">删除</el-button>
<el-button size="mini" type="primary" @click="read">读取</el-button>
</span>
</el-row>
</div>
</el-row>
<!--<i-button @click="ls">未提交数据</i-button>-->
</div>
<el-table :data="rows" empty-text="暂无数据,请上传文件">
<el-table-column label="序号" type="index" header-align="center" align="center">
</el-table-column>
<el-table-column
align="center" header-align="center"
prop="unitname" show-overflow-tooltip width="250px"
label="单位"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="150px"
prop="loginname"
label="工号"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="200px"
prop="username"
label="职工姓名"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="100px"
prop="sex"
label="性别"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="200px"
prop="jtzz"
label="家庭住址"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="150px"
prop="lxfs"
label="联系电话"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="200px"
prop="zyzkyybz"
label="致困特殊原因"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="100px"
prop="jtrs"
label="家庭人数"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="200px"
prop="brnzsr"
label="本人总收入(元)"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="200px"
prop="jtnzsr"
label="家庭总收入(元)"
>
</el-table-column>
<el-table-column
align="center" header-align="center" show-overflow-tooltip width="150px"
prop="jb"
label="级别"
>
</el-table-column>
<el-table-column label="操作" header-align="center" align="center" width="100">
<template slot-scope="scope">
<el-button type="danger" size="mini" icon="el-icon-delete" circle
@click="rows.splice(scope.$index,1)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="submitClass mt20 mr10">
<el-button type="primary" @click="write">导 入</el-button>
</div>
</el-card>
</transition>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
year: '',
loading: false,
userOptions: [],
rows: [],
file: null,
AddFormCardShow: true,
ExcelCardShow: false,
ybOptions: ['统筹', '社保'],
activeName: ['1'],
zzyyOptions: ['本人大病', '供养直系亲属大病', '本人残疾', '家属残疾', '本人下岗失业', '家属下岗失业', '收入低', '自然灾害', '重大事故', '子女上学', '其他'],
fclxOptions: ['商品房', '福利房', '经济适用房', '限价房', '自建房'],
fclyOptions: ['购买', '接收赠与', '继承', '其他来源'],
hyzkOptions: ['未婚', '已婚', '离异', '丧偶', '再婚'],
zcOptions: ['教授', '副教授', '讲师', '助教'],
mzOptions: [
'汉族',
'蒙古族',
'回族',
'藏族',
'维吾尔族',
'苗族',
'彝族',
'壮族',
'布依族',
'朝鲜族',
'满族',
'侗族',
'瑶族',
'白族',
'土家族',
'哈尼族',
'哈萨克族',
'傣族',
'黎族',
'傈僳族',
'佤族',
'畲族',
'高山族',
'拉祜族',
'水族',
'东乡族',
'纳西族',
'景颇族',
'柯尔克孜族',
'土族',
'达翰尔族',
'么佬族',
'羌族',
'布朗族',
'撒拉族',
'毛南族',
'仡佬族',
'锡伯族',
'阿昌族',
'普米族',
'塔吉克族',
'怒族',
'乌孜别克族',
'俄罗斯族',
'鄂温克族',
'德昂族',
'保安族',
'裕固族',
'京族',
'塔塔尔族',
'独龙族',
'鄂伦春族',
'赫哲族',
'门巴族',
'珞巴族',
'基诺族',
],
bzOptions: ['事业编制职工(正式职工)', '合同制职工', '人事代理职工', '集体职工', '流动编制职工', '非事业编制职工', '博士后进站人员', '劳务派遣人员', '聘用工(各二级单位聘用)'],
ztObj: {
1: {color: '#E6A23C', label: '待基层工会审核'},
2: {color: '#E6A23C', label: '待二级党组织审核'},
3: {color: '#E6A23C', label: '待校工会审核'},
4: {color: '#67C23A', label: '审核通过'},
5: {color: '#F56C6C', label: '审核不通过'},
},
subDis: false,
formData: {
zyzkyy: [],
jtcys: [],
jtfc: [],
jtcc: [],
},
userData: {},
viewData: {},
viewDialogVisible: false,
addDialogVisible: false,
editDialogVisible: false,
tableData: [],
pageForm: {
searchName: "",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
formRules: {
// parentUnit: [{validator: validateUnit, trigger: ['blur', 'change']}],
idcard: [{
required: false,
message: '必填',
trigger: ['blur', 'change']
}, {
pattern: /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号'
}],
year: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sqr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
username: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sqrname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
loginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sqrloginname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
unitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sqrunitname: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zyzkyy: [{required: true, message: '必选', trigger: ['blur', 'change']}],
brnzsr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jtnzsr: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jtrs: [{required: true, message: '必填', trigger: ['blur', 'change']}],
yhmc: [{required: true, message: '必填', trigger: ['blur', 'change']}],
yhkh: [{required: true, message: '必填', trigger: ['blur', 'change']}],
rsbz: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jtzz: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sex: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
isNull(val) {
return val === null || val === undefined || val === ''
}
}
},
filters: {
arr2str(val) {
if (val && val.length > 0) {
let str = ""
for (let i = 0; i < val.length; i++) {
str += val[i]
if (i < val.length - 1) {
str += '、'
}
}
return str
}
return ''
},
none2str(val) {
if (val === null || val === undefined || val === '') {
return '暂无'
}
return val
}
},
methods: {
write() {
if (this.year == "" || this.year == undefined) {
this.$message.warning("请选择数据所属年份!");
return;
}
let obj = {
zgfw_knbfs: JSON.stringify(this.rows),
sqsj: this.year + "-01-01"
}
const loading = this.$loading({
lock: true,
text: '数据提交中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.post(base + "/platform/knbf/sjdr/write", obj, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.rows = []
this.file = null
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
loading.close()
}, "json");
},
read: function () {
var self = this;
var formData = new FormData();
formData.append("file", self.file);
sublime.showLoadingbar()
const loading = this.$loading({
lock: true,
text: '数据读取中',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
$.ajax({
url: base + "/platform/knbf/sjdr/getRow",
type: "post",
data: formData,
processData: false,
contentType: false,
success: function (data) {
if (data.code == 0) {
console.log(data)
loading.close();
if (data.data.length > 0) {
self.rows = data.data
self.$message.success("读取成功!一共读取了" + self.rows.length + "条数据");
} else {
self.$message.warning("表格内没有数据,请重新导入文件");
}
} else {
loading.close();
self.$message.error(data.msg);
}
sublime.closeLoadingbar()
},
error: function (data) {
loading.close();
sublime.closeLoadingbar()
}
});
/* $.post((base + "/platform/knbf/sjdr/getRow", this.formData, (data => {
if (data.code == 0) {
console.log(1)
loading.close();
if (data.data.length > 0) {
self.rows = data.data
self.$message.success("读取成功!一共读取了" + self.rows.length + "条数据");
} else {
self.$message.warning("表格内没有数据,请重新导入文件");
}
} else {
loading.close();
self.$message.error(data.msg);
}
sublime.closeLoadingbar()
})
));*/
},
doAdd() {
this.$refs["addForm"].validate((valid) => {
if (valid) {
this.subDis = true
const loading = this.$loading({
lock: true,
text: '数据提交中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.formData.sqsj = this.formData.year + '-01-01'
$.post(base + "/platform/knbf/sjdr/doAdd", this.formData, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.formData = {}
this.userOptions = []
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
loading.close()
}, "json");
}
});
},
userChange(id) {
this.userOptions.forEach(val => {
if (val.id == id) {
vue.$set(this.formData, 'username', val.username)
vue.$set(this.formData, 'birthday', val.birthday)
vue.$set(this.formData, 'sex', val.sex)
vue.$set(this.formData, 'unitname', val.unitname)
}
})
},
remoteMethod(query) {
this.loading = true
this.userOptions = []
$.post(base + "/platform/knbf/sjdr/queryUser", {query: query}, (data) => {
if (data.code == 0) {
this.userOptions = data.data.list;
}
this.loading = false
}, "json");
},
zcBlur(e) {
this.$set(this.formData, 'zc', e.target.value)
},
handleUpload(file) {
var self = this;
var typename = file.name.substring(file.name.lastIndexOf('.'), file.name.length);
if (typename.indexOf('xls', 'xlsx') < 0) {
self.$message.error('只能上传xls,xlsx格式的文件');
return false;
}
self.file = file;
return false;
},
},
created() {
}
})
</script>
<!--#
}
#-->
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff