From ed68d97625c05f0d1ab3ce2bf1ce187e78ad10aa Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 26 十二月 2025 16:30:33 +0800
Subject: [PATCH] feat: 订单
---
src/services/api/standardOrder.ts | 18 ++
src/views/StandardOrderManage/OrderManage.vue | 4
.eslintrc-auto-import.json | 2
src/services/api/typings.d.ts | 89 ++++++++++++
src/views/FinanceManage/OrderSettlementManage.vue | 25 +++
src/hooks/standardOrder.ts | 45 ++++++
src/services/api/taskUser.ts | 15 ++
src/services/api/index.ts | 4
src/views/StandardOrderManage/OrderManageDetail.vue | 15 -
src/constants/common.ts | 9 +
auto-imports.d.ts | 5
src/components/Table/PortraitTableWithAttachment.vue | 87 ++++++++++++
src/constants/apiEnum.ts | 2
src/constants/index.ts | 1
src/views/FinanceManage/components/OrderSettlementDetailDialog.vue | 40 +++--
src/services/api/user.ts | 15 ++
16 files changed, 337 insertions(+), 39 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 3102a68..13eaef6 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -11,6 +11,7 @@
"CertificateTypeCodeEnum": true,
"ChargeTypeEnum": true,
"ChargeTypeEnumText": true,
+ "CommonAnnexTableColumns": true,
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
@@ -363,6 +364,7 @@
"useRouter": true,
"useSetReactive": true,
"useSlots": true,
+ "useStandardOrder": true,
"useTemplateRef": true,
"useUser": true,
"useVModel": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index ea619c8..253a3c1 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -17,6 +17,7 @@
const CertificateTypeCodeEnum: typeof import('./src/constants/dic')['CertificateTypeCodeEnum']
const ChargeTypeEnum: typeof import('./src/constants/enterprise')['ChargeTypeEnum']
const ChargeTypeEnumText: typeof import('./src/constants/enterprise')['ChargeTypeEnumText']
+ const CommonAnnexTableColumns: typeof import('./src/constants/common')['CommonAnnexTableColumns']
const EditorType: typeof import('./src/constants/editor')['EditorType']
const EditorTypeText: typeof import('./src/constants/editor')['EditorTypeText']
const EducationCodeEnum: typeof import('./src/constants/dic')['EducationCodeEnum']
@@ -326,6 +327,7 @@
const useGetDictionaryCategorySelect: typeof import('./src/hooks/dic')['useGetDictionaryCategorySelect']
const useGetEnterprises: typeof import('./src/hooks/enterprise')['useGetEnterprises']
const useGetShowAdvertisements: typeof import('./src/hooks/advertisement')['useGetShowAdvertisements']
+ const useGetStandardOrder: typeof import('./src/hooks/standardOrder')['useGetStandardOrder']
const useGetStandardOrders: typeof import('./src/hooks/standardOrder')['useGetStandardOrders']
const useGlobalEventContext: typeof import('./src/hooks/useEvent')['useGlobalEventContext']
const useGlobalEventProvide: typeof import('./src/hooks/useEvent')['useGlobalEventProvide']
@@ -349,6 +351,7 @@
const useRouter: typeof import('vue-router')['useRouter']
const useSetReactive: typeof import('./src/hooks/global/helper')['useSetReactive']
const useSlots: typeof import('vue')['useSlots']
+ const useStandardOrder: typeof import('./src/hooks/standardOrder')['useStandardOrder']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const useUser: typeof import('./src/hooks/useUser')['useUser']
const useVModel: typeof import('./src/hooks/help')['useVModel']
@@ -422,6 +425,7 @@
readonly CertificateTypeCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['CertificateTypeCodeEnum']>
readonly ChargeTypeEnum: UnwrapRef<typeof import('./src/constants/enterprise')['ChargeTypeEnum']>
readonly ChargeTypeEnumText: UnwrapRef<typeof import('./src/constants/enterprise')['ChargeTypeEnumText']>
+ readonly CommonAnnexTableColumns: UnwrapRef<typeof import('./src/constants/common')['CommonAnnexTableColumns']>
readonly EditorType: UnwrapRef<typeof import('./src/constants/editor')['EditorType']>
readonly EditorTypeText: UnwrapRef<typeof import('./src/constants/editor')['EditorTypeText']>
readonly EducationCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['EducationCodeEnum']>
@@ -748,6 +752,7 @@
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
readonly useSetReactive: UnwrapRef<typeof import('./src/hooks/global/helper')['useSetReactive']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
+ readonly useStandardOrder: UnwrapRef<typeof import('./src/hooks/standardOrder')['useStandardOrder']>
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
readonly useUser: UnwrapRef<typeof import('./src/hooks/useUser')['useUser']>
readonly useVModel: UnwrapRef<typeof import('./src/hooks/help')['useVModel']>
diff --git a/src/components/Table/PortraitTableWithAttachment.vue b/src/components/Table/PortraitTableWithAttachment.vue
new file mode 100644
index 0000000..b8e0a15
--- /dev/null
+++ b/src/components/Table/PortraitTableWithAttachment.vue
@@ -0,0 +1,87 @@
+<template>
+ <PortraitTable v-bind="portraitTableProps" :label-width="labelWidth"> </PortraitTable>
+ <div class="enclosure-list-title">闄勪欢鍒楄〃</div>
+ <ProTableV2
+ :table-data="annexList"
+ :columns="CommonAnnexTableColumns"
+ :operation-btns="operationListBtns"
+ :show-pagination="false"
+ :show-no-data="false"
+ :auto-height="false"
+ :show-table-column-setting="false"
+ :table-props="{ maxHeight: '400px' }"
+ :column-render-map="columnsRenderProps"
+ >
+ </ProTableV2>
+</template>
+
+<script setup lang="ts" generic="TAnnexItem">
+import { downloadFileByUrl } from '@bole-core/core';
+import { CommonAnnexTableColumns } from '@/constants';
+import { bolePreview, ProTableV2, ProTableV2Props } from '@bole-core/components';
+
+defineOptions({
+ name: 'PortraitTableWithAttachment',
+});
+
+type Props = {
+ annexList: TAnnexItem[];
+ customDownLoad?: (row: TAnnexItem) => Promise<any>;
+ labelWidth?: string;
+ portraitTableProps: any;
+ columnsRenderProps?: ProTableV2Props['columnRenderMap'];
+ downloadFileKey?: keyof TAnnexItem;
+};
+
+const props = withDefaults(defineProps<Props>(), {
+ labelWidth: '180px',
+ columnsRenderProps: () => ({}),
+ downloadFileKey: 'url' as any,
+});
+
+const operationListBtns = [
+ {
+ data: {
+ enCode: 'previewBtn',
+ name: '鏌ョ湅',
+ },
+ emits: {
+ onClick: (row) => handlePreview(row),
+ },
+ },
+ {
+ data: {
+ enCode: 'downloadBtn',
+ name: '涓嬭浇',
+ },
+ emits: {
+ onClick: (row) => handleDownload(row),
+ },
+ },
+];
+
+function handleDownload(row: TAnnexItem) {
+ if (props.customDownLoad) {
+ props.customDownLoad(row);
+ } else {
+ downloadFileByUrl(row[props.downloadFileKey] as any);
+ }
+}
+
+function handlePreview(row: TAnnexItem) {
+ bolePreview({
+ fileUrl: row[props.downloadFileKey] as any,
+ });
+}
+</script>
+
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
+
+.enclosure-list-title {
+ padding: 16px 0;
+ font-size: 14px;
+ color: getCssVar('text-color', 'primary');
+ line-height: 19px;
+}
+</style>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index d81c52a..69697f3 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -265,6 +265,8 @@
export enum EnumEnterpriseWalletTransactionType {
/**鍏呭�� */
Recharge = 10,
+ /**鏀跺叆 */
+ Income = 11,
/**杞处 */
Transfer = 20,
}
diff --git a/src/constants/common.ts b/src/constants/common.ts
new file mode 100644
index 0000000..d2a756c
--- /dev/null
+++ b/src/constants/common.ts
@@ -0,0 +1,9 @@
+import { defineColumns } from '@bole-core/components';
+
+export const CommonAnnexTableColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
+ name: '鏂囦欢鍚�',
+ },
+]);
diff --git a/src/constants/index.ts b/src/constants/index.ts
index 06a967c..dfc0dd0 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -1,3 +1,4 @@
+export * from './common';
export * from './enum';
export * from './oss';
export * from './module';
diff --git a/src/hooks/standardOrder.ts b/src/hooks/standardOrder.ts
index 28cde86..9d56f14 100644
--- a/src/hooks/standardOrder.ts
+++ b/src/hooks/standardOrder.ts
@@ -7,8 +7,14 @@
EnumStandardOrderPayStatusText,
EnumStandardOrderSettlementStatusText,
} from '@/constants';
+import { useQuery } from '@tanstack/vue-query';
-export function useGetStandardOrders() {
+type UseGetStandardOrdersOptions = {
+ isSettlement?: boolean;
+};
+
+export function useGetStandardOrders(options: UseGetStandardOrdersOptions) {
+ const { isSettlement = false } = options;
const {
getDataSource: getList,
proTableProps,
@@ -25,7 +31,9 @@
orderInput: extraParamState.orderInput,
},
keywords: extraParamState.keywords,
- appointmentStatus: extraParamState.appointmentStatus,
+ appointmentStatus: isSettlement
+ ? EnumStandardOrderAppointmentStatus.Completed
+ : extraParamState.appointmentStatus,
payStatus: extraParamState.payStatus,
settlementStatus: extraParamState.settlementStatus,
createdTimeBegin: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
@@ -69,3 +77,36 @@
reset,
};
}
+
+type UseStandardOrderOptions = {
+ id: MaybeRef<string>;
+ scene?: EnumGetStandardOrdersQueryScene;
+ onSuccess?: (data: API.GetStandardOrderQueryResult) => any;
+};
+
+export function useStandardOrder({ id, scene, onSuccess }: UseStandardOrderOptions) {
+ const {
+ isLoading,
+ isError,
+ data: detail,
+ refetch,
+ } = useQuery({
+ queryKey: ['standardOrderServices/getStandardOrder', id, scene],
+ queryFn: async () => {
+ const params: API.APIgetStandardOrderParams = {
+ id: unref(id),
+ scene: scene,
+ };
+ return await standardOrderServices.getStandardOrder(params, {
+ showLoading: false,
+ });
+ },
+ placeholderData: () => ({} as API.GetStandardOrderQueryResult),
+ onSuccess(data) {
+ onSuccess?.(data);
+ },
+ enabled: computed(() => !!unref(id)),
+ });
+
+ return { detail, isLoading, isError, refetch };
+}
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 10b88c6..aa4cd2f 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -9,13 +9,13 @@
import * as task from './task';
import * as enterpriseWallet from './enterpriseWallet';
import * as ocrUtils from './ocrUtils';
+import * as standardOrder from './standardOrder';
import * as electronSign from './electronSign';
import * as resource from './resource';
import * as logRecords from './logRecords';
import * as dictionary from './dictionary';
import * as taskCheckReceive from './taskCheckReceive';
import * as taskUser from './taskUser';
-import * as standardOrder from './standardOrder';
import * as standardService from './standardService';
import * as userResume from './userResume';
import * as auth from './auth';
@@ -40,13 +40,13 @@
task,
enterpriseWallet,
ocrUtils,
+ standardOrder,
electronSign,
resource,
logRecords,
dictionary,
taskCheckReceive,
taskUser,
- standardOrder,
standardService,
userResume,
auth,
diff --git a/src/services/api/standardOrder.ts b/src/services/api/standardOrder.ts
index 22de738..a38f968 100644
--- a/src/services/api/standardOrder.ts
+++ b/src/services/api/standardOrder.ts
@@ -98,6 +98,24 @@
});
}
+/** 鏌ヨ鏍囧噯璁㈠崟缁撶畻璇︽儏 GET /api/flexjob/standardOrder/getStandardOrderSettlement */
+export async function getStandardOrderSettlement(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetStandardOrderSettlementParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetStandardOrderSettlementQueryResult>(
+ '/api/flexjob/standardOrder/getStandardOrderSettlement',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ }
+ );
+}
+
/** 鏌ヨ鏍囧噯璁㈠崟璇︽儏 GET /api/flexjob/standardOrder/getSureStandardOrder */
export async function getSureStandardOrder(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/taskUser.ts b/src/services/api/taskUser.ts
index e7816d9..574ebbc 100644
--- a/src/services/api/taskUser.ts
+++ b/src/services/api/taskUser.ts
@@ -14,6 +14,21 @@
});
}
+/** 鎵归噺浠诲姟瀹夋帓 POST /api/flexjob/taskUser/batchSetTaskUserArrange */
+export async function batchSetTaskUserArrange(
+ body: API.BatchSetTaskUserArrangeCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/flexjob/taskUser/batchSetTaskUserArrange', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 DELETE /api/flexjob/taskUser/clearTaskCollect */
export async function clearTaskCollect(
body: API.ClearTaskCollectCommand,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 62cea36..d7ac05a 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -408,6 +408,11 @@
scene?: EnumGetStandardOrdersQueryScene;
}
+ interface APIgetStandardOrderSettlementParams {
+ /** 璁㈠崟Id */
+ id?: string;
+ }
+
interface APIgetStandardServiceParams {
/** Id */
id?: string;
@@ -622,6 +627,14 @@
errorMessages?: string;
}
+ interface BatchSetTaskUserArrangeCommand {
+ /** 浠诲姟Id */
+ taskInfoIds?: string[];
+ /** 鐏靛伐Id */
+ enterpriseEmployeeId?: string;
+ arrangeStatus?: EnumTaskUserArrangeStatus;
+ }
+
interface BindWxmpUserInfoCommand {
/** 璁块棶浠ょ墝 */
accessToken: string;
@@ -1214,6 +1227,8 @@
enum EnumEnterpriseWalletTransactionType {
/**鍏呭�� */
Recharge = 10,
+ /**鏀跺叆 */
+ Income = 11,
/**杞处 */
Transfer = 20,
}
@@ -3439,6 +3454,24 @@
timestamp?: number;
}
+ interface FriendlyResultGetStandardOrderSettlementQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetStandardOrderSettlementQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
interface FriendlyResultGetStandardOrdersQueryResult {
/** 璺熻釜Id */
traceId?: string;
@@ -8178,6 +8211,10 @@
/** 渚涘簲鍟� */
supplierEnterpriseName?: string;
/** 鏈嶅姟浜哄憳 */
+ serverNames?: string;
+ /** 鏈嶅姟浜哄憳鑱旂郴鐢佃瘽 */
+ serverContactPhoneNumbers?: string;
+ /** 鏈嶅姟浜哄憳 */
servers?: GetStandardOrderQueryResultServer[];
/** 澶囨敞 */
remark?: string;
@@ -8202,6 +8239,7 @@
receiveAmount?: number;
/** 缁撶畻閲戦 */
settlementAmount?: number;
+ taskCheckReceiveStatus?: EnumTaskCheckReceiveStatus;
partAEnterpriseOrderStatus?: EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus;
supplierEnterpriseOrderStatus?: EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus;
}
@@ -8215,6 +8253,38 @@
contactPhoneNumber?: string;
}
+ interface GetStandardOrderSettlementQueryResult {
+ /** 璁㈠崟Id */
+ id?: string;
+ /** 浠樻浜鸿处鎴� */
+ payerAccount?: string;
+ /** 浠樻浜哄悕绉� */
+ payerName?: string;
+ /** 浠樻浜哄紑鎴疯 */
+ payerBank?: string;
+ /** 浠樻浜烘敮琛� */
+ payerBankBranch?: string;
+ /** 鏀舵浜哄鍚� */
+ receiveName?: string;
+ /** 鏀舵璐︽埛 */
+ receiveAccount?: string;
+ /** 鏀舵浜哄紑鎴疯 */
+ receiveBank?: string;
+ /** 鏀舵浜烘敮琛� */
+ receiveBankBranch?: string;
+ /** 甯佺 */
+ currency?: string;
+ /** 甯佺 */
+ currencyName?: string;
+ settlementStatus?: EnumStandardOrderSettlementStatus;
+ /** 缁撶畻鏃堕棿 */
+ settlementTime?: string;
+ /** 缁撶畻閲戦 */
+ settlementAmount?: number;
+ /** 鐢靛瓙鏀舵嵁涓嬭浇閾炬帴 */
+ ereceiptDownloadOssUrl?: string;
+ }
+
interface GetStandardOrdersQuery {
scene?: EnumGetStandardOrdersQueryScene;
/** 鍏抽敭瀛楋紙璁㈠崟鍙�/鏈嶅姟鍚嶏級 */
@@ -8232,6 +8302,7 @@
partAEnterpriseOrderStatus?: EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus;
supplierEnterpriseOrderStatus?: EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus;
settlementStatus?: EnumStandardOrderSettlementStatus;
+ taskCheckReceiveStatus?: EnumTaskCheckReceiveStatus;
pageModel?: PagedListQueryPageModel;
}
@@ -9364,6 +9435,8 @@
interface GetWxmpSettingsQueryResult {
/** 闅愯棌鏀粯瀹� */
hiddenAlipay?: boolean;
+ /** 寰俊瀹℃牳涓� */
+ wxmpAuditInProcess?: boolean;
}
interface HistoryQueryResult {
@@ -10205,6 +10278,22 @@
id?: string;
}
+ interface SaveOperationUserCommand {
+ /** 濮撳悕 */
+ name?: string;
+ /** 鐢ㄦ埛鍚� */
+ userName: string;
+ /** 鎵嬫満鍙� */
+ phoneNumber?: string;
+ /** 瀵嗙爜 */
+ password?: string;
+ status?: EnumUserStatus;
+ /** 澶囨敞 */
+ remark?: string;
+ /** Id */
+ id?: string;
+ }
+
interface SavePartyAEnterpriseCommand {
/** Id */
id?: string;
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
index 99cf0de..df6fe54 100644
--- a/src/services/api/user.ts
+++ b/src/services/api/user.ts
@@ -251,6 +251,21 @@
});
}
+/** 淇濆瓨杩愯惀绔敤鎴� POST /api/user/user/saveOperationUser */
+export async function saveOperationUser(
+ body: API.SaveOperationUserCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/user/saveOperationUser', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 淇濆瓨鐢ㄦ埛閾惰鍗′俊鎭� POST /api/user/user/savePersonalUserBankCard */
export async function savePersonalUserBankCard(
body: API.SavePersonalUserBankCardCommand,
diff --git a/src/views/FinanceManage/OrderSettlementManage.vue b/src/views/FinanceManage/OrderSettlementManage.vue
index 6c60ac8..e441dd7 100644
--- a/src/views/FinanceManage/OrderSettlementManage.vue
+++ b/src/views/FinanceManage/OrderSettlementManage.vue
@@ -46,6 +46,9 @@
import OrderSettlementDetailDialog from './components/OrderSettlementDetailDialog.vue';
import { useGetStandardOrders } from '@/hooks';
import { EnumStandardOrderSettlementStatusText } from '@/constants';
+import * as standardOrderServices from '@/services/api/standardOrder';
+import { Message } from '@bole-core/core';
+import { toThousand } from '@/utils';
defineOptions({
name: 'OrderSettlementManage',
@@ -67,14 +70,30 @@
const state = reactive({ ...BaseState });
-const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders();
+const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders({
+ isSettlement: true,
+});
onMounted(async () => {
await getList();
state.loading = false;
});
-async function handleSettlement(row) {}
+async function handleSettlement(row: API.GetStandardOrdersQueryResultItem) {
+ try {
+ await Message.tipMessage(
+ `纭灏�${toThousand(row.settlementAmount)}鍏冪粨绠楃粰${row.supplierEnterpriseName}鍚楋紵`
+ );
+ let params: API.SettlementStandardOrderCommand = {
+ id: row.id,
+ };
+ let res = await standardOrderServices.settlementStandardOrder(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
const { dialogProps, handleEdit, editForm } = useFormDialog({
defaultFormParams: {
@@ -82,7 +101,7 @@
},
});
-function openDialog(row) {
+function openDialog(row: API.GetStandardOrdersQueryResultItem) {
handleEdit({
id: row.id,
});
diff --git a/src/views/FinanceManage/components/OrderSettlementDetailDialog.vue b/src/views/FinanceManage/components/OrderSettlementDetailDialog.vue
index 1ee399e..06f2cbc 100644
--- a/src/views/FinanceManage/components/OrderSettlementDetailDialog.vue
+++ b/src/views/FinanceManage/components/OrderSettlementDetailDialog.vue
@@ -19,9 +19,11 @@
import { FormInstance } from 'element-plus';
import { ProDialog } from '@bole-core/components';
import { usePortraitTableWithAttachment } from '@/hooks';
-import { convertApi2FormUrl } from '@/utils';
+import { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils';
import { useQuery } from '@tanstack/vue-query';
-import * as enterpriseCooperationWalletServices from '@/services/api/enterpriseCooperationWallet';
+import * as standardOrderServices from '@/services/api/standardOrder';
+import { EnumStandardOrderSettlementStatusText } from '@/constants';
+import PortraitTableWithAttachment from '@/components/Table/PortraitTableWithAttachment.vue';
defineOptions({
name: 'OrderSettlementDetailDialog',
@@ -51,67 +53,67 @@
);
const { data: detail, refetch } = useQuery({
- queryKey: [
- 'enterpriseCooperationWalletServices/getCooperationWalletRechargeTransaction',
- form.value.id,
- ],
+ queryKey: ['standardOrderServices/getStandardOrderSettlement', form.value.id],
queryFn: async () => {
- return await enterpriseCooperationWalletServices.getCooperationWalletRechargeTransaction({
+ return await standardOrderServices.getStandardOrderSettlement({
id: form.value.id,
});
},
- placeholderData: () => ({} as API.GetCooperationWalletRechargeTransactionQueryResult),
+ placeholderData: () => ({} as API.GetStandardOrderSettlementQueryResult),
enabled: computed(() => !!form.value.id),
});
const { portraitTableWithAttachmentProps } = usePortraitTableWithAttachment({
data: detail,
annexList: computed(() =>
- detail.value?.files ? detail.value?.files.map((item) => convertApi2FormUrl(item)) : []
+ detail.value?.ereceiptDownloadOssUrl
+ ? convertApi2FormUrlOnlyOne(detail.value?.ereceiptDownloadOssUrl)
+ : []
),
columns: [
{
label: '浠樻浜鸿处鎴�',
- key: 'receiveUnit',
+ key: 'payerAccount',
},
{
label: '鏀舵浜鸿处鎴�',
- key: 'receiveName',
+ key: 'receiveAccount',
},
{
label: '浠樻浜哄悕绉�',
- key: 'receiveBank',
+ key: 'payerName',
},
{
label: '鏀舵浜哄悕绉�',
- key: 'receiveAccount',
+ key: 'receiveName',
},
{
label: '浠樻浜哄紑鎴疯',
- key: 'receiveAccount',
+ key: 'payerBank',
},
{
label: '鏀舵浜哄紑鎴疯',
- key: 'receiveAccount',
+ key: 'receiveBank',
},
{
label: '甯佺',
- key: 'receiveAccount',
+ key: 'currencyName',
},
{
label: '缁撶畻閲戦',
- key: 'amount',
+ key: 'settlementAmount',
type: 'money',
},
{
label: '缁撶畻鏃堕棿',
- key: 'createdTime',
+ key: 'settlementTime',
type: 'date',
},
{
label: '缁撶畻鐘舵��',
- key: 'transactionStatus',
+ key: 'settlementStatus',
type: 'enum',
+ valueEnum: EnumStandardOrderSettlementStatusText,
},
],
});
diff --git a/src/views/StandardOrderManage/OrderManage.vue b/src/views/StandardOrderManage/OrderManage.vue
index bd231a6..dc1aeb1 100644
--- a/src/views/StandardOrderManage/OrderManage.vue
+++ b/src/views/StandardOrderManage/OrderManage.vue
@@ -96,7 +96,9 @@
const state = reactive({ ...BaseState });
-const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders();
+const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders({
+ isSettlement: false,
+});
onMounted(async () => {
await getList();
diff --git a/src/views/StandardOrderManage/OrderManageDetail.vue b/src/views/StandardOrderManage/OrderManageDetail.vue
index 37912d1..b059c0d 100644
--- a/src/views/StandardOrderManage/OrderManageDetail.vue
+++ b/src/views/StandardOrderManage/OrderManageDetail.vue
@@ -128,6 +128,7 @@
import { format, paginateList, setOSSLink } from '@/utils';
import { useQuery } from '@tanstack/vue-query';
import { ModelValueType } from 'element-plus';
+import { useStandardOrder } from '@/hooks';
defineOptions({
name: 'OrderManageDetail',
@@ -174,17 +175,8 @@
const state = reactive({ ...BaseState });
-const { isLoading } = useQuery({
- queryKey: ['standardOrderServices/getStandardOrder', id],
- queryFn: async () => {
- return await standardOrderServices.getStandardOrder(
- { id: id },
- {
- showLoading: false,
- }
- );
- },
- placeholderData: () => ({} as API.GetStandardOrderQueryResult),
+const { isLoading } = useStandardOrder({
+ id: id,
onSuccess(data) {
form.appointmentStatus = data.appointmentStatus;
form.payStatus = data.payStatus;
@@ -214,7 +206,6 @@
];
getList();
},
- enabled: computed(() => !!id),
});
const {
--
Gitblit v1.10.0