Browse Source

客座名师和全科老师支持多选

bzkf30 2 years ago
parent
commit
5196babf84
1 changed files with 34 additions and 52 deletions
  1. 34 52
      src/pages/personal/components/MyCourse/ssys-create.vue

+ 34 - 52
src/pages/personal/components/MyCourse/ssys-create.vue

@@ -4,8 +4,7 @@
     <el-card>
       <div style="padding: 0 75px;">
         <span class="title">全景课堂</span>
-        <span class="subTitle">我的课程 - 我创建的 - <span class="pointer" @click="goBack">全景课堂</span> - <span
-            style="color: #000;">{{ editId == "" ? "创建" : "编辑" }}课程</span></span>
+        <span class="subTitle">我的课程 - 我创建的 - <span class="pointer" @click="goBack">全景课堂</span> - <span style="color: #000;">{{ editId == "" ? "创建" : "编辑" }}课程</span></span>
       </div>
     </el-card>
 
@@ -14,8 +13,7 @@
       <div class="formContent">
         <el-form :model="formline" ref="formline" :rules="rules" size="large" label-position="top" class="demo-ruleForm">
           <el-form-item label="课程封面图" class="kcfmt" prop="ks_img">
-            <file-upload-progress v-model:part="ks_img" list-type="picture-card" accept=".jpg,.png,.jpeg"
-              :size-limit="5 * 1024" @compile="handleCompile">
+            <file-upload-progress v-model:part="ks_img" list-type="picture-card" accept=".jpg,.png,.jpeg" :size-limit="5 * 1024" @compile="handleCompile">
               <template #default>
                 <el-icon size="38" color="#9d9ab9" v-if="formline.ks_img == ''">
                   <Picture />
@@ -23,8 +21,7 @@
                 <img v-else :src="getFullUrl(formline.ks_img)" alt="" style="width: 100%;height: 100%;" />
               </template>
               <template #tip>
-                <div
-                  style="color: #949494;font-size: 12px;margin-left: 20px;display: inline-block;vertical-align: top;line-height: 20px;">
+                <div style="color: #949494;font-size: 12px;margin-left: 20px;display: inline-block;vertical-align: top;line-height: 20px;">
                   支持格式:jpg,png,jpeg(5M以内) 建议尺寸600x320</div>
               </template>
             </file-upload-progress>
@@ -66,18 +63,13 @@
           <div style="display: flex;">
             <el-form-item style="flex: 1;" label="开始时间" prop="ks_start_datetime">
               <el-config-provider :locale="local">
-                <el-date-picker popper-class="ssystime" v-model="formline.ks_start_datetime"
-                  value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="pickerStartTime" :disabled-hours="pickerStartHour"
-                  :disabled-minutes="pickerStartMinute" :disabled-seconds="pickerStartSecond" type="datetime"
+                <el-date-picker popper-class="ssystime" v-model="formline.ks_start_datetime" value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="pickerStartTime" :disabled-hours="pickerStartHour" :disabled-minutes="pickerStartMinute" :disabled-seconds="pickerStartSecond" type="datetime"
                   placeholder="选择日期时间"></el-date-picker>
               </el-config-provider>
             </el-form-item>
             <el-form-item style="flex: 1;margin-left: 20px;" label="结束时间" prop="ks_end_datetime">
               <el-config-provider :locale="local">
-                <el-date-picker popper-class="ssystime" v-model="formline.ks_end_datetime"
-                  value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="pickerEndTime" :disabled-hours="pickerEndHour"
-                  :disabled-minutes="pickerEndMinute" :disabled-seconds="pickerEndSecond" type="datetime"
-                  placeholder="选择日期时间">
+                <el-date-picker popper-class="ssystime" v-model="formline.ks_end_datetime" value-format="YYYY-MM-DD HH:mm:ss" :disabled-date="pickerEndTime" :disabled-hours="pickerEndHour" :disabled-minutes="pickerEndMinute" :disabled-seconds="pickerEndSecond" type="datetime" placeholder="选择日期时间">
                 </el-date-picker>
               </el-config-provider>
             </el-form-item>
@@ -87,12 +79,10 @@
           </el-form-item> -->
           <div class="flex">
             <el-form-item class="flex-1" label="年级" prop="grade_id">
-              <remote-multi-select v-model="formline.grade_id" v-model:model-name="formline.grade_name"
-                to="grade"></remote-multi-select>
+              <remote-multi-select v-model="formline.grade_id" v-model:model-name="formline.grade_name" to="grade"></remote-multi-select>
             </el-form-item>
             <el-form-item class="flex-1" style="margin-left: 20px;" label="学科" prop="subject_id">
-              <remote-multi-select v-model="formline.subject_id" v-model:model-name="formline.subject_name"
-                to="subject"></remote-multi-select>
+              <remote-multi-select v-model="formline.subject_id" v-model:model-name="formline.subject_name" to="subject"></remote-multi-select>
             </el-form-item>
           </div>
           <!-- <div class="must" style="display: block;">
@@ -118,11 +108,9 @@
             </div>
           </div> -->
           <el-form-item label="附件">
-            <file-upload-progress v-model:part="formline.ks_kj" :limit="1"
-              accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.mp4,.mp3" :size-limit="1500 * 1024">
+            <file-upload-progress v-model:part="formline.ks_kj" :limit="1" accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.mp4,.mp3" :size-limit="1500 * 1024">
               <template #default>
-                <div
-                  class="flex_center w-65px h-65px border border-dashed border-hex-E4E6E8 bg-hex-F9F9F9 text-hex-9D9AB9">
+                <div class="flex_center w-65px h-65px border border-dashed border-hex-E4E6E8 bg-hex-F9F9F9 text-hex-9D9AB9">
                   <i-akar-icons:plus class="text-xl" />
                 </div>
               </template>
@@ -154,8 +142,7 @@
           <el-form-item label="回放视频">
             <file-upload-progress v-model:part="formline.ks_lzsp" accept=".mp4">
               <template #default>
-                <div
-                  class="flex_center w-65px h-65px border border-dashed border-hex-E4E6E8 bg-hex-F9F9F9 text-hex-9D9AB9">
+                <div class="flex_center w-65px h-65px border border-dashed border-hex-E4E6E8 bg-hex-F9F9F9 text-hex-9D9AB9">
                   <i-akar-icons:plus class="text-xl" />
                 </div>
               </template>
@@ -298,7 +285,6 @@ export default {
       userIdData2: [],
       workData: [],
       linkWork: [],
-      isInit: false,
       classData: [],
       activeClass: [],
       sfsjdtjkcData: [],
@@ -425,24 +411,24 @@ export default {
     }
   },
   watch: {
-    'formline.ks_kzms_json'(val) {
-      if (val) {
-        let data = JSON.parse(val);
-        this.userIdData1 = data.map(item => { return item.user_id });
-      } else {
-        this.userIdData1 = [];
+    formline: {
+      deep: true,
+      handler(val) {
+        if (val.ks_kzms_json) {
+          let data1 = JSON.parse(val.ks_kzms_json);
+          this.userIdData1 = data1.map(item => { return item.user_id });
+        } else {
+          this.userIdData1 = [];
+        }
+        if (val.ks_qkls_json) {
+          let data2 = JSON.parse(val.ks_qkls_json);
+          this.userIdData2 = data2.map(item => { return item.user_id });
+        } else {
+          this.userIdData2 = [];
+        }
+        this.initWorkData();
       }
-      this.initWorkData();
     },
-    'formline.ks_qkls_json'(val) {
-      if (val) {
-        let data = JSON.parse(val);
-        this.userIdData2 = data.map(item => { return item.user_id });
-      } else {
-        this.userIdData2 = [];
-      }
-      this.initWorkData();
-    }
   },
   components: { Picture, FolderOpened, ElConfigProvider, ArrowDownBold, CircleClose, Back, Right, VueCropper, TeacherJson },
   methods: {
@@ -497,7 +483,6 @@ export default {
     // 编辑获取详情
     initDetailInfo() {
       this.loading = true;
-      this.isInit = true;
       ssyskc_detail({ ks_id: this.editId }).then(async (res) => {
         if (res.code == 1) {
           for (let key in this.formline) {
@@ -515,7 +500,6 @@ export default {
           }]
           // this.cropImg =
           await this.getBase64(this.formline.ks_img)
-          await this.initWorkData();
           if (this.formline.ks_kj) {
             let arr = this.formline.ks_kj.split("/");
             this.attachList = [{
@@ -523,9 +507,9 @@ export default {
               url: getFullUrl(this.formline.ks_kj)
             }]
           }
-          if (this.formline.yys_id != "") {
-            this.linkWork = this.formline.yys_id.split(",");
-          }
+          // if (this.formline.yys_id != "") {
+          //   this.linkWork = this.formline.yys_id.split(",");
+          // }
 
           if (this.formline.ks_jdbj_json != "") {
             this.activeClass = JSON.parse(this.formline.ks_jdbj_json);
@@ -588,12 +572,7 @@ export default {
     },
     initWorkData() {
       let arr = this.userIdData1.concat(this.userIdData2);
-      if (this.editId && arr.length != 2 && this.isInit) {
-        return
-      }
-      if (this.isInit) {
-        this.isInit = false;
-      }
+      console.log(arr)
       return request({
         url: '/yzy/zy_ssys/index',
         data: {
@@ -603,7 +582,10 @@ export default {
       }).then(res => {
         if (res.code == 1) {
           this.workData = res.data.page_data;
-          // this.linkWork = [];
+
+          if (this.editId && this.formline.yys_id != "") {
+            this.linkWork = this.formline.yys_id.split(",");
+          }
         }
       })
     },