Quellcode durchsuchen

修复导出和回访时间

1
mo vor 2 Jahren
Ursprung
Commit
f9f5ecc275

+ 71 - 102
src/views/resetTeaming/components/strudentPayInfo.vue

@@ -14,11 +14,7 @@
       <statistic-item>
         <span>状态</span>
         <span>
-          <p
-            class="status"
-            style="color: #ff6a6a"
-            v-if="info.paymentStatus == 'OPEN'"
-          >
+          <p class="status" style="color: #ff6a6a" v-if="info.paymentStatus == 'OPEN'">
             {{ "已开启" }}
           </p>
           <p
@@ -28,25 +24,13 @@
           >
             {{ "审核中" }}
           </p>
-          <p
-            class="status"
-            style="color: #ff6a6a"
-            v-if="info.paymentStatus == 'NO'"
-          >
+          <p class="status" style="color: #ff6a6a" v-if="info.paymentStatus == 'NO'">
             {{ "未开始" }}
           </p>
-          <p
-            class="status"
-            style="color: #5ccdb8"
-            v-if="info.paymentStatus == 'OVER'"
-          >
+          <p class="status" style="color: #5ccdb8" v-if="info.paymentStatus == 'OVER'">
             {{ "已结束" }}
           </p>
-          <p
-            class="status"
-            style="color: #5ccdb8"
-            v-if="info.paymentStatus == 'REJECT'"
-          >
+          <p class="status" style="color: #5ccdb8" v-if="info.paymentStatus == 'REJECT'">
             {{ "已拒绝" }}
           </p>
         </span>
@@ -130,7 +114,7 @@
           <el-input
             v-model.trim="searchForm.search"
             @keyup.enter.native="
-              e => {
+              (e) => {
                 e.target.blur();
                 $refs.searchForm.save();
                 search();
@@ -246,11 +230,7 @@
           :data="tableList"
           @selection-change="handleSelectionChange"
         >
-          <el-table-column
-            type="selection"
-            :selectable="checkSelect"
-            width="55"
-          >
+          <el-table-column type="selection" :selectable="checkSelect" width="55">
           </el-table-column>
           <el-table-column type="expand">
             <template slot-scope="props">
@@ -298,10 +278,7 @@
           <el-table-column align="center" label="学员状态">
             <template slot-scope="scope">
               <div v-if="scope.row.studentRegistration">
-                {{
-                  scope.row.studentRegistration.musicGroupStatus
-                    | studentTeamStatus
-                }}
+                {{ scope.row.studentRegistration.musicGroupStatus | studentTeamStatus }}
               </div>
             </template>
           </el-table-column>
@@ -491,11 +468,7 @@
           align="center"
           label="学员姓名"
         ></el-table-column>
-        <el-table-column
-          property="phone"
-          align="center"
-          label="手机号"
-        ></el-table-column>
+        <el-table-column property="phone" align="center" label="手机号"></el-table-column>
       </el-table>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancleAdd">取 消</el-button>
@@ -515,9 +488,7 @@
         :musicGroupId="$route.query.id"
       />
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="detailVisible = false"
-          >关闭</el-button
-        >
+        <el-button type="primary" @click="detailVisible = false">关闭</el-button>
       </div>
     </el-dialog>
 
@@ -579,7 +550,7 @@ import {
   queryCanAddStudent,
   addMusicGroupPaymentCalenderStudent,
   delMusicGroupPaymentCalenderStudent,
-  sendWaitRenewMessage
+  sendWaitRenewMessage,
 } from "@/api/buildTeam";
 let that;
 export default {
@@ -590,7 +561,7 @@ export default {
         search: null,
         subjectId: null,
         paymentStatus: null,
-        musicGroupStatus: null
+        musicGroupStatus: null,
       },
       teacherList: [],
       soundList: [],
@@ -600,7 +571,7 @@ export default {
         limit: 10, // 限制显示条数
         page: 1, // 当前页
         total: 0, // 总条数
-        page_size: [10, 20, 40, 50] // 选择限制显示条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
       payVisible: false,
       resetPayVisible: false,
@@ -611,14 +582,14 @@ export default {
         firstDayOfWeek: 1,
         disabledDate(time) {
           return time.getTime() + 86400000 <= new Date().getTime();
-        }
+        },
       },
       payForm: {
-        startDate: null
+        startDate: null,
       },
       resetPayForm: {
         momey: null,
-        expectMemberAmount: null
+        expectMemberAmount: null,
       },
       activeChiose: [],
       id: null,
@@ -629,7 +600,7 @@ export default {
         deadlinePaymentDate: null,
         expectNum: null,
         actualNum: null,
-        sumActualAmount: null
+        sumActualAmount: null,
       },
 
       msgList: [],
@@ -644,13 +615,13 @@ export default {
         memberPaymentAmount: "",
         memberRankSettingName: "",
         originalMemberPaymentAmount: "",
-        memberValidDate: ""
+        memberValidDate: "",
       },
       timerVisible: false,
       timerForm: {
         startPaymentDate: "",
-        deadlinePaymentDate: ""
-      }
+        deadlinePaymentDate: "",
+      },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
@@ -660,7 +631,7 @@ export default {
     // 获取声部
     that = this;
     this.teamid = this.$route.query.id;
-    findSound({ musicGroupId: this.teamid }).then(res => {
+    findSound({ musicGroupId: this.teamid }).then((res) => {
       if (res.code == 200) {
         this.soundList = res.data;
       }
@@ -670,7 +641,7 @@ export default {
   },
   activated() {
     this.teamid = this.$route.query.id;
-    findSound({ musicGroupId: this.teamid }).then(res => {
+    findSound({ musicGroupId: this.teamid }).then((res) => {
       if (res.code == 200) {
         this.soundList = res.data;
       }
@@ -684,7 +655,7 @@ export default {
     getList() {
       this.id = this.$route.query.paymentId;
       // 获取缴费状态
-      getMusicGroupPaymentCalenderDetail({ id: this.id }).then(res => {
+      getMusicGroupPaymentCalenderDetail({ id: this.id }).then((res) => {
         if (res.code == 200) {
           this.info = {
             paymentStatus: res.data.calender.status,
@@ -692,20 +663,18 @@ export default {
             deadlinePaymentDate: res.data.calender.deadlinePaymentDate,
             expectNum: res.data.calender.expectNum,
             actualNum: res.data.calender.actualNum,
-            sumActualAmount: res.data.sumActualAmount
+            sumActualAmount: res.data.sumActualAmount,
           };
           this.titleForm = {
             paymentType: res.data.calender.paymentType,
-            musicGroupOrganizationCourseSettingId:
-              res.data.calenderSettingsName,
+            musicGroupOrganizationCourseSettingId: res.data.calenderSettingsName,
             paymentValidStartDate: res.data.calender.paymentValidStartDate,
             paymentValidEndDate: res.data.calender.paymentValidEndDate,
             calenderSettingsName: res.data.calenderSettingsName,
             memberPaymentAmount: res.data.calender.memberPaymentAmount,
             memberRankSettingName: res.data.calender.memberRankSettingName,
-            originalMemberPaymentAmount:
-              res.data.calender.originalMemberPaymentAmount,
-            memberValidDate: res.data.calender.memberValidDate
+            originalMemberPaymentAmount: res.data.calender.originalMemberPaymentAmount,
+            memberValidDate: res.data.calender.memberValidDate,
           };
           this.msgList = res.data.musicGroupPaymentCalenderCourseSettings;
           this.memberRankSettingId = res.data?.calender?.memberRankSettingId;
@@ -714,7 +683,7 @@ export default {
       this.searchForm.id = this.id;
       this.searchForm.page = this.rules.page;
       this.searchForm.rows = this.rules.limit;
-      getmusicGroupPaymentCalenderDetail(this.searchForm).then(payment => {
+      getmusicGroupPaymentCalenderDetail(this.searchForm).then((payment) => {
         if (payment.code == 200) {
           this.rules.total = payment.data.total;
           this.tableList = payment.data.rows;
@@ -729,7 +698,8 @@ export default {
       this.searchForm = {
         search: null,
         subjectId: null,
-        paymentStatus: null
+        paymentStatus: null,
+        musicGroupStatus: null,
       };
       this.search();
     },
@@ -742,7 +712,7 @@ export default {
         this.$message.error("请至少选择一名学员");
         return;
       }
-      let ids = this.activeChiose.map(item => {
+      let ids = this.activeChiose.map((item) => {
         return item.id;
       });
       this.ids = ids.join(",");
@@ -757,13 +727,13 @@ export default {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
           path: "/business/resetTeaming",
-          query: { ...this.$route.query }
+          query: { ...this.$route.query },
         });
       } else if (query.type == "look") {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
           path: "/business/resetTeaming",
-          query: { ...this.$route.query }
+          query: { ...this.$route.query },
         });
       } else if (
         query.type == "teamDraft" ||
@@ -773,7 +743,7 @@ export default {
         this.$store.dispatch("delVisitedViews", this.$route);
         this.$router.push({
           path: "/business/resetTeaming",
-          query: { ...this.$route.query }
+          query: { ...this.$route.query },
         });
       }
     },
@@ -792,13 +762,13 @@ export default {
       // console.log(this.activeChiose)
     },
     submitReset() {
-      this.$refs.resetPayForm.validate(res => {
+      this.$refs.resetPayForm.validate((res) => {
         if (res) {
           let obj = {};
           obj.expectAmount = this.resetPayForm.momey;
           obj.expectMemberAmount = this.resetPayForm.expectMemberAmount;
           obj.ids = this.ids;
-          resetMusicGroupPaymentCalenderDetail(obj).then(res => {
+          resetMusicGroupPaymentCalenderDetail(obj).then((res) => {
             if (res.code == 200) {
               this.$message.success("修改成功");
               this.resetPayVisible = false;
@@ -809,17 +779,12 @@ export default {
       });
     },
     addStudentBtn() {
-      console.log(
-        "musicGroupId:",
-        this.teamid,
-        "musicGroupPaymentCalenderId:",
-        this.id
-      );
+      console.log("musicGroupId:", this.teamid, "musicGroupPaymentCalenderId:", this.id);
       // 获取无缴费学员
       queryCanAddStudent({
         musicGroupId: this.teamid,
-        musicGroupPaymentCalenderId: this.id
-      }).then(res => {
+        musicGroupPaymentCalenderId: this.id,
+      }).then((res) => {
         if (res.code == 200) {
           this.studentList = res.data;
           this.studentVisible = true;
@@ -834,17 +799,17 @@ export default {
       this.$confirm(`是否删除此学员`, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           let musicGroupPaymentCalenderDetailIds = this.activeChiose
-            .map(stu => {
+            .map((stu) => {
               return stu.id;
             })
             .join(",");
           delMusicGroupPaymentCalenderStudent({
-            musicGroupPaymentCalenderDetailIds
-          }).then(res => {
+            musicGroupPaymentCalenderDetailIds,
+          }).then((res) => {
             if (res.code == 200) {
               this.$message.success(`删除成功`);
               this.$set(this.rules, "page", 1);
@@ -864,8 +829,8 @@ export default {
       }
       addMusicGroupPaymentCalenderStudent({
         musicGroupPaymentCalenderId: this.id,
-        userId: this.chioseStudent.userId
-      }).then(res => {
+        userId: this.chioseStudent.userId,
+      }).then((res) => {
         if (res.code == 200) {
           this.$message.success("添加成功");
           this.studentVisible = false;
@@ -874,37 +839,41 @@ export default {
       });
     },
     onMusicGroupPaymentCalenderDetail() {
-      let searchForm = this.searchForm;
+      let { subjectId, paymentStatus, musicGroupStatus, search } = this.searchForm;
       // 报表导出
       let url = "/api-web/export/musicGroupPaymentCalenderDetail";
       let data = {
         id: this.$route.query.paymentId,
-        musicGroupId: this.$route.query.id
+        musicGroupId: this.$route.query.id,
+        subjectId,
+        paymentStatus,
+        musicGroupStatus,
+        search,
       };
       const options = {
         method: "POST",
         headers: {
           Authorization: getToken(),
-          tenantId: getTenantId()
+          tenantId: getTenantId(),
         },
         data: qs.stringify(cleanDeep(data)),
         url,
-        responseType: "blob"
+        responseType: "blob",
       };
       this.$confirm("您确定导出缴费记录", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           load.startLoading();
           axios(options)
-            .then(res => {
+            .then((res) => {
               let blob = new Blob([res.data], {
-                type: "application/vnd.ms-excel;charset=utf-8"
+                type: "application/vnd.ms-excel;charset=utf-8",
               });
               let text = new Response(blob).text();
-              text.then(res => {
+              text.then((res) => {
                 // 判断是否报错
                 if (res.indexOf("code") != -1) {
                   let json = JSON.parse(res);
@@ -931,7 +900,7 @@ export default {
 
               load.endLoading();
             })
-            .catch(error => {
+            .catch((error) => {
               this.$message.error("导出数据失败,请联系管理员");
               load.endLoading();
             });
@@ -950,7 +919,7 @@ export default {
       let submitArr = [];
       let msgArr = "";
       let str = "";
-      this.activeChiose.forEach(item => {
+      this.activeChiose.forEach((item) => {
         if (item.open) {
           submitArr.push(item.userId);
         } else {
@@ -967,13 +936,13 @@ export default {
       this.$confirm(str, "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(async () => {
           try {
             const res = await sendWaitRenewMessage({
               studentIds: submitArr.join(","),
-              calenderId: this.$route.query.paymentId
+              calenderId: this.$route.query.paymentId,
             });
             this.$message.success("提醒成功");
             this.getList();
@@ -985,17 +954,17 @@ export default {
       this.timerForm.deadlinePaymentDate = "";
     },
     async submitPayTimer() {
-      this.$refs.timerForm.validate(flag => {
+      this.$refs.timerForm.validate((flag) => {
         if (flag) {
-          let ids = this.activeChiose.map(item => {
+          let ids = this.activeChiose.map((item) => {
             return item.id;
           });
           ids = ids.join(",");
           // console.log(ids)
           openMusicGroupPaymentCalenderDetailPayment({
             ids,
-            ...this.timerForm
-          }).then(res => {
+            ...this.timerForm,
+          }).then((res) => {
             if (res.code == 200) {
               this.$message.success(res.msg);
               this.timerVisible = false;
@@ -1005,13 +974,13 @@ export default {
           });
         }
       });
-    }
+    },
   },
   watch: {
     payVisible(val) {
       if (!val) {
         this.payForm = {
-          startDate: null
+          startDate: null,
         };
         this.$refs["payForm"].resetFields();
       }
@@ -1019,7 +988,7 @@ export default {
     resetPayVisible(val) {
       if (!val) {
         this.resetPayForm = {
-          momey: null
+          momey: null,
         };
       }
     },
@@ -1027,7 +996,7 @@ export default {
       if (!val) {
         this.$refs.timerForm.resetFields();
       }
-    }
+    },
   },
   computed: {
     payendTimer: () => {
@@ -1042,10 +1011,10 @@ export default {
           } else {
             return time.getTime() + 86400000 <= new Date().getTime();
           }
-        }
+        },
       };
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>

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

@@ -15,10 +15,7 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="乐团名称">
-            <overflow-text
-              :text="quitForm.musicGroupName"
-              width="150px"
-            ></overflow-text>
+            <overflow-text :text="quitForm.musicGroupName" width="150px"></overflow-text>
             <!-- <span>{{}}</span>   -->
           </el-form-item>
         </el-col>
@@ -26,16 +23,10 @@
 
       <el-row>
         <el-form-item label="是否回访" prop="isVisit">
-          <el-radio
-            v-model.trim="quitForm.isVisit"
-            :label="true"
-            :disabled="isDisabled"
+          <el-radio v-model.trim="quitForm.isVisit" :label="true" :disabled="isDisabled"
             >是</el-radio
           >
-          <el-radio
-            :disabled="isDisabled"
-            v-model.trim="quitForm.isVisit"
-            :label="false"
+          <el-radio :disabled="isDisabled" v-model.trim="quitForm.isVisit" :label="false"
             >否</el-radio
           >
         </el-form-item>
@@ -44,6 +35,7 @@
           label="回访时间"
           v-if="quitForm.isVisit"
           :rules="[{ required: true, message: '请选择回访回访时间' }]"
+          prop="visitTime"
         >
           <el-date-picker
             :disabled="isDisabled"
@@ -242,10 +234,7 @@
         </el-row>
         <el-row>
           <el-form-item label="退团原因" prop="reasonEnum">
-            <el-radio-group
-              v-model="quitForm.reasonEnum"
-              :disabled="isDisabled"
-            >
+            <el-radio-group v-model="quitForm.reasonEnum" :disabled="isDisabled">
               <el-radio-button
                 :label="item.value"
                 v-for="(item, index) in quiteReasonList"
@@ -280,7 +269,7 @@
   </div>
 </template>
 <script>
-import {quiteReasonList} from '@/utils/searchArray'
+import { quiteReasonList } from "@/utils/searchArray";
 export default {
   props: ["quitForm", "isDisabled"],
   mounted() {},
@@ -291,25 +280,16 @@ export default {
         cloudTeacherAmount: [
           { required: true, message: "请输入云教练金额", trigger: "blur" },
         ],
-        isRefundCourseFee: [
-          { required: true, message: "请选择是否退还课程费用" },
-        ],
-        isRefundInstrumentFee: [
-          { required: true, message: "选择是否退还乐器费用" },
-        ],
+        isRefundCourseFee: [{ required: true, message: "请选择是否退还课程费用" }],
+        isRefundInstrumentFee: [{ required: true, message: "选择是否退还乐器费用" }],
         isRefundTeachingAssistantsFee: [
           { required: true, message: "选择是否退还教辅费用" },
         ],
         isMaintenanceFee: [{ required: true, message: "选择是否退还乐保费用" }],
         maintenanceFee: [{ required: true, message: "请输入退还乐保金额" }],
         reason: [{ required: true, message: "请填写退团退费原因" }],
-        isRefundMemberFee: [
-          { required: true, message: "请选择是否退还会员费用" },
-        ],
-        reasonEnum:[
-          { required: true, message: "请选择退团原因" },
-        ]
-
+        isRefundMemberFee: [{ required: true, message: "请选择是否退还会员费用" }],
+        reasonEnum: [{ required: true, message: "请选择退团原因" }],
       },
       pickerOptions: {
         firstDayOfWeek: 1,
@@ -317,10 +297,9 @@ export default {
           return time.getTime() > new Date().getTime();
         },
       },
-      quiteReasonList
+      quiteReasonList,
     };
   },
 };
 </script>
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>