zengyicheng преди 2 години
родител
ревизия
6396413218

BIN
src/assets/icon/anliDetail/noFile.jpg


+ 43 - 22
src/components/pages/race/addRace.vue

@@ -1,5 +1,5 @@
 <template>
-  <div style="height: 100%; width: 100%;overflow: hidden;">
+  <div style="height: 100%; width: 100%; overflow: hidden">
     <div class="race_nav">
       <div class="first" @click="checkSteps(1)" :class="{ active: steps == 1 }">
         <div class="navImg">
@@ -56,15 +56,24 @@
         @click="goTo('/eventCenter?userid=' + userid + '&oid=' + oid)"
         >赛事信息</el-button
       >
-      <el-button type="primary" @click="lastSteps" v-if="steps != 1"
-        >上一步</el-button
-      >
-      <el-button type="primary" @click="nextSteps" v-if="steps != 4"
-        >下一步</el-button
-      >
-      <el-button type="primary" @click="isAddOrUpRace" v-if="steps == 4"
-        >确认上传</el-button
+      <div
+        style="
+          display: flex;
+          flex-direction: row;
+          flex-wrap: nowrap;
+          align-items: center;
+        "
       >
+        <el-button type="primary" @click="lastSteps" v-if="steps != 1"
+          >上一步</el-button
+        >
+        <el-button type="primary" @click="nextSteps" v-if="steps != 4"
+          >下一步</el-button
+        >
+        <el-button type="primary" @click="isAddOrUpRace" v-if="steps == 4"
+          >确认上传</el-button
+        >
+      </div>
     </div>
     <el-dialog
       title="提示"
@@ -193,11 +202,14 @@ export default {
       let params = [
         {
           uid: this.userid,
-          info: JSON.stringify(this.raceInfo),
-          over: JSON.stringify(this.raceOverView),
-          pro: JSON.stringify(this.raceProcess),
-          courseType: JSON.stringify(this.raceInfo.type),
-          res: JSON.stringify(this.raceEffect),
+          info: JSON.stringify(this.raceInfo).replaceAll(/%/g, "%25"),
+          over: JSON.stringify(this.raceOverView).replaceAll(/%/g, "%25"),
+          pro: JSON.stringify(this.raceProcess).replaceAll(/%/g, "%25"),
+          courseType: JSON.stringify(this.raceInfo.type).replaceAll(
+            /%/g,
+            "%25"
+          ),
+          res: JSON.stringify(this.raceEffect).replaceAll(/%/g, "%25"),
         },
       ];
       this.ajax
@@ -218,11 +230,14 @@ export default {
       let params = [
         {
           id: this.aid,
-          info: JSON.stringify(this.raceInfo),
-          over: JSON.stringify(this.raceOverView),
-          pro: JSON.stringify(this.raceProcess),
-          res: JSON.stringify(this.raceEffect),
-          courseType: JSON.stringify(this.raceInfo.type),
+          info: JSON.stringify(this.raceInfo).replaceAll(/%/g, "%25"),
+          over: JSON.stringify(this.raceOverView).replaceAll(/%/g, "%25"),
+          pro: JSON.stringify(this.raceProcess).replaceAll(/%/g, "%25"),
+          res: JSON.stringify(this.raceEffect).replaceAll(/%/g, "%25"),
+          courseType: JSON.stringify(this.raceInfo.type).replaceAll(
+            /%/g,
+            "%25"
+          ),
           uid: this.userid,
         },
       ];
@@ -300,7 +315,7 @@ export default {
 }
 
 .race_nav .active {
-  background: #4A83D0;
+  background: #4a83d0;
 }
 
 .race_body {
@@ -313,9 +328,15 @@ export default {
 
 .race_btn {
   width: 90%;
-  margin: 10px auto 0;
+  margin: 0 auto;
   display: flex;
-  justify-content: flex-end;
+  justify-content: space-between;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  padding-top: 10px;
+}
+.race_btn > button {
+  z-index: 9;
 }
 .createSuccessCss {
   position: fixed;

+ 211 - 84
src/components/pages/race/addRace/projectProcess.vue

@@ -102,11 +102,6 @@
                               v-if="item.type == 1 || item.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -122,7 +117,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item.type == 1"
+                              v-if="item.type == 1 || item.type == 3"
                               :placeholder="item.name"
                             />
                             <input
@@ -130,19 +125,6 @@
                               v-if="item.type == 2"
                               :placeholder="item.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item.name"
-                              v-if="item.type == 3"
-                              readonly="true"
-                              @click="selectAttText(0, index)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item.type == 4"
-                              :placeholder="item.name"
-                              @click="selectLine(0, index)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -157,12 +139,31 @@
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, raIndex, 0)"
                       />
                     </button>
                   </div>
+                  <div v-if="race.driQuestion.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          race.driQuestion.data.progress
+                            ? race.driQuestion.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -222,11 +223,6 @@
                               v-if="item.type == 1 || item.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -242,7 +238,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item.type == 1"
+                              v-if="item.type == 1 || item.type == 3"
                               :placeholder="item.name"
                             />
                             <input
@@ -250,19 +246,6 @@
                               v-if="item.type == 2"
                               :placeholder="item.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item.name"
-                              v-if="item.type == 3"
-                              readonly="true"
-                              @click="selectAttText(0, index)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item.type == 4"
-                              :placeholder="item.name"
-                              @click="selectLine(0, index)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -277,12 +260,31 @@
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, raIndex, 1)"
                       />
                     </button>
                   </div>
+                  <div v-if="race.tarDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          race.tarDesign.data.progress
+                            ? race.tarDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -342,11 +344,6 @@
                               v-if="item.type == 1 || item.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -362,7 +359,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item.type == 1"
+                              v-if="item.type == 1 || item.type == 3"
                               :placeholder="item.name"
                             />
                             <input
@@ -370,19 +367,6 @@
                               v-if="item.type == 2"
                               :placeholder="item.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item.name"
-                              v-if="item.type == 3"
-                              readonly="true"
-                              @click="selectAttText(0, index)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item.type == 4"
-                              :placeholder="item.name"
-                              @click="selectLine(0, index)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -397,12 +381,31 @@
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, raIndex, 2)"
                       />
                     </button>
                   </div>
+                  <div v-if="race.actiDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          race.actiDesign.data.progress
+                            ? race.actiDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -462,11 +465,6 @@
                               v-if="item.type == 1 || item.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -482,7 +480,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item.type == 1"
+                              v-if="item.type == 1 || item.type == 3"
                               :placeholder="item.name"
                             />
                             <input
@@ -490,19 +488,6 @@
                               v-if="item.type == 2"
                               :placeholder="item.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item.name"
-                              v-if="item.type == 3"
-                              readonly="true"
-                              @click="selectAttText(0, index)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item.type == 4"
-                              :placeholder="item.name"
-                              @click="selectLine(0, index)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -517,12 +502,31 @@
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, raIndex, 3)"
                       />
                     </button>
                   </div>
+                  <div v-if="race.evaDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          race.evaDesign.data.progress
+                            ? race.evaDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -620,9 +624,7 @@ export default {
       this.noneBtnImg = _tmp.length >= 1;
     },
     beforeUpload(event, type, index, jsonType) {
-      const loading = this.openLoading();
       var file = event.target.files[0];
-      this.inputShow = false;
       var credentials = {
         accessKeyId: "AKIATLPEDU37QV5CHLMH",
         secretAccessKey: "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",
@@ -649,6 +651,20 @@ export default {
         "PPSM",
       ];
       var c = ["PDF", "DOT", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
+      var d = [
+        "BMP",
+        "PJP",
+        "APNG",
+        "PNG",
+        "JPG",
+        "GIF",
+        "SVG",
+        "JPEG",
+        "JPG",
+        "ICO",
+        "PGPEG",
+        "AVIF",
+      ];
       if (
         b.indexOf(
           file.name
@@ -681,10 +697,32 @@ export default {
         ) != -1
       ) {
         type1 = 1;
+      } else if (
+        d.indexOf(
+          file.name
+            .split(".")
+            [file.name.split(".").length - 1].toLocaleUpperCase()
+        ) != -1
+      ) {
+        type1 = 3;
       } else {
         type1 = 2;
       }
 
+      if (jsonType == 0) {
+        _this.racePro.actBox[index].driQuestion.data.progress = 0;
+        _this.racePro.actBox[index].driQuestion.data.proVisible = true;
+      } else if (jsonType == 1) {
+        _this.racePro.actBox[index].tarDesign.data.progress = 0;
+        _this.racePro.actBox[index].tarDesign.data.proVisible = true;
+      } else if (jsonType == 2) {
+        _this.racePro.actBox[index].actiDesign.data.progress = 0;
+        _this.racePro.actBox[index].actiDesign.data.proVisible = true;
+      } else {
+        _this.racePro.actBox[index].evaDesign.data.progress = 0;
+        _this.racePro.actBox[index].evaDesign.data.proVisible = true;
+      }
+
       if (file) {
         var params = {
           Key:
@@ -707,10 +745,46 @@ export default {
           .on("httpUploadProgress", function (evt) {
             //这里可以写进度条
             // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
+            if (jsonType == 0) {
+              _this.racePro.actBox[index].driQuestion.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else if (jsonType == 1) {
+              _this.racePro.actBox[index].tarDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else if (jsonType == 2) {
+              _this.racePro.actBox[index].actiDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else {
+              _this.racePro.actBox[index].evaDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            }
           })
           .send(function (err, data) {
-            loading.close();
-            _this.inputShow = true;
+            if (jsonType == 0) {
+              _this.racePro.actBox[index].driQuestion.data.progress = 100;
+            } else if (jsonType == 1) {
+              _this.racePro.actBox[index].tarDesign.data.progress = 100;
+            } else if (jsonType == 2) {
+              _this.racePro.actBox[index].actiDesign.data.progress = 100;
+            } else {
+              _this.racePro.actBox[index].evaDesign.data.progress = 100;
+            }
+            setTimeout(() => {
+              if (jsonType == 0) {
+                _this.racePro.actBox[index].driQuestion.data.proVisible = false;
+              } else if (jsonType == 1) {
+                _this.racePro.actBox[index].tarDesign.data.proVisible = false;
+              } else if (jsonType == 2) {
+                _this.racePro.actBox[index].actiDesign.data.proVisible = false;
+              } else {
+                _this.racePro.actBox[index].evaDesign.data.proVisible = false;
+              }
+              _this.$forceUpdate();
+            }, 1000);
             if (err) {
               _this.$message.error("上传失败");
             } else {
@@ -1196,4 +1270,57 @@ export default {
   transform: translateY(-50%);
   z-index: 1;
 }
+.mask {
+  background-color: rgb(0 0 0 / 30%);
+  /* position: fixed; */
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 20000;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.progressBox {
+  width: 300px;
+  height: 150px;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 6px 1px #bfbfbf;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+}
+
+.progressBox .lbox {
+  height: 100px;
+  font-size: 16px;
+  display: flex;
+  align-items: center;
+}
+
+.progressBox .lbox img {
+  width: 40px;
+  margin-right: 20px;
+}
+
+.progressBox >>> .el-progress-bar__outer {
+  background-color: #d1dfff !important;
+}
+
+.progressBox .lbox {
+  height: 100px;
+  font-size: 19px;
+  display: flex;
+  align-items: center;
+}
+
+.progressBox .lbox img {
+  width: 40px;
+  margin-right: 20px;
+}
 </style>

+ 328 - 25
src/components/pages/race/addRace/raceDetail.vue

@@ -107,18 +107,19 @@
                       <div
                         class="uploadFm"
                         v-if="raceDetail.cover.length === 0"
-                        @click="addImg($event)"
+                        @click="choosePicVisible = true"
                       >
+                        <!-- @click="addImg($event)" -->
                         <img
                           src="../../../../assets/icon/addPoster.png"
                           alt=""
                         />
-                        <input
+                        <!-- <input
                           type="file"
                           accept="image/*"
                           style="display: none"
                           @change="beforeUpload1"
-                        />
+                        /> -->
                       </div>
                       <el-upload
                         :class="{ disUoloadSty: noneBtnImg }"
@@ -149,7 +150,7 @@
             <div class="right_first">
               <div class="right_title">项目成员</div>
               <div class="addPeople" @click="dialogVisibleMember = true">
-                添加学生
+                添加成员
               </div>
               <div style="width: 97%; margin: 0 auto">
                 <el-table
@@ -208,8 +209,20 @@
                   </el-table-column>
                   <el-table-column label="操作" min-width="20">
                     <template slot-scope="scope">
-                      <div class="delete" @click="deleteStudent(scope.$index)">
-                        <img src="../../../../assets/remove.png" alt />
+                      <div class="pb_buttonBox">
+                        <el-button
+                          size="mini"
+                          type="primary"
+                          style="cursor: pointer"
+                          @click="updateStudent(scope.row, scope.$index)"
+                          >修改</el-button
+                        >
+                        <div
+                          class="delete"
+                          @click="deleteStudent(scope.$index)"
+                        >
+                          <img src="../../../../assets/remove.png" alt />
+                        </div>
                       </div>
                     </template>
                   </el-table-column>
@@ -250,53 +263,53 @@
         <div class="logoImg">
           <img src="../../../../assets/logo.png" alt />
         </div>
-        <div class="title_add_student">添加学生</div>
+        <div class="title_add_student">添加项目成员</div>
       </div>
       <el-form>
-        <el-form-item label="学生姓名" :label-width="formLabelWidth">
+        <el-form-item label="姓名" :label-width="formLabelWidth">
           <span>
             <el-input
-              placeholder="请输入学生姓名"
+              placeholder="请输入姓名"
               clearable
               v-model="sName"
               class="add_input"
             ></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学科" :label-width="formLabelWidth">
+        <el-form-item label="学科" :label-width="formLabelWidth">
           <span>
             <el-input
-              placeholder="请输入学生学科"
+              placeholder="请输入学科"
               clearable
               v-model="sSubject"
               class="add_input"
             ></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生学校" :label-width="formLabelWidth">
+        <el-form-item label="学校" :label-width="formLabelWidth">
           <span>
             <el-input
-              placeholder="请输入学生学校"
+              placeholder="请输入学校"
               clearable
               v-model="sSchool"
               class="add_input"
             ></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生邮箱" :label-width="formLabelWidth">
+        <el-form-item label="邮箱" :label-width="formLabelWidth">
           <span>
             <el-input
-              placeholder="请输入学生邮箱"
+              placeholder="请输入邮箱"
               clearable
               v-model="sEmail"
               class="add_input"
             ></el-input>
           </span>
         </el-form-item>
-        <el-form-item label="学生电话" :label-width="formLabelWidth">
+        <el-form-item label="电话" :label-width="formLabelWidth">
           <span>
             <el-input
-              placeholder="请输入学生电话"
+              placeholder="请输入电话"
               clearable
               v-model="sPhone"
               class="add_input"
@@ -309,6 +322,101 @@
         <el-button type="primary" @click="isAddPPTeacher">确定</el-button>
       </span>
     </el-dialog>
+    <el-dialog
+      title="上传图片"
+      :visible.sync="choosePicVisible"
+      :append-to-body="true"
+      width="500px"
+      :before-close="handleClose"
+      class="dialog_diy"
+    >
+      <div>
+        <div class="fileCss" style="padding-top: 20px">
+          <div>
+            <button class="info_btn" @click="addImg($event)">
+              选择本地文件
+              <input
+                type="file"
+                accept="image/*"
+                style="display: none"
+                @change="beforeUpload1"
+              />
+            </button>
+          </div>
+          <div>
+            <el-button
+              @click="getAllBanner"
+              v-if="isSysPic == false && raceDetail.cover.length == 0"
+              >选择系统文件</el-button
+            >
+            <div class="isSysPic" v-if="isSysPic == true && raceDetail.cover.length > 0">
+              <img :src="raceDetail.cover[0].url" alt="" />
+              <div class="deletePic" @click="deleteSysPic">
+                <img src="../../../../assets/icon/delete.png" alt="" />
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="fileCss">
+          <div>选择本地文件</div>
+          <div>选择系统文件</div>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="choosePicVisible = false">取 消</el-button>
+        <el-button type="primary" @click="choosePicVisible = false"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+    <el-dialog
+      title="选择系统文件"
+      :visible.sync="sysPicVisible"
+      :append-to-body="true"
+      width="700px"
+      :before-close="handleClose"
+      class="dialog_diy"
+    >
+      <div class="cru_selectBox" style="margin: 0">
+        <div
+          @click="getChoosePic(1)"
+          class="cru_select"
+          :class="chooseType == 1 ? 'cru_selected' : ''"
+        >
+          绘画
+        </div>
+        <div
+          @click="getChoosePic(2)"
+          class="cru_select"
+          :class="chooseType == 2 ? 'cru_selected' : ''"
+        >
+          科技
+        </div>
+        <div
+          @click="getChoosePic(3)"
+          class="cru_select"
+          :class="chooseType == 3 ? 'cru_selected' : ''"
+        >
+          人文
+        </div>
+        <div
+          @click="getChoosePic(4)"
+          class="cru_select"
+          :class="chooseType == 4 ? 'cru_selected' : ''"
+        >
+          艺术
+        </div>
+      </div>
+      <div class="sysPicBox">
+        <div v-for="(sys, sysIndex) in sysPic" :key="sysIndex" class="sysPic">
+          <img :src="sys.poster" alt="" @click="chooseSysPic(sys.poster)" />
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="sysPicVisible = false">取 消</el-button>
+        <el-button type="primary">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -320,11 +428,18 @@ export default {
       tableHeight: "500px",
       formLabelWidth: "100px",
       steps: 0,
+      chooseType: 1,
       CourseType: [],
       CourseTypeJson: [],
       noneBtnImg: false,
       uploadLoading1: false,
       dialogVisibleMember: false,
+      isAddOrUp: false,
+      choosePicVisible: false,
+      sysPicVisible: false,
+      isSysPic: false,
+      sysPic: [],
+      upIndex: 0,
       sName: "",
       sSubject: "",
       sSchool: "",
@@ -358,6 +473,10 @@ export default {
       };
     });
   },
+  beforeRouteLeave(to, from, next) {
+    window.onresize = null;
+    next();
+  },
   watch: {
     raceInfo: {
       immediate: true,
@@ -394,6 +513,7 @@ export default {
         this.raceDetail.cover = _tmp;
       }
       this.noneBtnImg = _tmp.length >= 1;
+      this.isSysPic = false;
     },
     addImg(e) {
       var el = e.currentTarget;
@@ -405,6 +525,23 @@ export default {
       }
       this.noneBtnImg = _tmp.length >= 1;
     },
+    chooseSysPic(p) {
+      this.raceDetail.cover.push({
+        name: "系统图片.png",
+        url: p,
+      });
+      this.imgChange1(null, null, 1, null);
+      this.isSysPic = true;
+      this.sysPicVisible = false;
+    },
+    deleteSysPic() {
+      this.raceDetail.cover = [];
+      this.isSysPic = false;
+    },
+    getChoosePic(t) {
+      this.chooseType = t;
+      this.getAllBanner();
+    },
     beforeUpload1(event, type) {
       const loading = this.openLoading();
       var file = event.target.files[0];
@@ -454,6 +591,7 @@ export default {
                 uid: file.uid,
               });
               _this.imgChange1(null, null, 1, null);
+              _this.choosePicVisible = false;
               console.log(data.Location);
             }
           });
@@ -486,13 +624,22 @@ export default {
           return;
         }
       }
-      this.raceDetail.tableData.push({
-        sn: this.sName,
-        su: this.sSubject,
-        sc: this.sSchool,
-        em: this.sEmail,
-        ph: this.sPhone,
-      });
+      if (this.isAddOrUp == true) {
+        this.raceDetail.tableData[this.upIndex].sn = this.sName;
+        this.raceDetail.tableData[this.upIndex].su = this.sSubject;
+        this.raceDetail.tableData[this.upIndex].sc = this.sSchool;
+        this.raceDetail.tableData[this.upIndex].em = this.sEmail;
+        this.raceDetail.tableData[this.upIndex].ph = this.sPhone;
+      } else {
+        this.raceDetail.tableData.push({
+          sn: this.sName,
+          su: this.sSubject,
+          sc: this.sSchool,
+          em: this.sEmail,
+          ph: this.sPhone,
+        });
+      }
+
       this.sName = "";
       this.sSubject = "";
       this.sSchool = "";
@@ -501,6 +648,16 @@ export default {
       this.dialogVisibleMember = false;
       this.$emit("updateTitle", this.raceDetail);
     },
+    updateStudent(r, i) {
+      this.sName = r.sn;
+      this.sSubject = r.su;
+      this.sSchool = r.sc;
+      this.sEmail = r.em;
+      this.sPhone = r.ph;
+      this.isAddOrUp = true;
+      this.upIndex = i;
+      this.dialogVisibleMember = true;
+    },
     deleteStudent(i) {
       this.raceDetail.tableData.splice(i, 1);
       this.$emit("updateTitle", this.raceDetail);
@@ -533,6 +690,20 @@ export default {
           console.error(err);
         });
     },
+    getAllBanner() {
+      this.sysPicVisible = true;
+      let params = {
+        t: this.chooseType,
+      };
+      this.ajax
+        .get(this.$store.state.api + "selectAllBanner", params)
+        .then((res) => {
+          this.sysPic = res.data[0];
+        })
+        .catch((err) => {
+          console.error(err);
+        });
+    },
     getValue() {
       this.raceDetail.title = this.raceInfo.title;
       this.raceDetail.type = this.raceInfo.type;
@@ -552,7 +723,31 @@ export default {
 
 <style scoped>
 @media screen and (max-width: 1280px) {
+}
+.dialog_diy >>> .el-dialog__header {
+  background: #3c3c3c !important;
+  padding: 15px 20px;
+}
+
+.dialog_diy >>> .el-dialog__title {
+  color: #fff;
+}
 
+.dialog_diy >>> .el-dialog__headerbtn {
+  top: 19px;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
+  color: #fff;
+}
+
+.dialog_diy >>> .el-dialog__body,
+.dialog_diy >>> .el-dialog__footer {
+  background: #fafafa;
 }
 .pb_content {
   width: 100%;
@@ -878,10 +1073,16 @@ export default {
   width: 40px;
   margin-right: 10px;
 }
-
+.pb_buttonBox {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: flex-start;
+}
 .delete {
   width: 25px;
   cursor: pointer;
+  margin-left: 10px;
 }
 
 .tx > img,
@@ -929,4 +1130,106 @@ export default {
   transform: translateY(-50%);
   z-index: 1;
 }
+.fileCss {
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  justify-content: space-around;
+  align-items: center;
+  padding-top: 15px;
+}
+
+.sysPicBox {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+  align-content: flex-start;
+  height: 435px;
+  overflow: auto;
+}
+
+.sysPic {
+  width: 200px;
+  height: 115px;
+  margin: 0 10px 20px 0;
+  cursor: pointer;
+}
+
+.sysPic > img,
+.isSysPic > img,
+.deletePic > img {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+}
+
+.isSysPic {
+  width: 200px;
+  height: 115px;
+  position: relative;
+}
+
+.deletePic {
+  width: 20px;
+  height: 20px;
+  position: absolute;
+  top: 0;
+  right: 0;
+  cursor: pointer;
+}
+.cru_selectBox {
+  display: flex;
+  margin: 24px 0 10px;
+  flex-wrap: nowrap;
+  white-space: nowrap;
+  overflow: auto;
+  position: relative;
+  height: 47px;
+}
+
+.cru_selectBox::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 6px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  height: 6px;
+}
+
+/*定义滚动条轨道 内阴影+圆角*/
+.cru_selectBox::-webkit-scrollbar-track {
+  border-radius: 10px;
+  background-color: #eee;
+}
+
+/*定义滑块 内阴影+圆角*/
+.cru_selectBox::-webkit-scrollbar-thumb {
+  border-radius: 10px;
+  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+  background-color: rgba(0, 0, 0, 0.1);
+}
+.cru_select {
+  font-size: 21px;
+  margin-right: 37px;
+  margin-left: 5px;
+  cursor: pointer;
+  color: #a6a6a6;
+}
+
+.cru_selected {
+  color: #0b7fc2 !important;
+}
+.info_btn {
+  color: #fff;
+  background-color: #0f7eff;
+  padding: 8px 24px;
+  font-size: 0.9375rem;
+  box-shadow: 0px 1px 3px 0px rgb(0 0 0 / 20%), 0px 2px 2px 0px rgb(0 0 0 / 14%),
+    0px 3px 1px -2px rgb(0 0 0 / 12%);
+  min-width: 64px;
+  font-weight: 500;
+  border-radius: 4px;
+  box-sizing: border-box;
+  border: none;
+  cursor: pointer;
+}
 </style>

+ 244 - 187
src/components/pages/race/addRace/raceOverview.vue

@@ -87,11 +87,6 @@
                               v-if="item.type == 1 || item.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -105,7 +100,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item.type == 1"
+                              v-if="item.type == 1 || item.type == 3"
                               :placeholder="item.name"
                             />
                             <input
@@ -113,19 +108,6 @@
                               v-if="item.type == 2"
                               :placeholder="item.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item.name"
-                              v-if="item.type == 3"
-                              readonly="true"
-                              @click="selectAttText(0, index)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item.type == 4"
-                              :placeholder="item.name"
-                              @click="selectLine(0, index)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -136,31 +118,34 @@
                     </div>
                   </div>
                   <div class="add_info_box">
-                    <!-- <button class="info_btn" @click="addImg($event)">
-                      添加教学视频
-                      <input
-                        type="file"
-                        accept="video/mp4, video/quicktime, video/x-msvideo"
-                        style="display: none"
-                        capture="camera"
-                        @change="beforeUpload($event, 2, index, 0)"
-                      />
-                    </button> -->
                     <button class="info_btn" @click="addImg($event)">
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, 0)"
                       />
                     </button>
-                    <!-- <button class="info_btn" @click="addAttText(0)">
-                      添加图文
-                    </button>
-                    <button class="info_btn" @click="openLine(0)">
-                      添加链接
-                    </button> -->
+                  </div>
+                  <div v-if="raceOver.driQuestion.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          raceOver.driQuestion.data.progress
+                            ? raceOver.driQuestion.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
                   </div>
                 </div>
               </div>
@@ -212,11 +197,6 @@
                               v-if="item1.type == 1 || item1.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item1.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -230,7 +210,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item1.type == 1"
+                              v-if="item1.type == 1 || item1.type == 3"
                               :placeholder="item1.name"
                             />
                             <input
@@ -238,19 +218,6 @@
                               v-if="item1.type == 2"
                               :placeholder="item1.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item1.name"
-                              v-if="item1.type == 3"
-                              readonly="true"
-                              @click="selectAttText(1, index1)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item1.type == 4"
-                              :placeholder="item1.name"
-                              @click="selectLine(1, index1)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -261,31 +228,34 @@
                     </div>
                   </div>
                   <div class="add_info_box">
-                    <!-- <button class="info_btn" @click="addImg($event)">
-                      添加教学视频
-                      <input
-                        type="file"
-                        accept="video/mp4, video/quicktime, video/x-msvideo"
-                        style="display: none"
-                        capture="camera"
-                        @change="beforeUpload($event, 2, index1, 1)"
-                      />
-                    </button> -->
                     <button class="info_btn" @click="addImg($event)">
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, 1)"
                       />
                     </button>
-                    <!-- <button class="info_btn" @click="addAttText(1)">
-                      添加图文
-                    </button>
-                    <button class="info_btn" @click="openLine(1)">
-                      添加链接
-                    </button> -->
+                  </div>
+                  <div v-if="raceOver.tarDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          raceOver.tarDesign.data.progress
+                            ? raceOver.tarDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
                   </div>
                 </div>
               </div>
@@ -336,11 +306,6 @@
                               v-if="item2.type == 1 || item2.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item2.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -354,7 +319,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item2.type == 1"
+                              v-if="item2.type == 1 || item2.type == 3"
                               :placeholder="item2.name"
                             />
                             <input
@@ -362,19 +327,6 @@
                               v-if="item2.type == 2"
                               :placeholder="item2.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item2.name"
-                              v-if="item2.type == 3"
-                              readonly="true"
-                              @click="selectAttText(2, index2)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item2.type == 4"
-                              :placeholder="item2.name"
-                              @click="selectLine(2, index2)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -385,31 +337,34 @@
                     </div>
                   </div>
                   <div class="add_info_box">
-                    <!-- <button class="info_btn" @click="addImg($event)">
-                      添加教学视频
-                      <input
-                        type="file"
-                        accept="video/mp4, video/quicktime, video/x-msvideo"
-                        style="display: none"
-                        capture="camera"
-                        @change="beforeUpload($event, 2, index2, 2)"
-                      />
-                    </button> -->
                     <button class="info_btn" @click="addImg($event)">
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, 2)"
                       />
                     </button>
-                    <!-- <button class="info_btn" @click="addAttText(2)">
-                      添加图文
-                    </button>
-                    <button class="info_btn" @click="openLine(2)">
-                      添加链接
-                    </button> -->
+                  </div>
+                  <div v-if="raceOver.actiDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          raceOver.actiDesign.data.progress
+                            ? raceOver.actiDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
                   </div>
                 </div>
               </div>
@@ -461,11 +416,6 @@
                               v-if="item3.type == 1 || item3.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item3.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -479,7 +429,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item3.type == 1"
+                              v-if="item3.type == 1 || item3.type == 3"
                               :placeholder="item3.name"
                             />
                             <input
@@ -487,19 +437,6 @@
                               v-if="item3.type == 2"
                               :placeholder="item3.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item3.name"
-                              v-if="item3.type == 3"
-                              readonly="true"
-                              @click="selectAttText(3, index3)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item3.type == 4"
-                              :placeholder="item3.name"
-                              @click="selectLine(3, index3)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -510,31 +447,34 @@
                     </div>
                   </div>
                   <div class="add_info_box">
-                    <!-- <button class="info_btn" @click="addImg($event)">
-                      添加教学视频
-                      <input
-                        type="file"
-                        accept="video/mp4, video/quicktime, video/x-msvideo"
-                        style="display: none"
-                        capture="camera"
-                        @change="beforeUpload($event, 2, index3, 3)"
-                      />
-                    </button> -->
                     <button class="info_btn" @click="addImg($event)">
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, 3)"
                       />
                     </button>
-                    <!-- <button class="info_btn" @click="addAttText(3)">
-                      添加图文
-                    </button>
-                    <button class="info_btn" @click="openLine(3)">
-                      添加链接
-                    </button> -->
+                  </div>
+                  <div v-if="raceOver.evaDesign.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          raceOver.evaDesign.data.progress
+                            ? raceOver.evaDesign.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
                   </div>
                 </div>
               </div>
@@ -584,11 +524,6 @@
                               v-if="item4.type == 1 || item4.type == 3"
                               class="chapter_upload_l_i5"
                             ></div>
-                            <div
-                              v-if="item4.type == 4"
-                              class="chapter_upload_l_i8"
-                              style="margin-left: 1px"
-                            ></div>
                           </div>
                           <div class="chapter_upload_ic">
                             <div class="chapter_upload_ic_l"></div>
@@ -602,7 +537,7 @@
                           <div class="chapter_upload_n">
                             <input
                               class="first"
-                              v-if="item4.type == 1"
+                              v-if="item4.type == 1 || item4.type == 3"
                               :placeholder="item4.name"
                             />
                             <input
@@ -610,19 +545,6 @@
                               v-if="item4.type == 2"
                               :placeholder="item4.name"
                             />
-                            <input
-                              class="first"
-                              :placeholder="item4.name"
-                              v-if="item4.type == 3"
-                              readonly="true"
-                              @click="selectAttText(4, index4)"
-                            />
-                            <input
-                              class="first"
-                              v-if="item4.type == 4"
-                              :placeholder="item4.name"
-                              @click="selectLine(4, index4)"
-                            />
                             <div class="chapter_upload_ud">
                               <div class="chapter_upload_up"></div>
                               <div class="chapter_upload_down"></div>
@@ -633,31 +555,34 @@
                     </div>
                   </div>
                   <div class="add_info_box">
-                    <!-- <button class="info_btn" @click="addImg($event)">
-                      添加教学视频
-                      <input
-                        type="file"
-                        accept="video/mp4, video/quicktime, video/x-msvideo"
-                        style="display: none"
-                        capture="camera"
-                        @change="beforeUpload($event, 2, index4, 4)"
-                      />
-                    </button> -->
                     <button class="info_btn" @click="addImg($event)">
                       上传附件
                       <input
                         type="file"
-                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo"
+                        accept="application/pdf, application/.ppt, .ppt, .pptx, .xlsx, .xls, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document,video/mp4, video/quicktime, video/x-msvideo,image/*"
                         style="display: none"
                         @change="beforeUpload($event, null, 4)"
                       />
                     </button>
-                    <!-- <button class="info_btn" @click="addAttText(4)">
-                      添加图文
-                    </button>
-                    <button class="info_btn" @click="openLine(4)">
-                      添加链接
-                    </button> -->
+                  </div>
+                  <div v-if="raceOver.other.data.proVisible" class="mask">
+                    <div class="progressBox">
+                      <div class="lbox">
+                        <img
+                          src="../../../../assets/loading.gif"
+                        />上传中,请稍后
+                      </div>
+                      <el-progress
+                        :text-inside="true"
+                        :stroke-width="20"
+                        :percentage="
+                          raceOver.other.data.progress
+                            ? raceOver.other.data.progress
+                            : 0
+                        "
+                        style="width: 80%"
+                      ></el-progress>
+                    </div>
                   </div>
                 </div>
               </div>
@@ -792,9 +717,7 @@ export default {
       }
     },
     beforeUpload(event, type, jsonType) {
-      const loading = this.openLoading();
       var file = event.target.files[0];
-      this.inputShow = false;
       var credentials = {
         accessKeyId: "AKIATLPEDU37QV5CHLMH",
         secretAccessKey: "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",
@@ -821,6 +744,20 @@ export default {
         "PPSM",
       ];
       var c = ["PDF", "DOT", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
+      var d = [
+        "BMP",
+        "PJP",
+        "APNG",
+        "PNG",
+        "JPG",
+        "GIF",
+        "SVG",
+        "JPEG",
+        "JPG",
+        "ICO",
+        "PGPEG",
+        "AVIF",
+      ];
       if (
         b.indexOf(
           file.name
@@ -830,7 +767,6 @@ export default {
       ) {
         if (file.size / 1024 / 1024 > 10) {
           this.$message.error("上传文件大于10兆,请重新选择文件!");
-          loading.close();
           return;
         }
       } else if (
@@ -840,7 +776,6 @@ export default {
       ) {
         if (file.size / 1024 / 1024 > 5) {
           this.$message.error("添加成上传文件大于5兆,请重新选择文件!");
-          loading.close();
           return;
         }
       }
@@ -853,10 +788,35 @@ export default {
         ) != -1
       ) {
         type1 = 1;
+      } else if (
+        d.indexOf(
+          file.name
+            .split(".")
+            [file.name.split(".").length - 1].toLocaleUpperCase()
+        ) != -1
+      ) {
+        type1 = 3;
       } else {
         type1 = 2;
       }
 
+      if (jsonType == 0) {
+        _this.raceOver.driQuestion.data.progress = 0;
+        _this.raceOver.driQuestion.data.proVisible = true;
+      } else if (jsonType == 1) {
+        _this.raceOver.tarDesign.data.progress = 0;
+        _this.raceOver.tarDesign.data.proVisible = true;
+      } else if (jsonType == 2) {
+        _this.raceOver.actiDesign.data.progress = 0;
+        _this.raceOver.actiDesign.data.proVisible = true;
+      } else if (jsonType == 3) {
+        _this.raceOver.evaDesign.data.progress = 0;
+        _this.raceOver.evaDesign.data.proVisible = true;
+      } else {
+        _this.raceOver.other.data.progress = 0;
+        _this.raceOver.other.data.proVisible = true;
+      }
+
       if (file) {
         var params = {
           Key:
@@ -879,10 +839,55 @@ export default {
           .on("httpUploadProgress", function (evt) {
             //这里可以写进度条
             // console.log("Uploaded : " + parseInt((evt.loaded * 80) / evt.total) + '%');
+            if (jsonType == 0) {
+              _this.raceOver.driQuestion.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else if (jsonType == 1) {
+              _this.raceOver.tarDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else if (jsonType == 2) {
+              _this.raceOver.actiDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else if (jsonType == 3) {
+              _this.raceOver.evaDesign.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            } else {
+              _this.raceOver.other.data.progress = parseInt(
+                (evt.loaded * 80) / evt.total
+              );
+            }
           })
           .send(function (err, data) {
-            loading.close();
-            _this.inputShow = true;
+            // loading.close();
+            if (jsonType == 0) {
+              _this.raceOver.driQuestion.data.progress = 100;
+            } else if (jsonType == 1) {
+              _this.raceOver.tarDesign.data.progress = 100;
+            } else if (jsonType == 2) {
+              _this.raceOver.actiDesign.data.progress = 100;
+            } else if (jsonType == 3) {
+              _this.raceOver.evaDesign.data.progress = 100;
+            } else {
+              _this.raceOver.other.data.progress = 100;
+            }
+            setTimeout(() => {
+              if (jsonType == 0) {
+                _this.raceOver.driQuestion.data.proVisible = false;
+              } else if (jsonType == 1) {
+                _this.raceOver.tarDesign.data.proVisible = false;
+              } else if (jsonType == 2) {
+                _this.raceOver.actiDesign.data.proVisible = false;
+              } else if (jsonType == 3) {
+                _this.raceOver.evaDesign.data.proVisible = false;
+              } else {
+                _this.raceOver.other.data.proVisible = false;
+              }
+              _this.$forceUpdate();
+            }, 1000);
             if (err) {
               _this.$message.error("上传失败");
             } else {
@@ -1152,7 +1157,6 @@ export default {
 
 <style scoped>
 @media screen and (max-width: 1280px) {
-
 }
 .dialog_diy >>> .el-dialog__header {
   background: #3c3c3c !important;
@@ -1536,4 +1540,57 @@ export default {
   transform: translateY(-50%);
   z-index: 1;
 }
+.mask {
+  background-color: rgb(0 0 0 / 30%);
+  /* position: fixed; */
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 20000;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.progressBox {
+  width: 300px;
+  height: 150px;
+  background: #fff;
+  border-radius: 10px;
+  box-shadow: 0 0 6px 1px #bfbfbf;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+}
+
+.progressBox .lbox {
+  height: 100px;
+  font-size: 16px;
+  display: flex;
+  align-items: center;
+}
+
+.progressBox .lbox img {
+  width: 40px;
+  margin-right: 20px;
+}
+
+.progressBox >>> .el-progress-bar__outer {
+  background-color: #d1dfff !important;
+}
+
+.progressBox .lbox {
+  height: 100px;
+  font-size: 19px;
+  display: flex;
+  align-items: center;
+}
+
+.progressBox .lbox img {
+  width: 40px;
+  margin-right: 20px;
+}
 </style>

+ 228 - 29
src/components/pages/race/eventCenter/anliDetail.vue

@@ -98,7 +98,14 @@
                     ? JSON.parse(anliBox[0].overview).driQuestion.brief
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].overview).driQuestion.brief != ''"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
             <div class="whiteRight">
               <div class="fileTop">
@@ -111,17 +118,30 @@
                 <div>佐证材料</div>
               </div>
               <div class="fileBox">
-                <div class="fileList">
+                <div
+                  class="fileList"
+                  v-if="JSON.parse(anliBox[0].overview).driQuestion.data.length"
+                >
                   <div
                     class="file"
                     v-for="(f, fIndex) in JSON.parse(anliBox[0].overview)
                       .driQuestion.data"
                     :key="fIndex"
                   >
-                    <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                    <div>
+                      1、{{
+                        f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                      }}
+                    </div>
                     <div>{{ f.name }}</div>
                   </div>
                 </div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
             </div>
           </div>
@@ -135,7 +155,14 @@
                     ? JSON.parse(anliBox[0].overview).tarDesign.brief
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].overview).tarDesign.brief != ''"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
             <div class="whiteRight">
               <div class="fileTop">
@@ -148,17 +175,30 @@
                 <div>佐证材料</div>
               </div>
               <div class="fileBox">
-                <div class="fileList">
+                <div
+                  class="fileList"
+                  v-if="JSON.parse(anliBox[0].overview).tarDesign.data.length"
+                >
                   <div
                     class="file"
                     v-for="(f, fIndex) in JSON.parse(anliBox[0].overview)
                       .tarDesign.data"
                     :key="fIndex"
                   >
-                    <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                    <div>
+                      1、{{
+                        f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                      }}
+                    </div>
                     <div>{{ f.name }}</div>
                   </div>
                 </div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
             </div>
           </div>
@@ -172,7 +212,14 @@
                     ? JSON.parse(anliBox[0].overview).actiDesign.brief
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].overview).actiDesign.brief != ''"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
             <div class="whiteRight">
               <div class="fileTop">
@@ -185,17 +232,30 @@
                 <div>佐证材料</div>
               </div>
               <div class="fileBox">
-                <div class="fileList">
+                <div
+                  class="fileList"
+                  v-if="JSON.parse(anliBox[0].overview).actiDesign.data.length"
+                >
                   <div
                     class="file"
                     v-for="(f, fIndex) in JSON.parse(anliBox[0].overview)
                       .actiDesign.data"
                     :key="fIndex"
                   >
-                    <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                    <div>
+                      1、{{
+                        f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                      }}
+                    </div>
                     <div>{{ f.name }}</div>
                   </div>
                 </div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
             </div>
           </div>
@@ -210,7 +270,14 @@
                     ? JSON.parse(anliBox[0].overview).evaDesign.brief
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].overview).evaDesign.brief != ''"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
             <div class="whiteRight">
               <div class="fileTop">
@@ -223,17 +290,30 @@
                 <div>佐证材料</div>
               </div>
               <div class="fileBox">
-                <div class="fileList">
+                <div
+                  class="fileList"
+                  v-if="JSON.parse(anliBox[0].overview).evaDesign.data.length"
+                >
                   <div
                     class="file"
                     v-for="(f, fIndex) in JSON.parse(anliBox[0].overview)
                       .evaDesign.data"
                     :key="fIndex"
                   >
-                    <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                    <div>
+                      1、{{
+                        f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                      }}
+                    </div>
                     <div>{{ f.name }}</div>
                   </div>
                 </div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
             </div>
           </div>
@@ -248,7 +328,14 @@
                     ? JSON.parse(anliBox[0].overview).other.brief
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].overview).other.brief != ''"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
             <div class="whiteRight">
               <div class="fileTop">
@@ -261,17 +348,30 @@
                 <div>佐证材料</div>
               </div>
               <div class="fileBox">
-                <div class="fileList">
+                <div
+                  class="fileList"
+                  v-if="JSON.parse(anliBox[0].overview).other.data.length"
+                >
                   <div
                     class="file"
                     v-for="(f, fIndex) in JSON.parse(anliBox[0].overview).other
                       .data"
                     :key="fIndex"
                   >
-                    <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                    <div>
+                      1、{{
+                        f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                      }}
+                    </div>
                     <div>{{ f.name }}</div>
                   </div>
                 </div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
             </div>
           </div>
@@ -297,8 +397,15 @@
                 <div
                   class="proOverNav"
                   v-html="hd.driQuestion ? hd.driQuestion.brief : ''"
-                  style="padding: 20px 0 20px 40px"
+                  v-if="hd.driQuestion.brief != ''"
+                  style="padding: 20px 40px 0 40px"
                 ></div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
               <div class="whiteRight">
                 <div class="fileTop">
@@ -311,16 +418,26 @@
                   <div>佐证材料</div>
                 </div>
                 <div class="fileBox">
-                  <div class="fileList">
+                  <div class="fileList" v-if="hd.driQuestion.data.length">
                     <div
                       class="file"
                       v-for="(f, fIndex) in hd.driQuestion.data"
                       :key="fIndex"
                     >
-                      <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                      <div>
+                        1、{{
+                          f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                        }}
+                      </div>
                       <div>{{ f.name }}</div>
                     </div>
                   </div>
+                  <div class="noFile" v-else>
+                    <img
+                      src="../../../../assets/icon/anliDetail/noFile.jpg"
+                      alt=""
+                    />
+                  </div>
                 </div>
               </div>
             </div>
@@ -342,8 +459,15 @@
                 <div
                   class="proOverNav"
                   v-html="hd.tarDesign ? hd.tarDesign.brief : ''"
-                  style="padding: 20px 0 20px 40px"
+                  v-if="hd.tarDesign.brief != ''"
+                  style="padding: 20px 40px 0 40px"
                 ></div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
               <div class="whiteRight">
                 <div class="fileTop">
@@ -356,16 +480,26 @@
                   <div>佐证材料</div>
                 </div>
                 <div class="fileBox">
-                  <div class="fileList">
+                  <div class="fileList" v-if="hd.tarDesign.data.length">
                     <div
                       class="file"
                       v-for="(f, fIndex) in hd.tarDesign.data"
                       :key="fIndex"
                     >
-                      <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                      <div>
+                        1、{{
+                          f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                        }}
+                      </div>
                       <div>{{ f.name }}</div>
                     </div>
                   </div>
+                  <div class="noFile" v-else>
+                    <img
+                      src="../../../../assets/icon/anliDetail/noFile.jpg"
+                      alt=""
+                    />
+                  </div>
                 </div>
               </div>
             </div>
@@ -387,8 +521,15 @@
                 <div
                   class="proOverNav"
                   v-html="hd.actiDesign ? hd.actiDesign.brief : ''"
-                  style="padding: 20px 0 20px 40px"
+                  v-if="hd.actiDesign.brief != ''"
+                  style="padding: 20px 40px 0 40px"
                 ></div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
               <div class="whiteRight">
                 <div class="fileTop">
@@ -401,16 +542,26 @@
                   <div>佐证材料</div>
                 </div>
                 <div class="fileBox">
-                  <div class="fileList">
+                  <div class="fileList" v-if="hd.actiDesign.data.length">
                     <div
                       class="file"
                       v-for="(f, fIndex) in hd.actiDesign.data"
                       :key="fIndex"
                     >
-                      <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                      <div>
+                        1、{{
+                          f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                        }}
+                      </div>
                       <div>{{ f.name }}</div>
                     </div>
                   </div>
+                  <div class="noFile" v-else>
+                    <img
+                      src="../../../../assets/icon/anliDetail/noFile.jpg"
+                      alt=""
+                    />
+                  </div>
                 </div>
               </div>
             </div>
@@ -432,8 +583,15 @@
                 <div
                   class="proOverNav"
                   v-html="hd.evaDesign ? hd.evaDesign.brief : ''"
-                  style="padding: 20px 0 20px 40px"
+                  v-if="hd.evaDesign.brief != ''"
+                  style="padding: 20px 40px 0 40px"
                 ></div>
+                <div class="noFile" v-else>
+                  <img
+                    src="../../../../assets/icon/anliDetail/noFile.jpg"
+                    alt=""
+                  />
+                </div>
               </div>
               <div class="whiteRight">
                 <div class="fileTop">
@@ -446,16 +604,26 @@
                   <div>佐证材料</div>
                 </div>
                 <div class="fileBox">
-                  <div class="fileList">
+                  <div class="fileList" v-if="hd.evaDesign.data.length">
                     <div
                       class="file"
                       v-for="(f, fIndex) in hd.evaDesign.data"
                       :key="fIndex"
                     >
-                      <div>1、{{ f.type == 1 ? "文档" : "视频" }}</div>
+                      <div>
+                        1、{{
+                          f.type == 1 ? "文档" : f.type == 2 ? "视频" : "图片"
+                        }}
+                      </div>
                       <div>{{ f.name }}</div>
                     </div>
                   </div>
+                  <div class="noFile" v-else>
+                    <img
+                      src="../../../../assets/icon/anliDetail/noFile.jpg"
+                      alt=""
+                    />
+                  </div>
                 </div>
               </div>
             </div>
@@ -470,8 +638,15 @@
                     ? JSON.parse(anliBox[0].results).proEffText
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].results).proEffText != ''"
                 style="min-height: 100px; max-height: 100px"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
           </div>
           <div class="proOverCss">
@@ -484,14 +659,23 @@
                     ? JSON.parse(anliBox[0].results).proRefText
                     : ''
                 "
+                v-if="JSON.parse(anliBox[0].results).proRefText != ''"
                 style="min-height: 100px; max-height: 100px"
               ></div>
+              <div class="noFile" v-else>
+                <img
+                  src="../../../../assets/icon/anliDetail/noFile.jpg"
+                  alt=""
+                />
+              </div>
             </div>
           </div>
         </div>
       </div>
       <div class="fixBottom">
-        <div class="returnAnLi" style="width: 100px">前往评分</div>
+        <div class="returnAnLi" style="width: 100px" @click="goToX()">
+          前往评分
+        </div>
         <div
           class="returnAnLi"
           @click="goTo('/eventCenter?userid=' + userid + '&oid=' + oid)"
@@ -518,6 +702,10 @@ export default {
     goTo(path) {
       this.$router.push(path);
     },
+    goToX() {
+      this.$message("暂未开放");
+      return;
+    },
     selectAnLi() {
       let params = {
         id: this.aid,
@@ -650,7 +838,7 @@ body {
   border-radius: 10px;
 }
 .whiteLeft {
-  width: 60%;
+  width: 64%;
   margin: 0;
   min-height: 400px;
   max-height: 400px;
@@ -684,12 +872,12 @@ body {
 }
 .whiteRight {
   width: 35%;
-  margin-left: 5%;
+  margin-left: 2%;
 }
 .proOverNav {
-  padding: 0 0 20px 40px;
-  max-height: 320px;
-  min-height: 320px;
+  padding: 0 40px 20px 40px;
+  max-height: 300px;
+  min-height: 300px;
   overflow: auto;
   word-break: break-word;
 }
@@ -714,7 +902,7 @@ body {
   height: 100%;
 }
 .fileBox {
-  height: calc(415px - 50px);
+  height: calc(400px - 50px);
   background: #fff;
   border-bottom-left-radius: 10px;
   border-bottom-right-radius: 10px;
@@ -733,6 +921,7 @@ body {
   flex-wrap: nowrap;
   align-items: center;
   padding: 10px;
+  box-shadow: 2px 2px 13px 1px #e1e1e1;
 }
 .file > div:nth-child(1) {
   background: #286a8d;
@@ -825,5 +1014,15 @@ body {
   flex-wrap: nowrap;
   align-items: center;
   justify-content: flex-end;
+  box-shadow: 2px 2px 13px 1px #e1e1e1;
+}
+.noFile {
+  width: 200px;
+  margin: 0 auto;
+  padding: 20px 0 0 0;
+}
+.noFile > img {
+  width: 100%;
+  height: 100%;
 }
 </style>

+ 32 - 21
src/components/pages/race/eventCenter/myAnli.vue

@@ -154,25 +154,27 @@ export default {
           var _div2 = document.createElement("div");
           _div2.innerHTML = ` <a href="${
             overview[oArray[k].j].data[i].url
-          }" target="downloadFile">${ overview[oArray[k].j].data[i].name}</a>`;
+          }" target="downloadFile">${overview[oArray[k].j].data[i].name}</a>`;
           _div.appendChild(_div2);
         }
-        _overview += `<div>${_div.innerHTML}</div>`
+        _overview += `<div>${_div.innerHTML}</div>`;
       }
 
       let process = JSON.parse(res.process).actBox;
-      var _process = '';
-      for(var z = 0;z<process.length;z++){
-        _process+=`<h3>活动${z+1}</h3>`
-        _process+=`<h3>活动名称:${process[z].actName}</h3>`
+      var _process = "";
+      for (var z = 0; z < process.length; z++) {
+        _process += `<h3>活动${z + 1}</h3>`;
+        _process += `<h3>活动名称:${process[z].actName}</h3>`;
         let pAarray = [
-          {j:'driQuestion',name:'活动实施'},
-          {j:'tarDesign',name:'活动工具'},
-          {j:'tarDesign',name:'活动描述'},
-          {j:'actiDesign',name:'活动成果'}
-        ]
-        for(var i = 0;i<pAarray.length;i++){
-          _process += `<h3>${pAarray[i].name}:${process[z][pAarray[i].j].title}</h3>`;
+          { j: "driQuestion", name: "活动实施" },
+          { j: "tarDesign", name: "活动工具" },
+          { j: "tarDesign", name: "活动描述" },
+          { j: "actiDesign", name: "活动成果" },
+        ];
+        for (var i = 0; i < pAarray.length; i++) {
+          _process += `<h3>${pAarray[i].name}:${
+            process[z][pAarray[i].j].title
+          }</h3>`;
           _process += `<div>活动描述</div>`;
           _process += `<div>${process[z][pAarray[i].j].brief}</div>`;
           _process += `<div>学习内容</div>`;
@@ -181,20 +183,21 @@ export default {
             var _div2 = document.createElement("div");
             _div2.innerHTML = ` <a href="${
               process[z][pAarray[i].j].data[c].url
-            }" target="downloadFile">${ process[z][pAarray[i].j].data[c].name}</a>`;
+            }" target="downloadFile">${
+              process[z][pAarray[i].j].data[c].name
+            }</a>`;
             _div.appendChild(_div2);
           }
-          _process += `<div>${_div.innerHTML}</div>`
+          _process += `<div>${_div.innerHTML}</div>`;
         }
       }
 
-
       let results = JSON.parse(res.results);
-      let _results = ''
-      _results += `<h3>项目成效</h3>`
-      _results += `<div>${results.proEffText}</div>`
-      _results += `<h3>项目反思</h3>`
-      _results += `<div>${results.proRefText}</div>`
+      let _results = "";
+      _results += `<h3>项目成效</h3>`;
+      _results += `<div>${results.proEffText}</div>`;
+      _results += `<h3>项目反思</h3>`;
+      _results += `<div>${results.proRefText}</div>`;
 
       _html = _title + _overview + _process + _results;
       console.log("_overview", overview);
@@ -290,6 +293,8 @@ export default {
 }
 .anliImg {
   width: 200px;
+  height: 115px;
+  min-width: 200px;
 }
 .anliImg > img {
   width: 100%;
@@ -320,6 +325,7 @@ export default {
 }
 .anliNav {
   padding-left: 30px;
+  width: 100%;
 }
 .anliNav > div:nth-child(1) {
   font-size: 24px;
@@ -332,6 +338,11 @@ export default {
 .anliNav > div:nth-child(3) {
   color: #aba8a8;
   margin-bottom: 10px;
+  height: 40px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  width: 80%;
 }
 .anliBottom {
   display: flex;