Просмотр исходного кода

Merge pull request #734 from jetlinks/next-hub

Next hub
胡彪 3 лет назад
Родитель
Сommit
ecd9194442

+ 11 - 2
src/components/ProTableCard/index.tsx

@@ -170,7 +170,6 @@ const ProTableCard = <
     if (pageSize !== size) {
       _current = 1;
     }
-    // console.log(_current);
     setCurrent(_current);
     setPageIndex(_current - 1);
     setPageSize(size);
@@ -226,7 +225,17 @@ const ProTableCard = <
         options={model === ModelEnum.CARD ? false : { ...props.options, fullScreen: false }}
         request={async (param, sort, filter) => {
           if (request) {
-            const resp = await request(param, sort, filter);
+            delete param.total; //不传总数,不传则需要后端重新更新
+            let resp = await request(param, sort, filter);
+            if (resp.result.data.length === 0 && resp.result.pageIndex > 0) {
+              const newParam = {
+                ...param,
+                current: param.current - 1,
+                pageIndex: param.pageIndex - 1,
+              };
+              pageChange(newParam.current, newParam.pageSize);
+              resp = await request(newParam, sort, filter);
+            }
             setLoading(false);
             setTotal(resp.result ? resp.result.total : 0);
             return {

+ 32 - 0
src/pages/device/components/Metadata/Base/Edit/index.tsx

@@ -676,6 +676,22 @@ const Edit = observer((props: Props) => {
                     title: '窗口长度',
                     'x-component': 'Input',
                     'x-decorator': 'FormItem',
+                    format: 'number',
+                    'x-validator': [
+                      {
+                        // triggerType: 'onBlur',
+                        validator: (value: any[]) => {
+                          return new Promise((resolve) => {
+                            const number = Number(value);
+                            if (number <= 0 || value.length > 64 || /[.]/.test(value)) {
+                              resolve('请输入非0正整数,最多可输入64个字符');
+                            } else {
+                              resolve('');
+                            }
+                          });
+                        },
+                      },
+                    ],
                     'x-reactions': [
                       {
                         dependencies: ['..windowType'],
@@ -710,6 +726,22 @@ const Edit = observer((props: Props) => {
                     title: '步长',
                     'x-component': 'Input',
                     'x-decorator': 'FormItem',
+                    format: 'number',
+                    'x-validator': [
+                      {
+                        // triggerType: 'onBlur',
+                        validator: (value: any[]) => {
+                          return new Promise((resolve) => {
+                            const number = Number(value);
+                            if (number <= 0 || value.length > 64 || /[.]/.test(value)) {
+                              resolve('请输入非0正整数,最多可输入64个字符');
+                            } else {
+                              resolve('');
+                            }
+                          });
+                        },
+                      },
+                    ],
                     'x-reactions': [
                       {
                         dependencies: ['..windowType'],

+ 2 - 1
src/pages/link/Protocol/FileUpload/index.tsx

@@ -47,7 +47,8 @@ const FileUpload = connect((props: Props) => {
           <Input
             style={{ width: 'calc(100% - 100px)' }}
             value={url}
-            disabled={props?.disabled}
+            // disabled={props?.disabled}
+            disabled
             onClick={(e) => {
               e.preventDefault();
               e.stopPropagation();

+ 8 - 0
src/pages/system/Department/Member/bind.tsx

@@ -80,6 +80,10 @@ const Bind = observer((props: Props) => {
       onCancel={props.onCancel}
       width={'75vw'}
       title="绑定"
+      centered
+      bodyStyle={{
+        paddingBottom: 0,
+      }}
     >
       <SearchComponent<UserItem>
         model={'simple'}
@@ -103,6 +107,10 @@ const Bind = observer((props: Props) => {
         columns={columns}
         rowKey="id"
         columnEmptyText={''}
+        tableStyle={{
+          height: 575,
+          overflowY: 'auto',
+        }}
         search={false}
         params={searchParam}
         tableAlertRender={({ selectedRowKeys }) => <div>已选择 {selectedRowKeys.length} 项</div>}

+ 22 - 2
src/pages/system/Department/Member/index.tsx

@@ -223,7 +223,8 @@ const Member = observer((props: { parentId: string }) => {
         search={false}
         rowKey="id"
         columnEmptyText={''}
-        request={(params) => {
+        request={async (params) => {
+          delete params.total;
           params.sorts = [{ name: 'createTime', order: 'desc' }];
           if (!props.parentId) {
             return {
@@ -237,7 +238,26 @@ const Member = observer((props: { parentId: string }) => {
               status: 200,
             };
           }
-          return service.queryUser(params);
+          const resp: any = await service.queryUser(params);
+
+          // if(resp?.result?.data?.length === 0 && resp?.result?.pageIndex > 0){
+          //   const newParams ={
+          //     ...params,
+          //     pageIndex: resp?.result?.pageIndex - 1,
+          //     current: resp?.result?.current - 1
+          //   }
+          //   resp = await service.queryUser(newParams);
+          //   actionRef.current?.setPageInfo({
+          //     current: newParams.current,
+          //     pageIndex: newParams.pageIndex
+          //   })
+          // }
+
+          return {
+            code: resp.status,
+            result: resp.result,
+            status: resp.status,
+          };
         }}
         tableAlertRender={({ selectedRowKeys }) => <div>已选择 {selectedRowKeys.length} 项</div>}
         tableAlertOptionRender={() => {

+ 2 - 1
src/pages/system/Menu/components/title.less

@@ -19,7 +19,8 @@
     left: 0;
     width: 4px;
     height: calc(100% - 10px);
-    background-color: @primary-color-hover;
+    // background-color: @primary-color-hover;
+    background-color: @primary-color;
     border-radius: 2px;
     content: ' ';
   }

+ 5 - 2
src/pages/system/Role/Save/index.tsx

@@ -1,7 +1,7 @@
 import { useIntl } from 'umi';
 import { createForm } from '@formily/core';
 import { createSchemaField } from '@formily/react';
-import React from 'react';
+import React, { useState } from 'react';
 import * as ICONS from '@ant-design/icons';
 import { Form, FormItem, Input } from '@formily/antd';
 import type { ISchema } from '@formily/json-schema';
@@ -19,7 +19,7 @@ interface Props {
 const Save = (props: Props) => {
   const { model } = props;
   const intl = useIntl();
-
+  const [loading, setLoading] = useState(false);
   const history = useHistory();
 
   const form = createForm({
@@ -93,6 +93,7 @@ const Save = (props: Props) => {
 
   const save = async () => {
     const value = await form.submit<RoleItem>();
+    setLoading(true);
     const response: any = await service.save(value);
     if (response.status === 200) {
       onlyMessage(
@@ -113,6 +114,7 @@ const Save = (props: Props) => {
     } else {
       onlyMessage('操作失败!', 'error');
     }
+    setLoading(false);
   };
 
   return (
@@ -128,6 +130,7 @@ const Save = (props: Props) => {
       width="35vw"
       permissionCode={'system/Role'}
       permission={['add']}
+      confirmLoading={loading}
     >
       <Form form={form} layout="vertical">
         <SchemaField schema={schema} />