From 8acb5144fb8258b608d26003b18e7da4907834d6 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Thu, 16 Jan 2025 12:08:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/hard/hard-invoice.ts | 67 +++-- src/components/Select/SelectUser.vue | 98 ++++--- .../hard/hard-after-sale/order-refund.vue | 3 +- src/views/hard/hard-invoice/index.vue | 269 +++++++++++------- src/views/hard/hard-order/index.vue | 28 +- 5 files changed, 287 insertions(+), 178 deletions(-) diff --git a/src/api/hard/hard-invoice.ts b/src/api/hard/hard-invoice.ts index 12c7edb..7a9b8dc 100644 --- a/src/api/hard/hard-invoice.ts +++ b/src/api/hard/hard-invoice.ts @@ -1,49 +1,56 @@ import request from "/@/utils/request" +export function print(query?: Object) { + return request({ + url: "/hard/hard-invoice/print", + method: "get", + params: query, + }) +} + export function pageJoin(query?: Object) { - return request({ - url: '/hard/hard-invoice/page-join', - method: 'get', - params: query - }) + return request({ + url: "/hard/hard-invoice/page-join", + method: "get", + params: query, + }) } export function fetchList(query?: Object) { - return request({ - url: '/hard/hard-invoice/page', - method: 'get', - params: query - }) + return request({ + url: "/hard/hard-invoice/page", + method: "get", + params: query, + }) } export function addObj(obj?: Object) { - return request({ - url: '/hard/hard-invoice', - method: 'post', - data: obj - }) + return request({ + url: "/hard/hard-invoice", + method: "post", + data: obj, + }) } export function getObj(id?: string) { - return request({ - url: '/hard/hard-invoice/' + id, - method: 'get' - }) + return request({ + url: "/hard/hard-invoice/" + id, + method: "get", + }) } export function delObjs(ids?: Object) { - return request({ - url: '/hard/hard-invoice', - method: 'delete', - data: ids - }) + return request({ + url: "/hard/hard-invoice", + method: "delete", + data: ids, + }) } export function putObj(obj?: Object) { - return request({ - url: '/hard/hard-invoice', - method: 'put', - data: obj - }) + return request({ + url: "/hard/hard-invoice", + method: "put", + data: obj, + }) } - diff --git a/src/components/Select/SelectUser.vue b/src/components/Select/SelectUser.vue index 72603a5..839ec66 100644 --- a/src/components/Select/SelectUser.vue +++ b/src/components/Select/SelectUser.vue @@ -1,70 +1,82 @@ - e && getOptions()"> - - - {{ v.name }} - {{ v.phone }} - - - + e && getOptions()" + > + + + {{ v.name }} + {{ v.phone }} + + + \ No newline at end of file + diff --git a/src/views/hard/hard-after-sale/order-refund.vue b/src/views/hard/hard-after-sale/order-refund.vue index e281160..75fd603 100644 --- a/src/views/hard/hard-after-sale/order-refund.vue +++ b/src/views/hard/hard-after-sale/order-refund.vue @@ -197,9 +197,10 @@ const agree = async () => { background: "rgba(0, 0, 0, 0.7)", }) await hardAfterSaleApi.agree({ id: globalData.afterSaleData.id }) + useMessage().success("操作成功") await getDetail() } finally { - setTimeout(() => loading.close(), 1000) + setTimeout(() => loading.close(), 500) } } diff --git a/src/views/hard/hard-invoice/index.vue b/src/views/hard/hard-invoice/index.vue index 5abc09b..c775944 100644 --- a/src/views/hard/hard-invoice/index.vue +++ b/src/views/hard/hard-invoice/index.vue @@ -1,77 +1,122 @@ - - - - - - - - - - - - - - - - - - - - - {{ $t('common.queryBtn') - }} - {{ $t('common.resetBtn') }} - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + {{ $t("common.queryBtn") }} + {{ $t("common.resetBtn") }} + + + + + + + + + + + 商户 + + {{ row.merchantName }} + + + + 设备名 + + {{ row.hardName }} + + + + 设备类型 + + + + + + + + + + + + + + + + + + + + 订单详情 + 编辑 + 删除 + + + + + - - - - - - - - - - 编辑 - 删除 - - - - - - - - - - + + + \ No newline at end of file + try { + await hardInvoiceApi.delObjs(ids) + getDataList() + useMessage().success("删除成功") + } catch (err: any) { + useMessage().error(err.msg) + } +} + + + diff --git a/src/views/hard/hard-order/index.vue b/src/views/hard/hard-order/index.vue index 4ad6375..66eadc2 100644 --- a/src/views/hard/hard-order/index.vue +++ b/src/views/hard/hard-order/index.vue @@ -167,11 +167,12 @@ - + - 购物车 + 打印发票 + + 购物车 + 详情 import { BasicTableProps, useTable } from "/@/hooks/table" import * as hardOrder from "/@/api/hard/hard-order" -import * as hardCar from "/@/api/hard/hard-car" +import * as hardInvoice from "/@/api/hard/hard-invoice" import { getDicts } from "/@/api/admin/dict" import { useMessage, useMessageBox } from "/@/hooks/message" import { useDict } from "/@/hooks/dict" import { displayPrice } from "/@/utils/formatMoney" +import { ElLoading } from "element-plus" const { push } = useRouter() @@ -270,6 +272,22 @@ const doRefund = (row: any) => { push({ path: "/hard/hard-after-sale/order-refund", query: { id: row.id, type: "view" } }) } +const print = async (row: any) => { + let loading: any = null + try { + await useMessage().delConfirm("是否打印发票") + loading = ElLoading.service({ + lock: true, + text: "提交中", + background: "rgba(0, 0, 0, 0.7)", + }) + await hardInvoice.print({ orderId: row.id }) + useMessage().success("打印成功") + } finally { + setTimeout(() => loading.close(), 500) + } +} + // 导出excel const exportExcel = () => { downBlobFile("/hard/hardwareOrder/export", Object.assign(state.queryForm, { ids: selectObjs }), "hardwareOrder.xlsx")