Commit 18b4faea22fa8abdecc7aafd86ca52f9c7056394

Authored by zhongnanhuang
2 parents 43a6ae3e f6ae1f17

feat: update

.umirc.ts
... ... @@ -86,6 +86,12 @@ export default defineConfig({
86 86 icon: 'BookOutlined',
87 87 access: 'canReadAdmin',
88 88 },
  89 + /*{
  90 + name: '客户管理',
  91 + path: '/client',
  92 + component: './Client',
  93 + icon: 'BookOutlined',
  94 + },*/
89 95 {
90 96 name: '打印',
91 97 path: '/print',
... ...
src/pages/Client/index.tsx 0 → 100644
  1 +import { EllipsisOutlined, PlusOutlined } from '@ant-design/icons';
  2 +import type { ActionType, ProColumns } from '@ant-design/pro-components';
  3 +import { ProTable, TableDropdown } from '@ant-design/pro-components';
  4 +import { request } from '@umijs/max';
  5 +import { Button, Dropdown, Space, Tag } from 'antd';
  6 +import { useRef } from 'react';
  7 +
  8 +export const waitTimePromise = async (time: number = 100) => {
  9 + return new Promise((resolve) => {
  10 + setTimeout(() => {
  11 + resolve(true);
  12 + }, time);
  13 + });
  14 +};
  15 +
  16 +export const waitTime = async (time: number = 100) => {
  17 + await waitTimePromise(time);
  18 +};
  19 +
  20 +type GithubIssueItem = {
  21 + url: string;
  22 + id: number;
  23 + number: number;
  24 + title: string;
  25 + labels: {
  26 + name: string;
  27 + color: string;
  28 + }[];
  29 + state: string;
  30 + comments: number;
  31 + created_at: string;
  32 + updated_at: string;
  33 + closed_at?: string;
  34 +};
  35 +
  36 +const columns: ProColumns<GithubIssueItem>[] = [
  37 + {
  38 + dataIndex: 'index',
  39 + valueType: 'indexBorder',
  40 + width: 48,
  41 + },
  42 + {
  43 + title: '标题',
  44 + dataIndex: 'title',
  45 + copyable: true,
  46 + ellipsis: true,
  47 + tooltip: '标题过长会自动收缩',
  48 + formItemProps: {
  49 + rules: [
  50 + {
  51 + required: true,
  52 + message: '此项为必填项',
  53 + },
  54 + ],
  55 + },
  56 + },
  57 + {
  58 + disable: true,
  59 + title: '状态',
  60 + dataIndex: 'state',
  61 + filters: true,
  62 + onFilter: true,
  63 + ellipsis: true,
  64 + valueType: 'select',
  65 + valueEnum: {
  66 + all: { text: '超长'.repeat(50) },
  67 + open: {
  68 + text: '未解决',
  69 + status: 'Error',
  70 + },
  71 + closed: {
  72 + text: '已解决',
  73 + status: 'Success',
  74 + disabled: true,
  75 + },
  76 + processing: {
  77 + text: '解决中',
  78 + status: 'Processing',
  79 + },
  80 + },
  81 + },
  82 + {
  83 + disable: true,
  84 + title: '标签',
  85 + dataIndex: 'labels',
  86 + search: false,
  87 + renderFormItem: (_, { defaultRender }) => {
  88 + return defaultRender(_);
  89 + },
  90 + render: (_, record) => (
  91 + <Space>
  92 + {record.labels.map(({ name, color }) => (
  93 + <Tag color={color} key={name}>
  94 + {name}
  95 + </Tag>
  96 + ))}
  97 + </Space>
  98 + ),
  99 + },
  100 + {
  101 + title: '创建时间',
  102 + key: 'showTime',
  103 + dataIndex: 'created_at',
  104 + valueType: 'date',
  105 + sorter: true,
  106 + hideInSearch: true,
  107 + },
  108 + {
  109 + title: '创建时间',
  110 + dataIndex: 'created_at',
  111 + valueType: 'dateRange',
  112 + hideInTable: true,
  113 + search: {
  114 + transform: (value) => {
  115 + return {
  116 + startTime: value[0],
  117 + endTime: value[1],
  118 + };
  119 + },
  120 + },
  121 + },
  122 + {
  123 + title: '操作',
  124 + valueType: 'option',
  125 + key: 'option',
  126 + render: (text, record, _, action) => [
  127 + <a
  128 + key="editable"
  129 + onClick={() => {
  130 + action?.startEditable?.(record.id);
  131 + }}
  132 + >
  133 + 编辑
  134 + </a>,
  135 + <a href={record.url} target="_blank" rel="noopener noreferrer" key="view">
  136 + 查看
  137 + </a>,
  138 + <TableDropdown
  139 + key="actionGroup"
  140 + onSelect={() => action?.reload()}
  141 + menus={[
  142 + { key: 'copy', name: '复制' },
  143 + { key: 'delete', name: '删除' },
  144 + ]}
  145 + />,
  146 + ],
  147 + },
  148 +];
  149 +
  150 +export default () => {
  151 + const actionRef = useRef<ActionType>();
  152 + return (
  153 + <ProTable<GithubIssueItem>
  154 + columns={columns}
  155 + actionRef={actionRef}
  156 + cardBordered
  157 + request={async (params, sort, filter) => {
  158 + console.log(sort, filter);
  159 + await waitTime(2000);
  160 + return request<{
  161 + data: GithubIssueItem[];
  162 + }>('https://proapi.azurewebsites.net/github/issues', {
  163 + params,
  164 + });
  165 + }}
  166 + editable={{
  167 + type: 'multiple',
  168 + }}
  169 + columnsState={{
  170 + persistenceKey: 'pro-table-singe-demos',
  171 + persistenceType: 'localStorage',
  172 + defaultValue: {
  173 + option: { fixed: 'right', disable: true },
  174 + },
  175 + onChange(value) {
  176 + console.log('value: ', value);
  177 + },
  178 + }}
  179 + rowKey="id"
  180 + search={{
  181 + labelWidth: 'auto',
  182 + }}
  183 + options={{
  184 + setting: {
  185 + listsHeight: 400,
  186 + },
  187 + }}
  188 + form={{
  189 + // 由于配置了 transform,提交的参与与定义的不同这里需要转化一下
  190 + syncToUrl: (values, type) => {
  191 + if (type === 'get') {
  192 + return {
  193 + ...values,
  194 + created_at: [values.startTime, values.endTime],
  195 + };
  196 + }
  197 + return values;
  198 + },
  199 + }}
  200 + pagination={{
  201 + pageSize: 5,
  202 + onChange: (page) => console.log(page),
  203 + }}
  204 + dateFormatter="string"
  205 + headerTitle="高级表格"
  206 + toolBarRender={() => [
  207 + <Button
  208 + key="button"
  209 + icon={<PlusOutlined />}
  210 + onClick={() => {
  211 + actionRef.current?.reload();
  212 + }}
  213 + type="primary"
  214 + >
  215 + 新建
  216 + </Button>,
  217 + <Dropdown
  218 + key="menu"
  219 + menu={{
  220 + items: [
  221 + {
  222 + label: '1st item',
  223 + key: '1',
  224 + },
  225 + {
  226 + label: '2nd item',
  227 + key: '1',
  228 + },
  229 + {
  230 + label: '3rd item',
  231 + key: '1',
  232 + },
  233 + ],
  234 + }}
  235 + >
  236 + <Button>
  237 + <EllipsisOutlined />
  238 + </Button>
  239 + </Dropdown>,
  240 + ]}
  241 + />
  242 + );
  243 +};
... ...
src/pages/Instalment/components/upload/uploadApp.tsx
... ... @@ -24,7 +24,7 @@ const App: React.FC = ({ uploadFile }) =&gt; {
24 24 <p className="ant-upload-text">点击或者拖动文件到此处</p>
25 25 </Dragger>
26 26 <a
27   - href="https://order-erp.oss-cn-qingdao.aliyuncs.com/%E5%88%86%E6%9C%9F%E4%BB%98%E6%AC%BE-%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx?Expires=2035527699&OSSAccessKeyId=LTAIZCPI7OaWud0m&Signature=npHyEhfRd6LugJ0St8OkvRmLYtQ%3D"
  27 + href="https://order-erp.oss-cn-qingdao.aliyuncs.com/%E5%88%86%E6%9C%9F%E4%BB%98%E6%AC%BE-%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx?Expires=2036232762&OSSAccessKeyId=LTAIZCPI7OaWud0m&Signature=rtc7LNVK9g3flXQeHdeGOXFOocY%3D"
28 28 className="modul-a"
29 29 >
30 30 下载模板
... ...
src/pages/Order/components/FinancialDrawer.tsx
1   -// import { PlusOutlined } from '@ant-design/icons';
2 1 import { RESPONSE_CODE } from '@/constants/enum';
3 2 import {
4 3 postServiceOrderEditOrder,
... ...
src/pages/Order/components/FinancialEditDrawer.tsx
1   -// import { PlusOutlined } from '@ant-design/icons';
2 1 import { RESPONSE_CODE } from '@/constants/enum';
3 2 import { postServiceOrderNoNeedInvoicingEdit } from '@/services';
4 3 import { enumToSelect } from '@/utils';
... ...
src/pages/Order/components/FinancialMergeDrawer.tsx
1   -// import { PlusOutlined } from '@ant-design/icons';
2 1 import { RESPONSE_CODE } from '@/constants/enum';
3 2 import { enumToSelect } from '@/utils';
4 3 import {
... ...
src/pages/Order/components/OrderDrawer copy.tsx
... ... @@ -647,6 +647,8 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
647 647 const res = await postKingdeeRepCustomer({
648 648 data: { search: keywords },
649 649 });
  650 + console.log(res);
  651 +
650 652 let options = res?.rows?.map((c: any) => {
651 653 return {
652 654 ...c,
... ...
src/pages/Order/components/OrderDrawer.tsx
... ... @@ -3,8 +3,10 @@ import {
3 3 postCanrdApiUserAddressList,
4 4 postCanrdApiUserDetail,
5 5 postCanrdApiUserNowMoneyCheck,
6   - postDistrictSelectBelongByName,
  6 + postDistrictAddOrderAndProvince,
7 7 postDistrictSelectByLevel,
  8 + postDistrictSelectByNameAndLevel,
  9 + postDistrictSelOrderProvince,
8 10 postKingdeeRepCustomerDetail,
9 11 postKingdeeRepMaterial,
10 12 postKingdeeRepMaterialUnit,
... ... @@ -17,15 +19,15 @@ import {
17 19 postServiceOrderUpdateOrder,
18 20 } from '@/services';
19 21 import {
  22 + enumToSelect,
20 23 FloatAdd,
21 24 FloatMul,
22   - enumToSelect,
23 25 getAliYunOSSFileNameFromUrl,
24 26 getUserInfo,
25 27 } from '@/utils';
26   -import { getDefaultString } from '@/utils/StringUtil';
27 28 import { getTeacherCustomFieldNumber } from '@/utils/kingdee';
28 29 import { getSalesCodeOptions } from '@/utils/order';
  30 +import { getDefaultString } from '@/utils/StringUtil';
29 31 import {
30 32 DrawerForm,
31 33 FormListActionType,
... ... @@ -38,7 +40,7 @@ import {
38 40 ProFormTextArea,
39 41 ProFormUploadDragger,
40 42 } from '@ant-design/pro-components';
41   -import { Button, Form, Modal, message } from 'antd';
  43 +import { Button, Form, message, Modal } from 'antd';
42 44 import { cloneDeep } from 'lodash';
43 45 import { useEffect, useRef, useState } from 'react';
44 46 import {
... ... @@ -879,6 +881,17 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
879 881 //新增
880 882 if (optType('add') || optType('copy')) {
881 883 res = await postServiceOrderAddOrder({ data: values });
  884 + if (res && res.data.length === 2) {
  885 + const orderMainProDo = {
  886 + oId: res.data[0],
  887 + province: province,
  888 + city: city,
  889 + district: district,
  890 + };
  891 + await postDistrictAddOrderAndProvince({
  892 + data: orderMainProDo,
  893 + });
  894 + }
882 895 }
883 896 //修改或者申请售后或者申请修改
884 897 if (
... ... @@ -1115,9 +1128,24 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1115 1128 key: c.id,
1116 1129 };
1117 1130 });
1118   - console.log(form.getFieldsValue());
1119   - console.log(form.getFieldValue('customerName'));
  1131 + console.log(form.getFieldValue('customerShippingAddress'));
  1132 + console.log(form.getFieldValue('id'));
  1133 + if (form.getFieldValue('id') !== undefined) {
  1134 + const resp = await postDistrictSelOrderProvince({
  1135 + data: form.getFieldValue('id'),
  1136 + });
  1137 + console.log();
  1138 +
  1139 + setProvince(resp.data.province);
  1140 + form.setFieldValue('province', resp.data.province);
  1141 + setCity(resp.data.city);
  1142 + form.setFieldValue('city', resp.data.city);
  1143 + setDistrict(resp.data.district);
  1144 + form.setFieldValue('district', resp.data.district);
  1145 + console.log(form.getFieldsValue());
  1146 + }
1120 1147 //判断如果是在修改或者复制,那么第一次请求的时候,默认生成当前收货人信息的option
  1148 +
1121 1149 let realName = form.getFieldValue('customerName');
1122 1150 let detail = form.getFieldValue('customerShippingAddress');
1123 1151 let institution = form.getFieldValue('institution');
... ... @@ -1195,11 +1223,14 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1195 1223 key="province"
1196 1224 width={100}
1197 1225 label="省"
  1226 + allowClear={false}
1198 1227 fieldProps={{
1199 1228 labelInValue: true,
1200 1229 }}
1201 1230 onChange={(value) => {
1202   - setProvince(value?.value);
  1231 + if (value !== undefined || value !== null) {
  1232 + setProvince(value?.value);
  1233 + }
1203 1234 }}
1204 1235 placeholder="请选择"
1205 1236 rules={[
... ... @@ -1224,13 +1255,16 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1224 1255 name="city"
1225 1256 width={100}
1226 1257 label="市"
  1258 + allowClear={false}
1227 1259 disabled={province === ''}
1228 1260 fieldProps={{
1229 1261 labelInValue: true,
1230 1262 }}
1231 1263 placeholder="请选择"
1232 1264 onChange={(value) => {
1233   - setCity(value?.value);
  1265 + if (value !== undefined || value !== null) {
  1266 + setCity(value?.value);
  1267 + }
1234 1268 }}
1235 1269 rules={[
1236 1270 {
... ... @@ -1241,8 +1275,8 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1241 1275 request={async () => {
1242 1276 if (province !== '') {
1243 1277 let cityOptions = [];
1244   - let res = await postDistrictSelectBelongByName({
1245   - data: province,
  1278 + let res = await postDistrictSelectByNameAndLevel({
  1279 + data: { district: province, level: 1 },
1246 1280 });
1247 1281 if (res && res.data) {
1248 1282 cityOptions = res.data.map((item) => ({
... ... @@ -1260,8 +1294,11 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1260 1294 name="district"
1261 1295 width={100}
1262 1296 label="区"
  1297 + allowClear={false}
1263 1298 onChange={(value) => {
1264   - setDistrict(value?.value);
  1299 + if (value !== undefined || value !== null) {
  1300 + setDistrict(value?.value);
  1301 + }
1265 1302 }}
1266 1303 disabled={city === ''}
1267 1304 fieldProps={{
... ... @@ -1275,9 +1312,13 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1275 1312 },
1276 1313 ]}
1277 1314 request={async () => {
  1315 + console.log(form.getFieldsValue());
  1316 +
1278 1317 if (city !== '') {
1279 1318 let districtOptions = [];
1280   - let res = await postDistrictSelectBelongByName({ data: city });
  1319 + let res = await postDistrictSelectByNameAndLevel({
  1320 + data: { district: city, level: 2 },
  1321 + });
1281 1322 if (res && res.data) {
1282 1323 districtOptions = res.data.map((item) => ({
1283 1324 value: item.district,
... ... @@ -1642,7 +1683,10 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1642 1683 optionItemRender(item) {
1643 1684 if (item.type === 'add') {
1644 1685 return (
1645   - <div title={item.name + '(新增商品信息)'}>
  1686 + <div
  1687 + style={{ fontSize: '11px' }}
  1688 + title={item.name + '(新增商品信息)'}
  1689 + >
1646 1690 <span style={{ color: '#333333' }}>
1647 1691 {item.label}
1648 1692 </span>
... ... @@ -1653,6 +1697,7 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1653 1697 }
1654 1698 return (
1655 1699 <div
  1700 + style={{ fontSize: '11px' }}
1656 1701 title={
1657 1702 item.label +
1658 1703 ' | ' +
... ... @@ -1686,6 +1731,8 @@ export default ({ onClose, data, subOrders, orderOptType }) =&gt; {
1686 1731 const res = await postKingdeeRepMaterial({
1687 1732 data: { search: keywords },
1688 1733 });
  1734 + console.log(res.customerShippingAddress);
  1735 +
1689 1736 let options = res?.rows?.map((p: any) => {
1690 1737 return {
1691 1738 ...p,
... ...
src/pages/Order/index.tsx
... ... @@ -7,6 +7,7 @@ import {
7 7 postKingdeeRepSalBillOutbound,
8 8 postKingdeeRepSalOrderSave,
9 9 postServiceOrderCancelSend,
  10 + postServiceOrderGetCurrentOptNode,
10 11 postServiceOrderNoNeedSend,
11 12 postServiceOrderOrderCancel,
12 13 postServiceOrderProcureOrder,
... ... @@ -66,6 +67,7 @@ import {
66 67 Popconfirm,
67 68 Radio,
68 69 Space,
  70 + Spin,
69 71 Tag,
70 72 Tooltip,
71 73 message,
... ... @@ -196,8 +198,18 @@ const OrderPage = () =&gt; {
196 198 setShippingWarehouseChangeModalVisible,
197 199 ] = useState(false);
198 200 const [ids, setIds] = useState([]);
  201 + const [recordOptNode, setRecordOptNode] = useState(null);
199 202 const roleCode = userInfo?.roleSmallVO?.code;
200 203  
  204 + const triggerRecordOptNode = async (id) => {
  205 + const res = await postServiceOrderGetCurrentOptNode({
  206 + query: {
  207 + id,
  208 + },
  209 + });
  210 + setRecordOptNode(res.data);
  211 + };
  212 +
201 213 const exportLoading = () => {
202 214 messageApi.open({
203 215 type: 'loading',
... ... @@ -1190,10 +1202,16 @@ const OrderPage = () =&gt; {
1190 1202 optRecord.modifiedAuditStatus !== 'AUDIT_FAILURE' ? (
1191 1203 <div className="overflow-hidden whitespace-no-wrap overflow-ellipsis">
1192 1204 <Tooltip
1193   - title={enumValueToLabel(
1194   - optRecord.modifiedAuditStatus,
1195   - MODIFIED_AUDIT_STATUS_OPTIONS,
1196   - )}
  1205 + title={recordOptNode ? recordOptNode : <Spin />}
  1206 + onOpenChange={(open) => {
  1207 + console.log('open:' + open);
  1208 + console.log('id:' + optRecord.id);
  1209 + if (open) {
  1210 + triggerRecordOptNode(optRecord.id);
  1211 + } else {
  1212 + setRecordOptNode(null);
  1213 + }
  1214 + }}
1197 1215 >
1198 1216 <Tag color={TAGS_COLOR.get(optRecord.modifiedAuditStatus)}>
1199 1217 {enumValueToLabel(
... ... @@ -1232,6 +1250,39 @@ const OrderPage = () =&gt; {
1232 1250 </div>
1233 1251 </Flex>
1234 1252 <Flex className="w-[18%]" wrap="wrap" gap="small">
  1253 + {optRecord.subPath?.includes('postAudit') ? (
  1254 + <Button
  1255 + className="p-0"
  1256 + type="link"
  1257 + onClick={() => {
  1258 + createOptObject(optRecord.id, record.id);
  1259 + setCheckVisible(true);
  1260 + setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
  1261 + }}
  1262 + >
  1263 + 后置审核
  1264 + </Button>
  1265 + ) : (
  1266 + ''
  1267 + )}
  1268 + {/* 加急审核 */}
  1269 + {optRecord.subPath?.includes('URGENT_INVOICE_AUDITING') ? (
  1270 + <Button
  1271 + className="p-0"
  1272 + type="link"
  1273 + onClick={() => {
  1274 + console.log('here');
  1275 + setCurrentMainId(record.id);
  1276 + setCurretnOptSubId(optRecord.id);
  1277 + setCheckVisible(true);
  1278 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
  1279 + }}
  1280 + >
  1281 + 加急审核
  1282 + </Button>
  1283 + ) : (
  1284 + ''
  1285 + )}
1235 1286 {optRecord.subPath?.includes('salesConfirm') && (
1236 1287 <ButtonConfirm
1237 1288 className="p-0"
... ... @@ -1351,41 +1402,6 @@ const OrderPage = () =&gt; {
1351 1402 ''
1352 1403 )}
1353 1404  
1354   - {/* 加急审核 */}
1355   - {optRecord.subPath?.includes('URGENT_INVOICE_AUDITING') ? (
1356   - <Button
1357   - className="p-0"
1358   - type="link"
1359   - onClick={() => {
1360   - console.log('here');
1361   - setCurrentMainId(record.id);
1362   - setCurretnOptSubId(optRecord.id);
1363   - setCheckVisible(true);
1364   - setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
1365   - }}
1366   - >
1367   - 加急审核
1368   - </Button>
1369   - ) : (
1370   - ''
1371   - )}
1372   -
1373   - {optRecord.subPath?.includes('postAudit') ? (
1374   - <Button
1375   - className="p-0"
1376   - type="link"
1377   - onClick={() => {
1378   - createOptObject(optRecord.id, record.id);
1379   - setCheckVisible(true);
1380   - setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
1381   - }}
1382   - >
1383   - 后置审核
1384   - </Button>
1385   - ) : (
1386   - ''
1387   - )}
1388   -
1389 1405 {optRecord.subPath?.includes('modifiedAuditRequest') ? (
1390 1406 <Button
1391 1407 className="p-0"
... ... @@ -1821,7 +1837,7 @@ const OrderPage = () =&gt; {
1821 1837 onClick={() => {
1822 1838 createOptObject(optRecord.id, record.id);
1823 1839 setOrderDrawerVisible(true);
1824   - setOrderOptType('after-sales');
  1840 + setOrderOptType('after_sales');
1825 1841 }}
1826 1842 >
1827 1843 申请售后
... ... @@ -2545,6 +2561,37 @@ const OrderPage = () =&gt; {
2545 2561 <Flex justify="flex-end">
2546 2562 <Space.Compact direction="vertical" align="end">
2547 2563 <Space wrap>
  2564 + {record.mainPath?.includes('postAudit') ? (
  2565 + <Button
  2566 + className="p-0"
  2567 + type="link"
  2568 + onClick={() => {
  2569 + setCurrentMainId(record.id);
  2570 + setCurretnOptSubId(null);
  2571 + setCheckVisible(true);
  2572 + setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
  2573 + }}
  2574 + >
  2575 + 后置审核
  2576 + </Button>
  2577 + ) : (
  2578 + ''
  2579 + )}
  2580 + {record.mainPath?.includes('URGENT_INVOICE_AUDITING') ? (
  2581 + <Button
  2582 + className="p-0"
  2583 + type="link"
  2584 + onClick={() => {
  2585 + createOptObject(null, record.id);
  2586 + setCheckVisible(true);
  2587 + setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
  2588 + }}
  2589 + >
  2590 + 加急审核
  2591 + </Button>
  2592 + ) : (
  2593 + ''
  2594 + )}
2548 2595 {record.mainPath?.includes('salesConfirm') && (
2549 2596 <ButtonConfirm
2550 2597 className="p-0"
... ... @@ -2607,22 +2654,6 @@ const OrderPage = () =&gt; {
2607 2654 ''
2608 2655 )}
2609 2656  
2610   - {record.mainPath?.includes('URGENT_INVOICE_AUDITING') ? (
2611   - <Button
2612   - className="p-0"
2613   - type="link"
2614   - onClick={() => {
2615   - createOptObject(null, record.id);
2616   - setCheckVisible(true);
2617   - setOrderCheckType(CHECK_TYPE.URGENT_INVOICE_AUDITING);
2618   - }}
2619   - >
2620   - 加急审核
2621   - </Button>
2622   - ) : (
2623   - ''
2624   - )}
2625   -
2626 2657 {record.mainPath?.includes('auditPaymentReceipt') ? (
2627 2658 <Button
2628 2659 className="p-0"
... ... @@ -2705,22 +2736,6 @@ const OrderPage = () =&gt; {
2705 2736 ) : (
2706 2737 ''
2707 2738 )}
2708   - {record.mainPath?.includes('postAudit') ? (
2709   - <Button
2710   - className="p-0"
2711   - type="link"
2712   - onClick={() => {
2713   - setCurrentMainId(record.id);
2714   - setCurretnOptSubId(null);
2715   - setCheckVisible(true);
2716   - setOrderCheckType(CHECK_TYPE.WAITING_FOR_POST_AUDIT);
2717   - }}
2718   - >
2719   - 后置审核
2720   - </Button>
2721   - ) : (
2722   - ''
2723   - )}
2724 2739  
2725 2740 {record.mainPath?.includes('procureOrder') ? (
2726 2741 <ButtonConfirm
... ...
src/pages/ResearchGroup/index.tsx
... ... @@ -489,9 +489,9 @@ const PrepaidPage = () =&gt; {
489 489 defaultValue: {
490 490 option: { fixed: 'right', disable: true },
491 491 },
492   - onChange(value) {
493   - console.log('value: ', value);
494   - },
  492 + // onChange(value) {
  493 + // console.log('value: ', value);
  494 + // },
495 495 }}
496 496 rowKey="id"
497 497 search={{
... ...
src/services/definition.ts
... ... @@ -83,6 +83,112 @@ export interface AdminAuthUserVO {
83 83 userId?: number;
84 84 }
85 85  
  86 +export interface AdminClientDto {
  87 + /**
  88 + * @description
  89 + * 市
  90 + */
  91 + city?: string;
  92 + /**
  93 + * @description
  94 + * 单位地址
  95 + */
  96 + companyAddress?: string;
  97 + companyId?: string;
  98 + /**
  99 + * @description
  100 + * 单位名称
  101 + */
  102 + companyName?: string;
  103 + contacts?: string;
  104 + createBy?: string;
  105 + /** @format date-time */
  106 + createTime?: string;
  107 + /**
  108 + * @description
  109 + * 区
  110 + */
  111 + district?: string;
  112 + /** @format int32 */
  113 + enableFlag?: number;
  114 + /**
  115 + * @description
  116 + * 是否已报方案
  117 + */
  118 + hasScheme?: boolean;
  119 + hasSchemeText?: string;
  120 + /** @format int64 */
  121 + id?: number;
  122 + /** @format date-time */
  123 + latestCommunicationTime?: string;
  124 + /**
  125 + * @description
  126 + * 客户等级
  127 + */
  128 + level?: string;
  129 + /**
  130 + * @description
  131 + * 客户等级
  132 + */
  133 + levelText?: string;
  134 + modifyBy?: string;
  135 + /** @format date-time */
  136 + modifyTime?: string;
  137 + /**
  138 + * @description
  139 + * 名称
  140 + */
  141 + name?: string;
  142 + /**
  143 + * @description
  144 + * 备注
  145 + */
  146 + notes?: string;
  147 + /**
  148 + * @description
  149 + * 电话号码
  150 + */
  151 + phoneNumber?: string;
  152 + /**
  153 + * @description
  154 + * 省
  155 + */
  156 + province?: string;
  157 + /**
  158 + * @description
  159 + * 报价时间
  160 + * @format date-time
  161 + */
  162 + quoteDatetime?: string;
  163 + /**
  164 + * @description
  165 + * 推荐人
  166 + */
  167 + referrers?: string;
  168 + /**
  169 + * @description
  170 + * 需求
  171 + */
  172 + requirements?: string;
  173 + /**
  174 + * @description
  175 + * 来源
  176 + */
  177 + source?: string;
  178 + /**
  179 + * @description
  180 + * 跟进状态
  181 + */
  182 + tradeStatus?: string;
  183 + /**
  184 + * @description
  185 + * 跟进状态
  186 + */
  187 + tradeStatusText?: string;
  188 + /** @format int32 */
  189 + version?: number;
  190 +}
  191 +
86 192 export interface AdminDeptQueryVO {
87 193 /** @format int32 */
88 194 current?: number;
... ... @@ -921,6 +1027,12 @@ export interface DistrictDo {
921 1027 pid?: number;
922 1028 }
923 1029  
  1030 +export interface DistrictSearchDo {
  1031 + district?: string;
  1032 + /** @format int32 */
  1033 + level?: number;
  1034 +}
  1035 +
924 1036 export interface Entry {
925 1037 bankAccount?: string;
926 1038 bankName?: string;
... ... @@ -1446,6 +1558,14 @@ export interface OrderInspectionStageVO {
1446 1558 value3?: string;
1447 1559 }
1448 1560  
  1561 +export interface OrderMainProDo {
  1562 + city?: string;
  1563 + district?: string;
  1564 + /** @format int64 */
  1565 + oid?: number;
  1566 + province?: string;
  1567 +}
  1568 +
1449 1569 export interface OrderOptLogQueryVO {
1450 1570 /** @format int32 */
1451 1571 current?: number;
... ... @@ -1796,6 +1916,52 @@ export interface QueryBankStatementDto {
1796 1916 total?: number;
1797 1917 }
1798 1918  
  1919 +export interface QueryClientDto {
  1920 + companyAddressLike?: string;
  1921 + companyIds?: Array<number>;
  1922 + companyNameLike?: string;
  1923 + /** @format date-time */
  1924 + createTimeGe?: string;
  1925 + /** @format date-time */
  1926 + createTimeLe?: string;
  1927 + /** @format int32 */
  1928 + current?: number;
  1929 + /** @format int32 */
  1930 + end?: number;
  1931 + hasScheme?: boolean;
  1932 + level?: string;
  1933 + namelike?: string;
  1934 + /** @format int32 */
  1935 + pageSize?: number;
  1936 + phoneNumber?: string;
  1937 + /** @format int32 */
  1938 + start?: number;
  1939 + /** @format int32 */
  1940 + total?: number;
  1941 + tradeStatus?: string;
  1942 +}
  1943 +
  1944 +export interface QueryCommunicationInfoDto {
  1945 + /** @format int64 */
  1946 + clientId?: number;
  1947 + content?: string;
  1948 + /** @format int32 */
  1949 + current?: number;
  1950 + /** @format date-time */
  1951 + datetime?: string;
  1952 + /** @format int32 */
  1953 + end?: number;
  1954 + /** @format int64 */
  1955 + id?: number;
  1956 + /** @format int32 */
  1957 + pageSize?: number;
  1958 + /** @format int32 */
  1959 + start?: number;
  1960 + /** @format int32 */
  1961 + total?: number;
  1962 + way?: string;
  1963 +}
  1964 +
1799 1965 export interface QueryCustomerInformationDto {
1800 1966 /**
1801 1967 * @description
... ... @@ -2565,6 +2731,36 @@ export interface ApiOrderConfirmReceiveRequest {
2565 2731 subOrderIds?: Array<number>;
2566 2732 }
2567 2733  
  2734 +export interface ClientCommunicationInfo {
  2735 + /** @format int64 */
  2736 + clientId?: number;
  2737 + /**
  2738 + * @description
  2739 + * 内容
  2740 + */
  2741 + content?: string;
  2742 + createByName?: string;
  2743 + /** @format date-time */
  2744 + createTime?: string;
  2745 + /**
  2746 + * @description
  2747 + * 跟进时间
  2748 + * @format date-time
  2749 + */
  2750 + datetime?: string;
  2751 + /** @format int64 */
  2752 + id?: number;
  2753 + logicDelete?: boolean;
  2754 + updateByName?: string;
  2755 + /** @format date-time */
  2756 + updateTime?: string;
  2757 + /**
  2758 + * @description
  2759 + * 方式
  2760 + */
  2761 + way?: string;
  2762 +}
  2763 +
2568 2764 export interface TsgFile {
2569 2765 absolute?: boolean;
2570 2766 absoluteFile?: TsgFile;
... ...
src/services/request.ts
... ... @@ -6,6 +6,7 @@ import { request as requester } from &#39;umi&#39;;
6 6 import type {
7 7 AdminAuthRoleVO,
8 8 AdminAuthUserVO,
  9 + AdminClientDto,
9 10 AdminDeptQueryVO,
10 11 AdminDeptVO,
11 12 AdminJobQueryVO,
... ... @@ -34,6 +35,7 @@ import type {
34 35 CancelInvoiceAndBankStatementDto,
35 36 CancelSendOrderDto,
36 37 CaptchaMessageVO,
  38 + ClientCommunicationInfo,
37 39 CommonAuditRequest,
38 40 CustomFieldRes,
39 41 CustomerCustomerListReq,
... ... @@ -44,6 +46,7 @@ import type {
44 46 DictionaryQueryVO,
45 47 DictionaryVO,
46 48 DistrictDo,
  49 + DistrictSearchDo,
47 50 Dto,
48 51 InventoryMaterialStockReq,
49 52 InvoiceDto,
... ... @@ -55,11 +58,11 @@ import type {
55 58 MaterialUnitListRes,
56 59 MeasureUnitListRes,
57 60 MessageQueryDTO,
58   - ModelAndView,
59 61 OrderAddVO,
60 62 OrderAuditLogQueryVO,
61 63 OrderBaseInfoQueryVO,
62 64 OrderFieldLockApplyQueryVO,
  65 + OrderMainProDo,
63 66 OrderOptLogQueryVO,
64 67 OrderProfitAnalysisVo,
65 68 OrderStagesDelDo,
... ... @@ -78,6 +81,8 @@ import type {
78 81 QueryAfterSalesInfoSnapshotDto,
79 82 QueryAnnexDto,
80 83 QueryBankStatementDto,
  84 + QueryClientDto,
  85 + QueryCommunicationInfoDto,
81 86 QueryCustomerInformationDto,
82 87 QueryHistoryRecordDto,
83 88 QueryInvoiceDetailDto,
... ... @@ -122,6 +127,705 @@ import type {
122 127 UserNowMoneyCheckRequest,
123 128 } from './definition';
124 129  
  130 +/** @description request parameter type for postAdminClientAddAdminClient */
  131 +export interface PostAdminClientAddAdminClientOption {
  132 + /**
  133 + * @description
  134 + * dto
  135 + */
  136 + body: {
  137 + /**
  138 + @description
  139 + dto */
  140 + dto: AdminClientDto;
  141 + };
  142 +}
  143 +
  144 +/** @description response type for postAdminClientAddAdminClient */
  145 +export interface PostAdminClientAddAdminClientResponse {
  146 + /**
  147 + * @description
  148 + * OK
  149 + */
  150 + 200: ServerResult;
  151 + /**
  152 + * @description
  153 + * Created
  154 + */
  155 + 201: any;
  156 + /**
  157 + * @description
  158 + * Unauthorized
  159 + */
  160 + 401: any;
  161 + /**
  162 + * @description
  163 + * Forbidden
  164 + */
  165 + 403: any;
  166 + /**
  167 + * @description
  168 + * Not Found
  169 + */
  170 + 404: any;
  171 +}
  172 +
  173 +export type PostAdminClientAddAdminClientResponseSuccess =
  174 + PostAdminClientAddAdminClientResponse[200];
  175 +/**
  176 + * @description
  177 + * 添加客户
  178 + * @tags 客户管理
  179 + * @produces *
  180 + * @consumes application/json
  181 + */
  182 +export const postAdminClientAddAdminClient = /* #__PURE__ */ (() => {
  183 + const method = 'post';
  184 + const url = '/admin/client/addAdminClient';
  185 + function request(
  186 + option: PostAdminClientAddAdminClientOption,
  187 + ): Promise<PostAdminClientAddAdminClientResponseSuccess> {
  188 + return requester(request.url, {
  189 + method: request.method,
  190 + ...option,
  191 + }) as unknown as Promise<PostAdminClientAddAdminClientResponseSuccess>;
  192 + }
  193 +
  194 + /** http method */
  195 + request.method = method;
  196 + /** request url */
  197 + request.url = url;
  198 + return request;
  199 +})();
  200 +
  201 +/** @description request parameter type for postAdminClientAddClientComunicationInfo */
  202 +export interface PostAdminClientAddClientComunicationInfoOption {
  203 + /**
  204 + * @description
  205 + * dto
  206 + */
  207 + body: {
  208 + /**
  209 + @description
  210 + dto */
  211 + dto: QueryCommunicationInfoDto;
  212 + };
  213 +}
  214 +
  215 +/** @description response type for postAdminClientAddClientComunicationInfo */
  216 +export interface PostAdminClientAddClientComunicationInfoResponse {
  217 + /**
  218 + * @description
  219 + * OK
  220 + */
  221 + 200: ServerResult;
  222 + /**
  223 + * @description
  224 + * Created
  225 + */
  226 + 201: any;
  227 + /**
  228 + * @description
  229 + * Unauthorized
  230 + */
  231 + 401: any;
  232 + /**
  233 + * @description
  234 + * Forbidden
  235 + */
  236 + 403: any;
  237 + /**
  238 + * @description
  239 + * Not Found
  240 + */
  241 + 404: any;
  242 +}
  243 +
  244 +export type PostAdminClientAddClientComunicationInfoResponseSuccess =
  245 + PostAdminClientAddClientComunicationInfoResponse[200];
  246 +/**
  247 + * @description
  248 + * 添加跟进信息
  249 + * @tags 客户管理
  250 + * @produces *
  251 + * @consumes application/json
  252 + */
  253 +export const postAdminClientAddClientComunicationInfo = /* #__PURE__ */ (() => {
  254 + const method = 'post';
  255 + const url = '/admin/client/addClientComunicationInfo';
  256 + function request(
  257 + option: PostAdminClientAddClientComunicationInfoOption,
  258 + ): Promise<PostAdminClientAddClientComunicationInfoResponseSuccess> {
  259 + return requester(request.url, {
  260 + method: request.method,
  261 + ...option,
  262 + }) as unknown as Promise<PostAdminClientAddClientComunicationInfoResponseSuccess>;
  263 + }
  264 +
  265 + /** http method */
  266 + request.method = method;
  267 + /** request url */
  268 + request.url = url;
  269 + return request;
  270 +})();
  271 +
  272 +/** @description request parameter type for postAdminClientAddOrModifyClientComunicationInfo */
  273 +export interface PostAdminClientAddOrModifyClientComunicationInfoOption {
  274 + /**
  275 + * @description
  276 + * dto
  277 + */
  278 + body: {
  279 + /**
  280 + @description
  281 + dto */
  282 + dto: ClientCommunicationInfo;
  283 + };
  284 +}
  285 +
  286 +/** @description response type for postAdminClientAddOrModifyClientComunicationInfo */
  287 +export interface PostAdminClientAddOrModifyClientComunicationInfoResponse {
  288 + /**
  289 + * @description
  290 + * OK
  291 + */
  292 + 200: ServerResult;
  293 + /**
  294 + * @description
  295 + * Created
  296 + */
  297 + 201: any;
  298 + /**
  299 + * @description
  300 + * Unauthorized
  301 + */
  302 + 401: any;
  303 + /**
  304 + * @description
  305 + * Forbidden
  306 + */
  307 + 403: any;
  308 + /**
  309 + * @description
  310 + * Not Found
  311 + */
  312 + 404: any;
  313 +}
  314 +
  315 +export type PostAdminClientAddOrModifyClientComunicationInfoResponseSuccess =
  316 + PostAdminClientAddOrModifyClientComunicationInfoResponse[200];
  317 +/**
  318 + * @description
  319 + * 修改跟进信息
  320 + * @tags 客户管理
  321 + * @produces *
  322 + * @consumes application/json
  323 + */
  324 +export const postAdminClientAddOrModifyClientComunicationInfo =
  325 + /* #__PURE__ */ (() => {
  326 + const method = 'post';
  327 + const url = '/admin/client/addOrModifyClientComunicationInfo';
  328 + function request(
  329 + option: PostAdminClientAddOrModifyClientComunicationInfoOption,
  330 + ): Promise<PostAdminClientAddOrModifyClientComunicationInfoResponseSuccess> {
  331 + return requester(request.url, {
  332 + method: request.method,
  333 + ...option,
  334 + }) as unknown as Promise<PostAdminClientAddOrModifyClientComunicationInfoResponseSuccess>;
  335 + }
  336 +
  337 + /** http method */
  338 + request.method = method;
  339 + /** request url */
  340 + request.url = url;
  341 + return request;
  342 + })();
  343 +
  344 +/** @description response type for postAdminClientDownloadImportTemplate */
  345 +export interface PostAdminClientDownloadImportTemplateResponse {
  346 + /**
  347 + * @description
  348 + * OK
  349 + */
  350 + 200: any;
  351 + /**
  352 + * @description
  353 + * Created
  354 + */
  355 + 201: any;
  356 + /**
  357 + * @description
  358 + * Unauthorized
  359 + */
  360 + 401: any;
  361 + /**
  362 + * @description
  363 + * Forbidden
  364 + */
  365 + 403: any;
  366 + /**
  367 + * @description
  368 + * Not Found
  369 + */
  370 + 404: any;
  371 +}
  372 +
  373 +export type PostAdminClientDownloadImportTemplateResponseSuccess =
  374 + PostAdminClientDownloadImportTemplateResponse[200];
  375 +/**
  376 + * @description
  377 + * 下载导入模板
  378 + * @tags 客户管理
  379 + * @produces *
  380 + * @consumes application/json
  381 + */
  382 +export const postAdminClientDownloadImportTemplate = /* #__PURE__ */ (() => {
  383 + const method = 'post';
  384 + const url = '/admin/client/downloadImportTemplate';
  385 + function request(): Promise<PostAdminClientDownloadImportTemplateResponseSuccess> {
  386 + return requester(request.url, {
  387 + method: request.method,
  388 + }) as unknown as Promise<PostAdminClientDownloadImportTemplateResponseSuccess>;
  389 + }
  390 +
  391 + /** http method */
  392 + request.method = method;
  393 + /** request url */
  394 + request.url = url;
  395 + return request;
  396 +})();
  397 +
  398 +/** @description request parameter type for postAdminClientExportClients */
  399 +export interface PostAdminClientExportClientsOption {
  400 + /**
  401 + * @description
  402 + * dto
  403 + */
  404 + body: {
  405 + /**
  406 + @description
  407 + dto */
  408 + dto: QueryClientDto;
  409 + };
  410 +}
  411 +
  412 +/** @description response type for postAdminClientExportClients */
  413 +export interface PostAdminClientExportClientsResponse {
  414 + /**
  415 + * @description
  416 + * OK
  417 + */
  418 + 200: any;
  419 + /**
  420 + * @description
  421 + * Created
  422 + */
  423 + 201: any;
  424 + /**
  425 + * @description
  426 + * Unauthorized
  427 + */
  428 + 401: any;
  429 + /**
  430 + * @description
  431 + * Forbidden
  432 + */
  433 + 403: any;
  434 + /**
  435 + * @description
  436 + * Not Found
  437 + */
  438 + 404: any;
  439 +}
  440 +
  441 +export type PostAdminClientExportClientsResponseSuccess =
  442 + PostAdminClientExportClientsResponse[200];
  443 +/**
  444 + * @description
  445 + * 导出客户信息
  446 + * @tags 客户管理
  447 + * @produces *
  448 + * @consumes application/json
  449 + */
  450 +export const postAdminClientExportClients = /* #__PURE__ */ (() => {
  451 + const method = 'post';
  452 + const url = '/admin/client/exportClients';
  453 + function request(
  454 + option: PostAdminClientExportClientsOption,
  455 + ): Promise<PostAdminClientExportClientsResponseSuccess> {
  456 + return requester(request.url, {
  457 + method: request.method,
  458 + ...option,
  459 + }) as unknown as Promise<PostAdminClientExportClientsResponseSuccess>;
  460 + }
  461 +
  462 + /** http method */
  463 + request.method = method;
  464 + /** request url */
  465 + request.url = url;
  466 + return request;
  467 +})();
  468 +
  469 +/** @description request parameter type for postAdminClientImportClient */
  470 +export interface PostAdminClientImportClientOption {
  471 + /**
  472 + * @description
  473 + * file
  474 + */
  475 + formData: {
  476 + /**
  477 + @description
  478 + file */
  479 + file: File;
  480 + };
  481 +}
  482 +
  483 +/** @description response type for postAdminClientImportClient */
  484 +export interface PostAdminClientImportClientResponse {
  485 + /**
  486 + * @description
  487 + * OK
  488 + */
  489 + 200: ServerResult;
  490 + /**
  491 + * @description
  492 + * Created
  493 + */
  494 + 201: any;
  495 + /**
  496 + * @description
  497 + * Unauthorized
  498 + */
  499 + 401: any;
  500 + /**
  501 + * @description
  502 + * Forbidden
  503 + */
  504 + 403: any;
  505 + /**
  506 + * @description
  507 + * Not Found
  508 + */
  509 + 404: any;
  510 +}
  511 +
  512 +export type PostAdminClientImportClientResponseSuccess =
  513 + PostAdminClientImportClientResponse[200];
  514 +/**
  515 + * @description
  516 + * 导入客户
  517 + * @tags 客户管理
  518 + * @produces *
  519 + * @consumes multipart/form-data
  520 + */
  521 +export const postAdminClientImportClient = /* #__PURE__ */ (() => {
  522 + const method = 'post';
  523 + const url = '/admin/client/importClient';
  524 + function request(
  525 + option: PostAdminClientImportClientOption,
  526 + ): Promise<PostAdminClientImportClientResponseSuccess> {
  527 + return requester(request.url, {
  528 + method: request.method,
  529 + ...option,
  530 + }) as unknown as Promise<PostAdminClientImportClientResponseSuccess>;
  531 + }
  532 +
  533 + /** http method */
  534 + request.method = method;
  535 + /** request url */
  536 + request.url = url;
  537 + return request;
  538 +})();
  539 +
  540 +/** @description request parameter type for postAdminClientModifyClientComunicationInfo */
  541 +export interface PostAdminClientModifyClientComunicationInfoOption {
  542 + /**
  543 + * @description
  544 + * dto
  545 + */
  546 + body: {
  547 + /**
  548 + @description
  549 + dto */
  550 + dto: QueryCommunicationInfoDto;
  551 + };
  552 +}
  553 +
  554 +/** @description response type for postAdminClientModifyClientComunicationInfo */
  555 +export interface PostAdminClientModifyClientComunicationInfoResponse {
  556 + /**
  557 + * @description
  558 + * OK
  559 + */
  560 + 200: ServerResult;
  561 + /**
  562 + * @description
  563 + * Created
  564 + */
  565 + 201: any;
  566 + /**
  567 + * @description
  568 + * Unauthorized
  569 + */
  570 + 401: any;
  571 + /**
  572 + * @description
  573 + * Forbidden
  574 + */
  575 + 403: any;
  576 + /**
  577 + * @description
  578 + * Not Found
  579 + */
  580 + 404: any;
  581 +}
  582 +
  583 +export type PostAdminClientModifyClientComunicationInfoResponseSuccess =
  584 + PostAdminClientModifyClientComunicationInfoResponse[200];
  585 +/**
  586 + * @description
  587 + * 修改跟进信息
  588 + * @tags 客户管理
  589 + * @produces *
  590 + * @consumes application/json
  591 + */
  592 +export const postAdminClientModifyClientComunicationInfo =
  593 + /* #__PURE__ */ (() => {
  594 + const method = 'post';
  595 + const url = '/admin/client/modifyClientComunicationInfo';
  596 + function request(
  597 + option: PostAdminClientModifyClientComunicationInfoOption,
  598 + ): Promise<PostAdminClientModifyClientComunicationInfoResponseSuccess> {
  599 + return requester(request.url, {
  600 + method: request.method,
  601 + ...option,
  602 + }) as unknown as Promise<PostAdminClientModifyClientComunicationInfoResponseSuccess>;
  603 + }
  604 +
  605 + /** http method */
  606 + request.method = method;
  607 + /** request url */
  608 + request.url = url;
  609 + return request;
  610 + })();
  611 +
  612 +/** @description request parameter type for postAdminClientQueryClientComunicationInfo */
  613 +export interface PostAdminClientQueryClientComunicationInfoOption {
  614 + /**
  615 + * @description
  616 + * dto
  617 + */
  618 + body: {
  619 + /**
  620 + @description
  621 + dto */
  622 + dto: QueryCommunicationInfoDto;
  623 + };
  624 +}
  625 +
  626 +/** @description response type for postAdminClientQueryClientComunicationInfo */
  627 +export interface PostAdminClientQueryClientComunicationInfoResponse {
  628 + /**
  629 + * @description
  630 + * OK
  631 + */
  632 + 200: ServerResult;
  633 + /**
  634 + * @description
  635 + * Created
  636 + */
  637 + 201: any;
  638 + /**
  639 + * @description
  640 + * Unauthorized
  641 + */
  642 + 401: any;
  643 + /**
  644 + * @description
  645 + * Forbidden
  646 + */
  647 + 403: any;
  648 + /**
  649 + * @description
  650 + * Not Found
  651 + */
  652 + 404: any;
  653 +}
  654 +
  655 +export type PostAdminClientQueryClientComunicationInfoResponseSuccess =
  656 + PostAdminClientQueryClientComunicationInfoResponse[200];
  657 +/**
  658 + * @description
  659 + * 获取跟进信息
  660 + * @tags 客户管理
  661 + * @produces *
  662 + * @consumes application/json
  663 + */
  664 +export const postAdminClientQueryClientComunicationInfo =
  665 + /* #__PURE__ */ (() => {
  666 + const method = 'post';
  667 + const url = '/admin/client/queryClientComunicationInfo';
  668 + function request(
  669 + option: PostAdminClientQueryClientComunicationInfoOption,
  670 + ): Promise<PostAdminClientQueryClientComunicationInfoResponseSuccess> {
  671 + return requester(request.url, {
  672 + method: request.method,
  673 + ...option,
  674 + }) as unknown as Promise<PostAdminClientQueryClientComunicationInfoResponseSuccess>;
  675 + }
  676 +
  677 + /** http method */
  678 + request.method = method;
  679 + /** request url */
  680 + request.url = url;
  681 + return request;
  682 + })();
  683 +
  684 +/** @description request parameter type for postAdminClientQueryClientPage */
  685 +export interface PostAdminClientQueryClientPageOption {
  686 + /**
  687 + * @description
  688 + * dto
  689 + */
  690 + body: {
  691 + /**
  692 + @description
  693 + dto */
  694 + dto: QueryClientDto;
  695 + };
  696 +}
  697 +
  698 +/** @description response type for postAdminClientQueryClientPage */
  699 +export interface PostAdminClientQueryClientPageResponse {
  700 + /**
  701 + * @description
  702 + * OK
  703 + */
  704 + 200: ServerResult;
  705 + /**
  706 + * @description
  707 + * Created
  708 + */
  709 + 201: any;
  710 + /**
  711 + * @description
  712 + * Unauthorized
  713 + */
  714 + 401: any;
  715 + /**
  716 + * @description
  717 + * Forbidden
  718 + */
  719 + 403: any;
  720 + /**
  721 + * @description
  722 + * Not Found
  723 + */
  724 + 404: any;
  725 +}
  726 +
  727 +export type PostAdminClientQueryClientPageResponseSuccess =
  728 + PostAdminClientQueryClientPageResponse[200];
  729 +/**
  730 + * @description
  731 + * 客户管理
  732 + * @tags 客户管理
  733 + * @produces *
  734 + * @consumes application/json
  735 + */
  736 +export const postAdminClientQueryClientPage = /* #__PURE__ */ (() => {
  737 + const method = 'post';
  738 + const url = '/admin/client/queryClientPage';
  739 + function request(
  740 + option: PostAdminClientQueryClientPageOption,
  741 + ): Promise<PostAdminClientQueryClientPageResponseSuccess> {
  742 + return requester(request.url, {
  743 + method: request.method,
  744 + ...option,
  745 + }) as unknown as Promise<PostAdminClientQueryClientPageResponseSuccess>;
  746 + }
  747 +
  748 + /** http method */
  749 + request.method = method;
  750 + /** request url */
  751 + request.url = url;
  752 + return request;
  753 +})();
  754 +
  755 +/** @description request parameter type for postAdminClientRemoveClientComunicationInfo */
  756 +export interface PostAdminClientRemoveClientComunicationInfoOption {
  757 + /**
  758 + * @description
  759 + * id
  760 + * @format int64
  761 + */
  762 + query?: {
  763 + /**
  764 + @description
  765 + id
  766 + @format int64 */
  767 + id?: number;
  768 + };
  769 +}
  770 +
  771 +/** @description response type for postAdminClientRemoveClientComunicationInfo */
  772 +export interface PostAdminClientRemoveClientComunicationInfoResponse {
  773 + /**
  774 + * @description
  775 + * OK
  776 + */
  777 + 200: ServerResult;
  778 + /**
  779 + * @description
  780 + * Created
  781 + */
  782 + 201: any;
  783 + /**
  784 + * @description
  785 + * Unauthorized
  786 + */
  787 + 401: any;
  788 + /**
  789 + * @description
  790 + * Forbidden
  791 + */
  792 + 403: any;
  793 + /**
  794 + * @description
  795 + * Not Found
  796 + */
  797 + 404: any;
  798 +}
  799 +
  800 +export type PostAdminClientRemoveClientComunicationInfoResponseSuccess =
  801 + PostAdminClientRemoveClientComunicationInfoResponse[200];
  802 +/**
  803 + * @description
  804 + * 删除跟进信息
  805 + * @tags 客户管理
  806 + * @produces *
  807 + * @consumes application/json
  808 + */
  809 +export const postAdminClientRemoveClientComunicationInfo =
  810 + /* #__PURE__ */ (() => {
  811 + const method = 'post';
  812 + const url = '/admin/client/removeClientComunicationInfo';
  813 + function request(
  814 + option?: PostAdminClientRemoveClientComunicationInfoOption,
  815 + ): Promise<PostAdminClientRemoveClientComunicationInfoResponseSuccess> {
  816 + return requester(request.url, {
  817 + method: request.method,
  818 + ...option,
  819 + }) as unknown as Promise<PostAdminClientRemoveClientComunicationInfoResponseSuccess>;
  820 + }
  821 +
  822 + /** http method */
  823 + request.method = method;
  824 + /** request url */
  825 + request.url = url;
  826 + return request;
  827 + })();
  828 +
125 829 /** @description request parameter type for postApiLocalStorageUpload */
126 830 export interface PostApiLocalStorageUploadOption {
127 831 /**
... ... @@ -1766,6 +2470,220 @@ export const postCommonAudit = /* #__PURE__ */ (() =&gt; {
1766 2470 return request;
1767 2471 })();
1768 2472  
  2473 +/** @description request parameter type for postDistrictAddOrderAndProvince */
  2474 +export interface PostDistrictAddOrderAndProvinceOption {
  2475 + /**
  2476 + * @description
  2477 + * orderMainProDo
  2478 + */
  2479 + body: {
  2480 + /**
  2481 + @description
  2482 + orderMainProDo */
  2483 + orderMainProDo: OrderMainProDo;
  2484 + };
  2485 +}
  2486 +
  2487 +/** @description response type for postDistrictAddOrderAndProvince */
  2488 +export interface PostDistrictAddOrderAndProvinceResponse {
  2489 + /**
  2490 + * @description
  2491 + * OK
  2492 + */
  2493 + 200: ServerResult;
  2494 + /**
  2495 + * @description
  2496 + * Created
  2497 + */
  2498 + 201: any;
  2499 + /**
  2500 + * @description
  2501 + * Unauthorized
  2502 + */
  2503 + 401: any;
  2504 + /**
  2505 + * @description
  2506 + * Forbidden
  2507 + */
  2508 + 403: any;
  2509 + /**
  2510 + * @description
  2511 + * Not Found
  2512 + */
  2513 + 404: any;
  2514 +}
  2515 +
  2516 +export type PostDistrictAddOrderAndProvinceResponseSuccess =
  2517 + PostDistrictAddOrderAndProvinceResponse[200];
  2518 +/**
  2519 + * @description
  2520 + * 添加到订单省市区关系表
  2521 + * @tags order-district-controller
  2522 + * @produces *
  2523 + * @consumes application/json
  2524 + */
  2525 +export const postDistrictAddOrderAndProvince = /* #__PURE__ */ (() => {
  2526 + const method = 'post';
  2527 + const url = '/district/addOrderAndProvince';
  2528 + function request(
  2529 + option: PostDistrictAddOrderAndProvinceOption,
  2530 + ): Promise<PostDistrictAddOrderAndProvinceResponseSuccess> {
  2531 + return requester(request.url, {
  2532 + method: request.method,
  2533 + ...option,
  2534 + }) as unknown as Promise<PostDistrictAddOrderAndProvinceResponseSuccess>;
  2535 + }
  2536 +
  2537 + /** http method */
  2538 + request.method = method;
  2539 + /** request url */
  2540 + request.url = url;
  2541 + return request;
  2542 +})();
  2543 +
  2544 +/** @description request parameter type for postDistrictFindProvinceAndCityAndDistrict */
  2545 +export interface PostDistrictFindProvinceAndCityAndDistrictOption {
  2546 + /**
  2547 + * @description
  2548 + * str
  2549 + */
  2550 + body: {
  2551 + /**
  2552 + @description
  2553 + str */
  2554 + str: string;
  2555 + };
  2556 +}
  2557 +
  2558 +/** @description response type for postDistrictFindProvinceAndCityAndDistrict */
  2559 +export interface PostDistrictFindProvinceAndCityAndDistrictResponse {
  2560 + /**
  2561 + * @description
  2562 + * OK
  2563 + */
  2564 + 200: ServerResult;
  2565 + /**
  2566 + * @description
  2567 + * Created
  2568 + */
  2569 + 201: any;
  2570 + /**
  2571 + * @description
  2572 + * Unauthorized
  2573 + */
  2574 + 401: any;
  2575 + /**
  2576 + * @description
  2577 + * Forbidden
  2578 + */
  2579 + 403: any;
  2580 + /**
  2581 + * @description
  2582 + * Not Found
  2583 + */
  2584 + 404: any;
  2585 +}
  2586 +
  2587 +export type PostDistrictFindProvinceAndCityAndDistrictResponseSuccess =
  2588 + PostDistrictFindProvinceAndCityAndDistrictResponse[200];
  2589 +/**
  2590 + * @description
  2591 + * 读取字符串中的数据
  2592 + * @tags order-district-controller
  2593 + * @produces *
  2594 + * @consumes application/json
  2595 + */
  2596 +export const postDistrictFindProvinceAndCityAndDistrict =
  2597 + /* #__PURE__ */ (() => {
  2598 + const method = 'post';
  2599 + const url = '/district/findProvinceAndCityAndDistrict';
  2600 + function request(
  2601 + option: PostDistrictFindProvinceAndCityAndDistrictOption,
  2602 + ): Promise<PostDistrictFindProvinceAndCityAndDistrictResponseSuccess> {
  2603 + return requester(request.url, {
  2604 + method: request.method,
  2605 + ...option,
  2606 + }) as unknown as Promise<PostDistrictFindProvinceAndCityAndDistrictResponseSuccess>;
  2607 + }
  2608 +
  2609 + /** http method */
  2610 + request.method = method;
  2611 + /** request url */
  2612 + request.url = url;
  2613 + return request;
  2614 + })();
  2615 +
  2616 +/** @description request parameter type for postDistrictSelOrderProvince */
  2617 +export interface PostDistrictSelOrderProvinceOption {
  2618 + /**
  2619 + * @description
  2620 + * oId
  2621 + */
  2622 + body: {
  2623 + /**
  2624 + @description
  2625 + oId */
  2626 + oId: number;
  2627 + };
  2628 +}
  2629 +
  2630 +/** @description response type for postDistrictSelOrderProvince */
  2631 +export interface PostDistrictSelOrderProvinceResponse {
  2632 + /**
  2633 + * @description
  2634 + * OK
  2635 + */
  2636 + 200: ServerResult;
  2637 + /**
  2638 + * @description
  2639 + * Created
  2640 + */
  2641 + 201: any;
  2642 + /**
  2643 + * @description
  2644 + * Unauthorized
  2645 + */
  2646 + 401: any;
  2647 + /**
  2648 + * @description
  2649 + * Forbidden
  2650 + */
  2651 + 403: any;
  2652 + /**
  2653 + * @description
  2654 + * Not Found
  2655 + */
  2656 + 404: any;
  2657 +}
  2658 +
  2659 +export type PostDistrictSelOrderProvinceResponseSuccess =
  2660 + PostDistrictSelOrderProvinceResponse[200];
  2661 +/**
  2662 + * @description
  2663 + * 查询订单的省市区
  2664 + * @tags order-district-controller
  2665 + * @produces *
  2666 + * @consumes application/json
  2667 + */
  2668 +export const postDistrictSelOrderProvince = /* #__PURE__ */ (() => {
  2669 + const method = 'post';
  2670 + const url = '/district/selOrderProvince';
  2671 + function request(
  2672 + option: PostDistrictSelOrderProvinceOption,
  2673 + ): Promise<PostDistrictSelOrderProvinceResponseSuccess> {
  2674 + return requester(request.url, {
  2675 + method: request.method,
  2676 + ...option,
  2677 + }) as unknown as Promise<PostDistrictSelOrderProvinceResponseSuccess>;
  2678 + }
  2679 +
  2680 + /** http method */
  2681 + request.method = method;
  2682 + /** request url */
  2683 + request.url = url;
  2684 + return request;
  2685 +})();
  2686 +
1769 2687 /** @description response type for getDistrictSelectAll */
1770 2688 export interface GetDistrictSelectAllResponse {
1771 2689 /**
... ... @@ -1970,8 +2888,79 @@ export interface PostDistrictSelectBelongByNameOption {
1970 2888 };
1971 2889 }
1972 2890  
1973   -/** @description response type for postDistrictSelectBelongByName */
1974   -export interface PostDistrictSelectBelongByNameResponse {
  2891 +/** @description response type for postDistrictSelectBelongByName */
  2892 +export interface PostDistrictSelectBelongByNameResponse {
  2893 + /**
  2894 + * @description
  2895 + * OK
  2896 + */
  2897 + 200: ServerResult;
  2898 + /**
  2899 + * @description
  2900 + * Created
  2901 + */
  2902 + 201: any;
  2903 + /**
  2904 + * @description
  2905 + * Unauthorized
  2906 + */
  2907 + 401: any;
  2908 + /**
  2909 + * @description
  2910 + * Forbidden
  2911 + */
  2912 + 403: any;
  2913 + /**
  2914 + * @description
  2915 + * Not Found
  2916 + */
  2917 + 404: any;
  2918 +}
  2919 +
  2920 +export type PostDistrictSelectBelongByNameResponseSuccess =
  2921 + PostDistrictSelectBelongByNameResponse[200];
  2922 +/**
  2923 + * @description
  2924 + * 根据父级名字进行筛选
  2925 + * @tags order-district-controller
  2926 + * @produces *
  2927 + * @consumes application/json
  2928 + */
  2929 +export const postDistrictSelectBelongByName = /* #__PURE__ */ (() => {
  2930 + const method = 'post';
  2931 + const url = '/district/selectBelongByName';
  2932 + function request(
  2933 + option: PostDistrictSelectBelongByNameOption,
  2934 + ): Promise<PostDistrictSelectBelongByNameResponseSuccess> {
  2935 + return requester(request.url, {
  2936 + method: request.method,
  2937 + ...option,
  2938 + }) as unknown as Promise<PostDistrictSelectBelongByNameResponseSuccess>;
  2939 + }
  2940 +
  2941 + /** http method */
  2942 + request.method = method;
  2943 + /** request url */
  2944 + request.url = url;
  2945 + return request;
  2946 +})();
  2947 +
  2948 +/** @description request parameter type for postDistrictSelectByLevel */
  2949 +export interface PostDistrictSelectByLevelOption {
  2950 + /**
  2951 + * @description
  2952 + * level
  2953 + */
  2954 + body: {
  2955 + /**
  2956 + @description
  2957 + level */
  2958 + level: number;
  2959 + };
  2960 +}
  2961 +
  2962 +/** @description response type for postDistrictSelectByLevel */
  2963 +export interface PostDistrictSelectByLevelResponse {
1975 2964 /**
1976 2965 * @description
1977 2966 * OK
... ... @@ -1999,25 +2988,25 @@ export interface PostDistrictSelectBelongByNameResponse {
1999 2988 404: any;
2000 2989 }
2001 2990  
2002   -export type PostDistrictSelectBelongByNameResponseSuccess =
2003   - PostDistrictSelectBelongByNameResponse[200];
  2991 +export type PostDistrictSelectByLevelResponseSuccess =
  2992 + PostDistrictSelectByLevelResponse[200];
2004 2993 /**
2005 2994 * @description
2006   - * 根据父级名字进行筛选
  2995 + * 根据等级查询
2007 2996 * @tags order-district-controller
2008 2997 * @produces *
2009 2998 * @consumes application/json
2010 2999 */
2011   -export const postDistrictSelectBelongByName = /* #__PURE__ */ (() => {
  3000 +export const postDistrictSelectByLevel = /* #__PURE__ */ (() => {
2012 3001 const method = 'post';
2013   - const url = '/district/selectBelongByName';
  3002 + const url = '/district/selectByLevel';
2014 3003 function request(
2015   - option: PostDistrictSelectBelongByNameOption,
2016   - ): Promise<PostDistrictSelectBelongByNameResponseSuccess> {
  3004 + option: PostDistrictSelectByLevelOption,
  3005 + ): Promise<PostDistrictSelectByLevelResponseSuccess> {
2017 3006 return requester(request.url, {
2018 3007 method: request.method,
2019 3008 ...option,
2020   - }) as unknown as Promise<PostDistrictSelectBelongByNameResponseSuccess>;
  3009 + }) as unknown as Promise<PostDistrictSelectByLevelResponseSuccess>;
2021 3010 }
2022 3011  
2023 3012 /** http method */
... ... @@ -2027,22 +3016,22 @@ export const postDistrictSelectBelongByName = /* #__PURE__ */ (() =&gt; {
2027 3016 return request;
2028 3017 })();
2029 3018  
2030   -/** @description request parameter type for postDistrictSelectByLevel */
2031   -export interface PostDistrictSelectByLevelOption {
  3019 +/** @description request parameter type for postDistrictSelectByNameAndLevel */
  3020 +export interface PostDistrictSelectByNameAndLevelOption {
2032 3021 /**
2033 3022 * @description
2034   - * level
  3023 + * districtSearchDo
2035 3024 */
2036 3025 body: {
2037 3026 /**
2038 3027 @description
2039   - level */
2040   - level: number;
  3028 + districtSearchDo */
  3029 + districtSearchDo: DistrictSearchDo;
2041 3030 };
2042 3031 }
2043 3032  
2044   -/** @description response type for postDistrictSelectByLevel */
2045   -export interface PostDistrictSelectByLevelResponse {
  3033 +/** @description response type for postDistrictSelectByNameAndLevel */
  3034 +export interface PostDistrictSelectByNameAndLevelResponse {
2046 3035 /**
2047 3036 * @description
2048 3037 * OK
... ... @@ -2070,25 +3059,25 @@ export interface PostDistrictSelectByLevelResponse {
2070 3059 404: any;
2071 3060 }
2072 3061  
2073   -export type PostDistrictSelectByLevelResponseSuccess =
2074   - PostDistrictSelectByLevelResponse[200];
  3062 +export type PostDistrictSelectByNameAndLevelResponseSuccess =
  3063 + PostDistrictSelectByNameAndLevelResponse[200];
2075 3064 /**
2076 3065 * @description
2077   - * 根据等级查询
  3066 + * 根据名字和级别进行筛选
2078 3067 * @tags order-district-controller
2079 3068 * @produces *
2080 3069 * @consumes application/json
2081 3070 */
2082   -export const postDistrictSelectByLevel = /* #__PURE__ */ (() => {
  3071 +export const postDistrictSelectByNameAndLevel = /* #__PURE__ */ (() => {
2083 3072 const method = 'post';
2084   - const url = '/district/selectByLevel';
  3073 + const url = '/district/selectByNameAndLevel';
2085 3074 function request(
2086   - option: PostDistrictSelectByLevelOption,
2087   - ): Promise<PostDistrictSelectByLevelResponseSuccess> {
  3075 + option: PostDistrictSelectByNameAndLevelOption,
  3076 + ): Promise<PostDistrictSelectByNameAndLevelResponseSuccess> {
2088 3077 return requester(request.url, {
2089 3078 method: request.method,
2090 3079 ...option,
2091   - }) as unknown as Promise<PostDistrictSelectByLevelResponseSuccess>;
  3080 + }) as unknown as Promise<PostDistrictSelectByNameAndLevelResponseSuccess>;
2092 3081 }
2093 3082  
2094 3083 /** http method */
... ... @@ -2104,7 +3093,9 @@ export interface GetErrorResponse {
2104 3093 * @description
2105 3094 * OK
2106 3095 */
2107   - 200: ModelAndView;
  3096 + 200: {
  3097 + [propertyName: string]: any;
  3098 + };
2108 3099 /**
2109 3100 * @description
2110 3101 * Unauthorized
... ... @@ -2125,9 +3116,9 @@ export interface GetErrorResponse {
2125 3116 export type GetErrorResponseSuccess = GetErrorResponse[200];
2126 3117 /**
2127 3118 * @description
2128   - * errorHtml
  3119 + * error
2129 3120 * @tags basic-error-controller
2130   - * @produces text/html
  3121 + * @produces *
2131 3122 */
2132 3123 export const getError = /* #__PURE__ */ (() => {
2133 3124 const method = 'get';
... ... @@ -2151,7 +3142,9 @@ export interface PutErrorResponse {
2151 3142 * @description
2152 3143 * OK
2153 3144 */
2154   - 200: ModelAndView;
  3145 + 200: {
  3146 + [propertyName: string]: any;
  3147 + };
2155 3148 /**
2156 3149 * @description
2157 3150 * Created
... ... @@ -2177,9 +3170,9 @@ export interface PutErrorResponse {
2177 3170 export type PutErrorResponseSuccess = PutErrorResponse[200];
2178 3171 /**
2179 3172 * @description
2180   - * errorHtml
  3173 + * error
2181 3174 * @tags basic-error-controller
2182   - * @produces text/html
  3175 + * @produces *
2183 3176 * @consumes application/json
2184 3177 */
2185 3178 export const putError = /* #__PURE__ */ (() => {
... ... @@ -2204,7 +3197,9 @@ export interface PostErrorResponse {
2204 3197 * @description
2205 3198 * OK
2206 3199 */
2207   - 200: ModelAndView;
  3200 + 200: {
  3201 + [propertyName: string]: any;
  3202 + };
2208 3203 /**
2209 3204 * @description
2210 3205 * Created
... ... @@ -2230,9 +3225,9 @@ export interface PostErrorResponse {
2230 3225 export type PostErrorResponseSuccess = PostErrorResponse[200];
2231 3226 /**
2232 3227 * @description
2233   - * errorHtml
  3228 + * error
2234 3229 * @tags basic-error-controller
2235   - * @produces text/html
  3230 + * @produces *
2236 3231 * @consumes application/json
2237 3232 */
2238 3233 export const postError = /* #__PURE__ */ (() => {
... ... @@ -2257,7 +3252,9 @@ export interface DeleteErrorResponse {
2257 3252 * @description
2258 3253 * OK
2259 3254 */
2260   - 200: ModelAndView;
  3255 + 200: {
  3256 + [propertyName: string]: any;
  3257 + };
2261 3258 /**
2262 3259 * @description
2263 3260 * No Content
... ... @@ -2278,9 +3275,9 @@ export interface DeleteErrorResponse {
2278 3275 export type DeleteErrorResponseSuccess = DeleteErrorResponse[200];
2279 3276 /**
2280 3277 * @description
2281   - * errorHtml
  3278 + * error
2282 3279 * @tags basic-error-controller
2283   - * @produces text/html
  3280 + * @produces *
2284 3281 */
2285 3282 export const deleteError = /* #__PURE__ */ (() => {
2286 3283 const method = 'delete';
... ... @@ -2304,7 +3301,9 @@ export interface OptionsErrorResponse {
2304 3301 * @description
2305 3302 * OK
2306 3303 */
2307   - 200: ModelAndView;
  3304 + 200: {
  3305 + [propertyName: string]: any;
  3306 + };
2308 3307 /**
2309 3308 * @description
2310 3309 * No Content
... ... @@ -2325,9 +3324,9 @@ export interface OptionsErrorResponse {
2325 3324 export type OptionsErrorResponseSuccess = OptionsErrorResponse[200];
2326 3325 /**
2327 3326 * @description
2328   - * errorHtml
  3327 + * error
2329 3328 * @tags basic-error-controller
2330   - * @produces text/html
  3329 + * @produces *
2331 3330 * @consumes application/json
2332 3331 */
2333 3332 export const optionsError = /* #__PURE__ */ (() => {
... ... @@ -2352,7 +3351,9 @@ export interface HeadErrorResponse {
2352 3351 * @description
2353 3352 * OK
2354 3353 */
2355   - 200: ModelAndView;
  3354 + 200: {
  3355 + [propertyName: string]: any;
  3356 + };
2356 3357 /**
2357 3358 * @description
2358 3359 * No Content
... ... @@ -2373,9 +3374,9 @@ export interface HeadErrorResponse {
2373 3374 export type HeadErrorResponseSuccess = HeadErrorResponse[200];
2374 3375 /**
2375 3376 * @description
2376   - * errorHtml
  3377 + * error
2377 3378 * @tags basic-error-controller
2378   - * @produces text/html
  3379 + * @produces *
2379 3380 * @consumes application/json
2380 3381 */
2381 3382 export const headError = /* #__PURE__ */ (() => {
... ... @@ -2400,7 +3401,9 @@ export interface PatchErrorResponse {
2400 3401 * @description
2401 3402 * OK
2402 3403 */
2403   - 200: ModelAndView;
  3404 + 200: {
  3405 + [propertyName: string]: any;
  3406 + };
2404 3407 /**
2405 3408 * @description
2406 3409 * No Content
... ... @@ -2421,9 +3424,9 @@ export interface PatchErrorResponse {
2421 3424 export type PatchErrorResponseSuccess = PatchErrorResponse[200];
2422 3425 /**
2423 3426 * @description
2424   - * errorHtml
  3427 + * error
2425 3428 * @tags basic-error-controller
2426   - * @produces text/html
  3429 + * @produces *
2427 3430 * @consumes application/json
2428 3431 */
2429 3432 export const patchError = /* #__PURE__ */ (() => {
... ... @@ -7653,6 +8656,78 @@ export const postOrderErpOrderZoNingSelectSaleUserByProvince =
7653 8656 return request;
7654 8657 })();
7655 8658  
  8659 +/** @description request parameter type for postOrderErpOrderZoNingSelectSaleUserHasZoning */
  8660 +export interface PostOrderErpOrderZoNingSelectSaleUserHasZoningOption {
  8661 + /**
  8662 + * @description
  8663 + * id
  8664 + */
  8665 + body: {
  8666 + /**
  8667 + @description
  8668 + id */
  8669 + id: number;
  8670 + };
  8671 +}
  8672 +
  8673 +/** @description response type for postOrderErpOrderZoNingSelectSaleUserHasZoning */
  8674 +export interface PostOrderErpOrderZoNingSelectSaleUserHasZoningResponse {
  8675 + /**
  8676 + * @description
  8677 + * OK
  8678 + */
  8679 + 200: ServerResult;
  8680 + /**
  8681 + * @description
  8682 + * Created
  8683 + */
  8684 + 201: any;
  8685 + /**
  8686 + * @description
  8687 + * Unauthorized
  8688 + */
  8689 + 401: any;
  8690 + /**
  8691 + * @description
  8692 + * Forbidden
  8693 + */
  8694 + 403: any;
  8695 + /**
  8696 + * @description
  8697 + * Not Found
  8698 + */
  8699 + 404: any;
  8700 +}
  8701 +
  8702 +export type PostOrderErpOrderZoNingSelectSaleUserHasZoningResponseSuccess =
  8703 + PostOrderErpOrderZoNingSelectSaleUserHasZoningResponse[200];
  8704 +/**
  8705 + * @description
  8706 + * 查询出该销售所在的大区
  8707 + * @tags order-zo-ning-controller
  8708 + * @produces *
  8709 + * @consumes application/json
  8710 + */
  8711 +export const postOrderErpOrderZoNingSelectSaleUserHasZoning =
  8712 + /* #__PURE__ */ (() => {
  8713 + const method = 'post';
  8714 + const url = '/order/erp/orderZoNing/selectSaleUserHasZoning';
  8715 + function request(
  8716 + option: PostOrderErpOrderZoNingSelectSaleUserHasZoningOption,
  8717 + ): Promise<PostOrderErpOrderZoNingSelectSaleUserHasZoningResponseSuccess> {
  8718 + return requester(request.url, {
  8719 + method: request.method,
  8720 + ...option,
  8721 + }) as unknown as Promise<PostOrderErpOrderZoNingSelectSaleUserHasZoningResponseSuccess>;
  8722 + }
  8723 +
  8724 + /** http method */
  8725 + request.method = method;
  8726 + /** request url */
  8727 + request.url = url;
  8728 + return request;
  8729 + })();
  8730 +
7656 8731 /** @description response type for getOrderErpOrderZoNingSelectUserAll */
7657 8732 export interface GetOrderErpOrderZoNingSelectUserAllResponse {
7658 8733 /**
... ... @@ -10435,6 +11510,114 @@ export const postServiceBankStatementQueryBankStatement =
10435 11510 return request;
10436 11511 })();
10437 11512  
  11513 +/** @description response type for postServiceConstClientLevels */
  11514 +export interface PostServiceConstClientLevelsResponse {
  11515 + /**
  11516 + * @description
  11517 + * OK
  11518 + */
  11519 + 200: ServerResult;
  11520 + /**
  11521 + * @description
  11522 + * Created
  11523 + */
  11524 + 201: any;
  11525 + /**
  11526 + * @description
  11527 + * Unauthorized
  11528 + */
  11529 + 401: any;
  11530 + /**
  11531 + * @description
  11532 + * Forbidden
  11533 + */
  11534 + 403: any;
  11535 + /**
  11536 + * @description
  11537 + * Not Found
  11538 + */
  11539 + 404: any;
  11540 +}
  11541 +
  11542 +export type PostServiceConstClientLevelsResponseSuccess =
  11543 + PostServiceConstClientLevelsResponse[200];
  11544 +/**
  11545 + * @description
  11546 + * 客户等级
  11547 + * @tags front-const-controller
  11548 + * @produces *
  11549 + * @consumes application/json
  11550 + */
  11551 +export const postServiceConstClientLevels = /* #__PURE__ */ (() => {
  11552 + const method = 'post';
  11553 + const url = '/service/const/clientLevels';
  11554 + function request(): Promise<PostServiceConstClientLevelsResponseSuccess> {
  11555 + return requester(request.url, {
  11556 + method: request.method,
  11557 + }) as unknown as Promise<PostServiceConstClientLevelsResponseSuccess>;
  11558 + }
  11559 +
  11560 + /** http method */
  11561 + request.method = method;
  11562 + /** request url */
  11563 + request.url = url;
  11564 + return request;
  11565 +})();
  11566 +
  11567 +/** @description response type for postServiceConstTradeStatus */
  11568 +export interface PostServiceConstTradeStatusResponse {
  11569 + /**
  11570 + * @description
  11571 + * OK
  11572 + */
  11573 + 200: ServerResult;
  11574 + /**
  11575 + * @description
  11576 + * Created
  11577 + */
  11578 + 201: any;
  11579 + /**
  11580 + * @description
  11581 + * Unauthorized
  11582 + */
  11583 + 401: any;
  11584 + /**
  11585 + * @description
  11586 + * Forbidden
  11587 + */
  11588 + 403: any;
  11589 + /**
  11590 + * @description
  11591 + * Not Found
  11592 + */
  11593 + 404: any;
  11594 +}
  11595 +
  11596 +export type PostServiceConstTradeStatusResponseSuccess =
  11597 + PostServiceConstTradeStatusResponse[200];
  11598 +/**
  11599 + * @description
  11600 + * 跟进状态
  11601 + * @tags front-const-controller
  11602 + * @produces *
  11603 + * @consumes application/json
  11604 + */
  11605 +export const postServiceConstTradeStatus = /* #__PURE__ */ (() => {
  11606 + const method = 'post';
  11607 + const url = '/service/const/tradeStatus';
  11608 + function request(): Promise<PostServiceConstTradeStatusResponseSuccess> {
  11609 + return requester(request.url, {
  11610 + method: request.method,
  11611 + }) as unknown as Promise<PostServiceConstTradeStatusResponseSuccess>;
  11612 + }
  11613 +
  11614 + /** http method */
  11615 + request.method = method;
  11616 + /** request url */
  11617 + request.url = url;
  11618 + return request;
  11619 +})();
  11620 +
10438 11621 /** @description request parameter type for postServiceInvoiceAddInvoice */
10439 11622 export interface PostServiceInvoiceAddInvoiceOption {
10440 11623 /**
... ... @@ -12280,6 +13463,79 @@ export const postServiceOrderFindServiceOrder = /* #__PURE__ */ (() =&gt; {
12280 13463 return request;
12281 13464 })();
12282 13465  
  13466 +/** @description request parameter type for postServiceOrderGetCurrentOptNode */
  13467 +export interface PostServiceOrderGetCurrentOptNodeOption {
  13468 + /**
  13469 + * @description
  13470 + * id
  13471 + * @format int64
  13472 + */
  13473 + query?: {
  13474 + /**
  13475 + @description
  13476 + id
  13477 + @format int64 */
  13478 + id?: number;
  13479 + };
  13480 +}
  13481 +
  13482 +/** @description response type for postServiceOrderGetCurrentOptNode */
  13483 +export interface PostServiceOrderGetCurrentOptNodeResponse {
  13484 + /**
  13485 + * @description
  13486 + * OK
  13487 + */
  13488 + 200: ServerResult;
  13489 + /**
  13490 + * @description
  13491 + * Created
  13492 + */
  13493 + 201: any;
  13494 + /**
  13495 + * @description
  13496 + * Unauthorized
  13497 + */
  13498 + 401: any;
  13499 + /**
  13500 + * @description
  13501 + * Forbidden
  13502 + */
  13503 + 403: any;
  13504 + /**
  13505 + * @description
  13506 + * Not Found
  13507 + */
  13508 + 404: any;
  13509 +}
  13510 +
  13511 +export type PostServiceOrderGetCurrentOptNodeResponseSuccess =
  13512 + PostServiceOrderGetCurrentOptNodeResponse[200];
  13513 +/**
  13514 + * @description
  13515 + * 获取当前节点的操作人
  13516 + * @tags 内部订单
  13517 + * @produces *
  13518 + * @consumes application/json
  13519 + */
  13520 +export const postServiceOrderGetCurrentOptNode = /* #__PURE__ */ (() => {
  13521 + const method = 'post';
  13522 + const url = '/service/order/getCurrentOptNode';
  13523 + function request(
  13524 + option?: PostServiceOrderGetCurrentOptNodeOption,
  13525 + ): Promise<PostServiceOrderGetCurrentOptNodeResponseSuccess> {
  13526 + return requester(request.url, {
  13527 + method: request.method,
  13528 + ...option,
  13529 + }) as unknown as Promise<PostServiceOrderGetCurrentOptNodeResponseSuccess>;
  13530 + }
  13531 +
  13532 + /** http method */
  13533 + request.method = method;
  13534 + /** request url */
  13535 + request.url = url;
  13536 + return request;
  13537 +})();
  13538 +
12283 13539 /** @description request parameter type for postServiceOrderImportExcel */
12284 13540 export interface PostServiceOrderImportExcelOption {
12285 13541 /**
... ...