浏览代码

添加下级

Xiao_123 10 月之前
父节点
当前提交
f1ba605333

+ 10 - 3
src/views/menduner/system/areaManage/AreaForm.vue

@@ -11,7 +11,7 @@
         <el-input v-model="formData.name" placeholder="请输入区域名称" />
       </el-form-item>
       <el-form-item label="区域类型" prop="type">
-        <el-select v-model="formData.type" placeholder="请选择区域类型">
+        <el-select :disabled="disabled" v-model="formData.type" placeholder="请选择区域类型">
           <el-option label="请选择字典生成" value="" />
         </el-select>
       </el-form-item>
@@ -55,15 +55,16 @@ const formData = ref({
 const formRules = reactive({})
 const formRef = ref() // 表单 Ref
 const areaTree = ref() // 树形结构
+const disabled = ref(false)
 
 /** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, id?: number, level?: number) => {
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
   resetForm()
   // 修改时,设置数据
-  if (id) {
+  if (id && !level) {
     formLoading.value = true
     try {
       formData.value = await AreaApi.getArea(id)
@@ -72,6 +73,11 @@ const open = async (type: string, id?: number) => {
     }
   }
   await getAreaTree()
+  if (level) {
+    disabled.value = true
+    formData.value.parentId = id
+    formData.value.type = Number(level) + 1
+  }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -107,6 +113,7 @@ const resetForm = () => {
     type: undefined,
     parentId: undefined
   }
+  disabled.value = false
   formRef.value?.resetFields()
 }
 

+ 9 - 3
src/views/menduner/system/areaManage/index.vue

@@ -98,6 +98,13 @@
       />
       <el-table-column label="操作" align="center">
         <template #default="scope">
+          <el-button
+            link
+            type="primary"
+            @click="openForm('create', scope.row.id, scope.row.type)"
+          >
+            添加下级
+          </el-button>
           <el-button
             link
             type="primary"
@@ -162,7 +169,6 @@ const getList = async () => {
   try {
     const data = await AreaApi.getAreaList(queryParams)
     list.value = handleTree(data, 'id', 'parentId')
-    console.log(list.value)
   } finally {
     loading.value = false
   }
@@ -181,8 +187,8 @@ const resetQuery = () => {
 
 /** 添加/修改操作 */
 const formRef = ref()
-const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
+const openForm = (type: string, id?: number, level?: number) => {
+  formRef.value.open(type, id, level)
 }
 
 /** 删除按钮操作 */

+ 10 - 3
src/views/menduner/system/industry/IndustryForm.vue

@@ -24,7 +24,7 @@
         />
       </el-form-item>
       <el-form-item label="层级" prop="level">
-        <el-radio-group v-model="formData.level">
+        <el-radio-group :disabled="disabled" v-model="formData.level">
           <el-radio label="1">请选择字典生成</el-radio>
         </el-radio-group>
       </el-form-item>
@@ -60,15 +60,16 @@ const formRules = reactive({
 })
 const formRef = ref() // 表单 Ref
 const industryTree = ref() // 树形结构
+const disabled = ref(false)
 
 /** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, id?: number, level?: number) => {
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
   resetForm()
   // 修改时,设置数据
-  if (id) {
+  if (id && !level) {
     formLoading.value = true
     try {
       formData.value = await IndustryApi.getIndustry(id)
@@ -77,6 +78,11 @@ const open = async (type: string, id?: number) => {
     }
   }
   await getIndustryTree()
+  if (level) {
+    disabled.value = true
+    formData.value.parentId = id
+    formData.value.level = Number(level) + 1
+  }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -113,6 +119,7 @@ const resetForm = () => {
     parentId: undefined,
     level: undefined
   }
+  disabled.value = false
   formRef.value?.resetFields()
 }
 

+ 9 - 2
src/views/menduner/system/industry/index.vue

@@ -108,6 +108,13 @@
       <el-table-column label="层级" align="center" prop="level" />
       <el-table-column label="操作" align="center">
         <template #default="scope">
+          <el-button
+            link
+            type="primary"
+            @click="openForm('create', scope.row.id, scope.row.level)"
+          >
+            添加下级
+          </el-button>
           <el-button
             link
             type="primary"
@@ -182,8 +189,8 @@ const resetQuery = () => {
 
 /** 添加/修改操作 */
 const formRef = ref()
-const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
+const openForm = (type: string, id?: number, level?: number) => {
+  formRef.value.open(type, id, level)
 }
 
 /** 删除按钮操作 */

+ 11 - 4
src/views/menduner/system/position/PositionForm.vue

@@ -4,7 +4,7 @@
       ref="formRef"
       :model="formData"
       :rules="formRules"
-      label-width="100px"
+      label-width="130px"
       v-loading="formLoading"
     >
       <el-form-item label="职位中文名称" prop="nameCn">
@@ -24,7 +24,7 @@
         />
       </el-form-item>
       <el-form-item label="层级" prop="level">
-        <el-radio-group v-model="formData.level">
+        <el-radio-group :disabled="disabled" v-model="formData.level">
           <el-radio label="1">请选择字典生成</el-radio>
         </el-radio-group>
       </el-form-item>
@@ -68,15 +68,16 @@ const formRules = reactive({
 })
 const formRef = ref() // 表单 Ref
 const positionTree = ref() // 树形结构
+const disabled = ref(false)
 
 /** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, id?: number, level?: number) => {
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
   resetForm()
   // 修改时,设置数据
-  if (id) {
+  if (id && !level) {
     formLoading.value = true
     try {
       formData.value = await PositionApi.getPosition(id)
@@ -85,6 +86,11 @@ const open = async (type: string, id?: number) => {
     }
   }
   await getPositionTree()
+  if (level) {
+    disabled.value = true
+    formData.value.parentId = id
+    formData.value.level = Number(level) + 1
+  }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -123,6 +129,7 @@ const resetForm = () => {
     requirement: undefined,
     describe: undefined
   }
+  disabled.value = false
   formRef.value?.resetFields()
 }
 

+ 9 - 2
src/views/menduner/system/position/index.vue

@@ -110,6 +110,13 @@
       />
       <el-table-column label="操作" align="center">
         <template #default="scope">
+          <el-button
+            link
+            type="primary"
+            @click="openForm('create', scope.row.id, scope.row.level)"
+          >
+            添加下级
+          </el-button>
           <el-button
             link
             type="primary"
@@ -184,8 +191,8 @@ const resetQuery = () => {
 
 /** 添加/修改操作 */
 const formRef = ref()
-const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
+const openForm = (type: string, id?: number, level?: number) => {
+  formRef.value.open(type, id, level)
 }
 
 /** 删除按钮操作 */