Browse Source

添加预报名

lex-xin 4 năm trước cách đây
mục cha
commit
7eaf277140

+ 8 - 0
src/views/teamBuild/api.js

@@ -55,6 +55,14 @@ export const queryPreApplyList = data => request2({
   requestType: 'json'
 })
 
+// 意向列表
+export const queryPreApplySubjectList = data => request2({
+  url: '/api-web/studentRegistration/queryPreApplySubjectList',
+  params: data,
+  method: 'get',
+  requestType: 'json'
+})
+
 // 发送家长会通知
 export const sendParentMeetingNotice = data => request2({
   url: '/api-web/musicGroup/sendParentMeetingNotice',

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

@@ -27,6 +27,9 @@
             <auth :auths="['studentRegistration/preRegisterExport']">
               <el-button type="primary" @click="downloadFile">导出</el-button>
             </auth>
+            <auth :auths="['studentRegistration/preRegisterExport']">
+              <el-button type="primary" @click="subjectVisible = true">意向统计</el-button>
+            </auth>
         </div>
 
         <div class="m-core">
@@ -219,6 +222,17 @@
         >
             <visit-model v-if="visitVisible" @close="visitVisible = false" :detail="visitDetail" @submited="getList"/>
         </el-dialog>
+
+        <!-- 回访记录 -->
+        <el-dialog
+            title="意向列表"
+            width="600px"
+            destroy-on-close
+            :close-on-click-modal="false"
+            :visible.sync="subjectVisible"
+        >
+            <intention-model v-if="subjectVisible" @close="subjectVisible = false" />
+        </el-dialog>
     </div>
 </template>
 
@@ -229,10 +243,11 @@ import { permission } from "@/utils/directivePage";
 import { vaildStudentUrl } from '@/utils/validate'
 import { Export } from '@/utils/downLoadFile'
 import visitModel from '@/views/withdrawal-application/modals/visit'
+import intentionModel from './modals/intention'
 import { queryPreApplyList, finishPreApply, sendParentMeetingNotice } from './api'
 export default {
     name: 'forecastName',
-    components: { pagination, qrCode, visitModel },
+    components: { pagination, qrCode, visitModel, intentionModel },
     data() {
         const query = this.$route.query
         return {
@@ -254,6 +269,7 @@ export default {
                 page_size: [10, 20, 40, 50], // 选择限制显示条数
             },
             visitVisible: false,
+            subjectVisible: false,
             visitDetail: null,
             extendPaymentStatus: false,
             extendForm: {

+ 67 - 0
src/views/teamBuild/modals/intention.vue

@@ -0,0 +1,67 @@
+<template>
+  <div>
+      <el-table
+        style="width: 100%"
+        max-height="300px"
+        :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        :data="list"
+      >
+        <el-table-column prop="subjectName" align="center" label="声部">
+        </el-table-column>
+        <el-table-column prop="firstSubjectNum" align="center" label="首选人数">
+          <template slot-scope="scope">
+            {{ scope.row.firstSubjectNum }}人
+          </template>
+        </el-table-column>
+        <el-table-column prop="secondSubjectNum" align="center" label="首选人数">
+            <template slot-scope="scope">
+                {{ scope.row.secondSubjectNum }}人
+            </template>
+        </el-table-column>
+      </el-table>
+  </div>
+</template>
+<script>
+import { queryPreApplySubjectList } from '../api'
+export default {
+    data() {
+        let query = this.$route.query
+        return {
+            list: [{
+                "firstSubjectNum": 0,
+                "secondSubjectNum": 40,
+                "subjectName": "萨克斯"
+            },
+            {
+                "firstSubjectNum": 1,
+                "secondSubjectNum": 0,
+                "subjectName": "其他"
+            },
+            {
+                "firstSubjectNum": 40,
+                "secondSubjectNum": 1,
+                "subjectName": "长笛"
+            }],
+            musicGroupId: query.id
+        }
+    },
+    mounted() {
+        
+    },
+    methods: {
+        async FetchList() {
+            const res = await queryPreApplySubjectList({
+                musicGroupId: this.musicGroupId,
+            })
+            this.list = res.data
+        },
+    }
+}
+</script>
+<style lang="less" scoped>
+  .dialog-footer{
+    margin-top: 20px;
+    display: block;
+    text-align: right;
+  }
+</style>