Tang 4 anni fa
parent
commit
bd781301fa
71 ha cambiato i file con 3220 aggiunte e 1099 eliminazioni
  1. 2 0
      package.json
  2. 2 0
      src/api/api.js
  3. BIN
      src/assets/images/dr.png
  4. BIN
      src/assets/images/imgpng.png
  5. BIN
      src/assets/images/imgsqty.png
  6. 4 0
      src/components/busIns.vue
  7. 70 22
      src/components/questionBank.vue
  8. 1 1
      src/components/searchBoxNew.vue
  9. 59 35
      src/components/tableList.vue
  10. 25 0
      src/newApi/polyv.js
  11. 1 1
      src/store/getters.js
  12. 6 1
      src/store/modules/dict.js
  13. 83 0
      src/utils/uopladFile.js
  14. 13 2
      src/views/Marketing/basicParameters/marketings/beneficiary/index.vue
  15. 13 2
      src/views/Marketing/basicParameters/marketings/beneficiaryInfos/index.vue
  16. 13 2
      src/views/Marketing/basicParameters/marketings/channelSource/index.vue
  17. 13 2
      src/views/Marketing/basicParameters/marketings/natureCharge/index.vue
  18. 13 2
      src/views/Marketing/basicParameters/marketings/paymentChannel/index.vue
  19. 13 2
      src/views/Marketing/basicParameters/marketings/serviceModel/index.vue
  20. 37 17
      src/views/Marketing/basicParameters/marketings/supplier/index.vue
  21. 41 21
      src/views/Marketing/basicParameters/marketings/typesFee/index.vue
  22. 13 2
      src/views/Marketing/basicParameters/marketings/visitCampus/index.vue
  23. 274 137
      src/views/Marketing/commodityManageMent/add/index.vue
  24. 358 133
      src/views/Marketing/commodityManageMent/edit/index.vue
  25. 54 37
      src/views/Marketing/commodityManageMent/index.vue
  26. 3 1
      src/views/Marketing/commodityManageMent/poppleSet.vue
  27. 1 1
      src/views/Marketing/orderList/add/order/index.vue
  28. 1 1
      src/views/education/classManageMent/classList/index.vue
  29. 14 7
      src/views/education/classManageMent/studentMenu/index.vue
  30. 390 59
      src/views/education/dataReview/informationTemplate/index.vue
  31. 146 49
      src/views/education/examManagement/applicationData/asPlanned.vue
  32. 6 5
      src/views/education/examManagement/examArrangement/index.vue
  33. 30 9
      src/views/education/examManagement/examConfiguration/examNum/index.vue
  34. 4 4
      src/views/education/examManagement/qianpeiArrange/index.vue
  35. 3 7
      src/views/education/notificationManageMent/notificationList/add/index.vue
  36. 3 6
      src/views/education/notificationManageMent/notificationList/edit/index.vue
  37. 3 1
      src/views/education/studentManageMent/studentList/index.vue
  38. 81 31
      src/views/resource/bankManagement/chapterVolumeManagement/add/index.vue
  39. 108 54
      src/views/resource/bankManagement/chapterVolumeManagement/edit/index.vue
  40. 20 4
      src/views/resource/bankManagement/knowledgeManagement/index.vue
  41. 8 3
      src/views/resource/bankManagement/testPaperManagement/addPaper/baseAddPaper/index.vue
  42. 81 72
      src/views/resource/bankManagement/testPaperManagement/addPaper/topicAddPaper/index.vue
  43. 40 21
      src/views/resource/bankManagement/testPaperManagement/editPaper/baseEditPaper/index.vue
  44. 78 68
      src/views/resource/bankManagement/testPaperManagement/editPaper/topicEditPaper/index.vue
  45. 2 2
      src/views/resource/bankManagement/topicManagement/index.vue
  46. 7 0
      src/views/resource/bankManagement/volumeManagement/add/index.vue
  47. 55 28
      src/views/resource/bankManagement/volumeManagement/edit/index.vue
  48. 4 4
      src/views/resource/baseManageInfos/index.vue
  49. 22 5
      src/views/resource/baseManageInfos/resource/businessLevel/index.vue
  50. 13 2
      src/views/resource/baseManageInfos/resource/certificate/index.vue
  51. 14 3
      src/views/resource/baseManageInfos/resource/colleges/index.vue
  52. 26 12
      src/views/resource/baseManageInfos/resource/educationTypes/index.vue
  53. 66 33
      src/views/resource/baseManageInfos/resource/enrollmentArea/index.vue
  54. 42 22
      src/views/resource/baseManageInfos/resource/label/index.vue
  55. 30 13
      src/views/resource/baseManageInfos/resource/papers/index.vue
  56. 13 2
      src/views/resource/baseManageInfos/resource/professional/index.vue
  57. 14 2
      src/views/resource/baseManageInfos/resource/projectType/index.vue
  58. 4 3
      src/views/resource/baseManageInfos/resource/questionType/index.vue
  59. 15 3
      src/views/resource/baseManageInfos/resource/suject/index.vue
  60. 37 17
      src/views/resource/baseManageInfos/resource/testPeriod/index.vue
  61. 21 16
      src/views/resource/handoutManagement/handoutList/index.vue
  62. 16 5
      src/views/resource/videoManagement/chapter/add/index.vue
  63. 6 2
      src/views/resource/videoManagement/chapter/edit/index.vue
  64. 3 1
      src/views/resource/videoManagement/courseManagement/basicInfoEdit/index.vue
  65. 6 0
      src/views/resource/videoManagement/courseManagement/chapterContent/index.vue
  66. 12 14
      src/views/resource/videoManagement/courseManagement/index.vue
  67. 143 22
      src/views/resource/videoManagement/festival/add/index.vue
  68. 113 6
      src/views/resource/videoManagement/festival/edit/index.vue
  69. 2 0
      src/views/resource/videoManagement/flow/index.vue
  70. 221 39
      src/views/resource/videoManagement/moduleManagement/add/index.vue
  71. 185 21
      src/views/resource/videoManagement/moduleManagement/edit/index.vue

+ 2 - 0
package.json

@@ -36,6 +36,7 @@
     "url": "https://gitee.com/y_project/RuoYi-Vue.git"
   },
   "dependencies": {
+    "@polyv/vod-upload-js-sdk": "^1.2.3",
     "@riophae/vue-treeselect": "0.4.0",
     "axios": "0.21.0",
     "clipboard": "2.0.6",
@@ -47,6 +48,7 @@
     "highlight.js": "9.18.5",
     "js-beautify": "1.13.0",
     "js-cookie": "2.2.1",
+    "js-md5": "^0.7.3",
     "jsencrypt": "3.0.0-rc.1",
     "nprogress": "0.2.0",
     "quill": "1.3.7",

+ 2 - 0
src/api/api.js

@@ -81,6 +81,7 @@ import examNum from '../newApi/examNum'//考试次数配置管理
 import examapply from '../newApi/examapply'//考试安排
 import qianpeiApi from '../newApi/qianpeiApi'//前培
 import applicationData from '../newApi/applicationData'//报考数据
+import polyv from '../newApi/polyv'//保利威
 
 // 导入对应模块------------------------
 export default {
@@ -140,6 +141,7 @@ export default {
     ...examapply,
     ...qianpeiApi,
     ...applicationData,
+    ...polyv,
 
     // ...login,
     // ...profession,

BIN
src/assets/images/dr.png


BIN
src/assets/images/imgpng.png


BIN
src/assets/images/imgsqty.png


+ 4 - 0
src/components/busIns.vue

@@ -273,6 +273,10 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.checkboxSty{
+  display: flex;
+  flex-direction: column;
+}
 .listBoxStys {
   flex-shrink: 0;
   padding: 0px 10px;

+ 70 - 22
src/components/questionBank.vue

@@ -33,7 +33,7 @@
           </el-radio-group>
         </div>
         <div class="marg_play">
-          <span class="spans"><span style="color:red;">* </span>题目:</span>
+          <span class="spans"><span style="color: red">* </span>题目:</span>
           <div>
             <editor
               v-model="dingForm.content"
@@ -78,7 +78,7 @@
             dingForm.type === 1 || dingForm.type === 2 || dingForm.type === 5
           "
         >
-          <span class="spans"><span style="color:red;">* </span>选项:</span>
+          <span class="spans"><span style="color: red">* </span>选项:</span>
           <div style="flex: 1">
             <div
               style="display: flex; align-items: center; margin-bottom: 8px"
@@ -116,7 +116,20 @@
                     : "上传图片"
                 }}</label
               >
-              <img
+              <el-image
+                v-if="options.imgUrl !== null && options.imgUrl"
+                style="
+                  width: 50px;
+                  height: 50px;
+                  border-radius: 4px;
+                  border: 1px dotted #a4a4a4;
+                  padding: 4px;
+                "
+                :src="$methodsTools.splitImgHost(options.imgUrl)"
+                :preview-src-list="[$methodsTools.splitImgHost(options.imgUrl)]"
+              >
+              </el-image>
+              <!-- <img
                 v-if="options.imgUrl !== null && options.imgUrl"
                 style="
                   width: 50px;
@@ -127,7 +140,7 @@
                 "
                 :src="$methodsTools.splitImgHost(options.imgUrl)"
                 alt=""
-              />
+              /> -->
             </div>
             <div
               style="display: flex; align-items: center"
@@ -154,7 +167,7 @@
             <i
               class="el-icon-circle-plus"
               style="margin-right: 5px; font-size: 30px; cursor: pointer"
-               @click="addListItem"
+              @click="addListItem"
             ></i
             ><span style="color: #409eff; cursor: pointer" @click="addListItem"
               >添加问题</span
@@ -188,7 +201,9 @@
                 </el-radio-group>
               </div>
               <div class="marg_play">
-                <span class="spans"><span style="color:red;">* </span>题目:</span>
+                <span class="spans"
+                  ><span style="color: red">* </span>题目:</span
+                >
                 <div>
                   <editor
                     v-model="ans.content"
@@ -230,7 +245,9 @@
                 class="marg_play"
                 v-if="ans.type === 1 || ans.type === 2 || ans.type === 5"
               >
-                <span class="spans"><span style="color:red;">* </span>选项:</span>
+                <span class="spans"
+                  ><span style="color: red">* </span>选项:</span
+                >
                 <div style="flex: 1">
                   <div
                     style="
@@ -272,7 +289,22 @@
                           : "上传图片"
                       }}</label
                     >
-                    <img
+                    <el-image
+                      v-if="answerItem.imgUrl !== null && answerItem.imgUrl"
+                      style="
+                        width: 50px;
+                        height: 50px;
+                        border-radius: 4px;
+                        border: 1px dotted #a4a4a4;
+                        padding: 4px;
+                      "
+                      :src="$methodsTools.splitImgHost(answerItem.imgUrl)"
+                      :preview-src-list="[
+                        $methodsTools.splitImgHost(answerItem.imgUrl),
+                      ]"
+                    >
+                    </el-image>
+                    <!-- <img
                       v-if="answerItem.imgUrl !== null && answerItem.imgUrl"
                       style="
                         width: 50px;
@@ -283,7 +315,7 @@
                       "
                       :src="$methodsTools.splitImgHost(answerItem.imgUrl)"
                       alt=""
-                    />
+                    /> -->
                   </div>
                   <div
                     style="display: flex; align-items: center"
@@ -291,7 +323,11 @@
                   >
                     <i
                       class="el-icon-circle-plus"
-                      style="margin-right: 5px; font-size: 30px;cursor: pointer"
+                      style="
+                        margin-right: 5px;
+                        font-size: 30px;
+                        cursor: pointer;
+                      "
                       @click="addListcontentchi(ain)"
                     ></i>
                     <span
@@ -303,7 +339,9 @@
                 </div>
               </div>
               <div class="marg_play" v-if="ans.type === 1">
-                <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+                <span class="spans"
+                  ><span style="color: red">* </span>正确答案:</span
+                >
                 <el-radio-group
                   v-for="(oAsz, oindexsz) in ans.optionsList"
                   :key="oindexsz"
@@ -317,7 +355,9 @@
                 </el-radio-group>
               </div>
               <div class="marg_play" v-else-if="ans.type === 2">
-                <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+                <span class="spans"
+                  ><span style="color: red">* </span>正确答案:</span
+                >
                 <el-checkbox-group v-model="ans.answerQuestionList">
                   <el-checkbox
                     v-for="(oAsz, oindexsz) in ans.optionsList"
@@ -329,7 +369,9 @@
                 </el-checkbox-group>
               </div>
               <div class="marg_play" v-if="ans.type === 3">
-                <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+                <span class="spans"
+                  ><span style="color: red">* </span>正确答案:</span
+                >
                 <el-radio-group v-model="ans.answerQuestion">
                   <el-radio :disabled="statusPop === 2" label="1"
                     >正确</el-radio
@@ -354,7 +396,9 @@
           <!-- 案例题 -->
         </div>
         <div class="marg_play" v-if="dingForm.type === 1">
-          <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+          <span class="spans"
+            ><span style="color: red">* </span>正确答案:</span
+          >
           <el-radio-group
             v-for="(oA, oindex) in dingForm.optionsList"
             :key="oindex"
@@ -366,7 +410,9 @@
           </el-radio-group>
         </div>
         <div class="marg_play" v-else-if="dingForm.type === 2">
-          <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+          <span class="spans"
+            ><span style="color: red">* </span>正确答案:</span
+          >
           <el-checkbox-group v-model="dingForm.answerQuestionList">
             <el-checkbox
               v-for="(oA, oindex) in dingForm.optionsList"
@@ -378,7 +424,9 @@
           </el-checkbox-group>
         </div>
         <div class="marg_play" v-if="dingForm.type === 3">
-          <span class="spans"><span style="color:red;">* </span>正确答案:</span>
+          <span class="spans"
+            ><span style="color: red">* </span>正确答案:</span
+          >
           <el-radio-group v-model="dingForm.answerQuestion">
             <el-radio :disabled="statusPop === 2" label="1">正确</el-radio>
             <el-radio :disabled="statusPop === 2" label="0">错误</el-radio>
@@ -486,19 +534,19 @@ export default {
     //   });
     // });
   },
-  watch:{
-    "dingFormInfo": {
+  watch: {
+    dingFormInfo: {
       handler(newVal, oldVal) {
-        this.dingForm = newVal
+        this.dingForm = newVal;
       },
       // 立即处理 进入页面就触发
       immediate: true,
-    }, 
+    },
   },
   methods: {
     changeTypes(int) {
       this.dingForm = {
-        questionId:this.dingForm.questionId?this.dingForm.questionId:'',
+        questionId: this.dingForm.questionId ? this.dingForm.questionId : "",
         type: int,
         optionsList: [],
         answerQuestionList: [],
@@ -547,7 +595,7 @@ export default {
       if (v === undefined) {
         this.dingForm = {
           optionsList: [],
-          status:1
+          status: 1,
         };
         this.statusPop = 1;
       } else {

+ 1 - 1
src/components/searchBoxNew.vue

@@ -61,7 +61,7 @@
               <el-option
                 v-for="(items, indexs) in newBusinessLevel"
                 :key="indexs"
-                :label="items.businessName"
+                :label="items.projectName + '-' +items.businessName"
                 :value="items.id"
               ></el-option>
             </el-select>

+ 59 - 35
src/components/tableList.vue

@@ -116,7 +116,8 @@
           :key="index"
           :label="item.label"
           align="center"
-          :sortable="item.prop === 'sort'"
+          :sortable="item.prop === 'sort' || item.sort"
+          :sort-method="sortMethods"
           :show-overflow-tooltip="item.showTooltip ? false : true"
           header-align="center"
           :prop="item.prop"
@@ -271,7 +272,7 @@
               <template v-for="(itm, inds) in scope.row[item.prop]">
                 <li :key="inds" v-if="inds < 1">
                   {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
-                  <span style="color: red">{{ itm[item.prop3] }}</span>
+                  <span style="color: red">{{ itm[item.prop3] }}</span>
                 </li>
               </template>
               <el-popover
@@ -283,7 +284,7 @@
                   <li v-for="(itm, inds) in scope.row[item.prop]" :key="inds">
                     {{ inds + 1 }}、
                     {{ itm[item.prop1] + "-" + itm[item.prop2] + "-" }}
-                    <span style="color: red">{{ itm[item.prop3] }}</span>
+                    <span style="color: red">{{ itm[item.prop3] }}</span>
                   </li>
                 </ul>
                 <el-button
@@ -605,6 +606,23 @@
                   : scope.row[item.prop2] + "~" + scope.row[item.prop3]
               }}
             </span>
+            <div v-else-if="item.scope === 'changAdress'">
+              <div>{{ scope.row[item.prop1] }}</div>
+              <div>
+                {{ $methodsTools.onlyForma(scope.row[item.prop2], false) }}
+                <span
+                  >{{
+                    scope.row[item.prop3].indexOf("-") !== -1
+                      ? scope.row[item.prop3].replace("-", ":")
+                      : scope.row[item.prop3]
+                  }}-{{
+                    scope.row[item.prop4].indexOf("-") !== -1
+                      ? scope.row[item.prop4].replace("-", ":")
+                      : scope.row[item.prop4]
+                  }}</span
+                >
+              </div>
+            </div>
             <span v-else-if="item.scope === 'activityType'">{{
               Number(scope.row[item.prop]) === 0
                 ? "优惠券"
@@ -1304,70 +1322,76 @@ export default {
   },
   mounted() {},
   methods: {
+    sortMethods(a, b) {
+      return a.classGradeUserGoodsVoList.length >
+        b.classGradeUserGoodsVoList.length
+        ? -1
+        : 1;
+    },
     // int: 1 节列表-关联章 2 章列表-关联模块 3 模块列表-关联课程 4 课程列表-关联商品 5 题目列表-关联试卷 6 试卷列表-关联商品 7 章卷列表-关联商品 8 模块列表-关联商品
     jumpPages(v, int) {
       if (int === 1) {
         this.$router.push({
           path: "/resource/videoManagement/chapterEdit",
-          query:{
-            id:v.chapterId
-          }
+          query: {
+            id: v.chapterId,
+          },
         });
       }
-      if(int ===2){
+      if (int === 2) {
         this.$router.push({
           path: "/resource/videoManagement/moduleManagementEdit",
-          query:{
-            id:v.moduleId
-          }
+          query: {
+            id: v.moduleId,
+          },
         });
       }
-      if(int ===3){
+      if (int === 3) {
         this.$router.push({
           path: "/resource/videoManagement/editCourse",
-          query:{
-            id:v.courseId
-          }
+          query: {
+            id: v.courseId,
+          },
         });
       }
-      if(int ===4){
+      if (int === 4) {
         this.$router.push({
           path: "/Marketing/commodityManageMentEdit",
-          query:{
-            id:v.goodsId
-          }
+          query: {
+            id: v.goodsId,
+          },
         });
       }
-      if(int ===5){
+      if (int === 5) {
         this.$router.push({
           path: "/resource/bankManagement/editPaper",
-          query:{
-            id:v.examId
-          }
+          query: {
+            id: v.examId,
+          },
         });
       }
-      if(int ===6){
+      if (int === 6) {
         this.$router.push({
           path: "/Marketing/commodityManageMentEdit",
-          query:{
-            id:v.goodsId
-          }
+          query: {
+            id: v.goodsId,
+          },
         });
       }
-      if(int ===7){
+      if (int === 7) {
         this.$router.push({
           path: "/Marketing/commodityManageMentEdit",
-          query:{
-            id:v.goodsId
-          }
+          query: {
+            id: v.goodsId,
+          },
         });
       }
-      if(int ===8){
+      if (int === 8) {
         this.$router.push({
           path: "/Marketing/commodityManageMentEdit",
-          query:{
-            id:v.goodsId
-          }
+          query: {
+            id: v.goodsId,
+          },
         });
       }
     },
@@ -1772,7 +1796,7 @@ export default {
   color: #333;
   cursor: pointer;
 }
-.jumpStys{
+.jumpStys {
   color: blue;
   cursor: pointer;
 }

+ 25 - 0
src/newApi/polyv.js

@@ -0,0 +1,25 @@
+import request from '@/utils/request' //引入axios请求及拦截器
+export default {
+    //获取保利威视频上传签名
+    inquirepolyvvideogetPolyvUpload(data) {
+        return request({
+            url: '/polyv/video/getPolyvUpload',
+            method: 'get',
+            params: data
+        })
+    },
+    //获取保利威视频播放凭证
+    obtainpolyvvideosign(data) {
+        return request({
+            url: `/polyv/video/sign/` + data,
+            method: 'get',
+        })
+    },
+    //获取保利威视频信息详细信息
+    inquirepolyvvideo(data) {
+        return request({
+            url: `/polyv/video/` + data,
+            method: 'get',
+        })
+    },
+}

+ 1 - 1
src/store/getters.js

@@ -162,7 +162,7 @@ const getters = {
     return state.dict.paycost
   },
   paperexam(state) {
-    if (!state.dict.paperexam.length) {
+    if (!state.dict.paperexam) {
       api.inquirepaperexamList({ status: 1 }).then(res => {
         state.dict.paperexam = res.rows
       })

+ 6 - 1
src/store/modules/dict.js

@@ -19,7 +19,7 @@ const state = {
     paysupply: [],//供应方
     paynature: [],//收费性质
     paycost: [],//费用类型
-    paperexam: [],//试卷类型
+    paperexam: null,//试卷类型
     areas: [],//地区-省
     cityList: [],//地区-市
     classList:[],//班级
@@ -31,6 +31,11 @@ const mutations = {
       state.examList = res.rows
     })
   },
+  EXAMTYPE(state){
+    api.inquirepaperexamList({status:1}).then(res => {
+      state.paperexam = res.rows
+    })
+  },
 }
 
 const actions = {

+ 83 - 0
src/utils/uopladFile.js

@@ -0,0 +1,83 @@
+import PlvVideoUpload from '@polyv/vod-upload-js-sdk'
+import api from '@/api/api'
+// import md5 from 'js-md5'
+
+// 此方法主要用于加密一些保利威的专用参数 如果是后端传递的 可以打掉
+function getToken(videoUpload, array) {
+    const ptime = array.ptime
+    const userid = 'd5f6d309fe'
+    // const secretkey = 'xpPrYdcbA1'
+    // const writeToken = '8f14a371-9d02-4ec1-922d-54d7b4f79dca'
+    const hash = array.hash
+    const sign = array.sign
+//     const hash = md5(ptime + writeToken)
+//   const sign = md5(secretkey + ptime)
+    videoUpload.updateUserData({ ptime, hash, sign, userid })
+    videoUpload.startAll()
+}
+
+// 由于保利威的一些机制 你需要三分钟就重新加密你的 ptime 如果你打掉了就不行
+function autoUpdateUserData(timer, videoUpload, array) {
+    getToken(videoUpload, array)
+    if (timer) {
+        clearTimeout(timer)
+        timer = null
+    }
+    timer = setTimeout(() => {
+        autoUpdateUserData(timer, videoUpload, array)
+    }, 3 * 50 * 1000)
+}
+
+/**
+ * @Date: 2021/3/26
+ * @param: files -> 一个文件的数组 注意 是【数组】
+ * @param: fileSetting -> 主要是用来传递给保利威的属性
+ * @param: callback -> 上传进度,成功,失败 的回调 tips:回调太多 我就拿了这三个比较有用的
+ */
+export function uploadFile(files, fileSetting, callback) {
+    const videoUpload = new PlvVideoUpload({
+        region: 'line1', // (可选)上传线路, 默认line1
+        events: {
+            Error: (err) => {  // 错误事件回调
+                console.log(err);
+            },
+            UploadComplete: () => { }  // 全部上传任务完成回调
+        }
+    })
+    console.log(videoUpload,'init')
+    new Promise((resolve, reject) => {
+        api.inquirepolyvvideogetPolyvUpload().then(res => {
+            resolve(res)
+        })
+    }).then(res => {
+        autoUpdateUserData(null, videoUpload, res.data)
+        var filet = [files]
+        Array.from(filet).forEach((file, index) => {
+            console.log(videoUpload, 1121)
+            const uploader = videoUpload.addFile(file, {
+                // 上传视频进度的回调
+                FileProgress: ({ progress }) => {
+                    const progressSize = (progress * 100).toFixed(2)
+                    callback(index, progressSize)
+                },
+                // 上传视频成功的回调
+                FileSucceed: ({ fileData }) => {
+                    callback(index, fileData)
+                },
+                // 上传视频失败的回调
+                onFileFailed: ({ errData }) => {
+                    callback(index, errData)
+                }
+            }, fileSetting)
+            // console.log(uploader)
+        })
+
+    })
+    /**
+     * 这里的调用是上传全部
+     * 本来我也是一个一个调的
+     * 但是考虑到对于有多选上传的童鞋不是很友好
+     * 就无论你传递几个视频 这里都统一一起上传
+     * */
+    
+}

+ 13 - 2
src/views/Marketing/basicParameters/marketings/beneficiary/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "收款方",
@@ -183,6 +186,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -254,19 +260,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppaypayee(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpaypayee(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/beneficiaryInfos/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -107,6 +108,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -125,6 +127,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "收款方详情",
@@ -242,6 +245,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v) {
       this.addClick(v, 0);
     },
@@ -315,19 +321,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.appPayeeAisle(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editPayeeAisle(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/channelSource/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "渠道来源",
@@ -178,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+    loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -249,19 +255,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppaysource(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpaysource(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/natureCharge/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "收费性质",
@@ -178,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -249,19 +255,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppaynature(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpaynature(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/paymentChannel/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+@closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "支付通道",
@@ -178,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -249,19 +255,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+       this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppayaisle(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpayaisle(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/serviceModel/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+:loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "服务模式",
@@ -178,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -249,19 +255,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppayserve(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpayserve(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 37 - 17
src/views/Marketing/basicParameters/marketings/supplier/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -92,6 +93,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -110,6 +112,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "供应方",
@@ -202,6 +205,9 @@ export default {
     this.search();
   },
   methods: {
+    loadingClose() {
+      this.disabledBtn = false;
+    },
     editInfo(v) {
       this.addClick(v, 0);
     },
@@ -212,13 +218,16 @@ export default {
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquirepaysupply(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquirepaysupply(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -273,19 +282,30 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true;
       if (this.statusPop === 1) {
-        this.$api.apppaysupply(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .apppaysupply(this.listData)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPop === 0) {
-        this.$api.editpaysupply(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .editpaysupply(this.listData)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     close() {

+ 41 - 21
src/views/Marketing/basicParameters/marketings/typesFee/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "费用类型",
@@ -116,7 +119,7 @@ export default {
           label: "费用类型名称",
           prop: "costName",
           hidden: true,
-          scope: 'editInfo'
+          scope: "editInfo",
         },
         {
           label: "状态",
@@ -178,23 +181,29 @@ export default {
     this.search();
   },
   methods: {
-    editInfo(v){
-      this.addClick(v,0)
+    loadingClose() {
+      this.disabledBtn = false;
+    },
+    editInfo(v) {
+      this.addClick(v, 0);
     },
     search(v) {
       this.loading = true;
       var data = {
-        status:'0,1',
+        status: "0,1",
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquirepaycost(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquirepaycost(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -249,19 +258,30 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true;
       if (this.statusPop === 1) {
-        this.$api.apppaycost(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .apppaycost(this.listData)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPop === 0) {
-        this.$api.editpaycost(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .editpaycost(this.listData)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     close() {

+ 13 - 2
src/views/Marketing/basicParameters/marketings/visitCampus/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -81,6 +82,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "到访校区",
@@ -178,6 +181,9 @@ export default {
     this.search();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v){
       this.addClick(v,0)
     },
@@ -249,19 +255,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.apppayvisit(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpayvisit(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 274 - 137
src/views/Marketing/commodityManageMent/add/index.vue

@@ -848,19 +848,13 @@
           />
         </div>
       </div>
-      <el-select
-        v-model="optionsNums"
-        placeholder="请选择类型"
-        @change="changeOptionsType2"
-      >
-        <el-option
-          v-for="item in optionsType"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        >
-        </el-option>
-      </el-select>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData3"
+        :formList="formList3"
+        @search="search3"
+        @init="init3"
+      />
       <el-table
         ref="multipleTable2"
         :data="boxtableData2"
@@ -919,13 +913,13 @@
           </el-table-column></template
         >
       </el-table>
-      <!-- <pagination
-        :total="total2"
-        :pageSize="pageSize2"
-        :currentPage="currentPage2"
-        @handleSizeChange="handleSizeChange2"
-        @handleCurrentChange="handleCurrentChange2"
-      /> -->
+      <pagination
+        :total="total3"
+        :pageSize="formData3.pageSize"
+        :currentPage="formData3.pageNum"
+        @handleSizeChange="handleSizeChange3"
+        @handleCurrentChange="handleCurrentChange3"
+      />
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisibleTableBoxs2 = false">取 消</el-button>
         <el-button type="primary" @click="submitTab2">确 定</el-button>
@@ -1637,6 +1631,64 @@ export default {
           placeholder: "请输入讲义名称",
         },
       ],
+      total3: 0,
+      formData3: {
+        pageNum: 1,
+        pageSize: 10,
+        status: 1,
+        examType: 1,
+        educationTypeId: "",
+        businessId: "",
+        names:''
+      },
+      formList3: [
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        {
+          prop: "schoolId",
+          placeholder: "院校",
+          scope: "schoolList",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "majorId",
+          placeholder: "专业",
+          scope: "Professional",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "examType",
+          placeholder: "题卷类型",
+          scope: "select",
+          options: [
+            {
+              label: "模块卷",
+              value: 1,
+            },
+            {
+              label: "章卷",
+              value: 2,
+            },
+            {
+              label: "试卷",
+              value: 3,
+            },
+          ],
+        },
+        {
+          prop: "names",
+          placeholder: "请输入标题名称",
+        },
+      ],
       //   视频商品表格数据------------------------------------------------------------------------start
       tableSetTSB: [
         { label: "排序", prop: "sort", scope: "inputs", width: "100" },
@@ -1675,19 +1727,21 @@ export default {
         status: 1,
         pageSize: 10, //每页多少条数据
         currentPage: 1, //当前页码
+        educationTypeId: "",
+        businessId: "",
       },
       formLists: [
-        {
-          prop: "educationTypeId",
-          placeholder: "教育类型",
-          scope: "educationType",
-        },
-        {
-          prop: "businessId",
-          placeholder: "业务层次",
-          scope: "businessLevel",
-          edu: "educationTypeId",
-        },
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
         {
           prop: "schoolId",
           placeholder: "院校",
@@ -1819,7 +1873,7 @@ export default {
     this.getDict();
   },
   mounted() {
-    this.getJyData();
+    // this.getJyData();
   },
   methods: {
     getGoodsId(index, row) {
@@ -2019,7 +2073,7 @@ export default {
     },
     getJyData(int) {
       if (int === 1) {
-        this.formDatas.pageNum = 1;
+        this.formDatajy.pageNum = 1;
       }
       if (int === 2) {
         this.formDatajy = {
@@ -2157,6 +2211,14 @@ export default {
           this.newMajorOption = newMajorOption;
         }
       });
+      if(this.listData.goodsType === 1){
+        this.tableData = []
+        this.auditionList = []
+      }
+      if(this.listData.goodsType === 2){
+        this.tableData2 = []
+        this.examConfigList = []
+      }
     },
     getImgFile() {
       var self = this;
@@ -2459,6 +2521,8 @@ export default {
           status: 1,
           pageSize: 10,
           pageNum: 1,
+          educationTypeId: this.listData.educationTypeId,
+          businessId: this.listData.businessId,
         };
       }
       this.$api.inquireCourseListS(this.formDatas).then((res) => {
@@ -2471,25 +2535,35 @@ export default {
     },
     editAddBoxs() {
       var self = this;
-      this.$api
-        .inquireCourseListS({
-          status: 1,
-          pageSize: 10,
-          pageNum: 1,
-        })
-        .then((res) => {
-          var aList = [];
-          this.tableData.map((item) => {
-            aList.push(item.courseId);
-          });
-          this.disCheckList = aList;
-          this.boxtableData = res.rows;
-          this.total = res.total;
-          this.dialogVisibleTableBoxs = true;
-          this.$nextTick(function () {
-            self.$refs.multipleTable.clearSelection();
-          });
+      var data = {
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+      };
+      if (this.listData.educationTypeId) {
+        data.educationTypeId = this.listData.educationTypeId;
+        this.formDatas.educationTypeId = this.listData.educationTypeId;
+      }
+      if (this.listData.businessId) {
+        data.businessId = this.listData.businessId;
+      }
+      this.$api.inquireCourseListS(data).then((res) => {
+        var aList = [];
+        this.tableData.map((item) => {
+          aList.push(item.courseId);
         });
+        this.disCheckList = aList;
+        this.boxtableData = res.rows;
+        this.total = res.total;
+        this.dialogVisibleTableBoxs = true;
+        this.$nextTick(function () {
+          self.$refs.multipleTable.clearSelection();
+          self.$refs.searchBox.changeEducationType(
+            self.listData.educationTypeId
+          );
+          self.formDatas.businessId = self.listData.businessId;
+        });
+      });
     },
     submitTab() {
       if (this.activeLists.length === 0) {
@@ -2544,99 +2618,162 @@ export default {
     changeOptionsType2() {
       this.editAddBoxs2();
     },
+
+    handleSizeChange3(v) {
+      this.formData3.pageSize = v;
+      this.formData3.pageNum = 1;
+      this.search3();
+    },
+    handleCurrentChange3(v) {
+      this.formData3.pageNum = v;
+      this.search3();
+    },
+    init3() {
+      this.formData3.pageSize = 10;
+      this.formData3.pageNum = 1;
+      // this.formData3.educationTypeId = "";
+      // this.formData3.businessId = "";
+      this.formData3.names = ''
+      this.search3();
+    },
+    search3(int) {
+      var self = this;
+      var data = JSON.parse(JSON.stringify(self.formData3))
+      if (self.formData3.examType === 1) {
+        data.moduleName = data.names
+        self.$api.inquireBankModule(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 1 + "-" + item.moduleExamId;
+            item.type = 1;
+            item.name = item.moduleName;
+            item.sort = 0;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+      if (self.formData3.examType === 2) {
+        data.name = data.names
+        self.$api.inquirebankchapterList(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 2 + "-" + item.chapterExamId;
+            item.sort = 0;
+            item.type = 2;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+      if (self.formData3.examType === 3) {
+        data.examName = data.names
+        self.$api.inquirebankexamList(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 3 + "-" + item.examId;
+            item.sort = 0;
+            item.type = 3;
+            item.name = item.examName;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+    },
     editAddBoxs2(int) {
       var self = this;
-      if (self.optionsNums === 1) {
-        self.$api
-          .inquireBankModule({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 1) {
-                aList.push(item.moduleExamId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 1 + "-" + item.moduleExamId;
-              item.type = 1;
-              item.name = item.moduleName;
-              item.sort = 0;
-            });
-            self.disCheckList2.moduleCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+      self.formData3.examType = 1
+      var data = JSON.parse(JSON.stringify(this.formData3));
+      if (this.listData.educationTypeId) {
+        data.educationTypeId = this.listData.educationTypeId;
+        this.formData3.educationTypeId = this.listData.educationTypeId;
+      }
+      if (this.listData.businessId) {
+        data.businessId = this.listData.businessId;
+      }
+      if (self.formData3.examType === 1) {
+        self.$api.inquireBankModule(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 1) {
+              aList.push(item.moduleExamId);
             }
           });
-      }
-      if (self.optionsNums === 2) {
-        self.$api
-          .inquirebankchapterList({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 2) {
-                aList.push(item.chapterExamId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 2 + "-" + item.chapterExamId;
-              item.sort = 0;
-              item.type = 2;
+          res.rows.forEach((item) => {
+            item.ids = 1 + "-" + item.moduleExamId;
+            item.type = 1;
+            item.name = item.moduleName;
+            item.sort = 0;
+          });
+          self.disCheckList2.moduleCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
             });
-            self.disCheckList2.chapterCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+          }
+        });
+      }
+      if (self.formData3.examType === 2) {
+        self.$api.inquirebankchapterList(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 2) {
+              aList.push(item.chapterExamId);
             }
           });
-      }
-      if (self.optionsNums === 3) {
-        self.$api
-          .inquirebankexamList({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 3) {
-                aList.push(item.examId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 3 + "-" + item.examId;
-              item.sort = 0;
-              item.type = 3;
-              item.name = item.examName;
+          res.rows.forEach((item) => {
+            item.ids = 2 + "-" + item.chapterExamId;
+            item.sort = 0;
+            item.type = 2;
+          });
+          self.disCheckList2.chapterCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
             });
-            self.disCheckList2.examCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+          }
+        });
+      }
+      if (self.formData3.examType === 3) {
+        self.$api.inquirebankexamList(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 3) {
+              aList.push(item.examId);
             }
           });
+          res.rows.forEach((item) => {
+            item.ids = 3 + "-" + item.examId;
+            item.sort = 0;
+            item.type = 3;
+            item.name = item.examName;
+          });
+          self.disCheckList2.examCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
+            });
+          }
+        });
       }
     },
     submitTab2() {
@@ -2718,21 +2855,21 @@ export default {
       this.activeLists2 = lis;
     },
     checkboxT2(row, index) {
-      if (this.optionsNums === 1) {
+      if (this.formData3.examType === 1) {
         if (this.disCheckList2.moduleCheck.indexOf(row.moduleExamId) !== -1) {
           return false;
         } else {
           return true;
         }
       }
-      if (this.optionsNums === 2) {
+      if (this.formData3.examType === 2) {
         if (this.disCheckList2.chapterCheck.indexOf(row.chapterExamId) !== -1) {
           return false;
         } else {
           return true;
         }
       }
-      if (this.optionsNums === 3) {
+      if (this.formData3.examType === 3) {
         if (this.disCheckList2.examCheck.indexOf(row.examId) !== -1) {
           return false;
         } else {

+ 358 - 133
src/views/Marketing/commodityManageMent/edit/index.vue

@@ -53,6 +53,7 @@
             </el-form-item>
             <el-form-item label="教育类型" prop="educationTypeId">
               <el-select
+              disabled
                 v-model="listData.educationTypeId"
                 placeholder="请选择教育类型"
                 @change="changeEducationTypeId"
@@ -68,6 +69,7 @@
             </el-form-item>
             <el-form-item label="业务层次" prop="businessId">
               <el-select
+              disabled
                 v-model="listData.businessId"
                 placeholder="请选择业务层次"
                 @change="changeBusinessId"
@@ -862,19 +864,13 @@
           />
         </div>
       </div>
-      <el-select
-        v-model="optionsNums"
-        placeholder="请选择类型"
-        @change="editAddBoxs2"
-      >
-        <el-option
-          v-for="item in optionsType"
-          :key="item.value"
-          :label="item.label"
-          :value="item.value"
-        >
-        </el-option>
-      </el-select>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData3"
+        :formList="formList3"
+        @search="search3"
+        @init="init3"
+      />
       <el-table
         ref="multipleTable2"
         :data="boxtableData2"
@@ -933,13 +929,13 @@
           </el-table-column></template
         >
       </el-table>
-      <!-- <pagination
-        :total="total2"
-        :pageSize="pageSize2"
-        :currentPage="currentPage2"
-        @handleSizeChange="handleSizeChange2"
-        @handleCurrentChange="handleCurrentChange2"
-      /> -->
+      <pagination
+        :total="total3"
+        :pageSize="formData3.pageSize"
+        :currentPage="formData3.pageNum"
+        @handleSizeChange="handleSizeChange3"
+        @handleCurrentChange="handleCurrentChange3"
+      />
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisibleTableBoxs2 = false">取 消</el-button>
         <el-button type="primary" @click="submitTab2">确 定</el-button>
@@ -1688,19 +1684,21 @@ export default {
         status: 1,
         pageSize: 10, //每页多少条数据
         currentPage: 1, //当前页码
+        educationTypeId: "",
+        businessId: "",
       },
       formLists: [
-        {
-          prop: "educationTypeId",
-          placeholder: "教育类型",
-          scope: "educationType",
-        },
-        {
-          prop: "businessId",
-          placeholder: "业务层次",
-          scope: "businessLevel",
-          edu: "educationTypeId",
-        },
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
         {
           prop: "schoolId",
           placeholder: "院校",
@@ -1758,6 +1756,64 @@ export default {
       templateRadio: "",
       handoutsArray: undefined,
       handoutsIdTable: "",
+      total3: 0,
+      formData3: {
+        pageNum: 1,
+        pageSize: 10,
+        status: 1,
+        examType: 1,
+        educationTypeId: "",
+        businessId: "",
+        names:''
+      },
+      formList3: [
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        {
+          prop: "schoolId",
+          placeholder: "院校",
+          scope: "schoolList",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "majorId",
+          placeholder: "专业",
+          scope: "Professional",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "examType",
+          placeholder: "题卷类型",
+          scope: "select",
+          options: [
+            {
+              label: "模块卷",
+              value: 1,
+            },
+            {
+              label: "章卷",
+              value: 2,
+            },
+            {
+              label: "试卷",
+              value: 3,
+            },
+          ],
+        },
+        {
+          prop: "names",
+          placeholder: "请输入标题名称",
+        },
+      ],
       //   视频商品表格数据------------------------------------------------------------------------end
 
       //   题库商品表格数据------------------------------------------------------------------------start
@@ -2031,7 +2087,7 @@ export default {
     },
     getJyData(int) {
       if (int === 1) {
-        this.formDatas.pageNum = 1;
+        this.formDatajy.pageNum = 1;
       }
       if (int === 2) {
         this.formDatajy = {
@@ -2694,6 +2750,8 @@ export default {
           status: 1,
           pageSize: 10,
           pageNum: 1,
+          educationTypeId: this.listData.educationTypeId,
+          businessId: this.listData.businessId,
         };
       }
       this.$api.inquireCourseListS(this.formDatas).then((res) => {
@@ -2706,25 +2764,35 @@ export default {
     },
     editAddBoxs() {
       var self = this;
-      this.$api
-        .inquireCourseListS({
-          status: 1,
-          pageSize: 10,
-          pageNum: 1,
-        })
-        .then((res) => {
-          var aList = [];
-          this.tableData.map((item) => {
-            aList.push(item.courseId);
-          });
-          this.disCheckList = aList;
-          this.boxtableData = res.rows;
-          this.total = res.total;
-          this.dialogVisibleTableBoxs = true;
-          this.$nextTick(function () {
-            self.$refs.multipleTable.clearSelection();
-          });
+      var data = {
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+      };
+      if (this.listData.educationTypeId) {
+        data.educationTypeId = this.listData.educationTypeId;
+        this.formDatas.educationTypeId = this.listData.educationTypeId;
+      }
+      if (this.listData.businessId) {
+        data.businessId = this.listData.businessId;
+      }
+      this.$api.inquireCourseListS(data).then((res) => {
+        var aList = [];
+        this.tableData.map((item) => {
+          aList.push(item.courseId);
+        });
+        this.disCheckList = aList;
+        this.boxtableData = res.rows;
+        this.total = res.total;
+        this.dialogVisibleTableBoxs = true;
+        this.$nextTick(function () {
+          self.$refs.multipleTable.clearSelection();
+          self.$refs.searchBox.changeEducationType(
+            self.listData.educationTypeId
+          );
+          self.formDatas.businessId = self.listData.businessId;
         });
+      });
     },
     submitTab() {
       if (this.activeLists.length === 0) {
@@ -2791,101 +2859,258 @@ export default {
     changeOptionsType2() {
       this.editAddBoxs2(1);
     },
+    handleSizeChange3(v) {
+      this.formData3.pageSize = v;
+      this.formData3.pageNum = 1;
+      this.search3();
+    },
+    handleCurrentChange3(v) {
+      this.formData3.pageNum = v;
+      this.search3();
+    },
+    init3() {
+      this.formData3.pageSize = 10;
+      this.formData3.pageNum = 1;
+      // this.formData3.educationTypeId = "";
+      // this.formData3.businessId = "";
+      this.formData3.names = ''
+      this.search3();
+    },
+    search3(int) {
+      var self = this;
+      var data = JSON.parse(JSON.stringify(self.formData3))
+      if (self.formData3.examType === 1) {
+        data.moduleName = data.names
+        self.$api.inquireBankModule(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 1 + "-" + item.moduleExamId;
+            item.type = 1;
+            item.name = item.moduleName;
+            item.sort = 0;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+      if (self.formData3.examType === 2) {
+        data.name = data.names
+        self.$api.inquirebankchapterList(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 2 + "-" + item.chapterExamId;
+            item.sort = 0;
+            item.type = 2;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+      if (self.formData3.examType === 3) {
+        data.examName = data.names
+        self.$api.inquirebankexamList(data).then((res) => {
+          res.rows.forEach((item) => {
+            item.ids = 3 + "-" + item.examId;
+            item.sort = 0;
+            item.type = 3;
+            item.name = item.examName;
+          });
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+        });
+      }
+    },
     editAddBoxs2(int) {
       var self = this;
-      if (self.optionsNums === 1) {
-        self.$api
-          .inquireBankModule({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 1) {
-                aList.push(item.moduleExamId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 1 + "-" + item.moduleExamId;
-              item.type = 1;
-              item.name = item.moduleName;
-              item.sort = 0;
-            });
-            self.disCheckList2.moduleCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+      self.formData3.examType = 1
+      var data = JSON.parse(JSON.stringify(this.formData3));
+      if (this.listData.educationTypeId) {
+        data.educationTypeId = this.listData.educationTypeId;
+        this.formData3.educationTypeId = this.listData.educationTypeId;
+      }
+      if (this.listData.businessId) {
+        data.businessId = this.listData.businessId;
+      }
+      if (self.formData3.examType === 1) {
+        self.$api.inquireBankModule(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 1) {
+              aList.push(item.moduleExamId);
             }
           });
-      }
-      if (self.optionsNums === 2) {
-        self.$api
-          .inquirebankchapterList({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 2) {
-                aList.push(item.chapterExamId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 2 + "-" + item.chapterExamId;
-              item.sort = 0;
-              item.type = 2;
+          res.rows.forEach((item) => {
+            item.ids = 1 + "-" + item.moduleExamId;
+            item.type = 1;
+            item.name = item.moduleName;
+            item.sort = 0;
+          });
+          self.disCheckList2.moduleCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
             });
-            self.disCheckList2.chapterCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+          }
+        });
+      }
+      if (self.formData3.examType === 2) {
+        self.$api.inquirebankchapterList(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 2) {
+              aList.push(item.chapterExamId);
             }
           });
-      }
-      if (self.optionsNums === 3) {
-        self.$api
-          .inquirebankexamList({
-            status: 1,
-            // pageNum: self.currentPage2,
-            // pageSize: self.pageSize2,
-          })
-          .then((res) => {
-            var aList = [];
-            self.tableData2.map((item) => {
-              if (item.type === 3) {
-                aList.push(item.examId);
-              }
-            });
-            res.rows.forEach((item) => {
-              item.ids = 3 + "-" + item.examId;
-              item.sort = 0;
-              item.type = 3;
-              item.name = item.examName;
+          res.rows.forEach((item) => {
+            item.ids = 2 + "-" + item.chapterExamId;
+            item.sort = 0;
+            item.type = 2;
+          });
+          self.disCheckList2.chapterCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
             });
-            self.disCheckList2.examCheck = aList;
-            self.boxtableData2 = res.rows;
-            self.total2 = res.total;
-            self.dialogVisibleTableBoxs2 = true;
-            if (int === 1) {
-              self.$nextTick(function () {
-                self.$refs.multipleTable2.clearSelection();
-              });
+          }
+        });
+      }
+      if (self.formData3.examType === 3) {
+        self.$api.inquirebankexamList(data).then((res) => {
+          var aList = [];
+          self.tableData2.map((item) => {
+            if (item.type === 3) {
+              aList.push(item.examId);
             }
           });
+          res.rows.forEach((item) => {
+            item.ids = 3 + "-" + item.examId;
+            item.sort = 0;
+            item.type = 3;
+            item.name = item.examName;
+          });
+          self.disCheckList2.examCheck = aList;
+          self.boxtableData2 = res.rows;
+          self.total3 = res.total;
+          self.dialogVisibleTableBoxs2 = true;
+          if (int === 1) {
+            self.$nextTick(function () {
+              self.$refs.multipleTable2.clearSelection();
+              self.$refs.searchBox.changeEducationType(
+                self.listData.educationTypeId
+              );
+              self.formData3.businessId = self.listData.businessId;
+            });
+          }
+        });
       }
     },
+    // editAddBoxs2(int) {
+    //   var self = this;
+    //   if (self.optionsNums === 1) {
+    //     self.$api
+    //       .inquireBankModule({
+    //         status: 1,
+    //         // pageNum: self.currentPage2,
+    //         // pageSize: self.pageSize2,
+    //       })
+    //       .then((res) => {
+    //         var aList = [];
+    //         self.tableData2.map((item) => {
+    //           if (item.type === 1) {
+    //             aList.push(item.moduleExamId);
+    //           }
+    //         });
+    //         res.rows.forEach((item) => {
+    //           item.ids = 1 + "-" + item.moduleExamId;
+    //           item.type = 1;
+    //           item.name = item.moduleName;
+    //           item.sort = 0;
+    //         });
+    //         self.disCheckList2.moduleCheck = aList;
+    //         self.boxtableData2 = res.rows;
+    //         self.total2 = res.total;
+    //         self.dialogVisibleTableBoxs2 = true;
+    //         if (int === 1) {
+    //           self.$nextTick(function () {
+    //             self.$refs.multipleTable2.clearSelection();
+    //           });
+    //         }
+    //       });
+    //   }
+    //   if (self.optionsNums === 2) {
+    //     self.$api
+    //       .inquirebankchapterList({
+    //         status: 1,
+    //         // pageNum: self.currentPage2,
+    //         // pageSize: self.pageSize2,
+    //       })
+    //       .then((res) => {
+    //         var aList = [];
+    //         self.tableData2.map((item) => {
+    //           if (item.type === 2) {
+    //             aList.push(item.chapterExamId);
+    //           }
+    //         });
+    //         res.rows.forEach((item) => {
+    //           item.ids = 2 + "-" + item.chapterExamId;
+    //           item.sort = 0;
+    //           item.type = 2;
+    //         });
+    //         self.disCheckList2.chapterCheck = aList;
+    //         self.boxtableData2 = res.rows;
+    //         self.total2 = res.total;
+    //         self.dialogVisibleTableBoxs2 = true;
+    //         if (int === 1) {
+    //           self.$nextTick(function () {
+    //             self.$refs.multipleTable2.clearSelection();
+    //           });
+    //         }
+    //       });
+    //   }
+    //   if (self.optionsNums === 3) {
+    //     self.$api
+    //       .inquirebankexamList({
+    //         status: 1,
+    //         // pageNum: self.currentPage2,
+    //         // pageSize: self.pageSize2,
+    //       })
+    //       .then((res) => {
+    //         var aList = [];
+    //         self.tableData2.map((item) => {
+    //           if (item.type === 3) {
+    //             aList.push(item.examId);
+    //           }
+    //         });
+    //         res.rows.forEach((item) => {
+    //           item.ids = 3 + "-" + item.examId;
+    //           item.sort = 0;
+    //           item.type = 3;
+    //           item.name = item.examName;
+    //         });
+    //         self.disCheckList2.examCheck = aList;
+    //         self.boxtableData2 = res.rows;
+    //         self.total2 = res.total;
+    //         self.dialogVisibleTableBoxs2 = true;
+    //         if (int === 1) {
+    //           self.$nextTick(function () {
+    //             self.$refs.multipleTable2.clearSelection();
+    //           });
+    //         }
+    //       });
+    //   }
+    // },
     submitTab2() {
       if (
         this.activeLists2.moduleCheck.length === 0 &&

+ 54 - 37
src/views/Marketing/commodityManageMent/index.vue

@@ -50,6 +50,7 @@ export default {
         index: 0,
         ch: "条",
         num: false,
+        border:true,
         choice: true,
         addHide: false,
         backFatherBtn: {
@@ -83,40 +84,47 @@ export default {
           scope: "Professional",
           edu: "educationTypeId",
         },
-        // {
-        //   prop: "status",
-        //   placeholder: "支付状态",
-        //   scope: "select",
-        //   options: [
-        //     {
-        //       label: "完全收费",
-        //       value: 1,
-        //     },
-        //     {
-        //       label: "部分收费",
-        //       value: 2,
-        //     },
-        //     {
-        //       label: "未收费",
-        //       value: 3,
-        //     },
-        //   ],
-        // },
-        // {
-        //   prop: "orderStatus",
-        //   placeholder: "订单状态",
-        //   scope: "select",
-        //   options: [
-        //     {
-        //       label: "已上架",
-        //       value: 1,
-        //     },
-        //     {
-        //       label: "未上架",
-        //       value: 0,
-        //     },
-        //   ],
-        // },
+        {
+          prop: "status",
+          placeholder: "商品状态",
+          scope: "select",
+          options: [
+            {
+              label: "全部状态",
+              value: "0,1",
+            },
+            {
+              label: "有效",
+              value: 1,
+            },
+            {
+              label: "无效",
+              value: 0,
+            },
+          ],
+        },
+        {
+          prop: "goodsStatus",
+          placeholder: "前台可售状态",
+          scope: "select",
+          options: [
+            {
+              label: "已上架",
+              value: 1,
+            },
+            {
+              label: "未上架",
+              value: 0,
+            },
+          ],
+        },
+        {
+          prop1: "validityStartTime",
+          prop2: "validityEndTime",
+          placeholder1: "商品有效期开始时间",
+          placeholder2: "商品有效期结束时间",
+          scope: "moreDataPicker",
+        },
         // {
         //   prop: "orderGoodsStatus",
         //   placeholder: "退款状态",
@@ -172,9 +180,11 @@ export default {
         },
         {
           label: "业务层次",
-          prop: "businessName",
+          prop1: "projectName",
+          prop2: "businessName",
           hidden: true,
-          width:"120px"
+          width:"220px",
+          scope:"InfoMore"
         },
         {
           label: "教育类型",
@@ -273,7 +283,14 @@ export default {
       if(int === 3){
         this.formData.pageNum = 1
       }
-      this.$api.inquireGoods(this.formData).then((res) => {
+      var data = JSON.parse(JSON.stringify(this.formData))
+      if (this.formData.validityStartTime) {
+        data.validityStartTime = data.validityStartTime / 1000
+      }
+      if (this.formData.validityEndTime) {
+        data.validityEndTime = data.validityEndTime / 1000
+      }
+      this.$api.inquireGoods(data).then((res) => {
         this.tableData = res.rows;
         this.total = res.total;
         this.navText.index = res.total;

+ 3 - 1
src/views/Marketing/commodityManageMent/poppleSet.vue

@@ -70,7 +70,7 @@ export default {
       dialogVisible: false,
       layoutTreeProps: {
         label(data, node) {
-          return data.prefixName || data.menuName;
+          return data.courseName || data.categoryName || data.name || data.menuName;
         },
         isLeaf(data, node) {
           return !data.hasChildren;
@@ -138,6 +138,7 @@ export default {
         return;
       }
       var arrays = this.$refs.trees.getCheckedNodes()
+      console.log(arrays)
       for(let i = 0; i < arrays.length;i++){
         for(let j = 0; j < this.auditionListCope.length;j++){
           if(arrays[i].TypeId === this.auditionListCope[j].TypeId){
@@ -159,6 +160,7 @@ export default {
       //     });
       //   }
       // });
+      console.log(this.auditionListCope,123123)
       this.$emit("uploadArrays", this.auditionListCope);
       this.dialogVisible = false;
     },

+ 1 - 1
src/views/Marketing/orderList/add/order/index.vue

@@ -235,7 +235,7 @@
           <img
             src="@/assets/images/Close@2x.png"
             alt=""
-            @click="dialogCG = false"
+            @click="dialogVisibleTableBoxs = false"
           />
         </div>
       </div>

+ 1 - 1
src/views/education/classManageMent/classList/index.vue

@@ -176,7 +176,7 @@ export default {
           label: "班主任",
           prop: "nickName",
           hidden: true,
-        },
+        }, 
         {
           label: "班级人数",
           prop1: "studentNum",

+ 14 - 7
src/views/education/classManageMent/studentMenu/index.vue

@@ -524,7 +524,7 @@ export default {
       },
       totalClass: 0,
       formDataClass: {
-        atFull:1,
+        atFull: 1,
         goodsId: this.$route.query.goodsId,
         status: "0,1",
         pageSize: 10,
@@ -595,6 +595,7 @@ export default {
           prop1: "studyStartTime",
           prop2: "studyEndTime",
           hidden: true,
+          Diszing: false,
           scope: "TimeLists",
           width: "220px",
         },
@@ -768,12 +769,18 @@ export default {
         // }
         this.$api.obtainGoods(this.$route.query.goodsId).then((res) => {
           this.obtainGoods = res.data;
-          this.dialogVisibleTable = true;
-        });
-        this.$api.inquireGradegradeList(this.formDataClass).then((res) => {
-          this.totalClass = res.total;
-          this.tableDataClass = res.rows;
-          this.templateRadio = parseInt(this.$route.query.id);
+          this.$api.inquireGradegradeList(this.formDataClass).then((res) => {
+            if (!res.rows.length) {
+              this.$message.warning(
+                "暂无匹配班级,请先确保“有未满学员的有效班级”,再选班!"
+              );
+              return;
+            }
+            this.totalClass = res.total;
+            this.tableDataClass = res.rows;
+            this.templateRadio = parseInt(this.$route.query.id);
+            this.dialogVisibleTable = true;
+          });
         });
       }
     },

+ 390 - 59
src/views/education/dataReview/informationTemplate/index.vue

@@ -109,7 +109,6 @@
                 </el-select>
                 <el-popover
                   placement="bottom"
-                  width="200"
                   trigger="click"
                   :disabled="eduType ? false : true"
                 >
@@ -118,7 +117,9 @@
                       v-for="(item, index) in itemOption2"
                       :label="item.id"
                       :key="index"
-                      >{{ item.projectName + '-' + item.businessName }}</el-checkbox
+                      >{{
+                        item.projectName + "-" + item.businessName
+                      }}</el-checkbox
                     >
                   </el-checkbox-group>
                   <el-button
@@ -176,8 +177,13 @@
                 class="dis_fls"
               >
                 <div>
-                  <el-button type="text" @click="del1(index)">删除</el-button>
-                  {{ item.fieldName }}
+                  <el-button
+                    type="text"
+                    @click="del1(index)"
+                    style="margin-right: 14px"
+                    >删除</el-button
+                  >
+                  {{ item.fieldName }}{{ item.required ? " (必填)" : "" }}
                 </div>
                 <div style="margin-right: 10px"></div>
               </li>
@@ -198,8 +204,13 @@
                 class="dis_fls"
               >
                 <div>
-                  <el-button type="text" @click="del2(index)">删除</el-button>
-                  {{ item.fieldName }}
+                  <el-button
+                    type="text"
+                    @click="del2(index)"
+                    style="margin-right: 14px"
+                    >删除</el-button
+                  >
+                  {{ item.fieldName }}{{ item.required ? " (必填)" : "" }}
                 </div>
                 <div style="margin-right: 10px"></div>
               </li>
@@ -231,11 +242,15 @@
         </div>
       </div>
       <header>{{ listData.name }}</header>
-      <el-row :gutter="20">
+      <el-row :gutter="20" style="background-color: #999">
         <el-col :span="12">
           <ul>
             <template v-for="(item, index) in listData.keyValue">
-              <li :key="index" v-if="item.inputType === 1" class="autoFlex">
+              <li
+                :key="index"
+                v-if="item.inputType === 1"
+                class="autoFlex bgcFFF"
+              >
                 <span
                   ><i class="required" v-if="item.required">*</i
                   >{{ item.fieldName }}</span
@@ -247,7 +262,7 @@
               <li
                 :key="index"
                 v-if="item.inputType === 2 || item.inputType === 5"
-                class="autoFlex"
+                class="autoFlex bgcFFF"
               >
                 <span
                   ><i class="required" v-if="item.required">*</i
@@ -258,15 +273,111 @@
                   }}<i class="el-icon-arrow-right"></i
                 ></span>
               </li>
-              <li :key="index" v-if="item.inputType === 3"></li>
-              <li :key="index" v-if="item.inputType === 4"></li>
+              <li
+                :key="index"
+                v-if="item.inputType === 3"
+                class="borstyflex bgcFFF"
+              >
+                <div class="autoFlex" style="border: 1px solid transparent">
+                  <span
+                    ><i class="required" v-if="item.required">*</i
+                    >{{ item.fieldName }}</span
+                  >
+                  <div style="display: flex; align-items: center">
+                    <i
+                      v-if="item.fieldKey !== 'commitment_electr_signature'"
+                      class="el-icon-warning-outline"
+                      style="
+                        font-weight: bold;
+                        color: red;
+                        font-size: 20px;
+                        margin-right: 6px;
+                      "
+                    ></i>
+                    <div v-if="item.fieldKey === 'recent_photos'">
+                      证件照竖向<br />文件大小下≤2M
+                    </div>
+                    <div v-if="item.fieldKey === 'idcard_face_photo'">
+                      人像面(横向)<br />文件大小下≤2M
+                    </div>
+                    <div v-if="item.fieldKey === 'idcard_national_photo'">
+                      国徽面(横向)<br />文件大小下≤2M
+                    </div>
+                  </div>
+                </div>
+                <div v-if="item.fieldKey === 'commitment_electr_signature'">
+                  <p>
+                    本人自愿做出如下承诺:<br />本人己仔细阅读《广东
+                    省住房和城乡建设厅关于推进住房和城乡建设领域施
+                    工现场专业人员职业培训工作的通知》
+                    全部内容并知晓和理解,本人的学历证书、身份证、工作年限、相片等所有资料完全真实、符合报名条件、资格审查要求和相关规定,本人在报名、审查、培训、测试等有关的事项中会严格道守相关规定和要求,如有虛假或与实际规定不符等情况造成的一切后果由本人承担。<br />
+                    特此承诺!
+                  </p>
+                  <div>
+                    <p style="color: red; text-align: center">
+                      签名板(请在此处进行签名)
+                    </p>
+                    <div class="poters">手动签名区</div>
+                  </div>
+                </div>
+                <div v-else style="text-align: center">
+                  <img
+                    class="imgs"
+                    src="../../../../assets/images/imgpng.png"
+                    alt="加载失败"
+                  />
+                </div>
+              </li>
+              <li
+                :key="index"
+                v-if="item.inputType === 4"
+                class="borstyflex bgcFFF"
+              >
+                <div class="autoFlex" style="border: 1px solid transparent">
+                  <span
+                    ><i class="required" v-if="item.required">*</i
+                    >{{ item.fieldName }}</span
+                  >
+                  <div style="display: flex; align-items: center">
+                    <i
+                      class="el-icon-warning-outline"
+                      style="
+                        font-weight: bold;
+                        color: red;
+                        font-size: 20px;
+                        margin-right: 6px;
+                      "
+                    ></i>
+                    <div
+                      v-if="item.fieldKey === 'commitment_seal'"
+                      style="font-size: 12px"
+                    >
+                      下载承诺书进行填写盖章<br />并上传<br />文件大小下≤2M
+                      <el-button type="text" @click="getDowm"
+                        >点击下载</el-button
+                      >
+                    </div>
+                  </div>
+                </div>
+                <div style="text-align: center">
+                  <img
+                    class="imgs"
+                    src="../../../../assets/images/imgsqty.png"
+                    alt="加载失败"
+                  />
+                </div>
+              </li>
             </template>
           </ul>
         </el-col>
         <el-col :span="12">
           <ul>
             <template v-for="(item, index) in listData.keyValue2">
-              <li :key="index" v-if="item.inputType === 1" class="autoFlex">
+              <li
+                :key="index"
+                v-if="item.inputType === 1"
+                class="autoFlex bgcFFF"
+              >
                 <span
                   ><i class="required" v-if="item.required">*</i
                   >{{ item.fieldName }}</span
@@ -278,7 +389,7 @@
               <li
                 :key="index"
                 v-if="item.inputType === 2 || item.inputType === 5"
-                class="autoFlex"
+                class="autoFlex bgcFFF"
               >
                 <span
                   ><i class="required" v-if="item.required">*</i
@@ -289,8 +400,100 @@
                   }}<i class="el-icon-arrow-right"></i
                 ></span>
               </li>
-              <li :key="index" v-if="item.inputType === 3"></li>
-              <li :key="index" v-if="item.inputType === 4"></li>
+              <li
+                :key="index"
+                v-if="item.inputType === 3"
+                class="borstyflex bgcFFF"
+              >
+                <div class="autoFlex" style="border: 1px solid transparent">
+                  <span
+                    ><i class="required" v-if="item.required">*</i
+                    >{{ item.fieldName }}</span
+                  >
+                  <div style="display: flex; align-items: center">
+                    <i
+                      v-if="item.fieldKey !== 'commitment_electr_signature'"
+                      class="el-icon-warning-outline"
+                      style="
+                        font-weight: bold;
+                        color: red;
+                        font-size: 20px;
+                        margin-right: 6px;
+                      "
+                    ></i>
+                    <div v-if="item.fieldKey === 'recent_photos'">
+                      证件照竖向<br />文件大小下≤2M
+                    </div>
+                    <div v-if="item.fieldKey === 'idcard_face_photo'">
+                      人像面(横向)<br />文件大小下≤2M
+                    </div>
+                    <div v-if="item.fieldKey === 'idcard_national_photo'">
+                      国徽面(横向)<br />文件大小下≤2M
+                    </div>
+                  </div>
+                </div>
+                <div v-if="item.fieldKey === 'commitment_electr_signature'">
+                  <p>
+                    本人自愿做出如下承诺:<br />本人己仔细阅读《广东
+                    省住房和城乡建设厅关于推进住房和城乡建设领域施
+                    工现场专业人员职业培训工作的通知》
+                    全部内容并知晓和理解,本人的学历证书、身份证、工作年限、相片等所有资料完全真实、符合报名条件、资格审查要求和相关规定,本人在报名、审查、培训、测试等有关的事项中会严格道守相关规定和要求,如有虛假或与实际规定不符等情况造成的一切后果由本人承担。<br />
+                    特此承诺!
+                  </p>
+                  <div>
+                    <p style="color: red; text-align: center">
+                      签名板(请在此处进行签名)
+                    </p>
+                    <div class="poters">手动签名区</div>
+                  </div>
+                </div>
+                <div v-else style="text-align: center">
+                  <img
+                    class="imgs"
+                    src="../../../../assets/images/imgpng.png"
+                    alt="加载失败"
+                  />
+                </div>
+              </li>
+              <li
+                :key="index"
+                v-if="item.inputType === 4"
+                class="borstyflex bgcFFF"
+              >
+                <div class="autoFlex" style="border: 1px solid transparent">
+                  <span
+                    ><i class="required" v-if="item.required">*</i
+                    >{{ item.fieldName }}</span
+                  >
+                  <div style="display: flex; align-items: center">
+                    <i
+                      class="el-icon-warning-outline"
+                      style="
+                        font-weight: bold;
+                        color: red;
+                        font-size: 20px;
+                        margin-right: 6px;
+                      "
+                    ></i>
+                    <div
+                      v-if="item.fieldKey === 'commitment_seal'"
+                      style="font-size: 12px"
+                    >
+                      下载承诺书进行填写盖章<br />并上传<br />文件大小下≤2M
+                      <el-button type="text" @click="getDowm"
+                        >点击下载</el-button
+                      >
+                    </div>
+                  </div>
+                </div>
+                <div style="text-align: center">
+                  <img
+                    class="imgs"
+                    src="../../../../assets/images/imgsqty.png"
+                    alt="加载失败"
+                  />
+                </div>
+              </li>
             </template>
           </ul>
         </el-col>
@@ -408,6 +611,13 @@
           />
         </div>
       </div>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData5"
+        :formList="formList5"
+        @search="getInfosCX(1)"
+        @init="init5"
+      />
       <el-table
         ref="multipleTable"
         :data="boxtableData"
@@ -473,12 +683,19 @@
         >
       </el-table>
       <pagination
+        :total="total5"
+        :pageSize="formData5.pageSize"
+        :currentPage="formData5.pageNum"
+        @handleSizeChange="handleSizeChange5"
+        @handleCurrentChange="handleCurrentChange5"
+      />
+      <!-- <pagination
         :total="totalAss"
         :pageSize="pageSize"
         :currentPage="currentPage"
         @handleSizeChange="handleSizeChangeAss"
         @handleCurrentChange="handleCurrentChangeAss"
-      />
+      /> -->
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisibleAss = false">取 消</el-button>
         <el-button
@@ -569,12 +786,14 @@
     </el-dialog>
   </div>
 </template>
-
+<!-- 输入类型 1输入框 2下拉选择 3上传文件 4下载文件 5时间选择器 -->
 <script>
+import * as baseUrls from "@/utils/methodsTool.js";
+import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
 export default {
-  components: { tableList, pagination },
+  components: { searchBoxNew, tableList, pagination },
   data() {
     return {
       changeHeight: true,
@@ -585,6 +804,7 @@ export default {
         ch: "条",
         num: true,
         choice: true,
+        border: true,
         addHide: false,
         backFatherBtn: {
           status: false,
@@ -640,6 +860,35 @@ export default {
         pageSize: 10,
         pageNum: 1,
       },
+      //搜索
+      formList: [
+        {
+          prop: "educationId",
+          placeholder: "教育类型",
+          scope: "educationType",
+        },
+        {
+          prop: "businessId",
+          placeholder: "业务层次",
+          scope: "businessLevel",
+          edu: "educationId",
+        },
+        {
+          prop: "subjectId",
+          placeholder: "科目",
+          scope: "sujectType",
+          edu: "educationId",
+        },
+        {
+          prop: "type",
+          placeholder: "题目类型",
+          scope: "selectBank",
+        },
+        {
+          prop: "prefixName",
+          placeholder: "请输入标题前缀",
+        },
+      ],
       total: 0, //一共多少条
       options1: [],
       options2: [],
@@ -702,9 +951,20 @@ export default {
       userList: [],
 
       activeLists: [],
-      totalAss: 0,
-      pageSize: 10,
-      currentPage: 1,
+      total5: 0,
+      formData5: {
+        goodsType: 1,
+        status: 1,
+        goodsStatus: 1,
+        pageNum: 1,
+        pageSize: 10,
+      },
+      formList5: [
+        {
+          prop: "goodsName",
+          placeholder: "请输入商品名称",
+        },
+      ],
       tableSetAss: [
         {
           label: "商品编码",
@@ -779,7 +1039,7 @@ export default {
       ],
       boxtableDataIsActive: [],
       dialogVisibleisActive: false,
-      ars:'',//关联业务层级储存
+      ars: "", //关联业务层级储存
       //表单验证
       rules: {
         name: [{ required: true, message: "请输入模板标题", trigger: "blur" }],
@@ -788,7 +1048,7 @@ export default {
         ],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
       },
-      activeListGoods:[]
+      activeListGoods: [],
     };
   },
   watch: {
@@ -803,11 +1063,21 @@ export default {
     this.getUserInfoList();
   },
   methods: {
-  getActiveList(){
-    this.$api.inquirebaseprofilefieldgoods_list().then(res =>{
-      this.activeListGoods = res.data.map(Number)
-    })
-  },
+    getDowm() {
+      let url = baseUrls.BASE_IMG_URL + "/oss/images/file/20211214.docx";
+      let link = document.createElement("a");
+      let fileName = "导入模板" + ".xlsx";
+      document.body.appendChild(link);
+      link.href = url;
+      link.dowmload = fileName;
+      link.click();
+      link.remove();
+    },
+    getActiveList() {
+      this.$api.inquirebaseprofilefieldgoods_list().then((res) => {
+        this.activeListGoods = res.data.map(Number);
+      });
+    },
     delIsActive(item) {
       this.boxtableDataIsActive = this.boxtableDataIsActive.filter((items) => {
         return items.goodsId !== item.goodsId;
@@ -863,15 +1133,15 @@ export default {
       v.businessList.map((item) => {
         ars.push(item.businessId);
       });
-      this.ars = ars.toString()
+      this.ars = ars.toString();
       this.$api
         .inquireGoods({
-          goodsType:1,
+          goodsType: 1,
           businessIds: this.ars,
-          status: "0,1",
+          status: 1,
           goodsStatus: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
+          pageNum: 1,
+          pageSize: 10,
         })
         .then((res) => {
           if (v.goodsIds) {
@@ -881,7 +1151,7 @@ export default {
             this.disCheckList = [];
           }
           this.boxtableData = res.rows;
-          this.totalAss = res.total;
+          this.total5 = res.total;
           this.dialogVisibleAss = true;
           this.id = v.profileTpId;
           this.$nextTick(function () {
@@ -905,28 +1175,27 @@ export default {
     getRowKeys(row) {
       return row.goodsId;
     },
-    handleSizeChangeAss(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
-      this.getInfosCX();
-    },
-    handleCurrentChangeAss(v) {
-      this.currentPage = v;
-      this.getInfosCX();
+    init5() {
+      this.getInfosCX(2);
     },
-    getInfosCX() {
-      this.$api
-        .inquireGoods({
-          businessIds:this.ars,
-          status: "0,1",
+    getInfosCX(int) {
+      if (int === 1) {
+        this.formData5.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData5 = {
+          goodsType: 1,
+          status: 1,
           goodsStatus: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
-        })
-        .then((res) => {
-          this.boxtableData = res.rows;
-          this.totalAss = res.total;
-        });
+          pageNum: 1,
+          pageSize: 10,
+        };
+      }
+      this.formData5.businessIds = this.ars;
+      this.$api.inquireGoods(this.formData5).then((res) => {
+        this.boxtableData = res.rows;
+        this.total5 = res.total;
+      });
     },
     openYL() {
       this.dialogVisYL = true;
@@ -949,10 +1218,19 @@ export default {
       }
     },
     changeStatus1s(item, index) {
+      console.log(this.pzList1sss, 123);
       if (item.required) {
         item.required = false;
       } else {
-        item.required = true;
+        var ars = this.pzList1sss.some((items) => {
+          return items.fieldKey === item.fieldKey;
+        });
+        if (ars) {
+          item.required = true;
+        } else {
+          this.$message.warning("请先勾选相对应的配置项,再勾选对应必填项");
+          return;
+        }
       }
       this.pzList1sss.map((items) => {
         if (items.fieldKey === item.fieldKey) {
@@ -973,6 +1251,15 @@ export default {
       if (item.required) {
         item.required = false;
       } else {
+        var ars = this.pzList2sss.some((items) => {
+          return items.fieldKey === item.fieldKey;
+        });
+        if (ars) {
+          item.required = true;
+        } else {
+          this.$message.warning("请先勾选相对应的配置项,再勾选对应必填项");
+          return;
+        }
         item.required = true;
       }
       this.pzList2sss.map((items) => {
@@ -1025,6 +1312,11 @@ export default {
       this.dialogVisibleLitsing1 = false;
     },
     submitLitsing() {
+      for(let i =0; i < this.pzList1sss.length;i++){
+        if(this.pzList1sss[i].fieldKey === 'commitment_seal'){
+          this.pzList1sss[i].url = '/oss/images/file/20211214.docx'
+        }
+      }
       this.listData.keyValue = this.pzList1sss;
       this.dialogVisibleLitsing1 = false;
     },
@@ -1057,8 +1349,14 @@ export default {
       this.dialogVisibleLitsing2 = false;
     },
     submitLitsing2() {
+      for(let i =0; i < this.pzList2sss.length;i++){
+        if(this.pzList2sss[i].fieldKey === 'commitment_seal'){
+          this.pzList2sss[i].url = '/oss/images/file/20211214.docx'
+        }
+      }
       this.listData.keyValue2 = this.pzList2sss;
       this.dialogVisibleLitsing2 = false;
+      console.log(this.pzList2sss)
     },
     getMessage() {
       if (!this.eduType) {
@@ -1089,14 +1387,14 @@ export default {
       this.itemOption2 = array;
     },
     initOptions() {
-      this.$api.inquireCourseEducationType().then((res) => {
+      this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
         var array = [];
         res.rows.map((item) => {
           array.push({ label: item.educationName, value: item.id });
         });
         this.options1 = array;
       });
-      this.$api.inquirebusinessList().then((res) => {
+      this.$api.inquirebusinessList({status:1}).then((res) => {
         this.courseProjectType = res.rows;
         this.options2 = res.rows;
       });
@@ -1122,7 +1420,7 @@ export default {
           this.tableData = res.rows;
           this.total = res.total;
           this.navText.index = res.total;
-          this.getActiveList()
+          this.getActiveList();
         })
         .finally(() => {
           this.loading = false;
@@ -1247,11 +1545,23 @@ export default {
       this.formData.pageNum = v;
       this.search();
     },
+    handleSizeChange5(v) {
+      this.formData5.pageSize = v;
+      this.formData5.pageNum = 1;
+      this.getInfosCX();
+    },
+    handleCurrentChange5(v) {
+      this.formData5.pageNum = v;
+      this.getInfosCX();
+    },
   },
 };
 </script>
 
 <style lang="less" scoped>
+.bgcFFF {
+  background-color: #fff;
+}
 .dis_fls {
   display: flex;
   align-items: center;
@@ -1312,14 +1622,25 @@ export default {
   align-items: center;
   justify-content: space-between;
   border: 1px solid #eee;
-  height: 50px;
   padding: 0px 18px;
   margin-bottom: 4px;
+  min-height: 50px;
   .required {
     color: brown;
     margin-right: 6px;
   }
 }
+.borstyflex {
+  border: 1px solid #eee;
+  padding: 0px 18px;
+  margin-bottom: 4px;
+  .imgs {
+    width: 280px;
+    height: 190px;
+    border: 1px solid #eee;
+    margin-bottom: 6px;
+  }
+}
 /deep/.el-button {
   border-radius: 8px;
 }
@@ -1443,5 +1764,15 @@ export default {
   border-bottom: 1px dashed #eee;
   padding-bottom: 6px;
 }
+.poters {
+  border-radius: 4px;
+  border: 1px solid #666;
+  background-color: #eee;
+  text-align: center;
+  height: 100px;
+  line-height: 100px;
+  color: #999;
+  margin-bottom: 6px;
+}
 </style>
 

+ 146 - 49
src/views/education/examManagement/applicationData/asPlanned.vue

@@ -34,10 +34,16 @@
         >
       </template>
       <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="examBox(props.scope.row, 2)"
+        <el-button
+          type="text"
+          @click="examBox(props.scope.row, 2)"
+          :disabled="props.scope.row.subscribeStatus === 2"
           >考试登记</el-button
         >
-        <el-button type="text" @click="openZS(props.scope.row, 2)"
+        <el-button
+          type="text"
+          @click="openZS(props.scope.row, 2)"
+          :disabled="props.scope.row.subscribeStatus === 2"
           >成绩和证书登记</el-button
         >
       </template>
@@ -261,10 +267,57 @@
         <el-button type="primary" @click="submitChecksPals">确定</el-button>
       </span>
     </el-dialog>
+    <el-dialog
+      :visible.sync="dialogDR"
+      width="660px"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">导入</div>
+        <div class="rightBoxs">
+          <img
+            src="@/assets/images/Close@2x.png"
+            alt=""
+            @click="dialogDR = false"
+          />
+        </div>
+      </div>
+      <div>
+        <div class="swq">
+          <img
+            style="width: 182px; height: 168px"
+            src="@/assets/images/dr.png"
+            alt=""
+          />
+        </div>
+        <div style="padding-left:100px;">
+          <p>第一步:下载导入模板</p>
+          <p style="padding-left:50px;"><i class="el-icon-upload"></i><span class="dowmStys" @click="getDowm">下载模板</span></p>
+          <p>第一步:下载导入模板</p>
+          <label
+          for="mobles"
+          class="el-button el-button--primary"
+          style="margin-left: 50px; padding: 10px 20px"
+          >上传Excel</label
+        ><input
+          style="display: none"
+          type="file"
+          id="mobles"
+          @change="importMoble"
+        />
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogDR = false">取消</el-button>
+        <el-button type="primary" @click="submitChecksDR">确定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
+import * as baseUrls from '@/utils/methodsTool.js'
 import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
@@ -343,7 +396,7 @@ export default {
       // 表单
       tableSet: [
         {
-          label: "预约考试",
+          label: "预约状态",
           prop: "subscribeStatus",
           hidden: true,
           width: "130px",
@@ -467,10 +520,13 @@ export default {
         },
         {
           label: "预约场次(考试地点和时间)",
-          prop: "examApplySite",
+          prop1: "applySiteAddress",
+          prop2: "applySiteExamTime",
+          prop3: "applySiteStartTime",
+          prop4: "applySiteEndTime",
           hidden: true,
           width: "280px",
-          scope: "applyInfos",
+          scope: "changAdress",
         },
         {
           label: "考试次数消耗",
@@ -480,10 +536,13 @@ export default {
         },
         {
           label: "预约场次(考培地点和时间)",
-          prop: "examApplySiteTrain",
+          prop1: "applySiteAddressTrain",
+          prop2: "applySiteExamTrainTime",
+          prop3: "applySiteStartTrainTime",
+          prop4: "applySiteEndTrainTime",
           hidden: true,
           width: "280px",
-          scope: "applyInfos",
+          scope: "changAdress",
         },
         {
           label: "前培次数消耗",
@@ -505,6 +564,7 @@ export default {
       dialogDJ: false,
       dialogQP: false,
       dialogPLS: false,
+      dialogDR: false,
       listData: {},
       rules: {
         examStatus: [
@@ -522,6 +582,26 @@ export default {
     this.getQP();
   },
   methods: {
+    getDowm(){
+      let url =baseUrls.BASE_IMG_URL + "/oss/images/file/20211213.xls";
+      let link = document.createElement("a");
+      let fileName = "导入模板" + ".xlsx";
+      document.body.appendChild(link);
+      link.href = url;
+      link.dowmload = fileName;
+      link.click();
+      link.remove();
+    },
+    importMoble(e) {
+      var self = this;
+      var file = e.target.files[0];
+      let formData = new FormData();
+      formData.append("file", file);
+      // this.$api.importDatabankquestion(formData).then((res) => {
+      //     self.$message.success("导入成功");
+      //     self.search();
+      // });
+    },
     openZS(row, int) {
       if (row.examStatus !== 1) {
         this.$message.warning("考试登记状态为正常的计划才可执行该操作");
@@ -566,7 +646,12 @@ export default {
         this.optionsList = res.rows;
       });
     },
+    submitChecksDR() {},
     moreActive(int) {
+      if (int === 1) {
+        this.dialogDR = true;
+        return;
+      }
       if (!this.$refs.tableList.allCheckData.length) {
         this.$message.warning("请勾选需要操作的计划");
         return;
@@ -591,17 +676,17 @@ export default {
         this.peopleList = JSON.parse(
           JSON.stringify(this.$refs.tableList.allCheckData)
         );
-        var ast = this.peopleList.every((item) => {
-          return item.examStatus === 0;
-        });
-        if (ast) {
-          this.listData = {};
-          this.ints = 2;
-          this.dialogCG = true;
-        } else {
-          this.$message.warning("请勾选考试登记为待登记的计划");
-          return;
-        }
+        // var ast = this.peopleList.every((item) => {
+        //   return item.examStatus === 0;
+        // });
+        // if (ast) {
+        this.listData = {};
+        this.ints = 2;
+        this.dialogCG = true;
+        // } else {
+        //   this.$message.warning("请勾选考试登记为待登记的计划");
+        //   return;
+        // }
       }
       if (int === 4) {
         this.peopleList = JSON.parse(
@@ -637,9 +722,13 @@ export default {
           this.beforeStatus = "";
           this.dialogQP = true;
         } else {
-          this.$message.warning(
-            "请勾选考试登记为待登记和预约状态为正常以及存在预约前培场次"
-          );
+          this.$message({
+            type: "warning",
+            duration: 7000,
+            showClose: true,
+            message:
+              "请勾选考试登记为待登记和预约状态为正常以及存在预约前培场次",
+          });
           return;
         }
       }
@@ -759,34 +848,34 @@ export default {
       this.$api
         .inquiresystemsubscribelist(this.formData)
         .then((res) => {
-          for (let k = 0; k < res.rows.length; k++) {
-            for (let i = 0; i < res.rows[k].examApplySite.length; i++) {
-              for (
-                let j = 0;
-                j < res.rows[k].examApplySite[i].examApplySiteTime.length;
-                j++
-              ) {
-                res.rows[k].examApplySite[i].examApplySiteTime[j].siteTime =
-                  JSON.parse(
-                    res.rows[k].examApplySite[i].examApplySiteTime[j].siteTime
-                  );
-              }
-            }
-            for (let i = 0; i < res.rows[k].examApplySiteTrain.length; i++) {
-              for (
-                let j = 0;
-                j < res.rows[k].examApplySiteTrain[i].examApplySiteTime.length;
-                j++
-              ) {
-                res.rows[k].examApplySiteTrain[i].examApplySiteTime[
-                  j
-                ].siteTime = JSON.parse(
-                  res.rows[k].examApplySiteTrain[i].examApplySiteTime[j]
-                    .siteTime
-                );
-              }
-            }
-          }
+          // for (let k = 0; k < res.rows.length; k++) {
+          //   for (let i = 0; i < res.rows[k].examApplySite.length; i++) {
+          //     for (
+          //       let j = 0;
+          //       j < res.rows[k].examApplySite[i].examApplySiteTime.length;
+          //       j++
+          //     ) {
+          //       res.rows[k].examApplySite[i].examApplySiteTime[j].siteTime =
+          //         JSON.parse(
+          //           res.rows[k].examApplySite[i].examApplySiteTime[j].siteTime
+          //         );
+          //     }
+          //   }
+          //   for (let i = 0; i < res.rows[k].examApplySiteTrain.length; i++) {
+          //     for (
+          //       let j = 0;
+          //       j < res.rows[k].examApplySiteTrain[i].examApplySiteTime.length;
+          //       j++
+          //     ) {
+          //       res.rows[k].examApplySiteTrain[i].examApplySiteTime[
+          //         j
+          //       ].siteTime = JSON.parse(
+          //         res.rows[k].examApplySiteTrain[i].examApplySiteTime[j]
+          //           .siteTime
+          //       );
+          //     }
+          //   }
+          // }
           this.tableData = res.rows;
           this.total = res.total;
           this.navText.index = res.total;
@@ -981,5 +1070,13 @@ export default {
   cursor: pointer;
   color: #f56c6c;
 }
+.swq {
+  text-align: center;
+  border-bottom: 1px solid #eee;
+}
+.dowmStys{
+  color:blue;
+  cursor: pointer;
+}
 </style>
 

+ 6 - 5
src/views/education/examManagement/examArrangement/index.vue

@@ -507,14 +507,14 @@
                 :key="index"
                 :label="item.goodsId"
                 :disabled="
-                  item.goodsStatus !== 1 ||
-                  bfListData.goodsId.indexOf(item.goodsId) !== -1
+                  item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                 "
                 >{{ item.code + "-" + item.goodsName + "-" }}
                 <span
                   :style="
-                    item.goodsStatus !== 1 ||
-                    bfListData.goodsId.indexOf(item.goodsId) !== -1
+                    item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                       ? ''
                       : 'color:#F56C6C'
                   "
@@ -919,6 +919,7 @@ export default {
         this.$api
           .inquirepayservelistGoods({ businessId: value })
           .then((res) => {
+            console.log(1121,res.rows)
             this.goodsList = res.rows;
           });
       }
@@ -976,7 +977,6 @@ export default {
         this.dialogVisiblenew = false;
         this.search();
       });
-      console.log(data, 321);
     },
     //获取初始基础参数
     getDict() {
@@ -1285,6 +1285,7 @@ export default {
               }成功`
             );
             this.search();
+            this.listDataGoods.businessId = ''
             this.$store.commit("EXAMLIST");
           });
         })

+ 30 - 9
src/views/education/examManagement/examConfiguration/examNum/index.vue

@@ -107,14 +107,14 @@
                 :key="index"
                 :label="item.goodsId"
                 :disabled="
-                  item.goodsStatus !== 1 ||
-                  bfListData.goodsId.indexOf(item.goodsId) !== -1
+                  item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                 "
                 >{{ item.code + "-" + item.goodsName + "-" }}
                 <span
                   :style="
-                    item.goodsStatus !== 1 ||
-                    bfListData.goodsId.indexOf(item.goodsId) !== -1
+                    item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                       ? ''
                       : 'color:#F56C6C'
                   "
@@ -127,18 +127,18 @@
           <el-form-item label="考试次数" prop="examNumber"
             ><el-input-number
               :controls="false"
-              :min="examNumber"
               :disabled="statusPop === 2"
               v-model="listData.examNumber"
+              @change="changeNums"
               :precision="0"
             ></el-input-number
           ></el-form-item>
           <el-form-item label="前培(刷题)次数" prop="doNumber"
             ><el-input-number
               :controls="false"
-              :min="doNumber"
               :disabled="statusPop === 2"
               v-model="listData.doNumber"
+              @change="changeNums2"
               :precision="0"
             ></el-input-number
           ></el-form-item>
@@ -270,7 +270,10 @@ export default {
       pageSize: 10, //每页多少条数据
       currentPage: 1, //当前页码
       //   弹窗数据
-      listData: {},
+      listData: {
+          examNumber : 0,
+          doNumber : 0
+      },
       statusPop: -1,
       dialogVisible: false,
       options: [
@@ -369,6 +372,22 @@ export default {
     },
   },
   methods: {
+    changeNums(val){
+      if(val < this.examNumber){
+        this.$message.warning("请重新输入考试次数,且不得小于" + this.examNumber)
+        this.$nextTick(()=>{
+          this.$set(this.listData,'examNumber',this.examNumber)
+        })
+      }
+    },
+    changeNums2(val){
+      if(val < this.doNumber){
+        this.$message.warning("请重新输入前培次数,且不得小于" + this.doNumber)
+        this.$nextTick(()=>{
+          this.$set(this.listData,'doNumber',this.doNumber)
+        })
+      }
+    },
     getDict() {
       this.$api.inquirebusinessList({ status: 1 }).then((res) => {
         this.busList = res.rows;
@@ -437,6 +456,8 @@ export default {
           status: 1,
           businessId: "",
           goodsId: [],
+          examNumber : 0,
+          doNumber : 0
         };
         this.$nextTick(() => {
             this.$refs.listData.clearValidate();
@@ -446,8 +467,8 @@ export default {
         this.statusPop = int;
         this.$api.obtainsystemnumber(v.examNumberId).then((res) => {
           this.bfListData = JSON.parse(JSON.stringify(res.data))
-          this.examNumber = res.data.examNumber;
-          this.doNumber = res.data.doNumber;
+          this.examNumber = this.bfListData.examNumber;
+          this.doNumber = this.bfListData.doNumber;
           this.listData = res.data;
           this.$nextTick(() => {
             this.$refs.listData.clearValidate();

+ 4 - 4
src/views/education/examManagement/qianpeiArrange/index.vue

@@ -217,14 +217,14 @@
                 :key="index"
                 :label="item.goodsId"
                 :disabled="
-                  item.goodsStatus !== 1 ||
-                  bfListData.goodsId.indexOf(item.goodsId) !== -1
+                  item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                 "
                 >{{ item.code + "-" + item.goodsName + "-" }}
                 <span
                   :style="
-                    item.goodsStatus !== 1 ||
-                    bfListData.goodsId.indexOf(item.goodsId) !== -1
+                    item.goodsStatus === 0 &&
+                  bfListData.goodsId.indexOf(item.goodsId) === -1
                       ? ''
                       : 'color:#F56C6C'
                   "

+ 3 - 7
src/views/education/notificationManageMent/notificationList/add/index.vue

@@ -197,7 +197,6 @@
               class="filter-tree"
               :data="data"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -218,7 +217,6 @@
               class="filter-tree"
               :data="data1"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -239,7 +237,6 @@
               class="filter-tree"
               :data="data2"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -344,7 +341,6 @@
           class="filter-tree"
           :data="dataCourse"
           :props="defaultProps"
-          default-expand-all
           node-key="onlyId"
           ref="courseTree"
         >
@@ -461,9 +457,9 @@ export default {
         informName: [
           { required: true, message: "请输入通知标题", trigger: "blur" },
         ],
-        classifyId: [
-          { required: true, message: "请选择备注分类", trigger: "change" },
-        ],
+        // classifyId: [
+        //   { required: true, message: "请选择备注分类", trigger: "change" },
+        // ],
         informWay: [
           {
             type: "array",

+ 3 - 6
src/views/education/notificationManageMent/notificationList/edit/index.vue

@@ -197,7 +197,6 @@
               class="filter-tree"
               :data="data"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -218,7 +217,6 @@
               class="filter-tree"
               :data="data1"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -239,7 +237,6 @@
               class="filter-tree"
               :data="data2"
               :props="defaultProps"
-              default-expand-all
               node-key="onlyId"
               show-checkbox
               :filter-node-method="filterNode"
@@ -459,9 +456,9 @@ export default {
         informName: [
           { required: true, message: "请输入通知标题", trigger: "blur" },
         ],
-        classifyId: [
-          { required: true, message: "请选择备注分类", trigger: "change" },
-        ],
+        // classifyId: [
+        //   { required: true, message: "请选择备注分类", trigger: "change" },
+        // ],
         informWay: [
           {
             type: "array",

+ 3 - 1
src/views/education/studentManageMent/studentList/index.vue

@@ -123,7 +123,9 @@ export default {
           label: "所属班级",
           prop: "classGradeUserGoodsVoList",
           hidden: true,
-          scope:"classNums"
+          scope:"classNums",
+          sort:true,
+          width:"120px"
         },
       ],
       tableData: [], //表单数据

+ 81 - 31
src/views/resource/bankManagement/chapterVolumeManagement/add/index.vue

@@ -57,7 +57,10 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px"
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -66,7 +69,10 @@
           <!-- <span v-if="Object.keys(newSujectApis).length == 0"
             >未选项目类型</span
           > -->
-          <div  v-if="Object.keys(newSujectApis).length !== 0" style="display: flex">
+          <div
+            v-if="Object.keys(newSujectApis).length !== 0"
+            style="display: flex"
+          >
             <div class="listBoxStys">
               {{
                 newSujectApis.educationName +
@@ -198,6 +204,13 @@
           />
         </div>
       </div>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData"
+        :formList="formList"
+        @search="getInfos"
+        @init="init"
+      />
       <el-table
         ref="multipleTable"
         :data="boxtableData"
@@ -255,12 +268,12 @@
         >
       </el-table>
       <pagination
-      :total="total"
-      :pageSize="formData.pageSize"
-      :currentPage="formData.pageNum"
-      @handleSizeChange="handleSizeChange"
-      @handleCurrentChange="handleCurrentChange"
-    />
+        :total="total"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
+        @handleSizeChange="handleSizeChange"
+        @handleCurrentChange="handleCurrentChange"
+      />
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
         <el-button
@@ -275,10 +288,11 @@
 </template>
 
 <script>
+import searchBoxNew from "@/components/searchBoxNew";
 import pagination from "@/components/pagination";
 import tableList from "@/components/tableList";
 export default {
-  components: { tableList, pagination },
+  components: { searchBoxNew, tableList, pagination },
   data() {
     return {
       listData: {
@@ -326,6 +340,24 @@ export default {
         pageSize: 10,
         pageNum: 1,
       },
+      //搜索
+      formList: [
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        {
+          prop: "examName",
+          placeholder: "请输入试卷标题",
+        },
+      ],
       disCheckList: [], //已选转禁用复选列表
       activeLists: [],
     };
@@ -335,23 +367,32 @@ export default {
     // this.search();
   },
   methods: {
+    getMessage() {
+      if (!this.courType) {
+        this.$message.warning("请先选择业务层级");
+      }
+    },
     openBoxs() {
+      if (!this.courType) {
+        this.$message.warning("请先选择科目");
+        return;
+      }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      data.businessId = this.courType;
       var self = this;
-      this.$api
-        .inquirebankexamList(this.formData)
-        .then((res) => {
-          var aList = [];
-          this.tableData.map((item) => {
-            aList.push(item.examId);
-          });
-          this.disCheckList = aList;
-          this.boxtableData = res.rows;
-          this.total = res.total;
-          this.dialogVisible = true;
-          this.$nextTick(function () {
-            self.$refs.multipleTable.clearSelection();
-          });
+      this.$api.inquirebankexamList(data).then((res) => {
+        var aList = [];
+        this.tableData.map((item) => {
+          aList.push(item.examId);
+        });
+        this.disCheckList = aList;
+        this.boxtableData = res.rows;
+        this.total = res.total;
+        this.dialogVisible = true;
+        this.$nextTick(function () {
+          self.$refs.multipleTable.clearSelection();
         });
+      });
     },
     getInfosList() {
       this.$api
@@ -362,15 +403,23 @@ export default {
           this.tableData = result.rows;
         });
     },
-    getInfos() {
-      this.$api
-        .inquirebankexamList(this.formData)
-        .then((res) => {
-          this.boxtableData = res.rows;
-          this.total = res.total;
-        });
+    getInfos(int) {
+      if (int === 2) {
+        this.formData = {
+          status: 1,
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.formData.businessId = this.courType,
+      this.$api.inquirebankexamList(this.formData).then((res) => {
+        this.boxtableData = res.rows;
+        this.total = res.total;
+      });
+    },
+    init() {
+      this.getInfos(2);
     },
-
     // search() {
     //   this.$api.obtainbankexam(this.$route.query.id).then((res) => {
     //     res.data.year = res.data.year + "";
@@ -486,6 +535,7 @@ export default {
       });
       this.newCourTypeOptions = arrays;
       this.$refs.popovers.doClose();
+      this.tableData = [];
     },
     submitIns(formName) {
       this.$refs[formName].validate((valid) => {

+ 108 - 54
src/views/resource/bankManagement/chapterVolumeManagement/edit/index.vue

@@ -10,6 +10,7 @@
       >
         <el-form-item label="适用业务层级">
           <el-select
+            disabled
             v-model="eduType"
             placeholder="请选择教育类型"
             @change="changeEduType"
@@ -23,6 +24,7 @@
             </el-option>
           </el-select>
           <el-select
+            disabled
             v-model="courType"
             placeholder="请选择业务层次"
             @change="changecourseType"
@@ -57,7 +59,10 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px"
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -66,7 +71,10 @@
           <!-- <span v-if="Object.keys(newSujectApis).length == 0"
             >未选项目类型</span
           > -->
-          <div  v-if="Object.keys(newSujectApis).length !== 0" style="display: flex">
+          <div
+            v-if="Object.keys(newSujectApis).length !== 0"
+            style="display: flex"
+          >
             <div class="listBoxStys">
               {{
                 newSujectApis.educationName +
@@ -198,6 +206,13 @@
           />
         </div>
       </div>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData"
+        :formList="formList"
+        @search="getInfos"
+        @init="init"
+      />
       <el-table
         ref="multipleTable"
         :data="boxtableData"
@@ -256,8 +271,8 @@
       </el-table>
       <pagination
         :total="total"
-        :pageSize="pageSize"
-        :currentPage="currentPage"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
         @handleSizeChange="handleSizeChange"
         @handleCurrentChange="handleCurrentChange"
       />
@@ -275,10 +290,11 @@
 </template>
 
 <script>
+import searchBoxNew from "@/components/searchBoxNew";
 import pagination from "@/components/pagination";
 import tableList from "@/components/tableList";
 export default {
-  components: { tableList, pagination },
+  components: { searchBoxNew, tableList, pagination },
   data() {
     return {
       listData: {
@@ -321,38 +337,63 @@ export default {
       dialogVisible: false,
       boxtableData: [],
       total: 0, //一共多少条
-      pageSize: 10, //每页多少条数据
-      currentPage: 1, //当前页码
+      formData: {
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+      },
+      //搜索
+      formList: [
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        {
+          prop: "examName",
+          placeholder: "请输入试卷标题",
+        },
+      ],
       disCheckList: [], //已选转禁用复选列表
       activeLists: [],
     };
   },
   mounted() {
     this.getDict();
-    this.search();
   },
   methods: {
+    getMessage() {
+      if (!this.courType) {
+        this.$message.warning("请先选择业务层级");
+      }
+    },
     openBoxs() {
+      if (!this.courType) {
+        this.$message.warning("请先选择科目");
+        return;
+      }
+      var data = JSON.parse(JSON.stringify(this.formData));
+      data.businessId = this.courType;
       var self = this;
-      this.$api
-        .inquirebankexamList({
-          status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
-        })
-        .then((res) => {
-          var aList = [];
-          this.tableData.map((item) => {
-            aList.push(item.examId);
-          });
-          this.disCheckList = aList;
-          this.boxtableData = res.rows;
-          this.total = res.total;
-          this.dialogVisible = true;
-          this.$nextTick(function () {
-            self.$refs.multipleTable.clearSelection();
-          });
+      this.$api.inquirebankexamList(data).then((res) => {
+        var aList = [];
+        this.tableData.map((item) => {
+          aList.push(item.examId);
+        });
+        this.disCheckList = aList;
+        this.boxtableData = res.rows;
+        this.total = res.total;
+        this.dialogVisible = true;
+        this.$nextTick(function () {
+          self.$refs.multipleTable.clearSelection();
         });
+      });
     },
     getInfosList() {
       this.$api
@@ -363,19 +404,23 @@ export default {
           this.tableData = result.data;
         });
     },
-    getInfos() {
-      this.$api
-        .inquirebankexamList({
+    getInfos(int) {
+      if (int === 2) {
+        this.formData = {
           status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
-        })
-        .then((res) => {
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      (this.formData.businessId = this.courType),
+        this.$api.inquirebankexamList(this.formData).then((res) => {
           this.boxtableData = res.rows;
           this.total = res.total;
         });
     },
-
+    init() {
+      this.getInfos(2);
+    },
     search() {
       this.$api.obtainbankchapter(this.$route.query.id).then((res) => {
         this.listData = res.data;
@@ -386,6 +431,10 @@ export default {
           majorId: this.$route.query.id,
         })
         .then((res) => {
+          this.eduType = res.rows[0].educationTypeId;
+          this.changeEduType();
+          this.courType = res.rows[0].businessId;
+          this.changecourseType();
           this.newSujectApis = res.rows[0];
           this.sujectApis =
             res.rows[0].businessId + "-" + res.rows[0].subjectId;
@@ -439,25 +488,30 @@ export default {
     },
     hideHandle() {},
     getDict() {
-      this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
-        this.eduTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
-        this.projectTypeOptions = res.rows;
-      });
-      this.$api.inquirebusinessList({ status: 1 }).then((res) => {
-        this.courTypeOptions = res.rows;
-        this.newCourTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
-        res.rows.map((item, index) => {
-          var array = [];
-          item.courseProjectTypes.map((items, indexs) => {
-            array.push(items.id);
+      new Promise((resolve, reject) => {
+        this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
+          this.eduTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
+          this.projectTypeOptions = res.rows;
+        });
+        this.$api.inquirebusinessList({ status: 1 }).then((res) => {
+          this.courTypeOptions = res.rows;
+          this.newCourTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
+          res.rows.map((item, index) => {
+            var array = [];
+            item.courseProjectTypes.map((items, indexs) => {
+              array.push(items.id);
+            });
+            item.courseArrays = array;
           });
-          item.courseArrays = array;
+          this.sujectOption = res.rows;
+          resolve();
         });
-        this.sujectOption = res.rows;
+      }).then((res) => {
+        this.search();
       });
     },
     changeEduType() {
@@ -537,12 +591,12 @@ export default {
       this.changeTypes();
     },
     handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
       this.getInfos();
     },
     handleCurrentChange(v) {
-      this.currentPage = v;
+      this.formData.pageNum = v;
       this.getInfos();
     },
     selectAll(value) {

+ 20 - 4
src/views/resource/bankManagement/knowledgeManagement/index.vue

@@ -104,11 +104,14 @@
                     >确定</el-button
                   >
                 </div>
-                <el-button slot="reference" style="margin-left: 12px"
+                <el-button
+                  slot="reference"
+                  style="margin-left: 12px"
+                  @click="getMessage"
                   >请选择科目</el-button
                 >
               </el-popover>
-                <span style="margin-left:10px;">注:可多选</span>
+              <span style="margin-left: 10px">注:可多选</span>
             </div>
             <div v-else-if="items.scope === 'activeBox'">
               <div :class="changeHeight ? 'ach' : 'clh'">
@@ -300,6 +303,11 @@ export default {
     this.search();
   },
   methods: {
+    getMessage() {
+      if (!this.courType) {
+        this.$message.warning("请先选择业务层级");
+      }
+    },
     addBusName() {
       if (this.BusName.trim()) {
         this.BusNameList.push(this.BusName);
@@ -443,9 +451,13 @@ export default {
       this.$refs.popovers[0].doClose();
     },
     submit() {
+      if (!this.newSujectApis.length) {
+        this.$message.warning("请添加业务层级");
+        return;
+      }
       if (this.statusPop === 1) {
         if (!this.BusNameList.length) {
-          this.$message.error("请添加知识点");
+          this.$message.warning("请添加知识点");
           return;
         }
         var dataInfos = {
@@ -460,7 +472,7 @@ export default {
         });
       } else {
         if (!this.listData.knowledgeName) {
-          this.$message.error("请输入知识点名称");
+          this.$message.warning("请输入知识点名称");
           return;
         }
         var dataInfos = {
@@ -568,6 +580,10 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.checkboxSty{
+  display: flex;
+  flex-direction: column;
+}
 /deep/.el-button {
   border-radius: 8px;
 }

+ 8 - 3
src/views/resource/bankManagement/testPaperManagement/addPaper/baseAddPaper/index.vue

@@ -61,7 +61,7 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px"
+            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -1089,6 +1089,11 @@ export default {
     },
   },
   methods: {
+    getMessage() {
+      if (!this.courType) {
+        this.$message.warning("请先选择业务层级");
+      }
+    },
     getSimpleText(html) {
       var re1 = new RegExp("<.+?>", "g"); //匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
       var msg = html.replace(re1, ""); //执行替换成空字符
@@ -1563,7 +1568,7 @@ export default {
             self.$message.error("请填写题目内容");
             return;
           }
-          if (data.type != 3 && !data.optionsList.length) {
+          if (data.type != 3 && data.type != 5 && !data.optionsList.length) {
             self.$message.error("请添加选项");
             return;
           }
@@ -1596,7 +1601,7 @@ export default {
                 return;
               }
               if (
-                data.optionsList[i].type != 3 &&
+                data.optionsList[i].type != 3 && data.optionsList[i].type != 5 &&
                 !data.optionsList[i].optionsList.length
               ) {
                 self.$message.error("请添加选项");

+ 81 - 72
src/views/resource/bankManagement/testPaperManagement/addPaper/topicAddPaper/index.vue

@@ -58,13 +58,13 @@
             />
           </div>
         </div>
-        <busIns
+        <!-- <busIns
           @amdis="changeAmdis"
           ref="sujects"
           :typeBus="typeBus"
           :sujectApisTable="sujectApisTable"
           :newSujectApisTable="newSujectApisTable"
-        />
+        /> -->
         <el-form
           label-position="right"
           label-width="110px"
@@ -227,7 +227,7 @@
             ref="searchBox"
             :formData="formData"
             :formList="formList"
-            @search="getDIO"
+            @search="getDIO(1)"
             @init="inits"
           />
           <el-table
@@ -650,23 +650,23 @@ export default {
     return {
       activeName: "second",
       formList: [
-        {
-          prop: "educationTypeId",
-          placeholder: "教育类型",
-          scope: "educationType",
-        },
-        {
-          prop: "businessId",
-          placeholder: "业务层次",
-          scope: "businessLevel",
-          edu: "educationTypeId",
-        },
-        {
-          prop: "subjectId",
-          placeholder: "科目",
-          scope: "sujectType",
-          edu: "educationTypeId",
-        },
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        // {
+        //   prop: "subjectId",
+        //   placeholder: "科目",
+        //   scope: "sujectType",
+        //   edu: "educationTypeId",
+        // },
         {
           prop: "type",
           placeholder: "题目类型",
@@ -892,6 +892,7 @@ export default {
       djTime: 0, //答卷时长
       djNumType: 0, //0无限1有限
       djNum: 0, //答卷次数
+      businObj: {},
     };
   },
   computed: {
@@ -934,14 +935,26 @@ export default {
       immediate: true,
     },
   },
-  mounted() {
+  async mounted() {
     this.getInfos();
-    this.getFns();
+    await this.getFns();
+    this.changeAmdis();
     this.search();
   },
   methods: {
     getInfos() {
       this.$api.obtainbankexam(this.$route.query.id).then((res) => {
+        this.businObj = {
+          businessId: res.data.businessId,
+          businessName: res.data.businessName,
+          educationName: res.data.educationName,
+          educationTypeId: res.data.educationTypeId,
+          projectName: res.data.projectName,
+          projectId: res.data.projectId,
+          subjectName: res.data.subjectName,
+          subjectId: res.data.subjectId,
+        };
+        this.formData.businessId = res.data.businessId;
         this.djTime = res.data.answerTime;
         this.djNum = res.data.answerNum;
         this.passScore = res.data.passScore;
@@ -1002,27 +1015,21 @@ export default {
         this.addClick();
       } else {
         var self = this;
-        this.$api
-          .inquirebankquestionList({
-            status: 1,
-            pageNum: 1,
-            pageSize: 10,
-          })
-          .then((res) => {
-            var aList = [];
-            this.tableData.map((item) => {
-              if (item.questionId) {
-                aList.push(item.questionId);
-              }
-            });
-            this.disCheckList = aList;
-            this.boxtableData = res.rows;
-            this.totals = res.total;
-            this.dialogVisibleTable = true;
-            this.$nextTick(function () {
-              self.$refs.multipleTable.clearSelection();
-            });
+        this.$api.inquirebankquestionList(this.formData).then((res) => {
+          var aList = [];
+          this.tableData.map((item) => {
+            if (item.questionId) {
+              aList.push(item.questionId);
+            }
           });
+          this.disCheckList = aList;
+          this.boxtableData = res.rows;
+          this.totals = res.total;
+          this.dialogVisibleTable = true;
+          this.$nextTick(function () {
+            self.$refs.multipleTable.clearSelection();
+          });
+        });
       }
     },
     getDIO(int) {
@@ -1034,6 +1041,7 @@ export default {
           status: 1,
           pageSize: 10,
           pageNum: 1,
+          businessId: this.businObj.businessId,
         };
       }
       this.$api.inquirebankquestionList(this.formData).then((res) => {
@@ -1096,13 +1104,13 @@ export default {
             analysisContent: "",
             answerQuestion: "",
           }),
-            (self.$refs.sujects.eduType = "");
-          self.$refs.sujects.courType = "";
-          self.$refs.sujects.sujectApis = [];
-          self.$refs.sujects.newSujectApis = [];
-          self.listData = {
-            publishStatus: 1,
-          };
+            //   (self.$refs.sujects.eduType = "");
+            // self.$refs.sujects.courType = "";
+            // self.$refs.sujects.sujectApis = [];
+            // self.$refs.sujects.newSujectApis = [];
+            (self.listData = {
+              publishStatus: 1,
+            });
           self.activeExam = [];
         });
       } else {
@@ -1148,12 +1156,12 @@ export default {
         self.listData.prefixName = vres.prefixName;
         self.listData.publishStatus = vres.publishStatus;
         self.listNums = vres;
-        var arrays = [];
-        vres.businessList.map((item) => {
-          arrays.push(item.businessId + "-" + item.subjectId);
-        });
-        self.sujectApisTable = arrays;
-        self.newSujectApisTable = vres.businessList;
+        // var arrays = [];
+        // vres.businessList.map((item) => {
+        //   arrays.push(item.businessId + "-" + item.subjectId);
+        // });
+        // self.sujectApisTable = arrays;
+        // self.newSujectApisTable = vres.businessList;
       }
     },
     //-----------------------------------------------
@@ -1202,7 +1210,7 @@ export default {
     },
     submit() {
       var data = {
-        examKnowledgeBusinessAddBoList: this.$refs.sujects.newSujectApis,
+        examKnowledgeBusinessAddBoList: [this.businObj],
         knowledgeName: this.BusNameList,
         status: 1,
       };
@@ -1217,10 +1225,10 @@ export default {
       this.dialogVisible = false;
     },
     addExam() {
-      if (!this.$refs.sujects.courType) {
-        this.$message.warning("请选择业务层级");
-        return;
-      }
+      // if (!this.businObj.businessId) {
+      //   this.$message.warning("请选择业务层级");
+      //   return;
+      // }
       this.BusNameList = [];
       this.BusName = "";
       this.dialogVisible = true;
@@ -1230,7 +1238,7 @@ export default {
     },
     //子组件回调 业务层及变换-知识点重新筛选
     changeAmdis() {
-      var int = this.$refs.sujects.courType;
+      var int = this.businObj.businessId;
       var ao = [];
       this.allOptions.map((item, index) => {
         let acts = item.courseBusinessList.every((items) => {
@@ -1271,16 +1279,16 @@ export default {
       this.$refs[formName].validate((valid) => {
         if (valid) {
           var self = this;
-          if (!this.$refs.sujects.newSujectApis.length) {
-            this.$message.error("请选择科目");
-            return;
-          }
+          // if (!this.$refs.sujects.newSujectApis.length) {
+          //   this.$message.error("请选择科目");
+          //   return;
+          // }
           var data = this.$refs.child.getInfosPage();
           if (!data.content || data.content == "<p><br></p>") {
             self.$message.error("请填写题目内容");
             return;
           }
-          if (data.type != 3 && !data.optionsList.length) {
+          if (data.type != 3 && data.type != 5 && !data.optionsList.length) {
             self.$message.error("请添加选项");
             return;
           }
@@ -1313,7 +1321,7 @@ export default {
                 return;
               }
               if (
-                data.optionsList[i].type != 3 &&
+                data.optionsList[i].type != 3 && data.optionsList[i].type != 5 &&
                 !data.optionsList[i].optionsList.length
               ) {
                 self.$message.error("请添加选项");
@@ -1357,7 +1365,7 @@ export default {
           data.prefixName = this.listData.prefixName;
           data.knowledgeIds = numList.toString();
           data.publishStatus = this.listData.publishStatus;
-          data.businessList = this.$refs.sujects.newSujectApis;
+          // data.businessList = this.$refs.sujects.newSujectApis;
           if (data.type === 2) {
             if (data.answerQuestionList.length) {
               data.answerQuestion = data.answerQuestionList.toString();
@@ -1373,6 +1381,7 @@ export default {
             });
           }
           if (this.statusPop === 1) {
+            data.businessList = [this.businObj];
             data.sort = 0;
             data.partScore = 0;
             data.score = "";
@@ -1449,15 +1458,15 @@ export default {
         this.$message.success("修改成功");
         setTimeout(() => {
           this.$router.push({
-        path:"testPaperManagement"
-      })
+            path: "testPaperManagement",
+          });
         }, 500);
       });
     },
     backPage() {
       this.$router.push({
-        path:"testPaperManagement"
-      })
+        path: "testPaperManagement",
+      });
     },
     emitData() {
       if (!this.tableData.length) {

+ 40 - 21
src/views/resource/bankManagement/testPaperManagement/editPaper/baseEditPaper/index.vue

@@ -10,6 +10,7 @@
       >
         <el-form-item label="适用业务层级">
           <el-select
+            disabled
             v-model="eduType"
             placeholder="请选择教育类型"
             @change="changeEduType"
@@ -23,6 +24,7 @@
             </el-option>
           </el-select>
           <el-select
+            disabled
             v-model="courType"
             placeholder="请选择业务层次"
             @change="changecourseType"
@@ -30,7 +32,7 @@
             <el-option
               v-for="(item, index) in newCourTypeOptions"
               :key="index"
-              :label="item.projectName+'-'+item.businessName"
+              :label="item.projectName + '-' + item.businessName"
               :value="item.id"
             >
             </el-option>
@@ -57,7 +59,7 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px"
+            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -66,7 +68,10 @@
           <!-- <span v-if="Object.keys(newSujectApis).length == 0"
             >未选项目类型</span
           > -->
-          <div v-if="Object.keys(newSujectApis).length !== 0" style="display: flex">
+          <div
+            v-if="Object.keys(newSujectApis).length !== 0"
+            style="display: flex"
+          >
             <div class="listBoxStys">
               {{
                 newSujectApis.educationName +
@@ -199,7 +204,7 @@ export default {
   },
   mounted() {
     this.getDict();
-    this.search();
+    // this.search();
   },
   watch: {
     "listDataIns.provinceId": {
@@ -211,6 +216,11 @@ export default {
     },
   },
   methods: {
+    getMessage() {
+      if (!this.courType) {
+        this.$message.warning("请先选择业务层级");
+      }
+    },
     search() {
       this.$api.obtainbankexam(this.$route.query.id).then((res) => {
         res.data.year = res.data.year + "";
@@ -219,6 +229,10 @@ export default {
       this.$api
         .inquirebankexamListbusiness({ type: 2, majorId: this.$route.query.id })
         .then((res) => {
+          this.eduType = res.rows[0].educationTypeId;
+          this.changeEduType();
+          this.courType = res.rows[0].businessId;
+          this.changecourseType();
           this.newSujectApis = res.rows[0];
           this.sujectApis =
             res.rows[0].businessId + "-" + res.rows[0].subjectId;
@@ -276,25 +290,30 @@ export default {
     },
     hideHandle() {},
     getDict() {
-      this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
-        this.eduTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
-        this.projectTypeOptions = res.rows;
-      });
-      this.$api.inquirebusinessList({ status: 1 }).then((res) => {
-        this.courTypeOptions = res.rows;
-        this.newCourTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
-        res.rows.map((item, index) => {
-          var array = [];
-          item.courseProjectTypes.map((items, indexs) => {
-            array.push(items.id);
+      new Promise((resolve, reject) => {
+        this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
+          this.eduTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
+          this.projectTypeOptions = res.rows;
+        });
+        this.$api.inquirebusinessList({ status: 1 }).then((res) => {
+          this.courTypeOptions = res.rows;
+          this.newCourTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
+          res.rows.map((item, index) => {
+            var array = [];
+            item.courseProjectTypes.map((items, indexs) => {
+              array.push(items.id);
+            });
+            item.courseArrays = array;
           });
-          item.courseArrays = array;
+          this.sujectOption = res.rows;
+          resolve()
         });
-        this.sujectOption = res.rows;
+      }).then((res) => {
+        this.search()
       });
     },
     changeEduType() {

+ 78 - 68
src/views/resource/bankManagement/testPaperManagement/editPaper/topicEditPaper/index.vue

@@ -54,13 +54,13 @@
             />
           </div>
         </div>
-        <busIns
+        <!-- <busIns
           @amdis="changeAmdis"
           ref="sujects"
           :typeBus="typeBus"
           :sujectApisTable="sujectApisTable"
           :newSujectApisTable="newSujectApisTable"
-        />
+        /> -->
         <el-form
           label-position="right"
           label-width="110px"
@@ -223,7 +223,7 @@
             ref="searchBox"
             :formData="formData"
             :formList="formList"
-            @search="getDIO"
+            @search="getDIO(1)"
             @init="inits"
           />
           <el-table
@@ -645,23 +645,23 @@ export default {
   data() {
     return {
       formList: [
-        {
-          prop: "educationTypeId",
-          placeholder: "教育类型",
-          scope: "educationType",
-        },
-        {
-          prop: "businessId",
-          placeholder: "业务层次",
-          scope: "businessLevel",
-          edu: "educationTypeId",
-        },
-        {
-          prop: "subjectId",
-          placeholder: "科目",
-          scope: "sujectType",
-          edu: "educationTypeId",
-        },
+        // {
+        //   prop: "educationTypeId",
+        //   placeholder: "教育类型",
+        //   scope: "educationType",
+        // },
+        // {
+        //   prop: "businessId",
+        //   placeholder: "业务层次",
+        //   scope: "businessLevel",
+        //   edu: "educationTypeId",
+        // },
+        // {
+        //   prop: "subjectId",
+        //   placeholder: "科目",
+        //   scope: "sujectType",
+        //   edu: "educationTypeId",
+        // },
         {
           prop: "type",
           placeholder: "题目类型",
@@ -887,6 +887,7 @@ export default {
       djTime: 0, //答卷时长
       djNumType: 0, //0无限1有限
       djNum: 0, //答卷次数
+      businObj: {}, //当前业务层次
     };
   },
   computed: {
@@ -929,14 +930,26 @@ export default {
       immediate: true,
     },
   },
-  mounted() {
+  async mounted() {
     this.getInfos();
-    this.getFns();
+    await this.getFns();
+    this.changeAmdis();
     this.search();
   },
   methods: {
     getInfos() {
       this.$api.obtainbankexam(this.$route.query.id).then((res) => {
+        this.businObj = {
+          businessId: res.data.businessId,
+          businessName: res.data.businessName,
+          educationName: res.data.educationName,
+          educationTypeId: res.data.educationTypeId,
+          projectName: res.data.projectName,
+          projectId: res.data.projectId,
+          subjectName: res.data.subjectName,
+          subjectId: res.data.subjectId,
+        };
+        this.formData.businessId = res.data.businessId;
         this.djTime = res.data.answerTime;
         this.djNum = res.data.answerNum;
         this.passScore = res.data.passScore;
@@ -997,27 +1010,21 @@ export default {
         this.addClick();
       } else {
         var self = this;
-        this.$api
-          .inquirebankquestionList({
-            status: 1,
-            pageNum: 1,
-            pageSize: 10,
-          })
-          .then((res) => {
-            var aList = [];
-            this.tableData.map((item) => {
-              if (item.questionId) {
-                aList.push(item.questionId);
-              }
-            });
-            this.disCheckList = aList;
-            this.boxtableData = res.rows;
-            this.totals = res.total;
-            this.dialogVisibleTable = true;
-            this.$nextTick(function () {
-              self.$refs.multipleTable.clearSelection();
-            });
+        this.$api.inquirebankquestionList(this.formData).then((res) => {
+          var aList = [];
+          this.tableData.map((item) => {
+            if (item.questionId) {
+              aList.push(item.questionId);
+            }
+          });
+          this.disCheckList = aList;
+          this.boxtableData = res.rows;
+          this.totals = res.total;
+          this.dialogVisibleTable = true;
+          this.$nextTick(function () {
+            self.$refs.multipleTable.clearSelection();
           });
+        });
       }
     },
     getDIO(int) {
@@ -1029,6 +1036,7 @@ export default {
           status: 1,
           pageSize: 10,
           pageNum: 1,
+          businessId: this.businObj.businessId,
         };
       }
       this.$api.inquirebankquestionList(this.formData).then((res) => {
@@ -1091,13 +1099,13 @@ export default {
             analysisContent: "",
             answerQuestion: "",
           }),
-            (self.$refs.sujects.eduType = "");
-          self.$refs.sujects.courType = "";
-          self.$refs.sujects.sujectApis = [];
-          self.$refs.sujects.newSujectApis = [];
-          self.listData = {
-            publishStatus: 1,
-          };
+            //   (self.$refs.sujects.eduType = "");
+            // self.$refs.sujects.courType = "";
+            // self.$refs.sujects.sujectApis = [];
+            // self.$refs.sujects.newSujectApis = [];
+            (self.listData = {
+              publishStatus: 1,
+            });
           self.activeExam = [];
         });
       } else {
@@ -1143,12 +1151,13 @@ export default {
         self.listData.prefixName = vres.prefixName;
         self.listData.publishStatus = vres.publishStatus;
         self.listNums = vres;
-        var arrays = [];
-        vres.businessList.map((item) => {
-          arrays.push(item.businessId + "-" + item.subjectId);
-        });
-        self.sujectApisTable = arrays;
-        self.newSujectApisTable = vres.businessList;
+        console.log(vres, 5515);
+        // var arrays = [];
+        // vres.businessList.map((item) => {
+        //   arrays.push(item.businessId + "-" + item.subjectId);
+        // });
+        // self.sujectApisTable = arrays;
+        // self.newSujectApisTable = vres.businessList;
       }
     },
     //-----------------------------------------------
@@ -1197,7 +1206,7 @@ export default {
     },
     submit() {
       var data = {
-        examKnowledgeBusinessAddBoList: this.$refs.sujects.newSujectApis,
+        examKnowledgeBusinessAddBoList: [this.businObj],
         knowledgeName: this.BusNameList,
         status: 1,
       };
@@ -1212,10 +1221,11 @@ export default {
       this.dialogVisible = false;
     },
     addExam() {
-      if (!this.$refs.sujects.courType) {
-        this.$message.warning("请选择业务层级");
-        return;
-      }
+      // if (!this.$refs.sujects.courType) {
+      //   this.$message.warning("请选择业务层级");
+      //   return;
+      // }
+      // console.log(this.$refs.sujects)
       this.BusNameList = [];
       this.BusName = "";
       this.dialogVisible = true;
@@ -1225,7 +1235,7 @@ export default {
     },
     //子组件回调 业务层及变换-知识点重新筛选
     changeAmdis() {
-      var int = this.$refs.sujects.courType;
+      var int = this.businObj.businessId;
       var ao = [];
       this.allOptions.map((item, index) => {
         let acts = item.courseBusinessList.every((items) => {
@@ -1266,16 +1276,16 @@ export default {
       this.$refs[formName].validate((valid) => {
         if (valid) {
           var self = this;
-          if (!this.$refs.sujects.newSujectApis.length) {
-            this.$message.error("请选择科目");
-            return;
-          }
+          // if (!this.$refs.sujects.newSujectApis.length) {
+          //   this.$message.error("请选择科目");
+          //   return;
+          // }
           var data = this.$refs.child.getInfosPage();
           if (!data.content || data.content == "<p><br></p>") {
             self.$message.error("请填写题目内容");
             return;
           }
-          if (data.type != 3 && !data.optionsList.length) {
+          if (data.type != 3 && data.type != 5 && !data.optionsList.length) {
             self.$message.error("请添加选项");
             return;
           }
@@ -1308,7 +1318,7 @@ export default {
                 return;
               }
               if (
-                data.optionsList[i].type != 3 &&
+                data.optionsList[i].type != 3 && data.optionsList[i].type != 5 &&
                 !data.optionsList[i].optionsList.length
               ) {
                 self.$message.error("请添加选项");
@@ -1352,7 +1362,6 @@ export default {
           data.prefixName = this.listData.prefixName;
           data.knowledgeIds = numList.toString();
           data.publishStatus = this.listData.publishStatus;
-          data.businessList = this.$refs.sujects.newSujectApis;
           if (data.type === 2) {
             if (data.answerQuestionList.length) {
               data.answerQuestion = data.answerQuestionList.toString();
@@ -1372,6 +1381,7 @@ export default {
             data.partScore = 0;
             data.score = "";
             data.status = 1;
+            data.businessList = [this.businObj];
             this.tableData.unshift(data);
             // this.$api.addbankquestion(data).then((res) => {
             self.$message.success("添加成功");

+ 2 - 2
src/views/resource/bankManagement/topicManagement/index.vue

@@ -661,7 +661,7 @@ export default {
             self.$message.error("请填写题目内容");
             return;
           }
-          if (data.type != 3 && !data.optionsList.length) {
+          if (data.type != 3 && data.type != 5 && !data.optionsList.length) {
             self.$message.error("请添加选项");
             return;
           }
@@ -694,7 +694,7 @@ export default {
                 return;
               }
               if (
-                data.optionsList[i].type != 3 &&
+                data.optionsList[i].type != 3 && data.optionsList[i].type != 5 &&
                 !data.optionsList[i].optionsList.length
               ) {
                 self.$message.error("请添加选项");

+ 7 - 0
src/views/resource/bankManagement/volumeManagement/add/index.vue

@@ -334,12 +334,17 @@ export default {
   },
   methods: {
     openBoxs() {
+      if(!this.courType){
+        this.$message.warning("请先选择科目")
+        return
+      } 
       var self = this;
       this.$api
         .inquirebankchapterList({
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
+          businessId:this.courType
         })
         .then((res) => {
           var aList = [];
@@ -361,6 +366,7 @@ export default {
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
+          businessId:this.courType
         })
         .then((res) => {
           this.boxtableData = res.rows;
@@ -473,6 +479,7 @@ export default {
       });
       this.newCourTypeOptions = arrays;
       this.$refs.popovers.doClose();
+      this.tableData = []
     },
     submitIns(formName) {
       this.$refs[formName].validate((valid) => {

+ 55 - 28
src/views/resource/bankManagement/volumeManagement/edit/index.vue

@@ -11,6 +11,7 @@
         <el-form-item label="适用业务层级">
           <el-select
             v-model="eduType"
+            disabled
             placeholder="请选择教育类型"
             @change="changeEduType"
           >
@@ -23,6 +24,7 @@
             </el-option>
           </el-select>
           <el-select
+            disabled
             v-model="courType"
             placeholder="请选择业务层次"
             @change="changecourseType"
@@ -57,7 +59,10 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -66,7 +71,10 @@
           <!-- <span v-if="Object.keys(newSujectApis).length == 0"
             >未选项目类型</span
           > -->
-          <div v-if="Object.keys(newSujectApis).length !== 0" style="display: flex">
+          <div
+            v-if="Object.keys(newSujectApis).length !== 0"
+            style="display: flex"
+          >
             <div class="listBoxStys">
               {{
                 newSujectApis.educationName +
@@ -297,7 +305,9 @@ export default {
       sujectApis: "", //当前存在的科目 例如'19-2'
       //表单验证
       rules: {
-        moduleName: [{ required: true, message: "请输入模块卷", trigger: "blur" }],
+        moduleName: [
+          { required: true, message: "请输入模块卷", trigger: "blur" },
+        ],
         publishStatus: [
           { required: true, message: "请选择是否发布", trigger: "change" },
         ],
@@ -329,16 +339,20 @@ export default {
   },
   mounted() {
     this.getDict();
-    this.search();
   },
   methods: {
     openBoxs() {
+      if(!this.courType){
+        this.$message.warning("请先选择业务层级")
+        return
+      }
       var self = this;
       this.$api
         .inquirebankchapterList({
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
+          businessId:this.courType
         })
         .then((res) => {
           var aList = [];
@@ -356,7 +370,7 @@ export default {
     },
     getInfosList() {
       this.$api
-        .inquireBankchapterModule({moduleExamId:this.$route.query.id})
+        .inquireBankchapterModule({ moduleExamId: this.$route.query.id })
         .then((result) => {
           this.tableData = result.data;
         });
@@ -367,6 +381,7 @@ export default {
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
+          businessId:this.courType
         })
         .then((res) => {
           this.boxtableData = res.rows;
@@ -381,6 +396,10 @@ export default {
       this.$api
         .inquireBankModulebusiness({ type: 4, majorId: this.$route.query.id })
         .then((res) => {
+          this.eduType = res.rows[0].educationTypeId;
+          this.changeEduType()
+          this.courType = res.rows[0].businessId;
+          this.changecourseType()
           this.newSujectApis = res.rows[0];
           this.sujectApis =
             res.rows[0].businessId + "-" + res.rows[0].subjectId;
@@ -439,25 +458,30 @@ export default {
     },
     hideHandle() {},
     getDict() {
-      this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
-        this.eduTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
-        this.projectTypeOptions = res.rows;
-      });
-      this.$api.inquirebusinessList({ status: 1 }).then((res) => {
-        this.courTypeOptions = res.rows;
-        this.newCourTypeOptions = res.rows;
-      });
-      this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
-        res.rows.map((item, index) => {
-          var array = [];
-          item.courseProjectTypes.map((items, indexs) => {
-            array.push(items.id);
+      new Promise((resolve, reject) => {
+        this.$api.inquireCourseEducationType({ status: 1 }).then((res) => {
+          this.eduTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseProjectType({ status: 1 }).then((res) => {
+          this.projectTypeOptions = res.rows;
+        });
+        this.$api.inquirebusinessList({ status: 1 }).then((res) => {
+          this.courTypeOptions = res.rows;
+          this.newCourTypeOptions = res.rows;
+        });
+        this.$api.inquireCourseSubject({ status: 1 }).then((res) => {
+          res.rows.map((item, index) => {
+            var array = [];
+            item.courseProjectTypes.map((items, indexs) => {
+              array.push(items.id);
+            });
+            item.courseArrays = array;
           });
-          item.courseArrays = array;
+          this.sujectOption = res.rows;
+          resolve()
         });
-        this.sujectOption = res.rows;
+      }).then((res) => {
+        this.search();
       });
     },
     changeEduType() {
@@ -508,18 +532,21 @@ export default {
       });
     },
     async rulesTableSumbit() {
-      var chapterList = []
-      this.tableData.map(item => {
-        chapterList.push({chapterExamId:item.chapterExamId,sort:Number(item.sort)})
-      })
+      var chapterList = [];
+      this.tableData.map((item) => {
+        chapterList.push({
+          chapterExamId: item.chapterExamId,
+          sort: Number(item.sort),
+        });
+      });
       var data1 = {
         moduleExamId: this.listData.moduleExamId,
         name: this.listData.name,
-        chapterList:chapterList,
+        chapterList: chapterList,
         publishStatus: this.listData.publishStatus,
         prefixName: this.listData.prefixName,
         businessList: [this.newSujectApis],
-        status:1
+        status: 1,
       };
       this.$api.editBankModule(data1).then((res) => {
         this.$message.success("修改成功");

+ 4 - 4
src/views/resource/baseManageInfos/index.vue

@@ -80,10 +80,10 @@ export default {
         },
       ],
       list3: [
-        {
-          title: "题目类型",
-          url: "questionType",
-        },
+        // {
+        //   title: "题目类型",
+        //   url: "questionType",
+        // },
         {
           title: "试卷类型",
           url: "papers",

+ 22 - 5
src/views/resource/baseManageInfos/resource/businessLevel/index.vue

@@ -31,6 +31,7 @@
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
+      @closed="loadingClose"
       :close-on-click-modal="false"
     >
       <div slot="title" class="hearders">
@@ -70,6 +71,7 @@
             <el-select
               v-model="listData[items.prop]"
               filterable
+              :disabled="statusPop=== 0"
               placeholder="请选择教育类型"
               v-else-if="items.prop === 'educationId'"
               @change="changeJYList"
@@ -85,6 +87,7 @@
             <el-select
               v-model="listData[items.prop]"
               filterable
+              :disabled="statusPop=== 0"
               placeholder="请选择项目类型"
               v-else-if="items.prop === 'projectId'"
               @change="changeXMList(listData)"
@@ -123,6 +126,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -133,6 +137,7 @@
       :visible.sync="dialogVisiblePZDown"
       width="560px"
       :show-close="false"
+      @closed="loadingClose"
       :close-on-click-modal="false"
     >
       <div slot="title" class="hearders">
@@ -161,7 +166,7 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="closePZ">取 消</el-button>
-        <el-button type="primary" @click="submitPZ">确 定</el-button>
+        <el-button type="primary" @click="submitPZ" :loading="disabledBtn">确 定</el-button>
       </span>
     </el-dialog>
   </div>
@@ -175,6 +180,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "业务层次",
@@ -232,7 +238,7 @@ export default {
           scope: "select",
         },
         {
-          label: "项目类型类型",
+          label: "项目类型",
           prop: "projectId",
           scope: "select",
         },
@@ -348,6 +354,7 @@ export default {
         businessIds: ast,
         templateStatus: this.radioActives,
       };
+      this.disabledBtn = true
       this.$api.editModelCourseBusiness(data).then((res) => {
         this.$message.success("配置修改成功");
         this.dialogVisiblePZDown = false;
@@ -355,7 +362,12 @@ export default {
         this.radioActives = "";
         this.$refs.tablieListmest.allCheckData = [];
         this.search();
-      });
+      }).catch(()=>{
+          this.disabledBtn = false
+        })
+    },
+    loadingClose(){
+      this.disabledBtn = false
     },
     changeXMList(option) {
       if (!option.educationId) {
@@ -479,19 +491,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.appCourseBusiness(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editCourseBusiness(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/resource/baseManageInfos/resource/certificate/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "证书",
@@ -248,20 +251,28 @@ export default {
         }
       });
     },
+loadingClose(){
+      this.disabledBtn = false
+    },
     rulesTableSumbit() {
+       this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.appBaseCertificate(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editBaseCertificate(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 14 - 3
src/views/resource/baseManageInfos/resource/colleges/index.vue

@@ -25,6 +25,7 @@
     <el-dialog
       :visible.sync="dialogVisible"
       width="610px"
+      @closed="loadingClose"
       :show-close="false"
       :close-on-click-modal="false"
     >
@@ -169,6 +170,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -315,6 +317,7 @@ export default {
         ],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
       },
+      disabledBtn: false,
     };
   },
   watch: {
@@ -410,7 +413,7 @@ export default {
         });
         this.options1 = array;
       });
-      this.$api.inquireCourseProjectType().then((res) => {
+      this.$api.inquireCourseProjectType({status:1}).then((res) => {
         var array = [];
         res.rows.map((item) => {
           array.push({
@@ -510,21 +513,29 @@ export default {
         }
       });
     },
+    loadingClose(){
+      this.disabledBtn = false
+    },
     rulesTableSumbit() {
+       this.disabledBtn = true
       this.listData.schoolProjects = this.cauType;
       if (this.statusPop === 1) {
         this.$api.appUserSchool(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editUserSchool(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 26 - 12
src/views/resource/baseManageInfos/resource/educationTypes/index.vue

@@ -26,6 +26,7 @@
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
+      @closed="loadingClose"
       :close-on-click-modal="false"
     >
       <div slot="title" class="hearders">
@@ -83,6 +84,7 @@
       <span slot="footer" class="dialog-footer">
         <el-button @click="close">取 消</el-button>
         <el-button
+        :loading="disabledBtn"
           type="primary"
           v-if="statusPop !== 2"
           @click="submit('listData')"
@@ -130,6 +132,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "教育类型",
@@ -238,6 +241,9 @@ export default {
     this.search();
   },
   methods: {
+    loadingClose(){
+      this.disabledBtn = false
+    },
     editInfo(v) {
       this.addClick(v, 0);
     },
@@ -248,13 +254,16 @@ export default {
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquireCourseEducationType(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquireCourseEducationType(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -289,7 +298,7 @@ export default {
         this.statusPop = 1;
         this.listData = {
           status: 1,
-          tireStatus:"1,2"
+          tireStatus: "1,2",
         };
       } else {
         this.statusPop = int;
@@ -310,19 +319,24 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.addCourseEducationType(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editCourseEducationType(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     getSpan() {
@@ -346,8 +360,8 @@ export default {
     openSet() {
       if (this.listData.tireStatus) {
         this.activeCheckBox = this.listData.tireStatus.split(",").map(Number);
-      }else{
-        this.activeCheckBox = [1,2]
+      } else {
+        this.activeCheckBox = [1, 2];
       }
       this.dialogVisibleSet = true;
     },

+ 66 - 33
src/views/resource/baseManageInfos/resource/enrollmentArea/index.vue

@@ -54,6 +54,7 @@
       />
     </div>
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -117,6 +118,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -124,6 +126,7 @@
     </el-dialog>
     <!-- -----------------------------|||-->
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisibleZ"
       width="560px"
       :show-close="false"
@@ -200,6 +203,7 @@
         <el-button @click="closeZ">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPopZ !== 2"
           @click="submitZ('listDataZ')"
           >确 定</el-button
@@ -219,6 +223,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       activeName: "area",
       loading: false, //当前表单加载是否加载动画
       navText: {
@@ -244,7 +249,7 @@ export default {
           label: "名称",
           prop: "areaName",
           hidden: true,
-          scope: 'editInfo'
+          scope: "editInfo",
         },
         {
           label: "全称",
@@ -332,7 +337,7 @@ export default {
           label: "名称",
           prop: "areaName",
           hidden: true,
-          scope: 'editInfo'
+          scope: "editInfo",
         },
         {
           label: "全称",
@@ -428,11 +433,14 @@ export default {
     },
   },
   methods: {
-    editInfo(v){
-      this.addClick(v,0)
+    loadingClose() {
+      this.disabledBtn = false;
     },
-    editInfos(v){
-      this.addClickZ(v,0)
+    editInfo(v) {
+      this.addClick(v, 0);
+    },
+    editInfos(v) {
+      this.addClickZ(v, 0);
     },
     search(v) {
       this.loading = true;
@@ -442,13 +450,16 @@ export default {
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquireapplyAreas(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquireapplyAreas(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -503,21 +514,32 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true;
       if (this.statusPop === 1) {
         this.listData.parentId = 0;
         this.listData.areaType = 1;
-        this.$api.addapplyAreas(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .addapplyAreas(this.listData)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPop === 0) {
-        this.$api.editapplyAreas(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .editapplyAreas(this.listData)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     close() {
@@ -611,20 +633,31 @@ export default {
       });
     },
     rulesTableSumbitZ() {
+      this.disabledBtn = true;
       if (this.statusPopZ === 1) {
         this.listDataZ.areaType = 2;
-        this.$api.addapplyAreas(this.listDataZ).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisibleZ = false;
-          this.searchZ();
-        });
+        this.$api
+          .addapplyAreas(this.listDataZ)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisibleZ = false;
+            this.searchZ();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPopZ === 0) {
-        this.$api.editapplyAreas(this.listDataZ).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisibleZ = false;
-          this.searchZ();
-        });
+        this.$api
+          .editapplyAreas(this.listDataZ)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisibleZ = false;
+            this.searchZ();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     closeZ() {

+ 42 - 22
src/views/resource/baseManageInfos/resource/label/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "标签",
@@ -121,13 +124,13 @@ export default {
           label: "标签名称",
           prop: "labelName",
           hidden: true,
-          scope: 'editInfo'
+          scope: "editInfo",
         },
         {
           label: "关联专业数(个)",
           prop: "num",
           hidden: true,
-          scope: 'jumpPageLabel'
+          scope: "jumpPageLabel",
         },
         {
           label: "状态",
@@ -184,23 +187,29 @@ export default {
     this.search();
   },
   methods: {
-    editInfo(v){
-      this.addClick(v,0)
+    loadingClose() {
+      this.disabledBtn = false;
+    },
+    editInfo(v) {
+      this.addClick(v, 0);
     },
     search(v) {
       this.loading = true;
       var data = {
-        status:'0,1',
+        status: "0,1",
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquireCourseLabelList(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquireCourseLabelList(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -255,19 +264,30 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true;
       if (this.statusPop === 1) {
-        this.$api.appCourseLabelList(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .appCourseLabelList(this.listData)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPop === 0) {
-        this.$api.editCourseLabelList(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .editCourseLabelList(this.listData)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     close() {

+ 30 - 13
src/views/resource/baseManageInfos/resource/papers/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="560px"
       :show-close="false"
@@ -80,6 +81,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -97,6 +99,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "试卷类型",
@@ -121,7 +124,7 @@ export default {
           label: "试卷类型名称",
           prop: "paperName",
           hidden: true,
-          scope: 'editInfo'
+          scope: "editInfo",
         },
         {
           label: "状态",
@@ -178,23 +181,29 @@ export default {
     this.search();
   },
   methods: {
-    editInfo(v){
-      this.addClick(v,0)
+loadingClose(){
+      this.disabledBtn = false
+    },
+    editInfo(v) {
+      this.addClick(v, 0);
     },
     search(v) {
       this.loading = true;
       var data = {
-        status:'0,1',
+        status: "0,1",
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquirepaperexamList(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquirepaperexamList(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -214,6 +223,7 @@ export default {
           };
           this.$api.editpaperexam(data).then((res) => {
             this.$message.success("删除成功");
+            this.$store.commit("EXAMTYPE");
             this.search();
           });
         })
@@ -249,19 +259,26 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.addpaperexam(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+          this.$store.commit("EXAMTYPE");
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editpaperexam(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+          this.$store.commit("EXAMTYPE");
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 13 - 2
src/views/resource/baseManageInfos/resource/professional/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="620px"
       :show-close="false"
@@ -153,6 +154,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -169,6 +171,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       changeHeight: true,
       loading: false, //当前表单加载是否加载动画
       navText: {
@@ -302,6 +305,9 @@ export default {
     this.initOptions();
   },
   methods: {
+    loadingClose(){
+      this.disabledBtn = false
+    },
     getMessage(){
       if(!this.eduType){
         this.$message.warning("请先选择教育类型")
@@ -449,20 +455,25 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       this.listData.majorProjects = this.cauType;
       if (this.statusPop === 1) {
         this.$api.appCourseMajor(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editCourseMajor(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 14 - 2
src/views/resource/baseManageInfos/resource/projectType/index.vue

@@ -27,6 +27,7 @@
       width="560px"
       :show-close="false"
       :close-on-click-modal="false"
+      @closed="loadingClose"
     >
       <div slot="title" class="hearders">
         <div class="leftTitle">
@@ -65,6 +66,7 @@
             <el-select
               v-model="listData[items.prop]"
               filterable
+              :disabled="statusPop === 0"
               placeholder="请选择教育类型"
               v-else-if="items.prop === 'educationId'"
             >
@@ -94,6 +96,7 @@
         <el-button @click="close">取 消</el-button>
         <el-button
           type="primary"
+          :loading="disabledBtn"
           v-if="statusPop !== 2"
           @click="submit('listData')"
           >确 定</el-button
@@ -111,6 +114,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "项目类型",
@@ -290,24 +294,32 @@ export default {
       });
     },
     rulesTableSumbit() {
+      this.disabledBtn = true
       if (this.statusPop === 1) {
         this.$api.addCourseProjectType(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editCourseProjectType(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {
       this.dialogVisible = false;
     },
+    loadingClose(){
+      this.disabledBtn = false
+    },
     handleSizeChange(v) {
       this.pageSize = v;
       this.currentPage = 1;

+ 4 - 3
src/views/resource/baseManageInfos/resource/questionType/index.vue

@@ -1,6 +1,6 @@
 <template>
-  <div id="educationType">
-    <table-list
+  <div id="questionType">
+    <!-- <table-list
       :tableSets="tableSet"
       :tableData="tableData"
       :navText="navText"
@@ -85,7 +85,8 @@
           >确 定</el-button
         >
       </span>
-    </el-dialog>
+    </el-dialog> -->
+  无
   </div>
 </template>
 

+ 15 - 3
src/views/resource/baseManageInfos/resource/suject/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+    @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="630px"
       :show-close="false"
@@ -142,6 +143,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -158,6 +160,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+disabledBtn: false,
       changeHeight: true,
       loading: false, //当前表单加载是否加载动画
       navText: {
@@ -165,6 +168,7 @@ export default {
         index: 0,
         ch: "条",
         num: true,
+        border:true,
         choice: true,
         addHide: false,
         backFatherBtn: {
@@ -190,7 +194,7 @@ export default {
           prop: "courseProjectTypes",
           hidden: true,
           scope: "mapTypes",
-          width: "240px",
+          width: "360px",
         },
         {
           label: "状态",
@@ -269,6 +273,9 @@ export default {
     this.initOptions();
   },
   methods: {
+loadingClose(){
+      this.disabledBtn = false
+    },
     getMessage() {
       if (!this.eduType) {
         this.$message.warning("请先选择教育类型");
@@ -404,20 +411,25 @@ export default {
       });
     },
     rulesTableSumbit() {
+       this.disabledBtn = true
       this.listData.courseSubjectProjects = this.cauType;
       if (this.statusPop === 1) {
         this.$api.appCourseSubject(this.listData).then((res) => {
           this.$message.success("新增成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
       if (this.statusPop === 0) {
         this.$api.editCourseSubject(this.listData).then((res) => {
           this.$message.success("修改成功");
           this.dialogVisible = false;
           this.search();
-        });
+        }).catch(()=>{
+          this.disabledBtn = false
+        })
       }
     },
     close() {

+ 37 - 17
src/views/resource/baseManageInfos/resource/testPeriod/index.vue

@@ -23,6 +23,7 @@
       @handleCurrentChange="handleCurrentChange"
     />
     <el-dialog
+      @closed="loadingClose"
       :visible.sync="dialogVisible"
       width="680px"
       :show-close="false"
@@ -149,6 +150,7 @@
         <el-button
           type="primary"
           v-if="statusPop !== 2"
+          :loading="disabledBtn"
           @click="submit('listData')"
           >确 定</el-button
         >
@@ -165,6 +167,7 @@ export default {
   components: { searchBox, tableList, pagination },
   data() {
     return {
+      disabledBtn: false,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "考期",
@@ -323,6 +326,9 @@ export default {
     this.search();
   },
   methods: {
+    loadingClose() {
+      this.disabledBtn = false;
+    },
     startTimes(time) {
       if (this.listData.endTime) {
         if (time > this.listData.endTime) {
@@ -395,13 +401,16 @@ export default {
         pageSize: this.pageSize,
         pageNum: this.currentPage,
       };
-      this.$api.inquireCourseExamine(data).then((res) => {
-        this.tableData = res.rows;
-        this.total = res.total;
-        this.navText.index = res.total;
-      }).finally(()=>{
-        this.loading = false;
-      })
+      this.$api
+        .inquireCourseExamine(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     init() {
       this.search();
@@ -472,19 +481,30 @@ export default {
         1
       );
       arrs.endTime = this.$methodsTools.time10to13(this.listData.endTime, 1);
+      this.disabledBtn = true;
       if (this.statusPop === 1) {
-        this.$api.appCourseExamine(arrs).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .appCourseExamine(arrs)
+          .then((res) => {
+            this.$message.success("新增成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
       if (this.statusPop === 0) {
-        this.$api.editCourseExamine(arrs).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
+        this.$api
+          .editCourseExamine(arrs)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.search();
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
       }
     },
     close() {

+ 21 - 16
src/views/resource/handoutManagement/handoutList/index.vue

@@ -55,8 +55,8 @@ export default {
       },
       //搜索
       formList: [
-        {
-          prop: "educationId",
+         {
+          prop: "educationTypeId",
           placeholder: "教育类型",
           scope: "educationType",
         },
@@ -64,13 +64,13 @@ export default {
           prop: "businessId",
           placeholder: "业务层次",
           scope: "businessLevel",
-          edu: "educationId",
+          edu: "educationTypeId",
         },
         {
           prop: "subjectId",
           placeholder: "科目",
           scope: "sujectType",
-          edu: "educationId",
+          edu: "educationTypeId",
         },
         {
           prop: "status",
@@ -78,7 +78,7 @@ export default {
           scope: "select",
           options: [
             {
-              label: "发布状态",
+              label: "全部状态",
               value: '0,1',
             },
             {
@@ -141,14 +141,19 @@ export default {
     editInfo(v) {
       this.addClick(v, 0);
     },
-    search(v) {
+    search(int) {
       this.loading = true;
-      var data = {
-        status: 1,
-        pageSize: this.pageSize,
-        pageNum: this.currentPage,
-      };
-      this.$api.inquireCourseHandoutsList(data).then((res) => {
+       if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
+          status: "0,1",
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.$api.inquireCourseHandoutsList(this.formData).then((res) => {
         this.tableData = res.rows;
         this.total = res.total;
         this.navText.index = res.total;
@@ -157,7 +162,7 @@ export default {
       })
     },
     init() {
-      this.search();
+      this.search(2);
     },
     del(v) {
       this.$alert(
@@ -199,12 +204,12 @@ export default {
       }
     },
     handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
       this.search();
     },
     handleCurrentChange(v) {
-      this.currentPage = v;
+      this.formData.pageNum = v;
       this.search();
     },
   },

+ 16 - 5
src/views/resource/videoManagement/chapter/add/index.vue

@@ -231,13 +231,20 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-dialog :visible.sync="dialogVisible" width="800px"
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="800px"
       :show-close="false"
-      :close-on-click-modal="false">
+      :close-on-click-modal="false"
+    >
       <div slot="title" class="hearders">
         <div class="leftTitle">添加节</div>
         <div class="rightBoxs">
-          <img src="@/assets/images/Close@2x.png" alt="" @click="dialogVisible = false" />
+          <img
+            src="@/assets/images/Close@2x.png"
+            alt=""
+            @click="dialogVisible = false"
+          />
         </div>
       </div>
       <search-box-new
@@ -665,12 +672,16 @@ export default {
       this.$api.addCoursechapter(dataInfos).then((res) => {
         this.$message.success("新增成功");
         setTimeout(() => {
-          this.$router.go(-1);
+          this.$router.push({
+            path: "chapter",
+          });
         }, 500);
       });
     },
     backPage() {
-      this.$router.go(-1);
+      this.$router.push({
+        path: "chapter",
+      });
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);

+ 6 - 2
src/views/resource/videoManagement/chapter/edit/index.vue

@@ -674,12 +674,16 @@ export default {
       this.$api.editCoursechapter(dataInfos).then((res) => {
         this.$message.success("修改成功");
         setTimeout(() => {
-          this.$router.go(-1);
+          this.$router.push({
+                path:"chapter"
+              })
         }, 500);
       });
     },
     backPage() {
-      this.$router.go(-1);
+      this.$router.push({
+                path:"chapter"
+              })
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);

+ 3 - 1
src/views/resource/videoManagement/courseManagement/basicInfoEdit/index.vue

@@ -10,6 +10,7 @@
       >
         <el-form-item label="教育类型" prop="educationTypeId">
           <el-select
+          disabled
             v-model="listData.educationTypeId"
             placeholder="请选择教育类型"
             @change="changeEducationTypeId"
@@ -25,6 +26,7 @@
         </el-form-item>
         <el-form-item label="业务层次" prop="businessId">
           <el-select
+          disabled
             v-model="listData.businessId"
             placeholder="请选择业务层次"
             @change="changeBusinessId"
@@ -73,7 +75,7 @@
           prop="subjectId"
           v-if="listData.businessId"
         >
-          <el-select v-model="listData.subjectId" placeholder="请选择科目/类目">
+          <el-select v-model="listData.subjectId" placeholder="请选择科目/类目" disabled>
             <el-option
               v-for="(item, index) in newSujectOption"
               :key="index"

+ 6 - 0
src/views/resource/videoManagement/courseManagement/chapterContent/index.vue

@@ -641,6 +641,8 @@ export default {
     moduleApi() {
       this.$api
         .inquireCourseListmodule({
+          subjectId:this.pageInfo.subjectId,
+          businessId:this.pageInfo.businessId,
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
@@ -653,6 +655,8 @@ export default {
     chapterApi() {
       this.$api
         .inquireCourseListchapter({
+          businessId:this.pageInfo.businessId,
+          subjectId:this.pageInfo.subjectId,
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,
@@ -665,6 +669,8 @@ export default {
     sectionApi() {
       this.$api
         .inquireCourseSection({
+          businessId:this.pageInfo.businessId,
+          subjectId:this.pageInfo.subjectId,
           status: 1,
           pageNum: this.currentPage,
           pageSize: this.pageSize,

+ 12 - 14
src/views/resource/videoManagement/courseManagement/index.vue

@@ -138,33 +138,31 @@ export default {
           hidden: true,
         },
         {
-          label: "所属专业",
-          prop: "categoryName",
-          hidden: true,
-        },
-        {
-          label: "所属院校",
-          prop: "schoolName",
+          label: "科目",
+          prop: "subjectName",
           hidden: true,
         },
         {
-          label: "教育类型",
-          prop: "educationName",
+          label: "专业",
+          prop: "categoryName",
           hidden: true,
         },
         {
-          label: "项目类型",
-          prop: "projectName",
+          label: "院校",
+          prop: "schoolName",
           hidden: true,
         },
         {
           label: "业务层次",
-          prop: "businessName",
+          prop1: "projectName",
+          prop2: "businessName",
           hidden: true,
+          width:"240px",
+          scope:"InfoMore"
         },
         {
-          label: "科目",
-          prop: "subjectName",
+          label: "教育类型",
+          prop: "educationName",
           hidden: true,
         },
         {

+ 143 - 22
src/views/resource/videoManagement/festival/add/index.vue

@@ -52,15 +52,19 @@
                 >{{ item.subjectName }}</el-checkbox
               >
             </el-checkbox-group>
-            <div style="display:block;text-align:center;margin-top:10px;">
-            <el-button size="mini" type="primary" @click="submitSujectArray"
-              >确定</el-button
-            ></div>
-            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
+            <div style="display: block; text-align: center; margin-top: 10px">
+              <el-button size="mini" type="primary" @click="submitSujectArray"
+                >确定</el-button
+              >
+            </div>
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
-          <span style="margin-left:10px;">注:可多选</span>
+          <span style="margin-left: 10px">注:可多选</span>
         </el-form-item>
         <el-form-item label="">
           <div :class="changeHeight ? 'ach' : 'clh'">
@@ -96,7 +100,11 @@
           <el-input v-model="listData.name"></el-input>
         </el-form-item>
         <el-form-item label="节类型">
-          <el-select clearable v-model="listData.sectionType" placeholder="请选择节类型">
+          <el-select
+            clearable
+            v-model="listData.sectionType"
+            placeholder="请选择节类型"
+          >
             <el-option
               v-for="(item, index) in sectionTypeOptions"
               :key="index"
@@ -120,7 +128,7 @@
             <el-option
               v-for="(item, index) in newLiveUrl"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -161,6 +169,17 @@
             v-model="listData.recordingUrl"
             placeholder="请输入URL地址"
           ></el-input>
+          <label
+            for="mobles"
+            class="el-button el-button--primary"
+            style="margin: 0px 6px; padding: 10px 20px"
+            >上传</label
+          ><input
+            style="display: none"
+            type="file"
+            id="mobles"
+            @change="importMoble"
+          />
           <el-select
             v-if="listData.sectionType === 1"
             v-model="newActiveRecordingUrl1"
@@ -170,7 +189,7 @@
             <el-option
               v-for="(item, index) in newSteamUrl1"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -184,7 +203,7 @@
             <el-option
               v-for="(item, index) in newSteamUrl2"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -256,9 +275,17 @@
 </template>
 
 <script>
+import { uploadFile } from '@/utils/uopladFile.js'
 export default {
   data() {
     return {
+      fileSetting: {
+        desc: 'i am desc', // 描述
+        cataid: '1639399775001', // 分类ID 可以后端传递 也可以不写 或写死
+        tag: 'i am tag', // 标签
+        luping: 0, // 是否开启视频课件优化处理,对于上传录屏类视频清晰度有所优化:0为不开启,1为开启
+        keepsource: 1 // 是否源文件播放(不对视频进行编码):0为编码,1为不编码
+      },
       sectionTypeOptions: [
         {
           label: "录播",
@@ -277,7 +304,7 @@ export default {
       changeHeight: true,
       bfImg: "oss/images/avatar/20211013/1634097664410_1397766697",
       listData: {
-        publishStatus:1,
+        publishStatus: 1,
         recordingUrl: "",
         liveUrl: "",
         coverUrl: "oss/images/avatar/20211013/1634097664410_1397766697",
@@ -327,6 +354,25 @@ export default {
     this.getDict();
   },
   methods: {
+    importMoble(event) {
+      // var self = this;
+      var file = event.target.files[0];
+      // let formData = new FormData();
+      // formData.append("file", file);
+      // console.log(formData);
+      if (!event.target.value) {
+        this.$message.error('请选择您要上传的文件')
+        return false
+      }
+      /**
+       * @param: event.target.files -> 传递的文件list
+       * @param: this.fileSetting -> 常规配置 上面有备注
+       * @param: 回调
+       */
+      uploadFile(file, this.fileSetting, (index, event) => {
+        this.listData.recordingUrl = event.vid
+      })
+    },
     getMessage() {
       if (!this.courType) {
         this.$message.warning("请先选择业务层级");
@@ -376,6 +422,68 @@ export default {
         this.sujectApis.push(this.sujectArray[i]);
       }
       this.$refs.popovers.doClose();
+      this.$nextTick(() => {
+        this.changeUrl();
+      });
+    },
+    changeUrl() {
+      var arr = this.newSujectApis.map((val) => val.businessId);
+      const unique = [...new Set(arr)];
+      var busId = "";
+      if (unique.length) {
+        busId = unique.toString();
+      } else {
+        busId = "";
+      }
+      this.$api.inquireCourseStreaming({ status: 1 }).then((res) => {
+        var arraystt = [];
+        var newarrays1tt = [];
+        var newarrays2tt = [];
+        res.rows.map((item) => {
+          if (item.streamingType === 1) {
+            arraystt.push(item);
+          }
+          if (item.streamingType === 2) {
+            newarrays1tt.push(item);
+          }
+          if (item.streamingType === 3) {
+            newarrays2tt.push(item);
+          }
+        });
+        this.$api
+          .inquireCourseStreaming({ status: 1, businessId: busId })
+          .then((result) => {
+            var arrays = [];
+            var newarrays1 = [];
+            var newarrays2 = [];
+            result.rows.map((item) => {
+              if (item.streamingType === 1) {
+                arrays.push(item);
+              }
+              if (item.streamingType === 2) {
+                newarrays1.push(item);
+              }
+              if (item.streamingType === 3) {
+                newarrays2.push(item);
+              }
+            });
+            if (arrays.length) {
+              this.newLiveUrl = arrays;
+            } else {
+              this.newLiveUrl = arraystt;
+            }
+            if (newarrays1.length) {
+              this.newSteamUrl1 = newarrays1;
+            } else {
+              this.newSteamUrl1 = newarrays1tt;
+            }
+            if (newarrays2.length) {
+              this.newSteamUrl2 = newarrays2;
+            } else {
+              this.newSteamUrl2 = newarrays2tt;
+            }
+          });
+      });
     },
     showHandle() {
       var array = [];
@@ -486,7 +594,7 @@ export default {
     },
     async rulesTableSumbit() {
       var dataInfos = {
-          status:1,
+        status: 1,
         businessList: this.newSujectApis,
         coverUrl: this.listData.coverUrl,
         name: this.listData.name,
@@ -497,8 +605,14 @@ export default {
       if (this.listData.sectionType === 2) {
         dataInfos.sectionType = 2;
         dataInfos.liveUrl = this.listData.liveUrl;
-        dataInfos.liveStartTime = this.$methodsTools.time10to13(this.listData.liveStartTime,1)
-        dataInfos.liveEndTime = this.$methodsTools.time10to13(this.listData.liveEndTime,1);
+        dataInfos.liveStartTime = this.$methodsTools.time10to13(
+          this.listData.liveStartTime,
+          1
+        );
+        dataInfos.liveEndTime = this.$methodsTools.time10to13(
+          this.listData.liveEndTime,
+          1
+        );
         dataInfos.durationTime = this.listData.durationTime;
       }
       if (this.listData.sectionType === 1) {
@@ -511,18 +625,25 @@ export default {
         dataInfos.recordingUrl = this.listData.recordingUrl;
         dataInfos.durationTime = this.listData.durationTime;
       }
-        this.$api.appCourseSection(dataInfos).then((res) => {
-          this.$message.success("新增成功");
-            setTimeout(() => {
-                this.$router.go(-1)
-            },500)
-        });
+      this.$api.appCourseSection(dataInfos).then((res) => {
+        this.$message.success("新增成功");
+        setTimeout(() => {
+          this.$router.push({
+            path: "festival",
+          });
+        }, 500);
+      });
     },
-    backPage(){
-        this.$router.go(-1)
+    backPage() {
+      this.$router.push({
+        path: "festival",
+      });
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);
+      this.$nextTick(() => {
+        this.changeUrl();
+      });
     },
     changeLiveUrl() {
       this.newLiveUrl.map((item) => {

+ 113 - 6
src/views/resource/videoManagement/festival/edit/index.vue

@@ -63,7 +63,7 @@
               >请选择科目</el-button
             >
           </el-popover>
-          <span style="margin-left:10px;">注:可多选</span>
+          <span style="margin-left: 10px">注:可多选</span>
         </el-form-item>
         <el-form-item label="">
           <div :class="changeHeight ? 'ach' : 'clh'">
@@ -127,7 +127,7 @@
             <el-option
               v-for="(item, index) in newLiveUrl"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -168,6 +168,17 @@
             v-model="listData.recordingUrl"
             placeholder="请输入URL地址"
           ></el-input>
+          <label
+            for="mobles"
+            class="el-button el-button--primary"
+            style="margin: 0px 6px; padding: 10px 20px"
+            >上传</label
+          ><input
+            style="display: none"
+            type="file"
+            id="mobles"
+            @change="importMoble"
+          />
           <el-select
             v-if="listData.sectionType === 1"
             v-model="newActiveRecordingUrl1"
@@ -177,7 +188,7 @@
             <el-option
               v-for="(item, index) in newSteamUrl1"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -191,7 +202,7 @@
             <el-option
               v-for="(item, index) in newSteamUrl2"
               :key="index"
-              :label="item.introduce"
+              :label="item.streamingName"
               :value="item.id"
             >
             </el-option>
@@ -263,9 +274,17 @@
 </template>
 
 <script>
+import { uploadFile } from '@/utils/uopladFile.js'
 export default {
   data() {
     return {
+      fileSetting: {
+        desc: 'i am desc', // 描述
+        cataid: '1639399775001', // 分类ID 可以后端传递 也可以不写 或写死
+        tag: 'i am tag', // 标签
+        luping: 0, // 是否开启视频课件优化处理,对于上传录屏类视频清晰度有所优化:0为不开启,1为开启
+        keepsource: 1 // 是否源文件播放(不对视频进行编码):0为编码,1为不编码
+      },
       sectionTypeOptions: [
         {
           label: "录播",
@@ -333,6 +352,25 @@ export default {
     this.getDict();
   },
   methods: {
+    importMoble(event) {
+      // var self = this;
+      var file = event.target.files[0];
+      // let formData = new FormData();
+      // formData.append("file", file);
+      // console.log(formData);
+      if (!event.target.value) {
+        this.$message.error('请选择您要上传的文件')
+        return false
+      }
+      /**
+       * @param: event.target.files -> 传递的文件list
+       * @param: this.fileSetting -> 常规配置 上面有备注
+       * @param: 回调
+       */
+      uploadFile(file, this.fileSetting, (index, event) => {
+        this.listData.recordingUrl = event.vid
+      })
+    },
     getMessage() {
       if (!this.courType) {
         this.$message.warning("请先选择业务层级");
@@ -407,6 +445,68 @@ export default {
         this.sujectApis.push(this.sujectArray[i]);
       }
       this.$refs.popovers.doClose();
+      this.$nextTick(() => {
+        this.changeUrl();
+      });
+    },
+    changeUrl() {
+      var arr = this.newSujectApis.map((val) => val.businessId);
+      const unique = [...new Set(arr)];
+      var busId = "";
+      if (unique.length) {
+        busId = unique.toString();
+      } else {
+        busId = "";
+      }
+      this.$api.inquireCourseStreaming({ status: 1 }).then((res) => {
+        var arraystt = [];
+        var newarrays1tt = [];
+        var newarrays2tt = [];
+        res.rows.map((item) => {
+          if (item.streamingType === 1) {
+            arraystt.push(item);
+          }
+          if (item.streamingType === 2) {
+            newarrays1tt.push(item);
+          }
+          if (item.streamingType === 3) {
+            newarrays2tt.push(item);
+          }
+        });
+        this.$api
+          .inquireCourseStreaming({ status: 1, businessId: busId })
+          .then((result) => {
+            var arrays = [];
+            var newarrays1 = [];
+            var newarrays2 = [];
+            result.rows.map((item) => {
+              if (item.streamingType === 1) {
+                arrays.push(item);
+              }
+              if (item.streamingType === 2) {
+                newarrays1.push(item);
+              }
+              if (item.streamingType === 3) {
+                newarrays2.push(item);
+              }
+            });
+            if (arrays.length) {
+              this.newLiveUrl = arrays;
+            } else {
+              this.newLiveUrl = arraystt;
+            }
+            if (newarrays1.length) {
+              this.newSteamUrl1 = newarrays1;
+            } else {
+              this.newSteamUrl1 = newarrays1tt;
+            }
+            if (newarrays2.length) {
+              this.newSteamUrl2 = newarrays2;
+            } else {
+              this.newSteamUrl2 = newarrays2tt;
+            }
+          });
+      });
     },
     showHandle() {
       var array = [];
@@ -583,15 +683,22 @@ export default {
       this.$api.editCourseSection(dataInfos).then((res) => {
         this.$message.success("修改成功");
         setTimeout(() => {
-          this.$router.go(-1);
+          this.$router.push({
+            path: "festival",
+          });
         }, 500);
       });
     },
     backPage() {
-      this.$router.go(-1);
+      this.$router.push({
+        path: "festival",
+      });
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);
+      this.$nextTick(() => {
+        this.changeUrl();
+      });
     },
     changeLiveUrl() {
       this.newLiveUrl.map((item) => {

+ 2 - 0
src/views/resource/videoManagement/flow/index.vue

@@ -212,6 +212,7 @@ export default {
         index: 0,
         ch: "条",
         num: true,
+        border:true,
         choice: true,
         addHide: false,
         backFatherBtn: {
@@ -600,6 +601,7 @@ export default {
         this.statusPop = 1;
         this.listData = {
           status: 1,
+          streamingAddressType:1,
         };
         this.eduType = "";
         this.cauType = [];

+ 221 - 39
src/views/resource/videoManagement/moduleManagement/add/index.vue

@@ -56,11 +56,14 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
-          <span style="margin-left:10px;">注:可多选</span>
+          <span style="margin-left: 10px">注:可多选</span>
         </el-form-item>
         <el-form-item label="">
           <div :class="changeHeight ? 'ach' : 'clh'">
@@ -146,7 +149,9 @@
               <el-button size="small" @click="openBoxs">添加章</el-button>
             </div>
             <div style="color: #f56c6c">
-              <span style="margin-right: 10px">章总数:{{ tableData.length }}</span>
+              <span style="margin-right: 10px"
+                >章总数:{{ tableData.length }}</span
+              >
               <!-- <span>总时长:{{ minTimeAll }}分钟</span> -->
             </div>
           </div>
@@ -192,8 +197,15 @@
                     }}
                   </span>
                   <div v-else-if="item.scope === 'inputs'">
-                    <el-input-number style="width:50px" size="small" :controls="false" v-model="scope.row[item.prop]" controls-position="right" :min="0"></el-input-number>
-                   </div>
+                    <el-input-number
+                      style="width: 50px"
+                      size="small"
+                      :controls="false"
+                      v-model="scope.row[item.prop]"
+                      controls-position="right"
+                      :min="0"
+                    ></el-input-number>
+                  </div>
                   <span v-else>{{ scope.row[item.prop] }}</span></template
                 >
               </el-table-column></template
@@ -218,7 +230,29 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-dialog title="添加章" :visible.sync="dialogVisible" width="800px">
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="800px"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">添加章</div>
+        <div class="rightBoxs">
+          <img
+            src="@/assets/images/Close@2x.png"
+            alt=""
+            @click="dialogVisible = false"
+          />
+        </div>
+      </div>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData"
+        :formList="formList"
+        @search="getInfos"
+        @init="init"
+      />
       <el-table
         ref="multipleTable"
         :data="boxtableData"
@@ -277,30 +311,36 @@
       </el-table>
       <pagination
         :total="total"
-        :pageSize="pageSize"
-        :currentPage="currentPage"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
         @handleSizeChange="handleSizeChange"
         @handleCurrentChange="handleCurrentChange"
       />
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">取 消</el-button>
-        <el-button type="primary" :disabled="activeLists.length === 0" @click="submitForm">确 定</el-button>
+        <el-button
+          type="primary"
+          :disabled="activeLists.length === 0"
+          @click="submitForm"
+          >确 定</el-button
+        >
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import searchBoxNew from "@/components/searchBoxNew";
 import pagination from "@/components/pagination";
 export default {
-  components: { pagination },
+  components: { searchBoxNew,pagination },
   data() {
     return {
       //   弹窗数据
       changeHeight: true,
       bfImg: "oss/images/avatar/20211013/1634097664410_1397766697",
       listData: {
-        publishStatus:1,
+        publishStatus: 1,
         recordingUrl: "",
         liveUrl: "",
         coverUrl: "oss/images/avatar/20211013/1634097664410_1397766697",
@@ -321,7 +361,9 @@ export default {
         prefixName: [
           { required: true, message: "请输入标题前缀", trigger: "blur" },
         ],
-        moduleName: [{ required: true, message: "请输入节标题", trigger: "blur" }],
+        moduleName: [
+          { required: true, message: "请输入节标题", trigger: "blur" },
+        ],
         // liveDuration: [
         //   { required: true, message: "节时长不能为空" },
         //   { type: "number", message: "节时长必须为数字值" },
@@ -347,11 +389,46 @@ export default {
       tableData: [],
       dialogVisible: false,
       boxtableData: [],
+      formList: [
+        {
+          prop: "educationTypeId",
+          placeholder: "教育类型",
+          scope: "educationType",
+        },
+        {
+          prop: "businessId",
+          placeholder: "业务层次",
+          scope: "businessLevel",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "publishStatus",
+          placeholder: "发布状态",
+          scope: "select",
+          options: [
+            {
+              label: "已发布",
+              value: 1,
+            },
+            {
+              label: "未发布",
+              value: 0,
+            },
+          ],
+        },
+        {
+          prop: "prefixName",
+          placeholder: "请输入标题前缀",
+        },
+      ],
       total: 0, //一共多少条
-      pageSize: 10, //每页多少条数据
-      currentPage: 1, //当前页码
+      formData: {
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+      },
       disCheckList: [], //已选转禁用复选列表
-      activeLists:[],
+      activeLists: [],
     };
   },
   watch: {
@@ -377,8 +454,8 @@ export default {
       this.$api
         .inquireCourseListchapter({
           status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
+          pageNum: 1,
+          pageSize: 10,
         })
         .then((res) => {
           var aList = [];
@@ -396,20 +473,29 @@ export default {
     },
     getInfosList() {
       this.$api
-        .inquireCourseListmodulechapter({chapterId:this.$route.query.id})
+        .inquireCourseListmodulechapter({ chapterId: this.$route.query.id })
         .then((result) => {
           // this.numberAll = result.total;
           // this.minTimeAll = result.timeTotal;
           this.tableData = result.data;
         });
     },
-    getInfos() {
-      this.$api
-        .inquireCourseListchapter({
+    init() {
+      this.getInfos(2);
+    },
+    getInfos(int) {
+       if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
           status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
-        })
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.$api
+        .inquireCourseListchapter(this.formData)
         .then((res) => {
           this.boxtableData = res.rows;
           this.total = res.total;
@@ -565,14 +651,17 @@ export default {
       });
     },
     async rulesTableSumbit() {
-      var chapterIdList = []
-      this.tableData.map(item => {
-        chapterIdList.push({chapterId:item.chapterId,sort:Number(item.sort)})
-      })
+      var chapterIdList = [];
+      this.tableData.map((item) => {
+        chapterIdList.push({
+          chapterId: item.chapterId,
+          sort: Number(item.sort),
+        });
+      });
       var dataInfos = {
         status: 1,
         businessList: this.newSujectApis,
-        chapterIdList:chapterIdList,
+        chapterIdList: chapterIdList,
         coverUrl: this.listData.coverUrl,
         moduleName: this.listData.moduleName,
         prefixName: this.listData.prefixName,
@@ -581,12 +670,16 @@ export default {
       this.$api.addCoursemodule(dataInfos).then((res) => {
         this.$message.success("新增成功");
         setTimeout(() => {
-          this.$router.go(-1);
+          this.$router.push({
+            path: "moduleManagement",
+          });
         }, 500);
       });
     },
     backPage() {
-      this.$router.go(-1);
+      this.$router.push({
+        path: "moduleManagement",
+      });
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);
@@ -618,12 +711,12 @@ export default {
       });
     },
     handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
       this.getInfos();
     },
     handleCurrentChange(v) {
-      this.currentPage = v;
+      this.formData.pageNum = v;
       this.getInfos();
     },
     selectAll(value) {
@@ -650,15 +743,15 @@ export default {
       this.tableData = this.tableData.concat(this.activeLists);
       this.dialogVisible = false;
       this.$message.success("添加成功");
-          this.activeLists = [];
+      this.activeLists = [];
     },
     delList(item) {
-      this.tableData.map((items,indexs) => {
-        if(items.chapterId === item.chapterId){
-          this.tableData.splice(indexs,1)
+      this.tableData.map((items, indexs) => {
+        if (items.chapterId === item.chapterId) {
+          this.tableData.splice(indexs, 1);
           this.$message.success("删除成功");
         }
-      })
+      });
     },
   },
 };
@@ -725,4 +818,93 @@ export default {
   text-align: center;
   border: none;
 }
+/deep/.el-button {
+  border-radius: 8px;
+}
+/deep/.el-dialog {
+  border-radius: 8px;
+  .el-dialog__header {
+    padding: 0;
+    .hearders {
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      padding: 0px 18px 0px 20px;
+      border-bottom: 1px solid #e2e2e2;
+      .leftTitle {
+        font-size: 14px;
+        font-weight: bold;
+        color: #2f4378;
+      }
+      .rightBoxs {
+        display: flex;
+        align-items: center;
+        img {
+          width: 14px;
+          height: 14px;
+          margin-left: 13px;
+          cursor: pointer;
+        }
+      }
+    }
+  }
+  .el-dialog__footer {
+    padding: 0;
+    .dialog-footer {
+      padding: 0px 40px;
+      height: 70px;
+      border-top: 1px solid #e2e2e2;
+      display: flex;
+      align-items: center;
+      justify-content: flex-end;
+    }
+  }
+}
+.imgBox {
+  width: 100%;
+  // height: 210px;
+  border: 1px solid #e2e2e2;
+  border-radius: 8px;
+  padding: 8px 8px 3px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  .imgLabel {
+    flex: 1;
+    width: 100%;
+    border: 1px dotted #e2e2e2;
+    color: #999;
+    font-size: 14px;
+    cursor: pointer;
+    border-radius: 8px;
+    .msPhoto {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      max-width: 100%;
+      max-height: 270px;
+      img {
+        max-width: 100%;
+        max-height: 270px;
+      }
+    }
+    .imgbbx {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      width: 100%;
+      height: 100%;
+      i {
+        font-weight: bold;
+        margin: 14px 0;
+        font-size: 24px;
+      }
+    }
+  }
+  p {
+    margin: 5px 0px;
+  }
+}
 </style>

+ 185 - 21
src/views/resource/videoManagement/moduleManagement/edit/index.vue

@@ -56,7 +56,10 @@
                 >确定</el-button
               >
             </div>
-            <el-button slot="reference" style="margin-left: 12px" @click="getMessage"
+            <el-button
+              slot="reference"
+              style="margin-left: 12px"
+              @click="getMessage"
               >请选择科目</el-button
             >
           </el-popover>
@@ -228,7 +231,29 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-dialog title="添加章" :visible.sync="dialogVisible" width="800px">
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="800px"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">添加章</div>
+        <div class="rightBoxs">
+          <img
+            src="@/assets/images/Close@2x.png"
+            alt=""
+            @click="dialogVisible = false"
+          />
+        </div>
+      </div>
+      <search-box-new
+        ref="searchBox"
+        :formData="formData"
+        :formList="formList"
+        @search="getInfos"
+        @init="init"
+      />
       <el-table
         ref="multipleTable"
         :data="boxtableData"
@@ -287,8 +312,8 @@
       </el-table>
       <pagination
         :total="total"
-        :pageSize="pageSize"
-        :currentPage="currentPage"
+        :pageSize="formData.pageSize"
+        :currentPage="formData.pageNum"
         @handleSizeChange="handleSizeChange"
         @handleCurrentChange="handleCurrentChange"
       />
@@ -306,9 +331,10 @@
 </template>
 
 <script>
+import searchBoxNew from "@/components/searchBoxNew";
 import pagination from "@/components/pagination";
 export default {
-  components: { pagination },
+  components: { searchBoxNew,pagination },
   data() {
     return {
       //   弹窗数据
@@ -363,9 +389,44 @@ export default {
       tableData: [],
       dialogVisible: false,
       boxtableData: [],
+      formList: [
+        {
+          prop: "educationTypeId",
+          placeholder: "教育类型",
+          scope: "educationType",
+        },
+        {
+          prop: "businessId",
+          placeholder: "业务层次",
+          scope: "businessLevel",
+          edu: "educationTypeId",
+        },
+        {
+          prop: "publishStatus",
+          placeholder: "发布状态",
+          scope: "select",
+          options: [
+            {
+              label: "已发布",
+              value: 1,
+            },
+            {
+              label: "未发布",
+              value: 0,
+            },
+          ],
+        },
+        {
+          prop: "prefixName",
+          placeholder: "请输入标题前缀",
+        },
+      ],
       total: 0, //一共多少条
-      pageSize: 10, //每页多少条数据
-      currentPage: 1, //当前页码
+      formData: {
+        status: 1,
+        pageSize: 10,
+        pageNum: 1,
+      },
       disCheckList: [], //已选转禁用复选列表
       activeLists: [],
     };
@@ -378,7 +439,7 @@ export default {
       },
     },
   },
- async mounted() {
+  async mounted() {
     await this.getDict();
     this.search();
   },
@@ -393,8 +454,8 @@ export default {
       this.$api
         .inquireCourseListchapter({
           status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
+          pageNum: 1,
+          pageSize: 10,
         })
         .then((res) => {
           var aList = [];
@@ -419,13 +480,22 @@ export default {
           this.tableData = result.data;
         });
     },
-    getInfos() {
-      this.$api
-        .inquireCourseListchapter({
+    init() {
+      this.getInfos(2);
+    },
+    getInfos(int) {
+       if (int === 1) {
+        this.formData.pageNum = 1;
+      }
+      if (int === 2) {
+        this.formData = {
           status: 1,
-          pageNum: this.currentPage,
-          pageSize: this.pageSize,
-        })
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.$api
+        .inquireCourseListchapter(this.formData)
         .then((res) => {
           this.boxtableData = res.rows;
           this.total = res.total;
@@ -604,12 +674,16 @@ export default {
       this.$api.editCoursemodule(dataInfos).then((res) => {
         this.$message.success("修改成功");
         setTimeout(() => {
-          this.$router.go(-1);
+          this.$router.push({
+            path: "moduleManagement",
+          });
         }, 500);
       });
     },
     backPage() {
-      this.$router.go(-1);
+      this.$router.push({
+        path: "moduleManagement",
+      });
     },
     closeType(index) {
       this.sujectApis.splice(index, 1);
@@ -640,13 +714,14 @@ export default {
         self.listData.coverUrl = res;
       });
     },
+    
     handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
+      this.formData.pageSize = v;
+      this.formData.pageNum = 1;
       this.getInfos();
     },
     handleCurrentChange(v) {
-      this.currentPage = v;
+      this.formData.pageNum = v;
       this.getInfos();
     },
     selectAll(value) {
@@ -748,4 +823,93 @@ export default {
   text-align: center;
   border: none;
 }
+/deep/.el-button {
+  border-radius: 8px;
+}
+/deep/.el-dialog {
+  border-radius: 8px;
+  .el-dialog__header {
+    padding: 0;
+    .hearders {
+      height: 40px;
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      padding: 0px 18px 0px 20px;
+      border-bottom: 1px solid #e2e2e2;
+      .leftTitle {
+        font-size: 14px;
+        font-weight: bold;
+        color: #2f4378;
+      }
+      .rightBoxs {
+        display: flex;
+        align-items: center;
+        img {
+          width: 14px;
+          height: 14px;
+          margin-left: 13px;
+          cursor: pointer;
+        }
+      }
+    }
+  }
+  .el-dialog__footer {
+    padding: 0;
+    .dialog-footer {
+      padding: 0px 40px;
+      height: 70px;
+      border-top: 1px solid #e2e2e2;
+      display: flex;
+      align-items: center;
+      justify-content: flex-end;
+    }
+  }
+}
+.imgBox {
+  width: 100%;
+  // height: 210px;
+  border: 1px solid #e2e2e2;
+  border-radius: 8px;
+  padding: 8px 8px 3px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  .imgLabel {
+    flex: 1;
+    width: 100%;
+    border: 1px dotted #e2e2e2;
+    color: #999;
+    font-size: 14px;
+    cursor: pointer;
+    border-radius: 8px;
+    .msPhoto {
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      max-width: 100%;
+      max-height: 270px;
+      img {
+        max-width: 100%;
+        max-height: 270px;
+      }
+    }
+    .imgbbx {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      width: 100%;
+      height: 100%;
+      i {
+        font-weight: bold;
+        margin: 14px 0;
+        font-size: 24px;
+      }
+    }
+  }
+  p {
+    margin: 5px 0px;
+  }
+}
 </style>