1164 lines
53 KiB
HTML
1164 lines
53 KiB
HTML
<!--#
|
||
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>
|
||
{{ 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>
|
||
{{ 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>
|
||
<!--#
|
||
}
|
||
#--> |