diff --git a/src/views/courselibrary/CourseExquisite.vue b/src/views/courselibrary/CourseExquisite.vue index a0dce849..fc9968ba 100644 --- a/src/views/courselibrary/CourseExquisite.vue +++ b/src/views/courselibrary/CourseExquisite.vue @@ -41,13 +41,13 @@ --> + style="margin-top: 400px">
批量标记 -
+
@@ -58,8 +58,9 @@ 课程名称
- +
@@ -69,14 +70,37 @@
- + + +
+ + + +
+ @@ -185,6 +209,27 @@ export default defineComponent({ importMarkForm: { courseName: '' }, + // 添加课程名称表格列定义 + courseNameColumns: [ + { + title: "序号", + dataIndex: "index", + width: 60, + align: "center", + }, + { + title: "名称", + dataIndex: "name", + align: "center", + } + ], + xzinputV1: "", // 输入的课程名称字符串 + splitCourseNames: [], // 失焦后分割的课程名称数组 + // 计算属性:将输入的课程名称按空格分割成数组 + courseNames: computed(() => { + if (!state.xzinputV1) return []; + return state.xzinputV1.trim().split(/\s+/).filter(name => name.length > 0); + }), columns1: [ { title: "序号", @@ -359,38 +404,38 @@ export default defineComponent({ ], //列表表格 tableData1: [ - // { - // id: 2, - // name: "React核心概念详解", - // sysType1: "A01", - // sysType2: "B02", - // sysTypeId: "A01", - // keywords: "前端,React,JavaScript", - // teacherName: "王五", - // sysCreateTime: "2023-01-20", - // exquisiteTime: "2023-02-05", - // exquisiteRecommender: "赵六", - // qualityTop: true, - // courseSource: 1, - // qualityStatus: true, - // qualityTopSort: 2 - // }, - // { - // id: 2, - // name: "React核心概念详解", - // sysType1: "A01", - // sysType2: "B02", - // sysTypeId: "A01", - // keywords: "前端,React,JavaScript", - // teacherName: "王五", - // sysCreateTime: "2023-01-20", - // exquisiteTime: "2023-02-05", - // exquisiteRecommender: "赵六", - // courseSource: 2, - // getExport: null, - // qualityStatus: true, - // qualityTopSort: 2 - // }, + { + id: 2, + name: "React核心概念详解", + sysType1: "A01", + sysType2: "B02", + sysTypeId: "A01", + keywords: "前端,React,JavaScript", + teacherName: "王五", + sysCreateTime: "2023-01-20", + exquisiteTime: "2023-02-05", + exquisiteRecommender: "赵六", + qualityTop: true, + courseSource: 1, + qualityStatus: true, + qualityTopSort: 2 + }, + { + id: 2, + name: "React核心概念详解", + sysType1: "A01", + sysType2: "B02", + sysTypeId: "A01", + keywords: "前端,React,JavaScript", + teacherName: "王五", + sysCreateTime: "2023-01-20", + exquisiteTime: "2023-02-05", + exquisiteRecommender: "赵六", + courseSource: 2, + getExport: null, + qualityStatus: true, + qualityTopSort: 2 + }, // { // id: 1, // name: "Vue从入门到精通", @@ -611,7 +656,8 @@ export default defineComponent({ // 全部导出 const exportAll = async () => { try { - let res = await getExport( + await useDownload( + "/xboe/m/boe/cases/quality/manage/export", { courseNameOrTeacherName: state.courseNameOrTeacherName, courseSource: state.courseSource, @@ -621,34 +667,66 @@ export default defineComponent({ "精品课程导出", "xlsx" ); - if (res.data.data.status == 200) { - message.success(res.data.data.message); - // 重新加载数据 - getTableDate(); - } else { - message.error(res.data.data.message); - } } catch (error) { console.error("导出失败:", error); + message.error("导出失败"); } }; // 导入标记 const exportTaskStu = () => { state.importMarkVisible = true; + state.importMarkForm.courseName = ''; + // // 清空分割的课程名称数组 + state.splitCourseNames = []; + state.xzinputV1 = ''; }; + // // 处理课程名称输入框失焦事件 + const handleCourseNameInput = () => { + if (state.xzinputV1) { + // 按空格分割输入的内容,并过滤掉空字符串 + state.splitCourseNames = state.xzinputV1.trim().split(/\s+/).filter(item => item.length > 0); + } else { + state.splitCourseNames = []; + } + }; + // 导入标记弹窗确认 const handleImportMarkOk = () => { - console.log('导入标记表单数据:', state.importMarkForm); - // 这里应该调用实际的导入标记API - state.importMarkVisible = false; - state.importMarkForm.courseName = ''; + // console.log('导入标记表单数据:', state.importMarkForm); + if (state.xzinputV1) { + // 按空格分割输入的内容,并过滤掉空字符串 + state.splitCourseNames = state.xzinputV1.trim().split(/\s+/).filter(item => item.length > 0); + } else { + state.splitCourseNames = []; + } }; + + const okMark = async () =>{ + let res = await getMark({ courseName:state.splitCourseNames, userName: state.userName, userId: state.userId }); + if (res.data.data.status == 200) { + message.success(res.data.data.message); + state.importMarkVisible = false + // 重新加载数据 + getTableDate(); + } else { + dialog({ content: res.data.data.message, ok: okMarkT() }); + message.error(res.data.data.message); + } + // 重新加载数据 + getTableDate(); + } + const okMarkT=()=>{ + + } // 导入标记弹窗取消 const handleImportMarkCancel = () => { state.importMarkVisible = false; state.importMarkForm.courseName = ''; + // 清空分割的课程名称数组 + state.splitCourseNames = []; + state.xzinputV1 = ''; }; // const handleSearch = () => { // state.currentPage1 = 1 @@ -696,7 +774,9 @@ export default defineComponent({ exportAll, exportTaskStu, handleImportMarkOk, - handleImportMarkCancel + handleImportMarkCancel, + handleCourseNameInput, + okMark }; }, });