lex-xin 4 سال پیش
والد
کامیت
4d5975abe7
2فایلهای تغییر یافته به همراه129 افزوده شده و 213 حذف شده
  1. 13 0
      src/views/matchManager/api.js
  2. 116 213
      src/views/matchManager/index.vue

+ 13 - 0
src/views/matchManager/api.js

@@ -0,0 +1,13 @@
+import request from '@/utils/request'
+// import qs from 'qs'
+let api = '/api-web'
+
+// 考级列表
+export function studentCompetitionPage(data) {
+    return request({
+      url: api + '/studentCompetition/queryPage',
+      method: 'post',
+      data
+    })
+}
+

+ 116 - 213
src/views/matchManager/index.vue

@@ -12,20 +12,8 @@
                     placeholder='选手姓名/身份证号/年龄'></el-input>
         </el-form-item>
         <el-form-item>
-          <el-select v-model.trim="searchForm.organId"
+          <el-select v-model.trim="searchForm.gender"
                      clearable
-                     filterable
-                     placeholder="请选择年级">
-            <el-option v-for="(item,index) in organList"
-                       :key="index"
-                       :label="item.name"
-                       :value="item.id"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-select v-model.trim="searchForm.complaintsStatus"
-                     clearable
-                     filterable
                      placeholder="请选择性别">
             <el-option label="男"
                        :value="1"></el-option>
@@ -34,16 +22,38 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-date-picker v-model.trim="searchForm.timer"
-                          style="width:400px;"
-                          type="daterange"
-                          value-format="yyyy-MM-dd"
-                          range-separator="至"
-                          start-placeholder="课程开始日期"
-                          end-placeholder="课程结束日期"
-                          :picker-options="{
-        firstDayOfWeek: 1
-    }"></el-date-picker>
+          <el-select v-model.trim="searchForm.subject"
+                     clearable
+                     placeholder="请选择参赛专业">
+            <el-option label="长笛" value="长笛"></el-option>
+            <el-option label="单簧管" value="单簧管"></el-option>
+            <el-option label="萨克斯" value="萨克斯"></el-option>
+            <el-option label="小号" value="小号"></el-option>
+            <el-option label="圆号" value="圆号"></el-option>
+            <el-option label="长号" value="长号"></el-option>
+            <el-option label="上低音号" value="上低音号"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model.trim="searchForm.prizeLevel"
+                     clearable
+                     placeholder="请选择获奖级别">
+            <el-option label="大雅之星" :value="1"></el-option>
+            <el-option label="一等奖" :value="2"></el-option>
+            <el-option label="二等奖" :value="3"></el-option>
+            <el-option label="三等奖" :value="4"></el-option>
+            <el-option label="四等奖" :value="5"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select v-model.trim="searchForm.isShow"
+                     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-button type="danger"
@@ -57,65 +67,67 @@
                   :header-cell-style="{background:'#EDEEF0',color:'#444'}"
                   :data="tableList">
           <el-table-column align="center"
-                           prop="organName"
-                           label="分部"></el-table-column>
+                           prop="userId"
+                           label="选手编号"></el-table-column>
           <el-table-column align="center"
-                           prop="courseScheduleId"
-                           label="课程编号"></el-table-column>
+                           prop="username"
+                           label="选手姓名"></el-table-column>
           <el-table-column align="center"
-                           prop="courseScheduleName"
-                           label="课程名称"></el-table-column>
+                           prop="idCardNo"
+                           label="身份证号码"></el-table-column>
           <el-table-column align="center"
-                           width="180"
-                           prop="courseScheduleTime"
-                           label="课程时间">
+                           prop="age"
+                           label="年龄"></el-table-column>
+          <el-table-column align="center"
+                           prop="grade"
+                           label="年级"></el-table-column>
+          <el-table-column align="center"
+                           label="性别">
             <template slot-scope="scope">
-              <div>
-                <p>{{scope.row.courseScheduleTime}} {{ scope.row.courseScheduleStartTime | timerForMinFormat }}-{{scope.row.courseScheduleEndTime | timerForMinFormat    }}</p>
-              </div>
+              {{ scope.row.gender ? '男' : '女' }}
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="status"
-                           label="签到状态">
+          <el-table-column align="center"
+                           prop="subject"
+                           label="参赛专业"></el-table-column>
+          <el-table-column align="center"
+                           prop="chapter"
+                           label="参赛曲目"></el-table-column>
+          <el-table-column align="center"
+                           prop="score"
+                           label="得分"></el-table-column>
+          <el-table-column align="center"
+                           prop="prizeLevel"
+                           label="获奖级别">
             <template slot-scope="scope">
-              <div>
-                <p>{{scope.row.signInStatus | attendanceType  }}</p>
-              </div>
+              {{ prizeLevelList[scope.row.prizeLevel] }}
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="status"
-                           label="签退状态">
+          <el-table-column align="center"
+                           prop="isShow"
+                           label="是否展示">
             <template slot-scope="scope">
-              <div>
-                <p>{{scope.row.signOutStatus | attendanceOutType  }}</p>
-              </div>
+              {{ scope.row.isShow ? '是' : '否' }}
             </template>
           </el-table-column>
           <el-table-column align="center"
-                           prop="teacherName"
-                           label="老师名称"></el-table-column>
-          <el-table-column align="center"
-                           prop="studentId"
-                           label="状态">
+                           prop="comment"
+                           label="选手点评">
             <template slot-scope="scope">
-              <div>
-                {{scope.row.complaintsStatusEnum|complaintsStatusEnum}}
-              </div>
+              <tooltip :content="scope.row.comment" />
             </template>
           </el-table-column>
           <el-table-column align="center"
-                           prop="operatorName"
-                           label="申诉处理者"></el-table-column>
-          <el-table-column align="center"
                            label="操作">
             <!-- teacherAttendance/agreeTeacherAttendanceComplaints -->
             <template slot-scope="scope">
               <div>
                 <el-button type="text"
                            v-if="permission('teacherAttendance/operation')"
-                           @click="lookDetail(scope.row)">操作</el-button>
+                           @click="lookDetail(scope.row)">查看</el-button>
+                <el-button type="text"
+                           v-if="permission('teacherAttendance/operation')"
+                           @click="lookDetail(scope.row)">评审</el-button>
               </div>
             </template>
           </el-table-column>
@@ -127,41 +139,35 @@
                     @pagination="getList" />
       </div>
     </div>
-    <el-dialog title="课时申述"
+    <!-- <el-dialog title="课时申述"
                :visible.sync="dialogVisible"
                width="400px">
-      <div>
-        <div class="titleP">
-          <p>签到时间:{{visibleForm.signInTime}}</p>
-          <p>签退时间:{{visibleForm.signOutTime}}</p>
-        </div>
-        <el-form ref="visibleForm"
-                 :model="visibleForm"
-                 class="visibleForm">
-          <el-form-item label="申诉内容"
-                        :rules="[{ required: true, message: '请填写申诉内容',trigger: 'blur'}]"
-                        prop="complaintsContent">
-            <el-input type="textarea"
-                      :rows="5"
-                      :disabled="visibleForm.complaintsStatusEnum !='2'"
-                      v-model.trim="visibleForm.complaintsContent"></el-input>
-          </el-form-item>
-          <el-form-item label="处理意见"
-                        :rules="[{ required: true, message: '请填写处理意见',trigger: 'blur'}]"
-                        prop="disposeContent">
-            <el-input type="textarea"
-                      :rows="5"
-                      :disabled="visibleForm.complaintsStatusEnum !='2'"
-                      v-model.trim="visibleForm.disposeContent"></el-input>
-          </el-form-item>
-          <el-form-item label="请选择需要补正的状态"
-                        v-if="visibleForm.complaintsStatusEnum =='2'">
-            <br />
-            <el-checkbox v-model="visibleForm.reSignInStatus">签到状态</el-checkbox>
-            <el-checkbox v-model="visibleForm.reSignOutStatus">签退状态</el-checkbox>
-          </el-form-item>
-        </el-form>
-      </div>
+      <el-form ref="visibleForm"
+                :model="visibleForm"
+                class="visibleForm">
+        <el-form-item label="申诉内容"
+                      :rules="[{ required: true, message: '请填写申诉内容',trigger: 'blur'}]"
+                      prop="complaintsContent">
+          <el-input type="textarea"
+                    :rows="5"
+                    :disabled="visibleForm.complaintsStatusEnum !='2'"
+                    v-model.trim="visibleForm.complaintsContent"></el-input>
+        </el-form-item>
+        <el-form-item label="处理意见"
+                      :rules="[{ required: true, message: '请填写处理意见',trigger: 'blur'}]"
+                      prop="disposeContent">
+          <el-input type="textarea"
+                    :rows="5"
+                    :disabled="visibleForm.complaintsStatusEnum !='2'"
+                    v-model.trim="visibleForm.disposeContent"></el-input>
+        </el-form-item>
+        <el-form-item label="请选择需要补正的状态"
+                      v-if="visibleForm.complaintsStatusEnum =='2'">
+          <br />
+          <el-checkbox v-model="visibleForm.reSignInStatus">签到状态</el-checkbox>
+          <el-checkbox v-model="visibleForm.reSignOutStatus">签退状态</el-checkbox>
+        </el-form-item>
+      </el-form>
       <div slot="footer"
            v-if="visibleForm.complaintsStatusEnum =='2'">
         <el-button v-permission="'teacherAttendance/rejectTeacherAttendanceComplaints'"
@@ -170,35 +176,27 @@
                    type="primary"
                    @click="subreset('AGREED')">同意</el-button>
       </div>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>
 
 <script>
-import axios from "axios";
-import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
-import load from "@/utils/loading";
-import { getEmployeeOrgan } from "@/api/buildTeam";
 import { permission } from '@/utils/directivePage'
-import {
-  queryTeacherAttendanceComplaints,
-  agreeTeacherAttendanceComplaints,
-  rejectTeacherAttendanceComplaints
-} from "@/api/journal";
+import Tooltip from '@/components/Tooltip/index'
+import { studentCompetitionPage } from './api'
 export default {
-  components: { pagination },
+  components: { pagination, Tooltip },
   data () {
     return {
       searchForm: {
         search: null,
-        organId: null,
-        complaintsStatus: null,
-        timer: []
+        gender: null,
+        subject: null,
+        prizeLevel: null,
+        isShow: null
       },
-      teacherList: [],
       tableList: [],
-      organList: [],
       rules: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -206,55 +204,35 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50] // 选择限制显示条数
       },
+      prizeLevelList: {
+        1: '大雅之星',
+        2: '一等奖',
+        3: '二等奖',
+        4: '三等奖',
+        5: '四等奖'
+      },
       dialogVisible: false,
-      visibleForm: {
-        complaintsContent: null,
-        complaintsStatusEnum: null,
-        disposeContent: null,
-        signInStatus: null,
-        signOutStatus: null,
-        teacherAttendanceId: null,
-        reSignInStatus: null,
-        reSignOutStatus: null
-      }
     };
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created () { },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {
-    getEmployeeOrgan().then(res => {
-      if (res.code == 200) {
-        this.organList = res.data;
-      }
-    });
-    // 获取分部
-
-    this.init();
-
-
+    this.getList()
   },
   activated () {
-    this.init();
+    // this.getList()
   },
   methods: {
-    init () {
-      this.getList()
-    },
     permission (str) {
       return permission(str)
     },
     getList () {
       let obj = {}
       Object.assign(obj, this.searchForm)
-      if (obj.timer && obj.timer.length > 0) {
-        obj.courseScheduleStartDate = obj.timer[0]
-        obj.courseScheduleEndDate = obj.timer[1]
-      }
       obj.rows = this.rules.limit;
       obj.page = this.rules.page;
-      delete obj.timer
-      queryTeacherAttendanceComplaints(obj).then(res => {
+      studentCompetitionPage(obj).then(res => {
         if (res.code == 200) {
           this.rules.total = res.data.total;
           this.tableList = res.data.rows
@@ -273,81 +251,6 @@ export default {
         timer: []
       }
       this.search()
-    },
-    subreset (str) {
-      if (str == 'AGREED') {
-        // 同意
-        this.$refs['visibleForm'].validate(flag => {
-          if (flag) {
-            let obj = {}
-            if (!this.visibleForm.reSignInStatus && !this.visibleForm.reSignOutStatus) {
-              this.$message.error('请修正签到状态或签退状态')
-              return
-            }
-            //visibleForm.reSignInStatus
-            this.visibleForm.reSignInStatus ? obj.signInStatus = 1 : null
-            this.visibleForm.reSignOutStatus ? obj.signOutStatus = 1 : null
-            obj.content = this.visibleForm.disposeContent
-            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
-            agreeTeacherAttendanceComplaints(obj).then(res => {
-              if (res.code == 200) {
-                this.dialogVisible = false;
-                this.$message.success('同意申诉成功')
-                this.getList();
-              }
-            })
-          }
-        })
-
-      } else {
-        // 拒绝
-        this.$refs['visibleForm'].validate(flag => {
-          if (flag) {
-            let obj = {}
-            obj.content = this.visibleForm.disposeContent
-            obj.teacherAttendanceId = this.visibleForm.teacherAttendanceId;
-            rejectTeacherAttendanceComplaints(obj).then(res => {
-              if (res.code == 200) {
-                this.dialogVisible = false;
-                this.$message.success('拒绝申诉成功')
-                this.getList();
-              }
-            })
-          }
-        })
-
-      }
-    },
-    lookDetail (row) {
-      this.visibleForm = {
-        complaintsContent: row.complaintsContent,
-        complaintsStatusEnum: row.complaintsStatusEnum,
-        disposeContent: row.disposeContent,
-        signInStatus: row.signInStatus,
-        signOutStatus: row.signOutStatus,
-        signInTime: row.signInTime,
-        signOutTime: row.signOutTime,
-        teacherAttendanceId: row.teacherAttendanceId,
-        reSignInStatus: null,
-        reSignOutStatus: null
-      }
-      this.dialogVisible = true
-    }
-  },
-  watch: {
-    dialogVisible (val) {
-      if (!val) {
-        this.visibleForm = {
-          complaintsContent: null,
-          complaintsStatusEnum: null,
-          disposeContent: null,
-          signInStatus: null,
-          signOutStatus: null,
-          teacherAttendanceId: null,
-          reSignInStatus: null,
-          reSignOutStatus: null
-        }
-      }
     }
   }
 };