Sfoglia il codice sorgente

用户管理修改

zhangjie 2 anni fa
parent
commit
74f5d8b520

+ 2 - 1
src/api/examwork-exam.js

@@ -6,11 +6,12 @@ export function searchExams({
   name = "",
   enable = "",
   mode = "",
+  finished = "",
   pageNumber = 1,
   pageSize = 10,
 }) {
   const data = pickBy(
-    { name, enable, mode, pageNumber, pageSize },
+    { name, enable, mode, finished, pageNumber, pageSize },
     (v) => v !== ""
   );
   return httpApp.post("/api/admin/exam/query?" + object2QueryString(data));

+ 7 - 0
src/components/ExamSelect.vue

@@ -27,6 +27,12 @@ export default {
   props: {
     value: String,
     styles: { type: String },
+    defaultFilter: {
+      type: Object,
+      default() {
+        return {};
+      },
+    },
   },
   data() {
     return {
@@ -48,6 +54,7 @@ export default {
   methods: {
     async search(query) {
       const res = await searchExams({
+        ...this.defaultFilter,
         name: query,
         pageNumber: 1,
         pageSize: 1000,

+ 1 - 0
src/components/OrgSelect.vue

@@ -6,6 +6,7 @@
     @change="select"
     :style="styles"
     clearable
+    filterable
   >
     <el-option
       v-for="item in optionList"

+ 7 - 5
src/components/RoleSelect.vue

@@ -26,9 +26,11 @@ export default {
     value: [String, Array],
     multiple: Boolean,
     styles: { type: String },
-    showAdmin: {
-      type: Boolean,
-      default: true,
+    excludeRoles: {
+      type: Array,
+      default() {
+        return [];
+      },
     },
   },
   data() {
@@ -41,9 +43,9 @@ export default {
     const res = await this.$http.post("/api/admin/sys/role/query");
     // console.log(res.data);
     this.optionList = res.data.data;
-    if (!this.showAdmin)
+    if (this.excludeRoles.length)
       this.optionList = this.optionList.filter(
-        (item) => item.roleCode !== "ADMIN"
+        (item) => !this.excludeRoles.includes(item.roleCode)
       );
   },
   watch: {

+ 4 - 1
src/features/examwork/MarkResultManagement/MarkResultManagement.vue

@@ -7,7 +7,10 @@
       <div class="part-filter-form">
         <el-form ref="form" :model="form" :rules="rules" inline>
           <el-form-item label="批次名称" prop="examId">
-            <ExamSelect v-model="form.examId" />
+            <ExamSelect
+              v-model="form.examId"
+              :default-filter="{ finished: true }"
+            />
           </el-form-item>
           <el-form-item label="场次代码">
             <ActivitySelect

+ 10 - 5
src/features/system/UserManagement/UserManagement.vue

@@ -6,11 +6,16 @@
     <div class="part-filter">
       <div class="part-filter-form">
         <el-form :model="form" inline>
-          <!-- <el-form-item v-if="$store.state.user.orgId === null" label="机构">
+          <el-form-item v-if="$store.state.user.orgId === null" label="机构">
             <OrgSelect v-model="form.orgId"></OrgSelect>
-          </el-form-item> -->
+          </el-form-item>
           <el-form-item label="角色">
-            <RoleSelect v-model="form.roleCode"></RoleSelect>
+            <RoleSelect
+              v-model="form.roleCode"
+              :exclude-roles="
+                IS_SUPER_ADMIN ? ['INSPECTION', 'INVIGILATE'] : []
+              "
+            ></RoleSelect>
           </el-form-item>
           <el-form-item label="登录名">
             <el-input v-model.trim="form.loginName"></el-input>
@@ -124,7 +129,7 @@
 <script>
 import RoleSelect from "@/components/RoleSelect.vue";
 import StateSelect from "@/components/StateSelect";
-// import OrgSelect from "@/components/OrgSelect";
+import OrgSelect from "@/components/OrgSelect";
 import {
   searchUsers,
   toggleEnableUser,
@@ -137,7 +142,7 @@ export default {
   components: {
     RoleSelect,
     StateSelect,
-    // OrgSelect,
+    OrgSelect,
     UserManagementDialog,
   },
   data() {

+ 3 - 1
src/features/system/UserManagement/UserManagementDialog.vue

@@ -63,7 +63,9 @@
           <RoleSelect
             v-model="form.roleCode"
             :multiple="true"
-            :show-admin="IS_SUPER_ADMIN"
+            :exclude-roles="
+              IS_SUPER_ADMIN ? ['INSPECTION', 'INVIGILATE'] : ['ADMIN']
+            "
           />
         </el-form-item>
       </el-row>

+ 7 - 1
src/styles/base.scss

@@ -1307,6 +1307,10 @@ body {
       padding-bottom: 8px;
       overflow: hidden;
       height: 100%;
+
+      .invi-table {
+        text-align: left;
+      }
       td {
         color: rgba(225, 230, 239, 1);
       }
@@ -1350,6 +1354,9 @@ body {
     }
   }
 }
+.flip-list-move {
+  transition: transform 0.5s;
+}
 
 @media screen and (max-width: 1919px) {
   .invi-container {
@@ -1447,7 +1454,6 @@ body {
         padding-top: 30px;
         padding-bottom: 6px;
         .invi-table {
-          text-align: left;
           th,
           td {
             padding: 0;