Преглед изворни кода

Merge branch '0609getMusicFee' into test

mo пре 4 година
родитељ
комит
7fe3bbd1bd

+ 47 - 36
src/views/categroyManager/productSystem/memberFeeSet.vue

@@ -60,7 +60,7 @@
         prop="rankName"
         label="会员名称"
       ></el-table-column>
-      <el-table-column align="center" prop="type" label="1天收费现价(元)">
+      <!-- <el-table-column align="center" prop="type" label="1天收费现价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.currentDayFee | moneyFormat }}元
@@ -73,43 +73,43 @@
             {{ scope.row.memberFeeSetting.originalDayFee | moneyFormat }}元
           </div>
         </template>
-      </el-table-column>
-      <el-table-column align="center" prop="type" label="1个月收费现价(元)">
+      </el-table-column> -->
+      <el-table-column align="center" prop="type" label="月收费现价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.currentMonthFee | moneyFormat }}元
           </div>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="type" label="1个月收费原价(元)">
+      <el-table-column align="center" prop="type" label="月收费原价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.originalMonthFee | moneyFormat }}元
           </div>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="type" label="6个月收费现价(元)">
+      <el-table-column align="center" prop="type" label="半年收费现价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.currentHalfYearFee | moneyFormat }}元
           </div>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="type" label="6个月收费原价(元)">
+      <el-table-column align="center" prop="type" label="半年收费原价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.originalHalfYearFee | moneyFormat }}元
           </div>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="type" label="12个月收费现价(元)">
+      <el-table-column align="center" prop="type" label="收费现价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.currentYearFee | moneyFormat }}元
           </div>
         </template>
       </el-table-column>
-      <el-table-column align="center" prop="type" label="12个月收费原价(元)">
+      <el-table-column align="center" prop="type" label="收费原价(元)">
         <template slot-scope="scope">
           <div>
             {{ scope.row.memberFeeSetting.originalYearFee | moneyFormat }}元
@@ -160,9 +160,10 @@
       :title="title"
       :close-on-click-modal="false"
       :visible.sync="branchStatus"
+      v-if="branchStatus"
       default-expand-all
       @close="onFormClose('ruleForm')"
-      width="820px"
+      width="720px"
     >
       <el-form :model="form" :inline="true" ref="ruleForm">
         <el-form-item
@@ -175,7 +176,7 @@
             :disabled="addDisabled"
             class="multiple"
             filterable
-            style="width: 650px !important"
+            style="width: 550px !important"
             v-model.trim="form.organId"
             clearable
             placeholder="请选择分部"
@@ -198,7 +199,7 @@
             :disabled="addDisabled"
             class="multiple"
             filterable
-            style="width: 650px !important"
+            style="width: 550px !important"
             v-model.trim="form.memberRankSettingId"
             clearable
             placeholder="请选择会员"
@@ -211,7 +212,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
+        <!-- <el-form-item
           prop="currentDayFee"
           label="1天收费现价"
           :rules="[
@@ -248,12 +249,12 @@
           <el-input v-model="form.originalDayFee" :disabled="addDisabled">
             <template slot="append">元/日</template>
           </el-input>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item
           prop="currentMonthFee"
-          label="1个月收费现价"
+          label="月收费现价"
           :rules="[
-            { required: true, message: '请输入1个月收费现价' },
+            { required: true, message: '请输入月收费现价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -262,15 +263,15 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.currentMonthFee" :disabled="addDisabled">
+          <el-input v-model="form.currentMonthFee" :disabled="addDisabled" class="feeInput">
             <template slot="append">元/月</template>
           </el-input>
         </el-form-item>
         <el-form-item
           prop="originalMonthFee"
-          label="1个月收费原价"
+          label="月收费原价"
           :rules="[
-            { required: true, message: '请输入1个月收费原价' },
+            { required: true, message: '请输入月收费原价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -279,15 +280,15 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.originalMonthFee" :disabled="addDisabled">
+          <el-input v-model="form.originalMonthFee" :disabled="addDisabled"  class="feeInput">
             <template slot="append">元/月</template>
           </el-input>
         </el-form-item>
         <el-form-item
           prop="currentHalfYearFee"
-          label="6个月收费现价"
+          label="半年收费现价"
           :rules="[
-            { required: true, message: '请输入6个月收费现价' },
+            { required: true, message: '请输入半年收费现价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -296,15 +297,15 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.currentHalfYearFee" :disabled="addDisabled">
-            <template slot="append">元/年</template>
+          <el-input v-model="form.currentHalfYearFee" :disabled="addDisabled"  class="feeInput">
+            <template slot="append">元/年</template>
           </el-input>
         </el-form-item>
         <el-form-item
           prop="originalHalfYearFee"
-          label="6个月收费原价"
+          label="半年收费原价"
           :rules="[
-            { required: true, message: '请输入6个月收费原价' },
+            { required: true, message: '请输入半年收费原价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -313,15 +314,15 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.originalHalfYearFee" :disabled="addDisabled">
-            <template slot="append">元/年</template>
+          <el-input v-model="form.originalHalfYearFee" :disabled="addDisabled"  class="feeInput">
+            <template slot="append">元/年</template>
           </el-input>
         </el-form-item>
         <el-form-item
           prop="currentYearFee"
-          label="12个月收费现价"
+          label="收费现价"
           :rules="[
-            { required: true, message: '请输入12个月收费现价' },
+            { required: true, message: '请输入收费现价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -330,15 +331,15 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.currentYearFee" :disabled="addDisabled">
+          <el-input v-model="form.currentYearFee" :disabled="addDisabled"  class="feeInput">
             <template slot="append">元/年</template>
           </el-input>
         </el-form-item>
         <el-form-item
           prop="originalYearFee"
-          label="12个月收费原价"
+          label="收费原价"
           :rules="[
-            { required: true, message: '请输入12个月收费原价' },
+            { required: true, message: '请输入收费原价' },
             {
               pattern:
                 /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@@ -347,14 +348,14 @@
           ]"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="form.originalYearFee" :disabled="addDisabled">
+          <el-input v-model="form.originalYearFee" :disabled="addDisabled"  class="feeInput">
             <template slot="append">元/年</template>
           </el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="branchStatus = false">取 消</el-button>
-        <el-button @click="onSubmit" type="primary">确 定</el-button>
+        <el-button   v-if="!addDisabled" @click="branchStatus = false">取 消</el-button>
+        <el-button   @click="onSubmit" type="primary">确 定</el-button>
       </span>
     </el-dialog>
   </div>
@@ -390,7 +391,7 @@ export default {
       tableList: [],
       addDisabled: false,
       title: "新增收费标准",
-      formLabelWidth: "140px",
+      formLabelWidth: "120px",
       form: {
         currentDayFee: "",
         currentHalfYearFee: "",
@@ -514,3 +515,13 @@ export default {
   },
 };
 </script>
+<style lang="scss" scoped>
+  /deep/.el-input-group__append{
+    width: 88px;
+  }
+  .feeInput{
+    /deep/.el-input__inner{
+      width: 120px!important;
+    }
+  }
+</style>

+ 4 - 2
src/views/categroyManager/productSystem/memberSet.vue

@@ -85,6 +85,7 @@
       :title="title"
       :close-on-click-modal="false"
       :visible.sync="branchStatus"
+      v-if="branchStatus"
       default-expand-all
       @close="onFormClose('ruleForm')"
       width="800px"
@@ -177,7 +178,7 @@
           style="margin-bottom: 20px"
         >
         </el-alert>
-        <el-form-item label="搜索" :label-width="formLabelWidth">
+        <el-form-item :label="searchName" :label-width="formLabelWidth">
           <el-input
             style="width: 210px"
             v-model.trim="seachRoleValue"
@@ -217,7 +218,7 @@
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="branchStatus = false">取 消</el-button>
+        <el-button  v-if="!addDisabled"  @click="branchStatus = false">取 消</el-button>
         <el-button @click="onSubmit" type="primary">确 定</el-button>
       </span>
     </el-dialog>
@@ -287,6 +288,7 @@ export default {
       pageType: "",
       allChildIds: [],
       checkList: [],
+      searchName:'搜索\xa0\xa0\xa0\xa0\xa0\xa0\xa0'
     };
   },
   async mounted() {

+ 1 - 1
src/views/dictionaryManager/api.js

@@ -36,6 +36,6 @@ export function deleteMemberPrivilegesItem(data) {
   return request2({
     url: api + '/memberPrivilegesItem/del',
     method: 'post',
-    data
+    params: data
   })
 }

+ 76 - 39
src/views/dictionaryManager/index.vue

@@ -10,8 +10,9 @@
         :inline="true"
         :model="searchForm"
         @submit="search"
-        @reset="onReSet"
+
       >
+      <!--        @reset="onReSet" -->
         <el-form-item>
           <el-input
             v-model.trim="searchForm.search"
@@ -22,7 +23,7 @@
         </el-form-item>
         <el-form-item>
           <el-button native-type="submit" type="primary">搜索</el-button>
-          <el-button native-type="reset" type="danger">重置</el-button>
+          <!-- <el-button native-type="reset" type="danger">重置</el-button> -->
         </el-form-item>
       </save-form>
       <div class="btnList">
@@ -30,13 +31,14 @@
           type="primary"
           v-permission="'memberPrivilegesItem/add'"
           @click="createDiction()"
-          >添加按钮</el-button
+          >添加</el-button
         >
       </div>
 
       <div class="tableWrap">
         <el-table
-          :data="tableList"
+          default-expand-all
+          :data="treeTable"
           :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
           style="width: 100%; margin-bottom: 20px; margin-top: 40px"
           row-key="id"
@@ -81,6 +83,19 @@
     >
       <el-form :model="form" :rules="rules" ref="ruleForm">
         <el-form-item
+          label="父节点"
+          prop="parentId"
+          :label-width="formLabelWidth"
+        >
+          <el-cascader
+            v-model="form.parentId"
+            style="width: 100%"
+            :options="cascaderList"
+            :props="optionProps"
+            placeholder="为空则为根元素"
+          ></el-cascader>
+        </el-form-item>
+        <el-form-item
           label="功能名称"
           prop="name"
           :label-width="formLabelWidth"
@@ -94,18 +109,7 @@
         >
           <el-input v-model.trim="form.code" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item
-          label="父元素ID"
-          prop="parentId"
-          :label-width="formLabelWidth"
-        >
-          <el-cascader
-            v-model="form.parentId"
-            style="width: 100%"
-            :options="cascaderList"
-            :props="optionProps"
-          ></el-cascader>
-        </el-form-item>
+
         <el-form-item
           label="功能描述"
           :label-width="formLabelWidth"
@@ -165,9 +169,6 @@ export default {
         name: [{ required: true, message: "请输入功能", trigger: "blur" }],
         desc: [{ required: true, message: "请输入功能描述", trigger: "blur" }],
         code: [{ required: true, message: "请输入功能标识", trigger: "blur" }],
-        parentId: [
-          { required: true, message: "请输入父元素ID", trigger: "blur" },
-        ],
       },
       disctionStatus: "create",
     };
@@ -189,11 +190,11 @@ export default {
         const res = await getMemberPrivilegesItem();
         this.tableList = this.setTableData(res.data);
         this.cascaderList = this.setTableData(res.data);
-        this.cascaderList.unshift({
-          id: 0,
-          name: "根结点",
-          children: [],
-        });
+        // this.cascaderList.unshift({
+        //   id: 0,
+        //   name: "根结点",
+        //   children: [],
+        // });
       } catch (e) {
         console.log(e);
       }
@@ -202,16 +203,18 @@ export default {
       // 搜索
 
       // this.rules.page = 1;
-      // this.getList();
+      this.getList();
     },
-    onReSet() {},
+    // onReSet() {
+
+    // },
     createDiction() {
-      this.title = "添加字典";
+      this.title = "添加";
       this.branchStatus = true;
       this.disctionStatus = "create";
     },
     resetDiction(row) {
-      this.title = "修改字典";
+      this.title = "修改";
       this.disctionStatus = "update";
       this.form = {
         id: row.id,
@@ -229,16 +232,13 @@ export default {
         type: "warning",
       })
         .then(async () => {
-          try{
-            const res = await  deleteMemberPrivilegesItem({id:row.id})
-              this.$message.success("删除成功");
-              this.getList();
-
-          }catch{}
-
+          try {
+            const res = await deleteMemberPrivilegesItem({ id: row.id });
+            this.$message.success("删除成功");
+            this.getList();
+          } catch {}
         })
         .catch(() => {});
-
     },
     onBranchSubmit() {
       this.$refs["ruleForm"].validate(async (valid) => {
@@ -249,7 +249,7 @@ export default {
             try {
               const res = await addMemberPrivilegesItem({
                 name: form.name,
-                parentId: form.parentId.pop(),
+                parentId: form.parentId?.pop()||0,
                 code: form.code,
                 desc: form.desc,
               });
@@ -261,7 +261,7 @@ export default {
             }
           } else if (this.disctionStatus == "update") {
             if (typeof form.parentId === "object") {
-              form.parentId = form.parentId.pop();
+              form.parentId = form.parentId.pop()||0;
             }
             try {
               const res = await resetMemberPrivilegesItem(form);
@@ -278,7 +278,6 @@ export default {
       });
     },
     setTableData(result) {
-
       let list = [];
       list = result.map((res) => {
         let tempList = {};
@@ -307,6 +306,44 @@ export default {
       };
       this.$refs[formName].resetFields();
     },
+    handleTreeData(treeData, searchValue) {
+      if (!treeData || treeData.length === 0) {
+        return [];
+      }
+      const array = [];
+      for (let i = 0; i < treeData.length; i += 1) {
+        let match = false;
+        for (let pro in treeData[i]) {
+          if (typeof treeData[i][pro] == "string") {
+            match |= treeData[i][pro].includes(searchValue);
+            console.log(match);
+            if (match) break;
+          }
+        }
+        if (
+          this.handleTreeData(treeData[i].children, searchValue).length > 0 ||
+          match
+        ) {
+          array.push({
+            ...treeData[i],
+            children: this.handleTreeData(treeData[i].children, searchValue),
+          });
+        }
+      }
+      return array;
+    },
+  },
+  computed: {
+    treeTable() {
+      let searchValue = this.searchForm.search;
+      if (searchValue) {
+        let treeData = this.tableList;
+        let handleTreeData = this.handleTreeData(treeData, searchValue);
+        return handleTreeData;
+      } else {
+        return this.tableList;
+      }
+    },
   },
 };
 </script>

+ 3 - 3
src/views/resetTeaming/modals/member-pay-form.vue

@@ -5,17 +5,17 @@
     <div class="tilteWrap">
       <h4>会员团排课规则:</h4>
       <p>
-        1、会员团每学期赠送3960分钟免费课程时长,该时长可排声部课、集训声部课、合奏课、集训合奏课、综合课,课程时长以上类型课程共享;
+        1、会员团每学期赠送3960(88x45)分钟免费课程时长,该时长可排声部课、集训声部课、合奏课、集训合奏课、综合课,课程时长以上类型课程共享;
       </p>
       <p>
-        2、在本学期内声部课、集训声部课总共最多能排课1980分钟;合奏课、集训合奏课最多能排课1980分钟;综合课最多能排课3960分钟;
+        2、在本学期内声部课、集训声部课总共最多能排课1980(44x45)分钟;合奏课、集训合奏课最多能排课1980(44x45)分钟;综合课最多能排课3960(88x45)分钟;
       </p>
       <p>
         3、赠送课程仅可在该学期内完成排课,且不可将本学期课程调整至学期时间范围之外;
       </p>
       <p>4、学期时间段:9月1日至2月28/29日,3月1日至8月31日;</p>
       <p>
-        5、排课时系统根据【开课日期】计算本学期最大可排课时长,计算方式为开课日期到本学期结束日期周次*4*45分钟,若超过1980分钟,按1980分钟计算。既:若学期中途开始排课,则可能排课时长并不能达到1980分钟。
+        5、排课时系统根据【开课日期】计算本学期最大可排课时长,计算方式为开课日期到本学期结束日期周次1980(44x45)分钟,若超过1980(44x45)分钟,按1980(44x45)分钟计算。即:若学期中途开始排课,则可能排课时长并不能达到1980分钟。
       </p>
     </div>
     <el-alert title="会员设置" :closable="false" class="alert" type="info">

+ 2 - 2
src/views/resetTeaming/modals/member-setting.vue

@@ -97,7 +97,7 @@
     <el-form-item
       label="缴费时间"
       prop="paymentDate"
-      v-if="isUserType && !addStudent"
+      v-if="isUserType && !addStudent&&showTime"
       :rules="[{ required: true, message: '请选择缴费时间', trigger: 'blur' }]"
     >
       <el-date-picker
@@ -118,7 +118,7 @@ import { paymentPatternType } from "@/constant";
 import { objectToOptions } from "@/utils";
 import { getAllmemberRank, getMemberFee } from "../api";
 export default {
-  props: ["form", "isUserType", "organId", "addStudent"],
+  props: ["form", "isUserType", "organId", "addStudent","showTime"],
   data() {
     return {
       paymentPatternTypeOptions: objectToOptions(paymentPatternType),

+ 30 - 137
src/views/resetTeaming/modals/subject-preview.vue

@@ -6,7 +6,7 @@
 			2、为避免因部分已注册家长放弃名额导致乐团声部失衡,系统设定各声部限额放大20%比例开放注册,系统自动按照完全完成注册的先后顺序确认录取名单,因此,超员后有可能出现无法注册的情况,请您理解。如果其他声部仍有名额,在您孩子的身体条件适合该乐器的前提下,我们将优先予以调配。
 		</div>
 
-        <template v-if="courseViewType == 2 || courseViewType == 3">
+        <template v-if="courseViewType == 1">
 			<h2 class="title" >学习工具包</h2>
 			<div class="yunTrain">
 				<img :src="trainBg" />
@@ -19,38 +19,13 @@
 			</div>
 		</template>
 
-		<template v-if="courseViewType == 1 && courseShowInfo.length > 0">
-			<div class="yunTrain" style="margin-top: 12px;">
-				<img :src="trainBg" />
-				<div class="toolText">
-					<p class="toolTitle">服务</p>
-					<p class="toolDate" v-if="serviceValidDate">服务有效期:{{ serviceValidDate }}</p>
-				</div>
-			</div>
-		</template>
-
 		<h2 class="titles" style="margin-top: 12px;" v-if="courseViewType == 0">
 			<img :src="trainSmallBg" />
 			<span>乐团课程</span>
 		</h2>
 		<template class="section">
-			<!-- 所有不可选的课程合集 -->
-			<div class="section" v-if="courseShowStatus && courseViewType == 1">
-				<el-row class="option-row"  v-for="(item, index) in courseShowInfo" :class="[!item.isStudentOptional ? 'disabled' : '']" :key="index" @click.native="onCourseChange(item)">
-					<el-col :span="16">
-						<i class="check_default" :class="[item.isStatus ? 'check_active' : '']"></i>
-						<span style="display: flex; align-items: center;">
-							<template v-if="item.courseType == 'PROJECT'">{{ chargeTypeName }} </template><template v-else>{{ item.courseType | coursesType }}</template>
-						</span>
-						<el-icon v-if="item.courseType == 'PROJECT'" class="el-icon-question" @click.native="onQuestions('amr')" />
-					</el-col>
-					<el-col :span="8">
-						<span style="color: #1A1A1A">¥{{ item.courseCurrentPrice | moneyFormat }}</span>
-					</el-col>
-				</el-row>
-			</div>
 
-            <div class="section" v-if="courseViewType == 2 || courseViewType == 3">
+            <div class="section" v-if="courseViewType == 1">
 				<div v-for="(item, index) in toolsPackage" :key="index">
 					<el-row class="option-row" style="padding-top: 0;" @click.native="onTrainChange(item)">
 						<el-col :span="18">
@@ -60,20 +35,14 @@
 							</span>
 						</el-col>
 						<el-col :span="6">
-							<span style="color: #1A1A1A" v-if="courseViewType == 2">¥{{ cloudTeacherFee | moneyFormat }}</span>
-							<span style="color: #1A1A1A" v-if="courseViewType == 3">¥{{ cloudTeacherPlusFee | moneyFormat }}</span>
+							<span style="color: #1A1A1A" v-if="courseViewType == 1">¥{{ cloudTeacherFee | moneyFormat }}</span>
 						</el-col>
 					</el-row>
-					<el-row style="padding-left: .24rem;" v-if="item.childGoodsList && courseViewType == 2">
+					<el-row style="padding-left: .24rem;" v-if="item.childGoodsList && courseViewType == 1">
 						<el-col v-for="(child, index) in item.childGoodsList" :key="child.name">
 							<span style="font-size: 12px; color: #808080;">{{ child.name }} {{item.childGoodsList.length - 1 == index ? '' : '、'}}</span>
 						</el-col>
 					</el-row>
-                    <el-row style="padding-left: .24rem;" v-if="item.childGoodsListPlus && courseViewType == 3">
-						<el-col v-for="(child, index) in item.childGoodsListPlus" :key="child.name">
-							<span style="font-size: 12px; color: #808080;">{{ child.name }} {{item.childGoodsListPlus.length - 1 == index ? '' : '、'}}</span>
-						</el-col>
-					</el-row>
 				</div>
 			</div>
 
@@ -98,29 +67,6 @@
 			</div>
 		</template>
 
-        <div class="section" v-if="courseInfo && courseInfo.length > 0 && isClickStatus && courseViewType == 1">
-			<h2 class="title">{{ '乐团课程' }}</h2>
-			<el-row class="title-row">
-				<el-col :span="12">课程类型</el-col>
-				<!-- <el-col :span="5" :offset="1" style="text-align: right;">原价</el-col> -->
-				<el-col :span="11" :offset="1" style="text-align: right;">现价</el-col>
-			</el-row>
-			<!-- 可选课程信息集合 -->
-			<template v-for="(item, index) in courseInfo">
-				<el-row class="option-row" :key="index"  @click.native="onCourseChange(item)" v-if="item.isStudentOptional">
-					<el-col :span="12">
-						<i class="check_default" :class="[item.isStatus ? 'check_active' : '', !item.isStudentOptional ? 'disabled' : '']"></i><template v-if="item.courseType == 'PROJECT'">{{ item.name }}</template><template v-else>{{ item.courseType | coursesType }}</template>
-					</el-col>
-					<!-- <el-col :span="6">
-						<del style="color: #AAA; font-size: .12rem;">¥{{ item.courseOriginalPrice | moneyFormat }}</del>
-					</el-col> -->
-					<el-col :span="11" :offset="1">
-						<span style="color: #1A1A1A">¥{{ item.courseCurrentPrice | moneyFormat }}</span>
-					</el-col>
-				</el-row>
-			</template>
-		</div>
-
         <h2 class="titles" v-if="instrumentResultList && instrumentResultList.length > 0">
 			<img :src="trainSmallBg" />
 			<span>乐器</span>
@@ -147,16 +93,16 @@
 				<el-row class="title-row">
 					<el-col :span="12">
 						<template v-if="i[0]['kitType'] == 'GROUP'">
-							团购乐器{{ courseViewType == 2 ? '(赠送辅件一套)' : null }}
+							团购乐器{{ courseViewType == 1 ? '(赠送辅件一套)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'LEASE'">
-							乐器租赁{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
+							乐器租赁{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'FREE'">
-							免费乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
+							免费乐器{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
 						</template>
 						<template v-if="i[0]['kitType'] == 'owned'">
-							自备乐器{{ courseViewType == 2 ? '(请自行购买辅件)' : null }}
+							自备乐器{{ courseViewType == 1 ? '(请自行购买辅件)' : null }}
 						</template>
 					</el-col>
 					<el-col :span="5" :offset="1" style="text-align: right;">
@@ -230,38 +176,10 @@
 					</el-col>
 				</el-row>
             </div>
-
-			<!-- <el-row class="option-row lines">
-				<el-col :span="12" class="fontBold">
-					仅需支付
-				</el-col>
-				<el-col :span="6">
-					<del style="color: #f85043; font-size: 12px;">¥{{ orderInfo.accessMarketPrice | moneyFormat }}</del>
-				</el-col>
-				<el-col :span="6">
-					<span class="fontBold" style="color: #f85043;">¥{{ orderInfo.accessPrice | moneyFormat }}</span>
-				</el-col>
-			</el-row> -->
 		</div>
 
-		<!-- 原价现价 -->
-		<!-- <div class="section">
-			<div class="needprice markerprice">
-				<del>原价</del>
-				<del>¥{{ orderInfo.marketPrice | moneyFormat }}</del>
-			</div>
-			<div class="needprice grouopprice">
-				<span>仅需支付</span>
-				<span>¥{{ orderInfo.amount | moneyFormat }}</span>
-			</div>
-		</div> -->
-
 		<div class="buy">
 			<div class="price">
-				<!-- <p class="use_price">
-					<img class="logo" src="@/assets/images/mycard.png" alt="">
-					<span>¥{{ needPrice | moneyFormat }}</span>
-				</p> -->
                 <p class="oldprice">
                     <del class="text">原价</del>
                     <del style=" font-size: 13px;">¥{{ orderInfo.marketPrice | moneyFormat }}</del>
@@ -282,7 +200,7 @@
             :append-to-body="true"
             class="videoDialog"
             width="30%">
-            <video style="width: 100%;" v-if="videoStatus" controls="controls" class="ql-video" :src="courseViewType == 3 ? 'https://daya.ks3-cn-beijing.ksyun.com/202105/SWmqmvW.mp4' : 'https://daya.ks3-cn-beijing.ksyun.com/202105/SWmqmvW.mp4'" :poster="courseViewType == 3 ? require('../../../assets/images/musicGroup/video_bg.png') : require('../../../assets/images/musicGroup/video_bg.png')" />
+            <video style="width: 100%;" v-if="videoStatus" controls="controls" class="ql-video" :src="'https://daya.ks3-cn-beijing.ksyun.com/202105/SWmqmvW.mp4'" :poster="require('../../../assets/images/musicGroup/video_bg.png')" />
         </el-dialog>
     </div>
 </template>
@@ -331,8 +249,7 @@ export default {
             toolsPackage: [{
                 isStatus: true,
                 name: '练习系统(六个月)',
-                childGoodsList: [{ name: '同步乐团训练教程,五线谱跟播、演奏指法跟播、任选小节循环播放、演奏速度自定义、原音/伴奏一键切换等。' }],
-                childGoodsListPlus: [{ name: '同步乐团训练教程,五线谱跟播、演奏指法跟播、任选小节循环播放、演奏速度自定义、原音/伴奏一键切换、智能评分等。' }]
+                childGoodsList: [{ name: '' }],
             }], // 学习工具包
             courseInfo: null, // 课程信息
             musicGroupSubject: null, // 基本信息
@@ -389,6 +306,21 @@ export default {
                         this.serviceValidDate = dayjs(tempResult.musicGroupPaymentCalender.paymentValidStartDate).format('YYYY/MM/DD') + '~' + dayjs(tempResult.musicGroupPaymentCalender.paymentValidEndDate).format('YYYY/MM/DD')
                     }
                     let tempInfo = tempResult.musicGroupPaymentCalender? tempResult.musicGroupPaymentCalender.musicGroupPaymentCalenderCourseSettingsList : null
+
+                    let memberPrivilegesItemList = tempResult.memberPrivilegesItemList ? tempResult.memberPrivilegesItemList : []
+						let tempMember = []
+						memberPrivilegesItemList.forEach(member => {
+							if(member.memberPrivilegesItems && member.memberPrivilegesItems.length > 0) {
+								member.memberPrivilegesItems.forEach(item => {
+									tempMember.push(item.name)
+								})
+							}
+						})
+						this.toolsPackage = [{
+							isStatus: true,
+							name: '练习系统(六个月)',
+							childGoodsList: [{ name: tempMember.join('、') }]
+						}]
                     // 判断是否有课程
                     if (tempInfo && tempInfo.length > 0) {
                         let tempCourse = {
@@ -574,10 +506,10 @@ export default {
                                 this.buyMaintenance = true
                             }
 
-                            if(item.checked && item.kitType != "GROUP" && (this.courseViewType == 2 || this.courseViewType == 3)) {
+                            if(item.checked && item.kitType != "GROUP" && (this.courseViewType == 1)) {
                                 this.accessIsShowStatus = true
                             }
-                            if(this.courseViewType != 2 && this.courseViewType != 3) {
+                            if(this.courseViewType != 1) {
                                 this.accessIsShowStatus = true
                             }
                         })
@@ -676,7 +608,7 @@ export default {
                 }
             }
             // 云教练且选择自备则不显示辅件
-            if(this.courseViewType == 2 || this.courseViewType == 3) {
+            if(this.courseViewType == 1) {
                 if(item.kitType != "GROUP") {
                     this.accessIsShowStatus = true
                 } else {
@@ -710,54 +642,15 @@ export default {
             let csi = this.courseInfo
             // 加上判断是否有课程信息
             // 如果为云教练系统则,没有课程费用
-            if((this.courseViewType == 2 || this.courseViewType == 3) && this.toolsPackage[0].isStatus) {
+            if((this.courseViewType == 1) && this.toolsPackage[0].isStatus) {
                 let tempFee = this.cloudTeacherFee
-                if(this.courseViewType == 3) {
-                    tempFee = this.cloudTeacherPlusFee
-                }
                 musicClassFee += parseFloat(tempFee)
                 marketPrice += parseFloat(tempFee)
             }
             if (mgs) {
-                let tempCourse = this.courseShowInfo
-                // if (tempCourse.length > 0 && this.courseViewType == 1) {
-                //     tempCourse.forEach(item => {
-                //         if (item.id > 0) {
-                //             courseKeys.push(item.id)
-                //         }
-                //         musicClassFee += parseFloat(item.courseCurrentPrice)
-                //         marketPrice += parseFloat(item.courseOriginalPrice)
-                //         // 不可选的课程才会减免课程费用
-                //         if (!item.isStudentOptional) {
-                //             tempGroupRemissionCourseFee += parseFloat(item.courseCurrentPrice)
-                //         }
-                //     });
-                //     buyList.unshift({
-                //         name: this.chargeTypeName,
-                //         type: paymentPatternType[this.paymentPattern],
-                //         price: Number((musicClassFee).toFixed(2))
-                //     })
-                // } else {
-                if (tempCourse.length > 0 && this.courseViewType == 1) {
-                    let m = 0
-                    tempCourse.forEach(item => {
-                        m += parseFloat(item.courseCurrentPrice)
-                        // 不可选的课程才会减免课程费用
-                        // if (!item.isStudentOptional) {
-                        //     tempGroupRemissionCourseFee += parseFloat(item.courseCurrentPrice)
-                        // }
-                    });
-                    marketPrice += parseFloat(m)
-                    buyList.unshift({
-                        name: this.chargeTypeName,
-                        type: paymentPatternType[this.paymentPattern],
-                        price: Number((m).toFixed(2))
-                    })
-                }
-
                     csi.forEach(item => {
                         if (item.isStatus) {
-                            if(this.courseViewType != 2 || this.courseViewType != 3) {
+                            if(this.courseViewType != 1) {
                                 musicClassFee += parseFloat(item.courseCurrentPrice)
                             }
                             // marketPrice += parseFloat(item.courseOriginalPrice)

+ 2 - 2
src/views/resetTeaming/modals/user-baseinfo.vue

@@ -12,7 +12,7 @@
       v-if="typeof paymentType === 'undefined'"
     >
       <el-radio-group style="width: 100%" v-model="form.leixing">
-        <el-radio label="1">乐团续费</el-radio>
+        <el-radio label="1" v-if="courseViewType != 1">乐团续费</el-radio>
         <el-radio label="2">临时加课</el-radio>
       </el-radio-group>
     </el-form-item>
@@ -46,7 +46,7 @@
 </template>
 <script>
 export default {
-  props: ['form', 'isCommon', 'isUserType', 'typeList', 'charges', 'paymentType', 'chargeTypeName', 'rowDetail'],
+  props: ['form', 'isCommon', 'isUserType', 'typeList', 'charges', 'paymentType', 'chargeTypeName', 'rowDetail','courseViewType'],
   mounted() {
 
   },

+ 111 - 36
src/views/resetTeaming/modals/user-pay-form.vue

@@ -20,6 +20,7 @@
       :rowDetail="rowDetail"
       :chargeTypeName="chargeTypeName"
       :paymentType="paymentType"
+      :courseViewType="courseViewType"
       ref="base"
     />
     <template v-if="paymentTypeString === 'SPAN_GROUP_CLASS_ADJUST'">
@@ -79,14 +80,37 @@
       "
     />
     <template>
+      <el-alert
+        title="会员设置"
+        :closable="false"
+        class="alert"
+        style="margin-top: 20px"
+        type="info"
+        v-if="courseViewType == 1"
+      >
+      </el-alert>
+      <memberSetting
+        v-if="courseViewType == 1"
+        :form="memberForm"
+        :isUserType="isUserType"
+        :organId="baseInfo.organId"
+        :showTime="false"
+      />
       <el-alert title="缴费设置" :closable="false" class="alert" type="info">
       </el-alert>
 
       <el-form ref="payment" :model="payment">
-        <el-form-item label-width="160px"
-          label="系统缴费金额" v-if="!paymentType&&type=='user'&&(courseViewType==2||courseViewType==3)">
+        <el-form-item
+          label-width="160px"
+          label="系统缴费金额"
+          v-if="
+            !paymentType &&
+            type == 'user' &&
+            (courseViewType == 2 || courseViewType == 3)
+          "
+        >
           <el-input :disabled="true" v-model="cloudFee"></el-input>
-          </el-form-item>
+        </el-form-item>
         <el-form-item
           label-width="160px"
           label="缴费方式"
@@ -99,6 +123,7 @@
             style="width: 100% !important"
             v-model="payment.paymentPattern"
             placeholder="请选择缴费方式"
+            :disabled="courseViewType == 1"
           >
             <el-option
               v-for="item in paymentPatternTypeOptions"
@@ -162,6 +187,7 @@
         :isDisabled="
           form.leixing === '1' || form.leixing === '2' || paymentType == '0'
         "
+        :courseViewType="courseViewType"
         v-else
       />
     </template>
@@ -202,10 +228,11 @@ import extraClass from "./extra-class";
 import extraClassUser from "./extra-class-user";
 import classrooms from "./classrooms";
 import otherform from "./other";
+import memberSetting from "./member-setting";
 import baseInfoVue from "../../teamDetail/components/baseInfo.vue";
 import merge from "webpack-merge";
 import numeral from "numeral";
-import { organizationCloudTeacherFeeQueryPage } from '@/api/specialSetting'
+import { organizationCloudTeacherFeeQueryPage } from "@/api/specialSetting";
 const paymentTypeFormat = {
   0: "MUSIC_APPLY",
   1: "MUSIC_RENEW",
@@ -230,6 +257,7 @@ export default {
     extraClassUser,
     classrooms,
     otherform,
+    memberSetting,
   },
   data() {
     return {
@@ -256,8 +284,15 @@ export default {
       viewDetail: null,
       organizationCourseUnitPriceSettingsByType: {},
       paymentPatternTypeOptions: objectToOptions(paymentPatternType),
-      cloudFee:'',
-      courseViewType:''
+      cloudFee: "",
+      courseViewType: "",
+      memberForm: {
+        memberRankSettingId: "",
+        memberValidDate: 6,
+        memberPaymentAmount: "",
+        originalMemberPaymentAmount: "",
+        paymentDate: [],
+      },
     };
   },
   computed: {
@@ -379,21 +414,29 @@ export default {
   },
   methods: {
     async init() {
-      let organId = this.baseInfo?.musicGroup?.organId
-       this.courseViewType = this.baseInfo?.musicGroup?.courseViewType
+      let organId = this.baseInfo?.musicGroup?.organId;
+      this.courseViewType = this.baseInfo?.musicGroup?.courseViewType;
       // 如果为学员缴费且是乐团缴费则显示云教练的价格
-      if(!this.paymentType&&this.type=='user'&&organId&&(this.courseViewType==2||this.courseViewType==3)){
-        try{
-          const res = await organizationCloudTeacherFeeQueryPage({organId})
-          this.courseViewType==2?this.cloudFee = res.data.rows[0].price:this.cloudFee = res.data.rows[0].plusPrice
-        }catch(e){
-          console.log(e)
+      if (
+        !this.paymentType &&
+        this.type == "user" &&
+        organId &&
+        (this.courseViewType == 2 || this.courseViewType == 3)
+      ) {
+        try {
+          const res = await organizationCloudTeacherFeeQueryPage({ organId });
+          this.courseViewType == 2
+            ? (this.cloudFee = res.data.rows[0].price)
+            : (this.cloudFee = res.data.rows[0].plusPrice);
+        } catch (e) {
+          console.log(e);
         }
         // 获取乐团云教练费用
         // this.cloudFee
       }
       this.getCharges();
       if (this.rowDetail) {
+        console.log("this.rowDetail", this.rowDetail);
         for (const key in paymentTypeFormat) {
           if (paymentTypeFormat.hasOwnProperty(key)) {
             const item = paymentTypeFormat[key];
@@ -402,6 +445,7 @@ export default {
             }
           }
         }
+
         this.$set(
           this.other,
           "isGiveMusicNetwork",
@@ -420,8 +464,8 @@ export default {
           ).filter((item) => {
             return !item.isStudentOptional || this.paymentType !== undefined;
           });
-          this.eclassuser = res.data.musicGroupPaymentCalenderStudentDetails.map(
-            (item) => {
+          this.eclassuser =
+            res.data.musicGroupPaymentCalenderStudentDetails.map((item) => {
               if (this.paymentTypeString === "SPAN_GROUP_CLASS_ADJUST") {
                 return {
                   ...item,
@@ -429,13 +473,35 @@ export default {
                 };
               }
               return item;
-            }
-          );
+            });
           this.$set(
             this.payment,
             "paymentPattern",
             String(this.viewDetail.auditDto?.paymentPattern)
           );
+          // 添加会员缴费信息
+          this.$set(
+            this.memberForm,
+            "memberRankSettingId",
+            this.viewDetail.musicGroupPaymentCalenders[0].memberRankSettingId
+          );
+
+          this.$set(
+            this.memberForm,
+            "memberValidDate",
+            this.viewDetail.musicGroupPaymentCalenders[0].memberValidDate
+          );
+          this.$set(
+            this.memberForm,
+            "memberPaymentAmount",
+            this.viewDetail.musicGroupPaymentCalenders[0].memberPaymentAmount
+          );
+          this.$set(
+            this.memberForm,
+            "originalMemberPaymentAmount",
+            this.viewDetail.musicGroupPaymentCalenders[0]
+              .originalMemberPaymentAmount
+          );
           if (this.$refs.cycle) {
             this.$set(
               this.cycle,
@@ -497,8 +563,8 @@ export default {
     },
     syncAllMoney() {
       if (this.paymentTypeString === "SPAN_GROUP_CLASS_ADJUST") {
-        const money = this.viewDetail?.musicGroupPaymentCalenders[0]
-          .paymentAmount;
+        const money =
+          this.viewDetail?.musicGroupPaymentCalenders[0].paymentAmount;
         this.$set(this.cycle, "paymentAmount", money);
         return money;
       }
@@ -623,13 +689,14 @@ export default {
           }
         });
       }
-      if (this.eclass.length < 1 && this.eclassuser.length < 1) {
+      if (this.eclass.length < 1 && this.eclassuser.length < 1&&this.courseViewType !=1) {
         return this.$message.error("请至少选择一条加课信息");
       }
       if (valided.length === forms.length) {
         const { leixing, ...rest } = {
           ...this.form,
           ...this.other,
+
           paymentPattern: this.payment.paymentPattern,
           musicGroupPaymentDateRangeList: [
             ...this.cycles.map((item) => {
@@ -668,6 +735,7 @@ export default {
         }
         const data = {
           ...rest,
+          ...this.memberForm,
           isGiveMusicNetwork: false,
           studentIds: this.studentIds,
           paymentType:
@@ -681,31 +749,37 @@ export default {
           data.attribute1 = info.attribute1;
         }
 
-        let hasCourseFee = false
+        let hasCourseFee = false;
 
         for (const item of data.musicGroupPaymentCalenderCourseSettingsList) {
           if (item.courseCurrentPrice > 0 || item.isStudentOptional == true) {
-            hasCourseFee = true
-            break
+            hasCourseFee = true;
+            break;
           }
         }
         // console.log(this.baseInfo?.musicGroup?.courseViewType, this.paymentType, hasCourseFee, this.type)
-        if ((this.baseInfo?.musicGroup?.courseViewType == 2 || this.baseInfo?.musicGroup?.courseViewType == 3) && this.paymentType == 0 && hasCourseFee && this.type === 'user') {
-          this.$message.error('报名缴费云教练收费模式课程费用不得大于0且不可选')
-          return
+        if (
+          (this.baseInfo?.musicGroup?.courseViewType == 2 ||
+            this.baseInfo?.musicGroup?.courseViewType == 3) &&
+          this.paymentType == 0 &&
+          hasCourseFee &&
+          this.type === "user"
+        ) {
+          this.$message.error(
+            "报名缴费云教练收费模式课程费用不得大于0且不可选"
+          );
+          return;
         }
 
         if (!this.rowDetail?.batchNo) {
-
-
           try {
             const res = await musicGroupPaymentCalenderAdd(data);
-                 if (this.$route.query.team_status == "PRE_BUILD_FEE") {
-                 this.$message.success("创建成功");
-                  this.$store.dispatch("delVisitedViews", this.$route);
-                  this.$router.push({
-                    path: "/teamList",
-                  });
+            if (this.$route.query.team_status == "PRE_BUILD_FEE") {
+              this.$message.success("创建成功");
+              this.$store.dispatch("delVisitedViews", this.$route);
+              this.$router.push({
+                path: "/teamList",
+              });
             }
 
             this.$listeners.close();
@@ -717,7 +791,8 @@ export default {
           try {
             data.batchNo = this.rowDetail.batchNo;
             // 缴费类型无法修改,按照之前覆盖
-            data.paymentType = this.viewDetail.musicGroupPaymentCalenders[0]?.paymentType;
+            data.paymentType =
+              this.viewDetail.musicGroupPaymentCalenders[0]?.paymentType;
             const res = await musicGroupPaymentCalenderDetailBatchUpdate(data);
             this.$listeners.close();
             this.$listeners.submited(res.data);

+ 12 - 3
src/views/teamBuild/components/soundSetComponents/chioseMusic.vue

@@ -92,7 +92,13 @@
               >
             </div>
             <i
-              class="el-icon-close marginLeft10"
+              class="el-icon-circle-plus-outline marginLeft10 iconStyle"
+              v-if="!basdisabled && index == 0"
+              @click="addMusic"
+              style="font-size: 20px; cursor: pointer"
+            ></i>
+            <i
+              class="el-icon-remove-outline marginLeft10 iconStyle"
               v-if="
                 item.chioseMusic.length > 1 &&
                 !basdisabled &&
@@ -133,7 +139,7 @@
       </div>
       <el-divider></el-divider>
     </div>
-    <div class="coreItemRow" v-if="!basdisabled">
+    <!-- <div class="coreItemRow" v-if="!basdisabled">
       <p class="title"></p>
       <el-button
         type="info"
@@ -144,7 +150,7 @@
         @click="addMusic"
         >新增可选乐器</el-button
       >
-    </div>
+    </div> -->
   </div>
 </template>
 <script>
@@ -201,6 +207,9 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
+.iconStyle {
+  color: #999;
+}
 .chioseMusic {
   width: 100%;
   // margin: 30px 0 0;

+ 1 - 1
src/views/teamBuild/components/teamBaseInfo.vue

@@ -872,7 +872,7 @@ export default {
                   this.$msgbox({
                     title: "提示",
                     message: h("p", null, [
-                      h("p", null, "新乐团成"),
+                      h("p", null, "新乐团基础信息创建完成"),
                       h("p", null, "请设置声部信息"),
                     ]),
                     type: "warning",

+ 24 - 22
src/views/teamDetail/components/memberClassList.vue

@@ -339,7 +339,7 @@ export default {
           this.teacherList = res.data;
         }
       });
-      this.getList();
+     await this.getList();
     },
     changeMixClass(val) {
       // 根据合奏班id获取合奏班下的所有声部班
@@ -348,24 +348,25 @@ export default {
       this.activeMixClass = val;
     },
     getList(val) {
-      getAllSignClassandTeacher({ musicGroupId: this.teamid, type: val }).then(
-        (res) => {
-          if (res.code == 200) {
-            this.activeSingleList = [];
-            res.data.map((item) => {
-              if (
-                item.type != "HIGH" &&
-                item.type != "DEMO" &&
-                item.type != "HIGH_ONLINE" &&
-                item.type != "MUSIC_NETWORK"
-              ) {
-                this.activeSingleList.push(item);
-              }
-            });
-            // this.topForm.count = this.activeSingleList.length
-          }
+      return getAllSignClassandTeacher({
+        musicGroupId: this.teamid,
+        type: val,
+      }).then((res) => {
+        if (res.code == 200) {
+          this.activeSingleList = [];
+          res.data.map((item) => {
+            if (
+              item.type != "HIGH" &&
+              item.type != "DEMO" &&
+              item.type != "HIGH_ONLINE" &&
+              item.type != "MUSIC_NETWORK"
+            ) {
+              this.activeSingleList.push(item);
+            }
+          });
+          // this.topForm.count = this.activeSingleList.length
         }
-      );
+      });
     },
     goBack() {
       this.$router.push({
@@ -464,7 +465,8 @@ export default {
                 this.musicGroupSchoolTermCourseDetailId,
             });
             this.$message.success("取消成功");
-            this.getList();
+             this.getList();
+
           } catch (e) {}
           // musicGroupSchoolTermCourseDetailId
         })
@@ -500,7 +502,7 @@ export default {
                 this.musicGroupSchoolTermCourseDetailId,
             });
             this.$message.success("提交成功");
-            this.getList();
+            await this.getList();
             this.goBack();
           } catch (e) {}
           //
@@ -532,8 +534,8 @@ export default {
             // musicGroupSchoolTermCourseDetailId
           })
           .catch(() => {});
-      }else{
-        next()
+      } else {
+        next();
       }
     });
   },

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

@@ -508,7 +508,7 @@ export default {
   display: flex;
   flex-direction: row;
   align-items: center;
-  justify-content: space-between;
+  justify-content: flex-end;
   // text-align: right;
   p {
     font-size: 16px;