Commit 6f84726726a480405cf92566129c7e75e7adeed2

Authored by zhongnanhuang
1 parent bd6b5f8c

feat: update

src/pages/Order/index.tsx
@@ -158,11 +158,31 @@ const OrderPage = () => { @@ -158,11 +158,31 @@ const OrderPage = () => {
158 // window.addEventListener('resize', resize); 158 // window.addEventListener('resize', resize);
159 // }); 159 // });
160 160
161 - const onCheckboxChange = (itemKey: never) => {  
162 - const newSelectedItems = selectedItems.includes(itemKey)  
163 - ? selectedItems.filter((key) => key !== itemKey)  
164 - : [...selectedItems, itemKey];  
165 - 161 + const onCheckboxChange = (record: never) => {
  162 + let newSelectedItems = [];
  163 + if (selectedItems.includes(record.id)) {
  164 + newSelectedItems = selectedItems.filter((key) => key !== record.id);
  165 + setSelectedRowKeys([]);
  166 + setSelectedRowObj({
  167 + ...setSelectedRowObj,
  168 + [record.id]: [],
  169 + });
  170 + selectedRowObj[record.id] = [];
  171 + setSelectedRows([]);
  172 + } else {
  173 + newSelectedItems = [...selectedItems, record.id];
  174 + //子订单全部自动选中
  175 + let subIds = record.subOrderInformationLists?.map((item) => {
  176 + return item.id;
  177 + });
  178 + setSelectedRowKeys(subIds);
  179 + setSelectedRowObj({
  180 + ...setSelectedRowObj,
  181 + [record.id]: record.subOrderInformationLists,
  182 + });
  183 + selectedRowObj[record.id] = record.subOrderInformationLists;
  184 + setSelectedRows(record.subOrderInformationLists);
  185 + }
166 setSelectedItems(newSelectedItems); 186 setSelectedItems(newSelectedItems);
167 }; 187 };
168 const handleTableExpand = (mainOrderIds: any) => { 188 const handleTableExpand = (mainOrderIds: any) => {
@@ -592,7 +612,7 @@ const OrderPage = () => { @@ -592,7 +612,7 @@ const OrderPage = () => {
592 <Flex> 612 <Flex>
593 <Flex> 613 <Flex>
594 <Checkbox 614 <Checkbox
595 - onChange={() => onCheckboxChange(record.id)} 615 + onChange={() => onCheckboxChange(record)}
596 checked={selectedItems.includes(record.id)} 616 checked={selectedItems.includes(record.id)}
597 > 617 >
598 <Space split={<Divider type="vertical" />}> 618 <Space split={<Divider type="vertical" />}>
@@ -610,7 +630,7 @@ const OrderPage = () =&gt; { @@ -610,7 +630,7 @@ const OrderPage = () =&gt; {
610 </div> 630 </div>
611 <div 631 <div
612 title={record.institution} 632 title={record.institution}
613 - className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[256px]" 633 + className="whitespace-no-wrap overflow-hidden overflow-ellipsis max-w-[150px]"
614 > 634 >
615 <span className="text-[#8C8C8C]">单位:</span> 635 <span className="text-[#8C8C8C]">单位:</span>
616 <span className="text-slate-700">{record.institution}</span> 636 <span className="text-slate-700">{record.institution}</span>
src/pages/OrderReport/components/OrderDualAxes.tsx
1 import { DualAxes } from '@ant-design/charts'; 1 import { DualAxes } from '@ant-design/charts';
2 2
3 -const OrderDualAxes = () => {  
4 - const uvBillData = [  
5 - {  
6 - time: '2019-03',  
7 - value: 300,  
8 - type: '指标',  
9 - },  
10 - {  
11 - time: '2019-04',  
12 - value: 300,  
13 - type: '指标',  
14 - },  
15 - {  
16 - time: '2019-05',  
17 - value: 300,  
18 - type: '指标',  
19 - },  
20 - {  
21 - time: '2019-06',  
22 - value: 300,  
23 - type: '指标',  
24 - },  
25 - {  
26 - time: '2019-07',  
27 - value: 300,  
28 - type: '指标',  
29 - },  
30 - {  
31 - time: '2019-03',  
32 - value: 220,  
33 - type: '营业额',  
34 - },  
35 - {  
36 - time: '2019-04',  
37 - value: 300,  
38 - type: '营业额',  
39 - },  
40 - {  
41 - time: '2019-05',  
42 - value: 250,  
43 - type: '营业额',  
44 - },  
45 - {  
46 - time: '2019-06',  
47 - value: 220,  
48 - type: '营业额',  
49 - },  
50 - {  
51 - time: '2019-07',  
52 - value: 362,  
53 - type: '营业额',  
54 - },  
55 - ];  
56 - const transformData = [  
57 - {  
58 - time: '2019-03',  
59 - count: 800,  
60 - name: '订单量',  
61 - },  
62 - {  
63 - time: '2019-04',  
64 - count: 600,  
65 - name: '订单量',  
66 - },  
67 - {  
68 - time: '2019-05',  
69 - count: 400,  
70 - name: '订单量',  
71 - },  
72 - {  
73 - time: '2019-06',  
74 - count: 380,  
75 - name: '订单量',  
76 - },  
77 - {  
78 - time: '2019-07',  
79 - count: 220,  
80 - name: '订单量',  
81 - },  
82 - ]; 3 +const OrderDualAxes = ({ data }) => {
83 const config = { 4 const config = {
84 - data: [uvBillData, transformData],  
85 - xField: 'time',  
86 - yField: ['value', 'count'], 5 + data: [
  6 + data.targetAndTotalPaymentDtoList === undefined
  7 + ? []
  8 + : data.targetAndTotalPaymentDtoList,
  9 + data.orderNumberDtoList === undefined ? [] : data.orderNumberDtoList,
  10 + ],
  11 + xField: 'curTime',
  12 + yField: ['curDayTotalPayment', 'curDayTotalOrderNumber'],
87 geometryOptions: [ 13 geometryOptions: [
88 { 14 {
89 geometry: 'line', 15 geometry: 'line',
src/pages/OrderReport/components/OrderStatisticCard.tsx
@@ -3,7 +3,7 @@ import { ProCard } from &#39;@ant-design/pro-components&#39;; @@ -3,7 +3,7 @@ import { ProCard } from &#39;@ant-design/pro-components&#39;;
3 import { Flex, InputNumber } from 'antd'; 3 import { Flex, InputNumber } from 'antd';
4 import { useState } from 'react'; 4 import { useState } from 'react';
5 5
6 -export default () => { 6 +export default ({ data }) => {
7 const [edit, setEdit] = useState(false); 7 const [edit, setEdit] = useState(false);
8 8
9 const UpBig = () => ( 9 const UpBig = () => (
@@ -85,14 +85,18 @@ export default () =&gt; { @@ -85,14 +85,18 @@ export default () =&gt; {
85 <Flex> 85 <Flex>
86 <Flex align="center"> 86 <Flex align="center">
87 <span className="text-base pr-1">{unit}</span> 87 <span className="text-base pr-1">{unit}</span>
88 - <div> 88 + <div className={editable ? 'w-[120px]' : ''}>
89 {editable ? ( 89 {editable ? (
90 edit ? ( 90 edit ? (
91 - <InputNumber placeholder="请输入指标(¥)" size="small" /> 91 + <InputNumber
  92 + placeholder="请输入指标(¥)"
  93 + width={200}
  94 + max={100000000}
  95 + />
92 ) : ( 96 ) : (
93 <span className="text-2xl"> 97 <span className="text-2xl">
94 {content} 98 {content}
95 - {editable ? <span className="text-xs pl-1">每月</span> : ''} 99 + {editable ? <span className="text-xs px-1">每月</span> : ''}
96 </span> 100 </span>
97 ) 101 )
98 ) : ( 102 ) : (
@@ -111,13 +115,14 @@ export default () =&gt; { @@ -111,13 +115,14 @@ export default () =&gt; {
111 {editable ? ( 115 {editable ? (
112 edit ? ( 116 edit ? (
113 <CheckCircleTwoTone 117 <CheckCircleTwoTone
114 - width={200} 118 + style={{ fontSize: '20px', paddingLeft: '5px' }}
115 onClick={() => { 119 onClick={() => {
116 setEdit(false); 120 setEdit(false);
117 }} 121 }}
118 /> 122 />
119 ) : ( 123 ) : (
120 <EditTwoTone 124 <EditTwoTone
  125 + style={{ fontSize: '20px' }}
121 onClick={() => { 126 onClick={() => {
122 setEdit(true); 127 setEdit(true);
123 }} 128 }}
@@ -145,7 +150,7 @@ export default () =&gt; { @@ -145,7 +150,7 @@ export default () =&gt; {
145 > 150 >
146 <CardContent 151 <CardContent
147 unit="¥" 152 unit="¥"
148 - content={2332222} 153 + content={data.totalPayment}
149 sameMonthPercentageChange={20} 154 sameMonthPercentageChange={20}
150 /> 155 />
151 </ProCard> 156 </ProCard>
@@ -154,28 +159,39 @@ export default () =&gt; { @@ -154,28 +159,39 @@ export default () =&gt; {
154 title={<CardTitle title={'指标'} />} 159 title={<CardTitle title={'指标'} />}
155 bordered 160 bordered
156 > 161 >
157 - <CardContent unit="¥" content={50000} editable={true} /> 162 + <CardContent unit="¥" content={data.target} editable={true} />
158 </ProCard> 163 </ProCard>
159 <ProCard 164 <ProCard
160 className="order-statictis-card" 165 className="order-statictis-card"
161 title={<CardTitle title={'总订单量'} />} 166 title={<CardTitle title={'总订单量'} />}
162 bordered 167 bordered
163 > 168 >
164 - <CardContent unit="单" content={2212} sameMonthPercentageChange={-15} /> 169 + <CardContent
  170 + unit="单"
  171 + content={data.totalOrderNumber}
  172 + sameMonthPercentageChange={-15}
  173 + />
  174 + </ProCard>
  175 + <ProCard
  176 + className="order-statictis-card"
  177 + title={<CardTitle title={'总子订单量'} />}
  178 + bordered
  179 + >
  180 + <CardContent unit="单" content={data.subTotalOrderNumber} />
165 </ProCard> 181 </ProCard>
166 <ProCard 182 <ProCard
167 className="order-statictis-card" 183 className="order-statictis-card"
168 title={<CardTitle title={'未审核订单'} />} 184 title={<CardTitle title={'未审核订单'} />}
169 bordered 185 bordered
170 > 186 >
171 - <CardContent unit="¥" content={2212} /> 187 + <CardContent unit="单" content={data.unCheckOrderNumber} />
172 </ProCard> 188 </ProCard>
173 <ProCard 189 <ProCard
174 className="order-statictis-card" 190 className="order-statictis-card"
175 title={<CardTitle title={'未发货订单'} />} 191 title={<CardTitle title={'未发货订单'} />}
176 bordered 192 bordered
177 > 193 >
178 - <CardContent unit="¥" content={212} /> 194 + <CardContent unit="单" content={data.unSendOrderNumber} />
179 </ProCard> 195 </ProCard>
180 </ProCard> 196 </ProCard>
181 ); 197 );
src/pages/OrderReport/components/OrderStatisticSearch.tsx deleted 100644 → 0
1 -import {  
2 - ProFormDatePicker,  
3 - ProFormText,  
4 - QueryFilter,  
5 -} from '@ant-design/pro-components';  
6 -  
7 -const OrderStatisticSearch = () => {  
8 - return (  
9 - <QueryFilter defaultCollapsed split className="!p-0">  
10 - <ProFormText name="name" label="应用名称" />  
11 - <ProFormDatePicker name="createDate" label="创建时间" />  
12 - </QueryFilter>  
13 - );  
14 -};  
15 -  
16 -export default OrderStatisticSearch;  
src/pages/OrderReport/index.less
@@ -5,3 +5,14 @@ @@ -5,3 +5,14 @@
5 .order-statictis-card { 5 .order-statictis-card {
6 height: 100%; 6 height: 100%;
7 } 7 }
  8 +
  9 +//将报表卡片的extra左边内容调到适中位置
  10 +#order-dual-axes-card .ant-pro-card-extra {
  11 + width: 60%;
  12 + max-height: 24px;
  13 +}
  14 +
  15 +//报表卡片中tabs作为单选项,去掉多余的margin
  16 +#order-dual-axes-card .ant-tabs-nav {
  17 + margin: 0;
  18 +}
src/pages/OrderReport/index.tsx
  1 +import { postServiceOrderQueryReportFormsInformation } from '@/services';
  2 +import { enumToSelect } from '@/utils';
1 import { EllipsisOutlined } from '@ant-design/icons'; 3 import { EllipsisOutlined } from '@ant-design/icons';
2 -import { PageContainer, ProCard } from '@ant-design/pro-components';  
3 -import { Avatar, Button, Dropdown, Space, Tag } from 'antd'; 4 +import {
  5 + PageContainer,
  6 + ProCard,
  7 + ProFormSelect,
  8 + QueryFilter,
  9 +} from '@ant-design/pro-components';
  10 +import { history } from '@umijs/max';
  11 +import {
  12 + Avatar,
  13 + Button,
  14 + Dropdown,
  15 + Flex,
  16 + Form,
  17 + Space,
  18 + Spin,
  19 + Tabs,
  20 + TabsProps,
  21 + Tag,
  22 +} from 'antd';
  23 +import { useEffect, useState } from 'react';
  24 +import {
  25 + PRODUCT_BELONG_DEPARTMENT_OPTIONS,
  26 + SALES_CODE_OPTIONS,
  27 +} from '../Order/constant';
4 import OrderDualAxes from './components/OrderDualAxes'; 28 import OrderDualAxes from './components/OrderDualAxes';
5 import OrderStatisticCard from './components/OrderStatisticCard'; 29 import OrderStatisticCard from './components/OrderStatisticCard';
6 -import OrderStatisticSearch from './components/OrderStatisticSearch';  
7 import './index.less'; 30 import './index.less';
8 const userInfo = JSON.parse(localStorage.getItem('userInfo')); 31 const userInfo = JSON.parse(localStorage.getItem('userInfo'));
9 32
10 const OrderReportPage = () => { 33 const OrderReportPage = () => {
  34 + const [form] = Form.useForm<{
  35 + salesCode: '';
  36 + productBelongBusiness: '';
  37 + dateRange: '';
  38 + }>();
  39 + const [statisticData, setStatisticData] = useState([]);
  40 + const [loading, setLoading] = useState(false);
  41 + const onChange = (key: string) => {
  42 + console.log(key);
  43 + };
  44 +
  45 + /**
  46 + * 加载页面数据
  47 + */
  48 + const loadData = async () => {
  49 + setLoading(true);
  50 + let body = {
  51 + statisticsMethod: '',
  52 + salesCode: form.getFieldValue('salesCode'),
  53 + productBelongBusiness: form.getFieldValue('productBelongBusiness'),
  54 + // beginTime:"",
  55 + // endTime:""
  56 + };
  57 +
  58 + // if(form.getFieldValue("dateRange")!==undefined){
  59 + // body.beginTime=formatDate(form.getFieldValue("dateRange")[0]),
  60 + // body.endTime=formatDate(form.getFieldValue("dateRange")[1])
  61 + // }
  62 + body.statisticsMethod = 'MONTH_STATISTICS';
  63 + const { data } = await postServiceOrderQueryReportFormsInformation({
  64 + data: body,
  65 + });
  66 + setStatisticData(data);
  67 + setLoading(false);
  68 + };
  69 +
  70 + useEffect(() => {
  71 + loadData();
  72 + }, []);
  73 +
  74 + const items: TabsProps['items'] = [
  75 + {
  76 + key: 'MONTH_STATISTICS',
  77 + label: '本月统计',
  78 + children: '',
  79 + },
  80 + {
  81 + key: 'YEAR_STATISTICS',
  82 + label: '本年统计',
  83 + children: '',
  84 + },
  85 + ];
11 return ( 86 return (
12 <PageContainer 87 <PageContainer
13 - className="order-page-container"  
14 header={{ 88 header={{
15 title: '订单汇总', 89 title: '订单汇总',
16 extra: [ 90 extra: [
@@ -46,13 +120,57 @@ const OrderReportPage = () =&gt; { @@ -46,13 +120,57 @@ const OrderReportPage = () =&gt; {
46 }} 120 }}
47 > 121 >
48 <Space direction="vertical" size="middle" className="flex"> 122 <Space direction="vertical" size="middle" className="flex">
49 - <OrderStatisticCard /> 123 + <Spin spinning={loading}>
  124 + <OrderStatisticCard data={statisticData} />
  125 + </Spin>
  126 +
50 <ProCard tooltip="这是提示" bordered> 127 <ProCard tooltip="这是提示" bordered>
51 - <OrderStatisticSearch /> 128 + <QueryFilter
  129 + split
  130 + className="!p-0 order-statistic-search"
  131 + labelWidth="auto"
  132 + form={form}
  133 + onFinish={async () => {
  134 + loadData();
  135 + return true;
  136 + }}
  137 + >
  138 + <ProFormSelect
  139 + name="salesCode"
  140 + key="salesCode"
  141 + showSearch
  142 + label="销售代表"
  143 + placeholder="请输入销售代表"
  144 + options={SALES_CODE_OPTIONS}
  145 + />
  146 + <ProFormSelect
  147 + key="productBelongBusiness"
  148 + placeholder="请输入所属事业部"
  149 + name="productBelongBusiness"
  150 + label="所属事业部"
  151 + options={enumToSelect(PRODUCT_BELONG_DEPARTMENT_OPTIONS)}
  152 + />
  153 + {/* <ProFormDateRangePicker
  154 + key="dateRange"
  155 + name="dateRange"
  156 + label="时间"
  157 + /> */}
  158 + </QueryFilter>
52 </ProCard> 159 </ProCard>
53 160
54 - <ProCard title="带卡片阴影" extra="extra" tooltip="这是提示" bordered>  
55 - <OrderDualAxes /> 161 + <ProCard
  162 + id="order-dual-axes-card"
  163 + title="统计图表"
  164 + extra={
  165 + <Flex>
  166 + <Tabs defaultActiveKey="1" items={items} onChange={onChange} />
  167 + </Flex>
  168 + }
  169 + bordered
  170 + >
  171 + <Spin spinning={loading}>
  172 + <OrderDualAxes data={statisticData} />
  173 + </Spin>
56 </ProCard> 174 </ProCard>
57 </Space> 175 </Space>
58 </PageContainer> 176 </PageContainer>
src/services/definition.ts
@@ -730,6 +730,40 @@ export interface QueryMainOrderDto { @@ -730,6 +730,40 @@ export interface QueryMainOrderDto {
730 customerName?: string; 730 customerName?: string;
731 } 731 }
732 732
  733 +export interface QueryReportFormsDto {
  734 + /**
  735 + * @description
  736 + * 开始时间
  737 + * @format date-time
  738 + * @example
  739 + * 2023-12-10 12:55:55
  740 + */
  741 + beginTime?: string;
  742 + /**
  743 + * @description
  744 + * 结束时间
  745 + * @format date-time
  746 + * @example
  747 + * 2023-12-10 12:55:55
  748 + */
  749 + endTime?: string;
  750 + /**
  751 + * @description
  752 + * 所属部门
  753 + */
  754 + productBelongBusiness?: string;
  755 + /**
  756 + * @description
  757 + * 销售代表
  758 + */
  759 + salesCode?: string;
  760 + /**
  761 + * @description
  762 + * 统计方式
  763 + */
  764 + statisticsMethod?: string;
  765 +}
  766 +
733 export interface ResetPwdVO { 767 export interface ResetPwdVO {
734 /** @format int64 */ 768 /** @format int64 */
735 userId?: number; 769 userId?: number;
src/services/request.ts
@@ -26,7 +26,6 @@ import type { @@ -26,7 +26,6 @@ import type {
26 DictionaryQueryVO, 26 DictionaryQueryVO,
27 DictionaryVO, 27 DictionaryVO,
28 Dto, 28 Dto,
29 - ModelAndView,  
30 OrderAddVO, 29 OrderAddVO,
31 OrderAuditLogQueryVO, 30 OrderAuditLogQueryVO,
32 OrderBaseInfoQueryVO, 31 OrderBaseInfoQueryVO,
@@ -39,6 +38,7 @@ import type { @@ -39,6 +38,7 @@ import type {
39 QueryAnnexDto, 38 QueryAnnexDto,
40 QueryHistoryRecordDto, 39 QueryHistoryRecordDto,
41 QueryMainOrderDto, 40 QueryMainOrderDto,
  41 + QueryReportFormsDto,
42 ResetPwdVO, 42 ResetPwdVO,
43 ServerResult, 43 ServerResult,
44 SysLogQueryVO, 44 SysLogQueryVO,
@@ -221,7 +221,9 @@ export interface GetErrorResponse { @@ -221,7 +221,9 @@ export interface GetErrorResponse {
221 * @description 221 * @description
222 * OK 222 * OK
223 */ 223 */
224 - 200: ModelAndView; 224 + 200: {
  225 + [propertyName: string]: any;
  226 + };
225 /** 227 /**
226 * @description 228 * @description
227 * Unauthorized 229 * Unauthorized
@@ -242,9 +244,9 @@ export interface GetErrorResponse { @@ -242,9 +244,9 @@ export interface GetErrorResponse {
242 export type GetErrorResponseSuccess = GetErrorResponse[200]; 244 export type GetErrorResponseSuccess = GetErrorResponse[200];
243 /** 245 /**
244 * @description 246 * @description
245 - * errorHtml 247 + * error
246 * @tags basic-error-controller 248 * @tags basic-error-controller
247 - * @produces text/html 249 + * @produces *
248 */ 250 */
249 export const getError = /* #__PURE__ */ (() => { 251 export const getError = /* #__PURE__ */ (() => {
250 const method = 'get'; 252 const method = 'get';
@@ -268,7 +270,9 @@ export interface PutErrorResponse { @@ -268,7 +270,9 @@ export interface PutErrorResponse {
268 * @description 270 * @description
269 * OK 271 * OK
270 */ 272 */
271 - 200: ModelAndView; 273 + 200: {
  274 + [propertyName: string]: any;
  275 + };
272 /** 276 /**
273 * @description 277 * @description
274 * Created 278 * Created
@@ -294,9 +298,9 @@ export interface PutErrorResponse { @@ -294,9 +298,9 @@ export interface PutErrorResponse {
294 export type PutErrorResponseSuccess = PutErrorResponse[200]; 298 export type PutErrorResponseSuccess = PutErrorResponse[200];
295 /** 299 /**
296 * @description 300 * @description
297 - * errorHtml 301 + * error
298 * @tags basic-error-controller 302 * @tags basic-error-controller
299 - * @produces text/html 303 + * @produces *
300 * @consumes application/json 304 * @consumes application/json
301 */ 305 */
302 export const putError = /* #__PURE__ */ (() => { 306 export const putError = /* #__PURE__ */ (() => {
@@ -321,7 +325,9 @@ export interface PostErrorResponse { @@ -321,7 +325,9 @@ export interface PostErrorResponse {
321 * @description 325 * @description
322 * OK 326 * OK
323 */ 327 */
324 - 200: ModelAndView; 328 + 200: {
  329 + [propertyName: string]: any;
  330 + };
325 /** 331 /**
326 * @description 332 * @description
327 * Created 333 * Created
@@ -347,9 +353,9 @@ export interface PostErrorResponse { @@ -347,9 +353,9 @@ export interface PostErrorResponse {
347 export type PostErrorResponseSuccess = PostErrorResponse[200]; 353 export type PostErrorResponseSuccess = PostErrorResponse[200];
348 /** 354 /**
349 * @description 355 * @description
350 - * errorHtml 356 + * error
351 * @tags basic-error-controller 357 * @tags basic-error-controller
352 - * @produces text/html 358 + * @produces *
353 * @consumes application/json 359 * @consumes application/json
354 */ 360 */
355 export const postError = /* #__PURE__ */ (() => { 361 export const postError = /* #__PURE__ */ (() => {
@@ -374,7 +380,9 @@ export interface DeleteErrorResponse { @@ -374,7 +380,9 @@ export interface DeleteErrorResponse {
374 * @description 380 * @description
375 * OK 381 * OK
376 */ 382 */
377 - 200: ModelAndView; 383 + 200: {
  384 + [propertyName: string]: any;
  385 + };
378 /** 386 /**
379 * @description 387 * @description
380 * No Content 388 * No Content
@@ -395,9 +403,9 @@ export interface DeleteErrorResponse { @@ -395,9 +403,9 @@ export interface DeleteErrorResponse {
395 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 403 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
396 /** 404 /**
397 * @description 405 * @description
398 - * errorHtml 406 + * error
399 * @tags basic-error-controller 407 * @tags basic-error-controller
400 - * @produces text/html 408 + * @produces *
401 */ 409 */
402 export const deleteError = /* #__PURE__ */ (() => { 410 export const deleteError = /* #__PURE__ */ (() => {
403 const method = 'delete'; 411 const method = 'delete';
@@ -421,7 +429,9 @@ export interface OptionsErrorResponse { @@ -421,7 +429,9 @@ export interface OptionsErrorResponse {
421 * @description 429 * @description
422 * OK 430 * OK
423 */ 431 */
424 - 200: ModelAndView; 432 + 200: {
  433 + [propertyName: string]: any;
  434 + };
425 /** 435 /**
426 * @description 436 * @description
427 * No Content 437 * No Content
@@ -442,9 +452,9 @@ export interface OptionsErrorResponse { @@ -442,9 +452,9 @@ export interface OptionsErrorResponse {
442 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 452 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
443 /** 453 /**
444 * @description 454 * @description
445 - * errorHtml 455 + * error
446 * @tags basic-error-controller 456 * @tags basic-error-controller
447 - * @produces text/html 457 + * @produces *
448 * @consumes application/json 458 * @consumes application/json
449 */ 459 */
450 export const optionsError = /* #__PURE__ */ (() => { 460 export const optionsError = /* #__PURE__ */ (() => {
@@ -469,7 +479,9 @@ export interface HeadErrorResponse { @@ -469,7 +479,9 @@ export interface HeadErrorResponse {
469 * @description 479 * @description
470 * OK 480 * OK
471 */ 481 */
472 - 200: ModelAndView; 482 + 200: {
  483 + [propertyName: string]: any;
  484 + };
473 /** 485 /**
474 * @description 486 * @description
475 * No Content 487 * No Content
@@ -490,9 +502,9 @@ export interface HeadErrorResponse { @@ -490,9 +502,9 @@ export interface HeadErrorResponse {
490 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 502 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
491 /** 503 /**
492 * @description 504 * @description
493 - * errorHtml 505 + * error
494 * @tags basic-error-controller 506 * @tags basic-error-controller
495 - * @produces text/html 507 + * @produces *
496 * @consumes application/json 508 * @consumes application/json
497 */ 509 */
498 export const headError = /* #__PURE__ */ (() => { 510 export const headError = /* #__PURE__ */ (() => {
@@ -517,7 +529,9 @@ export interface PatchErrorResponse { @@ -517,7 +529,9 @@ export interface PatchErrorResponse {
517 * @description 529 * @description
518 * OK 530 * OK
519 */ 531 */
520 - 200: ModelAndView; 532 + 200: {
  533 + [propertyName: string]: any;
  534 + };
521 /** 535 /**
522 * @description 536 * @description
523 * No Content 537 * No Content
@@ -538,9 +552,9 @@ export interface PatchErrorResponse { @@ -538,9 +552,9 @@ export interface PatchErrorResponse {
538 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 552 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
539 /** 553 /**
540 * @description 554 * @description
541 - * errorHtml 555 + * error
542 * @tags basic-error-controller 556 * @tags basic-error-controller
543 - * @produces text/html 557 + * @produces *
544 * @consumes application/json 558 * @consumes application/json
545 */ 559 */
546 export const patchError = /* #__PURE__ */ (() => { 560 export const patchError = /* #__PURE__ */ (() => {
@@ -6219,6 +6233,78 @@ export const postServiceOrderQueryProductInformation = /* #__PURE__ */ (() =&gt; { @@ -6219,6 +6233,78 @@ export const postServiceOrderQueryProductInformation = /* #__PURE__ */ (() =&gt; {
6219 return request; 6233 return request;
6220 })(); 6234 })();
6221 6235
  6236 +/** @description request parameter type for postServiceOrderQueryReportFormsInformation */
  6237 +export interface PostServiceOrderQueryReportFormsInformationOption {
  6238 + /**
  6239 + * @description
  6240 + * dto
  6241 + */
  6242 + body: {
  6243 + /**
  6244 + @description
  6245 + dto */
  6246 + dto: QueryReportFormsDto;
  6247 + };
  6248 +}
  6249 +
  6250 +/** @description response type for postServiceOrderQueryReportFormsInformation */
  6251 +export interface PostServiceOrderQueryReportFormsInformationResponse {
  6252 + /**
  6253 + * @description
  6254 + * OK
  6255 + */
  6256 + 200: ServerResult;
  6257 + /**
  6258 + * @description
  6259 + * Created
  6260 + */
  6261 + 201: any;
  6262 + /**
  6263 + * @description
  6264 + * Unauthorized
  6265 + */
  6266 + 401: any;
  6267 + /**
  6268 + * @description
  6269 + * Forbidden
  6270 + */
  6271 + 403: any;
  6272 + /**
  6273 + * @description
  6274 + * Not Found
  6275 + */
  6276 + 404: any;
  6277 +}
  6278 +
  6279 +export type PostServiceOrderQueryReportFormsInformationResponseSuccess =
  6280 + PostServiceOrderQueryReportFormsInformationResponse[200];
  6281 +/**
  6282 + * @description
  6283 + * 查询报表
  6284 + * @tags 内部订单
  6285 + * @produces *
  6286 + * @consumes application/json
  6287 + */
  6288 +export const postServiceOrderQueryReportFormsInformation =
  6289 + /* #__PURE__ */ (() => {
  6290 + const method = 'post';
  6291 + const url = '/service/order/queryReportFormsInformation';
  6292 + function request(
  6293 + option: PostServiceOrderQueryReportFormsInformationOption,
  6294 + ): Promise<PostServiceOrderQueryReportFormsInformationResponseSuccess> {
  6295 + return requester(request.url, {
  6296 + method: request.method,
  6297 + ...option,
  6298 + }) as unknown as Promise<PostServiceOrderQueryReportFormsInformationResponseSuccess>;
  6299 + }
  6300 +
  6301 + /** http method */
  6302 + request.method = method;
  6303 + /** request url */
  6304 + request.url = url;
  6305 + return request;
  6306 + })();
  6307 +
6222 /** @description request parameter type for postServiceOrderQueryServiceOrder */ 6308 /** @description request parameter type for postServiceOrderQueryServiceOrder */
6223 export interface PostServiceOrderQueryServiceOrderOption { 6309 export interface PostServiceOrderQueryServiceOrderOption {
6224 /** 6310 /**
src/utils/index.ts
@@ -55,6 +55,17 @@ function formatDateTime(inputDateTime: string) { @@ -55,6 +55,17 @@ function formatDateTime(inputDateTime: string) {
55 return formattedDateTime; 55 return formattedDateTime;
56 } 56 }
57 57
  58 +function formatdate(inputDateTime: string) {
  59 + const parsedDateTime = new Date(inputDateTime);
  60 +
  61 + const year = parsedDateTime.getFullYear();
  62 + const month = String(parsedDateTime.getMonth() + 1).padStart(2, '0');
  63 + const day = String(parsedDateTime.getDate()).padStart(2, '0');
  64 +
  65 + const formattedDate = `${year}-${month}-${day}`;
  66 + return formattedDate;
  67 +}
  68 +
58 function formatSalesCode(salesCode: any) { 69 function formatSalesCode(salesCode: any) {
59 let newSalesCode = salesCode; 70 let newSalesCode = salesCode;
60 if (newSalesCode.indexOf('_')) { 71 if (newSalesCode.indexOf('_')) {
@@ -143,6 +154,7 @@ export { @@ -143,6 +154,7 @@ export {
143 enumValueToLabel, 154 enumValueToLabel,
144 formatDateTime, 155 formatDateTime,
145 formatSalesCode, 156 formatSalesCode,
  157 + formatdate,
146 getAliYunOSSFileNameFromUrl, 158 getAliYunOSSFileNameFromUrl,
147 getUserInfo, 159 getUserInfo,
148 }; 160 };