Forráskód Böngészése

添加预报名页面

lex-xin 4 éve
szülő
commit
c6d48ff68f

+ 1 - 1
src/utils/searchArray.js

@@ -99,9 +99,9 @@ export const dealStatus = [
 export const musicGroupStatus = [
   { value: 'DRAFT', text: '编辑中' },
   { value: 'AUDIT', text: '审核中' },
-  { value: 'APPLY', text: '报名中' },
   { value: 'PRE_APPLY', text: '预报名中' },
   { value: 'PRE_BUILD_FEE', text: '创建缴费中' },
+  { value: 'APPLY', text: '报名中' },
   { value: 'PAY', text: '缴费中' },
   { value: 'PREPARE', text: '筹备中' },
   { value: 'PROGRESS', text: '进行中' },

+ 193 - 0
src/views/teamBuild/components/forecast-list.vue

@@ -0,0 +1,193 @@
+<template>
+    <div class="forecastName">
+
+        <div class="m-core">
+            <save-form
+                :inline="true"
+                @reset="onReSet"
+                @submit="search"
+                :model="searchForm"
+                ref="searchForm"
+            >
+                <el-form-item>
+                    <el-input
+                        v-model.trim="searchForm.name"
+                        clearable
+                        @keyup.enter.native="search"
+                        placeholder="学生编号/姓名/手机号"
+                    ></el-input>
+                </el-form-item>
+                <el-form-item prop="isAllowAdjust">
+                    <el-select
+                        v-model.trim="searchForm.isAllowAdjust"
+                        clearable
+                        placeholder="是否允许调剂"
+                    >
+                        <el-option label="是" :value="1"></el-option>
+                        <el-option label="否" :value="0"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-select clearable v-model="searchForm.subjectId" placeholder="所选专业">
+                        <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-form-item>
+                    <el-button type="danger" native-type="seach">搜索</el-button>
+                    <el-button native-type="reset" type="primary">重置</el-button>
+                </el-form-item>
+            </save-form>
+            <div class="tableWrap">
+                <el-table
+                style="width: 100%"
+                :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+                :data="tableList"
+                >
+                    <el-table-column
+                        align="center"
+                        prop="userId"
+                        label="学员编号"
+                    >
+                        <template slot-scope="scope">
+                            <copy-text>{{ scope.row.userId }}</copy-text>
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="userName"
+                        label="学员姓名"
+                    ></el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="gender"
+                        label="性别"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.gender ? '男' : '女' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="phone"
+                        label="联系电话"
+                    >
+                        <template slot-scope="scope">
+                            <copy-text>{{ scope.row.phone }}</copy-text>
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        label="年级班级"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.currentGrade }}{{ scope.row.currentClass }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="subjectFirstName"
+                        label="选报声部1"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.subjectFirstName }},{{ scope.row.subjectSecondName }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="isAllowAdjust"
+                        label="是否服从调剂"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.isAllowAdjust ? '是' : '否' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="realName"
+                        label="乐器准备方式"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.kitPurchaseMethod == 1 ? '参与团购' : '自行准备' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column
+                        align="center"
+                        prop="isRegistered"
+                        label="是否已报名"
+                    >
+                        <template slot-scope="scope">
+                            {{ scope.row.isRegistered ? '是' : '否' }}
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <pagination
+                    sync
+                    :total.sync="pageInfo.total"
+                    :page.sync="pageInfo.page"
+                    :limit.sync="pageInfo.limit"
+                    :page-sizes="pageInfo.page_size"
+                    @pagination="getList"
+                    />
+            </div>
+        </div>
+
+    </div>
+</template>
+
+<script>
+import pagination from "@/components/Pagination/index";
+import { queryPreApplyList } from '../api'
+export default {
+    name: 'forecastName',
+    components: { pagination },
+    data() {
+        const query = this.$route.query
+        return {
+            musicGroupId: query.id,
+            searchForm: {
+                name: null,
+                subjectId: null,
+                isAllowAdjust: null,
+            },
+            tableList: [],
+            pageInfo: {
+                // 分页规则
+                limit: 10, // 限制显示条数
+                page: 1, // 当前页
+                total: 0, // 总条数
+                page_size: [10, 20, 40, 50], // 选择限制显示条数
+            },
+        }
+    },
+    mounted() {
+        this.$store.dispatch('setSubjects')
+        this.getList()
+    },
+    methods: {
+        onReSet() {
+            this.$refs['searchForm'].resetFields()
+            this.search()
+        },
+        search() {
+            this.pageInfo.page = 1
+            this.getList()
+        },
+        async getList() {
+            try {
+                const result = await queryPreApplyList({
+                    ...this.searchForm,
+                    musicGroupId: this.musicGroupId,
+                    page: this.pageInfo.page,
+                    rows: this.pageInfo.limit
+                })
+                this.tableList = result.data.rows
+                this.pageInfo.total = result.data.total
+            } catch (error) {}
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+
+</style>

+ 1 - 0
src/views/teamBuild/forecastName.vue

@@ -269,6 +269,7 @@ export default {
             try {
                 const result = await queryPreApplyList({
                     ...this.searchForm,
+                    musicGroupId: this.musicGroupId,
                     page: this.pageInfo.page,
                     rows: this.pageInfo.limit
                 })

+ 16 - 0
src/views/teamBuild/signupList.vue

@@ -58,6 +58,12 @@
           </div>
           <div
             class="newBand"
+            @click="forecastVisible = true"
+          >
+            预报名名单
+          </div>
+          <div
+            class="newBand"
             v-permission="'musicGroup/addMusicGroupRegs'"
             @click="mergeVisible = true"
           >
@@ -68,6 +74,13 @@
       <el-dialog title="选择合并乐团" :visible.sync="mergeVisible" width="950px">
         <mergeMusic v-if="mergeVisible" style="padding: 0 20px;" :organId="organId" @close="mergeVisible = false"/>
       </el-dialog>
+
+      <el-dialog title="预报名名单" :visible.sync="forecastVisible" width="950px">
+        <forecastList
+          v-if="forecastVisible"
+          @close="forecastVisible = false"
+        />
+      </el-dialog>
       <!--  stepImgs: {
         APPLY: require('@/assets/images/base/clock.png'),
         PAY: require('@/assets/images/base/pay.png')
@@ -618,6 +631,7 @@ import {
   StudentQuit,
 } from "@/api/buildTeam";
 import mergeMusic from './components/merge-music'
+import forecastList from './components/forecast-list'
 import { resetStudentSubject, getStudentFeeDetail } from "@/api/studentManager";
 import { vaildStudentUrl, vaildTeacherUrl } from "@/utils/validate";
 import { addVisit } from "@/views/returnVisitManager/api.js";
@@ -636,10 +650,12 @@ export default {
     pagination,
     changeVoice,
     mergeMusic,
+    forecastList
   },
   data() {
     return {
       multipleSelection: [], //
+      forecastVisible: false, // 预报名状态
       isEdit: false,
       rowDetail: null,
       mergeVisible: false,

+ 1 - 1
src/views/teamDetail/teamList.vue

@@ -213,7 +213,7 @@
                 <!-- 创建缴费中 查看 -->
                 <el-button type="text"
                            v-if="scope.row.status == 'PRE_BUILD_FEE' && permission('/createPayment')"
-                           @click="lookTeamDetail(scope.row)">查看</el-button>
+                           @click="lookTeamDetail(scope.row)">创建缴费</el-button>
 
                 <!-- <el-button type="text"
                            v-if="scope.row.status != 'PROGRESS' && scope.row.status != 'CANCELED'  && scope.row.status != 'PAUSE' && scope.row.status != 'APPLY'&& scope.row.status != 'PAY'"