Browse Source

修改赛事问题

zengyicheng 2 years ago
parent
commit
4c856c5b22

BIN
src/assets/icon/otherIcon.png


+ 3 - 2
src/components/pages/race/addRace.vue

@@ -116,7 +116,7 @@
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button @click="goTo('/eventCenter?steps=' + '2')">取 消</el-button>
         <el-button type="primary" @click="goTo('/eventCenter?steps=' + '2')"
           >确 定</el-button
         >
@@ -161,7 +161,7 @@
           <img src="../../../assets/icon/success.png" alt="" />
         </div>
         <div class="cresteMessage">
-          您当前所编辑的内容尚未保存,确定离开当前页吗?
+          您当前所编辑的内容尚未保存,确定离开当前页吗?
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
@@ -203,6 +203,7 @@ export default {
       raceInfo: {
         title: "",
         type: [],
+        typeOtherName:"",
         cover: [],
         autor: [],
         tableData: [],

+ 115 - 54
src/components/pages/race/addRace/raceDetail.vue

@@ -155,8 +155,32 @@
                               v-for="item1 in CourseTypeJson[item.id]"
                               :key="item1.id"
                               :label="item1.id"
-                              >{{ item1.name }}</el-checkbox
-                            >
+                              :class="
+                                item1.id ==
+                                '6b6ac83d-c923-11ed-9546-005056b86db5'
+                                  ? 'isOtherCss'
+                                  : ''
+                              "
+                              >{{ item1.name }}
+                              <div
+                                v-if="
+                                  isOther &&
+                                  item.name == '学科' &&
+                                  item1.name == '其他'
+                                "
+                                class="isOtherInput"
+                              >
+                                <el-input
+                                  v-model="raceDetail.typeOtherName"
+                                  @change="updateTitle"
+                                ></el-input>
+                                <div class="otherIcon" v-if="raceDetail.typeOtherName != ''">
+                                  <img
+                                    src="../../../../assets/icon/otherIcon.png"
+                                    alt=""
+                                  />
+                                </div></div
+                            ></el-checkbox>
                           </el-checkbox-group>
                         </div>
                       </div>
@@ -469,63 +493,63 @@
                         class="add_chapters_box"
                         style="display: flex; flex-direction: column"
                       >
-                          <div
-                            class="chapter_upload"
-                            v-for="(item, index) in raceDetail.data"
-                            :key="index"
-                            draggable="true"
-                            @dragstart="handleDragStart($event, index)"
-                            @dragover.prevent="handleDragOver($event, index)"
-                            @dragenter="handleDragEnter($event, index)"
-                            @dragend="handleDragEnd($event, index)"
-                          >
-                            <div class="chapter_upload_t"></div>
-                            <div class="chapter_upload_o">
-                              <div class="chapter_upload_l">
+                        <div
+                          class="chapter_upload"
+                          v-for="(item, index) in raceDetail.data"
+                          :key="index"
+                          draggable="true"
+                          @dragstart="handleDragStart($event, index)"
+                          @dragover.prevent="handleDragOver($event, index)"
+                          @dragenter="handleDragEnter($event, index)"
+                          @dragend="handleDragEnd($event, index)"
+                        >
+                          <div class="chapter_upload_t"></div>
+                          <div class="chapter_upload_o">
+                            <div class="chapter_upload_l">
+                              <div
+                                v-if="item.type == 2"
+                                class="chapter_upload_l_i1"
+                              ></div>
+                              <div
+                                v-if="item.type == 1 || item.type == 3"
+                                class="chapter_upload_l_i5"
+                              ></div>
+                            </div>
+                            <div class="chapter_upload_ic">
+                              <div class="chapter_upload_ic_l"></div>
+                              <div
+                                class="chapter_upload_ic_r"
+                                @click.stop="
+                                  deleteChapterData($event, index, 0)
+                                "
+                              >
+                                <div></div>
+                              </div>
+                            </div>
+                            <div class="chapter_upload_n">
+                              <input
+                                class="first"
+                                v-if="item.type == 1 || item.type == 3"
+                                :placeholder="item.name"
+                              />
+                              <input
+                                class="first"
+                                v-if="item.type == 2"
+                                :placeholder="item.name"
+                              />
+                              <div class="chapter_upload_ud">
                                 <div
-                                  v-if="item.type == 2"
-                                  class="chapter_upload_l_i1"
+                                  class="chapter_upload_up"
+                                  @click="upCd($event, index)"
                                 ></div>
                                 <div
-                                  v-if="item.type == 1 || item.type == 3"
-                                  class="chapter_upload_l_i5"
+                                  class="chapter_upload_down"
+                                  @click="downCd($event, index)"
                                 ></div>
                               </div>
-                              <div class="chapter_upload_ic">
-                                <div class="chapter_upload_ic_l"></div>
-                                <div
-                                  class="chapter_upload_ic_r"
-                                  @click.stop="
-                                    deleteChapterData($event, index, 0)
-                                  "
-                                >
-                                  <div></div>
-                                </div>
-                              </div>
-                              <div class="chapter_upload_n">
-                                <input
-                                  class="first"
-                                  v-if="item.type == 1 || item.type == 3"
-                                  :placeholder="item.name"
-                                />
-                                <input
-                                  class="first"
-                                  v-if="item.type == 2"
-                                  :placeholder="item.name"
-                                />
-                                <div class="chapter_upload_ud">
-                                  <div
-                                    class="chapter_upload_up"
-                                    @click="upCd($event, index)"
-                                  ></div>
-                                  <div
-                                    class="chapter_upload_down"
-                                    @click="downCd($event, index)"
-                                  ></div>
-                                </div>
-                              </div>
                             </div>
                           </div>
+                        </div>
                       </div>
                     </div>
                     <div class="add_info_box">
@@ -782,6 +806,7 @@ export default {
       sysPicVisible: false,
       isSysPic: false,
       isAutor: false,
+      isOther: false,
       sysPic: [],
       upIndex: -1,
       sName: "",
@@ -792,6 +817,7 @@ export default {
       raceDetail: {
         title: "",
         type: [],
+        typeOtherName: "",
         cover: [],
         autor: [],
         tableData: [],
@@ -1188,7 +1214,6 @@ export default {
       //     b = this.CourseType[1][i].pid;
       //   }
       // }
-
       if (
         b == "34629bcc-d02f-11ec-8c78-005056b86db5" &&
         a.indexOf(sid.id) != -1
@@ -1204,6 +1229,13 @@ export default {
         c.push(sid.id);
         this.raceDetail.type = c;
       }
+
+      if (a.indexOf("6b6ac83d-c923-11ed-9546-005056b86db5") != -1) {
+        this.isOther = true;
+      } else {
+        this.isOther = false;
+        this.raceDetail.typeOtherName = "";
+      }
     },
     isAddPPTeacher() {
       if (this.isAutor == true) {
@@ -1374,6 +1406,10 @@ export default {
     getValue() {
       this.raceDetail.title = this.raceInfo.title;
       this.raceDetail.type = this.raceInfo.type;
+      this.raceDetail.typeOtherName = this.raceInfo.typeOtherName;
+      if (this.raceDetail.typeOtherName != "") {
+        this.isOther = true;
+      }
       this.raceDetail.cover = this.raceInfo.cover;
       this.raceDetail.autor = this.raceInfo.autor;
       this.raceDetail.tableData = this.raceInfo.tableData;
@@ -1619,7 +1655,7 @@ export default {
 .all_choose >>> .el-checkbox-group {
   display: flex;
   flex-direction: row;
-  width: 100%;
+  width: 95%;
   flex-wrap: wrap;
   align-content: center;
   justify-content: flex-start;
@@ -2318,4 +2354,29 @@ export default {
 .radiusCss {
   margin-left: 10px !important;
 }
+.isOtherCss >>> .el-checkbox__label {
+  width: auto !important;
+  min-width: auto !important;
+  margin-right: 10px;
+  position: relative;
+}
+.isOtherInput {
+  position: absolute;
+  top: 30px;
+  left: -15px;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+.isOtherInput >>> .el-input__inner {
+  width: 150px;
+}
+.otherIcon {
+  width: 30px;
+  cursor: context-menu;
+}
+.otherIcon > img {
+  width: 100%;
+  height: 100%;
+}
 </style>