| | |
| | | </QueryFilterItem> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | | v-bind="proTableProps" |
| | | :columns="EmploymentSignColumns" |
| | | :operationBtns="operationBtns" |
| | | > |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <StaffInfoDialog v-bind="dialogStaffInfoProps" /> |
| | |
| | | QueryFilterItem, |
| | | useTable, |
| | | FieldRadio, |
| | | defineOperationBtns, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { EmploymentSignColumns } from './constants/columns'; |
| | | import { Message } from '@bole-core/core'; |
| | | import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants'; |
| | | import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue'; |
| | | import { convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { convertApi2FormUrlOnlyOne, hiddenIDNumberForEnd4 } from '@/utils'; |
| | | import * as taskUserServices from '@/services/api/taskUser'; |
| | | import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee'; |
| | | |
| | |
| | | name: 'EmploymentSignList', |
| | | }); |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'detailBtn', |
| | | name: '详情', |
| | | }, |
| | | const operationBtnMap: Record<string, OperationBtnType> = { |
| | | detailBtn: { |
| | | emits: { |
| | | onClick: (role) => openDialog(role), |
| | | }, |
| | | }, |
| | | // { |
| | | // data: { |
| | | // enCode: 'recruitBtn', |
| | | // name: '录用', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass), |
| | | // }, |
| | | // extraProps: { |
| | | // hide: (row: API.GetTaskUsersQueryResultItem) => |
| | | // row.hireStatus === EnumTaskUserHireStatus.Pass, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // data: { |
| | | // enCode: 'refuseBtn', |
| | | // name: '谢绝', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse), |
| | | // }, |
| | | // extraProps: { |
| | | // hide: (row: API.GetTaskUsersQueryResultItem) => |
| | | // row.hireStatus !== EnumTaskUserHireStatus.Wait, |
| | | // }, |
| | | // }, |
| | | ]); |
| | | recruitBtn: { |
| | | emits: { |
| | | onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetTaskUsersQueryResultItem) => |
| | | row.hireStatus === EnumTaskUserHireStatus.Pass || !state.isInternal, |
| | | }, |
| | | }, |
| | | refuseBtn: { |
| | | emits: { |
| | | onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetTaskUsersQueryResultItem) => |
| | | row.hireStatus !== EnumTaskUserHireStatus.Wait || !state.isInternal, |
| | | }, |
| | | }, |
| | | }; |
| | | |
| | | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ |
| | | operationBtnMap, |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | const route = useRoute(); |
| | | const id = route.params.id as string; |
| | | const BaseState = { |
| | | loading: true, |
| | | |
| | | isInternal: false, |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | |
| | | let res = await taskUserServices.getTaskUsers(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | if (res) { |
| | | state.isInternal = res.objectData?.isInternal; |
| | | } |
| | | return res; |
| | | } catch (error) { |
| | | console.log('error: ', error); |
| | |
| | | columnsRenderProps: { |
| | | gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson }, |
| | | hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, |
| | | identity: { |
| | | formatter: (row: API.GetTaskUsersQueryResultItem) => { |
| | | return hiddenIDNumberForEnd4(row.identity); |
| | | }, |
| | | }, |
| | | }, |
| | | } |
| | | ); |