|
|
|
@ -26,6 +26,17 @@ |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="部门" prop="deptId"> |
|
|
|
<el-select |
|
|
|
v-model="queryParams.deptId" |
|
|
|
placeholder="请选择部门" |
|
|
|
clearable |
|
|
|
filterable |
|
|
|
class="!w-240px" |
|
|
|
> |
|
|
|
<el-option v-for="dept in deptList" :key="dept.id" :label="dept.name" :value="dept.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="系统用户" prop="userId"> |
|
|
|
<el-select |
|
|
|
v-model="queryParams.userId" |
|
|
|
@ -61,12 +72,7 @@ |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="状态" prop="status"> |
|
|
|
<el-select |
|
|
|
v-model="queryParams.status" |
|
|
|
placeholder="请选择状态" |
|
|
|
clearable |
|
|
|
class="!w-240px" |
|
|
|
> |
|
|
|
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> |
|
|
|
<el-option |
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.EMPLOYMENT_STATUS)" |
|
|
|
:key="dict.value" |
|
|
|
@ -107,11 +113,11 @@ |
|
|
|
<Icon icon="ep:download" class="mr-5px" /> 导出 |
|
|
|
</el-button> |
|
|
|
<el-button |
|
|
|
type="danger" |
|
|
|
plain |
|
|
|
:disabled="isEmpty(checkedIds)" |
|
|
|
@click="handleDeleteBatch" |
|
|
|
v-hasPermi="['gas:personnel:delete']" |
|
|
|
type="danger" |
|
|
|
plain |
|
|
|
:disabled="isEmpty(checkedIds)" |
|
|
|
@click="handleDeleteBatch" |
|
|
|
v-hasPermi="['gas:personnel:delete']" |
|
|
|
> |
|
|
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除 |
|
|
|
</el-button> |
|
|
|
@ -122,25 +128,34 @@ |
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<el-table |
|
|
|
row-key="id" |
|
|
|
v-loading="loading" |
|
|
|
:data="list" |
|
|
|
:stripe="true" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
@selection-change="handleRowCheckboxChange" |
|
|
|
row-key="id" |
|
|
|
v-loading="loading" |
|
|
|
:data="list" |
|
|
|
:stripe="true" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
@selection-change="handleRowCheckboxChange" |
|
|
|
> |
|
|
|
<el-table-column type="selection" width="55" /> |
|
|
|
|
|
|
|
<el-table-column type="selection" width="55" /> |
|
|
|
|
|
|
|
<el-table-column label="姓名" align="center" prop="name" /> |
|
|
|
<el-table-column label="工号" align="center" prop="employeeId" /> |
|
|
|
<el-table-column label="关联的系统用户" align="center" prop="userId" > |
|
|
|
<el-table-column label="部门" align="center" prop="deptId"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="scope.row.deptId"> |
|
|
|
{{ deptList.find((dept) => dept.id === scope.row.deptId)?.name || '-' }} |
|
|
|
</span> |
|
|
|
<span v-else>-</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="关联的系统用户" align="center" prop="userId"> |
|
|
|
<template #default="scope"> |
|
|
|
<span v-if="scope.row.userId"> |
|
|
|
{{ userList.find(user => user.id === scope.row.userId)?.nickname || '-' }} |
|
|
|
{{ userList.find((user) => user.id === scope.row.userId)?.nickname || '-' }} |
|
|
|
</span> |
|
|
|
<span v-else>-</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column label="联系电话" align="center" prop="phone" /> |
|
|
|
<el-table-column label="电子邮箱" align="center" prop="email" /> |
|
|
|
<el-table-column label="状态" align="center" prop="status"> |
|
|
|
@ -197,6 +212,7 @@ import download from '@/utils/download' |
|
|
|
import { PersonnelApi, Personnel } from '@/api/gas/personnel' |
|
|
|
import PersonnelForm from './PersonnelForm.vue' |
|
|
|
import { UserVO, getSimpleUserList } from '@/api/system/user' |
|
|
|
import { DeptVO, getSimpleDeptList } from '@/api/system/dept' |
|
|
|
|
|
|
|
/** 人员信息 列表 */ |
|
|
|
defineOptions({ name: 'Personnel' }) |
|
|
|
@ -216,12 +232,19 @@ const queryParams = reactive({ |
|
|
|
phone: undefined, |
|
|
|
email: undefined, |
|
|
|
status: undefined, |
|
|
|
createTime: [] |
|
|
|
createTime: [], |
|
|
|
deptId: undefined |
|
|
|
}) |
|
|
|
const queryFormRef = ref() // 搜索的表单 |
|
|
|
const exportLoading = ref(false) // 导出的加载中 |
|
|
|
|
|
|
|
const userList = ref<UserVO[]>([]) // 系统用户列表 |
|
|
|
const deptList = ref<DeptVO[]>([]) // 部门列表 |
|
|
|
function getDeptList() { |
|
|
|
getSimpleDeptList().then((res) => { |
|
|
|
deptList.value = res || [] |
|
|
|
}) |
|
|
|
} |
|
|
|
function getUserList() { |
|
|
|
getSimpleUserList().then((res) => { |
|
|
|
userList.value = res || [] |
|
|
|
@ -276,15 +299,15 @@ const handleDeleteBatch = async () => { |
|
|
|
try { |
|
|
|
// 删除的二次确认 |
|
|
|
await message.delConfirm() |
|
|
|
await PersonnelApi.deletePersonnelList(checkedIds.value); |
|
|
|
await PersonnelApi.deletePersonnelList(checkedIds.value) |
|
|
|
message.success(t('common.delSuccess')) |
|
|
|
await getList(); |
|
|
|
await getList() |
|
|
|
} catch {} |
|
|
|
} |
|
|
|
|
|
|
|
const checkedIds = ref<number[]>([]) |
|
|
|
const handleRowCheckboxChange = (records: Personnel[]) => { |
|
|
|
checkedIds.value = records.map((item) => item.id); |
|
|
|
checkedIds.value = records.map((item) => item.id) |
|
|
|
} |
|
|
|
|
|
|
|
/** 导出按钮操作 */ |
|
|
|
@ -306,5 +329,6 @@ const handleExport = async () => { |
|
|
|
onMounted(() => { |
|
|
|
getList() |
|
|
|
getUserList() |
|
|
|
getDeptList() |
|
|
|
}) |
|
|
|
</script> |
|
|
|
|