193 lines
4.9 KiB
Vue
Raw Normal View History

2023-03-23 18:39:15 +08:00
<!--
* @Author: Kane
* @Date: 2023-03-23 16:05:08
* @LastEditors: Kane
2023-06-16 09:54:26 +08:00
* @FilePath: /task_schedule/src/views/StaffManagement.vue
2023-03-23 18:39:15 +08:00
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->
<template>
2023-06-16 09:54:26 +08:00
<div class="wrapper">
<div class="query_wrapper">
<el-row :gutter="10">
<el-col :span="2">
<span>工号</span>
</el-col>
<el-col :span="4">
<el-input v-model.trim.lazy="ui.caller_code" />
</el-col>
<el-col :span="2">
<span>姓名</span>
</el-col>
<el-col :span="4">
<el-input />
</el-col>
<el-col :span="2">
<span>部门代码</span>
</el-col>
<el-col :span="4">
<el-input />
</el-col>
<el-col :span="2">
<span>部门名称</span>
</el-col>
<el-col :span="4">
<el-input />
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="2">
<span>团队</span>
</el-col>
<el-col :span="10">
<el-input />
</el-col>
<el-col :span="12">
<div class="query-button">
<el-button
type="primary"
icon="search"
>
查询
</el-button>
<el-button icon="refresh">
重置
</el-button>
</div>
</el-col>
</el-row>
</div>
<el-table
border
stripe
style="width:100%;"
:height="tableHeight"
>
<el-table-column
type="selection"
align="center"
/>
<el-table-column
label="工号"
align="center"
width="120"
/>
<el-table-column
label="名称"
align="center"
width="200"
/>
<el-table-column
label="团队名称"
align="center"
/>
<el-table-column
label="部门"
align="center"
width="300"
/>
</el-table>
<div class="pagination_wrapper">
<el-pagination
v-model="ui.table_current_page_index"
class="pull_left"
size="small"
background
:page-size="ui.table_page_size"
:page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:total="ui.callers.length"
@current-change="onCurrentPageIndexChange"
@size-change="onTablePageSizeChange"
/>
</div>
2023-03-23 18:39:15 +08:00
</div>
</template>
<script lang="ts">
2023-06-16 09:54:26 +08:00
import { reactive, computed } from "vue";
2023-03-23 18:39:15 +08:00
export default {
name: "StaffManagement",
setup()
{
2023-06-16 09:54:26 +08:00
const ui = reactive({
caller_code: "",
caller_name: "",
section_office_code: "",
section_office_name: "",
table_current_page_index: 1,
table_page_size: 50,
callers: [],
});
2023-09-01 19:05:30 +08:00
const onCurrentPageIndexChange = ( pageIndex: number ): void =>
2023-06-16 09:54:26 +08:00
{
ui.table_current_page_index = pageIndex;
};
/**
* 设置表格每页显示记录的数量
* @param pageSize 表格页记录数量
*/
2023-09-01 19:05:30 +08:00
const onTablePageSizeChange = ( pageSize: number ): void =>
2023-06-16 09:54:26 +08:00
{
ui.table_page_size = pageSize;
};
/**
* 表格高度
*/
const tableHeight = computed(() =>
{
return 10 * 50 + 40;
});
return { ui, onCurrentPageIndexChange, onTablePageSizeChange, tableHeight, };
2023-03-23 18:39:15 +08:00
},
};
</script>
<style lang="scss" scoped>
2023-06-16 09:54:26 +08:00
@import "@/assets/css/public/_public.scss";
.wrapper {
margin: 10px;
padding: 10px;
background-color: #fff;
border-radius: 5px;
box-shadow: $box-shadow;
&:hover {
box-shadow: $box-shadow-hover;
}
min-width: 800px;
> *+* {
margin-top: 10px;
}
}
.query_wrapper {
// display: flex;
border-radius: 5px;
padding: 15px;
@include query-box-wrap;
.query-button {
display: flex;
justify-content: flex-end;
align-items: center;
}
}
2023-03-23 18:39:15 +08:00
2023-06-16 09:54:26 +08:00
.pagination_wrapper
{
display: flex;
justify-content: flex-end;
}
2023-09-12 18:12:27 +08:00
2023-03-23 18:39:15 +08:00
</style>