0512新功能优化a
This commit is contained in:
@@ -57,6 +57,17 @@
|
||||
<el-option :value="false" label="停用" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否所长" prop="officeLeaderFlag">
|
||||
<el-select
|
||||
v-model="queryParams.officeLeaderFlag"
|
||||
class="!w-180px"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
>
|
||||
<el-option :value="true" label="是" />
|
||||
<el-option :value="false" label="否" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery">
|
||||
<Icon class="mr-5px" icon="ep:search" />
|
||||
@@ -76,7 +87,7 @@
|
||||
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list">
|
||||
<el-table-column align="center" label="ID" prop="id" width="88" />
|
||||
<el-table-column :index="getRowIndex" align="center" label="序号" type="index" width="88" />
|
||||
<el-table-column align="center" label="员工姓名" min-width="120" prop="employeeName" />
|
||||
<el-table-column align="center" label="性别" prop="gender" width="80" />
|
||||
<el-table-column align="center" label="所属专业所" min-width="140" prop="officeName" />
|
||||
@@ -95,9 +106,28 @@
|
||||
prop="registrationSealNo"
|
||||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column align="center" label="入职时间" prop="entryDate" width="120" />
|
||||
<el-table-column align="center" label="离职时间" prop="leaveDate" width="120" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="入职时间"
|
||||
prop="entryDate"
|
||||
width="120"
|
||||
:formatter="dateFormatter2"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="离职时间"
|
||||
prop="leaveDate"
|
||||
width="120"
|
||||
:formatter="dateFormatter2"
|
||||
/>
|
||||
<el-table-column align="center" label="状态" prop="employeeStatus" width="90" />
|
||||
<el-table-column align="center" label="是否所长" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.officeLeaderFlag ? 'warning' : 'info'">
|
||||
{{ scope.row.officeLeaderFlag ? '是' : '否' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否启用" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag :type="scope.row.enabledFlag ? 'success' : 'info'">
|
||||
@@ -105,7 +135,13 @@
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="创建时间" prop="createTime" width="180" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="创建时间"
|
||||
prop="createTime"
|
||||
width="180"
|
||||
:formatter="dateFormatter"
|
||||
/>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="160">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
@@ -262,6 +298,11 @@
|
||||
<el-switch v-model="formData.enabledFlag" active-text="启用" inactive-text="停用" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否所长" prop="officeLeaderFlag">
|
||||
<el-switch v-model="formData.officeLeaderFlag" active-text="是" inactive-text="否" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input
|
||||
@@ -286,6 +327,7 @@
|
||||
import type { FormRules } from 'element-plus'
|
||||
import * as EmployeeApi from '@/api/tjt/employee'
|
||||
import * as OfficeApi from '@/api/tjt/office'
|
||||
import { dateFormatter, dateFormatter2, formatDate } from '@/utils/formatTime'
|
||||
|
||||
defineOptions({ name: 'TjtEmployee' })
|
||||
|
||||
@@ -327,9 +369,13 @@ const queryParams = reactive<EmployeeApi.EmployeePageReqVO>({
|
||||
employeeName: undefined,
|
||||
officeId: undefined,
|
||||
employeeStatus: undefined,
|
||||
enabledFlag: undefined
|
||||
enabledFlag: undefined,
|
||||
officeLeaderFlag: undefined
|
||||
})
|
||||
|
||||
const getRowIndex = (index: number) =>
|
||||
(queryParams.pageNo - 1) * queryParams.pageSize + index + 1
|
||||
|
||||
const createFormData = (): EmployeeApi.EmployeeVO => ({
|
||||
employeeName: '',
|
||||
gender: '男',
|
||||
@@ -341,12 +387,17 @@ const createFormData = (): EmployeeApi.EmployeeVO => ({
|
||||
leaveDate: undefined,
|
||||
employeeStatus: '在职',
|
||||
remark: '',
|
||||
officeLeaderFlag: false,
|
||||
sortNo: 0,
|
||||
enabledFlag: true
|
||||
})
|
||||
|
||||
const formData = ref<EmployeeApi.EmployeeVO>(createFormData())
|
||||
|
||||
const normalizeDateValue = (value?: string | number) => {
|
||||
return value ? formatDate(value as any, 'YYYY-MM-DD') : undefined
|
||||
}
|
||||
|
||||
const formRules = reactive<FormRules>({
|
||||
employeeName: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
|
||||
gender: [{ required: true, message: '性别不能为空', trigger: 'change' }],
|
||||
@@ -408,7 +459,12 @@ const openDialog = async (type: 'create' | 'update', id?: number) => {
|
||||
}
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await EmployeeApi.getEmployee(id)
|
||||
const data = await EmployeeApi.getEmployee(id)
|
||||
formData.value = {
|
||||
...data,
|
||||
entryDate: normalizeDateValue(data.entryDate as any),
|
||||
leaveDate: normalizeDateValue(data.leaveDate as any)
|
||||
}
|
||||
await ensureCurrentOfficeOption()
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
|
||||
Reference in New Issue
Block a user