feat : 科创部直接跳过审批节点

This commit is contained in:
clay
2024-07-19 14:51:07 +08:00
parent ae6da83a1a
commit e576000267
2 changed files with 50 additions and 29 deletions

View File

@@ -1,10 +1,10 @@
import request from '@/utils/request.js' import request from '@/utils/request.js'
//根据角色或者部门获取到对应的数据 //根据角色或者部门获取到对应的数据
export function getUserTree(type,chooseId){ export function getUserTree(type, chooseId) {
return request({ return request({
url:`/admin/user/choose/${type}/${chooseId}`, url: `/admin/user/choose/${type}/${chooseId}`,
method:'get' method: 'get'
}) })
} }
@@ -15,6 +15,7 @@ export function getRole() {
method: 'get' method: 'get'
}) })
} }
//获取采取树形控件的部门option //获取采取树形控件的部门option
export function getDepartmentTree() { export function getDepartmentTree() {
return request({ return request({
@@ -22,11 +23,12 @@ export function getDepartmentTree() {
method: 'get' method: 'get'
}) })
} }
export function getMosrUser(params) { export function getMosrUser(params) {
return request({ return request({
url: '/admin/mosr/user/choose', url: '/admin/mosr/user/choose',
method: 'get', method: 'get',
params:params params: params
}) })
} }
@@ -34,6 +36,14 @@ export function getOrganizationStructure(params) {
return request({ return request({
url: '/admin/organizational/structure/choose', url: '/admin/organizational/structure/choose',
method: 'get', method: 'get',
params:params params: params
})
}
export function getOrganizationStructureTree(params) {
return request({
url: '/admin/organizational/structure/tree',
method: 'get',
params: params
}) })
} }

View File

@@ -4,7 +4,7 @@
<div class="candidate" v-loading="loading"> <div class="candidate" v-loading="loading">
<el-form :model="queryType" @submit.prevent="getList"> <el-form :model="queryType" @submit.prevent="getList">
<el-form-item prop="dictName"> <el-form-item prop="dictName">
<el-input v-model="queryType.chooseName" @change="getList" <el-input v-model="queryType.chooseName"
clearable placeholder="输入公司或部门名称进行搜索"> clearable placeholder="输入公司或部门名称进行搜索">
<template #append> <template #append>
<el-button @click="getList">搜索</el-button> <el-button @click="getList">搜索</el-button>
@@ -14,9 +14,10 @@
</el-form> </el-form>
<el-scrollbar> <el-scrollbar>
<div class="tree scrollbar-dict"> <div class="tree scrollbar-dict">
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value" <el-tree :data="dataList" ref="treeRef" :props="defaultProps" empty-text="" node-key="value"
:default-expanded-keys="expandedKeys" :lazy="true" :load="handleLoad" :default-expanded-keys="expandedKeys"
@node-expand="handleNodeExpand" @node-click="handleClick" :filter-node-method="filterNode"
@node-click="handleClick"
> >
<template #default="{ node, data }"> <template #default="{ node, data }">
<div class="tree-node"> <div class="tree-node">
@@ -48,7 +49,7 @@
<script setup> <script setup>
import SvgIcon from '@/components/svgIcon/index.vue' import SvgIcon from '@/components/svgIcon/index.vue'
import {ElNotification} from "element-plus"; import {ElNotification} from "element-plus";
import {getOrganizationStructure} from "@/api/workflow/process-user"; import {getOrganizationStructure, getOrganizationStructureTree} from "@/api/workflow/process-user";
import DepartComponent from "@/components/organizationalStructure/Department.vue"; import DepartComponent from "@/components/organizationalStructure/Department.vue";
import CompanyDetail from "@/components/organizationalStructure/CompanyDetail.vue"; import CompanyDetail from "@/components/organizationalStructure/CompanyDetail.vue";
@@ -65,7 +66,7 @@ let selectItem = reactive({
}); });
const loading = ref(false); const loading = ref(false);
const dataList = ref([]); const dataList = ref([]);
const tree = ref([]); const treeRef = ref<InstanceType<typeof ElTree>>()
const selectNodeKey = ref("") const selectNodeKey = ref("")
const expandedKeys = ref([]); const expandedKeys = ref([]);
const defaultProps = { const defaultProps = {
@@ -96,7 +97,7 @@ const getList = () => {
type: -1, type: -1,
value: "0" value: "0"
}; };
getOrganizationStructure(params).then(res => { getOrganizationStructureTree(params).then(res => {
dataList.value = res.data; dataList.value = res.data;
}); });
}; };
@@ -108,26 +109,36 @@ const init = () => {
dataList.value = []; dataList.value = [];
expandedKeys.value = []; expandedKeys.value = [];
queryType.chooseName = "" queryType.chooseName = ""
getList();
}; };
watch(filterText, (val) => {
treeRef.value.filter(val)
})
const filterNode = (value, data) => {
if (!value) return true
return data.label.includes(value)
}
async function handleLoad(node, resolve, reject) { async function handleLoad(node, resolve, reject) {
let data = node.data // let data = node.data
let params // let params
if (data.organizationalStructureId) { // if (data.organizationalStructureId) {
params = { // params = {
chooseId: data.organizationalStructureId, // chooseId: data.organizationalStructureId,
type: data.type // type: data.type
} // }
} else { // } else {
params = { // params = {
chooseId: 0, // chooseId: 0,
type: 0, // type: 0,
} // }
} // }
let result = await getOrganizationStructure(params).then(res => { // let result = await getOrganizationStructure(params).then(res => {
return res.data // return res.data
}) // })
resolve(result) // resolve(result)
} }
const handleClick = (item, data) => { const handleClick = (item, data) => {