|  |  |  | 
|---|
|  |  |  | <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: '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, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|