Files
UNION_NSI/target/classes/views/platform/sys/welfare/unitMange.html
T
2026-09-08 19:49:21 +08:00

1164 lines
53 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.el-transfer {
text-align: center;
}
.el-transfer-panel {
text-align: left;
width: 35%;
height: 400px;
}
.el-transfer-panel__list.is-filterable {
height: 300px;
}
.v-box .el-card__header {
padding: 5px 15px;
}
.v-tree-layout-left .v-tree {
width: 100%;
}
.v-tree-layout-left .custom-tree-node {
width: 90%;
position: relative;
}
.v-tree-layout-left .v-tree .v-node {
width: 100%;
display: inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<div id="app" v-cloak style="height: 100%">
<el-row style="height: calc(100vh - 50px)">
<transition name="el-zoom-in-center">
<div v-show="v=='index'" style="width: 100%;height: 100%;position: absolute;top: 0;left: 0">
<tree-layout>
<template #tree>
<div style="padding: 20px;border-right: 2px solid rgb(240,240,240);padding-bottom: 20px">
<el-input
placeholder="输入关键字进行查找"
v-model="filterText" clearable>
</el-input>
</div>
<el-tree :data="data" :expand-on-click-node="false" class="v-tree" :props="defaultProps"
default-expand-all ref="tree" :filter-node-method="filterNode"
@node-click="handleNodeClick"
highlight-current style="padding: 10px 0">
<div class="custom-tree-node" style="display: inline-block;"
slot-scope="{ node, data }">
<div v-if="node.level==1" style="font-size: 16px;" class="v-node"><i
class="el-icon-office-building"></i>&nbsp;
{{ data.welfare_unit_name }}
</div>
<div v-if="node.level==2"
style="font-size: 15px" :title="data.welfare_unit_name" class="v-node">
<i class="el-icon-school"></i>
&nbsp; {{ data.welfare_unit_name }}
</div>
</div>
</el-tree>
</template>
<template>
<div v-if="node.level==1&&sysadmin" style="width: 100%;">
<el-row class="header navbar bg-white shadow" style="width: 100%;">
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" clearable v-model="pageForm.searchKeyword"
@keyup.enter.native="doSearch">
<el-select v-model="pageForm.searchName" slot="prepend" placeholder="查询类型"
style="width: 135px;">
<el-option label="福利单位名称" value="welfare_unit_name"></el-option>
</el-select>
</el-input>
</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="openAdd"><i class="ti-plus"></i> 新建福利单位
</el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table
:data="tableData"
size="medium"
@sort-change='pageOrder'
header-align="center"
style="width: 100%"
>
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"><span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column
prop="welfare_unit_name"
label="福利单位名称"
header-align="center"
align="center" show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="welfare_unit_code"
label="福利单位编码"
header-align="center"
align="center" show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="fzr"
label="管理员"
header-align="center"
align="center"
:show-overflow-tooltip="true">
<template slot-scope="scope">
{{scope.row.fzr | none2str}}
</template>
</el-table-column>
<el-table-column
prop="leader_phone"
label="负责人电话"
header-align="center"
align="center"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
{{scope.row.leader_phone | none2str}}
</template>
</el-table-column>
<el-table-column
prop="userOnline"
label="操作"
header-align="center"
align="center"
width="290">
<template scope="scope">
<el-button size="mini" :loading="scope.row.openFzrLoading"
@click="openFzr(scope.row)">设置管理员
</el-button>
<el-button type="primary" size="mini" @click="openEdit(scope.row.id)">编辑
</el-button>
<el-button type="danger" size="mini" @click="doDelete(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>
</div>
<div v-if="node.level==2||(node.level==1&&!sysadmin)" style="padding: 5px 10px">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick"
style="box-shadow: none">
<el-tab-pane name="one">
<span slot="label"><i class="el-icon-user"></i> 福利会员</span>
<el-row class="header navbar bg-white">
<div class="btn-group tool-button mt5">
<el-input placeholder="请输入内容" clearable
v-model="hyPageForm.searchKeyword"
@keyup.enter.native="hyDoSearch">
<el-select v-model="hyPageForm.searchName" slot="prepend"
placeholder="查询类型"
style="width: 80px;">
<el-option label="姓名" value="username"></el-option>
<el-option label="工号" value="loginname"></el-option>
</el-select>
</el-input>
</div>
<div class="btn-group tool-button mt5">
<el-select v-model="hyPageForm.unitid" filterable clearable
placeholder="请选择单位">
<el-option
v-for="item in unitOptions"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</div>
<div class="btn-group tool-button mt5">
<el-button type="primary" icon="el-icon-search"
@click="hyDoSearch"></el-button>
</div>
</el-row>
<el-row class="el-table-container">
<el-table :data="hyTableData" size="medium" v-loading="tabloading">
<el-table-column align="center" header-align="center" label="序号"
type="index">
<template scope="scope"><span>{{scope.$index+(hyPageForm.pageNumber - 1) * hyPageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="工号"
show-overflow-tooltip
prop="loginname"></el-table-column>
<el-table-column align="center" header-align="center" label="姓名"
show-overflow-tooltip
prop="username"></el-table-column>
<el-table-column align="center" header-align="center" label="性别"
show-overflow-tooltip
prop="sex"></el-table-column>
<el-table-column align="center" header-align="center" label="单位"
show-overflow-tooltip
prop="unitname"></el-table-column>
<el-table-column align="center" header-align="center" label="电话"
show-overflow-tooltip
prop="mobile"></el-table-column>
</el-table>
</el-row>
<el-row class="el-pagination-container">
<el-pagination
@size-change="hyPageSizeChange"
@current-change="hyPageNumberChange"
:current-page="hyPageForm.pageNumber"
:page-sizes="[10, 20, 30, 50]"
:page-size="hyPageForm.pageSize"
layout="total, prev, pager, next"
:total="hyPageForm.totalCount">
</el-pagination>
</el-row>
</el-tab-pane>
<el-tab-pane name="two">
<span slot="label"><i class="el-icon-tickets"></i> 成员单位</span>
<el-row class="el-table-container" style="padding-top: 0">
<el-table :data="zcdwTableData" style="max-height: 70vh;overflow: auto"
v-loading="tabloading" size="medium">
<el-table-column align="center" header-align="center" label="序号"
type="index"></el-table-column>
<el-table-column align="center" header-align="center" label="单位名称"
prop="name">
</el-table-column>
</el-table>
</el-row>
<el-row class="el-pagination-container"
style="text-align: right;margin-top: 20px">
<span style="color: red">(设置成员单位)</span>
<el-button size="medium" type="primary" @click="openZcdw" circle><i
class="el-icon-plus"></i></el-button>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
</template>
</tree-layout>
</div>
</transition>
</el-row>
<el-dialog title="设置成员单位" :visible.sync="zcdwDialogVisible" width="55%">
<div style="width: 100%;">
<el-transfer
:titles="['可选二级单位', '当前成员单位']"
filterable
:props="{
key: 'id',
label: 'name'
}"
:filter-method="zdwFilterMethod"
v-model="zcdwValue"
:data="zcdwData">
</el-transfer>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="zcdwDialogVisible = false" :disabled="subDis">取 消</el-button>
<el-button :disabled="subDis" type="primary" :loading="subDis" @click="doSzZcdw">确 定</el-button>
</span>
</el-dialog>
<el-dialog title="设置管理员"
:visible.sync="fzrDialogVisible" width="55%">
<div style="width: 100%;">
<el-transfer
:titles="['单位成员', '管理员']"
filterable
:props="{
key: 'id',
label: 'name'
}"
:filter-method="fzrFilterMethod"
v-model="fzrValue"
:data="fzrData">
</el-transfer>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="fzrDialogVisible = false" :disabled="subDis">取 消</el-button>
<el-button :disabled="subDis" type="primary" :loading="subDis" @click="doSzFzr">确 定</el-button>
</span>
</el-dialog>
<!--新建联系人-->
<el-dialog
title="新增"
@close="lxrUserOptions=[]"
:visible.sync="addLxrDialogVisible" width="40%">
<el-form :model="formData" ref="addForm" :rules="formRules" size="small" label-width="80px">
<el-form-item prop="name" label="姓名">
<el-select
style="width: 100%"
v-model="formData.userid"
filterable
remote
@change="lxrUserChange"
reserve-keyword
placeholder="请输入姓名或工号查找"
:remote-method="lxrUserRemoteMethod"
:loading="lxrUserLoading">
<el-option
@focus="alert(1)"
v-for="item in lxrUserOptions"
:key="item.id"
:label="item.username+''+item.loginname+''"
:value="item.id">
</el-option>
</el-select>
<!-- <el-input maxlength="50" placeholder="姓名" v-model="formData.name" type="text"></el-input>-->
</el-form-item>
<el-form-item prop="sex" label="性别">
<el-select v-model="formData.sex" style="width: 100%"
placeholder="请选择">
<el-option
v-for="item in [{x:'男'},{x:'女'}]"
:key="item.x"
:label="item.x"
:value="item.x">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="zw" label="职务">
<el-select v-model="formData.zw" style="width: 100%"
placeholder="请选择">
<el-option
v-for="item in zwOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="mobile" label="电话">
<el-input placeholder="填写电话" size="small"
v-model="formData.mobile" clearable type="mobile"></el-input>
</el-form-item>
<el-form-item prop="email" label="邮箱">
<el-input placeholder="填写邮箱" size="small"
v-model="formData.email" clearable type="email"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addLxrDialogVisible = false" :disabled="subDis">取 消</el-button>
<el-button type="primary" :disabled="subDis" :loading="subDis" @click="doAddLxr">确 定</el-button>
</span>
</el-dialog>
<!--编辑联系人-->
<el-dialog
title="编辑"
:visible.sync="editLxrDialogVisible" width="40%">
<el-form :model="formData" ref="editForm" :rules="formRules" size="small" label-width="100px">
<el-form-item prop="name" label="姓名">
<el-input maxlength="50" disabled placeholder="姓名" v-model="formData.name" type="text"></el-input>
</el-form-item>
<el-form-item prop="sex" label="性别">
<el-select v-model="formData.sex" style="width: 100%"
placeholder="请选择">
<el-option
v-for="item in [{x:'男'},{x:'女'}]"
:key="item.x"
:label="item.x"
:value="item.x">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="zw" label="职务">
<el-select v-model="formData.zw" style="width: 100%"
placeholder="请选择">
<el-option
v-for="item in zwOptions"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="mobile" label="电话">
<el-input placeholder="填写电话" size="small"
v-model="formData.mobile" clearable type="mobile"></el-input>
</el-form-item>
<el-form-item prop="email" label="邮箱">
<el-input placeholder="填写邮箱" size="small"
v-model="formData.email" clearable type="email"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editLxrDialogVisible = false" :disabled="subDis">取 消</el-button>
<el-button type="primary" :disabled="subDis" :loading="subDis" @click="doEditLxr">确 定</el-button>
</span>
</el-dialog>
<!--新建福利单位-->
<el-dialog
title="新建福利单位"
:visible.sync="addDialogVisible" width="50%">
<el-form :model="formData" ref="addForm" :rules="formRules" size="small" label-width="120px">
<el-form-item prop="welfare_unit_name" label="福利单位名称">
<el-input maxlength="100" placeholder="福利单位名称"
v-model="formData.welfare_unit_name"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="welfare_unit_code" label="福利单位编码">
<el-input maxlength="100" placeholder="福利单位编码"
v-model="formData.welfare_unit_code"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="leader_phone" label="负责人电话">
<el-input maxlength="100" placeholder="负责人电话"
v-model="formData.leader_phone" clearable
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="welfare_unit_address" label="福利单位地址">
<el-input maxlength="100" placeholder="福利单位地址"
v-model="formData.welfare_unit_address"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="addDialogVisible = false" :disabled="subDis">取 消</el-button>
<el-button type="primary" :disabled="subDis" :loading="subDis" @click="doAdd">确 定</el-button>
</span>
</el-dialog>
<!--编辑福利单位-->
<el-dialog
title="修改福利单位"
:visible.sync="editDialogVisible" width="40%">
<el-form :model="formData" ref="editForm" :rules="formRules" size="small" label-width="120px">
<el-form-item prop="welfare_unit_name" label="福利单位名称">
<el-input maxlength="100" placeholder="福利单位名称"
v-model="formData.welfare_unit_name"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="welfare_unit_code" label="福利单位编码">
<el-input maxlength="100" placeholder="福利单位编码"
v-model="formData.welfare_unit_code"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="leader_phone" label="负责人电话">
<el-input maxlength="100" placeholder="负责人电话"
v-model="formData.leader_phone" clearable
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
<el-form-item prop="welfare_unit_address" label="福利单位地址">
<el-input maxlength="100" placeholder="福利单位地址"
v-model="formData.welfare_unit_address"
auto-complete="off" tabindex="4" type="text"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button :disabled="subDis" @click="editDialogVisible = false">取 消</el-button>
<el-button type="primary" :disabled="subDis" :loading="subDis" @click="doEdit">确 定</el-button>
</span>
</el-dialog>
</div>
<script>
let vue = new Vue({
el: '#app',
data() {
return {
v: 'index',
lxrUserOptions: [],
lxrUserLoading: false,
zcdwData: [],
zcdwValue: [],
unitOptions: [],
tabloading: false,
lxrData: {
idx: -1,
type: 'add'
},
zwOptions: [],
activeName: 'one',
subDis: false,
fzr_welfare_unit: '',
fzrData: [],
fzrValue: [],
data: [],
zcdwTableData: [],
lxrTableData: [],
defaultProps: {
children: 'childrens',
label: 'name',
disabled: 'disabled'
},
sysadmin: true,
formData: {},
zcdwDialogVisible: false,
addLxrDialogVisible: false,
editLxrDialogVisible: false,
fzrDialogVisible: false,
addDialogVisible: false,
editDialogVisible: false,
tableData: [],
hyTableData: [],
pageForm: {
searchName: "",
searchKeyword: "",
pageNumber: 1,
pageSize: 20,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
hyPageForm: {
searchName: "username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
node: {},
formRules: {
welfare_unit_name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
name: [{required: true, message: '必填', trigger: ['blur', 'change']}],
sex: [{required: true, message: '必填', trigger: ['blur', 'change']}],
zw: [{required: true, message: '必填', trigger: ['blur', 'change']}],
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
email: [{required: true, message: '必填', trigger: ['blur', 'change']}],
userids: [{required: true, message: '必填', trigger: ['blur', 'change']}],
roleids: [{required: true, message: '必填', trigger: ['blur', 'change']}],
jc: [{required: true, message: '必选', trigger: ['blur', 'change']}],
zw: [{required: true, message: '必选', trigger: ['blur', 'change']}],
},
isNull(val) {
if (val === undefined || val === null || val === '') {
return true
}
return false
},
spyFormData: {},
spyAddDialogVisible: false,
spyUserLoading: false,
jcOptions: [],
jcgbOptions: [],
jcgbUserOptions: [],
jcgbUserLoading: false,
jcgbJcFormData: {jcgb: {}},
selectRoleid: '',
jcgbUser: {},
jcgbFormData: {},
jcgbUserOptions: [],
jcgbUserLoading: false,
jcgbshPageForm: {
searchName: "u.username",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
},
jcgbshMultipleSelection: [],
jcgbshUnions: [],
jcgbshTableData: [],
filterText: '',
}
},
components: {
'tree-layout': httpVueLoader('/components/plugins/TreeLayout.vue')
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
}
},
filters: {
none2str(val) {
if (val === undefined || val === null || val === '') {
return "暂无"
}
return val
},
},
methods: {
filterNode(value, data, node) {
if (!value || node.level == 1) return true;
return data.welfare_unit_name.indexOf(value) !== -1
return false
},
lxrUserChange(id) {
this.lxrUserOptions.forEach(v => {
if (id === v.id) {
vue.$set(this.formData, "name", v.username)
vue.$set(this.formData, "sex", v.sex)
vue.$set(this.formData, "zw", v.zw)
vue.$set(this.formData, "mobile", v.mobile)
vue.$set(this.formData, "email", v.email)
}
})
},
lxrUserRemoteMethod(query) {
this.lxrUserOptions = []
this.lxrUserLoading = true
$.get(base + "/platform/sys/welfare/unit/mange/getUserByUnionId", {
welfare_unit_id: this.node.data.id,
query: query
}, (data) => {
if (data.code == 0) {
this.lxrUserOptions = data.data.list;
}
this.lxrUserLoading = false
}, "json");
},
doSzZcdw() {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doEditZcdw", {
welfare_unit_id: this.node.data.id,
unitids: JSON.stringify(this.zcdwValue)
}, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.getZcdwTabData();
this.zcdwDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
},
getZcdwTabData() {
this.zcdwTableData = []
this.tabloading = true
$.get(base + "/platform/sys/welfare/unit/mange/getUnitsByWelfareUnit", {welfare_unit_id: this.node.data.id}, (data) => {
if (data.code == 0) {
this.zcdwTableData = data.data;
}
this.tabloading = false
}, "json");
},
zdwFilterMethod(query, item) {
console.log(query)
return item.name.indexOf(query) > -1;
},
openZcdw() {
$.get(base + "/platform/sys/welfare/unit/mange/getDwAndZcdw", {welfare_unit_id: this.node.data.id}, (data) => {
if (data.code == 0) {
this.zcdwData = data.data.data
this.zcdwValue = []
data.data.value.forEach(val => {
this.zcdwValue.push(val.id)
})
this.zcdwDialogVisible = true;//打开编辑窗口
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
doAddSpy() {
this.$refs["spyAddForm"].validate((valid) => {
if (valid) {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doAddSpy", {
userids: JSON.stringify(this.spyFormData.userids),
roleids: JSON.stringify(this.spyFormData.roleids)
}, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.spyPageData();
this.spyAddDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
}
});
},
openAddSpy() {
this.lxrUserOptions = [];
this.spyFormData = {
userids: [],
roleids: [],
};
this.spyAddDialogVisible = true;
if (this.$refs['spyAddForm']) {
this.$refs['spyAddForm'].resetFields()
}
},
delSpy(userid, roleid) {
let self = this
this.$confirm('确定要删除该角色权限吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
closeOnClickModal: false,
type: 'warning',
callback(a) {
if ("confirm" === a) {
$.post("/platform/sys/welfare/unit/mange/delSpy", {
userid: userid,
roleid: roleid
}).then(res => {
if (res.code == 0) {
self.spyDoSearch();
self.$message.success(res.msg);
} else {
self.$message.error(res.msg);
}
})
}
}
});
},
hyDoSearch() {
this.hyPageForm.pageNumber = 1
this.hyPageData()
},
hyPageOrder(column) {//按字段排序
this.hyPageForm.pageOrderName = column.prop;
this.hyPageForm.pageOrderBy = column.order;
this.hyPageData();
},
hyPageNumberChange(val) {//页码更新操作
this.hyPageForm.pageNumber = val;
this.hyPageData();
},
hyPageSizeChange(val) {//分页大小更新操作
this.hyPageForm.pageSize = val;
this.hyPageData();
},
hyPageData() {//加载分页数据
sublime.showLoadingbar();//显示loading
this.tabloading = true
$.post(base + "/platform/sys/welfare/unit/mange/hyPageData", this.hyPageForm, (data) => {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
this.hyTableData = data.data.list;
this.hyPageForm.totalCount = data.data.totalCount;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.tabloading = false
}, "json");
},
doDeleteLxr(id) {
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: (a, b) => {
if ("confirm" == a) {//确认后再执行
$.post(base + "/platform/sys/welfare/unit/mange/deleteLxr", {id: id}, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.getLxrTabData(this.node.data.id);
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
},
doEditLxr() {
this.$refs["editForm"].validate((valid) => {
if (valid) {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doEditLxr", this.formData, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.getLxrTabData(this.node.data.id);
this.editLxrDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
this.subDis = false
}
});
},
openEditLxr(id) {
$.post(base + "/platform/sys/welfare/unit/mange/findOneLxr", {id: id}, (data) => {
if (data.code == 0) {
this.formData = data.data;//加载后台表单数据
this.editLxrDialogVisible = true;//打开编辑窗口
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
doAddLxr() {
this.$refs["addForm"].validate((valid) => {
if (valid) {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doAddLxr", this.formData, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.getLxrTabData(this.node.data.id);
this.addLxrDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
}
});
},
openAddLxr() {
this.formData = {
welfare_unit_id: this.node.data.id
};//打开新增窗口,表单先清空
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
this.addLxrDialogVisible = true;
},
getLxrTabData(id) {
this.lxrTableData = []
this.tabloading = true
$.post(base + "/platform/sys/welfare/unit/mange/getLxrTabData", {id: id}, (data) => {
if (data.code == 0) {
this.lxrTableData = data.data;//加载后台表单数据
}
this.tabloading = false
}, "json");
},
handleClick(tab, event) {
if (tab.name == 'one') {
this.initWelfareMember()
} else if (tab.name == 'two') {
this.getZcdwTabData()
}
},
initWelfareMember() {
this.hyPageForm.searchName = 'username'
this.hytableData = []
this.hyPageData()
$.get(base + "/platform/sys/welfare/unit/mange/getUnitsByWelfareUnit", {welfare_unit_id: this.node.data.id}, (data) => {
if (data.code == 0) {
this.unitOptions = data.data;//加载后台表单数据
}
}, "json");
},
doSzFzr() {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doEditFzr", {
welfare_unit_id: this.fzr_welfare_unit,
userids: JSON.stringify(this.fzrValue)
}, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.pageData();
this.fzrDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
},
fzrFilterMethod(query, item) {
return item.name.indexOf(query) > -1;
},
openFzr(row) {
this.$set(row, "openFzrLoading", true)
const {id} = row
this.fzr_welfare_unit = id
$.post(base + "/platform/sys/welfare/unit/mange/getUserAndFzr", {id: id}, (data) => {
if (data.code == 0) {
this.fzrData = data.data.data
this.fzrValue = []
data.data.value.forEach(val => {
this.fzrValue.push(val.id)
})
this.fzrDialogVisible = true;//打开编辑窗口
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.$set(row, "openFzrLoading", false)
}, "json");
},
handleNodeClick(data, node) {
this.node = node
let pageForm = {
welfare_unit_id: this.isNull(node.data) ? '-1' : node.data.id,
searchName: "",
searchKeyword: "",
pageNumber: 1,
pageSize: 10,
totalCount: 0,
pageOrderName: "",
pageOrderBy: ""
}
if (node.level == 1 && this.sysadmin) {
pageForm.searchName = 'welfare_unit_name'
this.pageForm = pageForm
this.doSearch()
} else if (node.level == 1 && !this.sysadmin) {
if (this.data[0].childrens && this.data[0].childrens.length > 0) {
this.node.data.id = this.data[0].childrens[0].id
this.hyPageForm = pageForm
this.activeName = 'one'
}
} else if (node.level == 2) {
this.hyPageForm = pageForm
this.activeName = 'one'
this.initWelfareMember()
}
},
doDelete(id) {
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: (a, b) => {
if ("confirm" == a) {//确认后再执行
$.post(base + "/platform/sys/welfare/unit/mange/doDeleteWelfareUnit", {id: id}, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.WelfareUnitTree(false);
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
}
});
},
doEdit() {
this.$refs["editForm"].validate((valid) => {
if (valid) {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doEditWelfareUnit", this.formData, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.WelfareUnitTree(false);
this.editDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
}
});
},
openEdit(id) {
$.post(base + "/platform/sys/welfare/unit/mange/editWelfareUnit", {id: id}, (data) => {
if (data.code == 0) {
this.formData = data.data;//加载后台表单数据
this.editDialogVisible = true;//打开编辑窗口
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
doAdd() {
this.$refs["addForm"].validate((valid) => {
if (valid) {
this.subDis = true
$.post(base + "/platform/sys/welfare/unit/mange/doAddWelfareUnit", this.formData, (data) => {
if (data.code == 0) {
this.$message({
message: data.msg,
type: 'success'
});
this.WelfareUnitTree(false);
this.addDialogVisible = false;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
this.subDis = false
}, "json");
}
});
},
openAdd() {
this.formData = {};//打开新增窗口,表单先清空
if (this.$refs["addForm"])
this.$refs["addForm"].resetFields();
this.addDialogVisible = true;
},
doSearch() {
this.pageForm.pageNumber = 1
this.pageData()
},
pageOrder(column) {//按字段排序
this.pageForm.pageOrderName = column.prop;
this.pageForm.pageOrderBy = column.order;
this.pageData();
},
pageNumberChange(val) {//页码更新操作
this.pageForm.pageNumber = val;
this.pageData();
},
pageSizeChange(val) {//分页大小更新操作
this.pageForm.pageSize = val;
this.pageData();
},
pageData() {//加载分页数据
sublime.showLoadingbar();//显示loading
$.post(base + "/platform/sys/welfare/unit/mange/pageData", this.pageForm, (data) => {
sublime.closeLoadingbar();//关闭loading
if (data.code == 0) {
this.tableData = data.data.list;
this.pageForm.totalCount = data.data.totalCount;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
WelfareUnitTree(action = true) {
$.get(base + "/platform/sys/welfare/unit/mange/WelfareUnitTree", (data) => {
if (data.code == 0) {
this.sysadmin = data.data.sysadmin
this.data = [data.data]
if (!action) {
this.pageData()
return
}
if (this.sysadmin) {
this.handleNodeClick(null, {
level: 1
})
} else {
this.handleNodeClick(null, {
level: 2, data: {
id: data.data.childrens ? data.data.childrens[0].id : ''
}
})
}
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
},
},
created() {
this.node = {level: 1}
this.WelfareUnitTree();
}
})
</script>
<!--#
}
#-->