lex-xin 3 роки тому
батько
коміт
e561016c0d

+ 79 - 0
src/assets/commonLess/common.less

@@ -1,3 +1,5 @@
+@import url('./variable');
+
 // 阴影
 // 阴影
 .m-shadow {
 .m-shadow {
   box-shadow: 0 0 .17rem 0 rgba(202, 202, 202, 0.42);
   box-shadow: 0 0 .17rem 0 rgba(202, 202, 202, 0.42);
@@ -88,3 +90,80 @@ textarea:-ms-input-placeholder {
   border: 1px solid #d3d3d3
   border: 1px solid #d3d3d3
 }
 }
 
 
+
+.teachMode {
+  background: #F2FFFC;
+  border-radius: .03rem;
+  border: 1px solid #01C1B5;
+  font-size: 12px;
+  color: #01C1B5;
+  display: inline-block;
+  // height: 16px;
+  line-height: 16px;
+  padding: 0 5px;
+}
+.sign0, .sign3 {
+  border-color: #FFDBDB;
+  color: #FF4444;
+  background-color: #FFFBFB;
+}
+.sign1 {
+  background: #F1FCF9;
+  color: #00C988;
+  border-color: #0BE49E;
+}
+.courseType {
+  line-height: 18px;
+  // height: 18px;
+  font-size: 12px;
+  color: #fff;
+  display: inline-block;
+  border-radius: 0px 5px 0px 5px;
+  padding: 0 3px;
+  margin: 0 .05rem;
+}
+.NORMAL, .SINGLE {
+  background: @color4;
+}
+.MIX {
+  background: @color6;
+}
+.HIGH {
+  background: @color7;
+}
+.VIP {
+  background: @color1;
+}
+.DEMO {
+  background: @color3;
+}
+.COMPREHENSIVE {
+  background: @color8;
+}
+.ENLIGHTENMENT {
+  background: @color9;
+}
+.TRAINING {
+  background: @color10;
+}
+.TRAINING_SINGLE {
+  background: @color11;
+}
+.TRAINING_MIX {
+  background: @color12;
+}
+.CLASSROOM {
+  background: @color13;
+}
+.PRACTICE, .MUSIC_NETWORK {
+  background: @color2;
+}
+.COMM {
+  background: @color14;
+}
+.MUSIC {
+  background: @mColor;
+}
+.HIGH_ONLINE {
+  background: @color15;
+}

+ 15 - 1
src/assets/commonLess/variable.less

@@ -50,7 +50,21 @@
   padding-right: .15rem;
   padding-right: .15rem;
 }
 }
 
 
-
+@color1: #FF8642;
+@color2: #8C98E5;
+@color3: #6FB2FF;
+@color4: #7DC0CF;
+@color5: #cfcaca;
+@color6: #FF9288;
+@color7: #AA92CF;
+@color8: #2CD3E3;
+@color9: #0684E8;
+@color10: #97C672;
+@color11: #72C67A;
+@color12: #51CF83;
+@color13: #FFA25F;
+@color14: #85BEBE;
+@color15: #7584E8;
 
 
 // Basic Colors
 // Basic Colors
 // @black: #000;
 // @black: #000;

+ 65 - 18
src/views/audition/ArrangeWork.vue

@@ -1,29 +1,51 @@
 <template>
 <template>
   <div class="arrangeWork">
   <div class="arrangeWork">
     <m-header v-if="headerStatus" />
     <m-header v-if="headerStatus" />
+    <van-cell title="服务指标课外训练" title-style="font-size: .18rem; color: #333333;">
+      <template #extra>
+        <van-tag type="primary" plain style="background-color: #F1FCF9">课后训练</van-tag>
+      </template>
+    </van-cell>
+    <van-cell class="endTime" readonly is-link title-style="font-size: .16rem; color: #333333;">
+      <template #title>
+        <span style="padding-right: .3rem">学员共<i style="font-style: normal; color: #01C1B5">34</i>人</span>
+        <span>会员 <i style="font-style: normal; color: #FF802C">34</i>人</span>
+      </template>
+    </van-cell>
     <div class="container">
     <div class="container">
-      <!-- <div class="formGroup">
-        <div class="formTitle">课外训练标题</div>
-        <van-field type="text" placeholder="请输入(1-25字)" />
-      </div> -->
       <div class="formGroup">
       <div class="formGroup">
-           <div class="dot"></div>
-        <div class="formTitle">作业内容</div>
-        <van-field rows="8" v-model="content" type="textarea" placeholder="请输入(1-600字)" />
+        <div class="dot"></div>
+        <div class="formTitle">训练标题</div>
+        <van-field v-model="title" type="text" maxlength="25" show-word-limit placeholder="请输入训练标题" />
+      </div>
+      <div class="formGroup">
+        <div class="dot"></div>
+        <div class="formTitle">训练内容</div>
+        <van-field rows="8" v-model="content" maxlength="600" show-word-limit type="textarea" placeholder="请输入训练内容" />
       </div>
       </div>
     </div>
     </div>
-    <van-cell class="endTime" title="作业提交截止时间" @click="onEndTime" is-link readonly placeholder="请选择截止时间" >
+    <van-cell class="endTime" title="训练提交截止时间" @click="onEndTime" is-link readonly placeholder="请选择截止时间" >
       <template #default>
       <template #default>
         {{ dateSection.showStartDate }}
         {{ dateSection.showStartDate }}
-         <!-- <span class="arrowDown"></span> -->
       </template>
       </template>
     </van-cell>
     </van-cell>
-    <van-cell class="endTime" title="作业曲目" @click="accompanimentStatus = true" readonly is-link placeholder="请选择作业曲目" >
+
+    <div class="accompanyHeader">
+      云教练曲目选择<span>(若作业内容非云教练曲目则无需选择)</span>
+    </div>
+    <van-tabs class="van-hairline--bottom" v-model="tabActive" color="#01C1B5">
+      <van-tab title="长笛" name="1"></van-tab>
+      <van-tab title="单簧管" name="2"></van-tab>
+    </van-tabs>
+    <van-cell class="endTime" style="margin-top: 0;" title="训练曲目" @click="accompanimentStatus = true" readonly is-link placeholder="请选择训练曲目" >
       <template #default>
       <template #default>
         {{ dateSection.musicScoreName }}
         {{ dateSection.musicScoreName }}
-         <!-- <span class="arrowDown"></span> -->
       </template>
       </template>
     </van-cell>
     </van-cell>
+    <div class="addAccompaniment">
+      <van-icon name="plus" size="16px" />增加云教练训练曲目
+    </div>
+
     <div class="button-group">
     <div class="button-group">
       <van-button type="primary" round size="large" @click="onSubmit">确定</van-button>
       <van-button type="primary" round size="large" @click="onSubmit">确定</van-button>
     </div>
     </div>
@@ -63,7 +85,6 @@ export default {
     let tempDate = new Date() // 默认显示T+3
     let tempDate = new Date() // 默认显示T+3
     tempDate.setDate(tempDate.getDate() + 3)
     tempDate.setDate(tempDate.getDate() + 3)
     return {
     return {
-      that: this,
       headerStatus: true,
       headerStatus: true,
       backUrl: {
       backUrl: {
         status: true,
         status: true,
@@ -80,9 +101,11 @@ export default {
         musicScoreId: null,
         musicScoreId: null,
         musicScoreName: null,
         musicScoreName: null,
       },
       },
+      title: null,
       content: null, // 课程编号
       content: null, // 课程编号
       expiryDate: null, // 作业截止日期
       expiryDate: null, // 作业截止日期
       accompanimentStatus: false, // 伴奏弹窗
       accompanimentStatus: false, // 伴奏弹窗
+      tabActive: 'changDi'
     };
     };
   },
   },
   mounted() {
   mounted() {
@@ -95,7 +118,6 @@ export default {
     if(browser().android || browser().iPhone) {
     if(browser().android || browser().iPhone) {
       this.headerStatus = false
       this.headerStatus = false
     }
     }
-
   },
   },
   methods: {
   methods: {
     formatter(type, val) {
     formatter(type, val) {
@@ -179,7 +201,11 @@ export default {
 
 
 
 
 .container {
 .container {
-  background: #ffffff;
+  .formGroup {
+    position: relative;
+    margin-top: .1rem;
+    background: #ffffff;
+  }
   .formTitle {
   .formTitle {
     padding: .12rem .21rem 0;
     padding: .12rem .21rem 0;
     font-size: .16rem;
     font-size: .16rem;
@@ -193,7 +219,6 @@ export default {
   .van-cell__title {
   .van-cell__title {
     font-size: .16rem;
     font-size: .16rem;
     color: #1A1A1A;
     color: #1A1A1A;
- 
   }
   }
 
 
   /deep/.van-cell__value {
   /deep/.van-cell__value {
@@ -224,11 +249,33 @@ export default {
   background: #01c1b5;
   background: #01c1b5;
   border-radius: 3px;
   border-radius: 3px;
   position: absolute;
   position: absolute;
-  z-index: 200;
+  z-index: 98;
   top: .15rem;
   top: .15rem;
   left: 0.12rem;
   left: 0.12rem;
 }
 }
-.formGroup {
-  position: relative;
+
+/deep/.van-tab {
+  font-size: 16px;
 }
 }
+.accompanyHeader {
+  font-size: .14rem;
+  padding: .16rem .08rem .14rem;
+  color: #333;
+  font-weight: 500;
+  span {
+    color: #808080;
+  }
+}
+.addAccompaniment {
+  width: 80%;
+  height: .42rem;
+  line-height: .42rem;
+  text-align: center;
+  margin: .1rem auto 0;
+  border: 1px dashed #CCC;
+  background: #FBFBFB;
+  font-size: .14rem;
+  color: #666666;
+}
+
 </style>
 </style>

+ 95 - 28
src/views/audition/CourseEvaluation.vue

@@ -1,28 +1,42 @@
 <template>
 <template>
   <div style="overflow: hidden">
   <div style="overflow: hidden">
     <m-header v-if="headerStatus" />
     <m-header v-if="headerStatus" />
+    <div class="course-header">
+      <div class="title-info">
+        <span class="teachMode">线上</span>
+        <span :class="['courseType', classType]">{{ classType | coursesType }}</span>
+        <span style="font-size: .18rem; font-weight: 500; color: #333;line-height: 18px;vertical-align: middle;">{{ classGroupName }}</span>
+      </div>
+      <div class="title-time">
+        {{ classTimer }}
+      </div>
+    </div>
     <van-cell-group>
     <van-cell-group>
-      <van-cell title="课程班名称" :value="classGroupName" />
-           <van-cell title="课程类型">
-        <template #default>
-          {{ classType | coursesType }}
-        </template>
-      </van-cell>
-      <van-cell title="上课时间" :value="classTimer" />
-        <van-cell title="乐器" :value="subjectNames" />
+      <div class="dot"></div>
+      <!-- <van-button
+        type="primary"
+        :disabled="homeWork ? true : false"
+        v-if="enableAssignHomework"
+        round
+        @click="onWork(isAssignHomework)"
+        >{{ homeWork ? "已布置作业" : "布置作业" }}</van-button
+      > -->
+       <!-- v-if="enableAssignHomework" -->
+      <van-cell class="input" :is-link="homeWork ? true : false" title="课后训练" :value='homeWork ? "已布置" : "未布置"' @click="onWork(isAssignHomework)"></van-cell>
     </van-cell-group>
     </van-cell-group>
     <van-cell-group>
     <van-cell-group>
        <div class="dot"></div>
        <div class="dot"></div>
       <van-field
       <van-field
         required
         required
-        rows="4"
+        rows="3"
         class="textarea"
         class="textarea"
         v-model="teachingMaterial"
         v-model="teachingMaterial"
         maxlength="255"
         maxlength="255"
         autosize
         autosize
         label="教材内容"
         label="教材内容"
         type="textarea"
         type="textarea"
-        placeholder="请输入(1-255字)"
+        placeholder="请输入本课程学习内容"
+        show-word-limit
       />
       />
     </van-cell-group>
     </van-cell-group>
     <van-cell-group>
     <van-cell-group>
@@ -38,7 +52,7 @@
       />
       />
     </van-cell-group>
     </van-cell-group>
     <!-- <van-cell-group >
     <!-- <van-cell-group >
- 
+
     </van-cell-group> -->
     </van-cell-group> -->
     <!--   label="评价备注" -->
     <!--   label="评价备注" -->
     <van-cell-group>
     <van-cell-group>
@@ -52,6 +66,7 @@
             <van-rate
             <van-rate
               v-model="pronunciation"
               v-model="pronunciation"
               :size="25"
               :size="25"
+              color="#F7B500"
               void-color="#eee"
               void-color="#eee"
               void-icon="star"
               void-icon="star"
             />
             />
@@ -60,6 +75,7 @@
             <span class="text">节奏</span>
             <span class="text">节奏</span>
             <van-rate
             <van-rate
               :size="25"
               :size="25"
+              color="#F7B500"
               void-color="#eee"
               void-color="#eee"
               v-model="tempo"
               v-model="tempo"
               void-icon="star"
               void-icon="star"
@@ -70,6 +86,7 @@
             <van-rate
             <van-rate
               :size="25"
               :size="25"
               v-model="musicTheory"
               v-model="musicTheory"
+              color="#F7B500"
               void-color="#eee"
               void-color="#eee"
               void-icon="star"
               void-icon="star"
             />
             />
@@ -77,14 +94,15 @@
         </template>
         </template>
       </van-cell>
       </van-cell>
       <van-field
       <van-field
-        rows="4"
+        rows="3"
         required
         required
         class="textarea"
         class="textarea"
         maxlength="255"
         maxlength="255"
         v-model="memo"
         v-model="memo"
         autosize
         autosize
         type="textarea"
         type="textarea"
-        placeholder="请输入(1-255字)"
+        placeholder="请输入本课程学习内容"
+        show-word-limit
       />
       />
     </van-cell-group>
     </van-cell-group>
     <van-cell-group v-if="classType != 'VIP'">
     <van-cell-group v-if="classType != 'VIP'">
@@ -104,15 +122,16 @@
         >提交评价</van-button
         >提交评价</van-button
       >
       >
     </div>
     </div>
-    <div class="button-group btn-operation" v-if="reviewId">
-      <van-button
+    <!--  btn-operation -->
+    <div class="button-group" v-if="reviewId">
+      <!-- <van-button
         type="primary"
         type="primary"
         :disabled="homeWork ? true : false"
         :disabled="homeWork ? true : false"
         v-if="enableAssignHomework"
         v-if="enableAssignHomework"
         round
         round
         @click="onWork(isAssignHomework)"
         @click="onWork(isAssignHomework)"
         >{{ homeWork ? "已布置作业" : "布置作业" }}</van-button
         >{{ homeWork ? "已布置作业" : "布置作业" }}</van-button
-      >
+      > -->
       <van-button type="primary" round class="btn-plain" @click="submitReview"
       <van-button type="primary" round class="btn-plain" @click="submitReview"
         >修改评价</van-button
         >修改评价</van-button
       >
       >
@@ -191,7 +210,7 @@ export default {
       this.$toast("课程信息错误");
       this.$toast("课程信息错误");
     }
     }
   },
   },
-  mounted() {
+  async mounted() {
     let params = this.$route.query;
     let params = this.$route.query;
     if (params.Authorization) {
     if (params.Authorization) {
       localStorage.setItem("Authorization", decodeURI(params.Authorization));
       localStorage.setItem("Authorization", decodeURI(params.Authorization));
@@ -209,7 +228,7 @@ export default {
         forbidClick: true,
         forbidClick: true,
         loadingType: "spinner",
         loadingType: "spinner",
       });
       });
-      getReviewInfo({ id: this.reviewId }).then((res) => {
+      await getReviewInfo({ id: this.reviewId }).then((res) => {
         this.$toast.clear();
         this.$toast.clear();
         if (res.data.code == 200) {
         if (res.data.code == 200) {
           let result = res.data.data;
           let result = res.data.data;
@@ -237,7 +256,7 @@ export default {
         }
         }
       });
       });
     } else {
     } else {
-      getCourseInfoHead({ courseId: this.courseId }).then((res) => {
+      await getCourseInfoHead({ courseId: this.courseId }).then((res) => {
         if (res.data.code == 200) {
         if (res.data.code == 200) {
           let result = res.data.data;
           let result = res.data.data;
           this.classTimer =
           this.classTimer =
@@ -251,7 +270,7 @@ export default {
         }
         }
       });
       });
     }
     }
-    checkeIsAssignHomework({ courseScheduleId: this.courseId }).then((res) => {
+    await checkeIsAssignHomework({ courseScheduleId: this.courseId }).then((res) => {
       let result = res.data;
       let result = res.data;
       if (result.code == 200) {
       if (result.code == 200) {
         let tempData = result.data || {}
         let tempData = result.data || {}
@@ -267,6 +286,11 @@ export default {
         this.$toast(result.msg);
         this.$toast(result.msg);
       }
       }
     });
     });
+
+    let courseEvaluationObj = sessionStorage.getItem('courseEvaluationObj')
+    courseEvaluationObj = courseEvaluationObj ? JSON.parse(courseEvaluationObj) : null
+    // if()
+    // console.log(courseEvaluationObj)
   },
   },
   methods: {
   methods: {
     submitReview() {
     submitReview() {
@@ -279,7 +303,7 @@ export default {
         return;
         return;
       }
       }
       if (!this.memo) {
       if (!this.memo) {
-        this.$toast("请输入备注");
+        this.$toast("请输入本课程学习内容");
         return;
         return;
       }
       }
       // VIP课程是没有双向沟通的
       // VIP课程是没有双向沟通的
@@ -331,6 +355,18 @@ export default {
       }
       }
     },
     },
     onWork(isAssignHomework) {
     onWork(isAssignHomework) {
+      const obj = {
+        teachingMaterial: this.teachingMaterial, //教材
+        song: this.song, // 曲目
+        pronunciation: this.pronunciation, // 发音
+        tempo: this.tempo, //节奏
+        musicTheory: this.musicTheory, // 乐理
+        memo: this.memo, // 备注
+        // homeWork: this.homeWork,
+        hasLiaison: this.hasLiaison,
+        handHomework: this.handHomework,
+        courseScheduleId: this.courseId,
+      }
       if (isAssignHomework == 1) {
       if (isAssignHomework == 1) {
         this.$dialog
         this.$dialog
           .confirm({
           .confirm({
@@ -339,23 +375,27 @@ export default {
           })
           })
           .then(() => {
           .then(() => {
             // on confirm
             // on confirm
-            this.$router.replace({
+            sessionStorage.setItem('courseEvaluationObj', JSON.stringify(obj))
+            this.$router.push({
               path: "/arrangeWork",
               path: "/arrangeWork",
               query: {
               query: {
                 courseId: this.courseId,
                 courseId: this.courseId,
-                memberNum: this.memberStatus
-              },
+                memberNum: this.memberStatus,
+                ...this.$route.query
+              }
             });
             });
           })
           })
           .catch(() => {
           .catch(() => {
             // on cancel
             // on cancel
           });
           });
       } else {
       } else {
-        this.$router.replace({
+        sessionStorage.setItem('courseEvaluationObj', JSON.stringify(obj))
+        this.$router.push({
           path: "/arrangeWork",
           path: "/arrangeWork",
           query: {
           query: {
             courseId: this.courseId,
             courseId: this.courseId,
-            memberNum: this.memberStatus
+            memberNum: this.memberStatus,
+            ...this.$route.query
           },
           },
         });
         });
       }
       }
@@ -387,7 +427,7 @@ export default {
 @import url("../../assets/commonLess/variable.less");
 @import url("../../assets/commonLess/variable.less");
 
 
 /deep/.van-cell-group {
 /deep/.van-cell-group {
-  margin-top: 0.15rem;
+  margin-top: 0.1rem;
 }
 }
 /deep/.van-cell {
 /deep/.van-cell {
   padding: 16px 16px;
   padding: 16px 16px;
@@ -429,6 +469,9 @@ export default {
     width: 100%;
     width: 100%;
   }
   }
 }
 }
+.input {
+  padding:16px .21rem;
+}
 .twoConnect {
 .twoConnect {
   width: 55%;
   width: 55%;
 }
 }
@@ -473,6 +516,18 @@ export default {
   }
   }
 }
 }
 
 
+.course-header {
+  margin-top: .1rem;
+  background: #fff;
+  padding: 16px 0.21rem 16px .12rem;
+  .title-info {
+    padding-bottom: 10px;
+  }
+  .title-time {
+    color: #a1a1a1;
+  }
+}
+
 .van-popup {
 .van-popup {
   width: 90%;
   width: 90%;
   border-radius: 0.05rem;
   border-radius: 0.05rem;
@@ -530,7 +585,7 @@ export default {
   background: #01c1b5;
   background: #01c1b5;
   border-radius: 3px;
   border-radius: 3px;
   position: absolute;
   position: absolute;
-  z-index: 200;
+  z-index: 98;
   top: 19px;
   top: 19px;
   left: 0.12rem;
   left: 0.12rem;
 }
 }
@@ -563,4 +618,16 @@ textarea:-ms-input-placeholder {
   color: #777 !important;
   color: #777 !important;
   font-size: .14rem;
   font-size: .14rem;
 }
 }
+
+.teachMode {
+    background: #F2FFFC;
+    border-radius: .03rem;
+    border: 1px solid #01C1B5;
+    font-size: 12px;
+    color: #01C1B5;
+    display: inline-block;
+    // height: 16px;
+    line-height: 16px;
+    padding: 0 5px;
+}
 </style>
 </style>