| | |
| | | <template> |
| | | <ProDialog :title="title" v-model="visible" destroy-on-close draggable> |
| | | <ProDialog title="验收" v-model="visible" destroy-on-close draggable> |
| | | <ProDialogTableWrapper :height="400"> |
| | | <ProTableV2 v-bind="proTableProps" :columns="columns" :operationBtns="operationBtns"> |
| | | <ProTableV2 v-bind="proTableProps" :columns="columns" :showOperationColumn="false"> |
| | | </ProTableV2> |
| | | </ProDialogTableWrapper> |
| | | <template #footer> |
| | |
| | | |
| | | type Form = { |
| | | id: string; |
| | | isDetail: boolean; |
| | | }; |
| | | |
| | | const visible = defineModel({ type: Boolean }); |
| | | const form = defineModel<Form>('form'); |
| | | const title = computed(() => (form.value.isDetail ? '详情' : '验收')); |
| | | const emit = defineEmits<{ |
| | | (e: 'onCancel'): void; |
| | | }>(); |
| | |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'createdTime', |
| | | enCode: 'checkInTime', |
| | | name: '签到时间', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'files', |
| | | enCode: 'checkOutTime', |
| | | name: '签出时间', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'checkReceiveStatus', |
| | | enCode: 'checkOutStatus', |
| | | name: '验收状态', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'checkReceiveTime', |
| | | enCode: 'operator', |
| | | name: '操作人', |
| | | }, |
| | | ]); |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'checkReceiveBtn', |
| | | name: '验收通过', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Success), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => |
| | | !( |
| | | row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit || |
| | | row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive |
| | | ) || form.value.isDetail, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'checkReceiveBtn', |
| | | name: '验收未通过', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Fail), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => |
| | | !( |
| | | row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit || |
| | | row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive |
| | | ) || form.value.isDetail, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'downloadBtn', |
| | | name: '下载', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleDownload(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => row.files?.length === 0, |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | |
| | | }, |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits'], |
| | | columnsRenderProps: { |
| | | createdTime: { type: 'date' }, |
| | | checkReceiveTime: { type: 'date' }, |
| | | checkInTime: { type: 'date' }, |
| | | checkOutTime: { type: 'date' }, |
| | | date: { type: 'date', format: 'YYYY-MM-DD' }, |
| | | checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckReceiveStatusText }, |
| | | files: { |
| | | type: 'url', |
| | | //@ts-ignore |
| | | formatter: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => |
| | | row.files?.length > 0 && (row.files ?? []).map((x) => setOSSLink(x)), |
| | | showDownloadBtn: false, |
| | | //@ts-ignore |
| | | checkOutStatus: { |
| | | formatter: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) => { |
| | | return row.checkOutTime ? '已签到' : '未到岗'; |
| | | }, |
| | | }, |
| | | }, |
| | | } |