Commit 9ceeb4da7da9a4f9f0dcf40dc566faa8b7ed6d62

Authored by 曾国涛
2 parents 1a33ea02 0c438830

Merge branch 'dev' into 'master'

Dev



See merge request !36
src/pages/Client/Client/index.tsx
@@ -9,7 +9,6 @@ import { @@ -9,7 +9,6 @@ import {
9 postAdminClientQueryClientPage, 9 postAdminClientQueryClientPage,
10 postServiceConstClientLevels, 10 postServiceConstClientLevels,
11 postServiceConstClientSource, 11 postServiceConstClientSource,
12 - postServiceOrderQueryCustomerInformation,  
13 } from '@/services'; 12 } from '@/services';
14 import { downloadFile } from '@/services/order'; 13 import { downloadFile } from '@/services/order';
15 import { enumToSelect } from '@/utils'; 14 import { enumToSelect } from '@/utils';
@@ -76,33 +75,8 @@ const columns = [ @@ -76,33 +75,8 @@ const columns = [
76 { 75 {
77 title: '课题组', 76 title: '课题组',
78 dataIndex: 'institutionContactName', 77 dataIndex: 'institutionContactName',
79 - valueType: 'select', 78 + valueType: 'text',
80 hideInTable: true, 79 hideInTable: true,
81 - fieldProps: {  
82 - showSearch: true,  
83 - // mode: 'tags', // 允许自定义输入  
84 - },  
85 - request: async (value, { params }) => {  
86 - const keywords = value.keyWords;  
87 - const { data } = await postServiceOrderQueryCustomerInformation({  
88 - data: {  
89 - name: 'institutionContactName',  
90 - institutionContactName: keywords,  
91 - },  
92 - params: params,  
93 - });  
94 - let options = data  
95 - .filter((c: any) => {  
96 - return c.orderName === 'institutionCustomerUser';  
97 - })  
98 - .map((item: any) => {  
99 - return {  
100 - label: item.orderValue,  
101 - value: item.orderValue,  
102 - };  
103 - });  
104 - return options;  
105 - },  
106 }, 80 },
107 { 81 {
108 title: '关联销售', 82 title: '关联销售',
@@ -195,15 +169,15 @@ const columns = [ @@ -195,15 +169,15 @@ const columns = [
195 valueType: 'dateTime', 169 valueType: 'dateTime',
196 hideInSearch: true, 170 hideInSearch: true,
197 }, 171 },
198 - {  
199 - title: '最新更进时间',  
200 - key: 'since',  
201 - width: 150,  
202 - ellipsis: true,  
203 - dataIndex: 'updateTime',  
204 - valueType: 'dateTime',  
205 - hideInSearch: true,  
206 - }, 172 + // {
  173 + // title: '最新更进时间',
  174 + // key: 'since',
  175 + // width: 150,
  176 + // ellipsis: true,
  177 + // dataIndex: 'updateTime',
  178 + // valueType: 'dateTime',
  179 + // hideInSearch: true,
  180 + // },
207 // { 181 // {
208 // title: '最新跟进时间', 182 // title: '最新跟进时间',
209 // key: 'since', 183 // key: 'since',
@@ -432,14 +406,31 @@ export default () => { @@ -432,14 +406,31 @@ export default () => {
432 actionRef={actionRef} 406 actionRef={actionRef}
433 cardBordered 407 cardBordered
434 request={async (params) => { 408 request={async (params) => {
  409 + // 获取分页参数
  410 + const { current, pageSize, ...restParams } = params;
  411 +
435 const res = await postAdminClientQueryClientPage({ 412 const res = await postAdminClientQueryClientPage({
436 data: { 413 data: {
437 - ...params, 414 + ...restParams,
438 groupFilter: groupFilter, 415 groupFilter: groupFilter,
  416 + // 明确传递分页参数
  417 + current: current,
  418 + pageSize: pageSize,
439 }, 419 },
440 }); 420 });
441 - const data = res.data;  
442 - return data; 421 +
  422 + // 处理后端返回的实际数据格式
  423 + // 根据提供的JSON,格式已经是 {records, total, current, pages, size, count}
  424 + const result = {
  425 + data: res.data?.records || [], // 数据源是 records 数组
  426 + success: true,
  427 + total: res.data?.total || 0, // 总记录数
  428 + // 返回服务器端的分页信息,让ProTable使用
  429 + current: res.data?.current || 1,
  430 + pageSize: res.data?.size || 10,
  431 + };
  432 +
  433 + return result;
443 }} 434 }}
444 search={{ 435 search={{
445 labelWidth: 'auto', 436 labelWidth: 'auto',
@@ -504,8 +495,12 @@ export default () => { @@ -504,8 +495,12 @@ export default () => {
504 }, 495 },
505 }} 496 }}
506 pagination={{ 497 pagination={{
507 - pageSize: 5,  
508 - onChange: (page) => console.log(page), 498 + defaultPageSize: 10,
  499 + pageSizeOptions: ['5', '20', '50', '100'],
  500 + showSizeChanger: true,
  501 + showQuickJumper: true,
  502 + // 使用服务端返回的分页信息
  503 + responsive: true,
509 }} 504 }}
510 dateFormatter="string" 505 dateFormatter="string"
511 headerTitle="高级表格" 506 headerTitle="高级表格"
src/pages/Client/FollowRecord/index.tsx
@@ -334,13 +334,18 @@ export default () => { @@ -334,13 +334,18 @@ export default () => {
334 actionRef={actionRef} 334 actionRef={actionRef}
335 cardBordered 335 cardBordered
336 request={async (params) => { 336 request={async (params) => {
  337 + // 获取分页参数
  338 + const { current, pageSize } = params;
  339 +
337 const res = await postAdminClientQueryClientComunicationInfo({ 340 const res = await postAdminClientQueryClientComunicationInfo({
338 data: { 341 data: {
339 ...params, 342 ...params,
  343 + // 明确传递分页参数
  344 + current: current,
  345 + pageSize: pageSize,
340 }, 346 },
341 }); 347 });
342 if (res.result === RESPONSE_CODE.SUCCESS) { 348 if (res.result === RESPONSE_CODE.SUCCESS) {
343 - console.log(JSON.stringify(res.data));  
344 return { 349 return {
345 ...res.data, 350 ...res.data,
346 data: res.data.data.map((item) => { 351 data: res.data.data.map((item) => {
@@ -349,9 +354,13 @@ export default () => { @@ -349,9 +354,13 @@ export default () => {
349 tid: (Math.random() * 1000000).toFixed(0), 354 tid: (Math.random() * 1000000).toFixed(0),
350 }; 355 };
351 }), 356 }),
  357 + // 返回服务器端的分页信息,让ProTable使用
  358 + current: res.data.current || 1,
  359 + pageSize: res.data.pageSize || 10,
352 }; 360 };
353 } else { 361 } else {
354 message.error('获取失败'); 362 message.error('获取失败');
  363 + return { data: [], success: false };
355 } 364 }
356 }} 365 }}
357 search={{ 366 search={{
@@ -392,7 +401,12 @@ export default () => { @@ -392,7 +401,12 @@ export default () => {
392 }, 401 },
393 }} 402 }}
394 pagination={{ 403 pagination={{
395 - pageSize: 5, 404 + defaultPageSize: 10,
  405 + pageSizeOptions: ['5', '20', '50', '100'],
  406 + showSizeChanger: true,
  407 + showQuickJumper: true,
  408 + // 使用服务端返回的分页信息
  409 + responsive: true,
396 onChange: (page) => console.log(page), 410 onChange: (page) => console.log(page),
397 }} 411 }}
398 dateFormatter="string" 412 dateFormatter="string"
src/pages/Order/OrderList/OrderDrawer.tsx
@@ -11,8 +11,8 @@ import { @@ -11,8 +11,8 @@ import {
11 postKingdeeRepMaterialUnit, 11 postKingdeeRepMaterialUnit,
12 postKingdeeRepMeasureUnit, 12 postKingdeeRepMeasureUnit,
13 postPrepaidPhoneAvailableList, 13 postPrepaidPhoneAvailableList,
  14 + postResearchGroupsListNotPage,
14 postResearchGroupsMemberExists, 15 postResearchGroupsMemberExists,
15 - postResearchGroupsNameSet,  
16 postServiceConstCompanyType, 16 postServiceConstCompanyType,
17 postServiceConstOrderSource, 17 postServiceConstOrderSource,
18 postServiceConstPlatformType, 18 postServiceConstPlatformType,
@@ -48,7 +48,7 @@ import { @@ -48,7 +48,7 @@ import {
48 ProFormUploadDragger, 48 ProFormUploadDragger,
49 } from '@ant-design/pro-components'; 49 } from '@ant-design/pro-components';
50 import { Group } from '@ant-design/pro-form'; 50 import { Group } from '@ant-design/pro-form';
51 -import { Button, Form, message, Modal } from 'antd'; 51 +import { Alert, Button, Form, message, Modal } from 'antd';
52 import { cloneDeep } from 'lodash'; 52 import { cloneDeep } from 'lodash';
53 import { useEffect, useRef, useState } from 'react'; 53 import { useEffect, useRef, useState } from 'react';
54 import { 54 import {
@@ -1245,35 +1245,42 @@ export default ({ onClose, data, subOrders, orderOptType }) => { @@ -1245,35 +1245,42 @@ export default ({ onClose, data, subOrders, orderOptType }) => {
1245 const renderInstitutionContactName = () => ( 1245 const renderInstitutionContactName = () => (
1246 <> 1246 <>
1247 <Group> 1247 <Group>
  1248 + {/* 课题组选择下拉框(隐藏) */}
1248 <ProFormSelect 1249 <ProFormSelect
1249 - key="institutionContactName" 1250 + key="researchGroupSelect"
1250 width="xl" 1251 width="xl"
1251 showSearch 1252 showSearch
1252 - name="institutionContactName"  
1253 - rules={[{ required: true, message: '请输入课题组名称!' }]} 1253 + name="researchGroupSelect"
  1254 + label="选择课题组"
  1255 + placeholder="请搜索并选择课题组"
1254 request={async (value) => { 1256 request={async (value) => {
1255 const keywords = value?.keyWords || ''; 1257 const keywords = value?.keyWords || '';
1256 - const res = await postResearchGroupsNameSet({ 1258 + const res = await postResearchGroupsListNotPage({
1257 data: { 1259 data: {
1258 status: 'ADD_AUDIT_PASS', 1260 status: 'ADD_AUDIT_PASS',
1259 groupName: keywords, 1261 groupName: keywords,
1260 }, 1262 },
1261 }); 1263 });
1262 - return Object.entries(res?.data || {}).map(  
1263 - ([researchGroupsId, researchGroupsName]) => ({  
1264 - label: researchGroupsName,  
1265 - value: researchGroupsName, // 使用 researchGroupsId 作为 value  
1266 - key: researchGroupsId,  
1267 - id: researchGroupsId,  
1268 - }),  
1269 - ); 1264 + return res.data.map((item) => ({
  1265 + label: `${item.groupName} | ${item.companyName} | ${item.id}`,
  1266 + value: item.id.toString(),
  1267 + key: item.id.toString(),
  1268 + groupName: item.groupName,
  1269 + }));
1270 }} 1270 }}
1271 fieldProps={{ 1271 fieldProps={{
1272 filterOption: () => true, 1272 filterOption: () => true,
1273 - onChange: async (_, option) => {  
1274 - const researchGroupId = option?.id || ''; 1273 + onChange: async (value, option) => {
  1274 + const selectedOption = Array.isArray(option)
  1275 + ? option[0]
  1276 + : option;
  1277 + const researchGroupId = value;
  1278 + const researchGroupName = selectedOption?.groupName;
  1279 +
  1280 + // 更新表单值
1275 form.setFieldsValue({ 1281 form.setFieldsValue({
1276 - researchGroupId: researchGroupId, 1282 + researchGroupId,
  1283 + institutionContactName: researchGroupName,
1277 }); 1284 });
1278 1285
1279 // 检查用户是否已经是该课题组成员 1286 // 检查用户是否已经是该课题组成员
@@ -1291,78 +1298,78 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; { @@ -1291,78 +1298,78 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1291 }, 1298 },
1292 }); 1299 });
1293 1300
1294 - // 响应码200表示请求成功,值为false表示用户不是课题组成员  
1295 - // 必须先检查res是否存在并且是否有200属性  
1296 - console.log(res, '5656res');  
1297 const isMember = res; 1301 const isMember = res;
1298 -  
1299 - if (!isMember) {  
1300 - // 显示用户将被添加到课题组的信息  
1301 - form.setFields([  
1302 - {  
1303 - name: 'researchGroupWarning',  
1304 - value: true,  
1305 - },  
1306 - ]);  
1307 - } else {  
1308 - form.setFields([  
1309 - {  
1310 - name: 'researchGroupWarning',  
1311 - value: false,  
1312 - },  
1313 - ]);  
1314 - } 1302 + form.setFields([
  1303 + {
  1304 + name: 'researchGroupWarning',
  1305 + value: !isMember, // 警告显示逻辑:非成员才显示警告
  1306 + },
  1307 + ]);
1315 } catch (error) { 1308 } catch (error) {
1316 console.error('检查课题组成员失败:', error); 1309 console.error('检查课题组成员失败:', error);
  1310 + form.setFields([
  1311 + {
  1312 + name: 'researchGroupWarning',
  1313 + value: false,
  1314 + },
  1315 + ]);
1317 } 1316 }
1318 } 1317 }
1319 } 1318 }
1320 }, 1319 },
1321 }} 1320 }}
1322 debounceTime={1000} 1321 debounceTime={1000}
  1322 + />
  1323 +
  1324 + {/* 显示课题组名称的只读输入框 */}
  1325 + <ProFormText
  1326 + name="institutionContactName"
  1327 + width="xl"
  1328 + readonly
1323 label="课题组名称" 1329 label="课题组名称"
1324 - placeholder="请输入名称" 1330 + fieldProps={{
  1331 + readOnly: true,
  1332 + style: {
  1333 + backgroundColor: '#f5f5f5',
  1334 + cursor: 'not-allowed',
  1335 + },
  1336 + }}
  1337 + rules={[{ required: true, message: '请重新选择课题组!' }]}
1325 /> 1338 />
  1339 +
  1340 + {/* 课题组ID显示框(保持原有样式) */}
1326 <ProFormDigit 1341 <ProFormDigit
1327 readonly 1342 readonly
1328 key="researchGroupId" 1343 key="researchGroupId"
1329 width="md" 1344 width="md"
1330 name="researchGroupId" 1345 name="researchGroupId"
1331 - label="课题组Id"  
1332 - fieldProps={{ precision: 0 }} // 只允许整数 1346 + label="课题组ID"
  1347 + fieldProps={{ precision: 0 }}
1333 rules={[{ required: true, message: '请重新选择课题组!' }]} 1348 rules={[{ required: true, message: '请重新选择课题组!' }]}
1334 /> 1349 />
1335 </Group> 1350 </Group>
  1351 +
  1352 + {/* 警告信息显示 */}
1336 <ProFormDependency 1353 <ProFormDependency
1337 - name={[  
1338 - 'researchGroupWarning',  
1339 - 'institutionContactName',  
1340 - 'researchGroupId',  
1341 - ]} 1354 + name={['researchGroupWarning', 'institutionContactName']}
1342 > 1355 >
1343 - {({  
1344 - researchGroupWarning,  
1345 - institutionContactName,  
1346 - researchGroupId,  
1347 - }) => {  
1348 - if (  
1349 - researchGroupWarning &&  
1350 - institutionContactName &&  
1351 - researchGroupId  
1352 - ) { 1356 + {({ researchGroupWarning, institutionContactName }) => {
  1357 + if (researchGroupWarning && institutionContactName) {
1353 const customerNameString = 1358 const customerNameString =
1354 form.getFieldValue('customerNameString') || '客户'; 1359 form.getFieldValue('customerNameString') || '客户';
1355 return ( 1360 return (
1356 - <div  
1357 - style={{  
1358 - color: 'red',  
1359 - marginBottom: '15px',  
1360 - marginTop: '0px',  
1361 - }}  
1362 - >  
1363 - 订单提交后{customerNameString}将默认加入  
1364 - {institutionContactName}课题组  
1365 - </div> 1361 + <Alert
  1362 + message={
  1363 + <span>
  1364 + 订单提交后{customerNameString}将默认加入
  1365 + <strong> {institutionContactName} </strong>
  1366 + 课题组
  1367 + </span>
  1368 + }
  1369 + type="warning"
  1370 + showIcon
  1371 + style={{ marginBottom: 16 }}
  1372 + />
1366 ); 1373 );
1367 } 1374 }
1368 return null; 1375 return null;
@@ -1370,6 +1377,7 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; { @@ -1370,6 +1377,7 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1370 </ProFormDependency> 1377 </ProFormDependency>
1371 </> 1378 </>
1372 ); 1379 );
  1380 +
1373 const renderPlatformType = (fieldKey) => ( 1381 const renderPlatformType = (fieldKey) => (
1374 <ProFormSelect 1382 <ProFormSelect
1375 key={fieldKey} 1383 key={fieldKey}
src/services/definition.ts
@@ -1556,6 +1556,32 @@ export interface ExchangeRecordsRequestDto { @@ -1556,6 +1556,32 @@ export interface ExchangeRecordsRequestDto {
1556 total?: number; 1556 total?: number;
1557 } 1557 }
1558 1558
  1559 +export interface File {
  1560 + absolute?: boolean;
  1561 + absoluteFile?: File;
  1562 + absolutePath?: string;
  1563 + canonicalFile?: File;
  1564 + canonicalPath?: string;
  1565 + directory?: boolean;
  1566 + executable?: boolean;
  1567 + file?: boolean;
  1568 + /** @format int64 */
  1569 + freeSpace?: number;
  1570 + hidden?: boolean;
  1571 + /** @format int64 */
  1572 + lastModified?: number;
  1573 + name?: string;
  1574 + parent?: string;
  1575 + parentFile?: File;
  1576 + path?: string;
  1577 + readable?: boolean;
  1578 + /** @format int64 */
  1579 + totalSpace?: number;
  1580 + /** @format int64 */
  1581 + usableSpace?: number;
  1582 + writable?: boolean;
  1583 +}
  1584 +
1559 export interface FilePathDto { 1585 export interface FilePathDto {
1560 url?: string; 1586 url?: string;
1561 } 1587 }
@@ -4256,7 +4282,7 @@ export interface ResetPwdVO { @@ -4256,7 +4282,7 @@ export interface ResetPwdVO {
4256 4282
4257 export interface Resource { 4283 export interface Resource {
4258 description?: string; 4284 description?: string;
4259 - file?: TsgFile; 4285 + file?: File;
4260 filename?: string; 4286 filename?: string;
4261 inputStream?: InputStream; 4287 inputStream?: InputStream;
4262 open?: boolean; 4288 open?: boolean;
@@ -4964,32 +4990,6 @@ export interface CompanyInfo { @@ -4964,32 +4990,6 @@ export interface CompanyInfo {
4964 taxIdIsNotNull?: boolean; 4990 taxIdIsNotNull?: boolean;
4965 } 4991 }
4966 4992
4967 -export interface TsgFile {  
4968 - absolute?: boolean;  
4969 - absoluteFile?: TsgFile;  
4970 - absolutePath?: string;  
4971 - canonicalFile?: TsgFile;  
4972 - canonicalPath?: string;  
4973 - directory?: boolean;  
4974 - executable?: boolean;  
4975 - file?: boolean;  
4976 - /** @format int64 */  
4977 - freeSpace?: number;  
4978 - hidden?: boolean;  
4979 - /** @format int64 */  
4980 - lastModified?: number;  
4981 - name?: string;  
4982 - parent?: string;  
4983 - parentFile?: TsgFile;  
4984 - path?: string;  
4985 - readable?: boolean;  
4986 - /** @format int64 */  
4987 - totalSpace?: number;  
4988 - /** @format int64 */  
4989 - usableSpace?: number;  
4990 - writable?: boolean;  
4991 -}  
4992 -  
4993 export interface InvoiceDetail { 4993 export interface InvoiceDetail {
4994 createByName?: string; 4994 createByName?: string;
4995 /** @format date-time */ 4995 /** @format date-time */
src/services/request.ts
@@ -74,6 +74,7 @@ import type { @@ -74,6 +74,7 @@ import type {
74 MeasureUnitListRes, 74 MeasureUnitListRes,
75 MergeIntegralDto, 75 MergeIntegralDto,
76 MessageQueryDTO, 76 MessageQueryDTO,
  77 + ModelAndView,
77 OrderAddVO, 78 OrderAddVO,
78 OrderAuditLogQueryVO, 79 OrderAuditLogQueryVO,
79 OrderBaseInfoQueryVO, 80 OrderBaseInfoQueryVO,
@@ -3834,9 +3835,7 @@ export interface GetErrorResponse { @@ -3834,9 +3835,7 @@ export interface GetErrorResponse {
3834 * @description 3835 * @description
3835 * OK 3836 * OK
3836 */ 3837 */
3837 - 200: {  
3838 - [propertyName: string]: any;  
3839 - }; 3838 + 200: ModelAndView;
3840 /** 3839 /**
3841 * @description 3840 * @description
3842 * Unauthorized 3841 * Unauthorized
@@ -3857,9 +3856,9 @@ export interface GetErrorResponse { @@ -3857,9 +3856,9 @@ export interface GetErrorResponse {
3857 export type GetErrorResponseSuccess = GetErrorResponse[200]; 3856 export type GetErrorResponseSuccess = GetErrorResponse[200];
3858 /** 3857 /**
3859 * @description 3858 * @description
3860 - * error 3859 + * errorHtml
3861 * @tags basic-error-controller 3860 * @tags basic-error-controller
3862 - * @produces * 3861 + * @produces text/html
3863 */ 3862 */
3864 export const getError = /* #__PURE__ */ (() => { 3863 export const getError = /* #__PURE__ */ (() => {
3865 const method = 'get'; 3864 const method = 'get';
@@ -3883,9 +3882,7 @@ export interface PutErrorResponse { @@ -3883,9 +3882,7 @@ export interface PutErrorResponse {
3883 * @description 3882 * @description
3884 * OK 3883 * OK
3885 */ 3884 */
3886 - 200: {  
3887 - [propertyName: string]: any;  
3888 - }; 3885 + 200: ModelAndView;
3889 /** 3886 /**
3890 * @description 3887 * @description
3891 * Created 3888 * Created
@@ -3911,9 +3908,9 @@ export interface PutErrorResponse { @@ -3911,9 +3908,9 @@ export interface PutErrorResponse {
3911 export type PutErrorResponseSuccess = PutErrorResponse[200]; 3908 export type PutErrorResponseSuccess = PutErrorResponse[200];
3912 /** 3909 /**
3913 * @description 3910 * @description
3914 - * error 3911 + * errorHtml
3915 * @tags basic-error-controller 3912 * @tags basic-error-controller
3916 - * @produces * 3913 + * @produces text/html
3917 * @consumes application/json 3914 * @consumes application/json
3918 */ 3915 */
3919 export const putError = /* #__PURE__ */ (() => { 3916 export const putError = /* #__PURE__ */ (() => {
@@ -3938,9 +3935,7 @@ export interface PostErrorResponse { @@ -3938,9 +3935,7 @@ export interface PostErrorResponse {
3938 * @description 3935 * @description
3939 * OK 3936 * OK
3940 */ 3937 */
3941 - 200: {  
3942 - [propertyName: string]: any;  
3943 - }; 3938 + 200: ModelAndView;
3944 /** 3939 /**
3945 * @description 3940 * @description
3946 * Created 3941 * Created
@@ -3966,9 +3961,9 @@ export interface PostErrorResponse { @@ -3966,9 +3961,9 @@ export interface PostErrorResponse {
3966 export type PostErrorResponseSuccess = PostErrorResponse[200]; 3961 export type PostErrorResponseSuccess = PostErrorResponse[200];
3967 /** 3962 /**
3968 * @description 3963 * @description
3969 - * error 3964 + * errorHtml
3970 * @tags basic-error-controller 3965 * @tags basic-error-controller
3971 - * @produces * 3966 + * @produces text/html
3972 * @consumes application/json 3967 * @consumes application/json
3973 */ 3968 */
3974 export const postError = /* #__PURE__ */ (() => { 3969 export const postError = /* #__PURE__ */ (() => {
@@ -3993,9 +3988,7 @@ export interface DeleteErrorResponse { @@ -3993,9 +3988,7 @@ export interface DeleteErrorResponse {
3993 * @description 3988 * @description
3994 * OK 3989 * OK
3995 */ 3990 */
3996 - 200: {  
3997 - [propertyName: string]: any;  
3998 - }; 3991 + 200: ModelAndView;
3999 /** 3992 /**
4000 * @description 3993 * @description
4001 * No Content 3994 * No Content
@@ -4016,9 +4009,9 @@ export interface DeleteErrorResponse { @@ -4016,9 +4009,9 @@ export interface DeleteErrorResponse {
4016 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200]; 4009 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
4017 /** 4010 /**
4018 * @description 4011 * @description
4019 - * error 4012 + * errorHtml
4020 * @tags basic-error-controller 4013 * @tags basic-error-controller
4021 - * @produces * 4014 + * @produces text/html
4022 */ 4015 */
4023 export const deleteError = /* #__PURE__ */ (() => { 4016 export const deleteError = /* #__PURE__ */ (() => {
4024 const method = 'delete'; 4017 const method = 'delete';
@@ -4042,9 +4035,7 @@ export interface OptionsErrorResponse { @@ -4042,9 +4035,7 @@ export interface OptionsErrorResponse {
4042 * @description 4035 * @description
4043 * OK 4036 * OK
4044 */ 4037 */
4045 - 200: {  
4046 - [propertyName: string]: any;  
4047 - }; 4038 + 200: ModelAndView;
4048 /** 4039 /**
4049 * @description 4040 * @description
4050 * No Content 4041 * No Content
@@ -4065,9 +4056,9 @@ export interface OptionsErrorResponse { @@ -4065,9 +4056,9 @@ export interface OptionsErrorResponse {
4065 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200]; 4056 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
4066 /** 4057 /**
4067 * @description 4058 * @description
4068 - * error 4059 + * errorHtml
4069 * @tags basic-error-controller 4060 * @tags basic-error-controller
4070 - * @produces * 4061 + * @produces text/html
4071 * @consumes application/json 4062 * @consumes application/json
4072 */ 4063 */
4073 export const optionsError = /* #__PURE__ */ (() => { 4064 export const optionsError = /* #__PURE__ */ (() => {
@@ -4092,9 +4083,7 @@ export interface HeadErrorResponse { @@ -4092,9 +4083,7 @@ export interface HeadErrorResponse {
4092 * @description 4083 * @description
4093 * OK 4084 * OK
4094 */ 4085 */
4095 - 200: {  
4096 - [propertyName: string]: any;  
4097 - }; 4086 + 200: ModelAndView;
4098 /** 4087 /**
4099 * @description 4088 * @description
4100 * No Content 4089 * No Content
@@ -4115,9 +4104,9 @@ export interface HeadErrorResponse { @@ -4115,9 +4104,9 @@ export interface HeadErrorResponse {
4115 export type HeadErrorResponseSuccess = HeadErrorResponse[200]; 4104 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
4116 /** 4105 /**
4117 * @description 4106 * @description
4118 - * error 4107 + * errorHtml
4119 * @tags basic-error-controller 4108 * @tags basic-error-controller
4120 - * @produces * 4109 + * @produces text/html
4121 * @consumes application/json 4110 * @consumes application/json
4122 */ 4111 */
4123 export const headError = /* #__PURE__ */ (() => { 4112 export const headError = /* #__PURE__ */ (() => {
@@ -4142,9 +4131,7 @@ export interface PatchErrorResponse { @@ -4142,9 +4131,7 @@ export interface PatchErrorResponse {
4142 * @description 4131 * @description
4143 * OK 4132 * OK
4144 */ 4133 */
4145 - 200: {  
4146 - [propertyName: string]: any;  
4147 - }; 4134 + 200: ModelAndView;
4148 /** 4135 /**
4149 * @description 4136 * @description
4150 * No Content 4137 * No Content
@@ -4165,9 +4152,9 @@ export interface PatchErrorResponse { @@ -4165,9 +4152,9 @@ export interface PatchErrorResponse {
4165 export type PatchErrorResponseSuccess = PatchErrorResponse[200]; 4152 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
4166 /** 4153 /**
4167 * @description 4154 * @description
4168 - * error 4155 + * errorHtml
4169 * @tags basic-error-controller 4156 * @tags basic-error-controller
4170 - * @produces * 4157 + * @produces text/html
4171 * @consumes application/json 4158 * @consumes application/json
4172 */ 4159 */
4173 export const patchError = /* #__PURE__ */ (() => { 4160 export const patchError = /* #__PURE__ */ (() => {
@@ -15311,6 +15298,77 @@ export const postResearchGroupsList = /* #__PURE__ */ (() =&gt; { @@ -15311,6 +15298,77 @@ export const postResearchGroupsList = /* #__PURE__ */ (() =&gt; {
15311 return request; 15298 return request;
15312 })(); 15299 })();
15313 15300
  15301 +/** @description request parameter type for postResearchGroupsListNotPage */
  15302 +export interface PostResearchGroupsListNotPageOption {
  15303 + /**
  15304 + * @description
  15305 + * request
  15306 + */
  15307 + body: {
  15308 + /**
  15309 + @description
  15310 + request */
  15311 + request: ResearchGroupListRequest;
  15312 + };
  15313 +}
  15314 +
  15315 +/** @description response type for postResearchGroupsListNotPage */
  15316 +export interface PostResearchGroupsListNotPageResponse {
  15317 + /**
  15318 + * @description
  15319 + * OK
  15320 + */
  15321 + 200: ServerResult;
  15322 + /**
  15323 + * @description
  15324 + * Created
  15325 + */
  15326 + 201: any;
  15327 + /**
  15328 + * @description
  15329 + * Unauthorized
  15330 + */
  15331 + 401: any;
  15332 + /**
  15333 + * @description
  15334 + * Forbidden
  15335 + */
  15336 + 403: any;
  15337 + /**
  15338 + * @description
  15339 + * Not Found
  15340 + */
  15341 + 404: any;
  15342 +}
  15343 +
  15344 +export type PostResearchGroupsListNotPageResponseSuccess =
  15345 + PostResearchGroupsListNotPageResponse[200];
  15346 +/**
  15347 + * @description
  15348 + * 课题组名称列表
  15349 + * @tags research-groups-controller
  15350 + * @produces *
  15351 + * @consumes application/json
  15352 + */
  15353 +export const postResearchGroupsListNotPage = /* #__PURE__ */ (() => {
  15354 + const method = 'post';
  15355 + const url = '/research/groups/listNotPage';
  15356 + function request(
  15357 + option: PostResearchGroupsListNotPageOption,
  15358 + ): Promise<PostResearchGroupsListNotPageResponseSuccess> {
  15359 + return requester(request.url, {
  15360 + method: request.method,
  15361 + ...option,
  15362 + }) as unknown as Promise<PostResearchGroupsListNotPageResponseSuccess>;
  15363 + }
  15364 +
  15365 + /** http method */
  15366 + request.method = method;
  15367 + /** request url */
  15368 + request.url = url;
  15369 + return request;
  15370 +})();
  15371 +
15314 /** @description request parameter type for postResearchGroupsMemberExists */ 15372 /** @description request parameter type for postResearchGroupsMemberExists */
15315 export interface PostResearchGroupsMemberExistsOption { 15373 export interface PostResearchGroupsMemberExistsOption {
15316 /** 15374 /**
@@ -21220,6 +21278,259 @@ export const postServiceOrderBatchCaculateAndSetIntegral = @@ -21220,6 +21278,259 @@ export const postServiceOrderBatchCaculateAndSetIntegral =
21220 return request; 21278 return request;
21221 })(); 21279 })();
21222 21280
  21281 +/** @description request parameter type for postServiceOrderBatchCaculateAndSetIntegralByMainIds */
  21282 +export interface PostServiceOrderBatchCaculateAndSetIntegralByMainIdsOption {
  21283 + /**
  21284 + * @description
  21285 + * ids
  21286 + */
  21287 + query: {
  21288 + /**
  21289 + @description
  21290 + ids */
  21291 + ids: Array<number>;
  21292 + };
  21293 +}
  21294 +
  21295 +/** @description response type for postServiceOrderBatchCaculateAndSetIntegralByMainIds */
  21296 +export interface PostServiceOrderBatchCaculateAndSetIntegralByMainIdsResponse {
  21297 + /**
  21298 + * @description
  21299 + * OK
  21300 + */
  21301 + 200: ServerResult;
  21302 + /**
  21303 + * @description
  21304 + * Created
  21305 + */
  21306 + 201: any;
  21307 + /**
  21308 + * @description
  21309 + * Unauthorized
  21310 + */
  21311 + 401: any;
  21312 + /**
  21313 + * @description
  21314 + * Forbidden
  21315 + */
  21316 + 403: any;
  21317 + /**
  21318 + * @description
  21319 + * Not Found
  21320 + */
  21321 + 404: any;
  21322 +}
  21323 +
  21324 +export type PostServiceOrderBatchCaculateAndSetIntegralByMainIdsResponseSuccess =
  21325 + PostServiceOrderBatchCaculateAndSetIntegralByMainIdsResponse[200];
  21326 +/**
  21327 + * @description
  21328 + * 计算积分
  21329 + * @tags 内部订单
  21330 + * @produces *
  21331 + * @consumes application/json
  21332 + */
  21333 +export const postServiceOrderBatchCaculateAndSetIntegralByMainIds =
  21334 + /* #__PURE__ */ (() => {
  21335 + const method = 'post';
  21336 + const url = '/service/order/batchCaculateAndSetIntegralByMainIds';
  21337 + function request(
  21338 + option: PostServiceOrderBatchCaculateAndSetIntegralByMainIdsOption,
  21339 + ): Promise<PostServiceOrderBatchCaculateAndSetIntegralByMainIdsResponseSuccess> {
  21340 + return requester(request.url, {
  21341 + method: request.method,
  21342 + ...option,
  21343 + }) as unknown as Promise<PostServiceOrderBatchCaculateAndSetIntegralByMainIdsResponseSuccess>;
  21344 + }
  21345 +
  21346 + /** http method */
  21347 + request.method = method;
  21348 + /** request url */
  21349 + request.url = url;
  21350 + return request;
  21351 + })();
  21352 +
  21353 +/** @description response type for postServiceOrderBatchCaculateAndSetPrePaidIntegral */
  21354 +export interface PostServiceOrderBatchCaculateAndSetPrePaidIntegralResponse {
  21355 + /**
  21356 + * @description
  21357 + * OK
  21358 + */
  21359 + 200: ServerResult;
  21360 + /**
  21361 + * @description
  21362 + * Created
  21363 + */
  21364 + 201: any;
  21365 + /**
  21366 + * @description
  21367 + * Unauthorized
  21368 + */
  21369 + 401: any;
  21370 + /**
  21371 + * @description
  21372 + * Forbidden
  21373 + */
  21374 + 403: any;
  21375 + /**
  21376 + * @description
  21377 + * Not Found
  21378 + */
  21379 + 404: any;
  21380 +}
  21381 +
  21382 +export type PostServiceOrderBatchCaculateAndSetPrePaidIntegralResponseSuccess =
  21383 + PostServiceOrderBatchCaculateAndSetPrePaidIntegralResponse[200];
  21384 +/**
  21385 + * @description
  21386 + * 计算积分
  21387 + * @tags 内部订单
  21388 + * @produces *
  21389 + * @consumes application/json
  21390 + */
  21391 +export const postServiceOrderBatchCaculateAndSetPrePaidIntegral =
  21392 + /* #__PURE__ */ (() => {
  21393 + const method = 'post';
  21394 + const url = '/service/order/batchCaculateAndSetPrePaidIntegral';
  21395 + function request(): Promise<PostServiceOrderBatchCaculateAndSetPrePaidIntegralResponseSuccess> {
  21396 + return requester(request.url, {
  21397 + method: request.method,
  21398 + }) as unknown as Promise<PostServiceOrderBatchCaculateAndSetPrePaidIntegralResponseSuccess>;
  21399 + }
  21400 +
  21401 + /** http method */
  21402 + request.method = method;
  21403 + /** request url */
  21404 + request.url = url;
  21405 + return request;
  21406 + })();
  21407 +
  21408 +/** @description response type for postServiceOrderBatchCaculateAndSetStoreIntegral */
  21409 +export interface PostServiceOrderBatchCaculateAndSetStoreIntegralResponse {
  21410 + /**
  21411 + * @description
  21412 + * OK
  21413 + */
  21414 + 200: ServerResult;
  21415 + /**
  21416 + * @description
  21417 + * Created
  21418 + */
  21419 + 201: any;
  21420 + /**
  21421 + * @description
  21422 + * Unauthorized
  21423 + */
  21424 + 401: any;
  21425 + /**
  21426 + * @description
  21427 + * Forbidden
  21428 + */
  21429 + 403: any;
  21430 + /**
  21431 + * @description
  21432 + * Not Found
  21433 + */
  21434 + 404: any;
  21435 +}
  21436 +
  21437 +export type PostServiceOrderBatchCaculateAndSetStoreIntegralResponseSuccess =
  21438 + PostServiceOrderBatchCaculateAndSetStoreIntegralResponse[200];
  21439 +/**
  21440 + * @description
  21441 + * 计算积分
  21442 + * @tags 内部订单
  21443 + * @produces *
  21444 + * @consumes application/json
  21445 + */
  21446 +export const postServiceOrderBatchCaculateAndSetStoreIntegral =
  21447 + /* #__PURE__ */ (() => {
  21448 + const method = 'post';
  21449 + const url = '/service/order/batchCaculateAndSetStoreIntegral';
  21450 + function request(): Promise<PostServiceOrderBatchCaculateAndSetStoreIntegralResponseSuccess> {
  21451 + return requester(request.url, {
  21452 + method: request.method,
  21453 + }) as unknown as Promise<PostServiceOrderBatchCaculateAndSetStoreIntegralResponseSuccess>;
  21454 + }
  21455 +
  21456 + /** http method */
  21457 + request.method = method;
  21458 + /** request url */
  21459 + request.url = url;
  21460 + return request;
  21461 + })();
  21462 +
  21463 +/** @description request parameter type for postServiceOrderBatchReceiveIntegral */
  21464 +export interface PostServiceOrderBatchReceiveIntegralOption {
  21465 + /**
  21466 + * @description
  21467 + * ids
  21468 + */
  21469 + query: {
  21470 + /**
  21471 + @description
  21472 + ids */
  21473 + ids: Array<number>;
  21474 + };
  21475 +}
  21476 +
  21477 +/** @description response type for postServiceOrderBatchReceiveIntegral */
  21478 +export interface PostServiceOrderBatchReceiveIntegralResponse {
  21479 + /**
  21480 + * @description
  21481 + * OK
  21482 + */
  21483 + 200: ServerResult;
  21484 + /**
  21485 + * @description
  21486 + * Created
  21487 + */
  21488 + 201: any;
  21489 + /**
  21490 + * @description
  21491 + * Unauthorized
  21492 + */
  21493 + 401: any;
  21494 + /**
  21495 + * @description
  21496 + * Forbidden
  21497 + */
  21498 + 403: any;
  21499 + /**
  21500 + * @description
  21501 + * Not Found
  21502 + */
  21503 + 404: any;
  21504 +}
  21505 +
  21506 +export type PostServiceOrderBatchReceiveIntegralResponseSuccess =
  21507 + PostServiceOrderBatchReceiveIntegralResponse[200];
  21508 +/**
  21509 + * @description
  21510 + * 计算积分
  21511 + * @tags 内部订单
  21512 + * @produces *
  21513 + * @consumes application/json
  21514 + */
  21515 +export const postServiceOrderBatchReceiveIntegral = /* #__PURE__ */ (() => {
  21516 + const method = 'post';
  21517 + const url = '/service/order/batchReceiveIntegral';
  21518 + function request(
  21519 + option: PostServiceOrderBatchReceiveIntegralOption,
  21520 + ): Promise<PostServiceOrderBatchReceiveIntegralResponseSuccess> {
  21521 + return requester(request.url, {
  21522 + method: request.method,
  21523 + ...option,
  21524 + }) as unknown as Promise<PostServiceOrderBatchReceiveIntegralResponseSuccess>;
  21525 + }
  21526 +
  21527 + /** http method */
  21528 + request.method = method;
  21529 + /** request url */
  21530 + request.url = url;
  21531 + return request;
  21532 +})();
  21533 +
21223 /** @description request parameter type for postServiceOrderCancelSend */ 21534 /** @description request parameter type for postServiceOrderCancelSend */
21224 export interface PostServiceOrderCancelSendOption { 21535 export interface PostServiceOrderCancelSendOption {
21225 /** 21536 /**