From 69c067bd9dd7e6e45e16c5408e06506b560c4e89 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Mon, 29 Jul 2024 15:13:12 +0800 Subject: [PATCH] fixed: export need sso --- src/pages/bill/components/bill_paid_modal.tsx | 63 +++++-------------- src/pages/bill/query.tsx | 24 +++++-- src/service/api/bill.ts | 17 ++++- vite.config.ts | 4 +- 4 files changed, 51 insertions(+), 57 deletions(-) diff --git a/src/pages/bill/components/bill_paid_modal.tsx b/src/pages/bill/components/bill_paid_modal.tsx index a517e89..cb97a3f 100644 --- a/src/pages/bill/components/bill_paid_modal.tsx +++ b/src/pages/bill/components/bill_paid_modal.tsx @@ -1,8 +1,8 @@ import {BillDetailItems} from "@/components/bill"; -import {Button, Col, Form, Modal, Notification, Row, Space, Toast} from "@douyinfe/semi-ui"; +import {Button, Col, Form, Modal, Row, Space, Toast} from "@douyinfe/semi-ui"; import React from "react"; import {useTranslation} from "react-i18next"; -import {finishBill, modifyBillStatus} from "@/service/api/bill.ts"; +import {finishBill} from "@/service/api/bill.ts"; import {BizError} from "@/service/types.ts"; import {useSetState} from "ahooks"; @@ -18,48 +18,29 @@ export const BillPaidModal: React.FC = (props) => { const [state, setState] = useSetState<{ loading?: boolean }>({}) - const onConfirmPaid = () => { + const onSubmit = (values: BillUpdateParams) => { if (!props.bill) return; setState({ loading: true }) - modifyBillStatus(props.bill.id, 'PAID').then(() => { - setState({loading: false}) - Notification.success({title: 'Notice', content: t('base.operate_success')}) - props.onConfirm() - }).catch((e: BizError) => { - setState({loading: false}) - Toast.error({ - content: `${t('base.operate_fail')}:${e.message}`, - duration: 3 + finishBill({bill: props.bill, param: values}) + .then(() => { + setState({loading: false}) + props.onConfirm() + }) + .catch((e: BizError) => { + setState({loading: false}) + Toast.error({ + content: `${t('base.operate_fail')}:${e.message}`, + duration: 3 + }) }) - }) - } - const onSubmit = (values: BillUpdateParams) => { - if (!props.bill) return; - finishBill({bill: props.bill, param: values}).then(props.onConfirm) - // setState({ - // loading: true - // }) - // modifyBillStatus(props.bill.id, 'PAID', values).then(() => { - // setState({loading: false}) - // Notification.success({title: 'Notice', content: t('base.operate_success')}) - // props.onConfirm() - // }).catch((e: BizError) => { - // setState({loading: false}) - // Toast.error({ - // content: `${t('base.operate_fail')}:${e.message}`, - // duration: 3 - // }) - // }) } return = (props) => { - {/*{*/} - {/* //*/} - {/* // }}*/} - {/* showClear field="payment_method" label={t('bill.title_pay_method')}*/} - {/*/>*/} { updateBill?: BillModel confirmBill?: BillModel updateLoading?: boolean + exporting?: boolean confirmBillId: number }>({confirmBillId: 0}) const [showBill, setShowBill] = useState() @@ -87,8 +87,22 @@ const BillQuery = () => { ) } const onExportExcel = ()=>{ - const downloadUrl = `${AppConfig.API_PREFIX || '/api'}/bills/export?${stringify(queryParams)}` - saveAs(downloadUrl, 'bill-result-excel.xlsx') + // const downloadUrl = `${AppConfig.API_PREFIX || '/api'}/bills/export?${stringify(queryParams)}` + // + // + // saveAs(downloadUrl, 'bill-result-excel.xlsx') + setState({ + exporting:true + }) + exportBillList(queryParams).then(ret=>{ + console.log(ret) + const blob = new Blob([ret], {type:'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}); + saveAs(blob, 'bill-result-excel.xlsx') + }).finally(()=>{ + setState({ + exporting:false + }) + }) } return (
@@ -96,7 +110,7 @@ const BillQuery = () => { {t('bill.export_excel')}} + beforeTotalAmount={} onPageChange={(page_number) => { setBillQueryParams({ ...queryParams, diff --git a/src/service/api/bill.ts b/src/service/api/bill.ts index 980f228..50a82ee 100644 --- a/src/service/api/bill.ts +++ b/src/service/api/bill.ts @@ -1,5 +1,7 @@ import {get, post, put} from "@/service/request.ts"; import dayjs from "dayjs"; +import {getAuthToken} from "@/hooks/useAuth.ts"; +import {stringify} from "qs"; export type BillQueryResult = { result: BillModel[]; @@ -29,6 +31,18 @@ export async function billList(params: BillQueryParams) { return formatBillQueryResult(params, result); } +export function exportBillList(params: BillQueryParams) { + const token = getAuthToken(); + const headers = new Headers({ + 'Token': token || '' + }); + + return fetch(`${AppConfig.API_PREFIX || '/api'}/bills/export?${stringify(params)}`,{ + headers, + method:'GET' + }).then(r=>r.blob()) + // return get('/bills/export', params,true) +} //现场支付创建账单接口 export function createManualBill(params: ManualCreateBillParam) { return post('/manual_payment', params) @@ -53,7 +67,7 @@ export function modifyBillStatus(id: number,status: BillStatus) { } export function confirmBillType({id,type}: {id:number,type: string}) { - return post(`/bill/detail/${id}/confirm`, {type}) + return post(`/bill/detail/${id}/confirm`, {confirm_type:type}) } export function confirmBills(bill_ids: number[]) { @@ -81,6 +95,7 @@ x&cardIssuingCountry=HK&channelType=SPC&` return ret?.toLowerCase() == 'ok' } + export async function finishFlywire({bill,param}: BillUpdateFormParams){ const eventData = { "event_type": "guaranteed", diff --git a/vite.config.ts b/vite.config.ts index 83e68da..3c7d82b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -28,8 +28,8 @@ export default defineConfig(({mode}) => { port:10086, proxy: { '/api': { - // target: 'https://test-payment-be.hkchc.team', // - target: 'http://127.0.0.1:50000', // + target: 'https://test-payment-be.hkchc.team', // + // target: 'http://127.0.0.1:50000', // changeOrigin: true, //rewrite: (path) => path.replace(/^\/api/, '') }