瀏覽代碼

Merge branch 'Nov16thResetMusic' of http://git.dayaedu.com/molingzhide/dy-admin-manager into Nov16thResetMusic

mo 4 年之前
父節點
當前提交
45e2192b66

+ 6 - 2
src/api/buildTeam.js

@@ -1185,10 +1185,14 @@ export function addMusicGroupPaymentCalender (data) {
 }
 // 查询周期(缴费日历)
 export function getMusicGroupPaymentCalender (data) {
-  return request({
+  return request2({
     url: api + '/musicGroupPaymentCalender/queryPage',
     method: 'get',
-    params: data
+    params: data,
+    requestType: 'form',
+    headers: {
+      'content-type': 'application/x-www-form-urlencoded'
+    }
   })
 }
 

+ 1 - 1
src/components/save-form/index.vue

@@ -42,9 +42,9 @@ export default {
       })
     },
     resetFields() {
+      this.$refs.form.resetFields()
       this.searchs.update(this.model, undefined, 'form')
       this.searchs.update({}, undefined, 'page')
-      this.$refs.form.resetFields()
     }
   },
 }

+ 1 - 1
src/helpers/index.js

@@ -22,7 +22,7 @@ export class Searchs {
     let json = {}
     try {
       const val = sessionStorage.getItem(this.saveKey)
-      json = JSON.parse(val) || {}
+      json = JSON.parse(val) || initSearch
     } catch (error) {}
     return json
   }

+ 1 - 1
src/store/modules/selects.js

@@ -47,7 +47,7 @@ export default {
     async setSubject ({ commit, state }, force) {
       if (!state.subjects.length || force === true) {
         try {
-          const res = await getSubject({ rows: 9999 })
+          const res = await getSubject({rows: 9999, tenantId: '1'})
           commit('commit_subjects', res.data)
         } catch (error) { }
       }

+ 5 - 3
src/views/accompaniment/index.vue

@@ -5,7 +5,7 @@
     </h2>
     <div class="m-core">
       <el-button @click="open('COMMON')" type="primary" v-permission="'sysExamSong/add'">添加公用伴奏</el-button>
-      <el-button @click="open('PERSON')" type="primary" v-permission="'sysExamSong/add'">添加个人伴奏</el-button>
+      <!-- <el-button @click="open('PERSON')" type="primary" v-permission="'sysExamSong/add'">添加个人伴奏</el-button> -->
       <saveform ref="searchForm" :model.sync="searchForm" inline style="margin-top: 20px">
         <el-form-item prop="search">
           <el-input v-model="searchForm.search" clearable placeholder="伴奏编号/伴奏名称"/>
@@ -25,7 +25,7 @@
             <el-option v-for="item in selects.subjects" :value="item.id" :label="item.name" :key="item.id"></el-option>
           </el-select>
         </el-form-item>
-        <el-button @click="submit" type="primary">提交</el-button>
+        <el-button @click="submit" type="primary">搜索</el-button>
         <el-button @click="reset" type="danger">重置</el-button>
       </saveform>
       <el-table
@@ -122,6 +122,7 @@
       width="500px"
     >
       <submit-form
+        v-if="visible"
         :detail="detail"
         :type="type"
         @submited="FetchList"
@@ -183,7 +184,7 @@ export default {
         const res = await QueryPage({
           ...this.searchForm,
           page: this.rules.page,
-          limit: this.rules.limit,
+          rows: this.rules.limit,
         })
         this.tableList = res.data.rows
         this.$set(this.rules, 'total', res.data.total)
@@ -211,6 +212,7 @@ export default {
     },
     open(type) {
       this.type = type
+      this.detail = null
       this.visible = true
     },
     async remove(row) {

+ 2 - 0
src/views/accompaniment/modals/form.vue

@@ -107,12 +107,14 @@ export default {
           if (!this.detail) {
             await Add({
               ...this.form,
+              subjectIds: this.form.subjectIds.join(','),
               type: this.type,
             })
             this.$message.success('提交成功')
           } else {
             await Update({
               ...this.form,
+              subjectIds: this.form.subjectIds.join(','),
               type: this.type,
               id: this.detail.id
             })

+ 25 - 11
src/views/auditList/index.vue

@@ -53,8 +53,10 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="getList"
-                     type="danger">搜索</el-button>
+          <el-button @click="search"
+                     type="primary">搜索</el-button>
+          <el-button @click="reset"
+                     type="danger">重置</el-button>
         </el-form-item>
       </save-form>
       <div class="tableWrap">
@@ -119,9 +121,10 @@
           </el-table-column>
           <el-table-column align="center"
                            prop="memo"
+                           width="200px"
                            label="备注">
             <template slot-scope="scope">
-              <tooltip :content="scope.row.memo" />
+              <overflow-text width="200px" :text="scope.row.memo" />
             </template>
           </el-table-column>
           <el-table-column align="center"
@@ -161,7 +164,8 @@
             </template>
           </el-table-column>
         </el-table>
-        <pagination :total="pageInfo.total"
+        <pagination :total.sync="pageInfo.total"
+                    sync
                     :page.sync="pageInfo.page"
                     :limit.sync="pageInfo.limit"
                     :page-sizes="pageInfo.page_size"
@@ -186,6 +190,12 @@ import { getEmployeeOrgan } from "@/api/buildTeam";
 import Tooltip from "@/components/Tooltip/index";
 import { auditTypeList, auditPaymentTypeList } from "@/utils/searchArray";
 
+const initSearch = {
+  search: null,
+  paymentType: null,
+  status: 'AUDITING',
+  organId: null,
+}
 export default {
   components: { pagination, Tooltip, review },
   name: "helpCategory",
@@ -194,12 +204,7 @@ export default {
       paymentTypeList: auditPaymentTypeList,
       organList: [],
       statusList: auditTypeList,
-      searchForm: {
-        search: null,
-        paymentType: null,
-        status: 'AUDITING',
-        organId: null,
-      },
+      searchForm: {...initSearch},
       tableList: [],
 
       pageInfo: {
@@ -218,8 +223,17 @@ export default {
     this.getList();
   },
   methods: {
+    search() {
+      this.pageInfo.page = 1
+      this.$refs.searchForm.save(this.searchForm)
+      this.$refs.searchForm.save(this.pageInfo, 'page')
+      this.getList()
+    },
+    reset() {
+      this.searchForm = {...initSearch}
+      this.search()
+    },
     getList () {
-      this.$refs.searchForm?.save(this.searchForm)
       let params = {
         page: this.pageInfo.page,
         rows: this.pageInfo.limit,

+ 65 - 34
src/views/resetTeaming/components/resetPayList.vue

@@ -52,26 +52,6 @@
           </template>
         </el-table-column>
         <el-table-column align="center"
-                         prop="startPaymentDate"
-                         width="200"
-                         label="缴费日期">
-          <template slot-scope="scope">
-            <div>
-              {{ scope.row.startPaymentDate | formatTimer }} ~ {{ scope.row.deadlinePaymentDate | formatTimer }}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
-                         prop="expectNum"
-                         width="200"
-                         label="缴费人数(预计/实际)">
-          <template slot-scope="scope">
-            <div>
-              {{scope.row.expectNum}}/{{scope.row.actualNum}}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
                          prop="paymentPattern"
                          label="缴费方式">
           <template slot-scope="scope">
@@ -81,16 +61,21 @@
           </template>
         </el-table-column>
         <el-table-column align="center"
-                         prop="paymentValidStartDate"
-                         width="200"
-                         label="缴费有效期">
+                         prop="addCourseTotalTime"
+                         width="150px"
+                         label="加课总时长">
+        </el-table-column>
+        <el-table-column align="center"
+                         width="150px"
+                         prop="courseCurrentPrice"
+                         label="现价">
           <template slot-scope="scope">
             <div>
-              {{ scope.row.paymentValidStartDate | formatTimer }} ~ {{ scope.row.paymentValidEndDate | formatTimer }}
+              {{ scope.row.courseCurrentPrice | moneyFormat }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column align="center"
+        <!-- <el-table-column align="center"
                          prop="status"
                          label="缴费状态">
           <template slot-scope="scope">
@@ -98,19 +83,31 @@
               {{ scope.row.status | payTypeStatus }}
             </div>
           </template>
+        </el-table-column> -->
+        <el-table-column align="center"
+                         prop="operatorName"
+                         label="责任人">
         </el-table-column>
         <el-table-column align="center"
                          prop="memo"
-                         label="备注"></el-table-column>
+                         width="200px"
+                         label="备注">
+                     <template slot-scope="scope">
+                       <overflow-text width="200px" :text="scope.row.memo"/>
+                     </template>
+        </el-table-column>
         <el-table-column label="操作"
                          fixed="right"
-                         min-width="260px">
+                         min-width="60px">
           <template slot-scope="scope">
             <div>
               <el-button type="text"
+                         @click="lookList(scope.row)"
+                         v-permission="'musicGroupPaymentCalender/queryPage'">查看</el-button>
+              <!-- <el-button type="text"
                          @click="lookDetail(scope.row)"
-                         v-permission="'musicGroupPaymentCalender/auditListDetail'">查看</el-button>
-              <el-button type="text"
+                         v-permission="'musicGroupPaymentCalender/auditListDetail'">查看</el-button> -->
+              <!-- <el-button type="text"
                          @click="openChioseStudent(scope.row)"
                          v-if="scope.row.status != 'REJECT' && scope.row.status != 'AUDITING'&&teamStatus && scope.row.paymentType != 'MUSIC_APPLY' && scope.row.paymentType != 'ADD_STUDENT'"
                          v-permission="'musicGroupPaymentCalenderDetail/batchAdd'">添加学员</el-button>
@@ -125,7 +122,7 @@
               <el-button type="text"
                          v-if="isNewGropu"
                          v-permission="'musicGroup/findMusicGroupSubjectInfo/966'"
-                         @click="onPreview(scope.row)">预览</el-button>
+                         @click="onPreview(scope.row)">预览</el-button> -->
             </div>
           </template>
         </el-table-column>
@@ -136,6 +133,26 @@
                   :page-sizes="rules.page_size"
                   @pagination="getList" />
     </div>
+    <el-dialog
+      :visible.sync="itemsVisible"
+      title="查看缴费计划"
+      width="1000px"
+    >
+      <pay-items
+        v-if="itemsVisible"
+        ref="payItems"
+        :batchNo="viewDetail && viewDetail.batchNo"
+        payUserType="STUDENT"
+        :teamStatus="teamStatus"
+        :teamType="teamType"
+        :isNewGropu="isNewGropu"
+        @lookDetail="lookDetail"
+        @openChioseStudent="openChioseStudent"
+        @resetPay="resetPay"
+        @close="itemsVisible = false"
+        @onCreateQRCode="onCreateQRCode"
+      />
+    </el-dialog>
     <el-dialog :visible.sync="payVisible"
                :close-on-click-modal="false"
                width="500px"
@@ -285,6 +302,7 @@
                width='800px'>
       <setStudentFee @chioseStudent='chioseStudent'
                      ref='setStudentFee'
+                     :batchNo="batchNo"
                      :musicGroupPaymentCalenderId="musicGroupPaymentCalenderId"
                      @submited="chioseStudentSubmited"
                      :clearTale="clearStduent"></setStudentFee>
@@ -343,12 +361,14 @@ import dayjs from 'dayjs'
 import QrCode from "@/components/QrCode/index";
 import { vaildStudentUrl } from '@/utils/validate'
 import { addMusicGroupPaymentCalender, getMusicGroupPaymentCalender, resetMusicGroupPaymentCalender, delMusicGroupPaymentCalender, findMusicGroupSubjectInfo } from "@/api/buildTeam";
+import { getAuditList } from '@/api/auditManager'
 import {
   getOrganizationCourseUnitPriceSettings
 } from '@/api/specialSetting'
 import { musicGroupPaymentCalenderQueryPage, getMusicGroupStu, musicGroupPaymentCalenderDetailBatchAdd } from '../api'
 import setStudentFee from './studentPayBase'
 import userPayForm from '../modals/user-pay-form'
+import payItems from '../modals/pay-items'
 import schoolPayForm from '../modals/school-pay-form'
 import review from '../modals/review'
 import reviewDetail from '../modals/review-detail'
@@ -366,6 +386,7 @@ export default {
     QrCode,
     review,
     reviewDetail,
+    'pay-items': payItems,
     subjectPreview
   },
   data () {
@@ -374,6 +395,7 @@ export default {
       payFormType: "user",
       userVisible: false,
       schoolVisible: false,
+      itemsVisible: false,
       reviewVisible: false,
       organizationCourseUnitPriceSettings: [],
       searchForm: {
@@ -413,7 +435,9 @@ export default {
       chioseStudentVisible: false,
       chioseStudentList: [],
       clearStduent: true,
+      batchNo: "",
       musicGroupPaymentCalenderId: "",
+      teamType: this.$route.query.type,
       payOrderTypeLists: payOrderTypeList,
       dialogSubjectVisible: false, // 预览声部
       dialogSubjectList: [],
@@ -478,10 +502,10 @@ export default {
     },
     getList () {
       let musicGroupId = this.$route.query.id
-      return musicGroupPaymentCalenderQueryPage({
+      return getAuditList({
         page: this.rules.page,
         rows: this.rules.limit,
-        musicGroupId,
+        search: musicGroupId,
         payUserType: 'STUDENT',
         paymentType: this.searchForm.paymentType,
       }).then(res => {
@@ -546,6 +570,10 @@ export default {
         })
         .catch(() => { });
     },
+    lookList(row) {
+      this.viewDetail = row
+      this.itemsVisible = true
+    },
     lookDetail (row) {
       let query = this.$route.query;
       this.$route.query.paymentId = row.id;
@@ -588,13 +616,15 @@ export default {
         return stu.userId;
       });
       obj.musicGroupPaymentCalenderId = this.musicGroupPaymentCalenderId;
+      this.$refs.payItems?.getList()
       musicGroupPaymentCalenderDetailBatchAdd(obj).then((res) => {
         if (res.code == 200) {
           this.$message.success("添加成功");
           this.$refs.setStudentFee.clearTable();
           this.payVisible = false;
           this.chioseStudentVisible = false;
-          this.getList();
+          // this.getList();
+
         }
       });
     },
@@ -658,7 +688,8 @@ export default {
     },
     openChioseStudent (row) {
       this.chioseStudentVisible = true;
-      this.musicGroupPaymentCalenderId = row.id;
+      this.batchNo = row.batchNo;
+      this.musicGroupPaymentCalenderId = row.id
     },
     async payedSubmited (data) {
       try {

+ 66 - 25
src/views/resetTeaming/components/resetPayListSchool.vue

@@ -52,16 +52,6 @@
           </template>
         </el-table-column>
         <el-table-column align="center"
-                         prop="expectNum"
-                         width="200"
-                         label="缴费人数(预计/实际)">
-          <template slot-scope="scope">
-            <div>
-              {{scope.row.expectNum}}/{{scope.row.actualNum}}
-            </div>
-          </template>
-        </el-table-column>
-        <el-table-column align="center"
                          prop="paymentPattern"
                          label="缴费方式">
           <template slot-scope="scope">
@@ -71,16 +61,21 @@
           </template>
         </el-table-column>
         <el-table-column align="center"
-                         prop="paymentValidStartDate"
-                         width="200"
-                         label="缴费有效期">
+                         prop="addCourseTotalTime"
+                         width="150px"
+                         label="加课总时长">
+        </el-table-column>
+        <el-table-column align="center"
+                         width="150px"
+                         prop="courseCurrentPrice"
+                         label="现价">
           <template slot-scope="scope">
             <div>
-              {{ scope.row.paymentValidStartDate | formatTimer }} ~ {{ scope.row.paymentValidEndDate | formatTimer }}
+              {{ scope.row.courseCurrentPrice | moneyFormat }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column align="center"
+        <!-- <el-table-column align="center"
                          prop="status"
                          label="缴费状态">
           <template slot-scope="scope">
@@ -88,19 +83,31 @@
               {{ scope.row.status | payTypeStatus }}
             </div>
           </template>
+        </el-table-column> -->
+        <el-table-column align="center"
+                         prop="operatorName"
+                         label="责任人">
         </el-table-column>
         <el-table-column align="center"
                          prop="memo"
-                         label="备注"></el-table-column>
+                         width="200px"
+                         label="备注">
+                     <template slot-scope="scope">
+                       <overflow-text width="200px" :text="scope.row.memo"/>
+                     </template>
+        </el-table-column>
         <el-table-column label="操作"
                          fixed="right"
-                         min-width="260px">
+                         min-width="60px">
           <template slot-scope="scope">
             <div>
               <el-button type="text"
+                         @click="lookList(scope.row)"
+                         v-permission="'musicGroupPaymentCalender/queryPage'">查看</el-button>
+              <!-- <el-button type="text"
                          @click="lookDetail(scope.row)"
-                         v-permission="'musicGroupPaymentCalender/auditListDetail'">查看</el-button>
-              <el-button type="text"
+                         v-permission="'musicGroupPaymentCalender/auditListDetail'">查看</el-button> -->
+              <!-- <el-button type="text"
                          @click="openChioseStudent(scope.row)"
                          v-if="scope.row.status != 'REJECT' && scope.row.status != 'AUDITING'&&teamStatus && scope.row.paymentType != 'MUSIC_APPLY' && scope.row.paymentType != 'ADD_STUDENT'"
                          v-permission="'musicGroupPaymentCalenderDetail/batchAdd'">添加学员</el-button>
@@ -108,11 +115,14 @@
                          v-if="scope.row.status == 'REJECT'&&teamStatus"
                          v-permission="'musicGroupPaymentCalender/update'"
                          @click="resetPay(scope.row)">修改</el-button>
+
+              <el-button type="text"
+                         v-if="!isNewGropu&&teamStatus&&scope.row.paymentType!='MUSIC_APPLY'"
+                         @click="onCreateQRCode(scope.row)">续费二维码</el-button>
               <el-button type="text"
-                         v-permission="'musicGroupPaymentCalender/makesureSchoolePaid'"
-                         v-if="scope.row.status == 'OPEN'&&teamType=='resetTeam'"
-                         @click="commmitGetMoney(scope.row)">确认收款</el-button>
-              <!-- <el-button type="text" v-if="!isNewGropu" @click="onCreateQRCode(scope.row)">续费二维码</el-button> -->
+                         v-if="isNewGropu"
+                         v-permission="'musicGroup/findMusicGroupSubjectInfo/966'"
+                         @click="onPreview(scope.row)">预览</el-button> -->
             </div>
           </template>
         </el-table-column>
@@ -241,6 +251,25 @@
                    @click="resetPayDate">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog
+      :visible.sync="itemsVisible"
+      title="查看缴费计划"
+      width="1000px"
+    >
+      <pay-items
+        v-if="itemsVisible"
+        ref="payItems"
+        :batchNo="viewDetail && viewDetail.batchNo"
+        payUserType="STUDENT"
+        :teamStatus="teamStatus"
+        :teamType="teamType"
+        :isNewGropu="isNewGropu"
+        @lookDetail="lookDetail"
+        @openChioseStudent="openChioseStudent"
+        @resetPay="resetPay"
+        @close="itemsVisible = false"
+      />
+    </el-dialog>
     <el-dialog title="查看"
                :visible.sync="reviewVisible"
                width="900px"
@@ -278,6 +307,7 @@
                width='800px'>
       <setStudentFee @chioseStudent='chioseStudent'
                      ref='setStudentFee'
+                     :batchNo="batchNo"
                      :musicGroupPaymentCalenderId="musicGroupPaymentCalenderId"
                      @submited="chioseStudentSubmited"
                      :clearTale="clearStduent"></setStudentFee>
@@ -321,9 +351,11 @@ import { addMusicGroupPaymentCalender, getMusicGroupPaymentCalender, resetMusicG
 import {
   getOrganizationCourseUnitPriceSettings
 } from '@/api/specialSetting'
+import { getAuditList } from '@/api/auditManager'
 import { musicGroupPaymentCalenderQueryPage, getMusicGroupStu, musicGroupPaymentCalenderDetailBatchAdd } from '../api'
 import setStudentFee from './studentPayBase'
 import userPayForm from '../modals/user-pay-form'
+import payItems from '../modals/pay-items'
 import schoolPayForm from '../modals/school-pay-form'
 import isGetMoney from '../modals/isGetMoney'
 import review from '../modals/review'
@@ -342,6 +374,7 @@ export default {
     review,
     reviewDetail,
     teamType: '',
+    'pay-items': payItems,
     isGetMoney
   },
   data () {
@@ -351,6 +384,7 @@ export default {
       userVisible: false,
       schoolVisible: false,
       reviewVisible: false,
+      itemsVisible: false,
       teamType: this.$route.query.type,
       organizationCourseUnitPriceSettings: [],
       searchForm: {
@@ -390,6 +424,7 @@ export default {
       chioseStudentVisible: false,
       chioseStudentList: [],
       clearStduent: true,
+      batchNo: "",
       musicGroupPaymentCalenderId: "",
       payOrderTypeLists: payOrderTypeList,
       getMoneyVisible: false
@@ -451,10 +486,10 @@ export default {
     },
     getList () {
       let musicGroupId = this.$route.query.id
-      return musicGroupPaymentCalenderQueryPage({
+      return getAuditList({
         page: this.rules.page,
         rows: this.rules.limit,
-        musicGroupId,
+        search: musicGroupId,
         payUserType: 'SCHOOL',
         paymentType: this.searchForm.paymentType,
       }).then(res => {
@@ -519,6 +554,10 @@ export default {
         })
         .catch(() => { });
     },
+    lookList(row) {
+      this.viewDetail = row
+      this.itemsVisible = true
+    },
     lookDetail (row) {
       let query = this.$route.query;
       this.$route.query.paymentId = row.id;
@@ -561,6 +600,7 @@ export default {
         return stu.userId;
       });
       obj.musicGroupPaymentCalenderId = this.musicGroupPaymentCalenderId;
+      this.$refs.payItems?.getList()
       musicGroupPaymentCalenderDetailBatchAdd(obj).then((res) => {
         if (res.code == 200) {
           this.$message.success("添加成功");
@@ -631,6 +671,7 @@ export default {
     },
     openChioseStudent (row) {
       this.chioseStudentVisible = true;
+      this.batchNo = row.batchNo;
       this.musicGroupPaymentCalenderId = row.id;
     },
     async payedSubmited (data) {

+ 0 - 1
src/views/resetTeaming/modals/extra-class.vue

@@ -180,7 +180,6 @@ export default {
   },
   computed: {
     list() {
-      console.log(this.form)
       return {
         form: this.form
       }

+ 160 - 0
src/views/resetTeaming/modals/pay-items.vue

@@ -0,0 +1,160 @@
+<template>
+  <div>
+    <el-table :data="list" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
+      <el-table-column
+        align="center"
+        prop="batchNo"
+        width="200"
+        label="订单编号"
+      ></el-table-column>
+      <el-table-column align="center" prop="paymentType" label="缴费类型">
+        <template slot-scope="scope">
+          <div>
+            {{ scope.row.paymentType | userPaymentTypeFormat }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="expectNum"
+        width="200"
+        label="缴费人数(预计/实际)"
+      >
+        <template slot-scope="scope">
+          <div>{{ scope.row.expectNum }}/{{ scope.row.actualNum }}</div>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" prop="paymentPattern" label="缴费方式">
+        <template slot-scope="scope">
+          <div>
+            {{ scope.row.paymentPattern | teamPayStatus }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="paymentValidStartDate"
+        width="200"
+        label="缴费有效期"
+      >
+        <template slot-scope="scope">
+          <div>
+            {{ scope.row.paymentValidStartDate | formatTimer }} ~
+            {{ scope.row.paymentValidEndDate | formatTimer }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" prop="status" label="缴费状态">
+        <template slot-scope="scope">
+          <div>
+            {{ scope.row.status | payTypeStatus }}
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" prop="memo" label="备注"></el-table-column>
+      <el-table-column label="操作" fixed="right" min-width="260px">
+        <template slot-scope="scope">
+          <div>
+            <el-button
+              type="text"
+              @click="toDetail(scope.row)"
+              v-permission="'musicGroupPaymentCalender/auditListDetail'"
+              >查看</el-button
+            >
+            <el-button
+              type="text"
+              @click="$listeners.openChioseStudent(scope.row)"
+              v-if="
+                scope.row.status != 'REJECT' &&
+                scope.row.status != 'AUDITING' &&
+                teamStatus &&
+                scope.row.paymentType != 'MUSIC_APPLY' &&
+                scope.row.paymentType != 'ADD_STUDENT'
+              "
+              v-permission="'musicGroupPaymentCalenderDetail/batchAdd'"
+              >添加学员</el-button
+            >
+            <el-button
+              type="text"
+              v-if="scope.row.status == 'REJECT' && teamStatus"
+              v-permission="'musicGroupPaymentCalender/update'"
+              @click="$listeners.resetPay(scope.row)"
+              >修改</el-button
+            >
+            <el-button
+              type="text"
+              v-permission="'musicGroupPaymentCalender/makesureSchoolePaid'"
+              v-if="scope.row.status == 'OPEN' && teamStatus == 'resetTeam'"
+              @click="$listeners.commmitGetMoney(scope.row)"
+              >确认收款</el-button
+            >
+            <el-button type="text"
+                         v-if="!isNewGropu&&teamStatus&&scope.row.paymentType!='MUSIC_APPLY'&&payUserType === 'STUDENT'"
+                         @click="$listeners.onCreateQRCode(scope.row)">续费二维码</el-button>
+            <!-- <el-button type="text" v-if="!isNewGropu" @click="onCreateQRCode(scope.row)">续费二维码</el-button> -->
+          </div>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination :total="rules.total"
+                :page.sync="rules.page"
+                :limit.sync="rules.limit"
+                :page-sizes="rules.page_size"
+                @pagination="getList" />
+    <div slot="footer"
+        class="dialog-footer">
+      <el-button @click="$listeners.close">取 消</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import { addMusicGroupPaymentCalender, getMusicGroupPaymentCalender, resetMusicGroupPaymentCalender, delMusicGroupPaymentCalender, findMusicGroupSubjectInfo } from "@/api/buildTeam";
+import loading from '@/utils/loading'
+import pagination from "@/components/Pagination/index";
+export default {
+  props: ['batchNo', 'teamStatus', 'teamType', 'payUserType', 'isNewGropu'],
+  components: {
+    pagination
+  },
+  data() {
+    return {
+      list: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods: {
+    async getList() {
+      try {
+        const res = await getMusicGroupPaymentCalender({
+          batchNo: this.batchNo,
+          page: '1',
+          rows: 10,
+        })
+        this.list = res.data.rows
+      } catch (error) {}
+    },
+    toDetail(row) {
+      this.$listeners.close()
+      this.$nextTick(() => {
+          this.$listeners.lookDetail(row)
+      })
+    }
+  }
+};
+</script>
+<style lang="less" scoped>
+.dialog-footer {
+  margin-top: 20px;
+  display: block;
+  text-align: right;
+}
+</style>

+ 5 - 4
src/views/resetTeaming/modals/review-detail.vue

@@ -46,8 +46,9 @@
         </template>
       </el-table-column>
       <el-table-column prop="isStudentOptional"
-                       label="是否免费"
-                       width="100">
+                       label="是否可选"
+                       width="100px">
+                       <template slot-scope="scope">{{scope.row.isStudentOptional ? '是' : '否'}}</template>
       </el-table-column>
       <el-table-column prop="courseTotalMinuties"
                        label="课程总时长(分钟)">
@@ -74,8 +75,8 @@
       <descriptions-item :span="3" v-if="item.payUserType !== 'SCHOOL'"
                          label="缴费日期:">{{ item.startPaymentDate|dayjsFormat }} -
         {{ item.deadlinePaymentDate|dayjsFormat }}</descriptions-item>
-      <descriptions-item :span="3" label="缴费有效期:">{{ item.paymentValidStartDate }} -
-        {{ item.paymentValidEndDate }}</descriptions-item>
+      <descriptions-item :span="3" label="缴费有效期:">{{ item.paymentValidStartDate | dayjsFormat }} -
+        {{ item.paymentValidEndDate | dayjsFormat }}</descriptions-item>
     </descriptions>
     <el-dialog :visible.sync="payVisible"
                :close-on-click-modal="false"

+ 5 - 6
src/views/resetTeaming/modals/user-pay-form.vue

@@ -318,13 +318,13 @@ export default {
         money += item.courseCurrentPrice;
       }
       if (this.cycles && this.cycles.length) {
-        const floorMoney = Math.floor(money / this.cycles.length)
-        const remainder = money % this.cycles.length
+        const floorMoney = Math.floor((money * 100) / this.cycles.length)
+        const remainder = (money * 100) % this.cycles.length
         if (this.paymentAmountDisabled) {
           this.cycles = this.cycles.map((item, index) => {
             return {
               ...item,
-              paymentAmount: (index === 0 ? floorMoney + remainder : floorMoney)
+              paymentAmount: (index === 0 ? (floorMoney + remainder) / 100 : (floorMoney / 100))
             }
           })
         } else {
@@ -422,7 +422,6 @@ export default {
     async submit() {
       const forms = this.getForms();
       const valided = [];
-      console.log(forms)
       for (const form of forms) {
         form.validate((valid) => {
           if (valid) {
@@ -474,7 +473,7 @@ export default {
         };
         // console.log(data)
         // return
-        if (!this.rowDetail?.id) {
+        if (!this.rowDetail?.batchNo) {
           try {
             const res = await musicGroupPaymentCalenderAdd(data);
             this.$listeners.close();
@@ -488,7 +487,7 @@ export default {
           } catch (error) { }
         } else {
           try {
-            data.id = this.rowDetail.id
+            data.batchNo = this.rowDetail.batchNo
             // 缴费类型无法修改,按照之前覆盖
             data.paymentType = this.rowDetail.paymentType
             const res = await musicGroupPaymentCalenderDetailBatchUpdate(data);

+ 25 - 3
src/views/teamDetail/components/modals/create-user-pay.vue

@@ -73,6 +73,22 @@
     />
     <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"
@@ -88,6 +104,7 @@
         <paymentCycle
           ref="cycles"
           :form="item"
+          :hidePaymentPattern="true"
           :isUserType="true"
           :isCommon="false"
           :isDisabled="true"
@@ -122,6 +139,7 @@ import { musicGroupPaymentCalenderAdd } from '../../../resetTeaming/api'
 import { queryRemainCourseTypeDuration } from '../../api'
 import { courseType } from '@/constant'
 import { getTimes, objectToOptions } from "@/utils";
+import { paymentPatternType } from '@/constant'
 export default {
   props: ["snapList", "highList", "mixList", "signList", 'createdUserId', 'organizationCourseUnitPriceSettings', 'musicGroupId', 'baseInfo'],
   components: {
@@ -138,11 +156,15 @@ export default {
         highClass: '',
         snapClass: '',
       },
+      payment: {
+        paymentPattern: null,
+      },
       cycle: {},
       eclass: [],
       collapse: [0],
       cycles: [{}],
       organizationCourseUnitPriceSettingsByType: {},
+      paymentPatternTypeOptions: objectToOptions(paymentPatternType),
     }
   },
   watch: {
@@ -210,7 +232,6 @@ export default {
       for (const item of list) {
         _[item.courseType] = item
       }
-      console.log(_)
       this.organizationCourseUnitPriceSettingsByType = _
       return _
     },
@@ -241,9 +262,9 @@ export default {
     },
     getForms() {
       const { $refs: refs } = this;
-      return [refs.eclass, refs.cycle, ...refs.cycles]
+      return [refs.eclass, refs.cycle, refs.payment, ...refs.cycles]
         .filter((item) => !!item)
-        .map((item) => item.$refs.form);
+        .map((item) => item.$refs.form || item);
     },
     addCycle () {
       this.cycles.push({});
@@ -281,6 +302,7 @@ export default {
                 "paymentValidStartDate",
                 "paymentValidEndDate",
               ]),
+              paymentPattern: this.payment.paymentPattern,
             }
           })],
           musicGroupId: this.musicGroupId,