Kaynağa Gözat

fix: 路由path变更、用useParams替换useLocation

lanjianrong 3 yıl önce
ebeveyn
işleme
f79f106d4d

+ 9 - 9
config/routes.ts

@@ -120,19 +120,19 @@
     ]
   },
   {
-    path: '/workSetting',
-    name: 'workSetting',
+    path: '/schema',
+    name: 'schema',
     icon: 'ControlOutlined',
     routes: [
       {
-        path: 'schema',
-        name: 'schema',
+        path: 'base',
+        name: 'base',
         icon: 'icon-schema',
         component: './Schema/Base/index.tsx'
       },
       {
-        path: '/workSetting/schema/detail',
-        name: 'schema-detail',
+        path: 'base/:id',
+        name: 'baseDetail',
         hideInMenu: true,
         component: './Schema/Base/detail.tsx'
       },
@@ -179,9 +179,9 @@
       //   component: './System/Setting'
       // },
       {
-        path: 'admin-update',
-        name: 'admin-update',
-        component: './System/AdminUpdate'
+        path: 'admin',
+        name: 'admin',
+        component: './System/Admin'
       }
     ]
   },

+ 8 - 0
src/global.less

@@ -1,3 +1,4 @@
+/* stylelint-disable */
 @import '~antd/es/style/themes/default.less';
 
 html,
@@ -32,6 +33,13 @@ ol {
   list-style: none;
 }
 
+*,
+:after,
+:before {
+  box-sizing: border-box;
+  border: 0 solid #e5e7eb;
+}
+
 @media (max-width: @screen-xs) {
   .ant-table {
     width: 100%;

+ 7 - 9
src/locales/zh-CN/menu.ts

@@ -29,17 +29,15 @@ export default {
   'menu.business.processuser': '流程用户设置',
   'menu.institutions.company.list': '单位列表',
   'menu.institutions.company.detail': '单位详情',
-  'menu.workSetting': '表单设置',
-  'menu.workSetting.schema': '基础数据设置',
-  'menu.workSetting.option': '数据源设置',
-  'menu.workSetting.budget': '预算业务表单',
-  'menu.workSetting.test': '测试',
-  'menu.workSetting.schema-detail': '编辑数据模型',
+  'menu.schema': '表单设置',
+  'menu.schema.base': '基础数据设置',
+  'menu.schema.option': '数据源设置',
+  'menu.schema.budget': '预算业务表单',
+  'menu.schema.test': '测试',
+  'menu.schema.baseDetail': '编辑数据模型',
   'menu.system': '系统管理',
   'menu.system.setting': '系统设置',
-  'menu.system.admin-update': '管理员',
+  'menu.system.admin': '管理员',
   'menu.permission': '权限设置',
   'menu.permission.role': '功能角色设置'
-  // 'menu.work-setting.schema.base': '基础数据设置',
-  // 'menu.work-setting.schema.detail': '基础数据设置',
 }

+ 2 - 4
src/pages/Schema/Base/components/Designable/index.tsx

@@ -36,7 +36,7 @@ import {
   FormGrid,
   FormLayout
 } from './antd'
-import { connect, useLocation } from '@umijs/max'
+import { connect, useLocation, useParams } from '@umijs/max'
 
 GlobalRegistry.registerDesignerLocales({
   'zh-CN': {
@@ -51,9 +51,7 @@ interface DesignableProps {
   title: string
 }
 const Designable: FC<DesignableProps> = ({ base, title }) => {
-  const {
-    state: { columnType }
-  } = useLocation()
+  const { id: columnType } = useParams()
 
   const engine = useMemo(
     () =>

+ 3 - 6
src/pages/Schema/Base/components/Designable/widgets/ActionsWidget.tsx

@@ -4,16 +4,13 @@ import { useDesigner, TextWidget } from '@designable/react'
 import { GlobalRegistry } from '@designable/core'
 import { observer } from '@formily/react'
 import { loadInitialSchema } from '../service'
-import { useDispatch, useHistory, useLocation, useRequest } from '@umijs/max'
+import { useDispatch, history, useParams, useRequest } from '@umijs/max'
 import { transformToSchema } from '@designable/formily-transformer'
 import { updateSchema } from '@/services/api/schema'
 
 export const ActionsWidget = observer(({ schema }) => {
-  const history = useHistory()
   const designer = useDesigner()
-  const {
-    state: { columnType }
-  } = useLocation()
+  const { id: columnType } = useParams()
   useEffect(() => {
     schema && loadInitialSchema(designer, schema)
     GlobalRegistry.setDesignerLanguage('zh-cn')
@@ -41,7 +38,7 @@ export const ActionsWidget = observer(({ schema }) => {
   }
   return (
     <Space style={{ marginRight: 10 }}>
-      <Button onClick={() => history.replace('/work-setting/schema')}>
+      <Button onClick={() => history.replace('/schema/base')}>
         <TextWidget>返回</TextWidget>
       </Button>
       <Button type="primary" onClick={() => saveSchema(designer)}>

+ 3 - 5
src/pages/Schema/Base/detail.tsx

@@ -1,6 +1,6 @@
 import React, { useEffect } from 'react'
 import { PageContainer } from '@ant-design/pro-layout'
-import { connect } from '@umijs/max'
+import { connect, useParams } from '@umijs/max'
 import type { ConnectProps } from '@umijs/max'
 import type { RouteComponentProps } from 'react-router'
 import type { SchemaBaseModelState } from './model'
@@ -9,10 +9,8 @@ import Designable from './components/Designable'
 
 type DetailProps = RouteComponentProps & ConnectProps
 
-const Detail: React.FC<DetailProps> = ({ dispatch, base, location }) => {
-  const {
-    state: { columnType }
-  } = location
+const Detail: React.FC<DetailProps> = ({ dispatch, base }) => {
+  const { id: columnType } = useParams()
 
   useEffect(() => {
     if (columnType && !base[columnType]) {

+ 1 - 30
src/pages/Schema/Base/index.tsx

@@ -49,32 +49,6 @@ type BaseProps = ConnectProps & {
   pTypeList: { label: string; value: string }[]
 }
 
-export const generateFieldIsCreated = (field: GeneralField) => {
-  if (!field.value) {
-    field.setDecoratorProps({
-      addonAfter: (
-        <span>
-          开启后,该账号添加成功后将成为
-          <Link to="/project/created" className="text-primary">
-            "项目创建人"
-          </Link>
-        </span>
-      )
-    })
-  } else {
-    field.setDecoratorProps({
-      addonAfter: (
-        <div>
-          <span className="text-red-500">需要移除请进入</span>
-          <Link to="/project/created" className="text-primary">
-            "项目创建人"
-          </Link>
-        </div>
-      )
-    })
-  }
-}
-
 const Index: React.FC<BaseProps> = ({ base, pTypeList, dispatch }) => {
   const [state, setState] = useState({
     activeKey: BaseMenuEnum.PROJECT
@@ -99,10 +73,7 @@ const Index: React.FC<BaseProps> = ({ base, pTypeList, dispatch }) => {
   }, [state.activeKey])
 
   const gotoDetail = columnType => {
-    history.push({
-      pathname: '/work-setting/schema/detail',
-      state: { columnType }
-    })
+    history.push(`/schema/base/${columnType}`)
   }
 
   const renderForm = () => {

src/pages/System/AdminUpdate/index.tsx → src/pages/System/Admin/index.tsx