|
@@ -15,28 +15,29 @@
|
15
|
15
|
</el-col>
|
16
|
16
|
<!--用户数据-->
|
17
|
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
|
20
|
<el-form-item label="姓名" prop="nickName">
|
20
|
21
|
<el-input v-model="queryParams.nickName" placeholder="请输入姓名" clearable style="width: 140px"
|
21
|
22
|
@keyup.enter.native="handleQuery" />
|
22
|
23
|
</el-form-item>
|
23
|
24
|
<el-form-item label="职称" prop="titles">
|
24
|
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
|
29
|
</el-form-item>
|
29
|
30
|
<el-form-item label="执业证书" prop="certificates">
|
30
|
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
|
35
|
</el-form-item>
|
35
|
36
|
<el-form-item label="学历" prop="degree">
|
36
|
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
|
41
|
</el-form-item>
|
41
|
42
|
<el-form-item>
|
42
|
43
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
@@ -65,6 +66,9 @@
|
65
|
66
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
66
|
67
|
v-hasPermi="['system:user:export']">导出</el-button>
|
67
|
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
|
72
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
69
|
73
|
</el-row>
|
70
|
74
|
|
|
@@ -78,7 +82,8 @@
|
78
|
82
|
<!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
|
79
|
83
|
<el-table-column label="姓名" align="center" key="nickName" prop="nickName" v-if="columns[0].visible"
|
80
|
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
|
87
|
<template slot-scope="scope">
|
83
|
88
|
{{ getAgeByIdCard(scope.row.idCard) }}
|
84
|
89
|
</template>
|
|
@@ -94,10 +99,10 @@
|
94
|
99
|
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[4].visible"
|
95
|
100
|
:show-overflow-tooltip="true" />
|
96
|
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
|
103
|
<template slot-scope="scope">
|
99
|
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
|
106
|
</template>
|
102
|
107
|
</el-table-column>
|
103
|
108
|
<el-table-column label="职称" align="center" key="titles" prop="titles" v-if="columns[6].visible"
|
|
@@ -156,9 +161,8 @@
|
156
|
161
|
</template>
|
157
|
162
|
</el-table-column>
|
158
|
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
|
166
|
</el-col>
|
163
|
167
|
</el-row>
|
164
|
168
|
<!-- 添加或修改用户配置对话框 -->
|
|
@@ -239,7 +243,8 @@
|
239
|
243
|
value-format="yyyy-MM" />
|
240
|
244
|
</el-form-item>
|
241
|
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
|
248
|
<el-option v-for="dict in dict.type.sys_user_political" :key="dict.value" :label="dict.label"
|
244
|
249
|
:value="dict.value" />
|
245
|
250
|
</el-select>
|
|
@@ -407,7 +412,7 @@ export default {
|
407
|
412
|
// 查询参数
|
408
|
413
|
queryParams: {
|
409
|
414
|
pageNum: 1,
|
410
|
|
- pageSize: 20,
|
|
415
|
+ pageSize: 300,
|
411
|
416
|
userName: undefined,
|
412
|
417
|
phonenumber: undefined,
|
413
|
418
|
status: undefined,
|
|
@@ -759,6 +764,26 @@ export default {
|
759
|
764
|
},
|
760
|
765
|
sortAge(a, b) {
|
761
|
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
|
};
|