From f1c5f3c0b8e58a475b8a3c05e51f94043de43a85 Mon Sep 17 00:00:00 2001
From: yijiusmile <253281376@qq.com>
Date: 星期一, 01 二月 2021 21:38:12 +0800
Subject: [PATCH] 选择员工增加分页,信息录入-失业金领取增加选择员工功能
---
src/views/user/selectuser.vue | 235 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 131 insertions(+), 104 deletions(-)
diff --git a/src/views/user/selectuser.vue b/src/views/user/selectuser.vue
index 7bcfa17..c186315 100644
--- a/src/views/user/selectuser.vue
+++ b/src/views/user/selectuser.vue
@@ -163,21 +163,57 @@
</el-header>
<el-container>
<el-aside width="400px">
- <el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" />
+ <el-tree
+ ref="tree"
+ :data="deptTree"
+ :check-strictly="true"
+ show-checkbox
+ accordion
+ node-key="id"
+ highlight-current
+ default-expand-all
+ :filter-node-method="filterNode"
+ @node-click="nodeClick"
+ />
</el-aside>
<el-main>
- <el-table
- ref="multipleTable"
- :data="tableData"
- style="width: 100%;height: 90%;"
+ <el-table
+ ref="multipleTable"
+ :data="list"
+ style="width: 100%;height: 80%;"
row-key="prop1"
- @selection-change="handleSelectionChange"
+ @selection-change="handleSelectionChange"
>
<el-table-column type="selection" :reserve-selection="true" width="55" />
- <el-table-column prop="prop0" label="序号" />
- <el-table-column prop="prop1" label="员工编号" />
- <el-table-column prop="prop2" label="姓名" />
- </el-table>
+ <el-table-column :label="$t('table.user.username')" prop="username" :show-overflow-tooltip="true" align="center" min-width="120px">
+ <template slot-scope="scope">
+ <span>{{ scope.row.username }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column :label="$t('table.user.email')" :show-overflow-tooltip="true" align="center" min-width="150px">
+ <template slot-scope="scope">
+ <span>{{ scope.row.email }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ :label="$t('table.user.sex')"
+ :filters="[{ text: $t('common.sex.male'), value: '0' }, { text: $t('common.sex.female'), value: '1' }, { text: $t('common.sex.secret'), value: '2' }]"
+ :filter-method="filterSex"
+ class-name="status-col"
+ >
+ <template slot-scope="{row}">
+ <el-tag :type="row.sex | sexFilter">
+ {{ transSex(row.sex) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!--
+ page.sync 当前页
+ limit.sync 每页显示数量 只能是5,10,20,30,50
+ pagination 翻页的事件
+ -->
+ <pagination v-show="total>0" :total="total" :page.sync="pagination.num" :limit.sync="pagination.size" @pagination="search" />
<el-button type="primary" @click="sureChoose">确定</el-button>
<el-button type="danger" @click="cancleChoose">取消</el-button>
</el-main>
@@ -185,102 +221,96 @@
</el-container>
</div>
</template>
-<script>
-export default {
+<script>
+// 引用翻页组件
+import Pagination from '@/components/Pagination'
+export default {
+ components: { Pagination },
data() {
return {
- headerHeight: '70px',
- advancedQueryShow: false,
- dialogTableVisible: false,
- multipleSelection: [],
- tableData: [{
- 'prop0': '1',
- 'prop1': '2100452312',
- 'prop2': '赵建国',
- 'prop3': '男',
- 'prop4': '510304197402225813',
- 'prop5': '10',
- 'prop6': '汉族',
- 'prop7': '170',
- 'prop8': '46',
- 'prop9': '党员',
- 'prop10': '大专',
- 'prop11': '广东省番禺市',
- 'prop12': '',
- 'prop13': '',
- 'prop14': '已移交',
- 'prop15': '在职',
- 'prop16': '133023187889'
- }, {
- 'prop0': '2',
- 'prop1': '2101620946',
- 'prop2': '罗启艳',
- 'prop3': '女',
- 'prop4': '41272619740120543X',
- 'prop5': '10',
- 'prop6': '汉族',
- 'prop7': '175',
- 'prop8': '46',
- 'prop9': '团员',
- 'prop10': '高中',
- 'prop11': '广东省番禺市',
- 'prop12': '',
- 'prop13': '',
- 'prop14': '已移交',
- 'prop15': '在职',
- 'prop16': '189135789889'
- }],
- data: [{
- label: '一级 1',
- children: [{
- label: '二级 1-1',
- children: [{
- label: '三级 1-1-1'
- }]
- }]
+ headerHeight: '70px',
+ deptTree: [],
+ advancedQueryShow: false,
+ selection: [],
+ multipleSelection: [],
+ total: 0, // 总数量
+ queryParams: {}, // 查询参数
+ sort: {}, // 排序
+ pagination: { // 分页参数
+ size: 5,
+ num: 1
},
- {
- label: '一级 2',
- children: [{
- label: '二级 2-1',
- children: [{
- label: '三级 2-1-1'
- }]
- },
- {
- label: '二级 2-2',
- children: [{
- label: '三级 2-2-1'
- }]
- }
- ]
- },
- {
- label: '一级 3',
- children: [{
- label: '二级 3-1',
- children: [{
- label: '三级 3-1-1'
- }]
- },
- {
- label: '二级 3-2',
- children: [{
- label: '三级 3-2-1'
- }]
- }
- ]
- }
- ],
+ list: [], // 给table显示的数据
defaultProps: {
children: 'children',
label: 'label'
}
}
+ },
+ mounted() {
+ this.initDeptTree()
+ // 初始加载
+ this.fetch()
},
- methods: {
- handleNodeClick(data) {
- console.log(data)
+ methods: {
+ initDept() {
+ return {
+ deptId: '',
+ deptName: '',
+ parentId: null,
+ orderNum: 0
+ }
+ },
+ transSex(sex) {
+ switch (sex) {
+ case '0':
+ return this.$t('common.sex.male')
+ case '1':
+ return this.$t('common.sex.female')
+ default:
+ return this.$t('common.sex.secret')
+ }
+ },
+ filterSex(value, row) {
+ return row.sex === value
+ },
+ // 翻页方法
+ search() {
+ this.fetch({
+ ...this.queryParams,
+ ...this.sort
+ })
+ },
+ fetch(params = {}) {
+ var that = this
+ params.pageSize = this.pagination.size
+ params.pageNum = this.pagination.num
+ this.$get('system/user', {
+ ...params
+ }).then((r) => {
+ const data = r.data.data
+ that.total = data.total
+ that.list = data.rows
+ })
+ },
+
+ initDeptTree() {
+ this.$get('system/dept').then((r) => {
+ this.deptTree = r.data.data.rows
+ })
+ },
+ filterNode(value, data) {
+ if (!value) return true
+ return data.label.indexOf(value) !== -1
+ },
+ nodeClick(data) {
+ this.dept.parentId = data.parentId
+ if (this.dept.parentId === '0') {
+ this.dept.parentId = null
+ }
+ this.dept.orderNum = data.orderNum
+ this.dept.deptName = data.label
+ this.dept.deptId = data.id
},
handleSelectionChange(val) {
this.multipleSelection = val
@@ -294,14 +324,11 @@
this.advancedQueryShow = true
}
},
- showEmpInfo() {
- this.dialogTableVisible = true
- },
sureChoose() {
this.$emit('selectedUser', this.multipleSelection)
- },
- cancleChoose() {
- this.$emit('cancleChooseUser')
+ },
+ cancleChoose() {
+ this.$emit('cancleChooseUser')
}
}
}
@@ -375,4 +402,4 @@
.del_button {
color: #D9001B;
}
-</style>
+</style>
--
Gitblit v1.8.0