Pārlūkot izejas kodu

Update teamBaseInfo.vue

lex 1 gadu atpakaļ
vecāks
revīzija
bcf2dbd03e
1 mainītis faili ar 168 papildinājumiem un 106 dzēšanām
  1. 168 106
      src/views/teamBuild/components/teamBaseInfo.vue

+ 168 - 106
src/views/teamBuild/components/teamBaseInfo.vue

@@ -96,8 +96,13 @@
             <p style="position: relative; display: inline-block">
               教学地点
               <el-tooltip placement="top" popper-class="mTooltip">
-                <div slot="content">如果已生成课表,则会修改未上课时的教学点</div>
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <div slot="content">
+                  如果已生成课表,则会修改未上课时的教学点
+                </div>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
             </p>
           </template>
@@ -199,8 +204,15 @@
 
           </el-select>
         </el-form-item> -->
-        <el-form-item label="机构类型" prop="ownershipType" v-if="tenantId == 1">
-          <el-select v-model.trim="topFrom.ownershipType" :disabled="basdisabled">
+        <el-form-item
+          label="机构类型"
+          prop="ownershipType"
+          v-if="tenantId == 1"
+        >
+          <el-select
+            v-model.trim="topFrom.ownershipType"
+            :disabled="basdisabled"
+          >
             <el-option label="自有" value="OWN"></el-option>
             <el-option label="三方" value="COOPERATION"></el-option>
             <!-- <el-option label="租赁"
@@ -253,7 +265,12 @@
           prop="teacher"
           :rules="[{ required: true, message: '乐团主管不能为空' }]"
         >
-          <el-select v-model.trim="topFrom.teacher" :disabled="true" filterable clearable>
+          <el-select
+            v-model.trim="topFrom.teacher"
+            :disabled="true"
+            filterable
+            clearable
+          >
             <el-option
               v-for="(item, key) in educationList"
               :key="key"
@@ -384,8 +401,8 @@
               {
                 pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
                 message: '请输入正确的金额',
-                trigger: 'blur',
-              },
+                trigger: 'blur'
+              }
             ]"
           >
             <el-input
@@ -393,7 +410,9 @@
               placeholder="请输入收费标准"
               :disabled="basdisabled"
             >
-              <i slot="suffix" class="el-input__icon" style="padding-right: 5px">元</i>
+              <i slot="suffix" class="el-input__icon" style="padding-right: 5px"
+                >元</i
+              >
             </el-input>
           </el-form-item>
           <el-form-item
@@ -403,17 +422,19 @@
               { required: true, message: '请输入单次训练时长' },
               {
                 pattern: /(^[0-9+]*$)/,
-                message: '请输入正确的时长',
-              },
+                message: '请输入正确的时长'
+              }
             ]"
           >
             <el-select
+              ref="singleTrainMinutesRef"
               v-model.trim="topFrom.singleTrainMinutes"
               filterable
               :disabled="basdisabled"
               allow-create
               default-first-option
               clearable
+              @blur="onSingleTrainMin"
             >
               <el-option
                 v-for="(item, index) in singleTrainMinutesList"
@@ -429,10 +450,14 @@
             :rules="[{ required: true, message: '请选择课程配置' }]"
           >
             <el-select
+              ref="coursePlanRef"
               v-model.trim="topFrom.coursePlan"
               filterable
               :disabled="basdisabled"
+              allow-create
+              default-first-option
               clearable
+              @blur="onCoursePlan"
             >
               <el-option
                 v-for="(item, index) in coursePlanList"
@@ -460,9 +485,9 @@
                 :value="item.value"
                 :disabled="
                   item.value <=
-                  (topFrom.firstRecruitGrade.length > 0
-                    ? Math.max(...topFrom.firstRecruitGrade)
-                    : 0)
+                    (topFrom.firstRecruitGrade.length > 0
+                      ? Math.max(...topFrom.firstRecruitGrade)
+                      : 0)
                 "
               ></el-option>
             </el-select>
@@ -535,7 +560,10 @@
                 <div slot="content">
                   学员提交乐团课后作业时,群聊中是否发送作业提交消息
                 </div>
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
             </p>
           </template>
@@ -558,7 +586,10 @@
               是否赠送辅件
               <el-tooltip placement="top" popper-class="mTooltip">
                 <div slot="content">购买团练宝是否赠送辅件</div>
-                <i class="el-icon-question" style="font-size: 18px; color: #f56c6c"></i>
+                <i
+                  class="el-icon-question"
+                  style="font-size: 18px; color: #f56c6c"
+                ></i>
               </el-tooltip>
             </p>
           </template>
@@ -624,7 +655,11 @@
         <div class="nextBtn" @click="gotoNext()" v-if="!basdisabled">
           {{ this.teamStatus == "teamDraft" ? "下一步" : "保存" }}
         </div>
-        <div class="nextBtn" v-if="this.teamStatus == 'teamAudit'" @click="gotoNext()">
+        <div
+          class="nextBtn"
+          v-if="this.teamStatus == 'teamAudit'"
+          @click="gotoNext()"
+        >
           下一步
         </div>
       </div>
@@ -644,7 +679,7 @@ import {
   getOrganRole,
   getTeacher,
   createTeam,
-  getGradeList,
+  getGradeList
 } from "@/api/buildTeam";
 import dayjs from "dayjs";
 import merge from "webpack-merge";
@@ -656,7 +691,7 @@ import { getMusicGroupPlanMakingList } from "@/views/baseRulesManager/api";
 import mergeMusic from "../components/merge-music";
 const singleTrainMinutesList = [
   { name: "90+90", id: "90+90" },
-  { name: "90+90+45", id: "90+90+45" },
+  { name: "90+90+45", id: "90+90+45" }
 ];
 const coursePlanList = [
   { name: "PlanS", id: "PlanS" },
@@ -664,12 +699,12 @@ const coursePlanList = [
   { name: "PlanB", id: "PlanB" },
   { name: "PlanC", id: "PlanC" },
   { name: "PlanD", id: "PlanD" },
-  { name: "PlanE", id: "PlanE" },
+  { name: "PlanE", id: "PlanE" }
 ];
 export default {
   components: {
     mergeMusic,
-    qrCode,
+    qrCode
   },
   name: "teamBaseInfo",
   props: ["getTeamList"],
@@ -714,13 +749,13 @@ export default {
         saleActivityDesc: "", // 销售活动描述
         basicStudentNum: "", // 学生基数
         paymentUserType: "", // 缴费方
-        chargeMode: "", // 计费方式
+        chargeMode: "" // 计费方式
       },
       baseInfo: {},
       money: 580,
       orderInfo: {
         marketPrice: 0, // 原价总金额
-        referencePrice: 0, // 现价总金额
+        referencePrice: 0 // 现价总金额
       }, // 金额列表,金额计算
       sectionList: [], // 分部列表
       cooperationList: [], // 教学点列表
@@ -746,19 +781,21 @@ export default {
       paymentStatus: false,
 
       paymentForm: {
-        paymentExpireDate: null,
+        paymentExpireDate: null
         // feeType: null
       },
       paymentRules: {
         paymentExpireDate: [
-          { required: true, message: "请设置缴费截止日期", trigger: "blur" },
-        ],
+          { required: true, message: "请设置缴费截止日期", trigger: "blur" }
+        ]
       },
       extendForm: {
-        expireDate: null,
+        expireDate: null
       },
       extendRule: {
-        expireDate: [{ required: true, message: "请选择延长时间", trigger: "change" }],
+        expireDate: [
+          { required: true, message: "请选择延长时间", trigger: "change" }
+        ]
       },
       isPay: false,
       extendPaymentStatus: false, // 延长缴费
@@ -768,7 +805,7 @@ export default {
       tenantId: "",
       coursePlanList: coursePlanList,
       musicGroupPlanMakingList: [],
-      singleTrainMinutesList: singleTrainMinutesList,
+      singleTrainMinutesList: singleTrainMinutesList
     };
   },
   created() {},
@@ -837,7 +874,7 @@ export default {
             cancelButtonText: "否",
             type: "warning",
             closeOnClickModal: false,
-            distinguishCancelAndClose: true,
+            distinguishCancelAndClose: true
           })
             .then(async () => {
               // localStorage.setItem(
@@ -848,7 +885,7 @@ export default {
               console.log(b);
               return b;
             })
-            .catch((e) => {
+            .catch(e => {
               console.log(e);
               if (e == "close") {
                 return false;
@@ -868,8 +905,18 @@ export default {
         return true;
       }
     },
+    onSingleTrainMin() {
+      console.log(
+        this.$refs.singleTrainMinutesRef,
+        "this.$refs.singleTrainMinutesRef"
+      );
+      this.topFrom.singleTrainMinutes = this.$refs.singleTrainMinutesRef.selectedLabel;
+    },
+    onCoursePlan() {
+      this.topFrom.coursePlan = this.$refs.coursePlanRef.selectedLabel;
+    },
     //|| this.teamStatus === 'teamAudit'
-    isNotEditing: function () {
+    isNotEditing: function() {
       return !(
         this.teamStatus === "teamDraft" ||
         this.teamStatus === "newTeam" ||
@@ -898,7 +945,7 @@ export default {
             return time.getTime() + 86400000 < Date.now();
             //开始时间不选时,结束时间最大值小于等于当天
           }
-        },
+        }
       };
     },
     init() {
@@ -918,7 +965,7 @@ export default {
       // }
 
       // 获取建团编制
-      getMusicGroupPlanMakingList().then((res) => {
+      getMusicGroupPlanMakingList().then(res => {
         if (res.code == 200) {
           this.musicGroupPlanMakingList = res.data;
         }
@@ -941,10 +988,12 @@ export default {
         // 单团修改
         this.teamid = this.$route.query.id;
 
-        let sotrage = JSON.parse(localStorage.getItem(`${this.$route.query.id}base`));
+        let sotrage = JSON.parse(
+          localStorage.getItem(`${this.$route.query.id}base`)
+        );
 
         if (!sotrage?.section) {
-          getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
+          getTeamBaseInfo({ musicGroupId: this.teamid }).then(res => {
             if (res.code == 200) {
               // if (this.$listeners.getBaseInfo) {
               //   this.$listeners.getBaseInfo(res.data);
@@ -983,7 +1032,7 @@ export default {
       this.getStudentStatus();
       this.$emit("getName", this.topFrom?.name);
 
-      Promise.all([getEmployeeOrgan()]).then((values) => {
+      Promise.all([getEmployeeOrgan()]).then(values => {
         console.log(values, "--------");
         if (values[0].code == 200) {
           this.sectionList = values[0].data;
@@ -1033,7 +1082,7 @@ export default {
       // 获取乐团主管
       try {
         const ruselt = await getOrganRole({
-          id: val,
+          id: val
         });
         // 乐团主管
         this.educationList = ruselt?.data?.EDUCATION;
@@ -1046,52 +1095,53 @@ export default {
         console.log(e);
       }
       // 获取指导老师
-      getTeacher({ organId: val }).then((res) => {
+      getTeacher({ organId: val }).then(res => {
         if (res.code == 200) {
           this.teacherList = res.data;
         }
       });
       // 获取年级
-      getGradeList({ id: val }).then((res) => {
+      getGradeList({ id: val }).then(res => {
         let result = res.data;
         this.gradeListObj = res.data;
         if (res.code == 200 && result) {
           for (let i in result) {
             this.gradeList.push({
               value: i,
-              label: result[i],
+              label: result[i]
             });
           }
         }
       });
-      Promise.all([queryByOrganId({ organId: val }), getSchool({ organId: val })]).then(
-        (values) => {
-          if (values[0].code == 200) {
-            this.cooperationList = values[0].data;
-          }
-          if (values[1].code == 200) {
-            this.addList = values[1].data;
-          }
-          let arr = [];
-          if (this.cooperationList.length <= 0) {
-            arr.push("cooperationOrgan");
-          }
-          if (this.addList.length <= 0) {
-            arr.push("school");
-          }
-          if (arr.length > 0) {
-            this.$bus.$emit("showguide", arr);
-            return;
-          }
+      Promise.all([
+        queryByOrganId({ organId: val }),
+        getSchool({ organId: val })
+      ]).then(values => {
+        if (values[0].code == 200) {
+          this.cooperationList = values[0].data;
         }
-      );
+        if (values[1].code == 200) {
+          this.addList = values[1].data;
+        }
+        let arr = [];
+        if (this.cooperationList.length <= 0) {
+          arr.push("cooperationOrgan");
+        }
+        if (this.addList.length <= 0) {
+          arr.push("school");
+        }
+        if (arr.length > 0) {
+          this.$bus.$emit("showguide", arr);
+          return;
+        }
+      });
     },
     chioseSchool(val) {
       // 清除教学点
       this.topFrom.teacher = null;
       if (val) {
         console.log(this.cooperationList);
-        this.cooperationList.forEach((item) => {
+        this.cooperationList.forEach(item => {
           if (item.id == val) {
             console.log(item);
             this.$set(this.topFrom, "teacher", item.educationUserId);
@@ -1205,12 +1255,12 @@ export default {
               basicStudentNum: this.topFrom.basicStudentNum,
               paymentUserType: this.topFrom.paymentUserType,
               chargeMode: this.topFrom.chargeMode,
-              gradeType: this.topFrom.gradeType,
+              gradeType: this.topFrom.gradeType
             };
             // obj.musicGroupPaymentEntities = [];
             // createTeam
             if (this.teamStatus != "newTeam") {
-              return await resetTeamBaseInfo(obj).then(async (res) => {
+              return await resetTeamBaseInfo(obj).then(async res => {
                 if (res.code == 200) {
                   localStorage.setItem(
                     `${this.teamid}base`,
@@ -1234,7 +1284,7 @@ export default {
               });
             } else {
               // 发送建团申请 成功后跳到第二页
-              createTeam(obj).then((res) => {
+              createTeam(obj).then(res => {
                 if (res.code == 200) {
                   // this.$message.success('建团成功,请设置声部信息')
                   // this.$emit("chiosetab", 1);
@@ -1243,13 +1293,13 @@ export default {
                     title: "提示",
                     message: h("p", null, [
                       h("p", null, "新乐团基础信息创建完成"),
-                      h("p", null, "请设置声部信息"),
+                      h("p", null, "请设置声部信息")
                     ]),
                     type: "warning",
                     confirmButtonText: "是",
                     cancelButtonText: "否",
                     showCancelButton: true,
-                    customClass: "messageBox-prompt-test",
+                    customClass: "messageBox-prompt-test"
                   })
                     .then(() => {
                       this.$router.push(
@@ -1257,10 +1307,10 @@ export default {
                           query: merge(this.$route.query, {
                             type: "teamDraft",
                             id: res.data,
-                            team_status: "DRAFT",
-                          }),
+                            team_status: "DRAFT"
+                          })
                         },
-                        (router) => {
+                        router => {
                           console.log(router);
                           router.meta.title = "乐团编辑中";
                         }
@@ -1276,10 +1326,10 @@ export default {
                           query: merge(this.$route.query, {
                             type: "teamDraft",
                             id: res.data,
-                            team_status: "DRAFT",
-                          }),
+                            team_status: "DRAFT"
+                          })
                         },
-                        (router) => {
+                        router => {
                           console.log(router);
                           router.meta.title = "乐团编辑中";
                         }
@@ -1335,7 +1385,7 @@ export default {
         saleActivityDesc: "",
         paymentUserType: "",
         chargeMode: "",
-        basicStudentNum: "",
+        basicStudentNum: ""
       };
       this.$refs["topinfo"].resetFields();
     },
@@ -1347,12 +1397,12 @@ export default {
       this.$confirm(`是否确认开团?`, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           musicGroupFound({
-            musicGroupId: this.$route.query.id,
-          }).then((res) => {
+            musicGroupId: this.$route.query.id
+          }).then(res => {
             if (res.code == 200) {
               // let query = this.$route.query;
               // this.$message.success("开启成功");
@@ -1375,12 +1425,12 @@ export default {
       let obj = {
         musicGroupId: this.teamid,
         page: 1,
-        rows: 9999,
+        rows: 9999
       };
       if (!this.teamid) return;
-      getStudentList(obj).then((res) => {
+      getStudentList(obj).then(res => {
         if (res.code == 200) {
-          res.data.rows.forEach((item) => {
+          res.data.rows.forEach(item => {
             // '未开启缴费', '开启缴费', '已缴费'
             if (item.paymentStatus == 2) {
               this.paymentNum += 1;
@@ -1405,18 +1455,18 @@ export default {
           } else {
             return false;
           }
-        },
+        }
       };
     },
     onStartPayment(formName) {
       // 开启缴费
-      this.$refs[formName].validate((valid) => {
+      this.$refs[formName].validate(valid => {
         if (valid) {
           musicGroupOpenPay({
             musicGroupId: this.teamid,
-            expireDate: this.paymentForm.paymentExpireDate,
+            expireDate: this.paymentForm.paymentExpireDate
             // feeType: this.paymentForm.feeType
-          }).then((res) => {
+          }).then(res => {
             if (res.code == 200) {
               this.$message.success("开启成功");
               this.paymentStatus = false;
@@ -1453,7 +1503,7 @@ export default {
           } else {
             return false;
           }
-        },
+        }
       };
     },
     extendTime(isPay) {
@@ -1469,17 +1519,17 @@ export default {
       this.extendPaymentStatus = true;
     },
     onExtendPayment(formName, isPay) {
-      this.$refs[formName].validate((valid) => {
+      this.$refs[formName].validate(valid => {
         if (valid) {
           if (!isPay) {
             extensionApplyExpire({
               musicGroupId: this.teamid,
-              expireDate: this.extendForm.expireDate,
-            }).then((res) => {
+              expireDate: this.extendForm.expireDate
+            }).then(res => {
               if (res.code == 200) {
                 this.$message.success("延长报名成功");
                 this.extendPaymentStatus = false;
-                getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
+                getTeamBaseInfo({ musicGroupId: this.teamid }).then(res => {
                   if (res.code == 200) {
                     this.applyExpireDate = res.data.musicGroup.applyExpireDate;
                     this.setBase(res);
@@ -1492,14 +1542,15 @@ export default {
           } else {
             extensionPayment({
               musicGroupId: this.teamid,
-              expireDate: this.extendForm.expireDate,
-            }).then((res) => {
+              expireDate: this.extendForm.expireDate
+            }).then(res => {
               if (res.code == 200) {
                 this.$message.success("延长缴费成功");
                 this.extendPaymentStatus = false;
-                getTeamBaseInfo({ musicGroupId: this.teamid }).then((res) => {
+                getTeamBaseInfo({ musicGroupId: this.teamid }).then(res => {
                   if (res.code == 200) {
-                    this.paymentExpireDate = res.data.musicGroup.paymentExpireDate;
+                    this.paymentExpireDate =
+                      res.data.musicGroup.paymentExpireDate;
                   }
                 });
               } else {
@@ -1534,7 +1585,7 @@ export default {
     },
     gotoStudentList() {
       this.$router.push({
-        query: merge(this.$route.query, { tabrouter: 7 }),
+        query: merge(this.$route.query, { tabrouter: 7 })
       });
       //  this.$router.replace({query:{...this.$route.query,tabrouter:7}})
     },
@@ -1544,8 +1595,10 @@ export default {
       this.topFrom.time = res.data.musicGroup.applyExpireDate;
       this.topFrom.startClass = res.data.musicGroup.enrollClasses.split(",");
       this.topFrom.paymentPattern = res.data.musicGroup.paymentPattern;
-      this.topFrom.paymentValidStartDate = res.data.musicGroup.paymentValidStartDate;
-      this.topFrom.paymentValidEndDate = res.data.musicGroup.paymentValidEndDate;
+      this.topFrom.paymentValidStartDate =
+        res.data.musicGroup.paymentValidStartDate;
+      this.topFrom.paymentValidEndDate =
+        res.data.musicGroup.paymentValidEndDate;
       this.topFrom.section = res.data.musicGroup.organId;
       this.topFrom.courseViewType = res.data.musicGroup.courseViewType;
       this.topFrom.school = res.data.musicGroup.cooperationOrganId;
@@ -1567,20 +1620,26 @@ export default {
         : null;
       this.paymentExpireDate = res.data.musicGroup.paymentExpireDate;
       this.applyExpireDate = res.data.musicGroup.applyExpireDate;
-      this.topFrom.transactionTeacherId = res.data.musicGroup.transactionTeacherId || "";
+      this.topFrom.transactionTeacherId =
+        res.data.musicGroup.transactionTeacherId || "";
       this.topFrom.homeworkPushFlag = res.data.musicGroup.homeworkPushFlag;
-      this.topFrom.isGiveAccessories = res.data.musicGroup.isGiveAccessories + "";
+      this.topFrom.isGiveAccessories =
+        res.data.musicGroup.isGiveAccessories + "";
       console.log(this.topFrom.isGiveAccessories, "isGiveAccessories");
-      this.topFrom.memberCourseShowFlag = res.data.musicGroup.memberCourseShowFlag
+      this.topFrom.memberCourseShowFlag = res.data.musicGroup
+        .memberCourseShowFlag
         ? 1
         : 0;
-      this.topFrom.extracurricularTeacher = res.data.musicGroup.extracurricularTeacher;
+      this.topFrom.extracurricularTeacher =
+        res.data.musicGroup.extracurricularTeacher;
 
-      this.topFrom.musicGroupPlanMakingId = res.data.musicGroup.musicGroupPlanMakingId;
+      this.topFrom.musicGroupPlanMakingId =
+        res.data.musicGroup.musicGroupPlanMakingId;
       this.topFrom.firstRecruitGrade = res.data.musicGroup.firstRecruitGrade
         ? res.data.musicGroup.firstRecruitGrade.split(",")
         : [];
-      this.topFrom.defaultChargeStandard = res.data.musicGroup.defaultChargeStandard;
+      this.topFrom.defaultChargeStandard =
+        res.data.musicGroup.defaultChargeStandard;
       this.topFrom.singleTrainMinutes = res.data.musicGroup.singleTrainMinutes;
       this.topFrom.coursePlan = res.data.musicGroup.coursePlan;
       this.topFrom.graduateGrade = res.data.musicGroup.graduateGrade + "";
@@ -1600,19 +1659,22 @@ export default {
       if (this.teamStatus == "newTeam" || this.teamStatus == "teamDraft") {
         return false;
       } else {
-        if (this.topFrom.courseViewType == 0 || this.topFrom.courseViewType == 1) {
+        if (
+          this.topFrom.courseViewType == 0 ||
+          this.topFrom.courseViewType == 1
+        ) {
           // val ==2
           return false;
         } else {
           return val == 0 || val == 1;
         }
       }
-    },
+    }
   },
   computed: {
     startClassString() {
       return this.topFrom.startClass
-        .map((item) => {
+        .map(item => {
           for (let i in this.classStatus) {
             if (item == this.classStatus[i].value) {
               return this.classStatus[i].label;
@@ -1630,8 +1692,8 @@ export default {
         teamStatus == "teamAudit" ||
         teamStatus == "feeAudit"
       );
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="scss">