瀏覽代碼

新增人事管理按岗级排序

余思翰 1 年之前
父節點
當前提交
418e95452f
共有 1 個檔案被更改,包括 43 行新增18 行删除
  1. 43
    18
      oa-ui/src/views/oa/staff/index.vue

+ 43
- 18
oa-ui/src/views/oa/staff/index.vue 查看文件

15
       </el-col>
15
       </el-col>
16
       <!--用户数据-->
16
       <!--用户数据-->
17
       <el-col :span="19" :xs="24">
17
       <el-col :span="19" :xs="24">
18
-        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
18
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
19
+          label-width="68px">
19
           <el-form-item label="姓名" prop="nickName">
20
           <el-form-item label="姓名" prop="nickName">
20
             <el-input v-model="queryParams.nickName" placeholder="请输入姓名" clearable style="width: 140px"
21
             <el-input v-model="queryParams.nickName" placeholder="请输入姓名" clearable style="width: 140px"
21
               @keyup.enter.native="handleQuery" />
22
               @keyup.enter.native="handleQuery" />
22
           </el-form-item>
23
           </el-form-item>
23
           <el-form-item label="职称" prop="titles">
24
           <el-form-item label="职称" prop="titles">
24
             <el-select v-model="queryParams.titles" clearable placeholder="请输入职称" style="width:100%;">
25
             <el-select v-model="queryParams.titles" clearable placeholder="请输入职称" style="width:100%;">
25
-                <el-option v-for="dict in dict.type.sys_user_titles" :key="dict.value" :label="dict.label"
26
-                  :value="dict.value" />
27
-              </el-select>
26
+              <el-option v-for="dict in dict.type.sys_user_titles" :key="dict.value" :label="dict.label"
27
+                :value="dict.value" />
28
+            </el-select>
28
           </el-form-item>
29
           </el-form-item>
29
           <el-form-item label="执业证书" prop="certificates">
30
           <el-form-item label="执业证书" prop="certificates">
30
             <el-select v-model="queryParams.certificates" clearable placeholder="请输入执业证书" style="width:100%;">
31
             <el-select v-model="queryParams.certificates" clearable placeholder="请输入执业证书" style="width:100%;">
31
-                <el-option v-for="dict in dict.type.sys_user_certificates" :key="dict.value" :label="dict.label"
32
-                  :value="dict.value" />
33
-              </el-select>
32
+              <el-option v-for="dict in dict.type.sys_user_certificates" :key="dict.value" :label="dict.label"
33
+                :value="dict.value" />
34
+            </el-select>
34
           </el-form-item>
35
           </el-form-item>
35
           <el-form-item label="学历" prop="degree">
36
           <el-form-item label="学历" prop="degree">
36
             <el-select v-model="queryParams.degree" clearable placeholder="请输入学历" style="width:100%;">
37
             <el-select v-model="queryParams.degree" clearable placeholder="请输入学历" style="width:100%;">
37
-                <el-option v-for="dict in dict.type.sys_user_degree" :key="dict.value" :label="dict.label"
38
-                  :value="dict.value" />
39
-              </el-select>
38
+              <el-option v-for="dict in dict.type.sys_user_degree" :key="dict.value" :label="dict.label"
39
+                :value="dict.value" />
40
+            </el-select>
40
           </el-form-item>
41
           </el-form-item>
41
           <el-form-item>
42
           <el-form-item>
42
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
43
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
65
             <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
66
             <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
66
               v-hasPermi="['system:user:export']">导出</el-button>
67
               v-hasPermi="['system:user:export']">导出</el-button>
67
           </el-col>
68
           </el-col>
69
+          <el-col :span="1.5">
70
+            <div style="text-align:right;font-size:14px;line-height:28px;">共{{ total }}条数据</div>
71
+          </el-col>
68
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
72
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
69
         </el-row>
73
         </el-row>
70
 
74
 
78
           <!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
82
           <!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
79
           <el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[0].visible"
83
           <el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[0].visible"
80
             :show-overflow-tooltip="true" />
84
             :show-overflow-tooltip="true" />
81
-          <el-table-column label="年龄" align="center" key="age" prop="age" v-if="columns[1].visible" sortable :sort-method="sortAge">
85
+          <el-table-column label="年龄" align="center" key="age" prop="age" v-if="columns[1].visible" sortable
86
+            :sort-method="sortAge">
82
             <template slot-scope="scope">
87
             <template slot-scope="scope">
83
               {{ getAgeByIdCard(scope.row.idCard) }}
88
               {{ getAgeByIdCard(scope.row.idCard) }}
84
             </template>
89
             </template>
94
           <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[4].visible"
99
           <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[4].visible"
95
             :show-overflow-tooltip="true" />
100
             :show-overflow-tooltip="true" />
96
           <el-table-column label="岗级" align="center" key="postLevel" v-if="columns[5].visible"
101
           <el-table-column label="岗级" align="center" key="postLevel" v-if="columns[5].visible"
97
-            :show-overflow-tooltip="true">
102
+            :show-overflow-tooltip="true" sortable :sort-method="sortPostLevel">
98
             <template slot-scope="scope">
103
             <template slot-scope="scope">
99
               {{ selectDictLabel(dict.type.sys_user_postlevel, scope.row.postLevel) +
104
               {{ selectDictLabel(dict.type.sys_user_postlevel, scope.row.postLevel) +
100
-                selectDictLabel(dict.type.sys_user_salarylevel, scope.row.salaryLevel) }}
105
+      selectDictLabel(dict.type.sys_user_salarylevel, scope.row.salaryLevel) }}
101
             </template>
106
             </template>
102
           </el-table-column>
107
           </el-table-column>
103
           <el-table-column label="职称" align="center" key="titles" prop="titles" v-if="columns[6].visible"
108
           <el-table-column label="职称" align="center" key="titles" prop="titles" v-if="columns[6].visible"
156
             </template>
161
             </template>
157
           </el-table-column>
162
           </el-table-column>
158
         </el-table>
163
         </el-table>
159
-
160
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
161
-          @pagination="getList" />
164
+        <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
165
+          @pagination="getList" /> -->
162
       </el-col>
166
       </el-col>
163
     </el-row>
167
     </el-row>
164
     <!-- 添加或修改用户配置对话框 -->
168
     <!-- 添加或修改用户配置对话框 -->
239
                 value-format="yyyy-MM" />
243
                 value-format="yyyy-MM" />
240
             </el-form-item>
244
             </el-form-item>
241
             <el-form-item label="政治面貌" prop="politicalAffiliation">
245
             <el-form-item label="政治面貌" prop="politicalAffiliation">
242
-              <el-select v-model="form.politicalAffiliation" multiple clearable placeholder="请选择政治面貌" style="width:100%;">
246
+              <el-select v-model="form.politicalAffiliation" multiple clearable placeholder="请选择政治面貌"
247
+                style="width:100%;">
243
                 <el-option v-for="dict in dict.type.sys_user_political" :key="dict.value" :label="dict.label"
248
                 <el-option v-for="dict in dict.type.sys_user_political" :key="dict.value" :label="dict.label"
244
                   :value="dict.value" />
249
                   :value="dict.value" />
245
               </el-select>
250
               </el-select>
407
       // 查询参数
412
       // 查询参数
408
       queryParams: {
413
       queryParams: {
409
         pageNum: 1,
414
         pageNum: 1,
410
-        pageSize: 20,
415
+        pageSize: 300,
411
         userName: undefined,
416
         userName: undefined,
412
         phonenumber: undefined,
417
         phonenumber: undefined,
413
         status: undefined,
418
         status: undefined,
759
     },
764
     },
760
     sortAge(a, b) {
765
     sortAge(a, b) {
761
       return this.getAgeByIdCard(a.idCard) - this.getAgeByIdCard(b.idCard);
766
       return this.getAgeByIdCard(a.idCard) - this.getAgeByIdCard(b.idCard);
767
+    },
768
+    sortPostLevel(a, b) {
769
+      // 安全地解析postLevel,如果无法解析,则视为Infinity  
770
+      let aPostLevel = parseInt(a.postLevel, 10);
771
+      if (isNaN(aPostLevel)) {
772
+        aPostLevel = Infinity; // 无法解析时视为无穷大  
773
+      }
774
+      let bPostLevel = parseInt(b.postLevel, 10);
775
+      if (isNaN(bPostLevel)) {
776
+        bPostLevel = Infinity; // 同上  
777
+      }
778
+      // 首先比较postLevel  
779
+      if (aPostLevel !== bPostLevel) {
780
+        return aPostLevel - bPostLevel; // 注意:这里直接返回差值,但由于Infinity的特殊性,它会按预期工作  
781
+      }
782
+      // 如果postLevel相等,则比较salaryLevel(同样需要安全解析)  
783
+      let aSalaryLevel = parseInt(a.salaryLevel, 10) || 0; // 如果无法解析,则视为0  
784
+      let bSalaryLevel = parseInt(b.salaryLevel, 10) || 0; // 同上  
785
+      // 返回salaryLevel的差值  
786
+      return aSalaryLevel - bSalaryLevel;
762
     }
787
     }
763
   }
788
   }
764
 };
789
 };

Loading…
取消
儲存