浏览代码

Merge branch 'Nov16thResetMusic' into online

wolyshaw 4 年之前
父节点
当前提交
3d75982cb4

+ 0 - 1
src/constant/index.js

@@ -67,7 +67,6 @@ export const genderType = {
 export const paymentPatternType = {
   0: '按月',
   1: '按学期',
-  2: '一次性',
 }
 
 export const payUserType = {

+ 24 - 21
src/views/resetTeaming/modals/user-pay-form.vue

@@ -48,24 +48,24 @@
                 class="alert"
                 type="info">
       </el-alert>
+      <el-form ref="payment" :model="payment">
+        <el-form-item
+          label-width="160px"
+          label="缴费方式"
+          prop="paymentPattern"
+          :rules="[{required: true, message: '请选择缴费方式', trigger: 'change'}]"
+        >
+          <el-select style="width: 100%!important;" v-model="payment.paymentPattern" placeholder="请选择缴费方式">
+            <el-option
+              v-for="item in paymentPatternTypeOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
       <template v-if="isMulticycle">
-        <el-form ref="payment" :model="payment">
-          <el-form-item
-            label-width="160px"
-            label="缴费方式"
-            prop="paymentPattern"
-            :rules="[{required: true, message: '请选择缴费方式', trigger: 'change'}]"
-          >
-            <el-select style="width: 100%!important;" v-model="payment.paymentPattern" placeholder="请选择缴费方式">
-              <el-option
-                v-for="item in paymentPatternTypeOptions"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value">
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-form>
         <el-collapse :value="collapse" @change="collapseChange" >
           <el-collapse-item
             v-for="(item, index) in cycles"
@@ -101,6 +101,7 @@
         ref="cycle"
         :form.sync="cycle"
         :isCommon="isCommon"
+        :hidePaymentPattern="true"
         :isUserType="isUserType"
         :isDisabled="form.leixing === '1' || form.leixing === '2' || paymentType == '0'"
         v-else
@@ -223,7 +224,7 @@ export default {
       if (this.viewDetail) {
         const { musicGroupPaymentCalenders, auditDto } = this.viewDetail
         editMulticycle = (musicGroupPaymentCalenders > 1 ||
-          musicGroupPaymentCalenders[0]?.paymentType == 'MUSIC_APPLY')
+          musicGroupPaymentCalenders[0]?.paymentType != 'ADD_COURSE')
         if (editMulticycle) {
           this.$set(this.payment, 'paymentPattern', String(auditDto?.paymentPattern))
           this.cycles = musicGroupPaymentCalenders.map(item => ({
@@ -233,7 +234,7 @@ export default {
           }))
         }
       }
-      return this.isUserType && this.paymentType == '0' || editMulticycle
+      return (this.payment.paymentPattern == 0 && this.form.leixing !== '2') || editMulticycle
     }
   },
   watch: {
@@ -277,6 +278,9 @@ export default {
         } catch (error) { }
       }
     },
+    'payment.paymentPattern'() {
+      this.syncAllMoney()
+    },
   },
   mounted () {
     this.formatCourse()
@@ -497,8 +501,7 @@ export default {
           musicGroupPaymentCalenderCourseSettingsList: this.eclass,
         };
         if (this.$refs.cycle) {
-          const { paymentDate, paymentValid, paymentPattern, ...other } = this.cycle
-          rest.paymentPattern = paymentPattern
+          const { paymentDate, paymentValid, ...other } = this.cycle
           rest.musicGroupPaymentDateRangeList = [{
               ...other,
               ...getTimes(paymentDate, ["startPaymentDate", "deadlinePaymentDate"]),

+ 62 - 49
src/views/teamDetail/components/modals/create-user-pay.vue

@@ -74,58 +74,63 @@
     <el-alert title="缴费设置" :closable="false" class="alert" type="info">
     </el-alert>
     <el-form ref="payment" :model="payment">
-        <el-form-item
-          label="缴费方式"
-          prop="paymentPattern"
-          :rules="[{required: true, message: '请选择缴费方式', trigger: 'change'}]"
-        >
-          <el-select style="width: 100%!important;" v-model="payment.paymentPattern" placeholder="请选择缴费方式">
-            <el-option
-              v-for="item in paymentPatternTypeOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value">
-            </el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-    <el-collapse :value="collapse" @change="collapseChange" >
-      <el-collapse-item
-        v-for="(item, index) in cycles"
-        :key="index"
-        :name="index"
+      <el-form-item
+        label="缴费方式"
+        prop="paymentPattern"
+        label-width="160px"
+        :rules="[{required: true, message: '请选择缴费方式', trigger: 'change'}]"
       >
-        <template slot="title">
-          <div class="collapse-title">
-            <span>缴费周期 {{index + 1}}</span>
-            <i v-if="cycles.length > 1" class="el-icon-circle-close" @click.stop="removeCycle(index)"></i>
-          </div>
-        </template>
-        <paymentCycle
-          ref="cycles"
-          :form="item"
-          :hidePaymentPattern="true"
-          :isUserType="true"
-          :isCommon="false"
-          :isDisabled="true"
-        />
-      </el-collapse-item>
-    </el-collapse>
-    <el-button
-      icon="el-icon-circle-plus-outline"
-      plain
-      type="info"
-      size="small"
-      style="width: 100%;margin: 20px 0;"
-      @click="addCycle"
-    >新增缴费周期</el-button>
-    <!-- <paymentCycle
+        <el-select style="width: 100%!important;" v-model="payment.paymentPattern" placeholder="请选择缴费方式">
+          <el-option
+            v-for="item in paymentPatternTypeOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
+          </el-option>
+        </el-select>
+      </el-form-item>
+    </el-form>
+    <template v-if="payment.paymentPattern == 0">
+      <el-collapse :value="collapse" @change="collapseChange" >
+        <el-collapse-item
+          v-for="(item, index) in cycles"
+          :key="index"
+          :name="index"
+        >
+          <template slot="title">
+            <div class="collapse-title">
+              <span>缴费周期 {{index + 1}}</span>
+              <i v-if="cycles.length > 1" class="el-icon-circle-close" @click.stop="removeCycle(index)"></i>
+            </div>
+          </template>
+          <paymentCycle
+            ref="cycles"
+            :form="item"
+            :hidePaymentPattern="true"
+            :isUserType="true"
+            :isCommon="false"
+            :isDisabled="true"
+          />
+        </el-collapse-item>
+      </el-collapse>
+      <el-button
+        icon="el-icon-circle-plus-outline"
+        plain
+        type="info"
+        size="small"
+        style="width: 100%;margin: 20px 0;"
+        @click="addCycle"
+      >新增缴费周期</el-button>
+    </template>
+    <paymentCycle
+      v-else
       ref="cycle"
       :isUserType="true"
+      :hidePaymentPattern="true"
       :form.sync="cycle"
       :isCommon="false"
       :isDisabled="true"
-    /> -->
+    />
     <div slot="footer" class="dialog-footer">
       <el-button @click="$listeners.close">取 消</el-button>
       <el-button type="primary" @click="submit">确认</el-button>
@@ -180,6 +185,9 @@ export default {
     'form.snapClass'() {
       this.classChange()
     },
+    'payment.paymentPattern'() {
+      this.syncAllMoney()
+    },
     baseInfo() {
       this.formatCourse()
     }
@@ -216,6 +224,9 @@ export default {
           }
         })
       }
+      if (this.$refs.cycle) {
+        this.$set(this.cycle, 'paymentAmount', money)
+      }
 
       return money;
     },
@@ -262,7 +273,7 @@ export default {
     },
     getForms() {
       const { $refs: refs } = this;
-      return [refs.eclass, refs.cycle, refs.payment, ...refs.cycles]
+      return [refs.eclass, refs.cycle, refs.payment, ...(refs.cycles || [])]
         .filter((item) => !!item)
         .map((item) => item.$refs.form || item);
     },
@@ -294,9 +305,10 @@ export default {
         });
       }
       if (forms.length === valided.length) {
+        const cyclelist = this.payment.paymentPattern == 0 ? this.cycles : [this.cycle]
         const data = {
           attribute1: this.ids,
-          musicGroupPaymentDateRangeList: [...this.cycles.map(item => {
+          musicGroupPaymentDateRangeList: cyclelist.map(item => {
             const { paymentDate, paymentValid, ...other } = item
             return {
               ...other,
@@ -307,7 +319,8 @@ export default {
               ]),
               paymentPattern: this.payment.paymentPattern,
             }
-          })],
+          }),
+          paymentPattern: this.payment.paymentPattern,
           musicGroupId: this.musicGroupId,
           paymentType: 'ADD_STUDENT',
           studentIds: this.createdUserId,