diff --git a/src/assets/js/asyncRouter.js b/src/assets/js/asyncRouter.js
index d9570f7..d8c3244 100644
--- a/src/assets/js/asyncRouter.js
+++ b/src/assets/js/asyncRouter.js
@@ -347,6 +347,62 @@ export default [
},
],
},
+ {
+ path: "/online_learn_exam",
+ redirect: "/online_learn_exam/courseware",
+ meta: { title: "在线学习与考试", model: MODEL["2"] },
+ component: "children",
+ children: [
+ {
+ path: "/online_learn_exam/courseware",
+ redirect: "/online_learn_exam/courseware/video",
+ meta: { title: "课件管理" },
+ component: "children",
+ children: [
+ {
+ path: "/online_learn_exam/courseware/video",
+ meta: { title: "视频课件维护", isSubMenu: false },
+ component: "children",
+ children: [
+ {
+ path: "",
+ component: "online_learn_exam/courseware/video/index",
+ },
+ {
+ path: "/online_learn_exam/courseware/video/question_list",
+ meta: {
+ title: "课件习题",
+ activeMenu: "/online_learn_exam/courseware/video",
+ },
+ component:
+ "online_learn_exam/courseware/question/question_list",
+ },
+ ],
+ },
+ {
+ path: "/online_learn_exam/courseware/data",
+ meta: { title: "资料课件维护", isSubMenu: false },
+ component: "children",
+ children: [
+ {
+ path: "",
+ component: "online_learn_exam/courseware/data/index",
+ },
+ {
+ path: "/online_learn_exam/courseware/data/question_list",
+ meta: {
+ title: "课件习题",
+ activeMenu: "/online_learn_exam/courseware/data",
+ },
+ component:
+ "online_learn_exam/courseware/question/question_list",
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
{
path: "/archives",
redirect: "/archives/user",
diff --git a/src/request/online_learn_exam.js b/src/request/online_learn_exam.js
new file mode 100644
index 0000000..1198c79
--- /dev/null
+++ b/src/request/online_learn_exam.js
@@ -0,0 +1,33 @@
+import { post, upload } from "@/request/axios.js";
+
+export const getVideoCoursewareList = (params) =>
+ post("/videocourseware/list", params); // 视频课件维护-获取课件列表
+
+export const editVideoCoursewareState = (params) =>
+ post("/videocourseware/editState", params); // 视频课件维护-启用/禁用
+
+export const deleteVideoCourseware = (params) =>
+ post("/videocourseware/delete", params); // 视频课件维护-删除
+
+export const getDataCoursewareList = (params) =>
+ post("/datacourseware/list", params); // 视频课件维护-获取课件列表
+
+export const editDataCoursewareState = (params) =>
+ post("/datacourseware/editState", params); // 视频课件维护-启用/禁用
+
+export const deleteDataCourseware = (params) =>
+ post("/datacourseware/delete", params); // 视频课件维护-删除
+
+export const getQuestionListByCoursewareIdAndType = (params) =>
+ post("/question/list", params); // 课件管理-视频/资料课件维护-获取课件习题列表
+
+export const deleteQuestion = (params) => post("/question/delete", params); // 课件管理-视频/资料课件维护-删除课件习题
+
+export const deleteQuestionBatch = (params) =>
+ post("/question/deleteAll", params); // 课件管理-视频/资料课件维护-批量删除课件习题
+
+export const importQuestion = (params) => upload("/question/readExcel", params); // 课件管理-视频/资料课件维护-导入课件习题
+
+export const addQuestion = (params) => upload("/question/add", params); // 课件管理-视频/资料课件维护-新增课件习题
+
+export const editQuestion = (params) => upload("/question/edit", params); // 课件管理-视频/资料课件维护-修改课件习题
diff --git a/src/views/archives/corp/components/archives_pdf.vue b/src/views/archives/corp/components/archives_pdf.vue
index c5dea5f..d086842 100644
--- a/src/views/archives/corp/components/archives_pdf.vue
+++ b/src/views/archives/corp/components/archives_pdf.vue
@@ -104,7 +104,7 @@ const data = reactive({
currentFile: "",
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClear = () => {
data.currentFile = "";
diff --git a/src/views/archives/corp/components/capital.vue b/src/views/archives/corp/components/capital.vue
index 6637580..8fab379 100644
--- a/src/views/archives/corp/components/capital.vue
+++ b/src/views/archives/corp/components/capital.vue
@@ -193,7 +193,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/corp/components/edumanager.vue b/src/views/archives/corp/components/edumanager.vue
index e023ed9..790aac0 100644
--- a/src/views/archives/corp/components/edumanager.vue
+++ b/src/views/archives/corp/components/edumanager.vue
@@ -162,7 +162,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/corp/components/eduplan.vue b/src/views/archives/corp/components/eduplan.vue
index 0bd60f5..bd9680e 100644
--- a/src/views/archives/corp/components/eduplan.vue
+++ b/src/views/archives/corp/components/eduplan.vue
@@ -165,7 +165,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/corp/components/postman.vue b/src/views/archives/corp/components/postman.vue
index b8e135f..83d3eb5 100644
--- a/src/views/archives/corp/components/postman.vue
+++ b/src/views/archives/corp/components/postman.vue
@@ -142,7 +142,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/corp/components/teacher.vue b/src/views/archives/corp/components/teacher.vue
index a711799..1c35d39 100644
--- a/src/views/archives/corp/components/teacher.vue
+++ b/src/views/archives/corp/components/teacher.vue
@@ -157,7 +157,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/archives_zip.vue b/src/views/archives/semester/components/archives_zip.vue
index 3466ecc..ae5516a 100644
--- a/src/views/archives/semester/components/archives_zip.vue
+++ b/src/views/archives/semester/components/archives_zip.vue
@@ -96,7 +96,7 @@ const data = reactive({
currentFile: "",
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClear = () => {
data.currentFile = "";
diff --git a/src/views/archives/semester/components/handout.vue b/src/views/archives/semester/components/handout.vue
index 8e54bf5..28168f2 100644
--- a/src/views/archives/semester/components/handout.vue
+++ b/src/views/archives/semester/components/handout.vue
@@ -79,7 +79,7 @@ const data = reactive({
coursewareList: [],
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/paper.vue b/src/views/archives/semester/components/paper.vue
index f800346..fd462a6 100644
--- a/src/views/archives/semester/components/paper.vue
+++ b/src/views/archives/semester/components/paper.vue
@@ -158,7 +158,7 @@ const data = reactive({
},
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/report.vue b/src/views/archives/semester/components/report.vue
index 2b522a5..f292bc6 100644
--- a/src/views/archives/semester/components/report.vue
+++ b/src/views/archives/semester/components/report.vue
@@ -140,7 +140,7 @@ const join_student_list = computed(() => {
return result;
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/result.vue b/src/views/archives/semester/components/result.vue
index 562bfe4..6c82bbe 100644
--- a/src/views/archives/semester/components/result.vue
+++ b/src/views/archives/semester/components/result.vue
@@ -246,7 +246,7 @@ const unpass_student_list = computed(() => {
return result;
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/sign.vue b/src/views/archives/semester/components/sign.vue
index a7db41e..195345e 100644
--- a/src/views/archives/semester/components/sign.vue
+++ b/src/views/archives/semester/components/sign.vue
@@ -150,7 +150,7 @@ const coursewares = computed(() => {
return result.length > 0 ? result.join(",") : "";
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/archives/semester/components/training_schedule.vue b/src/views/archives/semester/components/training_schedule.vue
index f3c36cb..ee11f73 100644
--- a/src/views/archives/semester/components/training_schedule.vue
+++ b/src/views/archives/semester/components/training_schedule.vue
@@ -173,7 +173,7 @@ const data = reactive({
formVisible: false,
});
-const emits = defineEmits(["update:visible"]);
+const emits = defineEmits(["update:visible", "update:current"]);
const fnClose = () => {
emits("update:current", undefined);
diff --git a/src/views/online_learn_exam/courseware/data/index.vue b/src/views/online_learn_exam/courseware/data/index.vue
new file mode 100644
index 0000000..709a987
--- /dev/null
+++ b/src/views/online_learn_exam/courseware/data/index.vue
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+ 展开
+
+
+ 合并
+
+
+
+
+
+
+
+
+
+
+ {{ serialNumber(pagination, $index) }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 启用
+
+
+ 禁用
+
+
+
+
+
+
+ 预览
+
+
+ 启用
+
+
+ 禁用
+
+
+ 修改
+
+
+ 删除
+
+
+ 课件习题
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/online_learn_exam/courseware/question/components/add.vue b/src/views/online_learn_exam/courseware/question/components/add.vue
new file mode 100644
index 0000000..cda2fa1
--- /dev/null
+++ b/src/views/online_learn_exam/courseware/question/components/add.vue
@@ -0,0 +1,235 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/online_learn_exam/courseware/question/question_list.vue b/src/views/online_learn_exam/courseware/question/question_list.vue
new file mode 100644
index 0000000..fc61738
--- /dev/null
+++ b/src/views/online_learn_exam/courseware/question/question_list.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+ 导入
+
+
+
+
+
+
+
+
+
+
+
+ {{ fnFormatterQuestionType(row) }}
+
+
+
+
+
+
+ 正确
+ 错误
+
+
+ {{ row.ANSWER }}
+
+
+
+
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+ 新增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/online_learn_exam/courseware/video/index.vue b/src/views/online_learn_exam/courseware/video/index.vue
new file mode 100644
index 0000000..f9263d0
--- /dev/null
+++ b/src/views/online_learn_exam/courseware/video/index.vue
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+ 重置
+
+
+ 展开
+
+
+ 合并
+
+
+
+
+
+
+
+
+
+
+ {{ serialNumber(pagination, $index) }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 启用
+
+
+ 禁用
+
+
+
+
+
+
+ 商城
+
+
+ 自传
+
+
+
+
+
+
+
+ 预览
+
+
+ 启用
+
+
+ 禁用
+
+
+ 修改
+
+
+ 删除
+
+
+ 课件习题
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+