From 0a9d8e014803308c2eef22ca1e83c50d4086b37d Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期五, 17 五月 2024 10:47:26 +0800
Subject: [PATCH] fix:上传类型限制

---
 src/views/user/student/list.vue |   74 ++++++++++++++++++++++++++++++++----
 1 files changed, 65 insertions(+), 9 deletions(-)

diff --git a/src/views/user/student/list.vue b/src/views/user/student/list.vue
index db7a57d..ba02de0 100644
--- a/src/views/user/student/list.vue
+++ b/src/views/user/student/list.vue
@@ -2,11 +2,11 @@
   <div class="app-container">
     <el-form :model="queryParam" ref="queryForm" :inline="true">
       <el-form-item label="鐪熷疄濮撳悕锛�">
-        <el-input v-model="queryParam.userName"></el-input>
+        <el-input v-model="queryParam.userName" size="small" clearable></el-input>
       </el-form-item>
       <el-form-item >
        <div style="display: flex">
-         <el-button type="primary" @click="submitForm">鏌ヨ</el-button>
+         <el-button type="primary" @click="submitForm" size="small">鏌ヨ</el-button>
          <router-link :to="{path:'/user/student/edit'}" class="link-left">
            <el-button type="primary">娣诲姞</el-button>
          </router-link>
@@ -28,21 +28,21 @@
 
     <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
       <el-table-column prop="userName" label="鐢ㄦ埛鍚�"/>
-      <el-table-column prop="realName" label="鐪熷疄濮撳悕" />
+      <el-table-column prop="realName" label="鐪熷疄濮撳悕" width="150"/>
       <el-table-column prop="deptNames" label="閮ㄩ棬" />
       <el-table-column label="鏍囩" prop="tagNames" width="80px">
         <template slot-scope="{row}">
           <el-tag style="margin: 5px;" v-for="(item,index) in row.tagNames" :key="index">{{ item }}</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="浜哄憳鐘舵��" prop="condition">
+      <el-table-column label="浜哄憳鐘舵��" prop="condition" align="center" width="100px">
         <template slot-scope="{row}">
-          <el-tag type="warning" v-if="row.condition">{{ row.condition }}</el-tag>
+          <el-tag :type="row.condition == '姝e父' || row.condition == null  ? 'success' : 'warning'">{{ row.condition ? row.condition : '姝e父' }}</el-tag>
         </template>
       </el-table-column>
       <el-table-column prop="conditionDetail" label="鍏蜂綋鎯呭喌" show-overflow-tooltip="true"/>
       <el-table-column prop="sex" label="鎬у埆" width="60px;" :formatter="sexFormatter"/>
-      <el-table-column prop="phone" label="鎵嬫満鍙�"/>
+      <el-table-column prop="phone" label="鎵嬫満鍙�" width="120"/>
       <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/>
       <el-table-column label="鐘舵��" prop="status" width="70px">
         <template slot-scope="{row}">
@@ -51,7 +51,7 @@
           </el-tag>
         </template>
       </el-table-column>
-      <el-table-column width="340px" label="鎿嶄綔" align="center">
+      <el-table-column width="400px" label="鎿嶄綔" fixed="right" align="center">
         <template slot-scope="{row}">
           <el-button size="mini"  @click="changeStatus(row)" class="link-left">
             {{ statusBtnFormatter(row.status) }}
@@ -63,6 +63,7 @@
             <el-button size="mini" >鏃ュ織</el-button>
           </router-link>
           <el-button  size="mini" @click="status(row)" class="link-left">鐘舵��</el-button>
+          <el-button type="primary" size="mini" @click="transposition(row)" class="link-left">璋冨姩</el-button>
           <el-button  size="mini" type="danger" @click="deleteUser(row)" class="link-left">鍒犻櫎</el-button>
         </template>
       </el-table-column>
@@ -71,8 +72,9 @@
                 @pagination="search"/>
 
     <!-- 鐘舵�佸脊绐� -->
-    <el-dialog :visible.sync="statusVisible" append-to-body :close-on-click-modal="false" :show-close="false" center width="300px">
+    <el-dialog :visible.sync="statusVisible" append-to-body :close-on-click-modal="false" :show-close="false" center width="400px">
       <el-radio-group v-model="user.condition">
+        <el-radio label="姝e父">姝e父</el-radio>
         <el-radio label="鐥呭亣">鐥呭亣</el-radio>
         <el-radio label="鍑哄樊">鍑哄樊</el-radio>
         <el-radio label="鍏朵粬">鍏朵粬</el-radio>
@@ -83,6 +85,25 @@
         <el-button @click="statusVisible = false">鍙� 娑�</el-button>
       </span>
     </el-dialog>
+
+    <!-- 璋冨姩寮圭獥 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="dialogVisible"
+      width="400px">
+      <el-select v-model="examine.departmentId" multiple filterable placeholder="璇烽�夋嫨閮ㄩ棬">
+        <el-option
+          v-for="item in deptList"
+          :key="item.id"
+          :label="item.name"
+          :value="item.id">
+        </el-option>
+      </el-select>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitExamine">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -90,6 +111,7 @@
 import { mapGetters, mapState } from 'vuex'
 import Pagination from '@/components/Pagination'
 import userApi from '@/api/user'
+import departmentExamineApi from '@/api/departmentExamine'
 
 export default {
   components: { Pagination },
@@ -107,13 +129,47 @@
       },
       listLoading: true,
       tableData: [],
-      total: 0
+      total: 0,
+      examine: {
+        userId: '',
+        departmentId: [],
+        departmentIds: '',
+        nowDepartmentIds: '',
+      },
+      title: '閮ㄩ棬璋冨姩',
+      dialogVisible: false,
+      deptList: []
     }
   },
   created () {
     this.search()
   },
   methods: {
+    submitExamine() {
+      this.examine.departmentIds = this.examine.departmentId.join(',')
+      departmentExamineApi.save(this.examine).then(res => {
+        if (res.code === 1) {
+          this.$message.success("鎻愪氦鎴愬姛锛屽鏍稿悗鐢熸晥")
+          this.dialogVisible = false
+          this.search()
+        } else {
+          this.$message.error("鎿嶄綔澶辫触")
+        }
+      })
+    },
+    transposition(item) {
+      this.examine.userId = item.id
+      this.examine.departmentId = item.deptIdList
+      this.examine.nowDepartmentIds = item.deptIdList.join(',')
+      departmentExamineApi.getDeptList().then(res => {
+        if (res.code === 1) {
+          this.deptList = res.response
+          this.dialogVisible = true
+        } else {
+          this.$message.error(res.message)
+        }
+      })
+    },
     status(user) {
       this.statusVisible = true;
       this.user = { ...user };

--
Gitblit v1.8.0