zhangjie 2 жил өмнө
parent
commit
be4f342f3a

BIN
public/temps/courseSimpleTemplate.xlsx


BIN
public/temps/teacherSimpleTemplate.xlsx


+ 10 - 7
src/modules/base/api.js

@@ -180,6 +180,9 @@ export const courseListPage = datas => {
 export const courseQuery = datas => {
   return $postParam("/api/admin/basic/course/query", datas);
 };
+export const courseQueryByOrg = belongOrgId => {
+  return $postParam("/api/admin/basic/course/list_by_org", { belongOrgId });
+};
 export const deleteCourse = idList => {
   return $postParam("/api/admin/basic/course/delete_batch", { idList });
 };
@@ -346,7 +349,7 @@ export const printPlanCheckSyncMode = datas => {
 };
 // new
 export const printPlanSyncRelateExamList = (datas = {}) => {
-  return $post("/api/admin/basic/stmms_exam/sync", datas);
+  return $postParam("/api/admin/basic/stmms_exam/sync", datas);
 };
 export const printPlanRelateExamList = (datas = {}) => {
   return $postParam("/api/admin/basic/stmms_exam/list", datas);
@@ -432,10 +435,10 @@ export const deleteCourseSimple = idList => {
   return $postParam("/api/admin/teach/course/delete", { idList });
 };
 export const updateCourseSimple = datas => {
-  return $post("/api/admin/teach/course/create", datas);
+  return $post("/api/admin/teach/course/manual_create", datas);
 };
 export const batchAddCourseSimple = datas => {
-  return $post("/api/admin/teach/course/create", datas);
+  return $post("/api/admin/teach/course/select_create", datas);
 };
 
 // clazz-simple-manage
@@ -473,14 +476,14 @@ export const exportStudent = datas => {
 
 // teacher-simple-manage
 export const teacherSimpleListQuery = datas => {
-  return $postParam("/api/admin/teach/teacher/page", datas);
+  return $postParam("/api/admin/teach/course/teacher_team_page", datas);
 };
 export const deleteTeacherSimple = idList => {
-  return $postParam("/api/admin/teach/teacher/delete", { idList });
+  return $postParam("/api/admin/teach/course/delete", { idList });
 };
 export const updateTeacherSimple = datas => {
-  return $post("/api/admin/teach/teacher/create", datas);
+  return $post("/api/admin/teach/course/manual_create_teacher", datas);
 };
 export const batchAddTeacherSimple = datas => {
-  return $post("/api/admin/teach/teacher/create_batch", datas);
+  return $post("/api/admin/teach/course/select_create_teacher", datas);
 };

+ 4 - 4
src/modules/base/components/course-simple/ClazzSimpleManage.vue

@@ -12,7 +12,7 @@
         <el-form-item>
           <el-button
             type="primary"
-            :disabled="!filter.teachCourseId"
+            :disabled="!filter.basicCourseId"
             @click="toPage(1)"
             >查询</el-button
           >
@@ -125,7 +125,7 @@ export default {
   data() {
     return {
       filter: {
-        teachCourseId: "",
+        basicCourseId: "",
         teachClazzName: ""
       },
       current: 1,
@@ -141,7 +141,7 @@ export default {
   },
   methods: {
     async initData() {
-      this.filter.teachCourseId = this.course.id;
+      this.filter.basicCourseId = this.course.id;
       await this.getList();
     },
     async getList() {
@@ -162,7 +162,7 @@ export default {
       this.multipleSelection = val.map(item => item.id);
     },
     toAdd() {
-      this.curRow = { teachCourseId: this.filter.teachCourseId };
+      this.curRow = { basicCourseId: this.filter.basicCourseId };
       this.$refs.ModifyClazzSimple.open();
     },
     toEdit(row) {

+ 2 - 1
src/modules/base/components/course-simple/CourseSimpleDetail.vue

@@ -35,10 +35,11 @@
 
 <script>
 import ClazzSimpleManage from "./ClazzSimpleManage.vue";
+import TeacherSimpleManage from "./TeacherSimpleManage.vue";
 
 export default {
   name: "course-simple-detail",
-  components: { ClazzSimpleManage },
+  components: { ClazzSimpleManage, TeacherSimpleManage },
   props: {
     course: {
       type: Object,

+ 1 - 1
src/modules/base/components/course-simple/ModifyClazzSimple.vue

@@ -40,7 +40,7 @@ import { updateClazzSimple } from "../../api";
 const initModalForm = {
   id: null,
   teachClazzName: "",
-  teachCourseId: ""
+  basicCourseId: ""
 };
 
 export default {

+ 1 - 3
src/modules/base/components/course-simple/ModifyCourseSimple.vue

@@ -62,7 +62,6 @@
         btn-content="批量导入"
         btn-type="success"
         :upload-url="uploadUrl"
-        :upload-data="uploadData"
         :format="['xls', 'xlsx']"
         accept=".xls,.xlsx"
         @valid-error="validError"
@@ -141,7 +140,6 @@ export default {
       },
       selectedCourseIds: [],
       // import
-      uploadData: {},
       uploadUrl: "/api/admin/teach/course/import",
       downloadUrl: "/temps/courseSimpleTemplate.xlsx",
       dfilename: "教学课程导入模板.xlsx"
@@ -194,7 +192,7 @@ export default {
       if (this.isSubmit) return;
       this.isSubmit = true;
       const data = await batchAddCourseSimple({
-        basicCourseIdSet: this.selectedCourseIds
+        basicCourseIdList: this.selectedCourseIds
       }).catch(() => {});
       this.isSubmit = false;
 

+ 25 - 13
src/modules/base/components/course-simple/ModifyTeacherSimple.vue

@@ -29,16 +29,16 @@
         :key="modalForm.id"
         label-position="top"
       >
-        <el-form-item prop="loginName" label="姓名:">
+        <el-form-item prop="teacherName" label="姓名:">
           <el-input
-            v-model.trim="modalForm.loginName"
+            v-model.trim="modalForm.teacherName"
             placeholder="请输入姓名"
             clearable
           ></el-input>
         </el-form-item>
-        <el-form-item prop="code" label="工号:">
+        <el-form-item prop="teacherCode" label="工号:">
           <el-input
-            v-model.trim="modalForm.code"
+            v-model.trim="modalForm.teacherCode"
             placeholder="请输入工号"
             clearable
           ></el-input>
@@ -85,14 +85,22 @@ import UploadButton from "@/components/UploadButton";
 import SelectSimpleTeacher from "./SelectSimpleTeacher.vue";
 
 const initModalForm = {
-  id: null,
-  loginName: "",
-  code: ""
+  basicCourseId: null,
+  teacherName: "",
+  teacherCode: ""
 };
 
 export default {
   name: "modify-teacher-simple",
   components: { UploadButton, SelectSimpleTeacher },
+  props: {
+    course: {
+      type: Object,
+      default() {
+        return {};
+      }
+    }
+  },
   computed: {
     IS_IMPORT() {
       return this.curTab === "import";
@@ -120,7 +128,7 @@ export default {
       modalForm: { ...initModalForm },
       courses: [],
       rules: {
-        loginName: [
+        teacherName: [
           {
             required: true,
             // pattern: /^[0-9a-zA-Z\u4E00-\u9FA5]{1,20}$/,
@@ -130,7 +138,7 @@ export default {
             trigger: "change"
           }
         ],
-        code: [
+        teacherCode: [
           {
             required: true,
             pattern: /^[0-9a-zA-Z_-]{3,30}$/,
@@ -142,14 +150,17 @@ export default {
       selectedTeacherIds: [],
       // import
       uploadData: {},
-      uploadUrl: "/api/admin/teach/course/import",
-      downloadUrl: "/temps/courseSimpleTemplate.xlsx",
-      dfilename: "教学课程导入模板.xlsx"
+      uploadUrl: "/api/admin/teach/course/import_teacher",
+      downloadUrl: "/temps/teacherSimpleTemplate.xlsx",
+      dfilename: "教师团队导入模板.xlsx"
     };
   },
   methods: {
     visibleChange() {
       this.modalForm = { ...initModalForm };
+      this.uploadData = {
+        basicCourseId: this.course.id
+      };
     },
     cancel() {
       this.modalIsShow = false;
@@ -194,7 +205,8 @@ export default {
       if (this.isSubmit) return;
       this.isSubmit = true;
       const data = await batchAddTeacherSimple({
-        basicTeacherIdSet: this.selectedTeacherIds
+        basicCourseId: this.course.id,
+        userIdList: this.selectedTeacherIds
       }).catch(() => {});
       this.isSubmit = false;
 

+ 6 - 12
src/modules/base/components/course-simple/SelectSimpleCourse.vue

@@ -53,7 +53,7 @@
         min-width="120"
       ></el-table-column>
       <el-table-column
-        prop="teachingRoomName"
+        prop="teachCollegeName"
         label="开课部门"
         min-width="120"
       ></el-table-column>
@@ -62,7 +62,7 @@
 </template>
 
 <script>
-import { courseListPage } from "../../api";
+import { courseQueryByOrg } from "../../api";
 
 export default {
   name: "select-simple-course",
@@ -77,10 +77,7 @@ export default {
   data() {
     return {
       filter: {
-        belongOrgId: "",
-        enable: true,
-        pageNumber: 1,
-        pageSize: 1000
+        belongOrgId: ""
       },
       dataList: [],
       multipleSelection: []
@@ -93,11 +90,8 @@ export default {
   },
   methods: {
     async getList() {
-      const datas = {
-        ...this.filter
-      };
-      const data = await courseListPage(datas);
-      this.dataList = data.records || [];
+      const data = await courseQueryByOrg(this.filter.belongOrgId);
+      this.dataList = data || [];
     },
     toPage(page) {
       if (!this.canSearch) return;
@@ -108,7 +102,7 @@ export default {
       this.emitChange();
     },
     handleSelectionChange(val) {
-      this.multipleSelection = val.map(item => item.id);
+      this.multipleSelection = val.map(item => item.basicCourseId);
       this.emitChange();
     },
     emitChange() {

+ 5 - 8
src/modules/base/components/course-simple/SelectSimpleTeacher.vue

@@ -2,10 +2,7 @@
   <div class="select-simple-teacher">
     <el-form ref="FilterForm" label-position="left" inline label-width="0px">
       <el-form-item>
-        <org-select
-          v-model="filter.belongOrgId"
-          placeholder="选择学院"
-        ></org-select>
+        <org-select v-model="filter.orgId" placeholder="选择学院"></org-select>
       </el-form-item>
 
       <el-form-item>
@@ -62,7 +59,7 @@
 </template>
 
 <script>
-import { courseListPage } from "../../api";
+import { userListPage } from "../../api";
 
 export default {
   name: "select-simple-teacher",
@@ -77,7 +74,7 @@ export default {
   data() {
     return {
       filter: {
-        belongOrgId: "",
+        orgId: "",
         enable: true,
         pageNumber: 1,
         pageSize: 1000
@@ -88,7 +85,7 @@ export default {
   },
   computed: {
     canSearch() {
-      return this.filter.belongOrgId;
+      return this.filter.orgId;
     }
   },
   methods: {
@@ -96,7 +93,7 @@ export default {
       const datas = {
         ...this.filter
       };
-      const data = await courseListPage(datas);
+      const data = await userListPage(datas);
       this.dataList = data.records || [];
     },
     toPage(page) {

+ 8 - 9
src/modules/base/components/course-simple/TeacherSimpleManage.vue

@@ -4,7 +4,7 @@
       <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
         <el-form-item>
           <el-input
-            v-model.trim="filter.paramName"
+            v-model.trim="filter.userInfo"
             placeholder="请输入姓名或工号"
             clearable
           ></el-input>
@@ -12,7 +12,7 @@
         <el-form-item>
           <el-button
             type="primary"
-            :disabled="!filter.teachCourseId"
+            :disabled="!filter.basicCourseId"
             @click="toPage(1)"
             >查询</el-button
           >
@@ -81,16 +81,16 @@
 
     <!-- ModifyTeacherSimple -->
     <modify-teacher-simple
-      :instance="curRow"
-      @modified="getList"
       ref="ModifyTeacherSimple"
+      :course="course"
+      @modified="getList"
     ></modify-teacher-simple>
   </div>
 </template>
 
 <script>
 import { teacherSimpleListQuery, deleteTeacherSimple } from "../../api";
-import ModifyTeacherSimple from "../components/ModifyTeacherSimple";
+import ModifyTeacherSimple from "./ModifyTeacherSimple";
 
 export default {
   name: "teacher-simple-manage",
@@ -106,8 +106,8 @@ export default {
   data() {
     return {
       filter: {
-        teachCourseId: "",
-        paramName: ""
+        basicCourseId: "",
+        userInfo: ""
       },
       current: 1,
       size: this.GLOBAL.pageSize,
@@ -122,7 +122,7 @@ export default {
   },
   methods: {
     async initData() {
-      this.filter.teachCourseId = this.course.id;
+      this.filter.basicCourseId = this.course.id;
       await this.getList();
     },
     async getList() {
@@ -143,7 +143,6 @@ export default {
       this.multipleSelection = val.map(item => item.id);
     },
     toAdd() {
-      this.curRow = { teachCourseId: this.filter.teachCourseId };
       this.$refs.ModifyTeacherSimple.open();
     },
     async toDelete(row) {

+ 3 - 1
src/modules/base/views/CardManage.vue

@@ -130,7 +130,9 @@
               >预览图片</el-button
             >
             <el-button
-              v-if="checkPrivilege('link', 'delete')"
+              v-if="
+                checkPrivilege('link', 'delete') && scope.row.type !== 'CUSTOM'
+              "
               class="btn-danger"
               type="text"
               @click="toDelete(scope.row)"

+ 2 - 2
src/modules/base/views/CourseSimpleManage.vue

@@ -22,7 +22,7 @@
       </el-form>
       <div class="part-box-action">
         <el-button
-          v-if="checkPrivilege('button', 'add')"
+          v-if="checkPrivilege('button', 'AddCourse')"
           type="primary"
           icon="el-icon-circle-plus-outline"
           @click="toAdd"
@@ -82,7 +82,7 @@
 
     <!-- ModifyCourseSimple -->
     <modify-course-simple
-      v-if="checkPrivilege('button', 'add')"
+      v-if="checkPrivilege('button', 'AddCourse')"
       ref="ModifyCourseSimple"
       :instance="curCourse"
       @modified="getList"