wupengfei
2025-11-13 851c6e7f3a25cba32b2d0e69126bf3360c37ab29
src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -16,11 +16,7 @@
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="服务费金额:">
                {{
                  taskInfo.billingMethod === EnumBillingMethod.Face
                    ? EnumBillingMethodText[taskInfo.billingMethod]
                    : `${taskInfo.serviceFee}${EnumBillingMethodUnitText[taskInfo.billingMethod]}`
                }}
                {{ OrderUtils.getServiceFeeText(taskInfo.serviceFee, taskInfo.billingMethod) }}
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
@@ -44,11 +40,7 @@
        </ProForm>
      </el-card>
      <ProTableV2
        v-bind="proTableProps"
        :columns="CheckReceiveTaskDetailColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
    <CheckManageDialog v-bind="dialogProps" />
@@ -63,18 +55,15 @@
  AppContainer,
  useTable,
  useFormDialog,
  defineOperationBtns,
  ProForm,
  ProFormCol,
  ProFormColItem,
  ProFormItemV2,
  ProTableQueryFilterBar,
} from '@bole-core/components';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import * as taskServices from '@/services/api/task';
import { useQuery } from '@tanstack/vue-query';
import { CheckReceiveTaskDetailColumns } from './constants';
import { EnumBillingMethodUnitText, EnumBillingMethod, EnumBillingMethodText } from '@/constants';
import { OrderUtils } from '@/utils';
import dayjs from 'dayjs';
import CheckManageDialog from './components/CheckManageDialog.vue';
import ManualCheckManageDialog from './components/ManualCheckManageDialog.vue';
@@ -83,31 +72,30 @@
  name: 'CheckReceiveTaskDetail',
});
const operationBtns = defineOperationBtns([
  // {
  //   data: {
  //     enCode: 'exportBtn',
  //     name: '验收',
  //   },
  //   emits: {
  //     onClick: (role) => openDialog(role),
  //   },
  //   extraProps: {
  //     hide: (row: API.GetCheckReceiveTaskQueryResultItem) =>
  //       row.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed ||
  //       state.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn,
  //   },
  // },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => openDialog(role, true),
    },
  },
]);
  acceptanceBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
    extraProps: {
      hide: (row: API.GetCheckReceiveTaskQueryResultItem) =>
        !(
          row.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive &&
          row.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.Submit) &&
          taskInfo.value?.isInternal
        ),
    },
  },
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
  operationBtnMap,
});
const route = useRoute();
const id = (route.params.id as string) ?? '';
@@ -128,6 +116,8 @@
const BaseState = {
  loading: true,
  checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
  isInternal: false,
};
const state = reactive({ ...BaseState });
@@ -164,6 +154,7 @@
        showLoading: !state.loading,
      });
      state.checkReceiveMethods = res.objectData?.checkReceiveMethods;
      state.isInternal = res.objectData?.isInternal;
      return res;
    } catch (error) {}
  },
@@ -189,6 +180,7 @@
  handleEdit({
    id: row.id,
    checkReceiveMethods: state.checkReceiveMethods,
    isInternal: state.isInternal,
    isDetail,
  });
}
@@ -197,6 +189,7 @@
  defaultFormParams: {
    id: '',
    checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
    isInternal: false,
    isDetail: false,
  },
});