From 36c84173ee2638aff47a3ed42cd22db8092ea133 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 03 六月 2021 19:11:52 +0800
Subject: [PATCH] feat(设备定义):
---
src/views/user/selectuser.vue | 328 +++++++++++++++++++++++++++++------------------------
1 files changed, 179 insertions(+), 149 deletions(-)
diff --git a/src/views/user/selectuser.vue b/src/views/user/selectuser.vue
index 8685e9b..6871d56 100644
--- a/src/views/user/selectuser.vue
+++ b/src/views/user/selectuser.vue
@@ -1,154 +1,184 @@
-<template>
- <div id="mainDiv">
- <el-container>
- <el-header :height="headerHeight">
- <el-row>
- <el-col :span="5">员工编号:
- <el-input v-model="queryParams.empNumb" placeholder="请输入内容" style="width:80px" />
+<template>
+ <div id="mainDiv">
+ <el-header :height="headerHeight">
+ <el-form>
+ <el-row style="height: 45px;">
+ <el-col :span="10">
+ <el-form-item label="关键字">
+ <el-input v-model="queryParams.baseKey" placeholder="请输入内容" style="width:200px" />
+ </el-form-item>
</el-col>
- <el-col :span="4">姓名:
- <el-input v-model="queryParams.empName" placeholder="请输入内容" style="width:80px" />
+ <el-col :span="10" style="height: 100%;">
+ <el-form-item label="员工状态">
+ <el-checkbox-group v-model="queryParams.empStatus">
+ <el-checkbox :label="0">在职</el-checkbox>
+ <el-checkbox :label="1">离职</el-checkbox>
+ <el-checkbox :label="2">退休</el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
</el-col>
- <el-col :span="4">护卫点:
- <el-input v-model="queryParams.deptName" placeholder="请输入内容" style="width:80px" />
+ <el-col :span="4">
+ <el-button size="mini" class="hr-but-all" type="primary" @click="vagueSearch">查询</el-button>
+ <el-button size="mini" class="hr-but" type="danger" @click="resetSearch">重置</el-button>
</el-col>
- <el-col :span="4">
- <el-button type="primary" @click="search">查询</el-button>
- </el-col>
- </el-row>
- </el-header>
- <el-container>
- <el-main>
- <el-table
- ref="multipleTable"
- :data="list"
- row-key="prop1"
- width="50%"
- @selection-change="handleSelectionChange"
- @row-dblclick="rowDblclick"
- >
- <el-table-column type="selection" :reserve-selection="false" width="55" />
- <el-table-column v-if="show" prop="empId" label="员工Id" />
- <el-table-column prop="empNumb" label="员工编号" />
- <el-table-column prop="empName" label="姓名" />
- <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
- <el-table-column v-if="show" prop="deptId" label="部门Id" />
- <el-table-column prop="deptName" label="护卫点" />
- <el-table-column v-if="show" prop="jobId" label="岗位Id" />
- <el-table-column prop="jobName" label="岗位" />
- <el-table-column prop="empTypeName" label="员工类别" />
- <el-table-column prop="sexName" label="性别" width="50" />
- </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>
- </el-container>
- </el-container>
- </div>
-</template>
-<script>
-// 引用翻页组件
-import Pagination from '@/components/Pagination'
-export default {
- components: {
- Pagination
- },
- props: {
- multipleselect: {
- type: Boolean,
- default: false
- }
- },
- data() {
- return {
- show: false,
- headerHeight: '70px',
- deptTree: [],
- selection: [],
- multipleSelection: [],
- total: 0, // 总数量
- queryParams: {}, // 查询参数
- sort: {}, // 排序
- pagination: { // 分页参数
- size: 5,
- num: 1
- },
- list: [], // 给table显示的数据
- defaultProps: {
- children: 'children',
- label: 'label'
- }
- }
- },
- mounted() {
- this.search()
- },
- methods: {
- // 翻页方法
- search() {
- this.fetch({
- ...this.queryParams,
- ...this.sort
- })
- },
- fetch(params = {}) {
- var that = this
- params.pageSize = this.pagination.size
- params.pageNum = this.pagination.num
- this.$get('hr/empBaseInfo/list', {
- ...params
- }).then((r) => {
- const data = r.data.data
- that.total = data.total
- that.list = data.rows
- })
- },
+ </el-row>
+ <el-row style="text-align: right;height: 45px;line-height: 45px">
+ <el-button type="primary" @click="sureChoose">确定</el-button>
+ <el-button type="danger" @click="cancleChoose">取消</el-button>
+ </el-row>
+ </el-form>
+ </el-header>
+ <el-main>
+ <el-table
+ ref="multipleTable"
+ :data="list"
+ row-key="prop1"
+ :cell-style="{padding:'7px 0','text-align':'center'}"
+ :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}"
+ stripe
+ border
+ style="width: 100%;color: #000;"
+ @selection-change="handleSelectionChange"
+ @row-dblclick="rowDblclick"
+ @sort-change="changeSort"
+ >
+ <el-table-column show-overflow-tooltip type="selection" :reserve-selection="false" width="50" />
+ <el-table-column v-if="show" show-overflow-tooltip prop="empId" label="员工Id" />
+ <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80" />
+ <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="110" />
+ <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" min-width="120" />
+ <el-table-column v-if="show" show-overflow-tooltip prop="deptId" label="部门Id" width="60" />
+ <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="400" sortable="custom" :sort-orders="['ascending', 'descending']" />
+ <el-table-column v-if="show" show-overflow-tooltip prop="jobId" label="岗位Id" width="80" />
+ <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="100" />
+ <el-table-column show-overflow-tooltip prop="empTypeName" label="员工类别" width="80" />
+ <el-table-column show-overflow-tooltip prop="sexName" label="性别" width="60" />
+ </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-main>
+ </div>
+</template>
+<script>
+// 引用翻页组件
+import Pagination from '@/components/Pagination'
+export default {
+ components: {
+ Pagination
+ },
+ props: {
+ multipleselect: {
+ type: Boolean,
+ default: false
+ }
+ },
+ data() {
+ return {
+ show: false,
+ headerHeight: '70px',
+ deptTree: [],
+ selection: [],
+ multipleSelection: [],
+ total: 0, // 总数量
+ queryParams: {
+ baseKey: '',
+ empStatus: []
+ }, // 查询参数
+ sort: {}, // 排序
+ pagination: { // 分页参数
+ size: 15,
+ num: 1
+ },
+ list: [], // 给table显示的数据
+ defaultProps: {
+ children: 'children',
+ label: 'label'
+ }
+ }
+ },
+ mounted() {
+ this.search()
+ },
+ methods: {
+ // 翻页方法
+ search() {
+ this.fetch({
+ ...this.queryParams,
+ ...this.sort
+ })
+ },
+ vagueSearch() {
+ this.fetch({
+ baseKey: this.queryParams.baseKey,
+ empStatus: this.queryParams.empStatus
+ })
+ },
+ resetSearch() {
+ this.queryParams = {
+ baseKey: '',
+ empStatus: []
+ }
+ this.search()
+ },
+ fetch(params = {}) {
+ var that = this
+ params.pageSize = this.pagination.size
+ params.pageNum = this.pagination.num
+ params.delFlag = 0
+ this.$get('hr/empBaseInfo/list', {
+ ...params
+ }).then((r) => {
+ const data = r.data.data
+ that.total = data.total
+ that.list = data.rows
+ })
+ },
handleSelectionChange(selection) {
- if (!this.multipleselect) {
- if (selection.length > 1) {
- this.$refs.multipleTable.clearSelection()
- this.$refs.multipleTable.toggleRowSelection(selection.pop())
- }
- }
- this.multipleSelection = selection
- },
- sureChoose() {
- this.$emit('selectedUser', this.multipleSelection)
- this.$refs.multipleTable.clearSelection()
- },
- cancleChoose() {
- this.$emit('cancleChooseUser')
- this.$refs.multipleTable.clearSelection()
- },
- rowDblclick(row, column, event) {
- this.$refs.multipleTable.toggleRowSelection(row, true)
- }
- }
-}
-</script>
-<style lang="scss" scoped>
- #mainDiv {
- height: 550px;
- overflow: scroll;
- }
-
- .link_button {
- color: #169BD5;
- }
-
- .del_button {
- color: #D9001B;
- }
+ if (!this.multipleselect) {
+ if (selection.length > 1) {
+ this.$refs.multipleTable.clearSelection()
+ this.$refs.multipleTable.toggleRowSelection(selection.pop())
+ }
+ }
+ this.multipleSelection = selection
+ },
+ sureChoose() {
+ this.$emit('selectedUser', this.multipleSelection)
+ this.$refs.multipleTable.clearSelection()
+ },
+ cancleChoose() {
+ this.$emit('cancleChooseUser')
+ this.$refs.multipleTable.clearSelection()
+ },
+ rowDblclick(row, column, event) {
+ this.$refs.multipleTable.toggleRowSelection(row, true)
+ this.sureChoose()
+ },
+ changeSort(val) {
+ this.sort.field = val.prop
+ this.sort.order = val.order
+ this.search()
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+ .link_button {
+ color: #169BD5;
+ }
+
+ .del_button {
+ color: #D9001B;
+ }
</style>
--
Gitblit v1.8.0