|
|
@@ -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>
|