Browse Source

组织架构

master
guoxing 2 years ago
parent
commit
911edf866e
  1. 129
      supervise-organizational-ui/src/api/system/departments/departments.js
  2. 19
      supervise-organizational-ui/src/api/system/postManage/index.js
  3. 53
      supervise-organizational-ui/src/api/system/roleAdminister/index.js
  4. 116
      supervise-organizational-ui/src/api/system/userManage/index.js
  5. 753
      supervise-organizational-ui/src/views/organizational/gwgl.vue
  6. 267
      supervise-organizational-ui/src/views/organizational/userManageAdd.vue
  7. 483
      supervise-organizational-ui/src/views/organizational/userManageList.vue
  8. 327
      supervise-organizational-ui/src/views/organizational/yhgl.vue
  9. 856
      supervise-organizational-ui/src/views/organizational/zzgl.vue

129
supervise-organizational-ui/src/api/system/departments/departments.js

@ -1,120 +1,125 @@
import request from '@/utils/request'
import qs from 'qs';
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token');
//获取菜单 分页列表
// let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('token')
// 获取菜单 分页列表
export function pageList(data) {
return request({
url: '/portal/v1/sysorganization/listPage',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查询左侧部门列表
export function orgList(data){
export function orgList(data) {
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 编辑部门信息
export function postOrgtree(data){
export function postOrgtree(data) {
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
url: '/portal/v1/sysorganization/update/' + data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 获取 机构分页列表
// 获取 机构分页列表(编辑部门信息)
export function putOrgtree(data) {
return request({
url: '/portal/v1/sysorganization/update/' +data.sid,
url: '/portal/v1/sysorganization/update/' + data.sid,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens}
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 新增部门信息
export function addOrgTree(data){
export function addOrgTree(data) {
return request({
url: '/portal/v1/sysorganization/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 回显
export function selectBySid(data) {
return request({
url: 'portal/v1/sysorganization/fetchBySid/' + data,
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 树 节点名称 删除
export function delOrgtree(data) {
return request({
url: `/portal/v1/sysorganization/delBySid/`+data.sid,
url: `/portal/v1/sysorganization/delBySid/` + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {'Content-Type': 'application/json',
'token':tokens
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 获取 机构树形
export function getOrgTree(data) {
// 查询主管人员 旧的:/portal/v1/sysstafforg/staffinfoList
export function getStaff(data) {
return request({
url: `/system/v1/departments/departmentTreeList/`+ data.organizationSid,
method: 'GET',
params: data
url: 'portal/v1/sysstaffinfo/getStaffNameByDeptSid',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
//// 添加 机构树形节点
//export function addOrgTree(data) {
//return request({
// url: `/system/v1/departments`,
// method: 'post',
// data: data,
// headers: {'Content-Type': 'application/json'}
//})
//}
// 获取 机构分页列表
export function getPagelist(data) {
// 查询分管人员
export function getStaffName(params) {
return request({
url: `/system/v1/departments/pagelist`,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
url: '/portal/v1/sysstaffinfo/getStaffName',
method: 'get',
params: params,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查看二维码
export function getQrCode(data) {
return request({
url: `/system/v1/departments/getQrCode/`+data.sid,
method: 'POST',
data: qs.stringify(data)
url: '/portal/v1/sysorganization/getQrCode/' + data.sid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

19
supervise-organizational-ui/src/api/system/postManage/index.js

@ -58,4 +58,21 @@ export function delOrgroles(data){
'token':tokens
}
})
}
}
export function pullDown(data){
return request({
url: '/portal/v1/dictcommons/typeValues',
method: 'get',
params: data
})
}
// 查询岗位列表
export function selectList(data){
return request({
url: '/portal/v1/syspost/selectList',
method: 'get',
params: data
})
}

53
supervise-organizational-ui/src/api/system/roleAdminister/index.js

@ -14,12 +14,33 @@ export function roleOrgList(data){
})
}
export function postList(data){
return request({
url: '/portal/v1/syspost/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 获取数据字典下拉列表
export function typeValues(data) {
return request({
url: '/portal/v1/dictcommons/typeValues',
method: 'get',
params: data
})
}
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: `/system/v1/orgroles/setIsEnable/${data.sid}/${data.isEnable}`,
url: '/portal/v1/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST',
data: qs.stringify(data)
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
@ -71,6 +92,27 @@ export function delOrgroles(data) {
}
})
}
// 移动端授权
export function getRoleMenuList(data) {
return request({
url: '/portal/v1/sysmobilemenurole/getRoleMenuList',
method: 'post',
params: { roleSid: data }
})
}
// 菜单授权保存
export function saveRoleMenuList(data) {
return request({
url: `/portal/v1/sysmobilemenurole/saveRoleMenuList`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 菜单授权
export function roleMenuTree(data) {
return request({
@ -78,10 +120,11 @@ export function roleMenuTree(data) {
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
'token':tokens
}
})
}
// 菜单授权保存
export function saveorgrolemenus(data) {
return request({
@ -89,7 +132,7 @@ export function saveorgrolemenus(data) {
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
'token':tokens
}
})
}
@ -136,4 +179,4 @@ export function savefunMenu(data) {
'token':tokens
}
})
}
}

116
supervise-organizational-ui/src/api/system/userManage/index.js

@ -1,11 +1,33 @@
import request from '@/utils/request'
import qs from 'qs'
// 用户列表
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g'
let tokens = window.sessionStorage.getItem('token');
export function userList(data){
return request({
url: '/base/v1/basefinbank/listPage',
url: '/portal/v1/sysuser/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 新增
export function userAdd(data){
return request({
url: '/portal/v1/sysuser/save',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 更新
export function userUpdata(data){
return request({
url: '/portal/v1/sysuser/update/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
@ -13,10 +35,33 @@ export function userList(data){
}
})
}
// 删除
export function delUser(data){
return request({
url: '/portal/v1/sysuser/delBySid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 初始化密码
export function initPwd(data){
return request({
url: '/portal/v1/sysuser/initPwd/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 根据sid查询一条信息
export function userSingle(data){
return request({
url: '/base/v1/basefinpolicy/fetchSid/' +data.sid,
url: '/portal/v1/sysuser/fetchBySid/' +data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
@ -24,10 +69,10 @@ export function userSingle(data){
}
})
}
// 新增
export function userListAdd(data){
// 单条用户的角色列表
export function setRole(data){
return request({
url: '/base/v1/basefinbank/save/',
url: '/portal/v1/sysrole/listAllByUserSid/' +data.sid,
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
@ -35,10 +80,10 @@ export function userListAdd(data){
}
})
}
// 更新
export function userUpdata(data){
// 角色列表
export function saveOrgRole(data){
return request({
url: '/base/v1/basefinbank/update/' +data.sid,
url: '/portal/v1/sysuserrole/update',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
@ -46,15 +91,60 @@ export function userUpdata(data){
}
})
}
// 查询角色列表
export function roleList(data){
return request({
url: '/portal/v1/sysrole/listAll',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询部门列表
export function orgList(data){
return request({
url: '/portal/v1/sysorganization/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 查询岗位列表
export function postList(data){
return request({
url: '/portal/v1/syspost/fetchByOrgSid/'+data.sid,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 删除
export function delbank(data){
// 获取验证码
export function getCode(data){
return request({
url: '/base/v1/basefinbank/deleteBySids/' +data.sid,
url: '/portal/v1/sysuser/sendMessageCode/'+data.phone,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
'token':tokens
}
})
}
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: '/portal/v1/sysuser/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

753
supervise-organizational-ui/src/views/organizational/gwgl.vue

@ -1,290 +1,505 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="岗位管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<el-form-item label="审核状态">
<el-input v-model="queryParams.params.createSid" placeholder="" clearable />
</el-form-item>
<el-form-item label="订单编号">
<el-input v-model="queryParams.params.modifySid" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单人">
<el-input v-model="queryParams.params.buyerName" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="供应商名称">
<el-input v-model="queryParams.params.contacts" placeholder="" clearable />
</el-form-item>
<el-form-item label="要货单位">
<el-input v-model="queryParams.params.telephone" placeholder="" clearable />
</el-form-item>
<el-form-item label="完成状态">
<el-select v-model="queryParams.params.completionStatusKey" filterable placeholder="请选择" clearable>
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="岗位列表" name="roleList">
<div class="container">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="岗位名称">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="所属部门">
<el-select v-model="search.orgSid" placeholder="请选择" clearable @clear="handleClear">
<el-option hidden :key="search.orgSid" :label="orgName" :value="search.orgSid"></el-option>
<el-tree v-loading="loading" :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly='true' :props="defaultProps"
@check-change="checkchange"
>
</el-tree>
</el-select>
</el-form-item> -->
<el-button @click="getList(1)">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="roleTable" border style="width: 100%;">
<el-table-column label="序号" width="50px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="220px" align="center">
<template slot-scope="scope">
<el-button @click="editRow(scope.row)" type="primary" size="mini"> 修改</el-button>
<el-button @click="delRow(scope.row)" type="danger" size="mini"> 删除</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="岗位名称" align="center"></el-table-column>
<el-table-column prop="parentName" label="上级岗位名称" align="center"></el-table-column>
<el-table-column prop="postCode" label="岗位编码" align="center"></el-table-column>
<el-table-column prop="postLevel" label="职级" align="center"></el-table-column>
<!-- <el-table-column prop="orgName" label="所属部门" align="center"></el-table-column> -->
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 编辑岗位信息 -->
<el-dialog :title="dialogTitle + '岗位信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>上级岗位</td>
<td> <!-- @change="changeParentSid" -->
<el-select v-model="roleForm.parentSid" filterable clearable placeholder="请选择"
style="width:300px">
<el-option v-for="item in parentSidList" :key="item.sid" :label="item.name"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>岗位名称</td>
<td>
<el-input v-model="roleForm.name" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>岗位职级</td>
<td>
<el-select v-model="roleForm.postLevel" @change="changeUPpostLevel" filterable placeholder="请选择" style="width:300px">
<el-option v-for="item in postLevelList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</td>
</tr>
<tr>
<td>岗位编码</td>
<td>
<el-input v-model="roleForm.postCode" style="width:300px"></el-input>
</td>
</tr>
<!--<tr>
<td>备注</td>
<td>
<el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input>
</td>
</tr>-->
<!-- <tr>
<td>选择部门(单选)</td>
<td>
<el-tree
:data="treedata1"
show-checkbox
node-key="sid"
ref="Tree1"
:default-expand-all='true'
:check-strictly='true'
:default-checked-keys="checkedId1"
:props="defaultProps"
@check-change="checkchange1"
>
</el-tree>
</td>
</tr> -->
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">岗位管理列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed width="180" label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini">撤回</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="createSid" label="状态" align="center" width="120" />
<el-table-column prop="code" label="订单编号" align="center" width="150" />
<el-table-column prop="buyerName" label="填单人" align="center" width="120" />
<el-table-column label="填单日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.purchaseDate.substring(0, scope.row.purchaseDate.length - 9) }}</span>
</template>
</el-table-column>
<el-table-column prop="supplierName" label="供应商单位" header-align="center" align="left" />
<el-table-column prop="packageTotalPrice" label="订单金额(元)" align="center" />
<el-table-column prop="purchasingDeptName" label="要货单位" align="center" />
<el-table-column prop="arrivalDate" label="到货日期" align="center" width="120" />
<el-table-column prop="completionStatus" label="完成状态" align="center" width="120" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="loadList" />
</div>
</el-dialog>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> -->
</div>
</el-tab-pane>
<!-- 新增岗位信息 -->
<el-tab-pane label="新增岗位" name="addrole">
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>上级岗位</td>
<td> <!-- @change="changeParentSid" -->
<el-select v-model="roleForm.parentSid" filterable clearable placeholder="请选择"
style="width:300px">
<el-option v-for="item in parentSidList" :key="item.sid" :label="item.name"
:value="item.sid">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>岗位名称</td>
<td>
<el-input v-model="roleForm.name" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>岗位职级</td>
<td>
<el-select v-model="roleForm.postLevel" @change="changePostLevel" filterable placeholder="请选择"
style="width:300px">
<el-option v-for="item in postLevelList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>岗位编码</td>
<td>
<el-input v-model="roleForm.postCode" style="width:300px"></el-input>
</td>
</tr>
<!--<tr>
<td>备注</td>
<td> <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 6}" v-model="roleForm.remarks"></el-input></td>
</tr>-->
<!-- <tr>
<td>选择部门(单选)</td>
<td>
<el-tree
:data="treedata2"
show-checkbox
node-key="sid"
ref="Tree2"
:default-expand-all='true'
:check-strictly='true'
:default-checked-keys="checkedId2"
:props="defaultProps"
@check-change="checkchange2"
>
</el-tree>
</td>
</tr> -->
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
</div>
</el-card>
</el-tab-pane>
</el-tabs>
</template>
<script>
// import req from '@/api/supervise/purchaseapplicationmanagement'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {delOrgroles, orgList, pageList, pullDown, putOrgroles, savePost,selectList} from '@/api/system/postManage/index.js'
export default {
name: 'ZzjgGwgl',
components: {
ButtonBar,
Pagination,
pageye
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
state_list: [
{
dictKey: 0,
dictValue: '未完成'
}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseStartDate: '',
purchaseEndDate: '',
supplierName: '',
purchasingDeptName: '',
arrivalStartDate: '',
arrivalEndDate: '',
completionStatusKey: ''
}
dialogTitle: '',
activeName: 'roleList',
roleForm: {
remarks: "",
roleName: "",
postCode: '',
orgSid: '',
postLevel: '',
postLevelKey: '',
parentSid:''
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
// this.tableLoading = true
// req.listPage(this.queryParams).then((resp) => {
// this.tableLoading = false
// if (resp.success) {
// const data = resp.data
// this.queryParams.total = data.total
// this.dataList = data.records
// } else {
// // resp.code
// this.dataList = []
// this.queryParams.total = 0
// }
// }).catch(() => {
// this.tableLoading = false
// })
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
formBackup: {},
search: {
name: '',
orgSid: ''
},
orgName: '',
page: {
total: 0, //
current: 1, //
size: 10, //
},
roleTable: [],
editDialog: false,
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
// orgdata:[], //
checkedId: [],
checkedId1: [],
checkedId2: [],
treedata: [],
treedata1: [],
treedata2: [],
postLevelList: [],
parentSidList: [],
// chace: [],
// roleDialog: false,
// Thisrow: {},
// orgListAll:[]
};
},
dosearch() {
this.queryParams.current = 1
this.loadList()
mounted() {
this.formBackup = Object.assign({}, this.roleForm),
this.getList()
this.getOrgList()
this.postLevel()
this.getParent()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseDateStart: '',
purchaseDateEnd: '',
supplierName: '',
purchasingDeptName: '',
arrivalDateStart: '',
arrivalDateEnd: '',
completionStatusKey: ''
methods: {
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getList()
},
//
getList(flag) {
if (flag == '1') {
this.page.current = 1
}
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// const loading = this.$loading({
// lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
// })
// req.delBySids(this.sids).then(resp => {
// loading.close()
// if (resp.success) {
// this.$message({ type: 'success', message: resp.msg, showClose: true })
// this.loadList()
// } else {
// // resp.code
let params = this.page
params.params = this.search
pageList(params).then(res => {
this.page.total = res.data.total
this.roleTable = res.data.records
})
},
postLevel(){
// pullDown({ psid: 0, type: 'postLevel' }).then((res)=>{
// if(res.code==='200'){
// this.postLevelList=res.data
// }
// }).catch(e => {
// loading.close()
// })
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getParent(){
selectList().then((res)=>{
if(res.code==='200'){
this.parentSidList=res.data
}
})
},
changePostLevel(value){
let bb = null
this.postLevelList.forEach((e) => {
if (e.dictKey == value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
})
this.roleForm.postLevel=bb.name
this.roleForm.postLevelKey=bb.value
},
changeUPpostLevel(value){
let bb = null
this.postLevelList.forEach((e) => {
if (e.dictKey == value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
})
this.roleForm.postLevel=bb.name
this.roleForm.postLevelKey=bb.value
},
handleClick(tab, event) {
if (tab.name == 'addrole') {
this.dialogTitle = '新增'
this.roleForm = Object.assign({}, this.formBackup)
} else {
this.getList()
}
},
editRow(row) {
this.dialogTitle = '编辑'
this.editDialog = true
console.log(row)
this.roleForm = Object.assign({}, row)
this.checkedId1 = [this.roleForm.orgSid]
},
delRow(row) {
this.$confirm('确定要删除该岗位吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = {
sids: row.sid
}
delOrgroles(params).then(res => {
this.getList()
this.$message({
type: 'success',
message: '删除成功!'
});
})
})
},
//
save() {
if (this.roleForm.sid) {
// let orgSid = this.$refs.Tree1.getCheckedKeys()
// this.roleForm.orgSid = orgSid.toString()
putOrgroles(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.editDialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
// let orgSid = this.$refs.Tree2.getCheckedKeys()
// this.roleForm.orgSid = orgSid.toString()
savePost(this.roleForm).then(res => {
if (res.code == '200') {
this.getList()
this.activeName = "roleList"
this.$message({
message: res.msg,
type: 'success'
})
let arr = []
// this.$refs.Tree2.setCheckedKeys(arr);
}
})
}
this.reset()
},
reset() {
this.roleForm = {
remarks: "",
roleName: "",
orgSid: ''
};
this.search = {
name: '',
orgSid: ''
}
},
//
getOrgList(row) {
this.roleDialog = true
this.checkedId = []
// this.roleForm.roleName = row.roleName
this.Thisrow = row
this.loading = true
let params = {
// roleSid: row.sid,
// userType: '2'
}
orgList(params).then(res => {
this.treedata = res.data
this.treedata1 = res.data
this.treedata2 = res.data
// this.getTreeParentNode(res.data, this.checkedId)
// this.getTreeParentid(res.data)
this.loading = false
})
},
// //
// getTreeParentNode(menus, ids) {
// for (var i = 0; i < menus.length; i++) {
// if (menus[i].children && menus[i].children.length != 0) {
// this.getTreeParentNode(menus[i].children, ids)
// } else if (menus[i].isCheck) {
// ids.push(menus[i].sid)
// }
// }
// },
// // ID
// getTreeParentid(menus) {
// for (var i = 0; i < menus.length; i++) {
// this.chace.push(menus[i].sid)
// }
// },
// getCheckedKeys() {
// let _this = this
// let roleMenus = []
// this.$refs.Tree.getCheckedKeys().forEach(val => {
// roleMenus.push({
// menuSid: val,
// orgSid: _this.$store.getters.userInfo.orgSid,
// roleSid: _this.Thisrow.sid
// })
// })
// let parentTrue = this.$refs.Tree.getHalfCheckedKeys()
// for (let i = 0; i < parentTrue.length; i++) {
// for (let j = 0; j < this.chace.length; j++) {
// if (parentTrue[i] == this.chace[j]) {
// parentTrue.splice(i, 1);
// }
// }
// }
// parentTrue.forEach(val => {
// roleMenus.push({
// menuSid: val,
// orgSid: _this.$store.getters.userInfo.orgSid,
// roleSid: _this.Thisrow.sid
// })
// })
// saveorgrolemenus({
// roleSid: _this.Thisrow.sid,
// roleMenus: roleMenus
// }).then(res => {
// this.roleDialog = false
// this.$message({
// message: res.msg,
// type: 'success'
// })
// })
// },
checkchange(data, checked, indeterminate) {
if (checked) {
this.search.orgSid = data.sid
this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree.setCheckedKeys(arr);
return;
}
},
checkchange1(data, checked, indeterminate) {
if (checked) {
this.roleForm.orgSid = data.sid
// this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree1.setCheckedKeys(arr);
return;
}
},
checkchange2(data, checked, indeterminate) {
if (checked) {
this.roleForm.orgSid = data.sid
// this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree2.setCheckedKeys(arr);
return;
}
},
handleClear() {
//
this.orgName = ''
this.search.orgSid = ''
let arr = []
this.$refs.Tree.setCheckedKeys(arr);
}
}
}
}
};
</script>
<style scoped>
.el-select > .el-input {
display: block;
width: 300px;
}
/deep/ .tab-header .el-select {
width: 180px;
}
.my-tabs {
margin-top: 10px;
}
</style>

267
supervise-organizational-ui/src/views/organizational/userManageAdd.vue

@ -0,0 +1,267 @@
<template>
<div>
<el-card class="box-card">
<table class="e-table" cellspacing="0">
<tr>
<td>姓名</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>用户类型</td>
<td>
<el-select v-model="form.userType" @change="$forceUpdate()" style="width:300px">
<el-option
v-for="(item, i) in userTypeData"
:key="i"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>部门</td>
<td>
<el-select v-model="form.deptSid" placeholder="请选择" style="width:300px">
<el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId"
:default-expand-all='true' :check-strictly='true' :props="defaultProps"
@check-change="checkchange"
>
</el-tree>
</el-select>
<!--<el-select v-model="form.deptSid" @change="$forceUpdate()">
<el-option
v-for="(item, i) in treedata"
:key="i"
:label="item.name"
:value="item.sid">
</el-option>
</el-select>-->
</td>
</tr>
<tr>
<td>岗位</td>
<td>
<el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px">
<el-option
v-for="(item, i) in postSidData"
:key="i"
:label="item.name"
:value="item.sid">
</el-option>
</el-select>
<!--<el-input v-model="form.postSid"></el-input>-->
</td>
</tr>
<tr>
<td>手机号码</td>
<td>
<el-input v-model="form.mobile" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>手机验证码</td>
<td>
<el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px">
<el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button>
<el-button v-show="!showCode" slot="append">{{phoneCodeCount}} s</el-button>
</el-input>
<!--<el-input v-model="form.verificationCode"></el-input>-->
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<!--<el-button type="warning" @click="cancel()"> </el-button>-->
</div>
</el-card>
</div>
</template>
<script>
import {userAdd, userUpdata, userSingle, orgList, postList, getCode} from '@/api/system/userManage/index.js'
export default {
data() {
return {
form: {
sid: '',
name: '',
userType: '',
deptSid: '',
postSid: '',
mobile: '',
verificationCode: ''
},
form1: {
sid: '',
},
userTypeData: [{
value: '1',
name: '员工'
}, {
value: '2',
name: '客户'
}, {
value: '3',
name: '供应商'
}],
treedata: [],
checkedId: [],
orgName: '',
defaultProps: {
children: 'children',
label: 'name'
},
postSidData: [],
showCode: true,
phoneCodeCount: '',
timer: null,
};
},
props: ['dataObj'],
watch: {
dataObj: {
handler(val) {
this.form1.sid = val.sid
this.getUserSingle()
this.getOrgList()
},
deep: true,
},
},
mounted() {
this.getOrgList()
},
methods: {
getUserSingle() {
userSingle(this.form1).then(res => {
if (res.code == '200') {
this.form.sid = res.data.sid
this.form.name = res.data.name
this.form.userType = res.data.userType
this.form.deptSid = res.data.deptSid
this.orgName = res.data.departmentName
this.form.postSid = res.data.postSid
this.form.mobile = res.data.mobile
}
})
},
//
getOrgList(row) {
// this.roleDialog = true
this.checkedId = []
this.Thisrow = row
this.loading = true
let params = {}
orgList(params).then(res => {
this.treedata = res.data
})
},
checkchange(data, checked, indeterminate) {
if (checked) {
this.form.deptSid = data.sid
this.orgName = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree.setCheckedKeys(arr);
this.form.postSid = ''
this.getPost(data.sid)
return;
}
},
getPost(orgSid) {
let params = {
sid: orgSid
}
postList(params).then(res => {
this.postSidData = res.data
})
},
save() {
if (this.form.sid) {
userUpdata(this.form).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.$emit('status', false)
}
})
} else {
let orgSid = this.$refs.Tree.getCheckedKeys()
this.form.deptSid = orgSid.toString()
userAdd(this.form).then(res => {
if (res.code == '200') {
this.$message({
message: res.msg,
type: 'success'
})
this.$emit('status', false)
}
})
let arr = []
this.$refs.Tree.setCheckedKeys(arr);
}
this.reset()
},
reset() {
this.form = {
sid: '',
name: '',
userType: '',
deptSid: '',
postSid: '',
mobile: '',
verificationCode: ''
}
},
//
getIdentifying() {
if (this.form.mobile == "") {
this.$alert('请填写手机号码', '', {
confirmButtonText: '确定'
})
return;
}
//
const TIME_COUNT = 60;
if (!this.timer) {
this.phoneCodeCount = TIME_COUNT;
this.showCode = false;
this.timer = setInterval(() => {
if (this.phoneCodeCount > 0 && this.phoneCodeCount <= TIME_COUNT) {
this.phoneCodeCount--;
} else {
this.showCode = true;
clearInterval(this.timer);
this.timer = null;
}
}, 1000)
}
let obj = {
phone: this.form.mobile,
}
getCode(obj).then(res => {
if (res.code == '200') {
this.orginTranceNo = res.data.tranceNo;
}
})
},
cancel() {
this.$emit('status', false)
}
}
}
</script>
<style>
</style>

483
supervise-organizational-ui/src/views/organizational/userManageList.vue

@ -0,0 +1,483 @@
<template>
<div>
<div class="tab-header">
<el-form ref="form" :inline="true" :model="search" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="用户名">
<el-input v-model="search.userName" clearable></el-input>
</el-form-item>
<el-form-item label="姓名">
<el-input v-model="search.name" clearable></el-input>
</el-form-item>
<el-form-item label="角色">
<el-select v-model="search.roleSid" filterable clearable placeholder="请选择">
<el-option v-for="item in roleListAll" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
</el-select>
</el-form-item>
<el-form-item label="部门">
<el-input v-model="search.orgName" clearable></el-input>
<!-- <el-select v-model="search.roleSid" clearable placeholder="请选择">-->
<!-- <el-option v-for="(item,i) in roleListAll" :key="i" :label="item.name" :value="item.sid"></el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-button @click="getOrgUserList(1)">查询</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="userTable" border style="width: 100%;">
<el-table-column label="序号" width="60px" type="index" align="center">
</el-table-column>
<el-table-column label="操作" width="300px" align="center">
<template slot-scope="scope">
<el-button @click="setRole(scope.row)" type="primary" size="mini">
设置角色
</el-button>
<el-button @click="initPwd(scope.row)" type="danger" size="mini">
初始化密码
</el-button>
<!-- <el-button @click="del(scope.row)" type="danger" size="mini">
删除
</el-button>-->
</template>
</el-table-column>
<el-table-column prop="userName" label="用户名" align="center">
<template slot-scope="scope">
<!-- <span class="tablerow-click" @click="userinfoChange(scope.row)">-->{{ scope.row.userName }}<!--</span>-->
</template>
</el-table-column>
<el-table-column prop="userType" label="用户类型" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" width="120px" align="center"></el-table-column>
<el-table-column prop="departmentName" label="部门" align="center"></el-table-column>
<el-table-column prop="postName" label="岗位" align="center"></el-table-column>
<el-table-column prop="isEnable" label="是否可用" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.isEnable"
active-value='1'
inactive-value='0'
active-color="#13ce66"
inactive-color="#ff4949"
@change="enabledChange($event,scope.row)">
</el-switch>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
<!-- 角色设置 -->
<el-dialog title="设置角色" :visible.sync="roleDialog" width="30%">
<el-form :model="roleForm" :rules="rules" ref="roleForm">
<el-form-item label="角色名称" :label-width="formLabelWidth" prop="roleSid">
<el-select v-model="roleForm.roleSid" placeholder="请选择" filterable multiple>
<el-option v-for="(item,i) in roleList" :key="i" :label="item.name" :value="item.sid"></el-option>
</el-select>
<!--<el-button type="primary" size='mini' @click="toNav('RoleAdminister')" style="margin-left: 10px;" circle icon="el-icon-plus"></el-button>-->
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveRole('roleForm')"> </el-button>
<el-button @click="roleDialog = false"> </el-button>
</div>
</el-dialog>
<!-- 部门设置 -->
<el-dialog title="部门设置" :visible.sync="bm_Dialog" width="30%">
<el-form :model="bm_Form" :rules="rules" ref="bm_Form">
<el-form-item label="部门名称" :label-width="formLabelWidth" prop="departmentSid">
<!-- <el-select v-model="bm_Form.departmentSid" placeholder="请选择">
<el-option v-for="item in bm_List"
:key="item.departmentSid"
:label="item.departmentName"
:value="item.departmentSid"
></el-option>
</el-select> -->
<el-cascader
v-model="bm_Form.departmentSid"
:options="treedata"
:props="props"></el-cascader>
<el-button type="primary" size='mini' @click="toNav('deptManage')" style="margin-left: 10px;" circle
icon="el-icon-plus"></el-button>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveOrg('bm_Form')"> </el-button>
<el-button @click="bm_Dialog = false"> </el-button>
</div>
</el-dialog>
<!-- 编辑信息 -->
<el-dialog title="编辑用户信息" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>姓名</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>用户类型</td>
<td>
<el-select v-model="form.userTypeKey" @change="$forceUpdate()" style="width:300px">
<el-option v-for="(item, i) in userTypeData" :key="i" :label="item.name" :value="item.value">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>部门</td>
<td>
<el-select v-model="form.deptSid" placeholder="请选择" @change="$forceUpdate()" style="width:300px">
<el-option hidden :key="form.deptSid" :label="orgName" :value="form.deptSid"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" :default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true' :props="defaultProps" @check-change="checkchange">
</el-tree>
</el-select>
</td>
</tr>
<tr>
<td>岗位</td>
<td>
<el-select v-model="form.postSid" @change="$forceUpdate()" style="width:300px">
<el-option v-for="(item, i) in postSidData" :key="i" :label="item.name" :value="item.sid"></el-option>
</el-select>
<!--<el-input v-model="form.postSid"></el-input>-->
</td>
</tr>
<tr>
<td>手机号码</td>
<td>
<el-input v-model="form.userName" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>手机验证码</td>
<td>
<el-input v-model="form.verificationCode" placeholder="请输入验证码" style="width:300px">
<el-button v-show="showCode" slot="append" @click.native="getIdentifying">获取验证码</el-button>
<el-button v-show="!showCode" slot="append">{{ phoneCodeCount }} s</el-button>
</el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="editDialog = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
userList,
delUser,
initPwd,
setRole,
orgList,
postList,
saveOrgRole,
roleList,
setRoleEnable,
userUpdata
} from '@/api/system/userManage/index.js'
export default {
data() {
return {
editDialog: false,
form: {},
userTypeData: [{
value: '1',
name: '员工'
}, {
value: '2',
name: '客户'
}, {
value: '3',
name: '供应商'
}],
checkedId: [],
orgName: '',
defaultProps: {
children: 'children',
label: 'name'
},
showCode: true,
postSidData: [],
phoneCodeCount: '',
timer: null,
roleListAll: [],
search: {
name: '',
userName: '',
roleSid: ''
},
props: {
value: 'sid',
label: 'name',
children: 'orgDepartmentVoList'
},
treedata: null,
page: {
total: 0, //
current: 1, //
size: 10 //
},
userTable: [],
clientTable: [],
//
formLabelWidth: '100',
roleDialog: false,
roleList: [],
roleForm: {
roleSid: '',
userSid: ''
},
//
bm_Dialog: false,
postSid: '',
bm_Form: { departmentSid: '' },
bm_List: [],
rules: {
roleSid: [{ required: true, message: '请选择角色名称', trigger: 'blur' }],
departmentSid: [{ required: true, message: '请选择部门名称', trigger: 'blur' }]
}
}
},
props: ['dataObj'],
watch: {
dataObj: {
handler(val) {
this.getOrgUserList()
},
deep: true
}
},
mounted() {
this.getOrgUserList()
this.getRoleList()
this.getOrgTree()
this.getOrgList()
},
methods: {
// +
getOrgUserList(flag) {
if (flag === '1') {
this.page.current = 1
}
let params = this.page
params.params = this.search
userList(params).then(res => {
this.page.total = res.data.total
this.userTable = res.data.records
})
},
getRoleList() {
var param = {}
roleList(param).then(res => {
if (res.code === '200') {
this.roleListAll = res.data
}
})
},
//
pagination(val) {
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getOrgUserList()
},
getOrgTree() { //
function treeArr(data) {
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
if (data[i].orgDepartmentVoList.length > 0) {
treeArr(data[i].orgDepartmentVoList)
} else {
delete data[i].orgDepartmentVoList
}
}
}
}
// getOrgTree({organizationSid: this.$store.getters.userInfo.orgSid}).then(res => {
// let tree = res.data[0].orgDepartmentVoList
// treeArr(tree)
// this.treedata = tree
// })
},
// ID
setRole(row) {
this.roleForm.roleSid = []
this.roleDialog = true
this.roleForm.sid = row.sid
this.roleForm.userSid = row.sid
setRole(this.roleForm).then(res => {
this.roleList = res.data
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].checked === '0') {
this.roleForm.roleSid.push(res.data[i].sid)
}
}
// this.roleForm.roleSid = res.data.filter(item=> item.checked =='0')
})
},
//
saveRole(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.roleForm.roleSid = this.roleForm.roleSid.toString()
saveOrgRole(this.roleForm).then(res => {
if (res.code === '200') {
this.roleDialog = false
this.getOrgUserList()
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
return false
}
})
},
//
saveOrg(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let params = { //
departmentSid: this.bm_Form.departmentSid[this.bm_Form.departmentSid.length - 1],
staffSid: this.bm_Form.staffSid
}
saveDepartment(params).then(res => {
if (res.code === '200') {
this.getOrgUserList()
this.bm_Dialog = false
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
return false
}
});
},
//
save(formName) {
this.form.userType = this.form.userTypeKey;
userUpdata(this.form).then(res => {
if (res.code === '200') {
this.getOrgUserList()
this.bm_Dialog = false
this.$message({
message: res.msg,
type: 'success'
})
this.editDialog = false
}
this.reset()
})
},
initPwd(row) {
this.$confirm('此操作将初始化该用户密码, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
initPwd({sid: row.sid}).then(res => {
this.$message({
type: 'success',
message: res.msg
})
})
})
},
//
userinfoChange(row) {
var postSid = row.postSid
this.editDialog = true
this.form = Object.assign({}, row)
this.postSid = postSid
this.$nextTick(() => {
this.$refs.Tree.setChecked(this.form.departmentSid, true, true)
})
// this.$emit('status',true)
// this.$emit('item',row)
},
//
del(row) {
this.$confirm('此操作将删除该用户, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delUser({ sid: row.sid }).then(res => {
this.$message({
type: 'success',
message: res.msg
});
this.getOrgUserList()
})
})
},
toNav(src) {
this.$router.push('/' + src)
},
//
getOrgList(row) {
// this.roleDialog = true
this.checkedId = []
this.Thisrow = row
this.loading = true
let params = {}
orgList(params).then(res => {
this.treedata = res.data
})
},
checkchange(data, checked, indeterminate) {
if (checked) {
this.form.deptSid = data.sid
this.orgName = data.name
let arr = []
arr = [data.sid]
this.$refs.Tree.setCheckedKeys(arr)
this.form.postSid = ''
this.getPost(data.sid)
return
}
},
getPost(orgSid) {
let params = {
sid: orgSid
}
postList(params).then(res => {
this.postSidData = res.data
})
this.form.postSid = this.postSid
},
reset() {
this.form = {}
},
enabledChange(value, row) {
setRoleEnable({
sid: row.sid,
isEnable: value
}).then(res => {
this.$message({
type: 'success',
message: res.msg
});
})
}
}
}
</script>
<style scoped="scoped">
.el-select > .el-input {
display: block;
width: 300px;
}
</style>

327
supervise-organizational-ui/src/views/organizational/yhgl.vue

@ -1,290 +1,65 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="用户管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<el-form-item label="审核状态">
<el-input v-model="queryParams.params.createSid" placeholder="" clearable />
</el-form-item>
<el-form-item label="订单编号">
<el-input v-model="queryParams.params.modifySid" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单人">
<el-input v-model="queryParams.params.buyerName" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="供应商名称">
<el-input v-model="queryParams.params.contacts" placeholder="" clearable />
</el-form-item>
<el-form-item label="要货单位">
<el-input v-model="queryParams.params.telephone" placeholder="" clearable />
</el-form-item>
<el-form-item label="完成状态">
<el-select v-model="queryParams.params.completionStatusKey" filterable placeholder="请选择" clearable>
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</el-form-item>
<el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">用户管理列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed width="180" label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini">撤回</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="createSid" label="状态" align="center" width="120" />
<el-table-column prop="code" label="订单编号" align="center" width="150" />
<el-table-column prop="buyerName" label="填单人" align="center" width="120" />
<el-table-column label="填单日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.purchaseDate.substring(0, scope.row.purchaseDate.length - 9) }}</span>
</template>
</el-table-column>
<el-table-column prop="supplierName" label="供应商单位" header-align="center" align="left" />
<el-table-column prop="packageTotalPrice" label="订单金额(元)" align="center" />
<el-table-column prop="purchasingDeptName" label="要货单位" align="center" />
<el-table-column prop="arrivalDate" label="到货日期" align="center" width="120" />
<el-table-column prop="completionStatus" label="完成状态" align="center" width="120" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="loadList" />
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> -->
<div>
<el-tabs class="my-tabs" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="用户列表" name="roleList">
<user-manage-list :dataObj='dataObj' @status='isShow' @item='listObj'></user-manage-list>
</el-tab-pane>
<!-- <el-tab-pane label="新增用户" name="addrole">
<user-manage-add @status='isShow' :dataObj='childObj'></user-manage-add>
</el-tab-pane>-->
</el-tabs>
</div>
</template>
<script>
// import req from '@/api/supervise/purchaseapplicationmanagement'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import userManageList from './userManageList.vue'
import userManageAdd from './userManageAdd.vue'
export default {
name: 'ZzjgYhgl',
components: {
ButtonBar,
Pagination,
pageye
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
state_list: [
{
dictKey: 0,
dictValue: '未完成'
}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseStartDate: '',
purchaseEndDate: '',
supplierName: '',
purchasingDeptName: '',
arrivalStartDate: '',
arrivalEndDate: '',
completionStatusKey: ''
}
},
sids: []
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
export default {
components: {
userManageList: userManageList,
userManageAdd: userManageAdd,
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
// this.tableLoading = true
// req.listPage(this.queryParams).then((resp) => {
// this.tableLoading = false
// if (resp.success) {
// const data = resp.data
// this.queryParams.total = data.total
// this.dataList = data.records
// } else {
// // resp.code
// this.dataList = []
// this.queryParams.total = 0
// }
// }).catch(() => {
// this.tableLoading = false
// })
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
data() {
return {
activeName: 'roleList',
editDialog: false,
dataObj: {
isShow: ''
},
childObj: {}
};
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
dosearch() {
this.queryParams.current = 1
this.loadList()
mounted() {
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseDateStart: '',
purchaseDateEnd: '',
supplierName: '',
purchasingDeptName: '',
arrivalDateStart: '',
arrivalDateEnd: '',
completionStatusKey: ''
methods: {
handleClick(tab, event) {
if (tab.name == 'addrole') {
this.dialogTitle = '新增'
// this.roleForm = Object.assign({}, this.formBackup)
} else {
// this.getroleOrgList()
}
},
isShow(val) {
if (!val) {
this.activeName = 'roleList'
this.dataObj.isShow = false
this.dataObj.isShow = true
} else {
this.activeName = 'addrole'
}
},
listObj(val) {
this.childObj = val
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// const loading = this.$loading({
// lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
// })
// req.delBySids(this.sids).then(resp => {
// loading.close()
// if (resp.success) {
// this.$message({ type: 'success', message: resp.msg, showClose: true })
// this.loadList()
// } else {
// // resp.code
// }
// }).catch(e => {
// loading.close()
// })
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
};
</script>
<style scoped>
<style scoped="scoped">
.my-tabs {
margin-top: 10px;
}
</style>

856
supervise-organizational-ui/src/views/organizational/zzgl.vue

@ -1,290 +1,660 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="组织管理" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<el-form-item label="审核状态">
<el-input v-model="queryParams.params.createSid" placeholder="" clearable />
</el-form-item>
<el-form-item label="订单编号">
<el-input v-model="queryParams.params.modifySid" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单人">
<el-input v-model="queryParams.params.buyerName" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="供应商名称">
<el-input v-model="queryParams.params.contacts" placeholder="" clearable />
<div class="container" style="display: flex;">
<div class="org-tree">
<el-tree :data="treedata" node-key="sid" :props="props" :default-expanded-keys="['fd6435f2-0005-11ec-a033-48452053aa33']" @node-click="handleNodeClick">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)" @click.stop.native>
<span>{{ node.label || $store.getters.userInfo.Orgname }}</span>
<span v-show="data.del" class="handle">
<el-tooltip class="item" effect="dark" content="新增" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => append(data)" icon="el-icon-circle-plus-outline">
</el-button>
</el-tooltip>
<!-- <el-tooltip v-show="data.sid" class="item" effect="dark" content="修改" placement="top-start">-->
<!-- <el-button type="text" size="mini" @click.stop="() => deit(data)" icon="el-icon-edit">-->
<!-- </el-button>-->
<!-- </el-tooltip>-->
<!-- <el-tooltip v-show="data.sid" class="item" effect="dark" content="删除" placement="top-start">-->
<!-- <el-button type="text" size="mini" @click.stop="() => remove(data)" icon="el-icon-delete">-->
<!-- </el-button>-->
<!-- </el-tooltip>-->
</span>
</span>
</el-tree>
</div>
<el-dialog title="编辑节点" :visible.sync="dialogVisible" width="50%" class="edit">
<table class="e-table" cellspacing="0">
<tr>
<td>组织名称</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
<td>组织编码</td>
<td>
<el-input v-model="form.orgCode" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>主管人员</td>
<td>
<el-select v-model="form.zgStaffSid" style="width:300px" filterable>
<el-option v-for="item in staffdata" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
<td>分管人员</td>
<td>
<el-select v-model="fgStaffSid" style="width:300px" filterable multiple>
<el-option v-for="item in staffdata2" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
</tr>
<tr>
<td>组织简称</td>
<td :colspan="3">
<el-input v-model="form.orgAbbre" style="width: 30%"></el-input>
</td>
</tr>
<tr>
<td>管理层级</td>
<td>
<el-select v-model="form.orgLevelValue" style="width:300px" placeholder="请选择" filterable @change="changeOrgLevel">
<el-option v-for="item in orgLevel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
<td>其他编码</td>
<td>
<el-input v-model="form.otherCode" style="width:300px" placeholder="与财务中客户编码相同"></el-input>
</td>
</tr>
<tr>
<td>组织地址</td>
<td>
<el-input v-model="form.addrs" style="width:300px"></el-input>
</td>
<td>组织属性</td>
<td>
<el-select v-model="form.orgAttributeValue" placeholder="请选择" filterable @change="changeOrgAttribute">
<el-option v-for="item in orgAttribute_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
</tr>
<tr>
<td>组织联系人</td>
<td>
<el-input v-model="form.linkPerson" style="width:300px"></el-input>
</td>
<td>联系电话</td>
<td>
<el-input v-model="form.linkPhone" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>是否独立法人</td>
<td>
<el-radio v-model="form.isDept" :label="0"></el-radio>
<el-radio v-model="form.isDept" :label="1"></el-radio>
</td>
<td>排序号</td>
<td>
<el-input v-model="form.sort" style="width:300px"></el-input>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="nodeSave()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
<div class="org-table" v-show="isshow == 'table'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="组织名称">
<el-input v-model="page.params.name" clearable></el-input>
</el-form-item>
<el-form-item label="要货单位">
<el-input v-model="queryParams.params.telephone" placeholder="" clearable />
<el-form-item>
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
<el-form-item label="完成状态">
<el-select v-model="queryParams.params.completionStatusKey" filterable placeholder="请选择" clearable>
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="tableData" default-expand-all border style="width: 100%;">
<el-table-column label="操作" align="center" width="160px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
编辑
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="remove(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="组织名称" align="center"></el-table-column>
<el-table-column prop="orgCode" label="组织编码" align="center"></el-table-column>
<!-- <el-table-column prop="zgNames" label="主管" align="center"></el-table-column>-->
<el-table-column prop="fgNames" label="分管" align="center"></el-table-column>
<!--<el-table-column prop="contactMan" label="联系人" align="center" width="100px"></el-table-column>-->
<el-table-column prop="linkPhone" label="联系人手机号" width="110" align="center">
</el-table-column>
<el-table-column prop="addrs" label="地址" align="center">
</el-table-column>
<el-table-column prop="sort" label="排序" align="center" width="50px">
</el-table-column>
<el-table-column prop="qrText" label="二维码" align="center" width="80px">
<template slot-scope="scope">
<el-button @click.native.prevent="lookRow(scope.row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<div class="org-table" v-show="isshow == 'ewm'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;">组织二维码</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="Printewm"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
<el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ewm" style="display: flex;justify-content: center; align-items: center;" ref="print">
<img style="width: 200px; height: 200px;" :src="ewmForm.qrFilePath" alt="">
<ul style="list-style:none; line-height: 32px; font-size: 16px;">
<li><label>组织名称: </label><span>{{ ewmForm.departmentName }}</span></li>
</ul>
</div>
</div>
<!-- 新增编辑页面 -->
<div class="org-table" v-show="isshow == 'edit'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;"> {{ dialogTitle }}组织信息</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">组织管理列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed width="180" label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini">撤回</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="createSid" label="状态" align="center" width="120" />
<el-table-column prop="code" label="订单编号" align="center" width="150" />
<el-table-column prop="buyerName" label="填单人" align="center" width="120" />
<el-table-column label="填单日期" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.purchaseDate.substring(0, scope.row.purchaseDate.length - 9) }}</span>
</template>
</el-table-column>
<el-table-column prop="supplierName" label="供应商单位" header-align="center" align="left" />
<el-table-column prop="packageTotalPrice" label="订单金额(元)" align="center" />
<el-table-column prop="purchasingDeptName" label="要货单位" align="center" />
<el-table-column prop="arrivalDate" label="到货日期" align="center" width="120" />
<el-table-column prop="completionStatus" label="完成状态" align="center" width="120" />
</el-table>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="loadList" />
</div>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ediut">
<table class="e-table" cellspacing="0">
<tr>
<td>组织名称</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
<td>组织编码</td>
<td>
<el-input v-model="form.orgCode" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>主管人员</td>
<td>
<el-select v-model="form.zgStaffSid" style="width:300px" filterable>
<el-option v-for="item in staffdata" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
<td>分管人员</td>
<td>
<el-select v-model="fgStaffSid" style="width:300px" filterable multiple>
<el-option v-for="item in staffdata2" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
</tr>
<tr>
<td>组织简称</td>
<td :colspan="3">
<el-input v-model="form.orgAbbre" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>管理层级</td>
<td>
<el-select v-model="form.orgLevelValue" style="width:300px" placeholder="请选择" filterable @change="changeOrgLevel">
<el-option v-for="item in orgLevel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
<td>其他编码</td>
<td>
<el-input v-model="form.otherCode" style="width:300px" placeholder="与财务中客户编码相同"></el-input>
</td>
</tr>
<tr>
<td>组织地址</td>
<td>
<el-input v-model="form.addrs" style="width:300px"></el-input>
</td>
<td>组织属性</td>
<td>
<el-select v-model="form.orgAttributeValue" placeholder="请选择" filterable @change="changeOrgAttribute">
<el-option v-for="item in orgAttribute_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
</tr>
<tr>
<td>组织联系人</td>
<td>
<el-input v-model="form.linkPerson" style="width:300px"></el-input>
</td>
<td>联系电话</td>
<td>
<el-input v-model="form.linkPhone" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>是否独立法人</td>
<td>
<el-radio v-model="form.isDept" :label="0"></el-radio>
<el-radio v-model="form.isDept" :label="1"></el-radio>
</td>
<td>排序号</td>
<td>
<el-input v-model="form.sort" style="width:300px"></el-input>
</td>
</tr>
</table>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> -->
<!-- <Position v-if="mapDialog" :address.sync="form.addrs" :maker-position.sync="form.jwd"
:dialog-visible.sync="mapDialog"/>-->
</div>
</template>
<script>
// import req from '@/api/supervise/purchaseapplicationmanagement'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {
addOrgTree,
delOrgtree,
getQrCode, getStaff,
getStaffName,
orgList,
pageList,
postOrgtree,
putOrgtree,
selectBySid
} from '@/api/system/departments/departments.js'
import { typeValues } from '@/api/system/roleAdminister/index'
import Position from '@/components/amap/amap.vue'
export default {
name: 'ZzjgZzgl',
components: {
ButtonBar,
Pagination,
pageye
},
components: { Position },
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
state_list: [
{
dictKey: 0,
dictValue: '未完成'
}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
dialogVisible: false,
mapDialog: false,
dialogTitle: '',
props: {
label: 'name',
children: 'children'
},
nodeForm: {
sid: '',
name: '',
sortNo: ''
},
ewmForm: {
qrFilePath: '',
organizationName: '',
departmentName: '',
address: ''
},
orgAttribute_list: [],
orgLevel_list: [],
form: {
sid: '',
name: '',
orgCode: '',
/* jwd: '',*/
addrs: '',
zgStaffSid: '',
zgStaffName: '',
fgStaffSid: '',
fgStaffName: '',
linkPerson: '',
linkPhone: '',
sort: '',
isDept: '',
orgAbbre: '',
orgAttributeValue: '',
orgAttributeKey: '',
orgLevelValue: '',
orgLevelKey: '',
otherCode: ''
},
fgStaffSid: [],
formBackup: Object.assign({}, this.form),
isshow: 'table',
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
code: '',
buyerName: '',
purchaseStartDate: '',
purchaseEndDate: '',
supplierName: '',
purchasingDeptName: '',
arrivalStartDate: '',
arrivalEndDate: '',
completionStatusKey: ''
name: '',
organizationSid: '',
psid: ''
}
},
sids: []
tableData: [],
treedata: [],
staffdata: [],
staffdata2: [],
rules: {}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
this.getOrgTree()
this.init()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
// this.tableLoading = true
// req.listPage(this.queryParams).then((resp) => {
// this.tableLoading = false
// if (resp.success) {
// const data = resp.data
// this.queryParams.total = data.total
// this.dataList = data.records
// } else {
// // resp.code
// this.dataList = []
// this.queryParams.total = 0
init() {
// typeValues({ type: 'orgAttribute' }).then((res) => {
// if (res.success) {
// this.orgAttribute_list = res.data
// }
// })
// typeValues({ type: 'orgLevel' }).then((res) => {
// if (res.success) {
// this.orgLevel_list = res.data
// }
// }).catch(() => {
// this.tableLoading = false
// })
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
changeOrgLevel(value) {
let bb = null
this.orgLevel_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
value: e.dictValue,
key: e.dictKey
}
}
})
this.form.orgLevelValue = bb.value
this.form.orgLevelKey = bb.key
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
changeOrgAttribute(value) {
let bb = null
this.orgAttribute_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.sids = aa
this.form.orgAttributeKey = bb.key
},
dosearch() {
this.queryParams.current = 1
this.loadList()
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseDateStart: '',
purchaseDateEnd: '',
supplierName: '',
purchasingDeptName: '',
arrivalDateStart: '',
arrivalDateEnd: '',
completionStatusKey: ''
}
handleNodeClick(data) {
this.isshow = 'table'
this.page.params.organizationSid = this.$store.getters.userInfo.orgSid
this.page.params.psid = data.sid || 0
this.getPageList(this.page)
},
getPageList(data) { //
pageList(data).then(res => {
console.log('返回子级:',res)
this.tableData = res.data.records
this.page.total = res.data.total
})
},
getOrgTree() { //
orgList({}).then(res => {
this.treedata = res.data
})
},
save() {
if (this.fgStaffSid.length > 0) {
this.form.fgStaffSid = this.fgStaffSid.join()
} else {
this.form.fgStaffName = ''
this.form.fgStaffSid = ''
}
this.form.organizationSid = this.$store.getters.userInfo.orgSid
// this.form.dlxx = typeof(this.form.dlxx) == 'string' ? this.form.dlxx : this.form.dlxx.join()
if (this.form.sid) {
// console.log(this.form)
putOrgtree(this.form).then(res => {
if (res.success) {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({ sid: this.form.psid })
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
addOrgTree(this.form).then(res => {
if (res.success) {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({ sid: this.form.psid })
this.$message({
message: res.msg,
type: 'success'
})
}
})
}
this.loadList()
},
toAdd() {
this.viewState = 2
this.$refs['divadd'].showAdd()
append(data) {
console.log(123456789, data)
this.dialogTitle = '新增'
this.isshow = 'edit'
this.fgStaffSid = []
this.form = Object.assign({}, this.formBackup)
this.form.psid = data.sid || 0
this.form.organizationSid = this.$store.getters.userInfo.orgSid
this.form.address = data.orgAddress || data.address
this.form.dlxx = data.gisInfo || data.dlxx
this.getStaff(data.sid)
this.getStaff2(data.sid)
},
editRow(row) {
this.getStaff(row.sid)
this.getStaff2(row.sid)
this.dialogTitle = '编辑'
this.isshow = 'edit'
this.fgStaffSid = []
selectBySid(row.sid).then((response) => {
if (response.success) {
this.form = response.data
this.form.fgStaffName = response.data.fgNames
this.form.fgStaffSid = response.data.fgStaffSid
if (this.form.fgStaffSid) {
this.fgStaffSid = response.data.fgStaffSid.split(',')
}
this.form.zgStaffName = response.data.zgNames
this.form.zgStaffSid = response.data.zgStaffSid
console.log('编辑回显的数据', this.form)
}
})
},
toEdit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
deit(data) { //
this.getStaff(data.sid)
this.getStaff2(data.sid)
console.log(data, 8888)
this.dialogVisible = true
this.form.sid = data.sid
// this.form.psid = null
this.form.name = data.name
this.form.orgCode = data.orgCode
/* this.form.jwd = data.jwd*/
this.form.addrs = data.addrs
this.form.linkPerson = data.linkPerson
this.form.linkPhone = data.linkPhone
this.form.sort = data.sort
this.form.zgStaffSid = data.zgSids
this.form.fgStaffSid = data.fgSids.split(',')
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
nodeSave() { //
console.log('这是保存nodeSave(0')
this.form.fgStaffSid = this.form.fgStaffSid.join()
postOrgtree(this.form).then(res => {
this.getOrgTree()
this.dialogVisible = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
remove(data) {
this.$confirm('确定要删除该组织吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// const loading = this.$loading({
// lock: true,
// text: 'Loading',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
// })
// req.delBySids(this.sids).then(resp => {
// loading.close()
// if (resp.success) {
// this.$message({ type: 'success', message: resp.msg, showClose: true })
// this.loadList()
// } else {
// // resp.code
// }
// }).catch(e => {
// loading.close()
// })
}).catch(() => {
delOrgtree({ sid: data.sid }).then(res => {
this.getOrgTree()
this.handleNodeClick({ sid: data.psid })
this.$message({
message: res.msg,
type: 'success'
})
})
})
},
resetState() {
this.viewState = 1
lookRow(row) { //
this.isshow = 'ewm'
getQrCode({ sid: row.sid }).then(res => {
this.ewmForm = res.data
})
},
Printewm() {
this.$print(this.$refs.print) // 使
},
mouseenter(data) {
this.$set(data, 'del', true)
},
mouseleave(data) {
this.$set(data, 'del', false)
},
onSearch() {
this.getPageList(this.page)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
resetSearch() {
this.page.params.name = ''
this.getPageList(this.page)
},
//
getStaff(orgSid) {
getStaff({ deptSid: orgSid }).then((res) => {
if (res.success) {
this.staffdata = res.data
}
})
},
//
getStaff2(orgSid) {
getStaffName({ deptSid: orgSid }).then(res => {
this.staffdata2 = res.data
console.log('分管人员', this.staffdata2)
})
}
}
}
</script>
<style scoped>
<style>
.el-icon-arrow-right:before {
content: '\e6e0';
color: #727272;
}
</style>
<style scoped="scoped" lang="scss">
.org-tree {
width: 240px;
min-height: 100%;
box-sizing: border-box;
/*padding-right: 10px;*/
border: 1px solid #edf1f7;
overflow: scroll;
}
.org-table {
flex: 1;
// padding-left: 10px;
margin: 0 10px;
border: 1px solid #edf1f7;
min-height: 100%;
overflow-y: scroll;
.ewm {
margin: 30px auto 0;
width: 560px;
}
.ediut {
margin: 30px auto 0;
/*width:750px;*/
}
}
.custom-tree-node {
position: relative;
overflow: hidden;
width: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
.handle {
position: absolute;
right: 0;
.el-button--text {
font-size: 15px;
background-color: #FFFFFF;
}
}
.my-tabs {
margin-top: 10px;
}
.edit {
.el-form-item__label {
width: 100px !important;
display: inline-block !important;
}
.el-input {
width: 70%;
}
}
.td_left {
border-left: 0 solid #e6e9f0;
}
</style>

Loading…
Cancel
Save