<template>
|
<el-dialog
|
:visible.sync="dialogVisible"
|
append-to-body
|
:close-on-click-modal="false"
|
width="75%"
|
>
|
<div class="app-container">
|
<div class="filter-container">
|
<div style="display: block;padding-top: 10px;padding-bottom: 10px">
|
<div class="basic_search" >
|
<el-select v-model="filter.filter.department"
|
filterable
|
clearable
|
@change="getPersonList"
|
placeholder="请选择">
|
<el-option
|
v-for="item in options"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</div>
|
<el-button type="primary" icon="el-icon-search" @click="queryHandle" style="margin-left: 20px"/>
|
</div>
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="tableData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="所属部门" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.department}}</span>
|
</template>
|
</el-table-column>
|
|
<el-table-column label="姓名" align="center">
|
<template slot-scope="scope">
|
<span>{{ scope.row.realname }}</span>
|
</template>
|
</el-table-column>
|
|
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
<template slot-scope="scope">
|
<el-button type="text" @click="selectOne(scope.row)">选择</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<br>
|
<el-pagination
|
v-show="recordTotal>0"
|
:current-page="filter.pageIndex"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="filter.pageSize"
|
:total="recordTotal"
|
layout="total, sizes, prev, pager, next, jumper"
|
background
|
style="float:right;"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { geDepartmentUserPage ,getAllDepartment} from '@/api/departmentManage';
|
export default {
|
name: "taskSelect",
|
data(){
|
return{
|
tableKey:0,
|
listLoading:false,
|
recordTotal: 0,
|
options:[],
|
filter: {
|
pageIndex:1,
|
pageSize:10,
|
filter: {
|
department: ''
|
},
|
},
|
dialogVisible:false,
|
tableData:[],
|
}
|
},
|
created(){
|
|
},
|
methods:{
|
queryHandle(){
|
this.filter.pageIndex = 1
|
this.getPersonList()
|
},
|
handleSizeChange(val) {
|
this.filter.pageSize = val
|
this.filter.pageIndex = 1
|
this.getTaskData()
|
},
|
handleCurrentChange(val) {
|
this.filter.pageIndex = val
|
this.getPersonList()
|
},
|
show(){
|
this.dialogVisible = true
|
this.getDepartmentList()
|
},
|
selectOne(value){
|
this.$emit('setPerson',value)
|
this.dialogVisible = false
|
},
|
async getDepartmentList(){
|
let res = await getAllDepartment()
|
if(res.data.code === '200'){
|
this.options = res.data.result.map(item=>{return {value:item.department,label:item.department}})
|
}else{
|
this.$message({
|
message:res.data.message,
|
type:'warning'
|
})
|
}
|
},
|
async getPersonList(){
|
this.listLoading = true
|
geDepartmentUserPage(this.filter)
|
.then(res => {
|
if (res.data.code === '200') {
|
this.tableData = res.data.result.records
|
this.recordTotal = res.data.result.total
|
}else{
|
this.$message({
|
message:res.data.message,
|
type:'warning'
|
})
|
}
|
})
|
.catch(err=>{
|
console.log(err)
|
this.$message({
|
message:'接口错误',
|
type:'warning'
|
})
|
})
|
.finally(()=>{
|
this.listLoading = false
|
})
|
}
|
|
}
|
}
|
</script>
|
|
<style scoped>
|
.basic_search{
|
display:inline-block;
|
}
|
</style>
|