| | |
| | | </ProForm> |
| | | </ChunkCell> |
| | | <ChunkCell title="收款方信息"> |
| | | <ProForm :model="form" ref="formRef" label-width="120px"> |
| | | <ProFormItemV2 |
| | | label="收款方账户:" |
| | | prop="name" |
| | | :check-rules="[{ message: '请选择收款方账户' }]" |
| | | > |
| | | <ProFormRadio |
| | | v-model="form.name" |
| | | :valueEnum="[]" |
| | | placeholder="请选择收款方账户" |
| | | clearable |
| | | > |
| | | </ProFormRadio> |
| | | </ProFormItemV2> |
| | | <ProFormMixinsItemContainer> |
| | | <ProFormItemV2 |
| | | label="收款方户名:" |
| | | prop="name" |
| | | :check-rules="[{ message: '请输入收款方户名' }]" |
| | | mode="read" |
| | | > |
| | | <ProFormText v-model="form.name"> </ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="收款方账号:" |
| | | prop="name" |
| | | :check-rules="[{ message: '请输入收款方账号' }]" |
| | | mode="read" |
| | | > |
| | | <ProFormText v-model="form.name"> </ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="收款方开户行:" |
| | | prop="name" |
| | | :check-rules="[{ message: '请输入收款开户行' }]" |
| | | mode="read" |
| | | > |
| | | <ProFormText v-model="form.name"> </ProFormText> |
| | | </ProFormItemV2> |
| | | </ProFormMixinsItemContainer> |
| | | </ProForm> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.keywords" |
| | | style="width: 300px" |
| | | placeholder="人员姓名/身份证号/手机号" |
| | | @on-click-search="getList" |
| | | > |
| | | </SearchInput> |
| | | </QueryFilterItem> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | | v-bind="proTableProps" |
| | | :columns="SettlementListColumns" |
| | | :show-operation-column="false" |
| | | :auto-height="false" |
| | | ref="proTable" |
| | | :tableProps="{ |
| | | maxHeight: '400px', |
| | | }" |
| | | > |
| | | </ProTableV2> |
| | | </ChunkCell> |
| | | <ChunkCell title="转账信息"> |
| | | <ProForm :model="form" ref="formRef" label-width="120px"> |
| | |
| | | ProFormText, |
| | | ProFormSelect, |
| | | ProFormInputNumber, |
| | | ProFormRadio, |
| | | ProTableV2, |
| | | QueryFilterItem, |
| | | SearchInput, |
| | | ProTableQueryFilterBar, |
| | | ProFormMixinsItemContainer, |
| | | useTable, |
| | | } from '@bole-core/components'; |
| | | import {} from '@/constants'; |
| | | import * as flexTaskServices from '@/services/api/FlexTask'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import { validateFormList } from '@/utils'; |
| | | import * as taskServices from '@/services/api/task'; |
| | | import { SettlementListColumns } from './constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'ServiceChargeSettle', |
| | |
| | | |
| | | const route = useRoute(); |
| | | const id = (route.params.id as string) ?? ''; |
| | | |
| | | const eventContext = useGlobalEventContext(); |
| | | const { closeViewPush } = useRouteView(); |
| | | |
| | | const form = reactive({ |
| | |
| | | }); |
| | | |
| | | const { isLoading } = useQuery({ |
| | | queryKey: ['flexTaskServices/getFlexTaskDetail', id], |
| | | queryKey: ['taskServices/getTaskInfo', id], |
| | | queryFn: async () => { |
| | | return await flexTaskServices.getFlexTaskDetail( |
| | | return await taskServices.getTaskInfo( |
| | | { id: id }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetFlexTaskDetailForBackOutput), |
| | | onSuccess(data) {}, |
| | | placeholderData: () => ({} as API.GetTaskInfoQueryResult), |
| | | onSuccess(data) { |
| | | form.name = data.name; |
| | | }, |
| | | enabled: !!id, |
| | | }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | reset, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetOpenTaskInfosQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | keywords: extraParamState.keywords, |
| | | }; |
| | | |
| | | let res = await taskServices.getOpenTaskInfos(params); |
| | | return res; |
| | | } catch (error) { |
| | | console.log('error: ', error); |
| | | } |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | keywords: '', |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |
| | | }, |
| | | queryKey: ['taskServices/getOpenTaskInfos'], |
| | | columnsRenderProps: {}, |
| | | } |
| | | ); |
| | | |
| | | function handleBack() { |
| | | closeViewPush(route, { |
| | |
| | | try { |
| | | const valid = await validateFormList([formRef.value]); |
| | | if (valid) { |
| | | // |
| | | submit(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | onMounted(() => {}); |
| | | async function submit() { |
| | | try { |
| | | eventContext.emit('serviceChargeSettle'); |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |