Browse Source

chore: update pnpm lock file

pull/10914/head
期贤 3 years ago
parent
commit
8f9d4768f1
  1. 5
      .prettierrc.js
  2. 2
      config/routes.ts
  3. 2
      mock/analysis.mock.ts
  4. 2
      mock/listTableList.ts
  5. 2
      mock/monitor.mock.ts
  6. 65
      package.json
  7. 12910
      pnpm-lock.yaml
  8. 2
      src/app.tsx
  9. 4
      src/components/HeaderDropdown/index.tsx
  10. 1
      src/components/RightContent/index.tsx
  11. 4
      src/pages/User/Login/index.tsx
  12. 4
      src/pages/User/Login/login.test.tsx
  13. 38
      src/pages/account/center/components/Applications/index.tsx
  14. 2
      src/pages/account/center/components/ArticleListContent/index.tsx
  15. 6
      src/pages/account/center/components/Articles/index.tsx
  16. 2
      src/pages/account/center/components/AvatarList/index.tsx
  17. 8
      src/pages/account/center/components/Projects/index.tsx
  18. 14
      src/pages/account/center/index.tsx
  19. 2
      src/pages/account/settings/components/PhoneView.tsx
  20. 7
      src/pages/account/settings/components/base.tsx
  21. 2
      src/pages/account/settings/components/security.tsx
  22. 2
      src/pages/account/settings/index.tsx
  23. 2
      src/pages/dashboard/analysis/_mock.ts
  24. 2
      src/pages/dashboard/analysis/components/Charts/Bar/index.tsx
  25. 2
      src/pages/dashboard/analysis/components/Charts/ChartCard/index.tsx
  26. 2
      src/pages/dashboard/analysis/components/Charts/MiniProgress/index.tsx
  27. 9
      src/pages/dashboard/analysis/components/Charts/Pie/index.tsx
  28. 7
      src/pages/dashboard/analysis/components/Charts/TagCloud/index.tsx
  29. 4
      src/pages/dashboard/analysis/components/Charts/TimelineChart/index.tsx
  30. 1
      src/pages/dashboard/analysis/components/Charts/WaterWave/index.tsx
  31. 8
      src/pages/dashboard/analysis/components/IntroduceRow.tsx
  32. 4
      src/pages/dashboard/analysis/components/NumberInfo/index.tsx
  33. 24
      src/pages/dashboard/analysis/components/OfflineData.tsx
  34. 6
      src/pages/dashboard/analysis/components/ProportionSales.tsx
  35. 264
      src/pages/dashboard/analysis/components/SalesCard.tsx
  36. 6
      src/pages/dashboard/analysis/components/TopSearch.tsx
  37. 4
      src/pages/dashboard/analysis/components/Trend/index.tsx
  38. 45
      src/pages/dashboard/analysis/index.tsx
  39. 2
      src/pages/dashboard/analysis/utils/utils.ts
  40. 2
      src/pages/dashboard/monitor/_mock.ts
  41. 2
      src/pages/dashboard/monitor/components/ActiveChart/index.tsx
  42. 9
      src/pages/dashboard/monitor/components/Charts/Pie/index.tsx
  43. 7
      src/pages/dashboard/monitor/components/Charts/TagCloud/index.tsx
  44. 1
      src/pages/dashboard/monitor/components/Charts/WaterWave/index.tsx
  45. 4
      src/pages/dashboard/monitor/components/Map/index.tsx
  46. 12
      src/pages/dashboard/monitor/index.tsx
  47. 2
      src/pages/dashboard/workplace/_mock.ts
  48. 2
      src/pages/dashboard/workplace/components/EditableLinkGroup/index.tsx
  49. 2
      src/pages/dashboard/workplace/components/Radar/index.tsx
  50. 12
      src/pages/dashboard/workplace/index.tsx
  51. 2
      src/pages/dashboard/workplace/service.ts
  52. 2
      src/pages/exception/403/index.tsx
  53. 2
      src/pages/exception/404/index.tsx
  54. 2
      src/pages/exception/500/index.tsx
  55. 2
      src/pages/form/advanced-form/components/TableForm.tsx
  56. 13
      src/pages/form/advanced-form/index.tsx
  57. 4
      src/pages/form/basic-form/index.tsx
  58. 8
      src/pages/form/step-form/index.tsx
  59. 6
      src/pages/list/basic-list/components/OperationModal.tsx
  60. 30
      src/pages/list/basic-list/index.tsx
  61. 4
      src/pages/list/card-list/index.tsx
  62. 2
      src/pages/list/search/applications/components/StandardFormRow/index.tsx
  63. 41
      src/pages/list/search/applications/index.tsx
  64. 2
      src/pages/list/search/applications/service.ts
  65. 2
      src/pages/list/search/articles/components/ArticleListContent/index.tsx
  66. 2
      src/pages/list/search/articles/components/StandardFormRow/index.tsx
  67. 2
      src/pages/list/search/articles/service.ts
  68. 6
      src/pages/list/search/index.tsx
  69. 2
      src/pages/list/search/projects/components/AvatarList/index.tsx
  70. 2
      src/pages/list/search/projects/components/StandardFormRow/index.tsx
  71. 6
      src/pages/list/search/projects/index.tsx
  72. 2
      src/pages/list/search/projects/service.ts
  73. 50
      src/pages/list/search/projects/utils/utils.less
  74. 6
      src/pages/list/search/projects/utils/utils.style.ts
  75. 2
      src/pages/list/table-list/components/CreateForm.tsx
  76. 8
      src/pages/list/table-list/components/UpdateForm.tsx
  77. 22
      src/pages/list/table-list/index.tsx
  78. 66
      src/pages/profile/advanced/index.tsx
  79. 5
      src/pages/profile/basic/index.tsx
  80. 2
      src/pages/result/fail/index.tsx
  81. 4
      src/pages/result/success/index.tsx
  82. 2
      src/pages/user/register-result/index.tsx
  83. 8
      src/pages/user/register/index.tsx

5
.prettierrc.js

@ -18,4 +18,9 @@ module.exports = {
},
},
],
plugins: [
'prettier-plugin-organize-imports',
'prettier-plugin-packagejson',
'prettier-plugin-two-style-order',
],
};

2
config/routes.ts

@ -19,7 +19,7 @@ export default [
path: '/user/login',
layout: false,
name: 'login',
component: './user/Login',
component: './user/login',
},
{
path: '/user',

2
mock/analysis.mock.ts

@ -1,6 +1,6 @@
import dayjs from 'dayjs';
import type { Request, Response } from 'express';
import type { AnalysisData, RadarData, DataItem } from './data';
import type { AnalysisData, DataItem, RadarData } from './data';
// mock data
const visitData: DataItem[] = [];

2
mock/listTableList.ts

@ -1,5 +1,5 @@
import { Request, Response } from 'express';
import dayjs from 'dayjs';
import { Request, Response } from 'express';
import { parse } from 'url';
// mock tableListDataSource

2
mock/monitor.mock.ts

@ -1,5 +1,5 @@
import mockjs from 'mockjs';
import type { Request, Response } from 'express';
import mockjs from 'mockjs';
const getTags = (_: Request, res: Response) => {
return res.json({

65
package.json

@ -37,33 +37,33 @@
"not ie <= 10"
],
"dependencies": {
"@ant-design/charts": "^0.9.4",
"@ant-design/icons": "^4.8.0",
"@ant-design/pro-components": "^2.3.57",
"@ant-design/charts": "^0.9.13",
"@ant-design/icons": "^4.8.1",
"@ant-design/pro-components": "^2.6.13",
"@ant-design/use-emotion-css": "1.0.4",
"@antv/data-set": "^0.11.0",
"@antv/l7": "^2.3.7",
"@antv/l7-maps": "^2.3.7",
"@antv/l7-react": "^2.1.9",
"@antv/data-set": "^0.11.8",
"@antv/l7": "^2.17.11",
"@antv/l7-maps": "^2.17.11",
"@antv/l7-react": "^2.4.3",
"@types/lodash.debounce": "^4.0.7",
"@umijs/route-utils": "^2.2.2",
"ahooks": "^2.0.0",
"antd": "^5.2.2",
"ahooks": "^2.10.14",
"antd": "^5.8.4",
"antd-style": "^2.0.2",
"bizcharts": "^3.5.3-beta.0",
"bizcharts-plugin-slider": "^2.1.1-beta.1",
"bizcharts": "^3.5.10",
"bizcharts-plugin-slider": "^2.1.1",
"classnames": "^2.3.2",
"dayjs": "^1.11.7",
"gg-editor": "^2.0.2",
"dayjs": "^1.11.9",
"gg-editor": "^2.0.4",
"lodash": "^4.17.21",
"lodash-decorators": "^6.0.0",
"lodash-decorators": "^6.0.1",
"numeral": "^2.0.6",
"nzh": "^1.0.3",
"nzh": "^1.0.11",
"omit.js": "^2.0.2",
"rc-menu": "^9.8.2",
"rc-util": "^5.27.2",
"rc-menu": "^9.11.1",
"rc-util": "^5.37.0",
"react": "^18.2.0",
"react-dev-inspector": "^1.8.4",
"react-dev-inspector": "^1.9.0",
"react-dom": "^18.2.0",
"react-fittext": "^1.0.0",
"react-helmet-async": "^1.3.0",
@ -72,31 +72,34 @@
"devDependencies": {
"@ant-design/pro-cli": "^2.1.5",
"@testing-library/react": "^13.4.0",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"@trivago/prettier-plugin-sort-imports": "^4.2.0",
"@types/classnames": "^2.3.1",
"@types/express": "^4.17.17",
"@types/history": "^4.7.11",
"@types/jest": "^29.4.0",
"@types/lodash": "^4.14.191",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.11",
"@types/jest": "^29.5.4",
"@types/lodash": "^4.14.197",
"@types/react": "^18.2.21",
"@types/react-dom": "^18.2.7",
"@types/react-helmet": "^6.1.6",
"@umijs/fabric": "^2.14.1",
"@umijs/lint": "^4.0.52",
"@umijs/max": "^4.0.52",
"@umijs/lint": "^4.0.78",
"@umijs/max": "^4.0.78",
"cross-env": "^7.0.3",
"eslint": "^8.34.0",
"eslint": "^8.48.0",
"express": "^4.18.2",
"gh-pages": "^3.2.3",
"husky": "^7.0.4",
"jest": "^29.4.3",
"jest-environment-jsdom": "^29.4.3",
"jest": "^29.6.4",
"jest-environment-jsdom": "^29.6.4",
"mockjs": "^1.1.0",
"prettier": "^2.8.4",
"swagger-ui-dist": "^4.15.5",
"prettier": "^3.0.2",
"prettier-plugin-organize-imports": "^3.2.3",
"prettier-plugin-packagejson": "^2.4.5",
"prettier-plugin-two-style-order": "^1.0.1",
"swagger-ui-dist": "^4.19.1",
"ts-node": "^10.9.1",
"typescript": "^4.9.5",
"umi-presets-pro": "^2.0.2"
"umi-presets-pro": "^2.0.3"
},
"engines": {
"node": ">=12.0.0"

12910
pnpm-lock.yaml

File diff suppressed because it is too large

2
src/app.tsx

@ -6,9 +6,9 @@ import { SettingDrawer } from '@ant-design/pro-components';
import type { RunTimeLayoutConfig } from '@umijs/max';
import { history, Link } from '@umijs/max';
import defaultSettings from '../config/defaultSettings';
import { AvatarDropdown, AvatarName } from './components/RightContent/AvatarDropdown';
import { errorConfig } from './requestErrorConfig';
import { currentUser as queryCurrentUser } from './services/ant-design-pro/api';
import { AvatarDropdown, AvatarName } from './components/RightContent/AvatarDropdown';
const isDev = process.env.NODE_ENV === 'development';
const loginPath = '/user/login';

4
src/components/HeaderDropdown/index.tsx

@ -1,8 +1,8 @@
import { useEmotionCss } from '@ant-design/use-emotion-css';
import { Dropdown } from 'antd';
import type { DropDownProps } from 'antd/es/dropdown';
import React from 'react';
import { useEmotionCss } from '@ant-design/use-emotion-css';
import classNames from 'classnames';
import React from 'react';
export type HeaderDropdownProps = {
overlayClassName?: string;

1
src/components/RightContent/index.tsx

@ -1,6 +1,5 @@
import { QuestionCircleOutlined } from '@ant-design/icons';
import { SelectLang as UmiSelectLang } from '@umijs/max';
import React from 'react';
export type SiderTheme = 'light' | 'dark';

4
src/pages/User/Login/index.tsx

@ -16,11 +16,11 @@ import {
ProFormText,
} from '@ant-design/pro-components';
import { useEmotionCss } from '@ant-design/use-emotion-css';
import { FormattedMessage, history, SelectLang, useIntl, useModel, Helmet } from '@umijs/max';
import { FormattedMessage, Helmet, history, SelectLang, useIntl, useModel } from '@umijs/max';
import { Alert, message, Tabs } from 'antd';
import Settings from '../../../../config/defaultSettings';
import React, { useState } from 'react';
import { flushSync } from 'react-dom';
import Settings from '../../../../config/defaultSettings';
const ActionIcons = () => {
const langClassName = useEmotionCss(({ token }) => {

4
src/pages/User/Login/login.test.tsx

@ -1,6 +1,6 @@
import { render, fireEvent, act } from '@testing-library/react';
import { TestBrowser } from '@@/testBrowser';
import { act, fireEvent, render } from '@testing-library/react';
import React from 'react';
import { TestBrowser } from '@@/testBrowser';
// @ts-ignore
import { startMock } from '@@/requestRecordMock';

38
src/pages/account/center/components/Applications/index.tsx

@ -5,9 +5,9 @@ import {
ShareAltOutlined,
} from '@ant-design/icons';
import { useRequest } from '@umijs/max';
import { Avatar, Card, Dropdown, List, Menu, Tooltip } from 'antd';
import React from 'react';
import { Avatar, Card, Dropdown, List, Tooltip } from 'antd';
import numeral from 'numeral';
import React from 'react';
import type { ListItemDataType } from '../../data.d';
import { queryFakeList } from '../../service';
import useStyles from './index.style';
@ -43,25 +43,7 @@ const Applications: React.FC = () => {
count: 30,
});
});
const itemMenu = (
<Menu>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.alipay.com/">
1st menu item
</a>
</Menu.Item>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.taobao.com/">
2nd menu item
</a>
</Menu.Item>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.tmall.com/">
3d menu item
</a>
</Menu.Item>
</Menu>
);
const CardInfo: React.FC<{
activeUser: React.ReactNode;
newUser: React.ReactNode;
@ -108,7 +90,19 @@ const Applications: React.FC = () => {
<Tooltip title="分享" key="share">
<ShareAltOutlined />
</Tooltip>,
<Dropdown overlay={itemMenu} key="ellipsis">
<Dropdown
items={[
{
key: '1',
title: '1st menu item',
},
{
key: '2',
title: '2nd menu item',
},
]}
key="ellipsis"
>
<EllipsisOutlined />
</Dropdown>,
]}

2
src/pages/account/center/components/ArticleListContent/index.tsx

@ -1,6 +1,6 @@
import { Avatar } from 'antd';
import React from 'react';
import dayjs from 'dayjs';
import React from 'react';
import useStyles from './index.style';
export type ApplicationsProps = {
data: {

6
src/pages/account/center/components/Articles/index.tsx

@ -1,10 +1,10 @@
import React from 'react';
import { StarTwoTone, LikeOutlined, MessageFilled } from '@ant-design/icons';
import { LikeOutlined, MessageFilled, StarTwoTone } from '@ant-design/icons';
import { useRequest } from '@umijs/max';
import { List, Tag } from 'antd';
import ArticleListContent from '../ArticleListContent';
import React from 'react';
import type { ListItemDataType } from '../../data.d';
import { queryFakeList } from '../../service';
import ArticleListContent from '../ArticleListContent';
import useStyles from './index.style';
const Articles: React.FC = () => {
const { styles } = useStyles();

2
src/pages/account/center/components/AvatarList/index.tsx

@ -1,6 +1,6 @@
import { Avatar, Tooltip } from 'antd';
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
export declare type SizeType = number | 'small' | 'default' | 'large';
export type AvatarItemProps = {

8
src/pages/account/center/components/Projects/index.tsx

@ -1,12 +1,12 @@
import { Card, List } from 'antd';
import { useRequest } from '@umijs/max';
import React from 'react';
import { Card, List } from 'antd';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import React from 'react';
import type { ListItemDataType } from '../../data.d';
import { queryFakeList } from '../../service';
import AvatarList from '../AvatarList';
import type { ListItemDataType } from '../../data.d';
import useStyles from './index.style';
import relativeTime from 'dayjs/plugin/relativeTime';
dayjs.extend(relativeTime);
const Projects: React.FC = () => {
const { styles } = useStyles();

14
src/pages/account/center/index.tsx

@ -1,14 +1,14 @@
import { PlusOutlined, HomeOutlined, ContactsOutlined, ClusterOutlined } from '@ant-design/icons';
import { Avatar, Card, Col, Divider, Input, InputRef, Row, Tag } from 'antd';
import React, { useState, useRef } from 'react';
import { ClusterOutlined, ContactsOutlined, HomeOutlined, PlusOutlined } from '@ant-design/icons';
import { GridContent } from '@ant-design/pro-components';
import { Link, useRequest } from '@umijs/max';
import Projects from './components/Projects';
import Articles from './components/Articles';
import { Avatar, Card, Col, Divider, Input, InputRef, Row, Tag } from 'antd';
import React, { useRef, useState } from 'react';
import useStyles from './Center.style';
import Applications from './components/Applications';
import type { CurrentUser, TagType, tabKeyType } from './data.d';
import Articles from './components/Articles';
import Projects from './components/Projects';
import type { CurrentUser, tabKeyType, TagType } from './data.d';
import { queryCurrent } from './service';
import useStyles from './Center.style';
const operationTabList = [
{
key: 'articles',

2
src/pages/account/settings/components/PhoneView.tsx

@ -1,5 +1,5 @@
import React from 'react';
import { Input } from 'antd';
import React from 'react';
import useStyles from './index.style';
type PhoneViewProps = {

7
src/pages/account/settings/components/base.tsx

@ -1,6 +1,4 @@
import React from 'react';
import { UploadOutlined } from '@ant-design/icons';
import { Button, Input, Upload, message } from 'antd';
import {
ProForm,
ProFormDependency,
@ -10,8 +8,9 @@ import {
ProFormTextArea,
} from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import { queryCurrent } from '../service';
import { queryProvince, queryCity } from '../service';
import { Button, Input, message, Upload } from 'antd';
import React from 'react';
import { queryCity, queryCurrent, queryProvince } from '../service';
import useStyles from './index.style';
const validatorPhone = (rule: any, value: string[], callback: (message?: string) => void) => {

2
src/pages/account/settings/components/security.tsx

@ -1,5 +1,5 @@
import React from 'react';
import { List } from 'antd';
import React from 'react';
type Unpacked<T> = T extends (infer U)[] ? U : T;

2
src/pages/account/settings/index.tsx

@ -1,6 +1,6 @@
import React, { useState, useRef, useLayoutEffect } from 'react';
import { GridContent } from '@ant-design/pro-components';
import { Menu } from 'antd';
import React, { useLayoutEffect, useRef, useState } from 'react';
import BaseView from './components/base';
import BindingView from './components/binding';
import NotificationView from './components/notification';

2
src/pages/dashboard/analysis/_mock.ts

@ -1,6 +1,6 @@
import dayjs from 'dayjs';
import type { Request, Response } from 'express';
import type { AnalysisData, RadarData, DataItem } from './data.d';
import type { AnalysisData, DataItem, RadarData } from './data.d';
// mock data
const visitData: DataItem[] = [];

2
src/pages/dashboard/analysis/components/Charts/Bar/index.tsx

@ -1,6 +1,6 @@
import { Axis, Chart, Geom, Tooltip } from 'bizcharts';
import React, { useCallback, useEffect, useRef, useState } from 'react';
import Debounce from 'lodash.debounce';
import React, { useCallback, useEffect, useRef, useState } from 'react';
import useStyles from '../index.style';
export type BarProps = {

2
src/pages/dashboard/analysis/components/Charts/ChartCard/index.tsx

@ -1,7 +1,7 @@
import { Card } from 'antd';
import type { CardProps } from 'antd/es/card';
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
type totalType = () => React.ReactNode;

2
src/pages/dashboard/analysis/components/Charts/MiniProgress/index.tsx

@ -1,5 +1,5 @@
import React from 'react';
import { Tooltip } from 'antd';
import React from 'react';
import useStyles from './index.style';
export type MiniProgressProps = {
target: number;

9
src/pages/dashboard/analysis/components/Charts/Pie/index.tsx

@ -1,12 +1,11 @@
import { Chart, Coord, Geom, Tooltip } from 'bizcharts';
import React, { Component } from 'react';
import { DataView } from '@antv/data-set';
import Debounce from 'lodash.debounce';
import { Divider } from 'antd';
import ReactFitText from 'react-fittext';
import { Chart, Coord, Geom, Tooltip } from 'bizcharts';
import classNames from 'classnames';
import Debounce from 'lodash.debounce';
import React, { Component } from 'react';
import ReactFitText from 'react-fittext';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
export type PieProps = {
animate?: boolean;

7
src/pages/dashboard/analysis/components/Charts/TagCloud/index.tsx

@ -1,10 +1,9 @@
import { Chart, Coord, Geom, Shape, Tooltip } from 'bizcharts';
import React, { Component } from 'react';
import DataSet from '@antv/data-set';
import Debounce from 'lodash.debounce';
import { Chart, Coord, Geom, Shape, Tooltip } from 'bizcharts';
import classNames from 'classnames';
import Debounce from 'lodash.debounce';
import React, { Component } from 'react';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
/* eslint no-underscore-dangle: 0 */
/* eslint no-param-reassign: 0 */

4
src/pages/dashboard/analysis/components/Charts/TimelineChart/index.tsx

@ -1,7 +1,7 @@
import { Axis, Chart, Geom, Legend, Tooltip } from 'bizcharts';
import DataSet from '@antv/data-set';
import React from 'react';
import { Axis, Chart, Geom, Legend, Tooltip } from 'bizcharts';
import Slider from 'bizcharts-plugin-slider';
import React from 'react';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
export type TimelineChartProps = {

1
src/pages/dashboard/analysis/components/Charts/WaterWave/index.tsx

@ -1,6 +1,5 @@
import React, { Component } from 'react';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
/* eslint no-return-assign: 0 */
/* eslint no-mixed-operators: 0 */

8
src/pages/dashboard/analysis/components/IntroduceRow.tsx

@ -1,12 +1,12 @@
import { Progress, TinyArea, TinyColumn } from '@ant-design/charts';
import { InfoCircleOutlined } from '@ant-design/icons';
import { TinyArea, TinyColumn, Progress } from '@ant-design/charts';
import { Col, Row, Tooltip } from 'antd';
import numeral from 'numeral';
import { ChartCard, Field } from './Charts';
import type { DataItem } from '../data.d';
import Trend from './Trend';
import Yuan from '../utils/Yuan';
import useStyles from '../style.style';
import Yuan from '../utils/Yuan';
import { ChartCard, Field } from './Charts';
import Trend from './Trend';
const topColResponsiveProps = {
xs: 24,
sm: 12,

4
src/pages/dashboard/analysis/components/NumberInfo/index.tsx

@ -1,6 +1,6 @@
import { CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons';
import React from 'react';
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
export type NumberInfoProps = {
title?: React.ReactNode | string;

24
src/pages/dashboard/analysis/components/OfflineData.tsx

@ -1,8 +1,8 @@
import { Line, RingProgress } from '@ant-design/charts';
import { Card, Col, Row, Tabs } from 'antd';
import { RingProgress, Line } from '@ant-design/charts';
import type { OfflineDataType, DataItem } from '../data.d';
import NumberInfo from './NumberInfo';
import type { DataItem, OfflineDataType } from '../data.d';
import useStyles from '../style.style';
import NumberInfo from './NumberInfo';
const CustomTab = ({
data,
currentTabKey: currentKey,
@ -36,7 +36,7 @@ const CustomTab = ({
</Col>
</Row>
);
const { TabPane } = Tabs;
const OfflineData = ({
activeKey,
loading,
@ -60,9 +60,13 @@ const OfflineData = ({
marginTop: 32,
}}
>
<Tabs activeKey={activeKey} onChange={handleTabChange}>
{offlineData.map((shop) => (
<TabPane tab={<CustomTab data={shop} currentTabKey={activeKey} />} key={shop.name}>
<Tabs
activeKey={activeKey}
onChange={handleTabChange}
items={offlineData.map((shop) => ({
key: shop.name,
label: <CustomTab data={shop} currentTabKey={activeKey} />,
children: (
<div
style={{
padding: '0 24px',
@ -87,9 +91,9 @@ const OfflineData = ({
}}
/>
</div>
</TabPane>
))}
</Tabs>
),
}))}
/>
</Card>
);
};

6
src/pages/dashboard/analysis/components/ProportionSales.tsx

@ -1,8 +1,8 @@
import { Card, Radio, Typography } from 'antd';
import numeral from 'numeral';
import type { RadioChangeEvent } from 'antd/es/radio';
import { Donut } from '@ant-design/charts';
import type { DonutConfig } from '@ant-design/charts/es/donut';
import { Card, Radio, Typography } from 'antd';
import type { RadioChangeEvent } from 'antd/es/radio';
import numeral from 'numeral';
import React from 'react';
import type { DataItem } from '../data.d';
import useStyles from '../style.style';

264
src/pages/dashboard/analysis/components/SalesCard.tsx

@ -1,23 +1,26 @@
import { Column } from '@ant-design/charts';
import { Card, Col, DatePicker, Row, Tabs } from 'antd';
import type { RangePickerProps } from 'antd/es/date-picker/generatePicker';
import type dayjs from 'dayjs';
import { Column } from '@ant-design/charts';
import numeral from 'numeral';
import type { DataItem } from '../data.d';
import useStyles from '../style.style';
export type TimeType = 'today' | 'week' | 'month' | 'year';
const { RangePicker } = DatePicker;
const { TabPane } = Tabs;
const rankingListData: {
title: string;
total: number;
}[] = [];
for (let i = 0; i < 7; i += 1) {
rankingListData.push({
title: `工专路 ${i} 号店`,
total: 323234,
});
}
const SalesCard = ({
rangePickerValue,
salesData,
@ -73,128 +76,141 @@ const SalesCard = ({
tabBarStyle={{
marginBottom: 24,
}}
>
<TabPane tab="销售额" key="sales">
<Row>
<Col xl={16} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={salesData as any}
xField="x"
yField="y"
xAxis={{
visible: true,
title: {
visible: false,
},
}}
yAxis={{
visible: true,
title: {
visible: false,
},
}}
title={{
visible: true,
text: '销售趋势',
style: {
fontSize: 14,
},
}}
meta={{
y: {
alias: '销售量',
},
}}
/>
</div>
</Col>
<Col xl={8} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesRank}>
<h4 className={styles.rankingTitle}></h4>
<ul className={styles.rankingList}>
{rankingListData.map((item, i) => (
<li key={item.title}>
<span
className={`${styles.rankingItemNumber} ${i < 3 ? styles.active : ''}`}
>
{i + 1}
</span>
<span className={styles.rankingItemTitle} title={item.title}>
{item.title}
</span>
<span className={styles.rankingItemValue}>
{numeral(item.total).format('0,0')}
</span>
</li>
))}
</ul>
</div>
</Col>
</Row>
</TabPane>
<TabPane tab="访问量" key="views">
<Row>
<Col xl={16} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={salesData as any}
xField="x"
yField="y"
xAxis={{
visible: true,
title: {
visible: false,
},
}}
yAxis={{
visible: true,
title: {
visible: false,
},
}}
title={{
visible: true,
text: '访问量趋势',
style: {
fontSize: 14,
},
}}
meta={{
y: {
alias: '访问量',
},
}}
/>
</div>
</Col>
<Col xl={8} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesRank}>
<h4 className={styles.rankingTitle}>访</h4>
<ul className={styles.rankingList}>
{rankingListData.map((item, i) => (
<li key={item.title}>
<span
className={`${styles.rankingItemNumber} ${i < 3 ? styles.active : ''}`}
>
{i + 1}
</span>
<span className={styles.rankingItemTitle} title={item.title}>
{item.title}
</span>
<span>{numeral(item.total).format('0,0')}</span>
</li>
))}
</ul>
</div>
</Col>
</Row>
</TabPane>
</Tabs>
items={[
{
key: 'sales',
label: '销售额',
children: (
<Row>
<Col xl={16} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={salesData as any}
xField="x"
yField="y"
xAxis={{
visible: true,
title: {
visible: false,
},
}}
yAxis={{
visible: true,
title: {
visible: false,
},
}}
title={{
visible: true,
text: '销售趋势',
style: {
fontSize: 14,
},
}}
meta={{
y: {
alias: '销售量',
},
}}
/>
</div>
</Col>
<Col xl={8} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesRank}>
<h4 className={styles.rankingTitle}></h4>
<ul className={styles.rankingList}>
{rankingListData.map((item, i) => (
<li key={item.title}>
<span
className={`${styles.rankingItemNumber} ${
i < 3 ? styles.active : ''
}`}
>
{i + 1}
</span>
<span className={styles.rankingItemTitle} title={item.title}>
{item.title}
</span>
<span className={styles.rankingItemValue}>
{numeral(item.total).format('0,0')}
</span>
</li>
))}
</ul>
</div>
</Col>
</Row>
),
},
{
key: 'views',
label: '访问量',
children: (
<Row>
<Col xl={16} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesBar}>
<Column
height={300}
forceFit
data={salesData as any}
xField="x"
yField="y"
xAxis={{
visible: true,
title: {
visible: false,
},
}}
yAxis={{
visible: true,
title: {
visible: false,
},
}}
title={{
visible: true,
text: '访问量趋势',
style: {
fontSize: 14,
},
}}
meta={{
y: {
alias: '访问量',
},
}}
/>
</div>
</Col>
<Col xl={8} lg={12} md={12} sm={24} xs={24}>
<div className={styles.salesRank}>
<h4 className={styles.rankingTitle}>访</h4>
<ul className={styles.rankingList}>
{rankingListData.map((item, i) => (
<li key={item.title}>
<span
className={`${styles.rankingItemNumber} ${
i < 3 ? styles.active : ''
}`}
>
{i + 1}
</span>
<span className={styles.rankingItemTitle} title={item.title}>
{item.title}
</span>
<span>{numeral(item.total).format('0,0')}</span>
</li>
))}
</ul>
</div>
</Col>
</Row>
),
},
]}
/>
</div>
</Card>
);

6
src/pages/dashboard/analysis/components/TopSearch.tsx

@ -1,12 +1,12 @@
import { TinyArea } from '@ant-design/charts';
import { InfoCircleOutlined } from '@ant-design/icons';
import { Card, Col, Row, Table, Tooltip } from 'antd';
import { TinyArea } from '@ant-design/charts';
import React from 'react';
import numeral from 'numeral';
import React from 'react';
import type { DataItem } from '../data.d';
import useStyles from '../style.style';
import NumberInfo from './NumberInfo';
import Trend from './Trend';
import useStyles from '../style.style';
const TopSearch = ({
loading,

4
src/pages/dashboard/analysis/components/Trend/index.tsx

@ -1,6 +1,6 @@
import { CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons';
import React from 'react';
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
export type TrendProps = {
colorful?: boolean;

45
src/pages/dashboard/analysis/index.tsx

@ -1,23 +1,23 @@
import type { FC } from 'react';
import { Suspense, useState } from 'react';
import { EllipsisOutlined } from '@ant-design/icons';
import { Col, Dropdown, Menu, Row } from 'antd';
import { GridContent } from '@ant-design/pro-components';
import type { RadioChangeEvent } from 'antd/es/radio';
import { useRequest } from '@umijs/max';
import { Col, Dropdown, Row } from 'antd';
import type { RangePickerProps } from 'antd/es/date-picker/generatePicker';
import type { RadioChangeEvent } from 'antd/es/radio';
import type dayjs from 'dayjs';
import type { FC } from 'react';
import { Suspense, useState } from 'react';
import IntroduceRow from './components/IntroduceRow';
import SalesCard from './components/SalesCard';
import TopSearch from './components/TopSearch';
import ProportionSales from './components/ProportionSales';
import OfflineData from './components/OfflineData';
import { useRequest } from '@umijs/max';
import { fakeChartData } from './service';
import PageLoading from './components/PageLoading';
import ProportionSales from './components/ProportionSales';
import type { TimeType } from './components/SalesCard';
import { getTimeDistance } from './utils/utils';
import SalesCard from './components/SalesCard';
import TopSearch from './components/TopSearch';
import type { AnalysisData } from './data.d';
import { fakeChartData } from './service';
import useStyles from './style.style';
import { getTimeDistance } from './utils/utils';
type RangePickerValue = RangePickerProps<dayjs.Dayjs>['value'];
type AnalysisProps = {
dashboardAndanalysis: AnalysisData;
@ -57,21 +57,32 @@ const Analysis: FC<AnalysisProps> = () => {
}
return '';
};
let salesPieData;
if (salesType === 'all') {
salesPieData = data?.salesTypeData;
} else {
salesPieData = salesType === 'online' ? data?.salesTypeDataOnline : data?.salesTypeDataOffline;
}
const menu = (
<Menu>
<Menu.Item></Menu.Item>
<Menu.Item></Menu.Item>
</Menu>
);
const dropdownGroup = (
<span className={styles.iconGroup}>
<Dropdown overlay={menu} placement="bottomRight">
<Dropdown
menu={{
items: [
{
key: '1',
label: '操作一',
},
{
key: '2',
label: '操作二',
},
],
}}
placement="bottomRight"
>
<EllipsisOutlined />
</Dropdown>
</span>

2
src/pages/dashboard/analysis/utils/utils.ts

@ -1,5 +1,5 @@
import dayjs from 'dayjs';
import type { RangePickerProps } from 'antd/es/date-picker/generatePicker';
import dayjs from 'dayjs';
type RangePickerValue = RangePickerProps<dayjs.Dayjs>['value'];

2
src/pages/dashboard/monitor/_mock.ts

@ -1,5 +1,5 @@
import mockjs from 'mockjs';
import type { Request, Response } from 'express';
import mockjs from 'mockjs';
const getTags = (_: Request, res: Response) => {
return res.json({

2
src/pages/dashboard/monitor/components/ActiveChart/index.tsx

@ -1,6 +1,6 @@
import { useEffect, useRef, useState } from 'react';
import { TinyArea } from '@ant-design/charts';
import { Statistic } from 'antd';
import { useEffect, useRef, useState } from 'react';
import useStyles from './index.style';
function fixedZero(val: number) {
return val * 1 < 10 ? `0${val}` : val;

9
src/pages/dashboard/monitor/components/Charts/Pie/index.tsx

@ -1,12 +1,11 @@
import { Chart, Coord, Geom, Tooltip } from 'bizcharts';
import React, { Component } from 'react';
import { DataView } from '@antv/data-set';
import Debounce from 'lodash.debounce';
import { Divider } from 'antd';
import ReactFitText from 'react-fittext';
import { Chart, Coord, Geom, Tooltip } from 'bizcharts';
import classNames from 'classnames';
import Debounce from 'lodash.debounce';
import React, { Component } from 'react';
import ReactFitText from 'react-fittext';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
export type PieProps = {
animate?: boolean;
color?: string;

7
src/pages/dashboard/monitor/components/Charts/TagCloud/index.tsx

@ -1,10 +1,9 @@
import { Chart, Coord, Geom, Shape, Tooltip } from 'bizcharts';
import React, { Component } from 'react';
import DataSet from '@antv/data-set';
import Debounce from 'lodash.debounce';
import { Chart, Coord, Geom, Shape, Tooltip } from 'bizcharts';
import classNames from 'classnames';
import Debounce from 'lodash.debounce';
import React, { Component } from 'react';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
/* eslint no-underscore-dangle: 0 */
/* eslint no-param-reassign: 0 */

1
src/pages/dashboard/monitor/components/Charts/WaterWave/index.tsx

@ -1,6 +1,5 @@
import React, { Component } from 'react';
import autoHeight from '../autoHeight';
import useStyles from './index.style';
/* eslint no-return-assign: 0 */
/* eslint no-mixed-operators: 0 */

4
src/pages/dashboard/monitor/components/Map/index.tsx

@ -1,6 +1,6 @@
import * as React from 'react';
import { HeatmapLayer, MapboxScene, PointLayer } from '@antv/l7-react';
import { PageLoading } from '@ant-design/pro-components';
import { HeatmapLayer, MapboxScene, PointLayer } from '@antv/l7-react';
import * as React from 'react';
const colors = ['#eff3ff', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#084594'];
export default class Map extends React.Component {

12
src/pages/dashboard/monitor/index.tsx

@ -1,12 +1,12 @@
import { Card, Col, Row, Statistic } from 'antd';
import { useRequest } from '@umijs/max';
import type { FC } from 'react';
import { Gauge, WordCloud, Liquid, RingProgress } from '@ant-design/charts';
import type { WordCloudData } from '@antv/g2plot/esm/plots/word-cloud/layer';
import { Gauge, Liquid, RingProgress, WordCloud } from '@ant-design/charts';
import { GridContent } from '@ant-design/pro-components';
import type { WordCloudData } from '@antv/g2plot/esm/plots/word-cloud/layer';
import { useRequest } from '@umijs/max';
import { Card, Col, Row, Statistic } from 'antd';
import numeral from 'numeral';
import Map from './components/Map';
import type { FC } from 'react';
import ActiveChart from './components/ActiveChart';
import Map from './components/Map';
import { queryTags } from './service';
import useStyles from './style.style';
const { Countdown } = Statistic;

2
src/pages/dashboard/workplace/_mock.ts

@ -1,6 +1,6 @@
import dayjs from 'dayjs';
import type { Request, Response } from 'express';
import type { SearchDataType, OfflineDataType, DataItem } from './data.d';
import type { DataItem, OfflineDataType, SearchDataType } from './data.d';
// mock data
const visitData: DataItem[] = [];

2
src/pages/dashboard/workplace/components/EditableLinkGroup/index.tsx

@ -1,6 +1,6 @@
import React, { createElement } from 'react';
import { PlusOutlined } from '@ant-design/icons';
import { Button } from 'antd';
import React, { createElement } from 'react';
import useStyles from './index.style';
export type EditableLink = {
title: string;

2
src/pages/dashboard/workplace/components/Radar/index.tsx

@ -1,5 +1,5 @@
import { Axis, Chart, Coord, Geom, Tooltip } from 'bizcharts';
import { Col, Row } from 'antd';
import { Axis, Chart, Coord, Geom, Tooltip } from 'bizcharts';
import React, { useEffect, useRef, useState } from 'react';
export type RadarProps = {

12
src/pages/dashboard/workplace/index.tsx

@ -1,14 +1,14 @@
import type { FC } from 'react';
import { Avatar, Card, Col, List, Skeleton, Row, Statistic } from 'antd';
import { Radar } from '@ant-design/charts';
import { Link, useRequest } from '@umijs/max';
import { PageContainer } from '@ant-design/pro-components';
import { Link, useRequest } from '@umijs/max';
import { Avatar, Card, Col, List, Row, Skeleton, Statistic } from 'antd';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import type { FC } from 'react';
import EditableLinkGroup from './components/EditableLinkGroup';
import useStyles from './style.style';
import type { ActivitiesType, CurrentUser } from './data.d';
import { queryProjectNotice, queryActivities, fakeChartData } from './service';
import relativeTime from 'dayjs/plugin/relativeTime';
import { fakeChartData, queryActivities, queryProjectNotice } from './service';
import useStyles from './style.style';
dayjs.extend(relativeTime);
const links = [

2
src/pages/dashboard/workplace/service.ts

@ -1,5 +1,5 @@
import { request } from '@umijs/max';
import type { NoticeType, ActivitiesType, AnalysisData } from './data';
import type { ActivitiesType, AnalysisData, NoticeType } from './data';
export async function queryProjectNotice(): Promise<{ data: NoticeType[] }> {
return request('/api/project/notice');

2
src/pages/exception/403/index.tsx

@ -1,5 +1,5 @@
import { Link } from '@umijs/max';
import { Result, Button } from 'antd';
import { Button, Result } from 'antd';
export default () => (
<Result

2
src/pages/exception/404/index.tsx

@ -1,5 +1,5 @@
import { Link } from '@umijs/max';
import { Result, Button } from 'antd';
import { Button, Result } from 'antd';
export default () => (
<Result

2
src/pages/exception/500/index.tsx

@ -1,5 +1,5 @@
import { Link } from '@umijs/max';
import { Result, Button } from 'antd';
import { Button, Result } from 'antd';
export default () => (
<Result

2
src/pages/form/advanced-form/components/TableForm.tsx

@ -1,5 +1,5 @@
import { PlusOutlined } from '@ant-design/icons';
import { Button, Divider, Input, Popconfirm, Table, message } from 'antd';
import { Button, Divider, Input, message, Popconfirm, Table } from 'antd';
import type { FC } from 'react';
import React, { useState } from 'react';
import useStyles from '../style.style';

13
src/pages/form/advanced-form/index.tsx

@ -1,17 +1,18 @@
import { CloseCircleOutlined } from '@ant-design/icons';
import { Card, Col, Popover, Row, message } from 'antd';
import type { FC } from 'react';
import { useState } from 'react';
import type { ProColumnType } from '@ant-design/pro-components';
import {
EditableProTable,
FooterToolbar,
PageContainer,
ProForm,
ProFormDateRangePicker,
ProFormSelect,
ProFormText,
ProFormTimePicker,
} from '@ant-design/pro-components';
import type { ProColumnType } from '@ant-design/pro-components';
import { EditableProTable } from '@ant-design/pro-components';
import { PageContainer, FooterToolbar } from '@ant-design/pro-components';
import { Card, Col, message, Popover, Row } from 'antd';
import type { FC } from 'react';
import { useState } from 'react';
import { fakeSubmitForm } from './service';
import useStyles from './style.style';
interface TableFormDateType {

4
src/pages/form/basic-form/index.tsx

@ -1,5 +1,5 @@
import { Card, message } from 'antd';
import {
PageContainer,
ProForm,
ProFormDateRangePicker,
ProFormDependency,
@ -10,8 +10,8 @@ import {
ProFormTextArea,
} from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import { Card, message } from 'antd';
import type { FC } from 'react';
import { PageContainer } from '@ant-design/pro-components';
import { fakeSubmitForm } from './service';
import useStyles from './style.style';
const BasicForm: FC<Record<string, any>> = () => {

8
src/pages/form/step-form/index.tsx

@ -1,14 +1,14 @@
import React, { useRef, useState } from 'react';
import type { FormInstance } from 'antd';
import { Card, Result, Button, Descriptions, Divider, Alert, Statistic } from 'antd';
import { PageContainer } from '@ant-design/pro-components';
import {
PageContainer,
ProForm,
ProFormDigit,
ProFormSelect,
ProFormText,
StepsForm,
} from '@ant-design/pro-components';
import type { FormInstance } from 'antd';
import { Alert, Button, Card, Descriptions, Divider, Result, Statistic } from 'antd';
import React, { useRef, useState } from 'react';
import type { StepDataType } from './data.d';
import useStyles from './style.style';
const StepDescriptions: React.FC<{

6
src/pages/list/basic-list/components/OperationModal.tsx

@ -1,14 +1,14 @@
import type { FC } from 'react';
import {
ModalForm,
ProFormSelect,
ProFormDateTimePicker,
ProFormSelect,
ProFormText,
ProFormTextArea,
} from '@ant-design/pro-components';
import { Button, Result } from 'antd';
import type { FC } from 'react';
import type { BasicListItemDataType } from '../data.d';
import useStyles from '../style.style';
import { Button, Result } from 'antd';
type OperationModalProps = {
done: boolean;
visible: boolean;

30
src/pages/list/basic-list/index.tsx

@ -1,6 +1,6 @@
import type { FC } from 'react';
import React, { useState } from 'react';
import { DownOutlined, PlusOutlined } from '@ant-design/icons';
import { PageContainer } from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import {
Avatar,
Button,
@ -9,18 +9,17 @@ import {
Dropdown,
Input,
List,
Menu,
Modal,
Progress,
Radio,
Row,
} from 'antd';
import { PageContainer } from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import dayjs from 'dayjs';
import type { FC } from 'react';
import React, { useState } from 'react';
import OperationModal from './components/OperationModal';
import { addFakeList, queryFakeList, removeFakeList, updateFakeList } from './service';
import type { BasicListItemDataType } from './data.d';
import { addFakeList, queryFakeList, removeFakeList, updateFakeList } from './service';
import useStyles from './style.style';
const RadioButton = Radio.Button;
const RadioGroup = Radio.Group;
@ -141,12 +140,19 @@ export const BasicList: FC = () => {
item: BasicListItemDataType;
}> = ({ item }) => (
<Dropdown
overlay={
<Menu onClick={({ key }) => editAndDelete(key, item)}>
<Menu.Item key="edit"></Menu.Item>
<Menu.Item key="delete"></Menu.Item>
</Menu>
}
menu={{
onClick: ({ key }) => editAndDelete(key, item),
items: [
{
key: 'edit',
name: '编辑',
},
{
key: 'delete',
name: '删除',
},
],
}}
>
<a>
<DownOutlined />

4
src/pages/list/card-list/index.tsx

@ -1,9 +1,9 @@
import { PlusOutlined } from '@ant-design/icons';
import { Button, Card, List, Typography } from 'antd';
import { PageContainer } from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import { queryFakeList } from './service';
import { Button, Card, List, Typography } from 'antd';
import type { CardListItemDataType } from './data.d';
import { queryFakeList } from './service';
import useStyles from './style.style';
const { Paragraph } = Typography;
const CardList = () => {

2
src/pages/list/search/applications/components/StandardFormRow/index.tsx

@ -1,5 +1,5 @@
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
type StandardFormRowProps = {
title?: string;

41
src/pages/list/search/applications/index.tsx

@ -4,11 +4,11 @@ import {
EllipsisOutlined,
ShareAltOutlined,
} from '@ant-design/icons';
import { Avatar, Card, Col, Dropdown, Form, List, Menu, Row, Select, Tooltip } from 'antd';
import { useRequest } from '@umijs/max';
import { Avatar, Card, Col, Dropdown, Form, List, Row, Select, Tooltip } from 'antd';
import numeral from 'numeral';
import type { FC } from 'react';
import React from 'react';
import { useRequest } from '@umijs/max';
import StandardFormRow from './components/StandardFormRow';
import TagSelect from './components/TagSelect';
import type { ListItemDataType } from './data.d';
@ -75,26 +75,9 @@ export const Applications: FC<Record<string, any>> = () => {
count: 8,
});
});
const list = data?.list || [];
const itemMenu = (
<Menu>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.alipay.com/">
1st menu item
</a>
</Menu.Item>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.taobao.com/">
2nd menu item
</a>
</Menu.Item>
<Menu.Item>
<a target="_blank" rel="noopener noreferrer" href="https://www.tmall.com/">
3d menu item
</a>
</Menu.Item>
</Menu>
);
return (
<div className={styles.filterCardList}>
<Card bordered={false}>
@ -191,7 +174,21 @@ export const Applications: FC<Record<string, any>> = () => {
<Tooltip title="分享" key="share">
<ShareAltOutlined />
</Tooltip>,
<Dropdown key="ellipsis" overlay={itemMenu}>
<Dropdown
key="ellipsis"
menu={{
items: [
{
key: '1',
title: '1st menu item',
},
{
key: '2',
title: '2st menu item',
},
],
}}
>
<EllipsisOutlined />
</Dropdown>,
]}

2
src/pages/list/search/applications/service.ts

@ -1,5 +1,5 @@
import { request } from '@umijs/max';
import type { Params, ListItemDataType } from './data.d';
import type { ListItemDataType, Params } from './data.d';
export async function queryFakeList(
params: Params,

2
src/pages/list/search/articles/components/ArticleListContent/index.tsx

@ -1,6 +1,6 @@
import { Avatar } from 'antd';
import React from 'react';
import dayjs from 'dayjs';
import React from 'react';
import useStyles from './index.style';
type ArticleListContentProps = {
data: {

2
src/pages/list/search/articles/components/StandardFormRow/index.tsx

@ -1,5 +1,5 @@
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
type StandardFormRowProps = {
title?: string;

2
src/pages/list/search/articles/service.ts

@ -1,5 +1,5 @@
import { request } from '@umijs/max';
import type { Params, ListItemDataType } from './data.d';
import type { ListItemDataType, Params } from './data.d';
export async function queryFakeList(
params: Params,

6
src/pages/list/search/index.tsx

@ -1,7 +1,7 @@
import { PageContainer } from '@ant-design/pro-components';
import { history, Outlet, useLocation, useMatch } from '@umijs/max';
import { Input } from 'antd';
import type { FC } from 'react';
import { history, useMatch, useLocation } from '@umijs/max';
type SearchProps = {
children?: React.ReactNode;
@ -22,7 +22,7 @@ const tabList = [
},
];
const Search: FC<SearchProps> = (props) => {
const Search: FC<SearchProps> = () => {
const location = useLocation();
let match = useMatch(location.pathname);
const handleTabChange = (key: string) => {
@ -73,7 +73,7 @@ const Search: FC<SearchProps> = (props) => {
tabActiveKey={getTabKey()}
onTabChange={handleTabChange}
>
{props.children}
<Outlet />
</PageContainer>
);
};

2
src/pages/list/search/projects/components/AvatarList/index.tsx

@ -1,6 +1,6 @@
import { Avatar, Tooltip } from 'antd';
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
export declare type SizeType = number | 'small' | 'default' | 'large';
export type AvatarItemProps = {

2
src/pages/list/search/projects/components/StandardFormRow/index.tsx

@ -1,5 +1,5 @@
import React from 'react';
import classNames from 'classnames';
import React from 'react';
import useStyles from './index.style';
type StandardFormRowProps = {
title?: string;

6
src/pages/list/search/projects/index.tsx

@ -1,14 +1,14 @@
import { useRequest } from '@umijs/max';
import { Card, Col, Form, List, Row, Select, Typography } from 'antd';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import type { FC } from 'react';
import { useRequest } from '@umijs/max';
import AvatarList from './components/AvatarList';
import StandardFormRow from './components/StandardFormRow';
import TagSelect from './components/TagSelect';
import type { ListItemDataType } from './data.d';
import { queryFakeList } from './service';
import useStyles from './style.style';
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
dayjs.extend(relativeTime);
const { Option } = Select;
const FormItem = Form.Item;

2
src/pages/list/search/projects/service.ts

@ -1,5 +1,5 @@
import { request } from '@umijs/max';
import type { Params, ListItemDataType } from './data';
import type { ListItemDataType, Params } from './data';
export async function queryFakeList(
params: Params,

50
src/pages/list/search/projects/utils/utils.less

@ -1,50 +0,0 @@
.textOverflow() {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
}
.textOverflowMulti(@line: 3, @bg: #fff) {
position: relative;
max-height: @line * 1.5em;
margin-right: -1em;
padding-right: 1em;
overflow: hidden;
line-height: 1.5em;
text-align: justify;
&::before {
position: absolute;
right: 14px;
bottom: 0;
padding: 0 1px;
background: @bg;
content: '...';
}
&::after {
position: absolute;
right: 14px;
width: 1em;
height: 1em;
margin-top: 0.2em;
background: white;
content: '';
}
}
// mixins for clearfix
// ------------------------
.clearfix() {
zoom: 1;
&::before,
&::after {
display: table;
content: ' ';
}
&::after {
clear: both;
height: 0;
font-size: 0;
visibility: hidden;
}
}

6
src/pages/list/search/projects/utils/utils.style.ts

@ -1,6 +0,0 @@
import { createStyles } from 'antd-style';
const useStyles = createStyles(() => {
return {};
});
export default useStyles;

2
src/pages/list/table-list/components/CreateForm.tsx

@ -1,5 +1,5 @@
import React from 'react';
import { Modal } from 'antd';
import React from 'react';
type CreateFormProps = {
modalVisible: boolean;

8
src/pages/list/table-list/components/UpdateForm.tsx

@ -1,13 +1,13 @@
import React from 'react';
import { Modal } from 'antd';
import {
ProFormDateTimePicker,
ProFormRadio,
ProFormSelect,
ProFormText,
ProFormTextArea,
StepsForm,
ProFormRadio,
ProFormDateTimePicker,
} from '@ant-design/pro-components';
import { Modal } from 'antd';
import React from 'react';
import type { TableListItem } from '../data';
export type FormValueType = {

22
src/pages/list/table-list/index.tsx

@ -1,16 +1,20 @@
import { PlusOutlined } from '@ant-design/icons';
import { Button, message, Input, Drawer } from 'antd';
import React, { useState, useRef } from 'react';
import { PageContainer, FooterToolbar } from '@ant-design/pro-components';
import type { ProColumns, ActionType } from '@ant-design/pro-components';
import { ProTable } from '@ant-design/pro-components';
import { ModalForm, ProFormText, ProFormTextArea } from '@ant-design/pro-components';
import type { ProDescriptionsItemProps } from '@ant-design/pro-components';
import { ProDescriptions } from '@ant-design/pro-components';
import type { ActionType, ProColumns, ProDescriptionsItemProps } from '@ant-design/pro-components';
import {
FooterToolbar,
ModalForm,
PageContainer,
ProDescriptions,
ProFormText,
ProFormTextArea,
ProTable,
} from '@ant-design/pro-components';
import { Button, Drawer, Input, message } from 'antd';
import React, { useRef, useState } from 'react';
import type { FormValueType } from './components/UpdateForm';
import UpdateForm from './components/UpdateForm';
import { rule, addRule, updateRule, removeRule } from './service';
import type { TableListItem, TableListPagination } from './data';
import { addRule, removeRule, rule, updateRule } from './service';
/**
*
*

66
src/pages/profile/advanced/index.tsx

@ -4,47 +4,32 @@ import {
EllipsisOutlined,
InfoCircleOutlined,
} from '@ant-design/icons';
import { GridContent, PageContainer, RouteContext } from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import {
Badge,
Button,
Card,
Statistic,
Descriptions,
Divider,
Dropdown,
Menu,
Empty,
Popover,
Statistic,
Steps,
Table,
Tooltip,
Empty,
} from 'antd';
import { GridContent, PageContainer, RouteContext } from '@ant-design/pro-components';
import classNames from 'classnames';
import type { FC } from 'react';
import React, { Fragment, useState } from 'react';
import classNames from 'classnames';
import { useRequest } from '@umijs/max';
import type { AdvancedProfileData } from './data.d';
import { queryAdvancedProfile } from './service';
import useStyles from './style.style';
const { Step } = Steps;
const ButtonGroup = Button.Group;
const menu = (
<Menu>
<Menu.Item key="1"></Menu.Item>
<Menu.Item key="2"></Menu.Item>
<Menu.Item key="3"></Menu.Item>
</Menu>
);
const mobileMenu = (
<Menu>
<Menu.Item key="1"></Menu.Item>
<Menu.Item key="2"></Menu.Item>
<Menu.Item key="3"></Menu.Item>
<Menu.Item key="4"></Menu.Item>
<Menu.Item key=""></Menu.Item>
</Menu>
);
const action = (
<RouteContext.Consumer>
{({ isMobile }) => {
@ -53,7 +38,22 @@ const action = (
<Dropdown.Button
type="primary"
icon={<DownOutlined />}
overlay={mobileMenu}
menu={{
items: [
{
key: '1',
label: '操作一',
},
{
key: '2',
label: '操作二',
},
{
key: '3',
label: '操作三',
},
],
}}
placement="bottomRight"
>
@ -65,7 +65,25 @@ const action = (
<ButtonGroup>
<Button></Button>
<Button></Button>
<Dropdown overlay={menu} placement="bottomRight">
<Dropdown
menu={{
items: [
{
key: '1',
label: '选项一',
},
{
key: '2',
label: '选项二',
},
{
key: '3',
label: '选项三',
},
],
}}
placement="bottomRight"
>
<Button>
<EllipsisOutlined />
</Button>

5
src/pages/profile/basic/index.tsx

@ -1,10 +1,9 @@
import { PageContainer } from '@ant-design/pro-components';
import type { ProColumns } from '@ant-design/pro-components';
import { ProTable } from '@ant-design/pro-components';
import { PageContainer, ProTable } from '@ant-design/pro-components';
import { useRequest } from '@umijs/max';
import { Badge, Card, Descriptions, Divider } from 'antd';
import type { FC } from 'react';
import React from 'react';
import { useRequest } from '@umijs/max';
import type { BasicGood, BasicProgress } from './data.d';
import { queryBasicProfile } from './service';
import useStyles from './style.style';

2
src/pages/result/fail/index.tsx

@ -1,7 +1,7 @@
import { CloseCircleOutlined, RightOutlined } from '@ant-design/icons';
import { GridContent } from '@ant-design/pro-components';
import { Button, Card, Result } from 'antd';
import { Fragment } from 'react';
import { GridContent } from '@ant-design/pro-components';
import useStyles from './index.style';
export default () => {

4
src/pages/result/success/index.tsx

@ -1,7 +1,7 @@
import { DingdingOutlined } from '@ant-design/icons';
import { Button, Card, Steps, Result, Descriptions } from 'antd';
import { Fragment } from 'react';
import { GridContent } from '@ant-design/pro-components';
import { Button, Card, Descriptions, Result, Steps } from 'antd';
import { Fragment } from 'react';
import useStyles from './index.style';
const { Step } = Steps;

2
src/pages/user/register-result/index.tsx

@ -1,5 +1,5 @@
import { Button, Result } from 'antd';
import { Link, useSearchParams } from '@umijs/max';
import { Button, Result } from 'antd';
import React from 'react';
import useStyles from './style.style';

8
src/pages/user/register/index.tsx

@ -1,8 +1,8 @@
import type { FC } from 'react';
import { useState, useEffect } from 'react';
import { Form, Button, Col, Input, Popover, Progress, Row, Select, message } from 'antd';
import { history, Link, useRequest } from '@umijs/max';
import { Button, Col, Form, Input, message, Popover, Progress, Row, Select } from 'antd';
import type { Store } from 'antd/es/form/interface';
import { Link, useRequest, history } from '@umijs/max';
import type { FC } from 'react';
import { useEffect, useState } from 'react';
import type { StateType } from './service';
import { fakeRegister } from './service';
import useStyles from './style.style';

Loading…
Cancel
Save