Procházet zdrojové kódy

新增选人员界面

余思翰 před 1 rokem
rodič
revize
a504790f73
1 změnil soubory, kde provedl 114 přidání a 0 odebrání
  1. 114
    0
      oa-ui/src/views/oa/budget/components/choosePeople.vue

+ 114
- 0
oa-ui/src/views/oa/budget/components/choosePeople.vue Zobrazit soubor

1
+<template>
2
+  <div>
3
+    <el-form :inline="true">
4
+      <el-form-item label="姓名:">
5
+        <el-input v-model="queryParams.nickName"></el-input>
6
+      </el-form-item>
7
+      <el-form-item label="部门:">
8
+        <el-select v-model="queryParams.deptId" clearable @change="getList">
9
+          <el-option v-for="item in deptList" :key="item.id" :label="item.label" :value="item.id">
10
+          </el-option>
11
+        </el-select>
12
+      </el-form-item>
13
+      <el-form-item>
14
+        <el-button @click="getList">搜索</el-button>
15
+      </el-form-item>
16
+    </el-form>
17
+    <el-table ref="chooseUser" :data="userList" @selection-change="handleSelectionChange" :row-key="getRowKeys">
18
+      <el-table-column type="selection" width="50" align="center" :reserve-selection="true" />
19
+      <!-- <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> -->
20
+      <el-table-column label="姓名" align="center" key="nickName" prop="nickName" :show-overflow-tooltip="true" />
21
+      <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" :show-overflow-tooltip="true" />
22
+      <el-table-column label="年龄" align="center" key="age" prop="age" :show-overflow-tooltip="true" />
23
+      <el-table-column label="性别" align="center" key="sex" prop="sex" :show-overflow-tooltip="true">
24
+        <template slot-scope="scope">
25
+          {{ scope.row.sex == 0 ? '男' : '女' }}
26
+        </template>
27
+      </el-table-column>
28
+      <el-table-column label="岗级" align="center" key="postLevel" :show-overflow-tooltip="true">
29
+        <template slot-scope="scope">
30
+          {{ formatLevel(scope.row.postLevel, scope.row.salaryLevel,
31
+      dict.type.sys_user_postlevel, dict.type.sys_user_salarylevel) }}
32
+        </template>
33
+      </el-table-column>
34
+    </el-table>
35
+    <div style="text-align: right;">
36
+      <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"
37
+        :page-size="queryParams.pageSize" layout="total, prev, pager, next" :total="total">
38
+      </el-pagination>
39
+    </div>
40
+    <div>
41
+      已选人员:<el-tag v-for="item in chooseUser" style="margin: 5px;">{{ item.nickName }}</el-tag>
42
+    </div>
43
+    <div style="text-align: center;margin-top: 20px;">
44
+      <el-button type="primary" @click="confirmChoose">确认选择</el-button>
45
+      <el-button @click="clearChoose">清空选择</el-button>
46
+    </div>
47
+  </div>
48
+</template>
49
+
50
+<script>
51
+import { listUser, deptTreeSelect } from "@/api/system/user";
52
+export default {
53
+  dicts: ['sys_normal_disable', 'sys_user_sex', 'sys_user_titles', 'sys_user_certificates', 'sys_user_pmlevel', 'sys_user_postlevel', 'sys_user_salarylevel'],
54
+  data() {
55
+    return {
56
+      queryParams: {
57
+        pageNum: 1,
58
+        pageSize: 10
59
+      },
60
+      userList: [],
61
+      dateRange: [],
62
+      deptList: [],
63
+      chooseUser: [],
64
+      deptOptions: undefined,
65
+      total: 0
66
+    }
67
+  },
68
+  created() {
69
+    this.getList();
70
+    this.getDeptTree();
71
+  },
72
+  methods: {
73
+    /** 查询用户列表 */
74
+    getList() {
75
+      listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
76
+        this.userList = response.rows.slice(1);
77
+        this.total = response.total;
78
+      }
79
+      );
80
+    },
81
+    /** 查询部门 */
82
+    getDeptTree() {
83
+      deptTreeSelect().then(response => {
84
+        this.deptOptions = response.data;
85
+        this.deptList = response.data[0].children
86
+      });
87
+    },
88
+    // 格式化表格里的薪资岗级
89
+    formatLevel(postLevel, salaryLevel, postLevelList, salaryLevelList) {
90
+      if (postLevel && salaryLevel) {
91
+        let post = postLevelList[postLevel].label
92
+        let salary = salaryLevelList[salaryLevel].label
93
+        return post + salary
94
+      } else {
95
+        return ''
96
+      }
97
+    },
98
+    handleSelectionChange(val) {
99
+      this.chooseUser = val
100
+    },
101
+    getRowKeys(row) {
102
+      return row.userId;
103
+    },
104
+    confirmChoose() {
105
+      this.$emit('chooseUser', this.chooseUser)
106
+    },
107
+    clearChoose() {
108
+      this.$refs.chooseUser.clearSelection();
109
+    }
110
+  },
111
+}
112
+</script>
113
+
114
+<style lang="scss" scoped></style>

Loading…
Zrušit
Uložit