Commit 9800349c9c196db7634ea8f671fbf871831c7b85

Authored by 曾国涛
1 parent de64c07c

feat: 新增发票功能开发

.idea/inspectionProfiles/Project_Default.xml
1 <component name="InspectionProjectProfileManager"> 1 <component name="InspectionProjectProfileManager">
2 <profile version="1.0"> 2 <profile version="1.0">
3 <option name="myName" value="Project Default" /> 3 <option name="myName" value="Project Default" />
4 - <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />  
5 <inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" /> 4 <inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
6 </profile> 5 </profile>
7 </component> 6 </component>
8 \ No newline at end of file 7 \ No newline at end of file
src/pages/Invoice/components/AddInvoiceDrawerForm.tsx 0 → 100644
  1 +import { RESPONSE_CODE } from '@/constants/enum';
  2 +import { postServiceInvoiceAddInvoice } from '@/services';
  3 +import { PlusOutlined } from '@ant-design/icons';
  4 +import {
  5 + DrawerForm,
  6 + ProFormDateTimePicker,
  7 + ProFormGroup,
  8 + ProFormList,
  9 + ProFormMoney,
  10 + ProFormSelect,
  11 + ProFormText,
  12 + ProFormTextArea,
  13 +} from '@ant-design/pro-components';
  14 +import { Button, Form, message } from 'antd';
  15 +
  16 +export default ({ onClose }) => {
  17 + const [form] = Form.useForm<{
  18 + invoiceNumber: '';
  19 + invoiceStatus: '';
  20 + purchaser: '';
  21 + payee: '';
  22 + contacts: '';
  23 + sale: '';
  24 + invoicingTime: '';
  25 + notes: '';
  26 + mainOrderIdObjs: [
  27 + {
  28 + mainOrderId: '';
  29 + },
  30 + ];
  31 + money: '';
  32 + }>();
  33 +
  34 + return (
  35 + <DrawerForm<{
  36 + invoiceNumber: string;
  37 + invoiceStatus: string;
  38 + purchaser: string;
  39 + payee: string;
  40 + contacts: string;
  41 + sale: string;
  42 + invoicingTime: Date;
  43 + notes: string;
  44 + mainOrderIdObjs: [
  45 + {
  46 + mainOrderId: string;
  47 + },
  48 + ];
  49 + money: string;
  50 + }>
  51 + title="新增开票"
  52 + resize={{
  53 + onResize() {
  54 + console.log('resize!');
  55 + },
  56 + maxWidth: window.innerWidth * 0.8,
  57 + minWidth: 400,
  58 + }}
  59 + form={form}
  60 + trigger={
  61 + <Button type="primary">
  62 + <PlusOutlined />
  63 + 新增
  64 + </Button>
  65 + }
  66 + autoFocusFirstInput
  67 + drawerProps={{
  68 + destroyOnClose: true,
  69 + }}
  70 + submitTimeout={2000}
  71 + onFinish={async (values) => {
  72 + console.log(values);
  73 + const mainOrderIds = values.mainOrderIdObjs.flatMap(
  74 + (item) => item.mainOrderId,
  75 + );
  76 + let attrs = { ...values, mainOrderIds };
  77 + let res = await postServiceInvoiceAddInvoice({
  78 + data: { ...attrs },
  79 + });
  80 + if (res.result === RESPONSE_CODE.SUCCESS) {
  81 + message.success(res.message);
  82 + return true;
  83 + } else {
  84 + message.error(res.message);
  85 + }
  86 + onClose();
  87 + // 不返回不会关闭弹框
  88 + return true;
  89 + }}
  90 + >
  91 + <ProFormText
  92 + name="invoiceNumber"
  93 + width="md"
  94 + label="发票号码"
  95 + placeholder="请输入名称"
  96 + rules={[{ required: true, message: '请输入名称!' }]}
  97 + />
  98 + <ProFormSelect
  99 + name="invoiceStatus"
  100 + label="发票类型"
  101 + valueEnum={{
  102 + china: 'China',
  103 + usa: 'U.S.A',
  104 + }}
  105 + rules={[{ required: true, message: '请选择发票类型!' }]}
  106 + />
  107 + <ProFormText
  108 + name="purchaser"
  109 + width="md"
  110 + label="购买方"
  111 + placeholder="请输入购买方"
  112 + rules={[{ required: true, message: '请输入购买方!' }]}
  113 + />
  114 + <ProFormText
  115 + name="payee"
  116 + width="md"
  117 + label="收款单位"
  118 + placeholder="请输入收款单位"
  119 + rules={[{ required: true, message: '请输入收款单位!' }]}
  120 + />
  121 + <ProFormText
  122 + name="contacts"
  123 + width="md"
  124 + label="联系人"
  125 + placeholder="请输入联系人"
  126 + rules={[{ required: true, message: '请输入联系人!' }]}
  127 + />
  128 + <ProFormText
  129 + name="sale"
  130 + width="md"
  131 + label="销售"
  132 + placeholder="请输入销售"
  133 + rules={[{ required: true, message: '请输入销售!' }]}
  134 + />
  135 + <ProFormDateTimePicker
  136 + name="invoicingTime"
  137 + label="开票时间"
  138 + fieldProps={{
  139 + format: (value) => value.format('YYYY-MM-DD'),
  140 + }}
  141 + rules={[{ required: true, message: '请输入开票时间!' }]}
  142 + />
  143 + <ProFormTextArea name="notes" label="备注" placeholder="请输入名称" />
  144 + <ProFormList
  145 + name="mainOrderIdObjs"
  146 + label="订单号"
  147 + min={1}
  148 + deleteIconProps={{
  149 + tooltipText: '删除',
  150 + }}
  151 + initialValue={[
  152 + {
  153 + mainOrderId: '',
  154 + },
  155 + ]}
  156 + >
  157 + <ProFormGroup key="group">
  158 + <ProFormText
  159 + rules={[{ required: true, message: '请输入关联订单!' }]}
  160 + name="mainOrderId"
  161 + />
  162 + </ProFormGroup>
  163 + </ProFormList>
  164 + <ProFormMoney
  165 + label="金额"
  166 + name="money"
  167 + customSymbol="¥"
  168 + min={0}
  169 + rules={[{ required: true, message: '请输入金额!' }]}
  170 + />
  171 + </DrawerForm>
  172 + );
  173 +};
src/pages/Invoice/index.tsx
1 import ButtonConfirm from '@/components/ButtomConfirm'; 1 import ButtonConfirm from '@/components/ButtomConfirm';
2 import EllipsisDiv from '@/components/Div/EllipsisDiv'; 2 import EllipsisDiv from '@/components/Div/EllipsisDiv';
3 import { RESPONSE_CODE } from '@/constants/enum'; 3 import { RESPONSE_CODE } from '@/constants/enum';
  4 +import AddInvoiceDrawerForm from '@/pages/Invoice/components/AddInvoiceDrawerForm';
4 import { 5 import {
5 BANK_STATEMENT_COLUMNS, 6 BANK_STATEMENT_COLUMNS,
6 INVOICE_COLUMNS, 7 INVOICE_COLUMNS,
@@ -338,6 +339,15 @@ const InvoicePage = () =&gt; { @@ -338,6 +339,15 @@ const InvoicePage = () =&gt; {
338 dateFormatter="string" 339 dateFormatter="string"
339 headerTitle="发票列表" 340 headerTitle="发票列表"
340 scroll={{ x: 1400, y: 360 }} 341 scroll={{ x: 1400, y: 360 }}
  342 + toolBarRender={() => [
  343 + <AddInvoiceDrawerForm
  344 + key="addInvoiceDrawerForm"
  345 + onClose={() => {
  346 + invoiceActionRef.current?.reload();
  347 + bankActionRef.current?.reload();
  348 + }}
  349 + ></AddInvoiceDrawerForm>,
  350 + ]}
341 /> 351 />
342 ), 352 ),
343 }, 353 },
src/pages/Order/index.tsx
@@ -2047,6 +2047,41 @@ const OrderPage = () =&gt; { @@ -2047,6 +2047,41 @@ const OrderPage = () =&gt; {
2047 ) : ( 2047 ) : (
2048 '' 2048 ''
2049 )} 2049 )}
  2050 +
  2051 + {isAdmin() || isSales() || isFinance() ? (
  2052 + <Flex title={optRecord.notes} className="pt-2">
  2053 + <div className="flex items-center">
  2054 + <div className="flex items-center max-w-[500px]">
  2055 + <div className="max-w-md overflow-hidden whitespace-no-wrap overflow-ellipsis">
  2056 + <Tooltip title={optRecord.reissueNotes} placement="topLeft">
  2057 + <span className="text-[#8C8C8C]">
  2058 + 重新开票备注:
  2059 + {optRecord.reissueNotes === undefined ||
  2060 + optRecord.reissueNotes === null
  2061 + ? '暂无备注'
  2062 + : optRecord.reissueNotes}
  2063 + </span>
  2064 + </Tooltip>
  2065 + </div>
  2066 +
  2067 + <Tooltip title="编辑">
  2068 + <EditTwoTone
  2069 + className="pl-1 hover:curcor-pointer"
  2070 + onClick={() => {
  2071 + setNotesEditVisible(true);
  2072 + setSelectedRows([optRecord.id]);
  2073 + setNotes(optRecord.reissueNotes);
  2074 + setNotesType(5);
  2075 + }}
  2076 + />
  2077 + </Tooltip>
  2078 + </div>
  2079 + <Divider type="vertical" className="mx-5" />
  2080 + </div>
  2081 + </Flex>
  2082 + ) : (
  2083 + ''
  2084 + )}
2050 </> 2085 </>
2051 ); 2086 );
2052 }; 2087 };
src/services/definition.ts
@@ -500,6 +500,12 @@ export interface ApiQueryOrderStatusCountsRequest { @@ -500,6 +500,12 @@ export interface ApiQueryOrderStatusCountsRequest {
500 } 500 }
501 501
502 export interface AuditDto { 502 export interface AuditDto {
  503 + /**
  504 + * @description
  505 + * 主订单id
  506 + * @format int64
  507 + */
  508 + mainOrderId?: number;
503 notes?: string; 509 notes?: string;
504 /** 510 /**
505 * @description 511 * @description
@@ -854,6 +860,94 @@ export interface InventoryMaterialStockReq { @@ -854,6 +860,94 @@ export interface InventoryMaterialStockReq {
854 materialId?: string; 860 materialId?: string;
855 } 861 }
856 862
  863 +export interface InvoiceDto {
  864 + /**
  865 + * @description
  866 + * 收款时间
  867 + * @format date-time
  868 + */
  869 + collectionTime?: string;
  870 + /**
  871 + * @description
  872 + * 联系人
  873 + */
  874 + contacts?: string;
  875 + /**
  876 + * @description
  877 + * id
  878 + * @format int64
  879 + */
  880 + id?: number;
  881 + /**
  882 + * @description
  883 + * 发票号码
  884 + */
  885 + invoiceNumber?: string;
  886 + /**
  887 + * @description
  888 + * 发票类型
  889 + */
  890 + invoiceStatus?: string;
  891 + /**
  892 + * @description
  893 + * 开票日期
  894 + * @format date-time
  895 + */
  896 + invoicingTime?: string;
  897 + /**
  898 + * @description
  899 + * 关联主订单id
  900 + */
  901 + mainOrderIds?: Array<number>;
  902 + /**
  903 + * @description
  904 + * 金额
  905 + * @format int64
  906 + */
  907 + money?: number;
  908 + /**
  909 + * @description
  910 + * 备注
  911 + */
  912 + notes?: string;
  913 + /**
  914 + * @description
  915 + * 收款单位
  916 + */
  917 + payee?: string;
  918 + /**
  919 + * @description
  920 + * 购买方
  921 + */
  922 + purchaser?: string;
  923 + /**
  924 + * @description
  925 + * 销售
  926 + */
  927 + sale?: string;
  928 + /**
  929 + * @description
  930 + * 状态
  931 + */
  932 + status?: string;
  933 +}
  934 +
  935 +export interface InvoiceRecordQueryRequest {
  936 + /** @format date */
  937 + createTimeGe?: string;
  938 + /** @format date */
  939 + createTimeLe?: string;
  940 + /** @format int32 */
  941 + pageNumber?: number;
  942 + /** @format int32 */
  943 + pageSize?: number;
  944 + /**
  945 + * @description
  946 + * 用户id
  947 + */
  948 + uid?: string;
  949 +}
  950 +
857 export interface Item { 951 export interface Item {
858 billDate?: string; 952 billDate?: string;
859 billNo?: string; 953 billNo?: string;
@@ -867,6 +961,20 @@ export interface ItemSaItem { @@ -867,6 +961,20 @@ export interface ItemSaItem {
867 itemValue?: string; 961 itemValue?: string;
868 } 962 }
869 963
  964 +export interface MainOrderqueryRequest {
  965 + afterInvoicingStatusIsNull?: boolean;
  966 + orderStatusNotIn?: Array<string>;
  967 + /** @format int32 */
  968 + pageNumber?: number;
  969 + /** @format int32 */
  970 + pageSize?: number;
  971 + /**
  972 + * @description
  973 + * 用户id
  974 + */
  975 + uid?: string;
  976 +}
  977 +
870 export interface MaterialListReply { 978 export interface MaterialListReply {
871 count?: string; 979 count?: string;
872 /** @format int32 */ 980 /** @format int32 */
@@ -1529,8 +1637,6 @@ export interface QueryReportFormsDto { @@ -1529,8 +1637,6 @@ export interface QueryReportFormsDto {
1529 export interface ReissueInvoiceDto { 1637 export interface ReissueInvoiceDto {
1530 /** @format int64 */ 1638 /** @format int64 */
1531 invoiceId?: number; 1639 invoiceId?: number;
1532 - invoiceNumber?: string;  
1533 - mainOrderIds?: Array<number>;  
1534 notes?: string; 1640 notes?: string;
1535 } 1641 }
1536 1642
@@ -1984,6 +2090,101 @@ export interface SalesRechargePrepaymentUpdateRequest { @@ -1984,6 +2090,101 @@ export interface SalesRechargePrepaymentUpdateRequest {
1984 salesCode?: string; 2090 salesCode?: string;
1985 } 2091 }
1986 2092
  2093 +/**
  2094 + * @description
  2095 + * 开票添加对象
  2096 + */
  2097 +export interface StoreOrderInvoiceRequest {
  2098 + /**
  2099 + * @description
  2100 + * 开票备注
  2101 + */
  2102 + comment?: string;
  2103 + /**
  2104 + * @description
  2105 + * 开票内容
  2106 + */
  2107 + content?: string;
  2108 + /**
  2109 + * @description
  2110 + * 创建时间
  2111 + * @format date-time
  2112 + */
  2113 + createTime?: string;
  2114 + /**
  2115 + * @description
  2116 + * 关联订单id
  2117 + */
  2118 + orderIdList?: Array<number>;
  2119 + /**
  2120 + * @description
  2121 + * 买方注册地址
  2122 + */
  2123 + partyAAddress?: string;
  2124 + /**
  2125 + * @description
  2126 + * 买方开户行账号
  2127 + */
  2128 + partyABankAccount?: string;
  2129 + /**
  2130 + * @description
  2131 + * 买方名称
  2132 + */
  2133 + partyAName?: string;
  2134 + /**
  2135 + * @description
  2136 + * 买方开户行
  2137 + */
  2138 + partyAOpenBank?: string;
  2139 + /**
  2140 + * @description
  2141 + * 买方电话号码
  2142 + */
  2143 + partyAPhoneNumber?: string;
  2144 + /**
  2145 + * @description
  2146 + * 买方税号
  2147 + */
  2148 + partyATaxid?: string;
  2149 + /**
  2150 + * @description
  2151 + * 抬头类型
  2152 + */
  2153 + partyAType?: string;
  2154 + /**
  2155 + * @description
  2156 + * 卖方名称
  2157 + */
  2158 + partyBName?: string;
  2159 + /**
  2160 + * @description
  2161 + * 发票金额
  2162 + * @format double
  2163 + */
  2164 + price?: number;
  2165 + /**
  2166 + * @description
  2167 + * 接收邮箱地址
  2168 + */
  2169 + receiveEmail?: string;
  2170 + /**
  2171 + * @description
  2172 + * 发票类型
  2173 + */
  2174 + type?: string;
  2175 + /**
  2176 + * @description
  2177 + * 用户id
  2178 + */
  2179 + uid?: string;
  2180 + /**
  2181 + * @description
  2182 + * 更新时间
  2183 + * @format date-time
  2184 + */
  2185 + updateTime?: string;
  2186 +}
  2187 +
1987 export interface UploadPaymentReceiptDTO { 2188 export interface UploadPaymentReceiptDTO {
1988 /** 2189 /**
1989 * @description 2190 * @description
src/services/request.ts
@@ -41,6 +41,9 @@ import type { @@ -41,6 +41,9 @@ import type {
41 DictionaryVO, 41 DictionaryVO,
42 Dto, 42 Dto,
43 InventoryMaterialStockReq, 43 InventoryMaterialStockReq,
  44 + InvoiceDto,
  45 + InvoiceRecordQueryRequest,
  46 + MainOrderqueryRequest,
44 MaterialListReply, 47 MaterialListReply,
45 MaterialMaterialListReq, 48 MaterialMaterialListReq,
46 MaterialStockRes, 49 MaterialStockRes,
@@ -79,6 +82,7 @@ import type { @@ -79,6 +82,7 @@ import type {
79 SaveReply, 82 SaveReply,
80 ServerResult, 83 ServerResult,
81 ShippingWarehouseChangeDto, 84 ShippingWarehouseChangeDto,
  85 + StoreOrderInvoiceRequest,
82 SysLogQueryVO, 86 SysLogQueryVO,
83 SystemCustomFieldReq, 87 SystemCustomFieldReq,
84 ToProcureAuditDto, 88 ToProcureAuditDto,
@@ -475,6 +479,148 @@ export const postApiOrderCreateOrder = /* #__PURE__ */ (() =&gt; { @@ -475,6 +479,148 @@ export const postApiOrderCreateOrder = /* #__PURE__ */ (() =&gt; {
475 return request; 479 return request;
476 })(); 480 })();
477 481
  482 +/** @description request parameter type for postApiOrderInvoicedOrderList */
  483 +export interface PostApiOrderInvoicedOrderListOption {
  484 + /**
  485 + * @description
  486 + * request
  487 + */
  488 + body: {
  489 + /**
  490 + @description
  491 + request */
  492 + request: MainOrderqueryRequest;
  493 + };
  494 +}
  495 +
  496 +/** @description response type for postApiOrderInvoicedOrderList */
  497 +export interface PostApiOrderInvoicedOrderListResponse {
  498 + /**
  499 + * @description
  500 + * OK
  501 + */
  502 + 200: ServerResult;
  503 + /**
  504 + * @description
  505 + * Created
  506 + */
  507 + 201: any;
  508 + /**
  509 + * @description
  510 + * Unauthorized
  511 + */
  512 + 401: any;
  513 + /**
  514 + * @description
  515 + * Forbidden
  516 + */
  517 + 403: any;
  518 + /**
  519 + * @description
  520 + * Not Found
  521 + */
  522 + 404: any;
  523 +}
  524 +
  525 +export type PostApiOrderInvoicedOrderListResponseSuccess =
  526 + PostApiOrderInvoicedOrderListResponse[200];
  527 +/**
  528 + * @description
  529 + * 获取已开票订单
  530 + * @tags 内部订单
  531 + * @produces *
  532 + * @consumes application/json
  533 + */
  534 +export const postApiOrderInvoicedOrderList = /* #__PURE__ */ (() => {
  535 + const method = 'post';
  536 + const url = '/api/order/invoicedOrderList';
  537 + function request(
  538 + option: PostApiOrderInvoicedOrderListOption,
  539 + ): Promise<PostApiOrderInvoicedOrderListResponseSuccess> {
  540 + return requester(request.url, {
  541 + method: request.method,
  542 + ...option,
  543 + }) as unknown as Promise<PostApiOrderInvoicedOrderListResponseSuccess>;
  544 + }
  545 +
  546 + /** http method */
  547 + request.method = method;
  548 + /** request url */
  549 + request.url = url;
  550 + return request;
  551 +})();
  552 +
  553 +/** @description request parameter type for postApiOrderInvoicedRecordList */
  554 +export interface PostApiOrderInvoicedRecordListOption {
  555 + /**
  556 + * @description
  557 + * request
  558 + */
  559 + body: {
  560 + /**
  561 + @description
  562 + request */
  563 + request: InvoiceRecordQueryRequest;
  564 + };
  565 +}
  566 +
  567 +/** @description response type for postApiOrderInvoicedRecordList */
  568 +export interface PostApiOrderInvoicedRecordListResponse {
  569 + /**
  570 + * @description
  571 + * OK
  572 + */
  573 + 200: ServerResult;
  574 + /**
  575 + * @description
  576 + * Created
  577 + */
  578 + 201: any;
  579 + /**
  580 + * @description
  581 + * Unauthorized
  582 + */
  583 + 401: any;
  584 + /**
  585 + * @description
  586 + * Forbidden
  587 + */
  588 + 403: any;
  589 + /**
  590 + * @description
  591 + * Not Found
  592 + */
  593 + 404: any;
  594 +}
  595 +
  596 +export type PostApiOrderInvoicedRecordListResponseSuccess =
  597 + PostApiOrderInvoicedRecordListResponse[200];
  598 +/**
  599 + * @description
  600 + * 获取开票记录
  601 + * @tags 内部订单
  602 + * @produces *
  603 + * @consumes application/json
  604 + */
  605 +export const postApiOrderInvoicedRecordList = /* #__PURE__ */ (() => {
  606 + const method = 'post';
  607 + const url = '/api/order/invoicedRecordList';
  608 + function request(
  609 + option: PostApiOrderInvoicedRecordListOption,
  610 + ): Promise<PostApiOrderInvoicedRecordListResponseSuccess> {
  611 + return requester(request.url, {
  612 + method: request.method,
  613 + ...option,
  614 + }) as unknown as Promise<PostApiOrderInvoicedRecordListResponseSuccess>;
  615 + }
  616 +
  617 + /** http method */
  618 + request.method = method;
  619 + /** request url */
  620 + request.url = url;
  621 + return request;
  622 +})();
  623 +
478 /** @description request parameter type for postApiOrderQueryOrderDetail */ 624 /** @description request parameter type for postApiOrderQueryOrderDetail */
479 export interface PostApiOrderQueryOrderDetailOption { 625 export interface PostApiOrderQueryOrderDetailOption {
480 /** 626 /**
@@ -688,6 +834,148 @@ export const postApiOrderQueryServiceOrder = /* #__PURE__ */ (() =&gt; { @@ -688,6 +834,148 @@ export const postApiOrderQueryServiceOrder = /* #__PURE__ */ (() =&gt; {
688 return request; 834 return request;
689 })(); 835 })();
690 836
  837 +/** @description request parameter type for postApiOrderStoreApplyInvoice */
  838 +export interface PostApiOrderStoreApplyInvoiceOption {
  839 + /**
  840 + * @description
  841 + * request
  842 + */
  843 + body: {
  844 + /**
  845 + @description
  846 + request */
  847 + request: StoreOrderInvoiceRequest;
  848 + };
  849 +}
  850 +
  851 +/** @description response type for postApiOrderStoreApplyInvoice */
  852 +export interface PostApiOrderStoreApplyInvoiceResponse {
  853 + /**
  854 + * @description
  855 + * OK
  856 + */
  857 + 200: ServerResult;
  858 + /**
  859 + * @description
  860 + * Created
  861 + */
  862 + 201: any;
  863 + /**
  864 + * @description
  865 + * Unauthorized
  866 + */
  867 + 401: any;
  868 + /**
  869 + * @description
  870 + * Forbidden
  871 + */
  872 + 403: any;
  873 + /**
  874 + * @description
  875 + * Not Found
  876 + */
  877 + 404: any;
  878 +}
  879 +
  880 +export type PostApiOrderStoreApplyInvoiceResponseSuccess =
  881 + PostApiOrderStoreApplyInvoiceResponse[200];
  882 +/**
  883 + * @description
  884 + * 商城申请开票
  885 + * @tags 内部订单
  886 + * @produces *
  887 + * @consumes application/json
  888 + */
  889 +export const postApiOrderStoreApplyInvoice = /* #__PURE__ */ (() => {
  890 + const method = 'post';
  891 + const url = '/api/order/storeApplyInvoice';
  892 + function request(
  893 + option: PostApiOrderStoreApplyInvoiceOption,
  894 + ): Promise<PostApiOrderStoreApplyInvoiceResponseSuccess> {
  895 + return requester(request.url, {
  896 + method: request.method,
  897 + ...option,
  898 + }) as unknown as Promise<PostApiOrderStoreApplyInvoiceResponseSuccess>;
  899 + }
  900 +
  901 + /** http method */
  902 + request.method = method;
  903 + /** request url */
  904 + request.url = url;
  905 + return request;
  906 +})();
  907 +
  908 +/** @description request parameter type for postApiOrderWaitInvoiceOrderList */
  909 +export interface PostApiOrderWaitInvoiceOrderListOption {
  910 + /**
  911 + * @description
  912 + * request
  913 + */
  914 + body: {
  915 + /**
  916 + @description
  917 + request */
  918 + request: MainOrderqueryRequest;
  919 + };
  920 +}
  921 +
  922 +/** @description response type for postApiOrderWaitInvoiceOrderList */
  923 +export interface PostApiOrderWaitInvoiceOrderListResponse {
  924 + /**
  925 + * @description
  926 + * OK
  927 + */
  928 + 200: ServerResult;
  929 + /**
  930 + * @description
  931 + * Created
  932 + */
  933 + 201: any;
  934 + /**
  935 + * @description
  936 + * Unauthorized
  937 + */
  938 + 401: any;
  939 + /**
  940 + * @description
  941 + * Forbidden
  942 + */
  943 + 403: any;
  944 + /**
  945 + * @description
  946 + * Not Found
  947 + */
  948 + 404: any;
  949 +}
  950 +
  951 +export type PostApiOrderWaitInvoiceOrderListResponseSuccess =
  952 + PostApiOrderWaitInvoiceOrderListResponse[200];
  953 +/**
  954 + * @description
  955 + * 获取可开票订单
  956 + * @tags 内部订单
  957 + * @produces *
  958 + * @consumes application/json
  959 + */
  960 +export const postApiOrderWaitInvoiceOrderList = /* #__PURE__ */ (() => {
  961 + const method = 'post';
  962 + const url = '/api/order/waitInvoiceOrderList';
  963 + function request(
  964 + option: PostApiOrderWaitInvoiceOrderListOption,
  965 + ): Promise<PostApiOrderWaitInvoiceOrderListResponseSuccess> {
  966 + return requester(request.url, {
  967 + method: request.method,
  968 + ...option,
  969 + }) as unknown as Promise<PostApiOrderWaitInvoiceOrderListResponseSuccess>;
  970 + }
  971 +
  972 + /** http method */
  973 + request.method = method;
  974 + /** request url */
  975 + request.url = url;
  976 + return request;
  977 +})();
  978 +
691 /** @description request parameter type for postCanrdApiUserDetail */ 979 /** @description request parameter type for postCanrdApiUserDetail */
692 export interface PostCanrdApiUserDetailOption { 980 export interface PostCanrdApiUserDetailOption {
693 /** 981 /**
@@ -6415,6 +6703,77 @@ export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() =&gt; { @@ -6415,6 +6703,77 @@ export const postOrderErpUsersUpdatePass = /* #__PURE__ */ (() =&gt; {
6415 return request; 6703 return request;
6416 })(); 6704 })();
6417 6705
  6706 +/** @description request parameter type for postOrderImportImportWeightAndVolume */
  6707 +export interface PostOrderImportImportWeightAndVolumeOption {
  6708 + /**
  6709 + * @description
  6710 + * file
  6711 + */
  6712 + formData: {
  6713 + /**
  6714 + @description
  6715 + file */
  6716 + file: File;
  6717 + };
  6718 +}
  6719 +
  6720 +/** @description response type for postOrderImportImportWeightAndVolume */
  6721 +export interface PostOrderImportImportWeightAndVolumeResponse {
  6722 + /**
  6723 + * @description
  6724 + * OK
  6725 + */
  6726 + 200: ServerResult;
  6727 + /**
  6728 + * @description
  6729 + * Created
  6730 + */
  6731 + 201: any;
  6732 + /**
  6733 + * @description
  6734 + * Unauthorized
  6735 + */
  6736 + 401: any;
  6737 + /**
  6738 + * @description
  6739 + * Forbidden
  6740 + */
  6741 + 403: any;
  6742 + /**
  6743 + * @description
  6744 + * Not Found
  6745 + */
  6746 + 404: any;
  6747 +}
  6748 +
  6749 +export type PostOrderImportImportWeightAndVolumeResponseSuccess =
  6750 + PostOrderImportImportWeightAndVolumeResponse[200];
  6751 +/**
  6752 + * @description
  6753 + * 导入重量和体积
  6754 + * @tags 导入
  6755 + * @produces *
  6756 + * @consumes multipart/form-data
  6757 + */
  6758 +export const postOrderImportImportWeightAndVolume = /* #__PURE__ */ (() => {
  6759 + const method = 'post';
  6760 + const url = '/order/import/importWeightAndVolume';
  6761 + function request(
  6762 + option: PostOrderImportImportWeightAndVolumeOption,
  6763 + ): Promise<PostOrderImportImportWeightAndVolumeResponseSuccess> {
  6764 + return requester(request.url, {
  6765 + method: request.method,
  6766 + ...option,
  6767 + }) as unknown as Promise<PostOrderImportImportWeightAndVolumeResponseSuccess>;
  6768 + }
  6769 +
  6770 + /** http method */
  6771 + request.method = method;
  6772 + /** request url */
  6773 + request.url = url;
  6774 + return request;
  6775 +})();
  6776 +
6418 /** @description request parameter type for postPrepaidAudit */ 6777 /** @description request parameter type for postPrepaidAudit */
6419 export interface PostPrepaidAuditOption { 6778 export interface PostPrepaidAuditOption {
6420 /** 6779 /**
@@ -7107,6 +7466,77 @@ export const postServiceBankStatementQueryBankStatement = @@ -7107,6 +7466,77 @@ export const postServiceBankStatementQueryBankStatement =
7107 return request; 7466 return request;
7108 })(); 7467 })();
7109 7468
  7469 +/** @description request parameter type for postServiceInvoiceAddInvoice */
  7470 +export interface PostServiceInvoiceAddInvoiceOption {
  7471 + /**
  7472 + * @description
  7473 + * dto
  7474 + */
  7475 + body: {
  7476 + /**
  7477 + @description
  7478 + dto */
  7479 + dto: InvoiceDto;
  7480 + };
  7481 +}
  7482 +
  7483 +/** @description response type for postServiceInvoiceAddInvoice */
  7484 +export interface PostServiceInvoiceAddInvoiceResponse {
  7485 + /**
  7486 + * @description
  7487 + * OK
  7488 + */
  7489 + 200: ServerResult;
  7490 + /**
  7491 + * @description
  7492 + * Created
  7493 + */
  7494 + 201: any;
  7495 + /**
  7496 + * @description
  7497 + * Unauthorized
  7498 + */
  7499 + 401: any;
  7500 + /**
  7501 + * @description
  7502 + * Forbidden
  7503 + */
  7504 + 403: any;
  7505 + /**
  7506 + * @description
  7507 + * Not Found
  7508 + */
  7509 + 404: any;
  7510 +}
  7511 +
  7512 +export type PostServiceInvoiceAddInvoiceResponseSuccess =
  7513 + PostServiceInvoiceAddInvoiceResponse[200];
  7514 +/**
  7515 + * @description
  7516 + * 添加发票
  7517 + * @tags 发票
  7518 + * @produces *
  7519 + * @consumes application/json
  7520 + */
  7521 +export const postServiceInvoiceAddInvoice = /* #__PURE__ */ (() => {
  7522 + const method = 'post';
  7523 + const url = '/service/invoice/addInvoice';
  7524 + function request(
  7525 + option: PostServiceInvoiceAddInvoiceOption,
  7526 + ): Promise<PostServiceInvoiceAddInvoiceResponseSuccess> {
  7527 + return requester(request.url, {
  7528 + method: request.method,
  7529 + ...option,
  7530 + }) as unknown as Promise<PostServiceInvoiceAddInvoiceResponseSuccess>;
  7531 + }
  7532 +
  7533 + /** http method */
  7534 + request.method = method;
  7535 + /** request url */
  7536 + request.url = url;
  7537 + return request;
  7538 +})();
  7539 +
7110 /** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */ 7540 /** @description request parameter type for postServiceInvoiceCancelInvoiceAndBankStatement */
7111 export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption { 7541 export interface PostServiceInvoiceCancelInvoiceAndBankStatementOption {
7112 /** 7542 /**