Jelajahi Sumber

concat:合并冲突修复

Tang 3 tahun lalu
induk
melakukan
7659776696

+ 1 - 1
src/views/resource/bankManagement/chapterVolumeManagement/addChapterjs.vue

@@ -91,7 +91,7 @@ export default {
         item.publishStatus = 1;
         return item;
       });
-      this.$api.addMorebankexam(data).then((res) => {
+      this.$api.addMorebankexam(data.reverse()).then((res) => {
         this.dialogVisible = false;
         this.$emit("backData", res.data);
       });

+ 26 - 132
src/views/resource/bankManagement/testPaperManagement/addPaper/topicAddPaper/index.vue

@@ -15,8 +15,13 @@
         @emitData="emitData"
       >
         <template slot="customize">
-          <el-button size="medium" @click="dialogDRword = true" type="success"
+          <el-button
+            size="medium"
+            @click="$refs.wordpop.dialogDRword = true"
+            type="success"
             >Word批量导入</el-button
+          ><el-button size="medium" @click="openExcel" type="success"
+            >Excel批量导入</el-button
           >
         </template>
         <template slot="btn" slot-scope="props">
@@ -30,7 +35,6 @@
       </table-list>
       <div class="centerStys">
         <el-button size="small" @click="backPage">取消</el-button>
-        <el-button size="small" type="warning" @click="preview">预览</el-button>
         <el-button
           size="small"
           type="primary"
@@ -39,28 +43,6 @@
           >确定</el-button
         >
       </div>
-      <el-dialog
-        :visible.sync="dialogDRword"
-        :append-to-body="true"
-        width="780px"
-        :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="dialogDRword = false"
-            />
-          </div>
-        </div>
-        <word-pop ref="wordpop" />
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogDRword = false">取 消</el-button>
-        </span>
-      </el-dialog>
       <el-dialog
         width="1080px"
         :visible.sync="innerVisiblePaperTopic"
@@ -672,30 +654,9 @@
           >
         </span>
       </el-dialog>
-      <el-dialog
-        :visible.sync="dialogDRexcel"
-        :append-to-body="true"
-        width="780px"
-        :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="dialogDRexcel = false"
-            />
-          </div>
-        </div>
-        <excel-pop @backData="backData" />
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogDRexcel = false">取 消</el-button>
-        </span>
-      </el-dialog>
+      <word-pop ref="wordpop" @backwordData="backwordData" />
+      <excel-pop ref="excelpop" @backExcelData="backExcelData" />
     </div>
-    <test-paper-preview ref="testPaperPreview" />
   </div>
 </template>
 
@@ -705,7 +666,6 @@ import pagination from "@/components/pagination";
 import tableList from "@/components/tableList";
 import busIns from "@/components/busIns";
 import questionBank from "@/components/questionBank";
-import testPaperPreview from "@/components/testPaperPreview";
 import wordPop from "../../wordPop.vue";
 import excelPop from "../../excelPop.vue";
 export default {
@@ -717,7 +677,6 @@ export default {
     busIns,
     questionBank,
     wordPop,
-    testPaperPreview,
     excelPop,
   },
   data() {
@@ -780,6 +739,7 @@ export default {
           prop: "type",
           hidden: true,
           scope: "topic",
+          width:"140px"
         },
         {
           label: "标题前缀",
@@ -808,6 +768,7 @@ export default {
           prop: "publishStatus",
           hidden: true,
           scope: "fabStatus",
+          width:"140px"
         },
       ],
       tableData: [],
@@ -1058,75 +1019,20 @@ export default {
     this.localStart = false;
   },
   methods: {
-    preview() {
-      var num = 0;
-      this.tableData.forEach((item) => {
-        num += item.score;
-      });
-      var topData = {
-        getAllpocis: num,
-        passScore: this.passScore,
-        doType: this.examsType,
-      };
-      if (this.djTimeType === 0) {
-        topData.answerTime = 0;
-      } else {
-        topData.answerTime = this.djTime;
-      }
-      if (this.djNumType === 0) {
-        topData.answerNum = 0;
-      } else {
-        topData.answerNum = this.djNum;
-      }
-      let data = {
-        topData: topData,
-        tableData: this.tableData,
-      };
-      this.$refs.testPaperPreview.openBox(2, data);
+    openExcel() {
+      this.$refs.excelpop.openBoxs(this.tableData, this.businObj);
+    },
+    /**
+     * 返回word数据
+     */
+    backwordData(data) {
+      this.tableData = this.tableData.concat(data);
     },
     /**
      * 返回数据
      */
-    backData(arr) {
-      for (let i = 0; i < arr.length; i++) {
-        arr[i].partScore = 0;
-        arr[i].score = "";
-        arr[i].status = 1;
-        arr[i].businessList = [this.businObj];
-        if (arr[i].type === 4) {
-          arr[i].optionsList = JSON.parse(arr[i].jsonStr);
-          arr[i].optionsList.forEach((item) => {
-            if (item.type === 3 || item.type === 5) {
-              item.optionsList = [];
-              item.jsonStr = "";
-            }
-          });
-        } else if (arr[i].type === 5) {
-          arr[i].jsonStr = "";
-          arr[i].optionsList = [];
-        } else {
-          arr[i].jsonStr = JSON.stringify(arr[i].optionsList);
-        }
-        if (this.tableData.length) {
-          let maxIndex = 0;
-          let childrenIndex = 0;
-          this.tableData.forEach((item) => {
-            if (item.sort > maxIndex) {
-              maxIndex = item.sort;
-            }
-            if (item.index > childrenIndex) {
-              childrenIndex = item.index;
-            }
-          });
-          arr[i].sort = maxIndex + 1;
-          arr[i].index = childrenIndex + 1;
-        } else {
-          arr[i].sort = 1;
-          arr[i].index = 0;
-        }
-        this.tableData.push(arr[i]);
-        this.dialogDRexcel = false;
-      }
+    backExcelData(arr) {
+      this.tableData = this.tableData.concat(arr);
     },
     setInterFunc() {
       var arr = setInterval(() => {
@@ -1668,32 +1574,20 @@ export default {
               data.index = 0;
             }
             this.tableData.push(data);
-            // this.$api.addbankquestion(data).then((res) => {
             self.$message.success("添加成功");
             self.innerVisiblePaperTopic = false;
             self.showHide = false;
-            // self.search();
-            // });
           }
           if (this.statusPop === 0) {
-            let indexy = this.tableData.findIndex((item) => {
-              return item.index === this.indexZB;
-            });
-            this.tableData.splice(indexy, 1, data);
-            if (this.uploadStatus) {
-              this.$refs.testPaperPreview.changeUploadStatus(data);
-            }
-            // this.$api.editbankquestion(data).then((res) => {
+            this.tableData.splice(this.indexZB, 1, data);
             self.$message.success("修改成功");
             self.innerVisiblePaperTopic = false;
             self.showHide = false;
-            // self.search();
-            // });
-            /**
-             * 核心语句👇表格定制化需要使用jsonStr字段,与题目管理同步字段,所以需要实时更新jsonStr
-             */
-            data.jsonStr = JSON.stringify(data.optionsList);
           }
+          /**
+           * 核心语句👇表格定制化需要使用jsonStr字段,与题目管理同步字段,所以需要实时更新jsonStr
+           */
+          data.jsonStr = JSON.stringify(data.optionsList);
         } else {
           console.log("error submit!!");
           return false;
@@ -1736,7 +1630,7 @@ export default {
         return;
       }
       var arrs = [];
-      for (let i = 0; i < this.tableData.length; i++) {
+      for (let i = this.tableData.length-1; i >= 0; i--) {
         if (self.tableData[i].questionId) {
           await self.uploadApis(self.tableData[i]);
         } else {

+ 23 - 131
src/views/resource/bankManagement/testPaperManagement/editPaper/topicEditPaper/index.vue

@@ -10,9 +10,12 @@
         @emitData="emitData"
       >
         <template slot="customize">
-          <el-button size="medium" @click="dialogDRword = true" type="success"
+          <el-button
+            size="medium"
+            @click="$refs.wordpop.dialogDRword = true"
+            type="success"
             >Word批量导入</el-button
-          ><el-button size="medium" @click="dialogDRexcel = true" type="success"
+          ><el-button size="medium" @click="openExcel" type="success"
             >Excel批量导入</el-button
           >
         </template>
@@ -27,7 +30,7 @@
       </table-list>
       <div class="centerStys">
         <el-button size="small" @click="backPage">取消</el-button>
-        <el-button size="small" type="warning" @click="preview">预览</el-button>
+        <!-- <el-button size="small" type="warning" @click="preview">预览</el-button> -->
         <el-button
           size="small"
           type="primary"
@@ -44,28 +47,6 @@
           >恢复草稿</el-button
         >
       </div>
-      <el-dialog
-        :visible.sync="dialogDRword"
-        :append-to-body="true"
-        width="780px"
-        :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="dialogDRword = false"
-            />
-          </div>
-        </div>
-        <word-pop ref="wordpop" />
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogDRword = false">取 消</el-button>
-        </span>
-      </el-dialog>
       <el-dialog
         width="1180px"
         :visible.sync="innerVisiblePaperTopic"
@@ -677,30 +658,9 @@
           >
         </span>
       </el-dialog>
-      <el-dialog
-        :visible.sync="dialogDRexcel"
-        :append-to-body="true"
-        width="780px"
-        :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="dialogDRexcel = false"
-            />
-          </div>
-        </div>
-        <excel-pop @backData="backData" />
-        <span slot="footer" class="dialog-footer">
-          <el-button @click="dialogDRexcel = false">取 消</el-button>
-        </span>
-      </el-dialog>
+      <excel-pop ref="excelpop" @backExcelData="backExcelData" />
+      <word-pop ref="wordpop" @backwordData="backwordData" />
     </div>
-    <test-paper-preview ref="testPaperPreview" />
   </div>
 </template>
 
@@ -711,7 +671,6 @@ import tableList from "@/components/tableList";
 import busIns from "@/components/busIns";
 import questionBank from "@/components/questionBank";
 import wordPop from "../../wordPop.vue";
-import testPaperPreview from "@/components/testPaperPreview";
 import excelPop from "../../excelPop.vue";
 export default {
   components: {
@@ -721,7 +680,6 @@ export default {
     busIns,
     questionBank,
     wordPop,
-    testPaperPreview,
     excelPop,
   },
   data() {
@@ -784,12 +742,12 @@ export default {
           prop: "type",
           hidden: true,
           scope: "topic",
+          width:"140px"
         },
         {
           label: "标题前缀",
           prop: "prefixName",
-          hidden: false,
-          width: "160px",
+          hidden: true,
         },
         {
           label: "题目详细",
@@ -812,6 +770,7 @@ export default {
           prop: "publishStatus",
           hidden: true,
           scope: "fabStatus",
+          width:"140px"
         },
       ],
       tableData: [],
@@ -1083,75 +1042,20 @@ export default {
     this.localStart = false;
   },
   methods: {
-    preview() {
-      var num = 0;
-      this.tableData.forEach((item) => {
-        num += item.score;
-      });
-      var topData = {
-        getAllpocis: num,
-        passScore: this.passScore,
-        doType: this.examsType,
-      };
-      if (this.djTimeType === 0) {
-        topData.answerTime = 0;
-      } else {
-        topData.answerTime = this.djTime;
-      }
-      if (this.djNumType === 0) {
-        topData.answerNum = 0;
-      } else {
-        topData.answerNum = this.djNum;
-      }
-      let data = {
-        topData: topData,
-        tableData: this.tableData,
-      };
-      this.$refs.testPaperPreview.openBox(2, data);
+    openExcel() {
+      this.$refs.excelpop.openBoxs(this.tableData, this.businObj);
+    },
+    /**
+     * 返回word数据
+     */
+    backwordData(data) {
+      this.tableData = this.tableData.concat(data);
     },
     /**
      * 返回数据
      */
-    backData(arr) {
-      for (let i = 0; i < arr.length; i++) {
-        arr[i].partScore = 0;
-        arr[i].score = "";
-        arr[i].status = 1;
-        arr[i].businessList = [this.businObj];
-        if (arr[i].type === 4) {
-          arr[i].optionsList = JSON.parse(arr[i].jsonStr);
-          arr[i].optionsList.forEach(item => {
-            if(item.type === 3 || item.type === 5){
-              item.optionsList = []
-              item.jsonStr = ""
-            }
-          })
-        }else if(arr[i].type === 5){
-          arr[i].jsonStr = ""
-          arr[i].optionsList = []
-        } else {
-          arr[i].jsonStr = JSON.stringify(arr[i].optionsList);
-        }
-        if (this.tableData.length) {
-          let maxIndex = 0;
-          let childrenIndex = 0;
-          this.tableData.forEach((item) => {
-            if (item.sort > maxIndex) {
-              maxIndex = item.sort;
-            }
-            if (item.index > childrenIndex) {
-              childrenIndex = item.index;
-            }
-          });
-          arr[i].sort = maxIndex + 1;
-          arr[i].index = childrenIndex + 1;
-        } else {
-          arr[i].sort = 1;
-          arr[i].index = 0;
-        }
-        this.tableData.push(arr[i]);
-        this.dialogDRexcel = false
-      }
+    backExcelData(arr) {
+      this.tableData = this.tableData.concat(arr);
     },
     /**
      *
@@ -1714,27 +1618,15 @@ export default {
               data.index = 0;
             }
             this.tableData.push(data);
-            // this.$api.addbankquestion(data).then((res) => {
             self.$message.success("添加成功");
             self.innerVisiblePaperTopic = false;
             self.showHide = false;
-            // self.search();
-            // });
           }
           if (this.statusPop === 0) {
-            let indexy = this.tableData.findIndex((item) => {
-              return item.index === this.indexZB;
-            });
-            this.tableData.splice(indexy, 1, data);
-            if(this.uploadStatus){
-              this.$refs.testPaperPreview.changeUploadStatus(data)
-            }
-            // this.$api.editbankquestion(data).then((res) => {
+            this.tableData.splice(this.indexZB, 1, data);
             self.$message.success("修改成功");
             self.innerVisiblePaperTopic = false;
             self.showHide = false;
-            // self.search();
-            // });
           }
           /**
            * 核心语句👇表格定制化需要使用jsonStr字段,与题目管理同步字段,所以需要实时更新jsonStr
@@ -1782,7 +1674,7 @@ export default {
         return;
       }
       var arrs = [];
-      for (let i = 0; i < this.tableData.length; i++) {
+      for (let i = this.tableData.length-1; i >= 0; i--) {
         if (self.tableData[i].questionId && self.tableData[i].diff) {
           await self.uploadApis(self.tableData[i]);
         }

+ 209 - 33
src/views/resource/bankManagement/testPaperManagement/excelPop.vue

@@ -1,29 +1,52 @@
 <template>
   <div>
-    <div class="swq">
-      <img
-        style="width: 182px; height: 168px"
-        src="@/assets/images/dr.png"
-        alt=""
-      />
-    </div>
-    <div style="padding-left: 100px">
-      <p>第一步:下载excel导入模板</p>
-      <p style="padding-left: 50px">
-        <i class="el-icon-upload"></i
-        ><span class="dowmStys" @click="getDowm">下载模板</span>
-      </p>
-      <p>第二步:点击“上传Excel”</p>
-      <label for="mobles2" class="el-button el-button--primary el-button--mini"
-        >上传Excel</label
-      ><input
-        style="display: none"
-        type="file"
-        id="mobles2"
-        ref="input2"
-        @change="importMobleadd"
-      />
-    </div>
+    <el-dialog
+      :visible.sync="dialogDRexcel"
+      :append-to-body="true"
+      width="780px"
+      :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="dialogDRexcel = false"
+          />
+        </div>
+      </div>
+      <div class="swq">
+        <img
+          style="width: 182px; height: 168px"
+          src="@/assets/images/dr.png"
+          alt=""
+        />
+      </div>
+      <div style="padding-left: 100px">
+        <p>第一步:下载excel导入模板</p>
+        <p style="padding-left: 50px">
+          <i class="el-icon-upload"></i
+          ><span class="dowmStys" @click="getDowm">下载模板</span>
+        </p>
+        <p>第二步:点击“上传Excel”</p>
+        <label
+          for="mobles2"
+          class="el-button el-button--primary el-button--mini"
+          >上传Excel</label
+        ><input
+          style="display: none"
+          type="file"
+          id="mobles2"
+          ref="input2"
+          @change="importMobleadd"
+        />
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogDRexcel = false">取 消</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -31,13 +54,25 @@
 import * as baseUrls from "@/utils/request.js";
 export default {
   data() {
-    return {};
+    return {
+      dialogDRexcel: false,
+      tableData: [],
+      businObj: {},
+    };
   },
   methods: {
+    openBoxs(arr, obj) {
+      if (arr.length) {
+        this.tableData = JSON.parse(JSON.stringify(arr));
+      }
+      this.businObj = JSON.parse(JSON.stringify(obj));
+      this.dialogDRexcel = true;
+    },
     getDowm() {
       let url =
-        baseUrls.BASE_IMG_URL + "/oss/images/file/20220518/1652865393160.xlsx" +
-        `?time=${this.$methodsTools.getNewTime()}`;;
+        baseUrls.BASE_IMG_URL +
+        "/oss/images/file/20220518/1652865393160.xlsx" +
+        `?time=${this.$methodsTools.getNewTime()}`;
       let link = document.createElement("a");
       let fileName = "导入模板" + ".xlsx";
       document.body.appendChild(link);
@@ -54,12 +89,15 @@ export default {
       this.$api
         .importDatabankimportDataBackList(formData)
         .then((res) => {
-          console.log(res)
+          console.log(res);
           if (res.data.fullStatus == "全部成功") {
-            self.$emit("backData",res.data.questionList)
+            self.backDataX(res.data.questionList);
             self.$message.success("全部导入成功");
           } else {
-            let url = baseUrls.baseURL + "common/download?fileName=" + res.data.errorExcel.msg;
+            let url =
+              baseUrls.baseURL +
+              "common/download?fileName=" +
+              res.data.errorExcel.msg;
             let link = document.createElement("a");
             let fileName = "导入模板" + ".xlsx";
             document.body.appendChild(link);
@@ -67,10 +105,10 @@ export default {
             link.dowmload = fileName;
             link.click();
             link.remove();
-            if(res.data.fullStatus == '部分成功'){
-              self.$emit("backData",res.data.questionList)
+            if (res.data.fullStatus == "部分成功") {
+              self.backDataX(res.data.questionList);
               self.$message.warning("部分导入成功,请打开文档查看错误原因");
-            }else{
+            } else {
               self.$message.error("导入失败,请打开文档查看错误原因");
             }
           }
@@ -79,11 +117,103 @@ export default {
           e.target.value = "";
         });
     },
+    backDataX(arry) {
+      let arr = JSON.parse(JSON.stringify(arry));
+      for (let i = 0; i < arr.length; i++) {
+        arr[i].partScore = 0;
+        arr[i].score = "";
+        arr[i].status = 1;
+        arr[i].businessList = [this.businObj];
+        if (arr[i].type === 4) {
+          arr[i].optionsList = JSON.parse(arr[i].jsonStr);
+          arr[i].optionsList.forEach((item) => {
+            if (item.type === 3 || item.type === 5) {
+              item.optionsList = [];
+              item.jsonStr = "";
+            }
+          });
+        } else if (arr[i].type === 5) {
+          arr[i].jsonStr = "";
+          arr[i].optionsList = [];
+        } else {
+          arr[i].jsonStr = JSON.stringify(arr[i].optionsList);
+        }
+      }
+      if (this.tableData.length) {
+        let maxIndex = 0;
+        let childrenIndex = 0;
+        this.tableData.forEach((item) => {
+          if (item.sort > maxIndex) {
+            maxIndex = item.sort;
+          }
+          if (item.index > childrenIndex) {
+            childrenIndex = item.index;
+          }
+        });
+        arr.forEach((item, index) => {
+          item.sort = maxIndex + 1;
+          item.index = childrenIndex + 1;
+          maxIndex++;
+          childrenIndex++;
+        });
+      } else {
+        arr.forEach((item, index) => {
+          item.sort = index + 1;
+          item.index = index;
+        });
+      }
+      this.$emit("backExcelData", arr);
+      this.dialogDRexcel = false;
+    },
   },
 };
 </script>
 
 <style lang="less" scoped>
+/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;
+    }
+  }
+}
+
 .swq {
   text-align: center;
   border-bottom: 1px solid #eee;
@@ -92,4 +222,50 @@ export default {
   color: blue;
   cursor: pointer;
 }
+.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>

+ 59 - 33
src/views/resource/bankManagement/testPaperManagement/wordPop.vue

@@ -1,34 +1,60 @@
 <template>
-  <div>
-    <div class="swq">
-      <img
-        style="width: 182px; height: 168px"
-        src="@/assets/images/dr.png"
-        alt=""
-      />
-    </div>
-    <div style="padding-left: 100px">
-      <p>第一步:下载word导入模板</p>
-      <p style="padding-left: 50px">
-        <i class="el-icon-upload"></i
-        ><span class="dowmStys" @click="getDowm">下载模板</span>
-      </p>
-      <p>第二步:点击“上传Word”完成导入</p>
-      <label
-        for="mobles"
-        style="margin-left: 50px"
-        class="el-button el-button--primary el-button--mini"
-        >上传Word</label
-      ><input
-        style="display: none"
-        type="file"
-        id="mobles"
-        ref="input1"
-        @change="importMobleadd"
-      />
-    </div>
+  <div id="wordPop">
+    <el-dialog
+      destroy-on-close
+      :visible.sync="dialogDRword"
+      :append-to-body="true"
+      width="780px"
+      :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="dialogDRword = 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>第一步:下载word导入模板</p>
+          <p style="padding-left: 50px">
+            <i class="el-icon-upload"></i
+            ><span class="dowmStys" @click="getDowm">下载模板</span>
+          </p>
+          <p>第二步:点击“上传Word”完成导入</p>
+          <label
+            for="mobles"
+            style="margin-left: 50px"
+            class="el-button el-button--primary el-button--mini"
+            >上传Word</label
+          ><input
+            style="display: none"
+            type="file"
+            id="mobles"
+            ref="input1"
+            @change="importMobleadd"
+          />
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogDRword = false">取 消</el-button>
+      </span>
+    </el-dialog>
+
     <el-dialog
       append-to-body
+      destroy-on-close
       :visible.sync="dialogERROR"
       width="660px"
       :show-close="false"
@@ -76,6 +102,7 @@ export default {
         projectId: "",
       },
       dialogERROR: false,
+      dialogDRword: false,
     };
   },
   methods: {
@@ -94,7 +121,7 @@ export default {
     },
     importMobleadd(e) {
       var self = this;
-      let arr = this.$parent.$parent.businObj;
+      let arr = this.$parent.businObj;
       var file = e.target.files[0];
       let formData = new FormData();
       formData.append("file", file);
@@ -107,7 +134,7 @@ export default {
         .then((res) => {
           if (res.code === 200) {
             self.$message.success("导入成功");
-            let numList = self.$parent.$parent.tableData;
+            let numList = self.$parent.tableData;
             if (numList.length) {
               let numIndex = 0;
               let childrenIndex = 0;
@@ -133,9 +160,8 @@ export default {
                 items.jsonStr = JSON.stringify(items.optionsList);
               });
             }
-            self.$parent.$parent.tableData =
-              self.$parent.$parent.tableData.concat(res.data);
-            self.$parent.$parent.dialogDRword = false;
+            self.$emit("backwordData", res.data);
+            self.dialogDRword = false;
           }
         })
         .finally(() => {

+ 1 - 0
src/views/resource/bankManagement/topicManagement/index.vue

@@ -353,6 +353,7 @@ export default {
           prop: "type",
           hidden: true,
           scope: "topic",
+          width:"140px"
         },
         {
           label: "标题前缀",

+ 1 - 1
src/views/resource/bankManagement/volumeManagement/addChapterjs.vue

@@ -91,7 +91,7 @@ export default {
         item.publishStatus = 1;
         return item;
       });
-      this.$api.addMorebankchapter(data).then((res) => {
+      this.$api.addMorebankchapter(data.reverse()).then((res) => {
         this.dialogVisible = false;
         this.$emit("backData", res.data);
       });

+ 1 - 0
src/views/resource/videoManagement/moduleManagement/add/index.vue

@@ -450,6 +450,7 @@ export default {
         { label: "章编码", prop: "code", width: "120" },
         { label: "标题前缀", prop: "prefixName", width: "180" },
         { label: "章标题", prop: "name" },
+        { label: "节数量", prop: "sectionNum" , width: "120"  },
         {
           label: "发布状态",
           prop: "publishStatus",

+ 1 - 1
src/views/resource/videoManagement/moduleManagement/addChapter.vue

@@ -92,7 +92,7 @@ export default {
         item.coverUrl = "oss/images/avatar/20211013/1634097664410_1397766697";
         return item;
       });
-      this.$api.addMoreCoursechapter(data).then((res) => {
+      this.$api.addMoreCoursechapter(data.reverse()).then((res) => {
         this.dialogVisible = false;
         this.$emit("backData", res.data);
       });

+ 1 - 0
src/views/resource/videoManagement/moduleManagement/edit/index.vue

@@ -424,6 +424,7 @@ export default {
         { label: "章编码", prop: "code", width: "120" },
         { label: "标题前缀", prop: "prefixName", width: "180" },
         { label: "章标题", prop: "name" },
+        { label: "节数量", prop: "sectionNum" , width: "120" },
         {
           label: "发布状态",
           prop: "publishStatus",