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,575 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
福利发放名单
何鹏飞
2019 7 29
-->
<div id="app">
<el-row class="header navbar bg-white shadow">
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入用户名称" v-model="pageForm.searchName"></el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select placeholder="请选择地区" clearable="true" v-model="pageForm.searchKeywords">
<el-option v-for="o in dqlist" :value="o.dq_id" :label="o.dq_name">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button icon="el-icon-search" style="background-color:#409eff;color: white;" @click="pageData"></el-button>
</div>
<div class="pull-right offscreen-right mt5">
<el-button size="medium" type="warning" @click="save">提交</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>福利发放人员名单</span>
</div>
<div>
<el-table
:data="tableData"
size="small"
header-align="center"
style="width: 100%"
>
<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="username"
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
label="所属校区"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<span v-if="scope.row.dq_name!=''&&scope.row.dq_name!=undefined">{{scope.row.dq_name}}</span>
<span v-else>暂无</span>
</template>
</el-table-column>
<el-table-column
prop="sfff"
label="是否发放福利"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<el-checkbox-group @change="add(scope)" v-model="scope.row.sfff">
<el-checkbox true-label="1" false-label="0"></el-checkbox>
</el-checkbox-group>
</template>
</el-table-column>
<el-table-column
prop="sflxr"
label="是否联系人"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<el-checkbox-group @change="addlxr(scope)" v-model="scope.row.sflxr">
<el-checkbox true-label="1" false-label="0"></el-checkbox>
</el-checkbox-group>
</template>
</el-table-column>
</el-table>
</div>
</el-card>
</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-row class="el-footer" >
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>特殊人员名单</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="tsadd">新增人员</el-button>
</div>
<div>
<el-table
:data="tstableData"
size="small"
header-align="center"
style="width: 100%"
>
<el-table-column
prop="ff_username"
label="签收人名称"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<span>{{scope.row.ff_username}}</span>
</template>
</el-table-column>
<el-table-column
prop="mobile"
label="联系电话"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<span>{{scope.row.mobile}}</span>
</template>
</el-table-column>
<el-table-column
label="所属地区"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<span>{{dqs[scope.row.ff_dqid]}}</span>
</template>
</el-table-column>
<el-table-column
prop="bz"
label="备注"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template scope="scope">
<span>{{scope.row.bz}}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
align="center"
>
<template scope="scope">
<div>
<el-button size="mini" type="primary" @click="upd(scope)">编辑</el-button>
<el-button size="mini" type="danger" @click="remove(scope)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
</el-card>
</el-row>
<el-dialog
custom-class="ViewDialogClass"
title="新增特殊人员"
:visible.sync="addDialogVisible"
width="35%"
>
<el-form :model="formData" ref="addForm" size="small" label-width="85px">
<el-form-item label="签收人名称">
<el-input v-model="formData.ff_username"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="formData.mobile"></el-input>
</el-form-item>
<el-form-item label="性别">
<template>
<el-radio v-model="formData.sex" label="1"></el-radio>
<el-radio v-model="formData.sex" label="2"></el-radio>
</template>
</el-form-item>
<el-form-item label="所属单位">
<el-select style="width: 100%" v-model="formData.ff_unit">
<el-option v-for="unit in units" :value="unit.id" :label="unit.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属工会">
<el-input disabled="true" v-model="unionname"></el-input>
</el-form-item>
<el-form-item label="所属校区">
<el-select style="width: 100%" v-model="formData.ff_dqid">
<el-option v-for="dq in dqlist" :value="dq.dq_id" :label="dq.dq_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-input :autosize="{ minRows: 4, maxRows: 4}" type="textarea" v-model="formData.bz"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible=false">取消</el-button>
<el-button type="primary" @click="addts">确认</el-button>
</span>
</el-dialog>
<el-dialog
custom-class="ViewDialogClass"
title="编辑特殊人员"
:visible.sync="editDialogVisible"
width="35%"
>
<el-form :model="formData" ref="addForm" size="small" label-width="85px">
<el-form-item label="签收人名称">
<el-input v-model="formData.ff_username"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="formData.mobile"></el-input>
</el-form-item>
<el-form-item label="性别">
<template>
<el-radio v-model="formData.sex" label="1"></el-radio>
<el-radio v-model="formData.sex" label="2"></el-radio>
</template>
</el-form-item>
<el-form-item label="所属单位">
<el-select style="width: 100%" v-model="formData.ff_unit">
<el-option v-for="unit in units" :value="unit.id" :label="unit.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属工会">
<el-input disabled="true" v-model="unionname"></el-input>
</el-form-item>
<el-form-item label="所属校区">
<el-select style="width: 100%" v-model="formData.ff_dqid">
<el-option v-for="dq in dqlist" :value="dq.dq_id" :label="dq.dq_name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-input :autosize="{ minRows: 4, maxRows: 4}" type="textarea" v-model="formData.bz"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editDialogVisible=false">取消</el-button>
<el-button type="primary" @click="addts(1)">确认</el-button>
</span>
</el-dialog>
</div>
<script>
var vm=new Vue({
el:"#app",
data:function () {
return{
pageForm:{
pageNumber:1,
pageSize:10,
totalCount:0,
searchKeywords:"",
searchName:""
},
tableData:[],
tstableData:[],
dqlist:[],
dqs:[],
units:[],
addDialogVisible:false,
formData:{sex:"1"},
unionname:"",
checkTb:[],
checkLx:[],
editDialogVisible:false
}
},
methods:{
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/ffmd/data",self.pageForm,function (data) {
sublime.closeLoadingbar();//关闭loading
self.tableData=data.data.userlist.list;
self.tableData.forEach(function (value) {
if (value.sfff!=""&&value.sfff!=undefined){
var con=true;
self.checkTb.forEach(function (val) {
if (val.id==value.id){
con=false;
return;
}
})
if (con){
self.checkTb.push(value)
}
}
if (self.checkTb!=""){
self.checkTb.forEach(function (val) {
if (value.id==val.id){
value.sfff='1'
}
})
}
if (self.checkLx!=""){
self.checkLx.forEach(function (val) {
if (value.id==val.id){
value.sflxr='1'
}
})
}
})
self.pageForm.totalCount=data.data.userlist.totalCount;
if (self.tstableData==""||self.tstableData==undefined){
self.tstableData=data.data.tslist
}
self.units=data.data.units;
self.unionname=data.data.unionname
})
},
tsadd:function () {
this.addDialogVisible=true;
this.formData={sex:"1"}
},
dq:function () {
var self=this;
$.post(base+"/platform/zgfw/ffmd/dq",function (data) {
self.dqlist=data.data;
self.dqlist.forEach(function (val) {
self.dqs[val.dq_id]=val.dq_name;
})
})
},
qd:function (scope) {
var self=this;
const phoneReg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (scope.row.ff_username==""||scope.row.ff_username==undefined){
self.$message({
message: "发放人名称不能为空",
type: 'warning'
});
return;
}
if (scope.row.mobile==""||scope.row.mobile==undefined){
self.$message({
message: "类型电话不能为空",
type: 'warning'
});
return;
}
if (!Number.isInteger(+scope.row.mobile)){
self.$message({
message: "请输入数字",
type: 'warning'
});
return;
}
if (!phoneReg.test(scope.row.mobile)){
self.$message({
message: "电话格式不正确",
type: 'warning'
});
return;
}
if (scope.row.dqid==""||scope.row.dqid==undefined){
self.$message({
message: "请选择地区",
type: 'warning'
});
return;
}
scope.row.edit=false;
},
remove:function (scope) {
this.tstableData.splice(scope.$index,1);
},
upd:function(scope){
var self=this;
self.editDialogVisible=true;
self.formData=JSON.parse(JSON.stringify(scope.row));
},
save:function () {
var self=this;
self.$confirm('您确定要提交吗? ' , '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: function (a, b) {
if ("confirm" == a) {
if (self.tstableData==""||self.tstableData==undefined){
var json=""
} else{
var json=JSON.stringify(self.tstableData)
}
if(self.checkTb==""||self.checkTb==undefined){
var tbs=""
}else{
var tbs=JSON.stringify(self.checkTb);
}
$.post(base+"/platform/zgfw/ffmd/save",{json:json,tbs:tbs},function (data) {
if (data.code==0){
self.$message({
message: "提交成功",
type: 'success'
});
self.checkTb=[];
self.checkLx=[];
self.pageData();
} else{
self.$message({
message: "系统异常,请联系管理员",
type: 'error'
});
}
})
}
}
})
},
addts:function (item) {
var self=this;
const phoneReg = /^1[3|4|5|7|8][0-9]\d{8}$/
if (self.formData.ff_username==""||self.formData.ff_username==undefined){
self.$message({
message: "发放人名称不能为空",
type: 'warning'
});
return;
}
if (self.formData.mobile==""||self.formData.mobile==undefined){
self.$message({
message: "类型电话不能为空",
type: 'warning'
});
return;
}
if (!Number.isInteger(+self.formData.mobile)){
self.$message({
message: "请输入数字",
type: 'warning'
});
return;
}
if (!phoneReg.test(self.formData.mobile)){
self.$message({
message: "电话格式不正确",
type: 'warning'
});
return;
}
if (self.formData.ff_unit==""||self.formData.ff_unit==undefined){
self.$message({
message: "请选择单位",
type: 'warning'
});
return;
}
if (self.formData.dqid==""||self.formData.ff_dqid==undefined){
self.$message({
message: "请选择校区",
type: 'warning'
});
return;
}
if (item==1){
self.tstableData.forEach(function (value) {
if (value.ff_userid==self.formData.ff_userid){
value.ff_username=self.formData.ff_username;
value.mobile=self.formData.mobile;
value.ff_unit=self.formData.ff_unit;
value.sex=self.formData.sex;
value.ff_dqid=self.formData.ff_dqid;
value.bz=self.formData.bz;
}
})
self.editDialogVisible=false;
} else{
self.tstableData.push(self.formData)
self.addDialogVisible=false;
}
/*if (self.formData.ff_userid!=""&&self.formData.ff_userid!=undefined){
}*/
},
add:function (scope) {
var self=this;
var con=true
if (scope.row.sfff=="1"){
self.checkTb.forEach(function (value) {
if (scope.row.id==value.id){
con=false;
return;
}
})
if (con){
self.checkTb.push(scope.row)
}
} else{
if (self.checkTb.length>0){
self.checkTb.forEach(function (value,index) {
if (scope.row.id==value.id){
self.checkTb.splice(index,1)
}
})
}
}
},
addlxr:function (scope) {
var self=this;
var con=true
if (scope.row.sflxr=="1"){
self.checkLx.forEach(function (value) {
if (scope.row.id==value.id){
con=false;
return;
}
})
if (con){
self.checkLx.push(scope.row)
}
} else{
if (self.checkLx.length>0){
self.checkLx.forEach(function (value,index) {
if (scope.row.id==value.id){
self.checkLx.splice(index,1)
}
})
}
}
}
},
created:function () {
this.dq();
this.pageData();
}
})
</script>
<!--#
}
#-->