diff --git a/web/src/api/purchase/order.ts b/web/src/api/purchase/order.ts index 18a36a0e..ee4f9f0e 100644 --- a/web/src/api/purchase/order.ts +++ b/web/src/api/purchase/order.ts @@ -14,6 +14,7 @@ enum API { UpdateStatus = '/purchase/order/updateStatus', Delete = '/purchase/order/delete', GetLinkOrderDetail = '/purchase/order/getLinkOrderDetail', + Export = '/purchase/order/export', } export function getPurchaseOrderPageList(params: QueryPurchaseOrderReq) { @@ -73,4 +74,14 @@ export function deletePurchaseOrder(ids: number[], successMode: SuccessMessageMo errorMessageMode: errorMode, } ); +} + +export function exportOrder(params: QueryPurchaseOrderReq) { + return defHttp.get>( + { + url: `${API.Export}`, + params, + responseType: "blob" + } + ); } \ No newline at end of file diff --git a/web/src/api/purchase/refund.ts b/web/src/api/purchase/refund.ts index a0cd9531..826995f0 100644 --- a/web/src/api/purchase/refund.ts +++ b/web/src/api/purchase/refund.ts @@ -14,6 +14,7 @@ enum API { UpdateStatus = '/purchase/refund/updateStatus', Delete = '/purchase/refund/delete', GetLinkRefundDetail = '/purchase/refund/getLinkRefundDetail', + Export = '/purchase/refund/export', } export function getPurchaseRefundPageList(params: QueryPurchaseRefundReq) { @@ -73,4 +74,14 @@ export function getLinkRefundDetail(receiptNumber: string) { url: `${API.GetLinkRefundDetail}/${receiptNumber}`, } ); +} + +export function exportRefund(params: QueryPurchaseRefundReq) { + return defHttp.get>( + { + url: `${API.Export}`, + params, + responseType: "blob" + } + ); } \ No newline at end of file diff --git a/web/src/api/purchase/storage.ts b/web/src/api/purchase/storage.ts index 3596758d..2b429ea0 100644 --- a/web/src/api/purchase/storage.ts +++ b/web/src/api/purchase/storage.ts @@ -14,6 +14,7 @@ enum API { UpdateStatus = '/purchase/storage/updateStatus', Delete = '/purchase/storage/delete', GetLinkStorageDetail = '/purchase/storage/getLinkStorageDetail', + Export = '/purchase/storage/export', } export function getPurchaseStoragePageList(params: QueryPurchaseStorageReq) { @@ -73,4 +74,14 @@ export function getLinkStorageDetail(receiptNumber: string) { url: `${API.GetLinkStorageDetail}/${receiptNumber}`, } ); +} + +export function exportStorage(params: QueryPurchaseStorageReq) { + return defHttp.get>( + { + url: `${API.Export}`, + params, + responseType: "blob" + } + ); } \ No newline at end of file diff --git a/web/src/views/purchase/order/index.vue b/web/src/views/purchase/order/index.vue index de6509c9..d2e3f468 100644 --- a/web/src/views/purchase/order/index.vue +++ b/web/src/views/purchase/order/index.vue @@ -52,10 +52,9 @@ import {defineComponent, ref} from "vue"; import {BasicTable, TableAction, useTable} from "@/components/Table"; import {useMessage} from "@/hooks/web/useMessage"; import {columns, searchFormSchema} from "@/views/purchase/order/purchaseOrder.data"; -import {exportXlsx} from "@/api/basic/common"; import {useI18n} from "vue-i18n"; import {Tag} from "ant-design-vue"; -import {getPurchaseOrderPageList, updatePurchaseOrderStatus, deletePurchaseOrder} from "@/api/purchase/order"; +import {getPurchaseOrderPageList, updatePurchaseOrderStatus, deletePurchaseOrder, exportOrder} from "@/api/purchase/order"; import AddEditModal from "@/views/purchase/order/components/AddEditModal.vue"; import ViewOrderModal from "@/views/purchase/order/components/ViewOrderModal.vue"; import {useModal} from "@/components/Modal"; @@ -67,7 +66,7 @@ export default defineComponent({ const addEditModalRef = ref(null); const [receiptViewOrderModal, {openModal: openViewOrderModal}] = useModal(); const { createMessage } = useMessage(); - const [registerTable, { reload, getSelectRows }] = useTable({ + const [registerTable, { reload, getSelectRows, getForm }] = useTable({ title: '采购订单列表', rowKey: 'id', api: getPurchaseOrderPageList, @@ -168,14 +167,17 @@ export default defineComponent({ } async function handleExport() { - const file = await exportXlsx("采购订单列表") - const blob = new Blob([file]); - const link = document.createElement("a"); - link.href = URL.createObjectURL(blob); - const timestamp = getTimestamp(new Date()); - link.download = "采购订单数据" + timestamp + ".xlsx"; - link.target = "_blank"; - link.click(); + const data = getForm().getFieldsValue(); + const file: any = await exportOrder(data) + if (file.size > 0) { + const blob = new Blob([file]); + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + const timestamp = getTimestamp(new Date()); + link.download = "采购订单数据" + timestamp + ".xlsx"; + link.target = "_blank"; + link.click(); + } } diff --git a/web/src/views/purchase/refund/index.vue b/web/src/views/purchase/refund/index.vue index 9a5fafb6..b4cdca31 100644 --- a/web/src/views/purchase/refund/index.vue +++ b/web/src/views/purchase/refund/index.vue @@ -52,10 +52,9 @@ import {defineComponent, ref} from "vue"; import {BasicTable, TableAction, useTable} from "@/components/Table"; import {useMessage} from "@/hooks/web/useMessage"; import {columns, searchFormSchema} from "@/views/purchase/refund/purchaseRefund.data"; -import {exportXlsx} from "@/api/basic/common"; import {useI18n} from "vue-i18n"; import {Tag} from "ant-design-vue"; -import {getPurchaseRefundPageList, updatePurchaseRefundStatus, deletePurchaseRefund} from "@/api/purchase/refund"; +import {getPurchaseRefundPageList, updatePurchaseRefundStatus, deletePurchaseRefund, exportRefund} from "@/api/purchase/refund"; import AddEditModal from "@/views/purchase/refund/components/AddEditModal.vue"; import ViewRefundModal from "@/views/purchase/refund/components/ViewRefundModal.vue" import {useModal} from "@/components/Modal"; @@ -68,7 +67,7 @@ export default defineComponent({ const [viewRefundReceiptModal, {openModal: openViewRefundModal}] = useModal(); const { createMessage } = useMessage(); - const [registerTable, { reload, getSelectRows }] = useTable({ + const [registerTable, { reload, getSelectRows, getForm }] = useTable({ title: '采购退货列表', rowKey: 'id', api: getPurchaseRefundPageList, @@ -171,14 +170,17 @@ export default defineComponent({ } async function handleExport() { - const file = await exportXlsx("采购退货列表") - const blob = new Blob([file]); - const link = document.createElement("a"); - link.href = URL.createObjectURL(blob); - const timestamp = getTimestamp(new Date()); - link.download = "采购退货单数据" + timestamp + ".xlsx"; - link.target = "_blank"; - link.click(); + const data = getForm().getFieldsValue(); + const file: any = await exportRefund(data) + if (file.size > 0) { + const blob = new Blob([file]); + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + const timestamp = getTimestamp(new Date()); + link.download = "采购退货单数据" + timestamp + ".xlsx"; + link.target = "_blank"; + link.click(); + } } diff --git a/web/src/views/purchase/storage/index.vue b/web/src/views/purchase/storage/index.vue index c0c1a118..f70cd64e 100644 --- a/web/src/views/purchase/storage/index.vue +++ b/web/src/views/purchase/storage/index.vue @@ -52,10 +52,9 @@ import {defineComponent, ref} from "vue"; import {BasicTable, TableAction, useTable} from "@/components/Table"; import {useMessage} from "@/hooks/web/useMessage"; import {columns, searchFormSchema} from "@/views/purchase/storage/purchaseStorage.data"; -import {exportXlsx} from "@/api/basic/common"; import {useI18n} from "vue-i18n"; import {Tag} from "ant-design-vue"; -import {getPurchaseStoragePageList, updatePurchaseStorageStatus, deletePurchaseStorage} from "@/api/purchase/storage"; +import {getPurchaseStoragePageList, updatePurchaseStorageStatus, deletePurchaseStorage, exportStorage} from "@/api/purchase/storage"; import AddEditModal from "@/views/purchase/storage/components/AddEditModal.vue"; import ViewStorageModal from "@/views/purchase/storage/components/ViewStorageModal.vue"; import {useModal} from "@/components/Modal"; @@ -67,7 +66,7 @@ export default defineComponent({ const addEditModalRef = ref(null); const { createMessage } = useMessage(); const [viewStorageReceiptModal, {openModal: openViewStorageReceiptModal}] = useModal(); - const [registerTable, { reload, getSelectRows }] = useTable({ + const [registerTable, { reload, getSelectRows, getForm }] = useTable({ title: '采购入库列表', rowKey: 'id', api: getPurchaseStoragePageList, @@ -173,14 +172,17 @@ export default defineComponent({ } async function handleExport() { - const file = await exportXlsx("采购入库列表") - const blob = new Blob([file]); - const link = document.createElement("a"); - link.href = URL.createObjectURL(blob); - const timestamp = getTimestamp(new Date()); - link.download = "采购入库单数据" + timestamp + ".xlsx"; - link.target = "_blank"; - link.click(); + const data = getForm().getFieldsValue(); + const file: any = await exportStorage(data) + if (file.size > 0) { + const blob = new Blob([file]); + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + const timestamp = getTimestamp(new Date()); + link.download = "采购入库单数据" + timestamp + ".xlsx"; + link.target = "_blank"; + link.click(); + } } diff --git a/web/src/views/retail/refund/index.vue b/web/src/views/retail/refund/index.vue index 84c76fad..6dd5bc91 100644 --- a/web/src/views/retail/refund/index.vue +++ b/web/src/views/retail/refund/index.vue @@ -169,14 +169,16 @@ export default defineComponent({ async function handleExport() { const data = getForm().getFieldsValue(); - const file = await exportRefund(data); - const blob = new Blob([file]); - const link = document.createElement("a"); - link.href = URL.createObjectURL(blob); - const timestamp = getTimestamp(new Date()); - link.download = "零售退货数据" + timestamp + ".xlsx"; - link.target = "_blank"; - link.click(); + const file: any = await exportRefund(data); + if (file.size > 0) { + const blob = new Blob([file]); + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + const timestamp = getTimestamp(new Date()); + link.download = "零售退货数据" + timestamp + ".xlsx"; + link.target = "_blank"; + link.click(); + } } diff --git a/web/src/views/retail/shipments/index.vue b/web/src/views/retail/shipments/index.vue index 1eec4f37..68835de5 100644 --- a/web/src/views/retail/shipments/index.vue +++ b/web/src/views/retail/shipments/index.vue @@ -171,14 +171,16 @@ export default defineComponent({ async function handleExport() { // 获取getForm().getFieldsValue()的数据传给后端打印接口 const data = getForm().getFieldsValue(); - const file = await exportShipments(data); - const blob = new Blob([file]); - const link = document.createElement("a"); - link.href = URL.createObjectURL(blob); - const timestamp = getTimestamp(new Date()); - link.download = "零售出库数据" + timestamp + ".xlsx"; - link.target = "_blank"; - link.click(); + const file: any = await exportShipments(data); + if (file.size > 0) { + const blob = new Blob([file]); + const link = document.createElement("a"); + link.href = URL.createObjectURL(blob); + const timestamp = getTimestamp(new Date()); + link.download = "零售出库数据" + timestamp + ".xlsx"; + link.target = "_blank"; + link.click(); + } }