1058 lines
50 KiB
HTML
1058 lines
50 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;
|
||
}
|
||
|
||
|
||
</style>
|
||
<div id="app" v-cloak style="height: 100%">
|
||
<el-row style="height: 100%">
|
||
<el-col :span="5" style="height: 100%;max-height: 100vh;overflow: auto;padding: 10px 0">
|
||
<el-tree :data="data" :expand-on-click-node="false" :props="defaultProps" default-expand-all
|
||
@node-click="handleNodeClick"
|
||
highlight-current
|
||
style="height: 100%;width: 100%;border-right: 2px rgb(240,240,240) solid;overflow: auto">
|
||
<div class="custom-tree-node" style="display: inline-block;" slot-scope="{ node, data }">
|
||
<i v-if="node.level==1 " class="el-icon-office-building"></i>
|
||
<span v-if="node.level==1" style="font-size: 15px"> {{ data.unionname }}</span>
|
||
<i v-if="node.level==2 " class="el-icon-school"></i>
|
||
<span v-if="node.level==2" style="font-size: 14px;"> {{ data.unionname }}</span>
|
||
</div>
|
||
</el-tree>
|
||
</el-col>
|
||
<el-col :span="19">
|
||
<div v-if="node.level==1&&sysadmin">
|
||
<el-row class="header navbar bg-white shadow">
|
||
<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: 120px;">
|
||
<el-option label="基层工会名称" value="unionname"></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="unionname"
|
||
label="基层工会名称"
|
||
header-align="center"
|
||
align="center"
|
||
>
|
||
</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="telephone"
|
||
label="联系电话"
|
||
header-align="center"
|
||
align="center"
|
||
:show-overflow-tooltip="true"
|
||
>
|
||
<template slot-scope="scope">
|
||
{{scope.row.telephone | none2str}}
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column
|
||
prop="userOnline"
|
||
label="操作"
|
||
header-align="center"
|
||
align="center"
|
||
width="290">
|
||
<template slot-scope="scope">
|
||
<el-button size="mini" @click="openFzr(scope.row.id)">设置管理员</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-phone-outline"></i> 联系信息表</span>
|
||
<el-row class="el-table-container">
|
||
<el-table :data="lxrTableData" 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">
|
||
<template slot-scope="scope">
|
||
<el-input v-if="scope.$index==lxrData.idx" placeholder="填写姓名" size="small"
|
||
v-model="scope.row.name" clearable></el-input>
|
||
<span v-else>{{scope.row.name}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" header-align="center" label="性别"
|
||
prop="sex">
|
||
<template slot-scope="scope">
|
||
<el-select v-if="scope.$index==lxrData.idx" v-model="scope.row.sex" size="small"
|
||
placeholder="请选择">
|
||
<el-option
|
||
v-for="item in [{x:'男'},{x:'女'}]"
|
||
:key="item.x"
|
||
:label="item.x"
|
||
:value="item.x">
|
||
</el-option>
|
||
</el-select>
|
||
<span v-else>{{scope.row.sex}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" header-align="center" label="职务" prop="zw">
|
||
<template slot-scope="scope">
|
||
<el-select v-if="scope.$index==lxrData.idx" v-model="scope.row.zw" size="small"
|
||
placeholder="请选择">
|
||
<el-option
|
||
v-for="item in zwOptions"
|
||
:key="item"
|
||
:label="item"
|
||
:value="item">
|
||
</el-option>
|
||
</el-select>
|
||
<span v-else>{{scope.row.zw}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" header-align="center" label="电话" prop="mobile">
|
||
<template slot-scope="scope">
|
||
<el-input v-if="scope.$index==lxrData.idx" placeholder="填写电话" size="small"
|
||
v-model="scope.row.mobile" clearable></el-input>
|
||
<span v-else>{{scope.row.mobile}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column align="center" header-align="center" label="邮箱" prop="email">
|
||
<template slot-scope="scope">
|
||
<el-input v-if="scope.$index==lxrData.idx" placeholder="填写邮箱" size="small"
|
||
v-model="scope.row.email" clearable></el-input>
|
||
<span v-else>{{scope.row.email}}</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="操作" align="center" header-align="center" width="160px">
|
||
<template slot-scope="scope">
|
||
<el-button type="primary" size="mini" @click="openEditLxr(scope.row.id)">编辑
|
||
</el-button>
|
||
<el-button type="danger" size="mini" @click="doDeleteLxr(scope.row.id)">删除
|
||
</el-button>
|
||
</template>
|
||
</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="openAddLxr" circle><i
|
||
class="el-icon-plus"></i></el-button>
|
||
</el-row>
|
||
</el-tab-pane>
|
||
<el-tab-pane name="two">
|
||
<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: 120px;">
|
||
<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-column align="center" header-align="center" label="在职状态" show-overflow-tooltip
|
||
prop="zzzt"></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="three">
|
||
<span slot="label"><i class="el-icon-tickets"></i> 成员单位</span>
|
||
|
||
<el-row class="el-table-container">
|
||
<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>
|
||
</el-col>
|
||
</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">取 消</el-button>
|
||
<el-button :disabled="subDis" type="primary" @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">取 消</el-button>
|
||
<el-button :disabled="subDis" type="primary" @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
|
||
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"
|
||
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"
|
||
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">取 消</el-button>
|
||
<el-button type="primary" :disabled="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"
|
||
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"
|
||
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">取 消</el-button>
|
||
<el-button type="primary" :disabled="subDis" @click="doEditLxr">确 定</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!--新建基层工会-->
|
||
<el-dialog
|
||
title="新建基层工会"
|
||
:visible.sync="addDialogVisible" width="40%">
|
||
|
||
<el-form :model="formData" ref="addForm" :rules="formRules" size="small" label-width="100px">
|
||
<el-form-item prop="unionname" label="基层工会名称">
|
||
<el-input maxlength="100" placeholder="基层工会名称"
|
||
v-model="formData.unionname"
|
||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item prop="dwcode" label="基层工会编号">-->
|
||
<!-- <el-input maxlength="100" placeholder="基层工会编号"-->
|
||
<!-- v-model="formData.dwcode" clearable-->
|
||
<!-- auto-complete="off" tabindex="4" type="text"></el-input>-->
|
||
<!-- </el-form-item>-->
|
||
<el-form-item prop="telephone" label="联系电话">
|
||
<el-input maxlength="100" placeholder="联系电话"
|
||
v-model="formData.telephone" clearable
|
||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||
</el-form-item>
|
||
<el-form-item prop="unionaddress" label="基层工会地址">
|
||
<el-input maxlength="100" placeholder="基层工会地址"
|
||
v-model="formData.unionaddress"
|
||
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">取 消</el-button>
|
||
<el-button type="primary" :disabled="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="100px">
|
||
|
||
<el-form-item prop="unionname" label="基层工会名称">
|
||
<el-input maxlength="100" placeholder="基层工会名称"
|
||
v-model="formData.unionname"
|
||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item prop="dwcode" label="基层工会编号">-->
|
||
<!-- <el-input maxlength="100" placeholder="基层工会编号"-->
|
||
<!-- v-model="formData.dwcode" clearable-->
|
||
<!-- auto-complete="off" tabindex="4" type="text"></el-input>-->
|
||
<!-- </el-form-item>-->
|
||
<el-form-item prop="telephone" label="联系电话">
|
||
<el-input maxlength="100" placeholder="联系电话"
|
||
v-model="formData.telephone" clearable
|
||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||
</el-form-item>
|
||
<el-form-item prop="unionaddress" label="基层工会地址">
|
||
<el-input maxlength="100" placeholder="基层工会地址"
|
||
v-model="formData.unionaddress"
|
||
auto-complete="off" tabindex="4" type="text"></el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="editDialogVisible = false">取 消</el-button>
|
||
<el-button type="primary" :disabled="subDis" @click="doEdit">确 定</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
</div>
|
||
<script>
|
||
const vue = new Vue({
|
||
el: '#app',
|
||
data() {
|
||
return {
|
||
lxrUserOptions: [],
|
||
lxrUserLoading: false,
|
||
zcdwData: [],
|
||
zcdwValue: [],
|
||
unitOptions: [],
|
||
tabloading: false,
|
||
lxrData: {
|
||
idx: -1,
|
||
type: 'add'
|
||
},
|
||
zwOptions: ['主席', '副主席', '书记', '院长(处长)', '组织委员', '宣传委员', '文艺委员', '体育委员', '青工委员', '女工委员', '生活委员'],
|
||
activeName: 'one',
|
||
subDis: false,
|
||
fzrUnionid: '',
|
||
fzrData: [],
|
||
fzrValue: [],
|
||
data: [],
|
||
zcdwTableData: [],
|
||
lxrTableData: [],
|
||
defaultProps: {
|
||
children: 'childrens',
|
||
label: 'name',
|
||
disabled: 'disabled'
|
||
},
|
||
sysadmin: false,
|
||
gxOptions: [],
|
||
formData: {},
|
||
zcdwDialogVisible: false,
|
||
addLxrDialogVisible: false,
|
||
editLxrDialogVisible: false,
|
||
fzrDialogVisible: false,
|
||
addDialogVisible: false,
|
||
editDialogVisible: false,
|
||
tableData: [],
|
||
hyTableData: [],
|
||
pageForm: {
|
||
searchName: "",
|
||
searchKeyword: "",
|
||
pageNumber: 1,
|
||
pageSize: 10,
|
||
totalCount: 0,
|
||
pageOrderName: "",
|
||
pageOrderBy: ""
|
||
},
|
||
hyPageForm: {
|
||
searchName: "",
|
||
searchKeyword: "",
|
||
pageNumber: 1,
|
||
pageSize: 10,
|
||
totalCount: 0,
|
||
pageOrderName: "",
|
||
pageOrderBy: ""
|
||
},
|
||
node: {},
|
||
formRules: {
|
||
// parentUnit: [{validator: validateUnit, trigger: ['blur', 'change']}],
|
||
unionname: [{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']}],
|
||
},
|
||
isNull(val) {
|
||
if (val === undefined || val === null || val === '') {
|
||
return true
|
||
}
|
||
return false
|
||
}
|
||
}
|
||
},
|
||
filters: {
|
||
none2str(val) {
|
||
if (val === undefined || val === null || val === '') {
|
||
return "暂无"
|
||
}
|
||
return val
|
||
},
|
||
},
|
||
methods: {
|
||
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/hy/unionManger/getUserByUnionId", {
|
||
unionid: 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/hy/unionManger/doEditZcdw", {
|
||
unionid: 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/hy/unionManger/getUnitsByUnion", {unionid: this.node.data.id}, (data) => {
|
||
if (data.code == 0) {
|
||
this.zcdwTableData = data.data;//加载后台表单数据
|
||
}
|
||
this.tabloading = false
|
||
}, "json");
|
||
},
|
||
zdwFilterMethod(query, item) {
|
||
return item.name.indexOf(query) > -1;
|
||
},
|
||
openZcdw() {
|
||
$.get(base + "/platform/hy/unionManger/getDwAndZcdw", {unionid: 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");
|
||
},
|
||
|
||
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/hy/unionManger/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/hy/unionManger/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/hy/unionManger/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/hy/unionManger/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/hy/unionManger/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 = {
|
||
unionid: 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/hy/unionManger/getLxrTabData", {id: id}, (data) => {
|
||
if (data.code == 0) {
|
||
this.lxrTableData = data.data;//加载后台表单数据
|
||
}
|
||
this.tabloading = false
|
||
}, "json");
|
||
},
|
||
handleClick(tab, event) {
|
||
if (tab.name == 'one') {
|
||
|
||
} else if (tab.name == 'two') {
|
||
this.hyPageForm.searchName = 'username'
|
||
this.hytableData = []
|
||
this.hyDoSearch()
|
||
$.get(base + "/platform/hy/unionManger/getUnitsByUnion", {unionid: this.node.data.id}, (data) => {
|
||
if (data.code == 0) {
|
||
this.unitOptions = data.data;//加载后台表单数据
|
||
}
|
||
}, "json");
|
||
} else if (tab.name == 'three') {
|
||
this.getZcdwTabData()
|
||
}
|
||
},
|
||
doSzFzr() {
|
||
this.subDis = true
|
||
$.post(base + "/platform/hy/unionManger/doEditFzr", {
|
||
unionid: this.fzrUnionid,
|
||
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(id) {
|
||
this.fzrUnionid = id
|
||
$.post(base + "/platform/hy/unionManger/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'
|
||
});
|
||
}
|
||
}, "json");
|
||
},
|
||
handleNodeClick(data, node) {
|
||
this.node = node
|
||
var pageForm = {
|
||
unionid: 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 = 'unionname'
|
||
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'
|
||
this.getLxrTabData(node.data.id)
|
||
}
|
||
} else if (node.level == 2) {
|
||
this.hyPageForm = pageForm
|
||
this.activeName = 'one'
|
||
this.getLxrTabData(node.data.id)
|
||
}
|
||
|
||
},
|
||
doDelete(id) {
|
||
this.$confirm('确定删除吗?', '提示', {
|
||
confirmButtonText: '确定',
|
||
cancelButtonText: '取消',
|
||
type: 'warning',
|
||
callback: (a, b) => {
|
||
if ("confirm" == a) {//确认后再执行
|
||
$.post(base + "/platform/hy/unionManger/doDeleteUnion", {id: id}, (data) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'success'
|
||
});
|
||
this.unionTree();
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'error'
|
||
});
|
||
}
|
||
}, "json");
|
||
}
|
||
}
|
||
});
|
||
},
|
||
doEdit() {
|
||
this.$refs["editForm"].validate((valid) => {
|
||
if (valid) {
|
||
this.subDis = true
|
||
$.post(base + "/platform/hy/unionManger/doEditUnion", this.formData, (data) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'success'
|
||
});
|
||
this.unionTree();
|
||
this.editDialogVisible = false;
|
||
} else {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'error'
|
||
});
|
||
}
|
||
}, "json");
|
||
this.subDis = false
|
||
}
|
||
});
|
||
},
|
||
openEdit(id) {
|
||
$.post(base + "/platform/hy/unionManger/editUnion", {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/hy/unionManger/doAddUnion", this.formData, (data) => {
|
||
if (data.code == 0) {
|
||
this.$message({
|
||
message: data.msg,
|
||
type: 'success'
|
||
});
|
||
this.unionTree();
|
||
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/hy/unionManger/unionPageData", 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");
|
||
},
|
||
unionTree() {
|
||
$.get(base + "/platform/hy/unionManger/unionTree", (data) => {
|
||
if (data.code == 0) {
|
||
this.sysadmin = data.data.sysadmin
|
||
|
||
this.data = [data.data]
|
||
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.unionTree();
|
||
// this.pageData();
|
||
}
|
||
})
|
||
</script>
|
||
<!--#
|
||
}
|
||
#-->
|