From d2db16c8c6304929436bbad269c52eef79fa1e10 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 27 Oct 2025 09:13:32 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=91=E5=87=8F=E5=B0=91=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84=20import=20*=20=E7=9A=84=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/iot/ota/task/record/index.ts | 1 + .../bpm/model/form/modules/extra-setting.vue | 4 +-- .../detail/modules/operation-button.vue | 34 +++++++++++------- apps/web-antd/src/views/crm/backlog/index.vue | 36 ++++++++++--------- .../views/iot/ota/modules/detail/index.vue | 13 ++++--- .../iot/ota/modules/firmware-detail/index.vue | 13 ++++--- .../iot/ota/modules/task/OtaTaskDetail.vue | 23 ++++++------ .../iot/ota/modules/task/OtaTaskForm.vue | 9 +++-- .../iot/ota/modules/task/OtaTaskList.vue | 4 +-- .../components/product-category-select.vue | 4 +-- .../promotion/diy/page/decorate/index.vue | 9 +++-- .../promotion/diy/template/decorate/index.vue | 17 ++++----- .../statistics/product/modules/rank-card.vue | 4 +-- .../trade/afterSale/modules/disagree-form.vue | 4 +-- .../views/mall/trade/order/detail/index.vue | 25 +++++++------ .../promotion/diy/page/decorate/index.vue | 9 +++-- 16 files changed, 115 insertions(+), 94 deletions(-) diff --git a/apps/web-antd/src/api/iot/ota/task/record/index.ts b/apps/web-antd/src/api/iot/ota/task/record/index.ts index 8d41d1b74..2d66a422f 100644 --- a/apps/web-antd/src/api/iot/ota/task/record/index.ts +++ b/apps/web-antd/src/api/iot/ota/task/record/index.ts @@ -22,6 +22,7 @@ export namespace IoTOtaTaskRecordApi { } } +// TODO @AI:这里应该拿到 IoTOtaTaskRecordApi 里 /** IoT OTA 升级任务记录 */ export interface OtaTaskRecord { id?: number; diff --git a/apps/web-antd/src/views/bpm/model/form/modules/extra-setting.vue b/apps/web-antd/src/views/bpm/model/form/modules/extra-setting.vue index c07d73ff0..2a4361cba 100644 --- a/apps/web-antd/src/views/bpm/model/form/modules/extra-setting.vue +++ b/apps/web-antd/src/views/bpm/model/form/modules/extra-setting.vue @@ -26,7 +26,7 @@ import { } from 'ant-design-vue'; import dayjs from 'dayjs'; -import * as FormApi from '#/api/bpm/form'; +import { getForm } from '#/api/bpm/form'; import { HttpRequestSetting, parseFormFields, @@ -229,7 +229,7 @@ watch( () => modelData.value.formId, async (newFormId) => { if (newFormId && modelData.value.formType === BpmModelFormType.NORMAL) { - const data = await FormApi.getForm(newFormId); + const data = await getForm(newFormId); const result: Array<{ field: string; title: string }> = []; if (data.fields) { unParsedFormFields.value = data.fields; diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/operation-button.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/operation-button.vue index 14179827e..d403fcb5f 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/operation-button.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/operation-button.vue @@ -4,6 +4,7 @@ import type { FormInstance } from 'ant-design-vue'; import type { Rule } from 'ant-design-vue/es/form'; import type { BpmProcessInstanceApi } from '#/api/bpm/processInstance'; +import type { SystemUserApi } from '#/api/system/user'; import { computed, nextTick, reactive, ref, watch } from 'vue'; import { useRouter } from 'vue-router'; @@ -42,8 +43,17 @@ import { cancelProcessInstanceByStartUser, getNextApprovalNodes, } from '#/api/bpm/processInstance'; -import * as TaskApi from '#/api/bpm/task'; -import * as UserApi from '#/api/system/user'; +import { + approveTask, + copyTask, + delegateTask, + getTaskListByReturn, + rejectTask, + returnTask, + signCreateTask, + signDeleteTask, + transferTask, +} from '#/api/bpm/task'; import { setConfAndFields2 } from '#/components/form-create'; import { $t } from '#/locales'; @@ -57,7 +67,7 @@ const props = defineProps<{ normalFormApi: any; // 流程表单 formCreate Api processDefinition: any; // 流程定义信息 processInstance: any; // 流程实例信息 - userOptions: UserApi.SystemUserApi.User[]; + userOptions: SystemUserApi.User[]; writableFields: string[]; // 流程表单可以编辑的字段 }>(); // 当前登录的编号 const emit = defineEmits(['success']); @@ -249,7 +259,7 @@ async function openPopover(type: string) { } if (type === 'return') { // 获取退回节点 - returnList.value = await TaskApi.getTaskListByReturn(runningTask.value.id); + returnList.value = await getTaskListByReturn(runningTask.value.id); if (returnList.value.length === 0) { message.warning('当前没有可退回的节点'); return; @@ -375,7 +385,7 @@ async function handleAudit(pass: boolean, formRef: FormInstance | undefined) { await formCreateApi.validate(); data.variables = approveForm.value.value; } - await TaskApi.approveTask(data); + await approveTask(data); popOverVisible.value.approve = false; nextAssigneesActivityNode.value = []; // 清理 Timeline 组件中的自定义审批人数据 @@ -389,7 +399,7 @@ async function handleAudit(pass: boolean, formRef: FormInstance | undefined) { id: runningTask.value.id, reason: rejectReasonForm.reason, }; - await TaskApi.rejectTask(data); + await rejectTask(data); popOverVisible.value.reject = false; message.success('审批不通过成功'); } @@ -415,7 +425,7 @@ async function handleCopy() { reason: copyForm.copyReason, copyUserIds: copyForm.copyUserIds, }; - await TaskApi.copyTask(data); + await copyTask(data); copyFormRef.value.resetFields(); popOverVisible.value.copy = false; message.success($t('ui.actionMessage.operationSuccess')); @@ -439,7 +449,7 @@ async function handleTransfer() { reason: transferForm.reason, assigneeUserId: transferForm.assigneeUserId, }; - await TaskApi.transferTask(data); + await transferTask(data); transferFormRef.value.resetFields(); popOverVisible.value.transfer = false; message.success($t('ui.actionMessage.operationSuccess')); @@ -463,7 +473,7 @@ async function handleDelegate() { reason: delegateForm.reason, delegateUserId: delegateForm.delegateUserId, }; - await TaskApi.delegateTask(data); + await delegateTask(data); popOverVisible.value.delegate = false; delegateFormRef.value.resetFields(); message.success($t('ui.actionMessage.operationSuccess')); @@ -488,7 +498,7 @@ async function handlerAddSign(type: string) { reason: addSignForm.reason, userIds: addSignForm.addSignUserIds, }; - await TaskApi.signCreateTask(data); + await signCreateTask(data); message.success($t('ui.actionMessage.operationSuccess')); addSignFormRef.value.resetFields(); popOverVisible.value.addSign = false; @@ -512,7 +522,7 @@ async function handleReturn() { reason: returnForm.returnReason, targetTaskDefinitionKey: returnForm.targetTaskDefinitionKey, }; - await TaskApi.returnTask(data); + await returnTask(data); popOverVisible.value.return = false; returnFormRef.value.resetFields(); message.success($t('ui.actionMessage.operationSuccess')); @@ -574,7 +584,7 @@ async function handlerDeleteSign() { id: deleteSignForm.deleteSignTaskId, reason: deleteSignForm.reason, }; - await TaskApi.signDeleteTask(data); + await signDeleteTask(data); message.success('减签成功'); deleteSignFormRef.value.resetFields(); popOverVisible.value.deleteSign = false; diff --git a/apps/web-antd/src/views/crm/backlog/index.vue b/apps/web-antd/src/views/crm/backlog/index.vue index 7c51c3890..b461f18a7 100644 --- a/apps/web-antd/src/views/crm/backlog/index.vue +++ b/apps/web-antd/src/views/crm/backlog/index.vue @@ -5,11 +5,18 @@ import { Page } from '@vben/common-ui'; import { Badge, Card, List } from 'ant-design-vue'; -import * as ClueApi from '#/api/crm/clue'; -import * as ContractApi from '#/api/crm/contract'; -import * as CustomerApi from '#/api/crm/customer'; -import * as ReceivableApi from '#/api/crm/receivable'; -import * as ReceivablePlanApi from '#/api/crm/receivable/plan'; +import { getFollowClueCount } from '#/api/crm/clue'; +import { + getAuditContractCount, + getRemindContractCount, +} from '#/api/crm/contract'; +import { + getFollowCustomerCount, + getPutPoolRemindCustomerCount, + getTodayContactCustomerCount, +} from '#/api/crm/customer'; +import { getAuditReceivableCount } from '#/api/crm/receivable'; +import { getReceivablePlanRemindCount } from '#/api/crm/receivable/plan'; import { useLeftSides } from './data'; import ClueFollowList from './modules/clue-follow-list.vue'; @@ -64,17 +71,14 @@ function sideClick(item: { menu: string }) { /** 获取数量 */ async function getCount() { - customerTodayContactCount.value = - await CustomerApi.getTodayContactCustomerCount(); - customerPutPoolRemindCount.value = - await CustomerApi.getPutPoolRemindCustomerCount(); - customerFollowCount.value = await CustomerApi.getFollowCustomerCount(); - clueFollowCount.value = await ClueApi.getFollowClueCount(); - contractAuditCount.value = await ContractApi.getAuditContractCount(); - contractRemindCount.value = await ContractApi.getRemindContractCount(); - receivableAuditCount.value = await ReceivableApi.getAuditReceivableCount(); - receivablePlanRemindCount.value = - await ReceivablePlanApi.getReceivablePlanRemindCount(); + customerTodayContactCount.value = await getTodayContactCustomerCount(); + customerPutPoolRemindCount.value = await getPutPoolRemindCustomerCount(); + customerFollowCount.value = await getFollowCustomerCount(); + clueFollowCount.value = await getFollowClueCount(); + contractAuditCount.value = await getAuditContractCount(); + contractRemindCount.value = await getRemindContractCount(); + receivableAuditCount.value = await getAuditReceivableCount(); + receivablePlanRemindCount.value = await getReceivablePlanRemindCount(); } /** 激活时 */ diff --git a/apps/web-antd/src/views/iot/ota/modules/detail/index.vue b/apps/web-antd/src/views/iot/ota/modules/detail/index.vue index a19a03117..ca6613146 100644 --- a/apps/web-antd/src/views/iot/ota/modules/detail/index.vue +++ b/apps/web-antd/src/views/iot/ota/modules/detail/index.vue @@ -8,8 +8,8 @@ import { formatDate } from '@vben/utils'; import { Card, Col, Descriptions, Row } from 'ant-design-vue'; -import * as IoTOtaFirmwareApi from '#/api/iot/ota/firmware'; -import * as IoTOtaTaskRecordApi from '#/api/iot/ota/task/record'; +import { getOtaFirmware } from '#/api/iot/ota/firmware'; +import { getOtaTaskRecordStatusStatistics } from '#/api/iot/ota/task/record'; import { IoTOtaTaskRecordStatusEnum } from '#/views/iot/utils/constants'; import OtaTaskList from '../task/OtaTaskList.vue'; @@ -30,7 +30,7 @@ const firmwareStatistics = ref>({}); async function getFirmwareInfo() { firmwareLoading.value = true; try { - firmware.value = await IoTOtaFirmwareApi.getOtaFirmware(firmwareId.value); + firmware.value = await getOtaFirmware(firmwareId.value); } finally { firmwareLoading.value = false; } @@ -40,10 +40,9 @@ async function getFirmwareInfo() { async function getStatistics() { firmwareStatisticsLoading.value = true; try { - firmwareStatistics.value = - await IoTOtaTaskRecordApi.getOtaTaskRecordStatusStatistics( - firmwareId.value, - ); + firmwareStatistics.value = await getOtaTaskRecordStatusStatistics( + firmwareId.value, + ); } finally { firmwareStatisticsLoading.value = false; } diff --git a/apps/web-antd/src/views/iot/ota/modules/firmware-detail/index.vue b/apps/web-antd/src/views/iot/ota/modules/firmware-detail/index.vue index 8bd43420c..04533924d 100644 --- a/apps/web-antd/src/views/iot/ota/modules/firmware-detail/index.vue +++ b/apps/web-antd/src/views/iot/ota/modules/firmware-detail/index.vue @@ -8,8 +8,8 @@ import { formatDate } from '@vben/utils'; import { Card, Col, Descriptions, Row } from 'ant-design-vue'; -import * as IoTOtaFirmwareApi from '#/api/iot/ota/firmware'; -import * as IoTOtaTaskRecordApi from '#/api/iot/ota/task/record'; +import { getOtaFirmware } from '#/api/iot/ota/firmware'; +import { getOtaTaskRecordStatusStatistics } from '#/api/iot/ota/task/record'; import { IoTOtaTaskRecordStatusEnum } from '#/views/iot/utils/constants'; import OtaTaskList from '../task/OtaTaskList.vue'; @@ -30,7 +30,7 @@ const firmwareStatistics = ref>({}); async function getFirmwareInfo() { firmwareLoading.value = true; try { - firmware.value = await IoTOtaFirmwareApi.getOtaFirmware(firmwareId.value); + firmware.value = await getOtaFirmware(firmwareId.value); } finally { firmwareLoading.value = false; } @@ -40,10 +40,9 @@ async function getFirmwareInfo() { async function getStatistics() { firmwareStatisticsLoading.value = true; try { - firmwareStatistics.value = - await IoTOtaTaskRecordApi.getOtaTaskRecordStatusStatistics( - firmwareId.value, - ); + firmwareStatistics.value = await getOtaTaskRecordStatusStatistics( + firmwareId.value, + ); } finally { firmwareStatisticsLoading.value = false; } diff --git a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskDetail.vue b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskDetail.vue index 8a19d63d7..8768c2bf6 100644 --- a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskDetail.vue +++ b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskDetail.vue @@ -21,8 +21,12 @@ import { Tag, } from 'ant-design-vue'; -import * as IoTOtaTaskApi from '#/api/iot/ota/task'; -import * as IoTOtaTaskRecordApi from '#/api/iot/ota/task/record'; +import { getOtaTask } from '#/api/iot/ota/task'; +import { + cancelOtaTaskRecord, + getOtaTaskRecordPage, + getOtaTaskRecordStatusStatistics, +} from '#/api/iot/ota/task/record'; import { IoTOtaTaskRecordStatusEnum } from '#/views/iot/utils/constants'; /** OTA 任务详情组件 */ @@ -119,7 +123,7 @@ async function getTaskInfo() { } taskLoading.value = true; try { - task.value = await IoTOtaTaskApi.getOtaTask(taskId.value); + task.value = await getOtaTask(taskId.value); } finally { taskLoading.value = false; } @@ -132,11 +136,10 @@ async function getStatistics() { } taskStatisticsLoading.value = true; try { - taskStatistics.value = - await IoTOtaTaskRecordApi.getOtaTaskRecordStatusStatistics( - undefined, - taskId.value, - ); + taskStatistics.value = await getOtaTaskRecordStatusStatistics( + undefined, + taskId.value, + ); } finally { taskStatisticsLoading.value = false; } @@ -150,7 +153,7 @@ async function getRecordList() { recordLoading.value = true; try { queryParams.taskId = taskId.value; - const data = await IoTOtaTaskRecordApi.getOtaTaskRecordPage(queryParams); + const data = await getOtaTaskRecordPage(queryParams); recordList.value = data.list || []; recordTotal.value = data.total || 0; } finally { @@ -181,7 +184,7 @@ async function handleCancelUpgrade(record: OtaTaskRecord) { content: '确认要取消该设备的升级任务吗?', async onOk() { try { - await IoTOtaTaskRecordApi.cancelOtaTaskRecord(record.id!); + await cancelOtaTaskRecord(record.id!); message.success('取消成功'); await getRecordList(); await getStatistics(); diff --git a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskForm.vue b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskForm.vue index 0971ac2ef..bb3818cc5 100644 --- a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskForm.vue +++ b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskForm.vue @@ -8,8 +8,8 @@ import { useVbenModal } from '@vben/common-ui'; import { Form, Input, message, Select, Spin } from 'ant-design-vue'; -import * as DeviceApi from '#/api/iot/device/device'; -import * as IoTOtaTaskApi from '#/api/iot/ota/task'; +import { getDeviceListByProductId } from '#/api/iot/device/device'; +import { createOtaTask } from '#/api/iot/ota/task'; import { IoTOtaTaskDeviceScopeEnum } from '#/views/iot/utils/constants'; /** IoT OTA 升级任务表单 */ @@ -82,7 +82,7 @@ const [Modal, modalApi] = useVbenModal({ try { await formRef.value.validate(); modalApi.lock(); - await IoTOtaTaskApi.createOtaTask(formData.value); + await createOtaTask(formData.value); message.success('创建成功'); await modalApi.close(); emit('success'); @@ -98,8 +98,7 @@ const [Modal, modalApi] = useVbenModal({ // 加载设备列表 formLoading.value = true; try { - devices.value = - (await DeviceApi.getDeviceListByProductId(props.productId)) || []; + devices.value = (await getDeviceListByProductId(props.productId)) || []; } finally { formLoading.value = false; } diff --git a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskList.vue b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskList.vue index 130f344fc..14f8cfa98 100644 --- a/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskList.vue +++ b/apps/web-antd/src/views/iot/ota/modules/task/OtaTaskList.vue @@ -19,7 +19,7 @@ import { Tag, } from 'ant-design-vue'; -import * as IoTOtaTaskApi from '#/api/iot/ota/task'; +import { getOtaTaskPage } from '#/api/iot/ota/task'; import { IoTOtaTaskStatusEnum } from '#/views/iot/utils/constants'; import OtaTaskDetail from './OtaTaskDetail.vue'; @@ -52,7 +52,7 @@ const taskDetailRef = ref(); // 任务详情引用 async function getTaskList() { taskLoading.value = true; try { - const data = await IoTOtaTaskApi.getOtaTaskPage(queryParams); + const data = await getOtaTaskPage(queryParams); taskList.value = data.list; taskTotal.value = data.total; } finally { diff --git a/apps/web-antd/src/views/mall/product/category/components/product-category-select.vue b/apps/web-antd/src/views/mall/product/category/components/product-category-select.vue index b54c6f0d2..64904f88c 100644 --- a/apps/web-antd/src/views/mall/product/category/components/product-category-select.vue +++ b/apps/web-antd/src/views/mall/product/category/components/product-category-select.vue @@ -3,7 +3,7 @@ import { computed, onMounted, ref } from 'vue'; import { handleTree } from '@vben/utils'; -import * as ProductCategoryApi from '#/api/mall/product/category'; +import { getCategoryList } from '#/api/mall/product/category'; /** 商品分类选择组件 */ defineOptions({ name: 'ProductCategorySelect' }); @@ -43,7 +43,7 @@ const selectCategoryId = computed({ const categoryList = ref([]); // 分类树 onMounted(async () => { // 获得分类树 - const data = await ProductCategoryApi.getCategoryList({ + const data = await getCategoryList({ parentId: props.parentId, }); categoryList.value = handleTree(data, 'id', 'parentId'); diff --git a/apps/web-antd/src/views/mall/promotion/diy/page/decorate/index.vue b/apps/web-antd/src/views/mall/promotion/diy/page/decorate/index.vue index d2ba2441e..322ad56c8 100644 --- a/apps/web-antd/src/views/mall/promotion/diy/page/decorate/index.vue +++ b/apps/web-antd/src/views/mall/promotion/diy/page/decorate/index.vue @@ -6,7 +6,10 @@ import { useRoute } from 'vue-router'; import { message } from 'ant-design-vue'; -import * as DiyPageApi from '#/api/mall/promotion/diy/page'; +import { + getDiyPageProperty, + updateDiyPageProperty, +} from '#/api/mall/promotion/diy/page'; import { DiyEditor, PAGE_LIBS } from '#/views/mall/promotion/components'; /** 装修页面表单 */ @@ -23,7 +26,7 @@ async function getPageDetail(id: any) { duration: 0, }); try { - formData.value = await DiyPageApi.getDiyPageProperty(id); + formData.value = await getDiyPageProperty(id); } finally { hideLoading(); } @@ -36,7 +39,7 @@ async function submitForm() { duration: 0, }); try { - await DiyPageApi.updateDiyPageProperty(unref(formData)!); + await updateDiyPageProperty(unref(formData)!); message.success('保存成功'); } finally { hideLoading(); diff --git a/apps/web-antd/src/views/mall/promotion/diy/template/decorate/index.vue b/apps/web-antd/src/views/mall/promotion/diy/template/decorate/index.vue index efe233077..261d1f5e3 100644 --- a/apps/web-antd/src/views/mall/promotion/diy/template/decorate/index.vue +++ b/apps/web-antd/src/views/mall/promotion/diy/template/decorate/index.vue @@ -13,8 +13,11 @@ import { isEmpty } from '@vben/utils'; import { message, Radio, RadioGroup, Tooltip } from 'ant-design-vue'; -import * as DiyPageApi from '#/api/mall/promotion/diy/page'; -import * as DiyTemplateApi from '#/api/mall/promotion/diy/template'; +import { updateDiyPageProperty } from '#/api/mall/promotion/diy/page'; +import { + getDiyTemplateProperty, + updateDiyTemplateProperty, +} from '#/api/mall/promotion/diy/template'; import { DiyEditor, PAGE_LIBS } from '#/views/mall/promotion/components'; /** 装修模板表单 */ @@ -54,7 +57,7 @@ async function getPageDetail(id: any) { duration: 0, }); try { - formData.value = await DiyTemplateApi.getDiyTemplateProperty(id); + formData.value = await getDiyTemplateProperty(id); // 拼接手机预览链接 const domain = import.meta.env.VITE_MALL_H5_DOMAIN; @@ -112,20 +115,18 @@ async function submitForm() { // 情况一:基础设置 if (i === 0) { // 提交模板属性 - await DiyTemplateApi.updateDiyTemplateProperty( - isEmpty(data) ? formData.value! : data, - ); + await updateDiyTemplateProperty(isEmpty(data) ? formData.value! : data); continue; } // 提交页面属性 // 情况二:提交当前正在编辑的页面 if (currentFormData.value?.name.includes(templateItem.name)) { - await DiyPageApi.updateDiyPageProperty(currentFormData.value!); + await updateDiyPageProperty(currentFormData.value!); continue; } // 情况三:提交页面编辑缓存 if (!isEmpty(data)) { - await DiyPageApi.updateDiyPageProperty(data!); + await updateDiyPageProperty(data!); } } message.success('保存成功'); diff --git a/apps/web-antd/src/views/mall/statistics/product/modules/rank-card.vue b/apps/web-antd/src/views/mall/statistics/product/modules/rank-card.vue index a2f9fdea5..ea58c3986 100644 --- a/apps/web-antd/src/views/mall/statistics/product/modules/rank-card.vue +++ b/apps/web-antd/src/views/mall/statistics/product/modules/rank-card.vue @@ -11,7 +11,7 @@ import { formatDateTime } from '@vben/utils'; import { Card } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; -import * as ProductStatisticsApi from '#/api/mall/statistics/product'; +import { getProductStatisticsRankPage } from '#/api/mall/statistics/product'; import ShortcutDateRangePicker from '#/components/shortcut-date-range-picker/shortcut-date-range-picker.vue'; /** 商品排行 */ @@ -104,7 +104,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ proxyConfig: { ajax: { query: async ({ page, sorts }) => { - return await ProductStatisticsApi.getProductStatisticsRankPage({ + return await getProductStatisticsRankPage({ pageNo: page.currentPage, pageSize: page.pageSize, times: searchTimes.value.length > 0 ? searchTimes.value : undefined, diff --git a/apps/web-antd/src/views/mall/trade/afterSale/modules/disagree-form.vue b/apps/web-antd/src/views/mall/trade/afterSale/modules/disagree-form.vue index 3fa89a4d1..434d31ec4 100644 --- a/apps/web-antd/src/views/mall/trade/afterSale/modules/disagree-form.vue +++ b/apps/web-antd/src/views/mall/trade/afterSale/modules/disagree-form.vue @@ -9,7 +9,7 @@ import { $t } from '@vben/locales'; import { message } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; -import * as AfterSaleApi from '#/api/mall/trade/afterSale/index'; +import { disagreeAfterSale } from '#/api/mall/trade/afterSale'; import { useDisagreeFormSchema } from '../data'; @@ -40,7 +40,7 @@ const [Modal, modalApi] = useVbenModal({ try { const data = (await formApi.getValues()) as MallAfterSaleApi.DisagreeRequest; - await AfterSaleApi.disagreeAfterSale(data); + await disagreeAfterSale(data); // 关闭并提示 await modalApi.close(); emit('success'); diff --git a/apps/web-antd/src/views/mall/trade/order/detail/index.vue b/apps/web-antd/src/views/mall/trade/order/detail/index.vue index e0e17325a..89a2a1bfa 100644 --- a/apps/web-antd/src/views/mall/trade/order/detail/index.vue +++ b/apps/web-antd/src/views/mall/trade/order/detail/index.vue @@ -18,9 +18,13 @@ import { useTabs } from '@vben/hooks'; import { Card, message, Tag } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; -import * as DeliveryExpressApi from '#/api/mall/trade/delivery/express'; -import * as DeliveryPickUpStoreApi from '#/api/mall/trade/delivery/pickUpStore'; -import * as TradeOrderApi from '#/api/mall/trade/order'; +import { getSimpleDeliveryExpressList } from '#/api/mall/trade/delivery/express'; +import { getDeliveryPickUpStore } from '#/api/mall/trade/delivery/pickUpStore'; +import { + getExpressTrackList, + getOrder, + pickUpOrder, +} from '#/api/mall/trade/order'; import { useDescription } from '#/components/description'; import { DictTag } from '#/components/dict-tag'; import { TableAction } from '#/components/table-action'; @@ -157,7 +161,7 @@ const [PriceFormModal, priceFormModalApi] = useVbenModal({ async function getDetail() { loading.value = true; try { - const res = await TradeOrderApi.getOrder(orderId.value); + const res = await getOrder(orderId.value); if (res === null) { message.error('交易订单不存在'); handleBack(); @@ -169,12 +173,9 @@ async function getDetail() { // 如果配送方式为快递,则查询物流公司 if (res.deliveryType === DeliveryTypeEnum.EXPRESS.type) { - deliveryExpressList.value = - await DeliveryExpressApi.getSimpleDeliveryExpressList(); + deliveryExpressList.value = await getSimpleDeliveryExpressList(); if (res.logisticsId) { - expressTrackList.value = await TradeOrderApi.getExpressTrackList( - res.id!, - ); + expressTrackList.value = await getExpressTrackList(res.id!); expressTrackGridApi.setGridOptions({ data: expressTrackList.value || [], }); @@ -183,9 +184,7 @@ async function getDetail() { res.deliveryType === DeliveryTypeEnum.PICK_UP.type && res.pickUpStoreId ) { - pickUpStore.value = await DeliveryPickUpStoreApi.getDeliveryPickUpStore( - res.pickUpStoreId, - ); + pickUpStore.value = await getDeliveryPickUpStore(res.pickUpStoreId); } } finally { loading.value = false; @@ -217,7 +216,7 @@ const handlePickUp = async () => { duration: 0, }); try { - await TradeOrderApi.pickUpOrder(order.value.id!); + await pickUpOrder(order.value.id!); message.success('核销成功'); await getDetail(); } finally { diff --git a/apps/web-ele/src/views/mall/promotion/diy/page/decorate/index.vue b/apps/web-ele/src/views/mall/promotion/diy/page/decorate/index.vue index a15e3b99c..2dddd5941 100644 --- a/apps/web-ele/src/views/mall/promotion/diy/page/decorate/index.vue +++ b/apps/web-ele/src/views/mall/promotion/diy/page/decorate/index.vue @@ -6,7 +6,10 @@ import { useRoute } from 'vue-router'; import { ElLoading, ElMessage } from 'element-plus'; -import * as DiyPageApi from '#/api/mall/promotion/diy/page'; +import { + getDiyPageProperty, + updateDiyPageProperty, +} from '#/api/mall/promotion/diy/page'; import { DiyEditor, PAGE_LIBS } from '#/views/mall/promotion/components'; /** 装修页面表单 */ @@ -22,7 +25,7 @@ async function getPageDetail(id: any) { text: '加载中...', }); try { - formData.value = await DiyPageApi.getDiyPageProperty(id); + formData.value = await getDiyPageProperty(id); } finally { loadingInstance.close(); } @@ -34,7 +37,7 @@ async function submitForm() { text: '保存中...', }); try { - await DiyPageApi.updateDiyPageProperty(unref(formData)!); + await updateDiyPageProperty(unref(formData)!); ElMessage.success('保存成功'); } finally { loadingInstance.close();