【修改】 word pptx 关联关系页面逻辑

This commit is contained in:
DESKTOP-932OMT8\REN
2025-06-12 17:41:57 +08:00
committed by 陆光LG
parent 69cf02da0a
commit ca2b34dc0b
5 changed files with 52 additions and 16 deletions

View File

@@ -121,6 +121,8 @@ export enum DICT_TYPE {
PPTX_BELONG_TO = "pptx_belong_to",
PPTX_ISBOO = "pptx_isboo",
PPTX_TITLE_TYPE ="pptx_title_type",
WPS_UNIT ="wps_unit",
QUESTION_AUDIT="question_audit",
QUESTION_SOURCE="question_source",

View File

@@ -10,7 +10,7 @@
<el-form-item label="上级节点" prop="parentId">
<el-tree-select
v-model="formData.parentId"
:data="pptxTree"
:data="wordTree"
:props="defaultProps"
check-strictly
default-expand-all
@@ -79,6 +79,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="数据类型" prop="unit">
<el-select v-model="formData.unit" clearable placeholder="请选择数据类型">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.WPS_UNIT)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<el-button type="primary" @click="submitForm"> </el-button>
@@ -87,13 +97,13 @@
</Dialog>
</template>
<script lang="ts" setup>
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
import { defaultProps, handleTree } from '@/utils/tree'
import * as PptxApi from '@/api/wps/pptx'
import { CommonStatusEnum } from '@/utils/constants'
import { FormRules } from 'element-plus'
defineOptions({ name: 'WpsPptx' })
defineOptions({ name: 'WpsWord' })
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -114,7 +124,8 @@ const formData = ref({
type: CommonStatusEnum.ENABLE,
belongTo: CommonStatusEnum.ENABLE,
isboo: CommonStatusEnum.ENABLE,
titleType: CommonStatusEnum.ENABLE
titleType: CommonStatusEnum.ENABLE,
unit: CommonStatusEnum.ENABLE
})
const formRules = reactive<FormRules>({
parentId: [{ required: true, message: '上级Pptx节点不能为空', trigger: 'blur' }],
@@ -123,7 +134,7 @@ const formRules = reactive<FormRules>({
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
})
const formRef = ref() // 表单 Ref
const pptxTree = ref() // 树形结构
const wordTree = ref() // 树形结构
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
@@ -140,7 +151,7 @@ const open = async (type: string, id?: number) => {
formLoading.value = false
}
}
// 获得Pptx节点树
// 获得Word节点树
await getTree()
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
@@ -185,17 +196,18 @@ const resetForm = () => {
type: CommonStatusEnum.ENABLE,
belongTo: CommonStatusEnum.ENABLE,
isboo: CommonStatusEnum.ENABLE,
titleType: CommonStatusEnum.ENABLE
titleType: CommonStatusEnum.ENABLE,
unit: CommonStatusEnum.ENABLE
}
formRef.value?.resetFields()
}
/** 获得Pptx树 */
/** 获得Word树 */
const getTree = async () => {
pptxTree.value = []
wordTree.value = []
const data = await PptxApi.getSimplePptxList()
let pptx: Tree = { id: 0, name: '顶级Pptx节点', children: [] }
pptx.children = handleTree(data)
pptxTree.value.push(pptx)
let word: Tree = { id: 0, name: '顶级Pptx节点', children: [] }
word.children = handleTree(data)
wordTree.value.push(word)
}
</script>

View File

@@ -81,6 +81,11 @@
<dict-tag :type="DICT_TYPE.PPTX_TITLE_TYPE" :value="scope.row.titleType" />
</template>
</el-table-column>
<el-table-column prop="unit" label="数据类型" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.WPS_UNIT" :value="scope.row.unit" />
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />

View File

@@ -60,7 +60,7 @@
</el-select>
</el-form-item>
<el-form-item label="值类型" prop="isboo">
<el-select v-model="formData.isboo" clearable placeholder="请选择归属">
<el-select v-model="formData.isboo" clearable placeholder="请选择值类型">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.WORD_ISBOO)"
:key="dict.value"
@@ -79,6 +79,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="数据类型" prop="unit">
<el-select v-model="formData.unit" clearable placeholder="请选择数据类型">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.WPS_UNIT)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<el-button type="primary" @click="submitForm"> </el-button>
@@ -87,7 +97,7 @@
</Dialog>
</template>
<script lang="ts" setup>
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
import { defaultProps, handleTree } from '@/utils/tree'
import * as WordApi from '@/api/wps/word'
import { CommonStatusEnum } from '@/utils/constants'
@@ -114,7 +124,8 @@ const formData = ref({
type: CommonStatusEnum.ENABLE,
belongTo: CommonStatusEnum.ENABLE,
isboo: CommonStatusEnum.ENABLE,
titleType: CommonStatusEnum.ENABLE
titleType: CommonStatusEnum.ENABLE,
unit: CommonStatusEnum.ENABLE
})
const formRules = reactive<FormRules>({
parentId: [{ required: true, message: '上级Word节点不能为空', trigger: 'blur' }],
@@ -185,7 +196,8 @@ const resetForm = () => {
type: CommonStatusEnum.ENABLE,
belongTo: CommonStatusEnum.ENABLE,
isboo: CommonStatusEnum.ENABLE,
titleType: CommonStatusEnum.ENABLE
titleType: CommonStatusEnum.ENABLE,
unit: CommonStatusEnum.ENABLE
}
formRef.value?.resetFields()
}

View File

@@ -81,6 +81,11 @@
<dict-tag :type="DICT_TYPE.PPTX_TITLE_TYPE" :value="scope.row.titleType" />
</template>
</el-table-column>
<el-table-column prop="unit" label="数据类型" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.WPS_UNIT" :value="scope.row.unit" />
</template>
</el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />