فهرست منبع

1、course和blockly课程修改不允许修改主题类型节点
2、course课程:类型节点跟新增联动

liyanbo 4 ماه پیش
والد
کامیت
a28fc486fc

+ 2 - 0
src/types/auto-imports.d.ts

@@ -7,6 +7,8 @@ export {}
 declare global {
   const DICT_TYPE: typeof import('@/utils/dict')['DICT_TYPE']
   const EffectScope: typeof import('vue')['EffectScope']
+  const ElMessage: typeof import('element-plus/es')['ElMessage']
+  const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
   const computed: typeof import('vue')['computed']
   const createApp: typeof import('vue')['createApp']
   const customRef: typeof import('vue')['customRef']

+ 6 - 6
src/views/bjdx/course/CourseForm.vue

@@ -295,7 +295,7 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加
 const formType = ref('') // 表单的类型:create - 新增;update - 修改
 const formData = ref({
   id: undefined,
-  ctTypeNode: "1",
+  ctTypeNode: undefined,
   courseName: undefined,
   courseContentType: undefined,
   courseImagePath: undefined,
@@ -343,7 +343,7 @@ const formRef = ref() // 表单 Ref
 const courseTypeTree = ref() // 树形结构
 
 /** 打开弹窗 */
-const open = async (type: string, id?: number) => {
+const open = async (type: string, typeNode: string, id?: number) => {
   dialogVisible.value = true
   dialogTitle.value = t('action.' + type)
   formType.value = type
@@ -365,8 +365,8 @@ const open = async (type: string, id?: number) => {
       formLoading.value = false
     }
   }
-
-  await getCourseTypeTree()
+  formData.value.ctTypeNode = typeNode
+  await getCourseTypeTree(typeNode)
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -424,7 +424,7 @@ const handleCtTypeNodeChange = (ctTypeNode) => {
 const resetForm = () => {
   formData.value = {
     id: undefined,
-    ctTypeNode: "1",
+    ctTypeNode: undefined,
     courseName: undefined,
     courseContentType: undefined,
     courseImagePath: undefined,
@@ -458,7 +458,7 @@ const resetForm = () => {
   formRef.value?.resetFields()
 }
 /** 获得课程-类型树 */
-const getCourseTypeTree = async (filterCtTypeNode = "1") => {
+const getCourseTypeTree = async (filterCtTypeNode) => {
   courseTypeTree.value = []
   const data = await CourseTypeApi.getCourseTypeSimpleList()
   let filteredData = data

+ 1 - 1
src/views/bjdx/course/index.vue

@@ -369,7 +369,7 @@ const resetQuery = () => {
 /** 添加/修改操作 */
 const formRef = ref()
 const openForm = (type: string, id?: number) => {
-  formRef.value.open(type, id)
+  formRef.value.open(type, queryParams.ctTypeNode, id)
 }
 
 /** 删除按钮操作 */

+ 5 - 3
src/views/bjdx/coursetype/CourseTypeForm.vue

@@ -1,4 +1,4 @@
-<template>
+  <template>
   <Dialog :title="dialogTitle" v-model="dialogVisible">
     <el-form
       ref="formRef"
@@ -9,6 +9,7 @@
     >
       <el-form-item label="父级类型" prop="ctParentId">
         <el-tree-select
+          :disabled="formType === 'update'"
           v-model="formData.ctParentId"
           :data="courseTypeTree"
           :props="{...defaultProps,
@@ -39,8 +40,9 @@
         </div>
       </el-form-item>
       <el-form-item label="课程类型节点" prop="ctTypeNode">
-        <el-segmented 
-          v-model="formData.ctTypeNode" 
+        <el-segmented
+          :disabled="formType === 'update'"
+          v-model="formData.ctTypeNode"
           :options="segmentedOptions"
         />
       </el-form-item>

+ 2 - 1
src/views/blockly/blockly/BlocklyForm.vue

@@ -6,13 +6,14 @@
       :rules="formRules"
       label-width="120px"
       v-loading="formLoading"
-    >
+    >x
       <el-form-item label="大纲课程" prop="bcType">
         <el-tree-select
           v-model="formData.bcType"
           :data="bcTypeTree"
           :props="{...defaultProps,
             label: (node) => `${node.ctTypeNode === undefined ? node.ctType : node.ctTypeSort + '、' + node.ctType}`,
+            disabled: (node) => node.ctTypeNode === undefined || node.ctTypeNode === '0'
             }"
           placeholder="请选择课程类型"
           :default-expand-all="true"

+ 3 - 1
src/views/blockly/blocklyType/BlocklyTypeForm.vue

@@ -9,6 +9,7 @@
     >
       <el-form-item label="父级类型" prop="ctParentId">
         <el-tree-select
+          :disabled="formType === 'update'"
           v-model="formData.ctParentId"
           :data="blocklyTypeTree"
           :props="{...defaultProps,
@@ -24,7 +25,8 @@
       </el-form-item>
       <el-form-item label="课程类型节点" prop="ctTypeNode">
         <el-segmented 
-          v-model="formData.ctTypeNode" 
+          :disabled="formType === 'update'"
+          v-model="formData.ctTypeNode"
           :options="segmentedOptions"
         />
       </el-form-item>