Bladeren bron

Merge wzy

Next wzy
XieYongHong 3 jaren geleden
bovenliggende
commit
c38874280e

BIN
public/logo.png


+ 20 - 1
src/app.tsx

@@ -316,8 +316,27 @@ export const layout: RunTimeLayoutConfig = ({ initialState }) => {
     menuHeaderRender: undefined,
     // 自定义 403 页面
     // unAccessible: <div>unAccessible</div>,
+    pageTitleRender: (_props, _, info) => {
+      if (initialState?.settings?.title) {
+        return info?.pageName + ' - ' + initialState?.settings?.title;
+      } else {
+        return info?.pageName;
+      }
+    },
+    title: (
+      <div
+        title={initialState?.settings?.title || ''}
+        style={{
+          maxWidth: 150,
+          overflow: 'hidden',
+          textOverflow: 'ellipsis',
+          whiteSpace: 'nowrap',
+        }}
+      >
+        {initialState?.settings?.title}
+      </div>
+    ),
     ...initialState?.settings,
-    // title: '',
     // logo:''
   };
 };

+ 3 - 3
src/pages/home/device/index.tsx

@@ -50,7 +50,7 @@ const Device = () => {
       name: '创建产品',
       english: 'STEP1',
       auth: !!productPermission.add,
-      url: 'device/Product',
+      url: getMenuPathByCode('device/Product'),
       param: {
         save: true,
       },
@@ -60,7 +60,7 @@ const Device = () => {
       name: '创建设备',
       english: 'STEP2',
       auth: !!devicePermission.add,
-      url: 'device/Instance',
+      url: getMenuPathByCode('device/Instance'),
       param: {
         save: true,
       },
@@ -70,7 +70,7 @@ const Device = () => {
       name: '规则引擎',
       english: 'STEP3',
       auth: !!rulePermission.add,
-      url: 'rule-engine/Instance',
+      url: getMenuPathByCode('rule-engine/Instance'),
       param: {
         save: true,
       },

+ 28 - 2
src/pages/init-home/components/basis.tsx

@@ -1,6 +1,7 @@
 import { UploadImage } from '@/components';
 import { Col, Form, Input, Row, Select } from 'antd';
 import { useEffect, forwardRef, useImperativeHandle } from 'react';
+import { useModel } from '@@/plugin-model/useModel';
 import { service } from '../index';
 
 interface Props {
@@ -9,6 +10,7 @@ interface Props {
 
 const Basis = forwardRef((props: Props, ref) => {
   const [form] = Form.useForm();
+  const { initialState, setInitialState } = useModel<any>('@@initialState');
 
   const saveData = () => {
     return new Promise(async (resolve) => {
@@ -34,6 +36,17 @@ const Basis = forwardRef((props: Props, ref) => {
         const res = await service.save(item);
         if (res.status === 200) {
           resolve(true);
+          setInitialState({
+            ...initialState,
+            settings: {
+              ...initialState?.settings,
+              logo: formData.logo,
+            },
+          });
+          const ico: any = document.querySelector('link[rel="icon"]');
+          if (ico !== null) {
+            ico.href = formData.ico;
+          }
         } else {
           resolve(false);
         }
@@ -54,10 +67,23 @@ const Basis = forwardRef((props: Props, ref) => {
   }, []);
 
   return (
-    <Form layout="vertical" form={form}>
+    <Form
+      layout="vertical"
+      form={form}
+      initialValues={{
+        logo: require('/public/logo.png'),
+        ico: require('/public/favicon.ico'),
+        backgroud: require('/public/images/login.png'),
+        apikey: '',
+      }}
+    >
       <Row gutter={[24, 24]}>
         <Col span={10}>
-          <Form.Item label="系统名称" name="title">
+          <Form.Item
+            label="系统名称"
+            name="title"
+            rules={[{ max: 64, message: '最多可输入64个字符' }]}
+          >
             <Input placeholder={'请输入系统名称'} />
           </Form.Item>
           <Form.Item

+ 5 - 1
src/pages/init-home/components/data/index.tsx

@@ -78,7 +78,11 @@ const Data = forwardRef((_, ref) => {
       <img
         style={{ width: 300 }}
         onClick={() => {
-          setVisible(true);
+          if (flag) {
+            setFlag(false);
+          } else {
+            setVisible(true);
+          }
         }}
         src={
           flag

+ 1 - 1
src/pages/init-home/index.tsx

@@ -143,7 +143,7 @@ const InitHome = () => {
                 });
               }}
             >
-              确
+              确
             </Button>
           </div>
         </div>

+ 2 - 2
src/pages/link/Channel/Modbus/savePoint.tsx

@@ -139,10 +139,10 @@ const SavePoint = (props: Props) => {
               name="address"
               tooltip="范围在0x0-0xFFFF"
               rules={[
-                { required: true, message: '请输入读取长度' },
+                { required: true, message: '请输入地址' },
                 ({}) => ({
                   validator(_, value) {
-                    if (value > 1 && value < 255) {
+                    if (value >= 1 && value <= 255) {
                       return Promise.resolve();
                     }
                     return Promise.reject(new Error('请输入1~255之间的数字'));

+ 8 - 1
src/pages/system/Basis/index.tsx

@@ -71,7 +71,14 @@ const Basis = () => {
         <Form layout="vertical" form={form}>
           <Row gutter={[24, 24]}>
             <Col span={10}>
-              <Form.Item label="系统名称" name="title">
+              <Form.Item
+                label="系统名称"
+                name="title"
+                rules={[
+                  { required: true, message: '名称必填' },
+                  { max: 64, message: '最多可输入64个字符' },
+                ]}
+              >
                 <Input />
               </Form.Item>
               <Form.Item

+ 16 - 7
src/pages/user/Login/index.tsx

@@ -92,9 +92,14 @@ const Login: React.FC = () => {
     });
     Service.settingDetail('basis').then((res) => {
       if (res.status === 200) {
-        console.log(res.result);
         const ico: any = document.querySelector('link[rel="icon"]');
-        ico.href = res.result.ico + setBasis(res.result);
+        ico.href = res.result.ico;
+        setBasis(res.result);
+        if (res.result.title) {
+          document.title = res.result.title;
+        } else {
+          document.title = '';
+        }
       }
     });
   }, []);
@@ -160,17 +165,21 @@ const Login: React.FC = () => {
 
   const doLogin = async (data: LoginParam) => {
     setLoading(true);
-    const res = await Service.login2({ expires: loginRef.current.expires, verifyKey: captcha.key, ...data })
-    setLoading(false)
+    const res = await Service.login2({
+      expires: loginRef.current.expires,
+      verifyKey: captcha.key,
+      ...data,
+    });
+    setLoading(false);
     if (res.status === 200) {
-      const userInfo = res.result
+      const userInfo = res.result;
       Token.set(userInfo.token);
       const userRef: any = await fetchUserInfo();
       if (userRef?.user?.username === 'admin') {
-        const initRef = await Service.initPage()
+        const initRef = await Service.initPage();
         if (initRef.status === 200 && !initRef.result.length) {
           window.location.href = '/#/init-home';
-          return
+          return;
         }
       }
       window.location.href = '/';