From 00bae2110315cf9c9a533afea2c617d950f6768e Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期二, 18 十一月 2025 15:56:42 +0800
Subject: [PATCH] 修改新增
---
src/views/build/conpanyFunctionConsult/qualityManage/rangeManage/catalogRange/components/editDialog.vue | 175 ++++++++++++++++------------------------------------------
1 files changed, 49 insertions(+), 126 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/qualityManage/rangeManage/catalogRange/components/editDialog.vue b/src/views/build/conpanyFunctionConsult/qualityManage/rangeManage/catalogRange/components/editDialog.vue
index dc360f7..ab01eb2 100644
--- a/src/views/build/conpanyFunctionConsult/qualityManage/rangeManage/catalogRange/components/editDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/qualityManage/rangeManage/catalogRange/components/editDialog.vue
@@ -9,42 +9,23 @@
:close-on-click-modal="false"
>
<el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
- <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId">
- <el-select
- v-model="state.form.companyName"
- filterable
- remote
- @change="selectValue"
- reserve-keyword
- placeholder="请输入企业名称"
- remote-show-suffix
- :remote-method="getCompanyList"
- style="width: 100%"
- >
- <el-option
- v-for="item in state.companyList"
- :key="item.id"
- :label="item.name"
- :value="item.name"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="序号:" prop="num">
- <el-input v-model.trim="state.form.num" :disabled="state.title =='查看'" placeholder="序号"></el-input>
- </el-form-item>
- <el-form-item label="上级分支:" prop="parentId">
+ <el-form-item label="上级分支:" prop="parentId" >
<el-tree-select
v-model="state.form.parentId"
:data="state.menuOptions"
- :props="{ value: 'id', label: 'label', children: 'children' }"
+ :props="{ value: 'id', label: 'name', children: 'children' }"
value-key="id"
placeholder="上级分支"
check-strictly
style="width: 100%"
/>
</el-form-item>
- <el-form-item label="目录名称:" prop="name">
- <el-input v-model.trim="state.form.name" :disabled="state.title =='查看'" placeholder="目录名称"></el-input>
+ <el-form-item label="序号:" prop="number">
+ <el-input v-model.trim="state.form.number" :disabled="state.title =='查看'" placeholder="序号"></el-input>
+ </el-form-item>
+
+ <el-form-item label="目录名称:" prop="mess">
+ <el-input v-model.trim="state.form.mess" :disabled="state.title =='查看'" placeholder="目录名称"></el-input>
</el-form-item>
</el-form>
<template #footer v-if="state.title !='查看'">
@@ -59,13 +40,7 @@
<script setup>
import {reactive, ref, toRefs, defineEmits, nextTick, onMounted} from 'vue'
import {ElMessage} from "element-plus";
-import {addUser, editUser, getUserById, resetPwd} from "@/api/onlineEducation/user"
-import {Base64} from "js-base64"
-import {getCompany} from "@/api/onlineEducation/company";
-import {addIndustryTemp, updateIndustryTemp, updateInfoPlatforms} from "@/api/staffManage/staff";
-import {getToken} from "@/utils/auth";
-import {delPic} from "@/api/onlineEducation/banner";
-import {listMenu} from "@/api/system/menu";
+import {addCatalogue, editCatalogue, getCatalogue} from "@/api/qualityManage/catalog";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
@@ -74,20 +49,19 @@
title: '',
form: {
id: null,
- name: '',
- num:'',
- companyId: null,
+ mess: '',
+ number:'',
parentId: null
},
formRules:{
- companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
- name: [{ required: true, message: '请输入目录名称', trigger: 'blur' }],
- num: [{ required: true, message: '请输入序号', trigger: 'blur' }],
+ mess: [{ required: true, message: '请输入目录名称', trigger: 'blur' }],
+ number: [{ required: true, message: '请输入序号', trigger: 'blur' }],
parentId:[{ required: true, message: '请选择上级分支', trigger: 'blur' }],
},
isAdmin: false,
companyList: [],
- menuOptions: []
+ menuOptions: [],
+
})
onMounted(() => {
@@ -96,15 +70,16 @@
const openDialog = async (type, value,companyId, isAdmin,flag) => {
state.isAdmin = isAdmin
if(isAdmin){
- await getCompanyList()
await getTreeselect()
}
state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看'
- state.form.companyId = companyId
if(state.title == '新增' && flag == 2){
state.form.parentId = value.id
- }else if(state.title == '新增' && flag == 1){
+
+ }else if(state.title == '新增' && flag == 1 ){
+
state.form.parentId = 0
+
}
if(state.title == '编辑'||state.title == '查看'){
Object.keys(state.form).forEach(key => {
@@ -123,7 +98,8 @@
if(valid){
if(state.title == '新增'){
const {id,...data} = state.form
- const res = await addIndustryTemp(data)
+ data.type = 1
+ const res = await addCatalogue(data)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -133,7 +109,8 @@
ElMessage.warning(res.message)
}
}else{
- const res = await updateIndustryTemp(state.form)
+ const {...data} = state.form
+ const res = await editCatalogue(data)
if(res.code == 200){
ElMessage.success(res.message)
emit('getList')
@@ -146,98 +123,44 @@
}
}
const getTreeselect =async ()=> {
- // state.menuOptions = [];
- // const res = await addIndustryTemp()
- // if(res.code == 200){
- // const menu = { id: 0, name: "1范围", children: [] };
- // menu.children = response.data
- // state.menuOptions.push(menu);
- // }else{
- // ElMessage.warning(res.message)
- // }
state.menuOptions = [];
- const menu = { id: 0, label: "1范围", children: [] };
- menu.children = [
- {
- id: 1,
- label: '1.1规范范围管理',
- children: [
- {
- id: 2,
- label: 'Level three 1-1-1',
- children: [
- {
- id: 3,
- label: 'Level three 1-1-1',
- children: [
- {
- id: 4,
- label: 'Level three 1-1-1',
- },
- ],
- },
- ],
- },
- ],
- },
- {
- id: 5,
- label: '1.2收集需求',
- },
- {
- id: 6,
- label: '1.3定义范围',
- },
- ]
+ const param = {
+ type: 1,
+ }
+ const res = await getCatalogue(param)
+ if(res.code == 200){
+ const menu = { id: 0, name: "主目录", children: [] };
+ menu.children = await handleTree(res.data.data)
state.menuOptions.push(menu);
-
+ }else{
+ ElMessage.warning(res.message)
+ }
}
+const handleTree = (val) => {
+ const traverse = (nodes, currentPath = '') => {
+ nodes.forEach((node, index) => {
+ node.name = `${node.number} ${node.mess}`;
+ // 递归处理子节点(传递当前序号路径)
+ if (node.children && node.children.length) {
+ traverse(node.children, node.number);
+ }
+ });
+ };
+ traverse(val); // 从根节点开始遍历
+ return val;
+}
const handleClose = () => {
state.form = {
id: null,
- name: '',
- num:'',
- companyId: null,
+ mess: '',
+ number:'',
parentId: null
}
+ state.isTree = false
superRef.value.clearValidate();
superRef.value.resetFields()
dialogVisible.value = false;
-}
-const selectValue = (val) => {
- state.companyList.forEach(item => {
- if(item.name === val){
- state.form.companyId = item.id
- }
- })
-}
-
-const getCompanyList = async (val)=>{
- if(val){
- const queryParams = {
- name: val
- }
- const res = await getCompany(queryParams)
- if (res.code == 200) {
- state.companyList = res.data.list
-
- } else {
- ElMessage.warning(res.message)
- }
- }else {
- const queryParams = {
- pageSize: 10,
- pageNum: 1,
- }
- const res = await getCompany(queryParams)
- if (res.code == 200) {
- state.companyList = res.data.list
-
- } else {
- ElMessage.warning(res.message)
- }
- }
}
defineExpose({
openDialog
--
Gitblit v1.9.2