Explorar el Código

修复AI实验室管理接口bug

liyanbo hace 3 meses
padre
commit
ba3da0a39d

+ 0 - 1
src/types/auto-components.d.ts

@@ -146,7 +146,6 @@ declare module 'vue' {
     PropertiesPanel: typeof import('./../components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue')['default']
     Qrcode: typeof import('./../components/Qrcode/src/Qrcode.vue')['default']
     ReceiveTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue')['default']
-    RoleWebPermissionForm: typeof import('./../views/system/role/RoleWebPermissionForm.vue')['default']
     RouterLink: typeof import('vue-router')['RouterLink']
     RouterNode: typeof import('./../components/SimpleProcessDesignerV2/src/nodes/RouterNode.vue')['default']
     RouterNodeConfig: typeof import('./../components/SimpleProcessDesignerV2/src/nodes-config/RouterNodeConfig.vue')['default']

+ 3 - 0
src/utils/dict.ts

@@ -265,4 +265,7 @@ export enum DICT_TYPE {
   BLOCKLY_MAP_SPECIAL = 'blockly_map_special', // 地图特殊方块类型
   BLOCKLY_MAP_MARK = 'blockly_map_mark', // 地图标记标签
   WEB_ROLE_ROUTE = 'web_role_route', // 角色Web路由权限
+
+  // ========== AI实验课 ==========
+  AICOURSE_COURSE_LABEL = 'aicourse_course_label', // 课程标签
 }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 72 - 799
src/views/aiCourse/aiCourse/AiCourseForm.vue


+ 2 - 10
src/views/aiCourse/aiCourse/index.vue

@@ -92,7 +92,7 @@
               @change="handleQuery"
             >
               <el-option
-                v-for="dict in getStrDictOptions(DICT_TYPE.BLOCKLY_COURSE_LABEL)"
+                v-for="dict in getStrDictOptions(DICT_TYPE.AICOURSE_COURSE_LABEL)"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
@@ -159,7 +159,7 @@
           </el-table-column>
           <el-table-column label="课程标签" align="center" prop="acLabel">
             <template #default="scope">
-              <dict-tag :type="DICT_TYPE.BLOCKLY_COURSE_LABEL" :value="scope.row.acLabel" />
+              <dict-tag :type="DICT_TYPE.AICOURSE_COURSE_LABEL" :value="scope.row.acLabel" />
             </template>
           </el-table-column>
           <el-table-column label="课程排序" align="center" prop="acOrder"/>
@@ -242,14 +242,6 @@ const queryParams = reactive({
   acContentType: undefined,
   acContent: undefined,
 
-  blocklyInfo: undefined,
-  blocklyUserImage: undefined,
-  blocklyUserDirection: undefined,
-  blocklyStartPoint: undefined,
-  blocklyBackground: undefined,
-  blocklyEndPoint: undefined,
-  blocklyWalkablePoints: undefined,
-
   acIsInspect: undefined,
   ctTypeNode: "1",//课程类型
   acType: undefined,

+ 6 - 6
src/views/aiCourse/aiCourseConfig/AiCourseConfigForm.vue

@@ -172,13 +172,13 @@
 
 <script setup lang="ts">
 import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
-import { BlocklyConfigApi, BlocklyConfigVO} from '@/api/blockly/blocklyConfig'
+import { AiCourseConfigApi, AiCourseConfigVO} from '@/api/aiCourse/aiCourseConfig'
 import { CourseQuestionApi} from '@/api/bjdx/coursequestion'
 
 
 
 /** 合并后的课程配置与试题选择表单 */
-defineOptions({ name: 'BlocklyConfigWithQuestionForm' })
+defineOptions({ name: 'AiCourseConfigWithQuestionForm' })
 
 const { t } = useI18n()
 const message = useMessage()
@@ -234,7 +234,7 @@ const open = async (type: string, id?: number, courseId?: number, courseName?: s
   if (id) {
     formLoading.value = true
     try {
-      const data = await BlocklyConfigApi.getCourseConfig(id)
+      const data = await AiCourseConfigApi.getCourseConfig(id)
       formData.value = data
       // 转换秒数为时分秒
       const totalSeconds = data.ccTime || 0
@@ -303,12 +303,12 @@ const submitForm = async () => {
     const ccTime = formData.value.ccHours * 3600 + formData.value.ccMinutes * 60 + formData.value.ccSeconds
     formData.value.ccTime = ccTime
     
-    const data = formData.value as unknown as BlocklyConfigVO
+    const data = formData.value as unknown as AiCourseConfigVO
     if (formType.value === 'create') {
-      await BlocklyConfigApi.createCourseConfig(data)
+      await AiCourseConfigApi.createCourseConfig(data)
       message.success(t('common.createSuccess'))
     } else {
-      await BlocklyConfigApi.updateCourseConfig(data)
+      await AiCourseConfigApi.updateCourseConfig(data)
       message.success(t('common.updateSuccess'))
     }
     dialogVisible.value = false

+ 13 - 13
src/views/aiCourse/aiCourseType/AiCourseTypeForm.vue

@@ -11,7 +11,7 @@
         <el-tree-select
           :disabled="formType === 'update'"
           v-model="formData.ctParentId"
-          :data="blocklyTypeTree"
+          :data="aiCourseTypeTree"
           :props="{...defaultProps,
             label: (node) => `${node.ctType}${node.ctTypeNode === '0' ? '(主题)' : '(类型)'}`,
             disabled: (node) => node.id !== 0 && node.ctTypeNode !== '0'
@@ -55,11 +55,11 @@
   </Dialog>
 </template>
 <script setup lang="ts">
-import { BlocklyTypeApi, BlocklyTypeVO } from '@/api/blockly/blocklyType'
+import { AiCourseTypeApi, AiCourseTypeVO } from '@/api/aiCourse/aiCourseType'
 import { defaultProps, handleTree } from '@/utils/tree'
 
 /** 课程-类型 表单 */
-defineOptions({ name: 'BlocklyTypeForm' })
+defineOptions({ name: 'AiCourseTypeForm' })
 
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
@@ -85,7 +85,7 @@ const formRules = reactive({
   ctTypeSort: [{ required: true, message: '排序不能为空', trigger: 'blur' }],
 })
 const formRef = ref() // 表单 Ref
-const blocklyTypeTree = ref() // 树形结构
+const aiCourseTypeTree = ref() // 树形结构
 
 // 计算属性:判断父级ID是否为根节点(0)
 const isRootParent = computed(() => {
@@ -132,7 +132,7 @@ const open = async (type: string, id?: number, parentId?: number) => {
   if (id) {
     formLoading.value = true
     try {
-      formData.value = await BlocklyTypeApi.getBlocklyType(id)
+      formData.value = await AiCourseTypeApi.getAiCourseType(id)
       // 确保类型与父级ID匹配
       if (isRootParent.value && formData.value.ctTypeNode !== '0') {
         formData.value.ctTypeNode = '0'
@@ -143,7 +143,7 @@ const open = async (type: string, id?: number, parentId?: number) => {
       formLoading.value = false
     }
   }
-  await getBlocklyTypeTree()
+  await getAiCourseTypeTree()
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -155,12 +155,12 @@ const submitForm = async () => {
   // 提交请求
   formLoading.value = true
   try {
-    const data = formData.value as unknown as BlocklyTypeVO
+    const data = formData.value as unknown as AiCourseTypeVO
     if (formType.value === 'create') {
-      await BlocklyTypeApi.createBlocklyType(data)
+      await AiCourseTypeApi.createAiCourseType(data)
       message.success(t('common.createSuccess'))
     } else {
-      await BlocklyTypeApi.updateBlocklyType(data)
+      await AiCourseTypeApi.updateAiCourseType(data)
       message.success(t('common.updateSuccess'))
     }
     dialogVisible.value = false
@@ -186,13 +186,13 @@ const resetForm = () => {
 }
 
 /** 获得课程-类型树 */
-const getBlocklyTypeTree = async () => {
-  blocklyTypeTree.value = []
-  const data = await BlocklyTypeApi.getBlocklyTypeSimpleList()
+const getAiCourseTypeTree = async () => {
+  aiCourseTypeTree.value = []
+  const data = await AiCourseTypeApi.getAiCourseTypeSimpleList()
 
   const filteredData = data.filter(item => item.ctTypeNode === '0')
   const root: Tree = { id: 0, ctType: '课程类型', children: [] }
   root.children = handleTree(filteredData, 'id', 'ctParentId')
-  blocklyTypeTree.value.push(root)
+  aiCourseTypeTree.value.push(root)
 }
 </script>

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

@@ -879,7 +879,7 @@ const open = async (type: string, id?: number) => {
     }
   }
 
-  await getbcTypeTree()
+  await getBcTypeTree()
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
@@ -1066,7 +1066,7 @@ const resetForm = () => {
   formRef.value?.resetFields()
 }
 /** 获得课程-类型树 */
-const getbcTypeTree = async () => {
+const getBcTypeTree = async () => {
   bcTypeTree.value = []
   const data = await BlocklyTypeApi.getBlocklyTypeSimpleList()
   const root: Tree = { id: 0, ctType: '课程类型', children: [] }

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio