Explorar o código

05/18 15:17

提交缴费周期
mo %!s(int64=5) %!d(string=hai) anos
pai
achega
b458dc66e9

+ 102 - 16
src/views/resetTeaming/components/resetPayList.vue

@@ -1,22 +1,44 @@
 <!--  -->
 <template>
-
   <div class="m-core">
-    <el-form :inline="true"
-             :model="searchForm">
-      <el-form-item>
-        <el-input v-model.trim="searchForm.search"
-                  @keyup.enter.native="search"
-                  placeholder></el-input>
-      </el-form-item>
-    </el-form>
+    <div class="topWrap">
+      <div class="newBand"
+           @click="newPay">新建缴费</div>
+      <div class="newBand">学员缴费设置</div>
+    </div>
     <div class="tableWrap">
       <el-table style="width: 100%"
                 :header-cell-style="{background:'#EDEEF0',color:'#444'}"
                 :data="tableList">
         <el-table-column align="center"
                          prop="studentId"
-                         label="分部"></el-table-column>
+                         label="缴费开始日期"></el-table-column>
+        <el-table-column align="center"
+                         prop="studentId"
+                         label="缴费结束日期"></el-table-column>
+        <el-table-column align="center"
+                         prop="studentId"
+                         label="预计缴费人数"></el-table-column>
+        <el-table-column align="center"
+                         prop="studentId"
+                         label="实际缴费人数"></el-table-column>
+        <el-table-column align="center"
+                         prop="studentId"
+                         label="状态"></el-table-column>
+        <el-table-column align="center"
+                         prop="studentId"
+                         label="备注"></el-table-column>
+        <el-table-column align="center"
+                         label="操作">
+          <template slot-scope="scope">
+            <div>
+              <el-button type="text">查看</el-button>
+              <el-button type="text"
+                         @click="resetPay(scope.row)">修改</el-button>
+              <el-button type="text">删除</el-button>
+            </div>
+          </template>
+        </el-table-column>
       </el-table>
       <pagination :total="rules.total"
                   :page.sync="rules.page"
@@ -24,9 +46,34 @@
                   :page-sizes="rules.page_size"
                   @pagination="getList" />
     </div>
+    <el-dialog :visible.sync="payVisible"
+               width="500px"
+               :title="diTitle">
+      <el-form :model="payForm"
+               ref='payForm'>
+        <el-form-item label="缴费开始日期"
+                      :rules="[{ required: true, message: '请设置缴费开始日期',trigger: 'blur'}]"
+                      prop="startDate">
+          <el-date-picker v-model.trim="payForm.startDate"
+                          type="date"
+                          :picker-options="pickerOptions"
+                          value-format="yyyy-MM-dd"
+                          placeholder="开始日期"></el-date-picker>
+        </el-form-item>
+      </el-form>
+      <div slot="footer"
+           class="dialog-footer">
+        <el-button @click="payVisible = false">取 消</el-button>
+        <el-button type="primary"
+                   v-if="isNew"
+                   @click="">确 定</el-button>
+        <el-button type="primary"
+                   v-else
+                   @click="">确 定</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
-
 <script>
 import axios from "axios";
 import { getToken } from "@/utils/auth";
@@ -42,7 +89,7 @@ export default {
         search: null
       },
       teacherList: [],
-      tableList: [],
+      tableList: [{}],
       organList: [],
       rules: {
         // 分页规则
@@ -51,7 +98,19 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
-      isInit: false
+      isInit: false,
+      diTitle: '新增缴费',
+      payVisible: false,
+      payForm: {
+        startDate: null
+      },
+      isNew: false,
+      activeRow: null,
+      pickerOptions: {
+        disabledDate (time) {
+          return time.getTime() + 86400000 <= new Date().getTime();
+        }
+      },
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
@@ -69,12 +128,39 @@ export default {
   },
   methods: {
     init () {
-      this.isInit = true;
-      this.isInit = false;
     },
-    getList () { }
+    getList () { },
+    newPay () {
+      this.diTitle = '新增缴费'
+      this.isNew = true
+      this.payVisible = true;
+    },
+    resetPay (row) {
+      this.diTitle = '修改缴费'
+      this.isNew = false
+      this.activeRow = row
+      this.payVisible = true;
+    }
+  },
+  watch: {
+    payVisible (val) {
+      if (!val) {
+        this.payForm = {
+          startDate: null
+        }
+        this.$refs['payForm'].resetFields()
+      }
+    }
   }
 };
 </script>
 <style lang='scss' scoped>
+.topWrap {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  div {
+    margin-right: 10px;
+  }
+}
 </style>

+ 13 - 7
src/views/resetTeaming/index.vue

@@ -16,15 +16,20 @@
           <teamBaseInfo v-if="activeIndex == 1"
                         @getName='getName' />
         </el-tab-pane>
-        <el-tab-pane label="缴费调整"
+        <el-tab-pane label="声部收费设置"
                      v-if="permission('/resetTeaming/resetSound')"
                      name="2">
           <resetSound v-if="activeIndex == 2" />
         </el-tab-pane>
+        <el-tab-pane label="缴费设置"
+                     v-if="permission('/resetTeaming/resetPayList')"
+                     name="3">
+          <resetPayList v-if="activeIndex == 3" />
+        </el-tab-pane>
         <el-tab-pane label="班级调整"
                      v-if="permission('/resetTeaming/resetClass')"
-                     name="3">
-          <resetClass v-if="activeIndex == 3" />
+                     name="4">
+          <resetClass v-if="activeIndex == 4" />
         </el-tab-pane>
         <!-- <el-tab-pane label="新增排课"
                      v-if="permission('/resetTeaming/coursePlan')"
@@ -44,12 +49,13 @@
 import teamBaseInfo from '@/views/teamBuild/components/teamBaseInfo'
 import resetSound from '@/views/resetTeaming/components/resetSound'
 import resetClass from '@/views/teamDetail/components/resetClass'
-import coursePlan from '@/views/teamBuild/teamSeting/components/coursePlan'
-import lookCourse from '@/views/teamBuild/teamSeting/components/lookCourse'
-import improvement from '@/views/teamBuild/teamSeting/components/improvementClass'
+// import coursePlan from '@/views/teamBuild/teamSeting/components/coursePlan'
+// import lookCourse from '@/views/teamBuild/teamSeting/components/lookCourse'
+// import improvement from '@/views/teamBuild/teamSeting/components/improvementClass'
+import resetPayList from '@/views/resetTeaming/components/resetPayList'
 import { permission } from '@/utils/directivePage'
 export default {
-  components: { teamBaseInfo, resetSound, resetClass, coursePlan, lookCourse, improvement },
+  components: { teamBaseInfo, resetSound, resetClass, resetPayList },
   name: 'resetTeaming',
   data () {
     return {

+ 11 - 3
src/views/teamDetail/components/resetClass.vue

@@ -756,7 +756,9 @@ export default {
         { value: "NORMAL", label: "单技班" },
         { value: "MIX", label: "合奏班" },
         { value: "HIGH", label: "基础技能班" },
-        { value: "SNAP", label: "临时班" }
+        { value: "SNAP", label: "临时班" },
+        { value: "HIGH_ONLINE", label: "线上基础技能班" },
+        { value: "MUSIC_NETWORK", label: "乐团网管课" }
       ],
       cooperationList: [],
       singleList: [],
@@ -1169,8 +1171,14 @@ export default {
         return item.userId;
       });
       if (arr.length <= 0) {
-        this.$message.error("至少添加一名学员");
-        return;
+        if (this.isNewClass) {
+          this.$message.error("至少添加一名学员");
+          return;
+        } else {
+          this.studentVisible = false;
+          return
+        }
+
       }
       if (this.activeType == "HIGH_ONLINE") {
         superFindClassGroups({ classGroupId: this.activeClass }).then(res => {