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'
//根据角色或者部门获取到对应的数据
export function getUserTree(type,chooseId){
export function getUserTree(type, chooseId) {
return request({
url:`/admin/user/choose/${type}/${chooseId}`,
method:'get'
url: `/admin/user/choose/${type}/${chooseId}`,
method: 'get'
})
}
@@ -15,6 +15,7 @@ export function getRole() {
method: 'get'
})
}
//获取采取树形控件的部门option
export function getDepartmentTree() {
return request({
@@ -22,11 +23,12 @@ export function getDepartmentTree() {
method: 'get'
})
}
export function getMosrUser(params) {
return request({
url: '/admin/mosr/user/choose',
method: 'get',
params:params
params: params
})
}
@@ -34,6 +36,14 @@ export function getOrganizationStructure(params) {
return request({
url: '/admin/organizational/structure/choose',
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">
<el-form :model="queryType" @submit.prevent="getList">
<el-form-item prop="dictName">
<el-input v-model="queryType.chooseName" @change="getList"
<el-input v-model="queryType.chooseName"
clearable placeholder="输入公司或部门名称进行搜索">
<template #append>
<el-button @click="getList">搜索</el-button>
@@ -14,9 +14,10 @@
</el-form>
<el-scrollbar>
<div class="tree scrollbar-dict">
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
:default-expanded-keys="expandedKeys" :lazy="true" :load="handleLoad"
@node-expand="handleNodeExpand" @node-click="handleClick"
<el-tree :data="dataList" ref="treeRef" :props="defaultProps" empty-text="" node-key="value"
:default-expanded-keys="expandedKeys"
:filter-node-method="filterNode"
@node-click="handleClick"
>
<template #default="{ node, data }">
<div class="tree-node">
@@ -48,7 +49,7 @@
<script setup>
import SvgIcon from '@/components/svgIcon/index.vue'
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 CompanyDetail from "@/components/organizationalStructure/CompanyDetail.vue";
@@ -65,7 +66,7 @@ let selectItem = reactive({
});
const loading = ref(false);
const dataList = ref([]);
const tree = ref([]);
const treeRef = ref<InstanceType<typeof ElTree>>()
const selectNodeKey = ref("")
const expandedKeys = ref([]);
const defaultProps = {
@@ -96,7 +97,7 @@ const getList = () => {
type: -1,
value: "0"
};
getOrganizationStructure(params).then(res => {
getOrganizationStructureTree(params).then(res => {
dataList.value = res.data;
});
};
@@ -108,26 +109,36 @@ const init = () => {
dataList.value = [];
expandedKeys.value = [];
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) {
let data = node.data
let params
if (data.organizationalStructureId) {
params = {
chooseId: data.organizationalStructureId,
type: data.type
}
} else {
params = {
chooseId: 0,
type: 0,
}
}
let result = await getOrganizationStructure(params).then(res => {
return res.data
})
resolve(result)
// let data = node.data
// let params
// if (data.organizationalStructureId) {
// params = {
// chooseId: data.organizationalStructureId,
// type: data.type
// }
// } else {
// params = {
// chooseId: 0,
// type: 0,
// }
// }
// let result = await getOrganizationStructure(params).then(res => {
// return res.data
// })
// resolve(result)
}
const handleClick = (item, data) => {