Forráskód Böngészése

字典-添加下级

Xiao_123 9 hónapja
szülő
commit
a6913b84a4

+ 19 - 19
src/views/menduner/system/areaManage/AreaForm.vue

@@ -10,7 +10,7 @@
       <el-form-item label="区域名称" prop="name">
         <el-input v-model="formData.name" placeholder="请输入区域名称" />
       </el-form-item>
-      <el-form-item label="区域类型" prop="type">
+      <!-- <el-form-item label="区域类型" prop="type">
         <el-select :disabled="disabled" v-model="formData.type" placeholder="请选择区域类型">
           <el-option label="请选择字典生成" value="" />
         </el-select>
@@ -24,7 +24,7 @@
           default-expand-all
           placeholder="请选择上级区域"
         />
-      </el-form-item>
+      </el-form-item> -->
     </el-form>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -34,7 +34,7 @@
 </template>
 <script setup lang="ts">
 import { AreaApi, AreaVO } from '@/api/menduner/system/area'
-import { defaultProps, handleTree } from '@/utils/tree'
+// import { defaultProps, handleTree } from '@/utils/tree'
 
 /** 地区 表单 */
 defineOptions({ name: 'AreaForm' })
@@ -49,13 +49,13 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改
 const formData = ref({
   id: undefined,
   name: undefined,
-  type: undefined,
-  parentId: undefined
+  type: 1,
+  parentId: 0
 })
 const formRules = reactive({})
 const formRef = ref() // 表单 Ref
-const areaTree = ref() // 树形结构
-const disabled = ref(false)
+// const areaTree = ref() // 树形结构
+// const disabled = ref(false)
 
 /** 打开弹窗 */
 const open = async (type: string, id?: number, level?: number) => {
@@ -72,9 +72,9 @@ const open = async (type: string, id?: number, level?: number) => {
       formLoading.value = false
     }
   }
-  await getAreaTree()
+  // await getAreaTree()
   if (level) {
-    disabled.value = true
+    // disabled.value = true
     formData.value.parentId = id
     formData.value.type = Number(level) + 1
   }
@@ -110,19 +110,19 @@ const resetForm = () => {
   formData.value = {
     id: undefined,
     name: undefined,
-    type: undefined,
-    parentId: undefined
+    type: 1,
+    parentId: 0
   }
-  disabled.value = false
+  // disabled.value = false
   formRef.value?.resetFields()
 }
 
 /** 获得地区树 */
-const getAreaTree = async () => {
-  areaTree.value = []
-  const data = await AreaApi.getAreaList({})
-  const root: Tree = { id: 0, name: '顶级地区', children: [] }
-  root.children = handleTree(data, 'id', 'parentId')
-  areaTree.value.push(root)
-}
+// const getAreaTree = async () => {
+//   areaTree.value = []
+//   const data = await AreaApi.getAreaList({})
+//   const root: Tree = { id: 0, name: '顶级地区', children: [] }
+//   root.children = handleTree(data, 'id', 'parentId')
+//   areaTree.value.push(root)
+// }
 </script>

+ 1 - 0
src/views/menduner/system/areaManage/index.vue

@@ -99,6 +99,7 @@
       <el-table-column label="操作" align="center">
         <template #default="scope">
           <el-button
+            v-if="scope.row.type < 4"
             link
             type="primary"
             @click="openForm('create', scope.row.id, scope.row.type)"

+ 19 - 19
src/views/menduner/system/industry/IndustryForm.vue

@@ -13,7 +13,7 @@
       <el-form-item label="行业英文名称" prop="nameEn">
         <el-input v-model="formData.nameEn" placeholder="请输入行业英文名称" />
       </el-form-item>
-      <el-form-item label="上级id" prop="parentId">
+      <!-- <el-form-item label="上级id" prop="parentId">
         <el-tree-select
           v-model="formData.parentId"
           :data="industryTree"
@@ -27,7 +27,7 @@
         <el-radio-group :disabled="disabled" v-model="formData.level">
           <el-radio label="1">请选择字典生成</el-radio>
         </el-radio-group>
-      </el-form-item>
+      </el-form-item> -->
     </el-form>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -37,7 +37,7 @@
 </template>
 <script setup lang="ts">
 import { IndustryApi, IndustryVO } from '@/api/menduner/system/industry'
-import { defaultProps, handleTree } from '@/utils/tree'
+// import { defaultProps, handleTree } from '@/utils/tree'
 
 /** 行业信息 表单 */
 defineOptions({ name: 'IndustryForm' })
@@ -53,14 +53,14 @@ const formData = ref({
   id: undefined,
   nameCn: undefined,
   nameEn: undefined,
-  parentId: undefined,
-  level: undefined
+  parentId: 0,
+  level: 1
 })
 const formRules = reactive({
 })
 const formRef = ref() // 表单 Ref
-const industryTree = ref() // 树形结构
-const disabled = ref(false)
+// const industryTree = ref() // 树形结构
+// const disabled = ref(false)
 
 /** 打开弹窗 */
 const open = async (type: string, id?: number, level?: number) => {
@@ -77,9 +77,9 @@ const open = async (type: string, id?: number, level?: number) => {
       formLoading.value = false
     }
   }
-  await getIndustryTree()
+  // await getIndustryTree()
   if (level) {
-    disabled.value = true
+    // disabled.value = true
     formData.value.parentId = id
     formData.value.level = Number(level) + 1
   }
@@ -116,19 +116,19 @@ const resetForm = () => {
     id: undefined,
     nameCn: undefined,
     nameEn: undefined,
-    parentId: undefined,
-    level: undefined
+    parentId: 0,
+    level: 1
   }
-  disabled.value = false
+  // disabled.value = false
   formRef.value?.resetFields()
 }
 
 /** 获得行业信息树 */
-const getIndustryTree = async () => {
-  industryTree.value = []
-  const data = await IndustryApi.getIndustryList({})
-  const root: Tree = { id: 0, name: '顶级行业信息', children: [] }
-  root.children = handleTree(data, 'id', 'parentId')
-  industryTree.value.push(root)
-}
+// const getIndustryTree = async () => {
+//   industryTree.value = []
+//   const data = await IndustryApi.getIndustryList({})
+//   const root: Tree = { id: 0, name: '顶级行业信息', children: [] }
+//   root.children = handleTree(data, 'id', 'parentId')
+//   industryTree.value.push(root)
+// }
 </script>

+ 19 - 19
src/views/menduner/system/position/PositionForm.vue

@@ -13,7 +13,7 @@
       <el-form-item label="职位英文名称" prop="nameEn">
         <el-input v-model="formData.nameEn" placeholder="请输入职位英文名称" />
       </el-form-item>
-      <el-form-item label="上级id" prop="parentId">
+      <!-- <el-form-item label="上级id" prop="parentId">
         <el-tree-select
           v-model="formData.parentId"
           :data="positionTree"
@@ -27,7 +27,7 @@
         <el-radio-group :disabled="disabled" v-model="formData.level">
           <el-radio label="1">请选择字典生成</el-radio>
         </el-radio-group>
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item label="默认职位要求" prop="requirement">
         <el-input v-model="formData.requirement" placeholder="请输入默认职位要求" />
       </el-form-item>
@@ -43,7 +43,7 @@
 </template>
 <script setup lang="ts">
 import { PositionApi, PositionVO } from '@/api/menduner/system/position'
-import { defaultProps, handleTree } from '@/utils/tree'
+// import { defaultProps, handleTree } from '@/utils/tree'
 
 /** 职位信息 表单 */
 defineOptions({ name: 'PositionForm' })
@@ -59,16 +59,16 @@ const formData = ref({
   id: undefined,
   nameCn: undefined,
   nameEn: undefined,
-  parentId: undefined,
-  level: undefined,
+  parentId: 0,
+  level: 1,
   requirement: undefined,
   describe: undefined
 })
 const formRules = reactive({
 })
 const formRef = ref() // 表单 Ref
-const positionTree = ref() // 树形结构
-const disabled = ref(false)
+// const positionTree = ref() // 树形结构
+// const disabled = ref(false)
 
 /** 打开弹窗 */
 const open = async (type: string, id?: number, level?: number) => {
@@ -85,9 +85,9 @@ const open = async (type: string, id?: number, level?: number) => {
       formLoading.value = false
     }
   }
-  await getPositionTree()
+  // await getPositionTree()
   if (level) {
-    disabled.value = true
+    // disabled.value = true
     formData.value.parentId = id
     formData.value.level = Number(level) + 1
   }
@@ -124,21 +124,21 @@ const resetForm = () => {
     id: undefined,
     nameCn: undefined,
     nameEn: undefined,
-    parentId: undefined,
-    level: undefined,
+    parentId: 0,
+    level: 1,
     requirement: undefined,
     describe: undefined
   }
-  disabled.value = false
+  // disabled.value = false
   formRef.value?.resetFields()
 }
 
 /** 获得职位信息树 */
-const getPositionTree = async () => {
-  positionTree.value = []
-  const data = await PositionApi.getPositionList({})
-  const root: Tree = { id: 0, name: '顶级职位信息', children: [] }
-  root.children = handleTree(data, 'id', 'parentId')
-  positionTree.value.push(root)
-}
+// const getPositionTree = async () => {
+//   positionTree.value = []
+//   const data = await PositionApi.getPositionList({})
+//   const root: Tree = { id: 0, name: '顶级职位信息', children: [] }
+//   root.children = handleTree(data, 'id', 'parentId')
+//   positionTree.value.push(root)
+// }
 </script>

+ 27 - 22
src/views/menduner/system/tag/TagForm.vue

@@ -24,7 +24,7 @@
           </el-radio>
         </el-radio-group>
       </el-form-item>
-      <el-form-item v-if="showParentId" label="上级id" prop="parentId">
+      <!-- <el-form-item v-if="showParentId" label="上级id" prop="parentId">
         <el-tree-select
           v-model="formData.parentId"
           :data="tagTree"
@@ -33,7 +33,7 @@
           default-expand-all
           placeholder="请选择上级id"
         />
-      </el-form-item>
+      </el-form-item> -->
     </el-form>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -45,7 +45,7 @@
 <script setup lang="ts">
 import * as TagApi from '@/api/menduner/system/tag'
 import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
-import { defaultProps, handleTree } from '@/utils/tree'
+// import { defaultProps, handleTree } from '@/utils/tree'
 
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
@@ -60,8 +60,8 @@ const formData = ref({
   nameCn: undefined,
   nameEn: undefined,
   type: undefined,
-  parentId: undefined,
-  level: undefined
+  parentId: 0,
+  level: 0
 })
 const formRules = reactive({
   type: [{ required: true, message: '标签类型不能为空', trigger: 'blur' }],
@@ -69,19 +69,19 @@ const formRules = reactive({
   nameEn: [{ required: true, message: '标签英文名称不能为空', trigger: 'blur' }],
 })
 
-const showParentId = ref(true)
+// const showParentId = ref(true)
 
 /** 打开弹窗 */
-const open = async (type: string, id?: number, parentId?: number, level?: number) => {
-  if (type === 'create' && !parentId) showParentId.value = false
-  else await getTagTree()
+const open = async (type: string, id?: number, level?: number) => {
+  // if (type === 'create' && !parentId) showParentId.value = false
+  // else await getTagTree()
   
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
   resetForm()
   // 修改时,设置数据
-  if (id) {
+  if (id && !level?.toString()) {
     formLoading.value = true
     try {
       formData.value = await TagApi.getTag(id)
@@ -90,8 +90,13 @@ const open = async (type: string, id?: number, parentId?: number, level?: number
       formLoading.value = false
     }
   }
-  if (parentId) formData.value.parentId = parentId
-  if (level || type === 'create') formData.value.level = level ? Number(level) + 1 : 1
+  // if (parentId) formData.value.parentId = parentId
+  // if (level || type === 'create') formData.value.level = level ? Number(level) + 1 : 1
+
+  if (level?.toString()) {
+    formData.value.parentId = id
+    formData.value.level = Number(level) + 1
+  }
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -127,19 +132,19 @@ const resetForm = () => {
     nameCn: undefined,
     nameEn: undefined,
     type: undefined,
-    parentId: undefined,
-    level: undefined
+    parentId: 0,
+    level: 0
   }
   formRef.value?.resetFields()
 }
 
 /** 获得标签信息树 */
-const tagTree = ref([])
-const getTagTree = async () => {
-  tagTree.value = []
-  const data = await TagApi.getTagPage({})
-  const root: Tree = { id: 0, name: '顶级标签信息', children: [] }
-  root.children = handleTree(data, 'id', 'parentId')
-  tagTree.value.push(root)
-}
+// const tagTree = ref([])
+// const getTagTree = async () => {
+//   tagTree.value = []
+//   const data = await TagApi.getTagPage({})
+//   const root: Tree = { id: 0, name: '顶级标签信息', children: [] }
+//   root.children = handleTree(data, 'id', 'parentId')
+//   tagTree.value.push(root)
+// }
 </script>

+ 7 - 5
src/views/menduner/system/tag/index.vue

@@ -99,10 +99,10 @@
       <el-table-column label="操作" align="center">
         <template #default="scope">
           <el-button
-            v-if="scope.row.level < 2"
+            v-if="scope.row.level < 1"
             link
             type="primary"
-            @click="openForm('create', null, scope.row.id, scope.row.level)"
+            @click="openForm('create', scope.row.id, scope.row.level)"
           >
             添加下级
           </el-button>
@@ -165,8 +165,8 @@ const getList = async () => {
 
 /** 添加/修改操作 */
 const formRef = ref()
-const openForm = (type: string, id?: number, parentId?: number, level?: number) => {
-  formRef.value.open(type, id, parentId, level)
+const openForm = (type: string, id?: number, level?: number) => {
+  formRef.value.open(type, id, level)
 }
 
 /** 搜索按钮操作 */
@@ -199,7 +199,9 @@ const handleDelete = async (id: number) => {
     await TagApi.deleteTag(id)
     message.success(t('common.delSuccess'))
     // 刷新列表
-    await getList()
+    setTimeout(async () => {
+      await getList()
+    }, 0)
   } catch {}
 }