From a1a2fe867f95e141fb37d1b0e7ff7cd4ac28431b Mon Sep 17 00:00:00 2001 From: ylj20011123 Date: Fri, 21 Nov 2025 09:36:50 +0800 Subject: [PATCH] update --- src/pages/DigitalElectronics/index.tsx | 129 ++++++++++++++++++++++++- src/pages/InvoiceInquiry/index.tsx | 1 + src/pages/redReversal/index.tsx | 17 +++- src/utils/requestOld.ts | 4 +- 4 files changed, 142 insertions(+), 9 deletions(-) diff --git a/src/pages/DigitalElectronics/index.tsx b/src/pages/DigitalElectronics/index.tsx index 4372cab..29fdd8e 100644 --- a/src/pages/DigitalElectronics/index.tsx +++ b/src/pages/DigitalElectronics/index.tsx @@ -128,6 +128,7 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { { label: "填写中", value: 1000 }, { label: "待审核", value: 2000 }, { label: "开票中", value: 9000 }, + { label: "手动开票", value: 9100 }, { label: "已开票", value: 9200 }, { label: "红冲申请中", value: 9990 }, { label: "已红冲", value: 9999 } @@ -193,7 +194,7 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { { title: '操作', dataIndex: 'action', - width: 200, + width: 300, fixed: 'left', align: 'center', hideInSearch: true, @@ -246,7 +247,28 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { : "" } - + { + record?.BILL_STATE === 2000 ? + { + await handleSynchroBILLInterface({ + ...record, + BILL_STATE: 9100 + }) + + // 通知金蝶 手动开票!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + hanleManualInvoicing(record) + actionRef.current?.reload() + }} + onCancel={() => { }} + okText="确认" + cancelText="取消" + > + + : "" + } + : record?.BILL_TYPE === 2000 && record?.BILL_STATE >= 9200 && record?.BILL_STATE !== 9999 ?
= (props) => { }) } - + let obj: any = { billNo: record?.BILL_NO ? `HC-${record?.BILL_NO}` : "", // 单据编号 @@ -427,6 +449,10 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { buyerBankAndAccount: `${record?.BANK_NAME}${record?.BANK_ACCOUNT}`,// 购方银行、账号 redReason: formData?.redReasonSelect || "", autoMerge: "0", + showBuyerAddressTel: "Y",// 是否展示购方地址电话标识 + showBuyerBank: "Y",// 是否展示购方银行账号标识 + showSalerBank: "Y",// 是否展示销方银行账号标识 + showSalerAddressTel: "Y",// 是否展示销方地址电话标识 // blueinvoiceNo: '23249322851717775360', blueinvoiceNo: result[0].invoiceNumber, // originalIssueTime: record?.originalIssueTime, @@ -562,7 +588,7 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { buyerRecipientPhone: record?.RECEIVE_PHONENUMBER,// 购方收票手机号 buyerRecipientMail: record?.RECEIVE_EMAIL,// 购方收件邮箱 - remark: record?.BILL_DESC, + // remark: record?.BILL_DESC, buyerAddressAndTel: `${record?.MERCHANTS_ADDRESS}、${record?.MERCHANTS_TEL}`,// 购方地址、电话 buyerBankAndAccount: `${record?.BANK_NAME}${record?.BANK_ACCOUNT}`,// 购方银行、账号 @@ -570,6 +596,11 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { reviewer: "杨尚涛",// 复核人 drawer: "杨木青",// 开票人 + showBuyerAddressTel: "Y",// 是否展示购方地址电话标识 + showBuyerBank: "Y",// 是否展示购方银行账号标识 + showSalerBank: "Y",// 是否展示销方银行账号标识 + showSalerAddressTel: "Y",// 是否展示销方地址电话标识 + // redReason: record?.BILL_DESC, // blueinvoiceNo: record?.blueinvoiceNo, @@ -622,6 +653,96 @@ const DigitalElectronics: React.FC<{ currentUser: any }> = (props) => { message.error({ content: '开票申请失败,请重试', key: 'invoice' }); } }; + // 手动开票方法 由于区分一下 是异步调用 不要任何提示内容的 所以就加个方法 + const hanleManualInvoicing = async (record: any) => { + // 拿个票据明细 + const billDetail = await handleGetBILLDETAILList({ + SearchParameter: { + BILL_ID: record?.BILL_ID + }, + PageIndex: 1, + PageSize: 999999, + SortStr: "BILLDETAIL_ID" + }) + console.log('billDetailbillDetail', billDetail); + + let billDetailReq: any = [] + if (billDetail && billDetail.length > 0) { + billDetail.forEach((item: any) => { + billDetailReq.push({ + amount: item.INVOICE_AMOUNT, // 明细金额 + detailId: item.BILLDETAIL_ID, // 业务系统明细id + goodsName: item.ITEM_NAME,// 商品名称 + lineProperty: 2, // 行性质 + price: item.INVOICE_PRICE,// 单价 + quantity: item.INVOICE_COUNT,// 数量 + revenueCode: item.TABLE_NAME,// 税收分类编码 + taxRate: (item.DUTY_PARAGRAPH / 100).toFixed(2),// 税率 + units: item.ITEM_UNIT,// 计量单位 + + }) + }) + } + + let obj: any = { + billNo: record?.BILL_NO, // 单据编号 + billDate: moment(record?.BILL_DATE).format('YYYY-MM-DD'), // 单据日期 + totalAmount: record?.INVOICE_TAXAMOUNT, // 单据金额 + includeTaxFlag: record?.ACCOUNTED_TYPE,// 判断是否含税 + autoInvoice: "0",// 自动开票标记 + invoiceType: record?.BILL_TYPE == 1000 ? '08xdp' : record?.BILL_TYPE == 2000 ? '10xdp' : '', //发票种类 + buyerTaxpayerId: cleanString(record?.TAXPAYER_IDENTIFYCODE),// 购方税号 + buyerName: record?.MERCHANTS_NAME, // 购买方名称 + buyerProperty: "0", // 购买方性质 0-企业,1-个人,2-非企业单位 + // sellerTaxpayerId: "91530112MA7MQ2JR9U", // 销方税号 写死 + sellerTaxpayerId: publicParams.sellerTaxpayerId, // 销方税号 写死 + // sellerName: "云南交投集团经营开发有限公司彩云驿商业管理分公司", // 销方名称 写死 + sellerName: publicParams.sellerName, // 销方名称 写死 + sellerBankAndAccount: "", // 销方银行和账号 写死 + sellerAddressAndTel: "", // 销方地址和电话 写死 应该可以不传 + + buyerRecipientPhone: record?.RECEIVE_PHONENUMBER,// 购方收票手机号 + buyerRecipientMail: record?.RECEIVE_EMAIL,// 购方收件邮箱 + + buyerAddressAndTel: `${record?.MERCHANTS_ADDRESS}、${record?.MERCHANTS_TEL}`,// 购方地址、电话 + buyerBankAndAccount: `${record?.BANK_NAME}${record?.BANK_ACCOUNT}`,// 购方银行、账号 + payee: "周洁萍", // 收款人 + reviewer: "杨尚涛",// 复核人 + drawer: "杨木青",// 开票人 + + showBuyerAddressTel: "Y",// 是否展示购方地址电话标识 + showBuyerBank: "Y",// 是否展示购方银行账号标识 + showSalerBank: "Y",// 是否展示销方银行账号标识 + showSalerAddressTel: "Y",// 是否展示销方地址电话标识 + + billDetail: billDetailReq + } + + // 构造原始数据 + const originalData = [obj]; // 将record作为data数组的一项 + // 将data字段进行base64加密 + const dataString = JSON.stringify(originalData); + const encryptedData = btoa(unescape(encodeURIComponent(dataString))); // base64编码,支持中文 + // 构造开票请求数据 + const invoiceData = { + businessSystemCode: "BUSINESS_YCIC", // 来源系统编码 + interfaceCode: "BILL.PUSH", // 接口业务编码 + requestId: Date.now().toString(), // 时间戳作为请求ID + data: encryptedData // 加密后的data字符串 + }; + + let newreq: any = { + name: "", + value: encryptAES(JSON.stringify({ + ReqUrl: `https://cosmic.piaozone.com/ynjtjtjykf/kapi/app/sim/openApi?access_token=${accessToken}`, + Access_token: accessToken, + data: JSON.stringify(invoiceData) + })) + } + let response = await handleGetForwardJDPJInterface(newreq) + + console.log('responseresponseresponseresponse', response); + } // 退回开票 const handleReturnInvoice = async (record: any) => { let req: any = { diff --git a/src/pages/InvoiceInquiry/index.tsx b/src/pages/InvoiceInquiry/index.tsx index 314984b..58b7cb5 100644 --- a/src/pages/InvoiceInquiry/index.tsx +++ b/src/pages/InvoiceInquiry/index.tsx @@ -125,6 +125,7 @@ const InvoiceInquiry: React.FC<{ currentUser: any }> = (props) => { { label: "填写中", value: 1000 }, { label: "待审核", value: 2000 }, { label: "开票中", value: 9000 }, + { label: "手动开票", value: 9100 }, { label: "已开票", value: 9200 }, { label: "红冲申请中", value: 9990 }, { label: "已红冲", value: 9999 } diff --git a/src/pages/redReversal/index.tsx b/src/pages/redReversal/index.tsx index f2ef2a6..54baf3a 100644 --- a/src/pages/redReversal/index.tsx +++ b/src/pages/redReversal/index.tsx @@ -205,7 +205,7 @@ const RedReversal: React.FC<{ currentUser: any }> = (props) => { { title: '操作', dataIndex: 'action', - width: 200, + width: 300, fixed: 'left', align: 'center', hideInSearch: true, @@ -386,7 +386,7 @@ const RedReversal: React.FC<{ currentUser: any }> = (props) => { { title: '操作', dataIndex: 'action', - width: 200, + width: 300, fixed: 'left', align: 'center', hideInSearch: true, @@ -560,6 +560,11 @@ const RedReversal: React.FC<{ currentUser: any }> = (props) => { buyerRecipientPhone: record?.RECEIVE_PHONENUMBER,// 购方收票手机号 buyerRecipientMail: record?.RECEIVE_EMAIL,// 购方收件邮箱 + showBuyerAddressTel: "Y",// 是否展示购方地址电话标识 + showBuyerBank: "Y",// 是否展示购方银行账号标识 + showSalerBank: "Y",// 是否展示销方银行账号标识 + showSalerAddressTel: "Y",// 是否展示销方地址电话标识 + redReason: formData?.redReasonSelect || "", autoMerge: "0", // blueinvoiceNo: '23249322851717775360', @@ -568,7 +573,7 @@ const RedReversal: React.FC<{ currentUser: any }> = (props) => { // blueInvoiceType: record?.blueInvoiceType, blueinvoiceCode: "", billDetail: billDetailReq, - remark: newDesc || "", + remark: record?.BILL_DESC, } // 构造原始数据 @@ -702,6 +707,12 @@ const RedReversal: React.FC<{ currentUser: any }> = (props) => { buyerRecipientPhone: record?.RECEIVE_PHONENUMBER,// 购方收票手机号 buyerRecipientMail: record?.RECEIVE_EMAIL,// 购方收件邮箱 + showBuyerAddressTel: "Y",// 是否展示购方地址电话标识 + showBuyerBank: "Y",// 是否展示购方银行账号标识 + showSalerBank: "Y",// 是否展示销方银行账号标识 + showSalerAddressTel: "Y",// 是否展示销方地址电话标识 + + // redReason: record?.BILL_DESC, // blueinvoiceNo: record?.blueinvoiceNo, diff --git a/src/utils/requestOld.ts b/src/utils/requestOld.ts index b983de6..26e1e81 100644 --- a/src/utils/requestOld.ts +++ b/src/utils/requestOld.ts @@ -7,8 +7,8 @@ import CryptoJS from "crypto-js"; const { UMI_APP_BASEURL } = process.env; // const instance = axios.create({ baseURL: UMI_APP_BASEURL }); -const instance = axios.create({ baseURL: 'https://api.eshangtech.com/EShangApiMain' }); -// const instance = axios.create({ baseURL: 'https://samember.yciccloud.com:8999/EShangApiMain' }); +// const instance = axios.create({ baseURL: 'https://api.eshangtech.com/EShangApiMain' }); +const instance = axios.create({ baseURL: 'https://samember.yciccloud.com:8999/EShangApiMain' }); // const instance = axios.create({ baseURL: '/auth' });