mo 2 yıl önce
ebeveyn
işleme
3c07583d5d

+ 111 - 152
src/views/teamBuild/components/teamBaseInfo.vue

@@ -96,13 +96,8 @@
             <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>
@@ -204,15 +199,8 @@
 
           </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="租赁"
@@ -242,12 +230,7 @@
           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"
@@ -356,6 +339,11 @@
               :disabled="basdisabled || !topFrom.section"
               clearable
               multiple
+              @change="
+                () => {
+                  topFrom.graduateGrade = null;
+                }
+              "
             >
               <el-option
                 v-for="(item, index) in gradeList"
@@ -373,8 +361,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
@@ -382,9 +370,7 @@
               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
@@ -394,8 +380,8 @@
               { required: true, message: '请输入单次训练时长' },
               {
                 pattern: /(^[0-9+]*$)/,
-                message: '请输入正确的时长'
-              }
+                message: '请输入正确的时长',
+              },
             ]"
           >
             <el-select
@@ -451,9 +437,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>
@@ -526,10 +512,7 @@
                 <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>
@@ -552,10 +535,7 @@
               是否赠送辅件
               <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>
@@ -621,11 +601,7 @@
         <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>
@@ -645,7 +621,7 @@ import {
   getOrganRole,
   getTeacher,
   createTeam,
-  getGradeList
+  getGradeList,
 } from "@/api/buildTeam";
 import dayjs from "dayjs";
 import merge from "webpack-merge";
@@ -657,7 +633,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" },
@@ -665,12 +641,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"],
@@ -715,13 +691,13 @@ export default {
         saleActivityDesc: "", // 销售活动描述
         basicStudentNum: "", // 学生基数
         paymentUserType: "", // 缴费方
-        chargeMode: "" // 计费方式
+        chargeMode: "", // 计费方式
       },
       baseInfo: {},
       money: 580,
       orderInfo: {
         marketPrice: 0, // 原价总金额
-        referencePrice: 0 // 现价总金额
+        referencePrice: 0, // 现价总金额
       }, // 金额列表,金额计算
       sectionList: [], // 分部列表
       cooperationList: [], // 教学点列表
@@ -747,21 +723,19 @@ 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, // 延长缴费
@@ -771,7 +745,7 @@ export default {
       tenantId: "",
       coursePlanList: coursePlanList,
       musicGroupPlanMakingList: [],
-      singleTrainMinutesList: singleTrainMinutesList
+      singleTrainMinutesList: singleTrainMinutesList,
     };
   },
   created() {},
@@ -839,7 +813,7 @@ export default {
             cancelButtonText: "否",
             type: "warning",
             closeOnClickModal: false,
-            distinguishCancelAndClose: true
+            distinguishCancelAndClose: true,
           })
             .then(async () => {
               // localStorage.setItem(
@@ -850,7 +824,7 @@ export default {
               console.log(b);
               return b;
             })
-            .catch(e => {
+            .catch((e) => {
               console.log(e);
               if (e == "close") {
                 return false;
@@ -871,7 +845,7 @@ export default {
       }
     },
     //|| this.teamStatus === 'teamAudit'
-    isNotEditing: function() {
+    isNotEditing: function () {
       return !(
         this.teamStatus === "teamDraft" ||
         this.teamStatus === "newTeam" ||
@@ -900,7 +874,7 @@ export default {
             return time.getTime() + 86400000 < Date.now();
             //开始时间不选时,结束时间最大值小于等于当天
           }
-        }
+        },
       };
     },
     init() {
@@ -920,7 +894,7 @@ export default {
       // }
 
       // 获取建团编制
-      getMusicGroupPlanMakingList().then(res => {
+      getMusicGroupPlanMakingList().then((res) => {
         if (res.code == 200) {
           this.musicGroupPlanMakingList = res.data;
         }
@@ -943,12 +917,10 @@ 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);
@@ -987,7 +959,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;
@@ -1037,7 +1009,7 @@ export default {
       // 获取乐团主管
       try {
         const ruselt = await getOrganRole({
-          id: val
+          id: val,
         });
         // 乐团主管
         this.educationList = ruselt?.data?.EDUCATION;
@@ -1050,53 +1022,52 @@ 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);
@@ -1209,12 +1180,12 @@ export default {
               saleActivityDesc: this.topFrom.saleActivityDesc,
               basicStudentNum: this.topFrom.basicStudentNum,
               paymentUserType: this.topFrom.paymentUserType,
-              chargeMode: this.topFrom.chargeMode
+              chargeMode: this.topFrom.chargeMode,
             };
             // 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`,
@@ -1238,7 +1209,7 @@ export default {
               });
             } else {
               // 发送建团申请 成功后跳到第二页
-              createTeam(obj).then(res => {
+              createTeam(obj).then((res) => {
                 if (res.code == 200) {
                   // this.$message.success('建团成功,请设置声部信息')
                   // this.$emit("chiosetab", 1);
@@ -1247,13 +1218,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(
@@ -1261,10 +1232,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 = "乐团编辑中";
                         }
@@ -1280,10 +1251,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 = "乐团编辑中";
                         }
@@ -1339,7 +1310,7 @@ export default {
         saleActivityDesc: "",
         paymentUserType: "",
         chargeMode: "",
-        basicStudentNum: ""
+        basicStudentNum: "",
       };
       this.$refs["topinfo"].resetFields();
     },
@@ -1351,12 +1322,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("开启成功");
@@ -1379,12 +1350,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;
@@ -1409,18 +1380,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;
@@ -1457,7 +1428,7 @@ export default {
           } else {
             return false;
           }
-        }
+        },
       };
     },
     extendTime(isPay) {
@@ -1473,17 +1444,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);
@@ -1496,15 +1467,14 @@ 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 {
@@ -1539,7 +1509,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}})
     },
@@ -1549,10 +1519,8 @@ 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;
@@ -1574,26 +1542,20 @@ 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 + "";
@@ -1613,22 +1575,19 @@ 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;
@@ -1646,8 +1605,8 @@ export default {
         teamStatus == "teamAudit" ||
         teamStatus == "feeAudit"
       );
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss">

+ 1 - 1
src/views/teamDetail/components/modals/quite-team.vue

@@ -34,7 +34,7 @@
         <el-form-item
           label="回访时间"
           v-if="quitForm.isVisit"
-          :rules="[{ required: true, message: '请选择回访回访时间' }]"
+          :rules="[{ required: true, message: '请选择回访时间' }]"
           prop="visitTime"
         >
           <el-date-picker