Selaa lähdekoodia

延长缴费有效期合退团申请

1
mo 3 vuotta sitten
vanhempi
commit
dd2c906c03

+ 100 - 14
src/views/resetTeaming/components/strudentPayInfo.vue

@@ -390,7 +390,10 @@
                     value="张三"></el-input>
         </el-form-item> -->
         <el-form-item
-          v-if="msgList.length > 0 || titleForm.paymentType == 'SPAN_GROUP_CLASS_ADJUST'"
+          v-if="
+            msgList.length > 0 ||
+            titleForm.paymentType == 'SPAN_GROUP_CLASS_ADJUST'
+          "
           label="预计课程金额"
           :rules="[
             { required: true, message: '请输入预计缴费金额', trigger: 'blur' },
@@ -463,6 +466,44 @@
     <el-dialog width="700px" title="查看缴费详情" :visible.sync="detailVisible">
       <studentPayDetail :msgList="msgList" :titleForm="titleForm" />
     </el-dialog>
+
+    <el-dialog width="400px" title="缴费时间" :visible.sync="timerVisible">
+      <el-form :model="timerForm" ref="timerForm">
+        <el-form-item
+          label="缴费开始时间"
+          :rules="[{ required: true, message: '请选择缴费开始时间' }]"
+          prop="startPaymentDate"
+        >
+          <el-date-picker
+            :picker-options="pickerOptions"
+            v-model="timerForm.startPaymentDate"
+            type="date"
+            placeholder="选择日期"
+            @change="changeStartTime"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item
+          label="缴费结束时间"
+          :rules="[{ required: true, message: '请选择缴费结束时间' }]"
+          prop="deadlinePaymentDate"
+        >
+          <el-date-picker
+            :picker-options="payendTimer"
+            v-model="timerForm.deadlinePaymentDate"
+            type="date"
+            placeholder="选择日期"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="timerVisible = false">取 消</el-button>
+        <el-button @click="submitPayTimer" type="primary">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -487,7 +528,7 @@ import {
   delMusicGroupPaymentCalenderStudent,
   sendWaitRenewMessage,
 } from "@/api/buildTeam";
-
+let that;
 export default {
   components: { pagination, studentPayDetail },
   data() {
@@ -514,6 +555,7 @@ export default {
       chioseStudent: null,
       studentList: [],
       pickerOptions: {
+        firstDayOfWeek: 1,
         disabledDate(time) {
           return time.getTime() + 86400000 <= new Date().getTime();
         },
@@ -552,6 +594,11 @@ export default {
         originalMemberPaymentAmount: "",
         memberValidDate: "",
       },
+      timerVisible: false,
+      timerForm: {
+        startPaymentDate: "",
+        deadlinePaymentDate: "",
+      },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
@@ -559,6 +606,7 @@ export default {
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
     // 获取声部
+    that = this;
     this.teamid = this.$route.query.id;
     findSound({ musicGroupId: this.teamid }).then((res) => {
       if (res.code == 200) {
@@ -684,19 +732,10 @@ export default {
         this.$message.error("请至少选择一名学员");
         return;
       }
-
+      // 来一个弹窗选择日期 开始-结束
+      this.timerVisible = true;
+      return;
       // console.log(this.activeChiose)
-      let ids = this.activeChiose.map((item) => {
-        return item.id;
-      });
-      ids = ids.join(",");
-      // console.log(ids)
-      openMusicGroupPaymentCalenderDetailPayment({ ids }).then((res) => {
-        if (res.code == 200) {
-          this.$message.success(res.msg);
-          this.getList();
-        }
-      });
     },
     submitReset() {
       this.$refs.resetPayForm.validate((res) => {
@@ -878,6 +917,31 @@ export default {
         })
         .catch(() => {});
     },
+    changeStartTime(val) {
+      this.timerForm.deadlinePaymentDate = "";
+    },
+    async submitPayTimer() {
+      this.$refs.timerForm.validate((flag) => {
+        if (flag) {
+          let ids = this.activeChiose.map((item) => {
+            return item.id;
+          });
+          ids = ids.join(",");
+          // console.log(ids)
+          openMusicGroupPaymentCalenderDetailPayment({
+            ids,
+            ...this.timerForm,
+          }).then((res) => {
+            if (res.code == 200) {
+              this.$message.success(res.msg);
+              this.timerVisible = false;
+
+              this.getList();
+            }
+          });
+        }
+      });
+    },
   },
   watch: {
     payVisible(val) {
@@ -895,6 +959,28 @@ export default {
         };
       }
     },
+    timerVisible(val) {
+      if (!val) {
+        this.$refs.timerForm.resetFields();
+      }
+    },
+  },
+  computed: {
+    payendTimer: () => {
+      return {
+        firstDayOfWeek: 1,
+        disabledDate(time) {
+          if (that.timerForm?.startPaymentDate) {
+            return (
+              time.getTime() + 86400000 <=
+              new Date(that.timerForm?.startPaymentDate).getTime()
+            );
+          } else {
+            return time.getTime() + 86400000 <= new Date().getTime();
+          }
+        },
+      };
+    },
   },
 };
 </script>

+ 24 - 4
src/views/withdrawal-application/index.vue

@@ -24,6 +24,24 @@
             placeholder="学员(乐团)编号"
           ></el-input>
         </el-form-item>
+        <el-form-item prop="organId">
+          <el-select
+            class="multiple"
+            style="width: 180px !important"
+            v-model.trim="searchForm.organId"
+            filterable
+            clearable
+            placeholder="请选择分部"
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
         <el-form-item>
           <el-select
             v-model="searchForm.status"
@@ -72,6 +90,7 @@
             scope.row.user.username
           }}</copy-text>
         </el-table-column>
+        <el-table-column prop="organName" label="所属分部"> </el-table-column>
         <el-table-column prop="musicGroupId" label="所属乐团">
           <copy-text slot-scope="scope">{{
             scope.row.musicGroup.name
@@ -280,6 +299,7 @@ import { withdrawalStatus } from "@/constant";
 const initSearch = {
   search: "",
   status: null,
+  organId: "",
 };
 export default {
   components: { pagination, quitModal, quitOnlyModal, visit },
@@ -318,10 +338,10 @@ export default {
       isDisabled: false,
     };
   },
-  mounted() {
+  async mounted() {
     let isSuperAdmin = this.$store.getters.isSuperAdmin;
     let roles = this.$store.getters.roles;
-    console.log(roles);
+    await this.$store.dispatch("setBranchs");
     if (isSuperAdmin) {
       this.isManage = "super";
     } else {
@@ -331,8 +351,8 @@ export default {
         this.isManage = false;
       }
     }
-    if(roles.indexOf(3) != -1&&roles.indexOf(4) != -1){
-       this.isManage = "super";
+    if (roles.indexOf(3) != -1 && roles.indexOf(4) != -1) {
+      this.isManage = "super";
     }
     this.FetchList();
   },