wzyyy vor 2 Jahren
Ursprung
Commit
4d5518b95c

+ 2 - 1
src/pages/device/Product/Detail/Access/AccessConfig/index.tsx

@@ -159,7 +159,8 @@ const AccessConfig = (props: Props) => {
       width={1200}
       title={'设备接入配置'}
       onOk={async () => {
-        if (!!current) {
+        if (current.id) {
+          console.log(current);
           const obj: any = {
             ...productModel.current,
             transportProtocol: current?.transport,

+ 1 - 1
src/pages/device/Product/Detail/index.tsx

@@ -331,7 +331,7 @@ const ProductDetail = observer(() => {
         // </Tooltip>
       }
       subTitle={
-        permission.update ? (
+        permission.action ? (
           <Popconfirm
             title={productModel.current?.state === 1 ? '确认禁用' : '确认启用'}
             onConfirm={() => {

+ 11 - 3
src/pages/device/components/Metadata/Base/Edit/index.tsx

@@ -800,15 +800,23 @@ const Edit = observer((props: Props) => {
                         // triggerType: 'onBlur',
                         validator: (value: any) => {
                           return new Promise((resolve) => {
-                            const number = Number(value);
-                            if (number <= 0 || value.length > 64 || /[.]/.test(value)) {
-                              resolve('请输入非0正整数,最多可输入64个字符');
+                            if (value) {
+                              const number = Number(value);
+                              if (number <= 0 || value.length > 64 || /[.]/.test(value)) {
+                                resolve('请输入非0正整数,最多可输入64个字符');
+                              } else {
+                                resolve('');
+                              }
                             } else {
                               resolve('');
                             }
                           });
                         },
                       },
+                      {
+                        required: true,
+                        message: `请输入步长`,
+                      },
                     ],
                     'x-reactions': [
                       {

+ 1 - 0
src/pages/edge/Device/Save/index.tsx

@@ -276,6 +276,7 @@ const Save = (props: Props) => {
         close={() => {
           setVisible(false);
         }}
+        deviceType={'gateway'}
         reload={(productId: string, name: string) => {
           form.setFieldsValue({ productId });
           productList.push({

+ 2 - 1
src/pages/media/Device/Save/SaveProduct.tsx

@@ -9,6 +9,7 @@ interface SaveProps {
   reload: (id: string, data: any) => void;
   type: string;
   close?: () => void;
+  deviceType?: string;
 }
 
 export default (props: SaveProps) => {
@@ -50,7 +51,7 @@ export default (props: SaveProps) => {
   const onSubmit = async () => {
     const formData = await form.validateFields();
     if (formData) {
-      formData.deviceType = 'device';
+      formData.deviceType = props.deviceType ? props.deviceType : 'device';
       setLoading(true);
       const resp = await service.saveProduct(formData);
       if (resp.status === 200) {

+ 3 - 1
src/pages/rule-engine/Scene/Save/action/ListItem/List.tsx

@@ -9,6 +9,7 @@ import { pick } from 'lodash';
 import { Button } from 'antd';
 import { PlusOutlined } from '@ant-design/icons';
 import classNames from 'classnames';
+import { randomString } from '@/utils/util';
 
 interface ListProps {
   branchesName: number;
@@ -87,7 +88,8 @@ export default (props: ListProps) => {
           branchGroup={props.parallel ? 1 : 0}
           branchesName={props.branchesName}
           data={{
-            key: `${props.type}_${props.actions.length}`,
+            // key: `${props.type}_${props.actions.length}`,
+            key: randomString(),
           }}
           close={() => {
             setVisible(false);

+ 14 - 0
src/pages/system/DataSource/Management/DataTable.tsx

@@ -61,6 +61,20 @@ const DataTable = (props: Props) => {
           {
             validateId: true,
           },
+          {
+            validator: (value: any) => {
+              return new Promise((resolve) => {
+                if (value) {
+                  const first = value.slice(0, 1);
+                  if (typeof Number(first) === 'number' && !isNaN(Number(first))) {
+                    resolve('不能以数字开头');
+                  } else {
+                    resolve('');
+                  }
+                }
+              });
+            },
+          },
         ],
         required: true,
       },

+ 17 - 0
src/pages/system/Menu/Detail/edit.tsx

@@ -167,6 +167,23 @@ export default (props: EditProps) => {
                     rules={[
                       { required: true, message: '请输入编码' },
                       { max: 64, message: '最多可输入64个字符' },
+
+                      () => ({
+                        async validator(_, value) {
+                          if (value) {
+                            const res = await service.isCode({ code: value, owner: 'iot' });
+                            if (res.result.passed) {
+                              return Promise.resolve();
+                            } else {
+                              if (props.data && props.data.code === value) {
+                                return Promise.resolve();
+                              } else {
+                                return Promise.reject(new Error('该编码重复'));
+                              }
+                            }
+                          }
+                        },
+                      }),
                     ]}
                   >
                     <Input placeholder={'请输入编码'} />

+ 13 - 4
src/pages/system/Platforms/Api/swagger-ui/base.tsx

@@ -166,6 +166,7 @@ export default observer(() => {
     }
 
     const entity = cloneDeep(ApiModel.components[name].properties);
+    console.log(entity);
 
     const newArr: any[] = [];
     if (name === oldName) {
@@ -179,15 +180,19 @@ export default observer(() => {
         description: entity[key].description,
         type: type,
       };
+      // console.log(obj)
 
       if ((entity[key].items && entity[key].items.$ref) || entity[key].$ref) {
         const _ref = entity[key].$ref || entity[key].items.$ref;
         const refName = _ref.split('/').pop();
+        console.log(refName);
         if (refName) {
           obj.type = refName;
           obj.children = handleResponseParam(refName, name);
         }
       }
+
+      console.log(obj);
       newArr.push(obj);
     });
     return newArr;
@@ -195,18 +200,22 @@ export default observer(() => {
 
   const handleResponse = () => {
     const newArr: any[] = [];
+    console.log('----', Object.keys(ApiModel.swagger.responses));
     Object.keys(ApiModel.swagger.responses).forEach((key) => {
       const refUrl = ObjectFindValue('$ref', ApiModel.swagger.responses[key]);
-      const entityName = refUrl.split('/').pop();
+      console.log('1-----', refUrl, ApiModel.swagger.responses[key]);
+      const _entityName = refUrl.split('/').pop();
 
+      console.log('2-------', _entityName);
       newArr.push({
         code: key,
         description: ApiModel.swagger.responses[key].description,
-        schema: key !== '400' ? entityName : '',
-        entityName: entityName,
-        result: key !== '400' ? getResult(entityName) : {},
+        schema: key !== '400' ? _entityName : '',
+        entityName: _entityName,
+        result: key !== '400' ? getResult(_entityName) : {},
       });
     });
+    console.log(newArr);
     setResponseData(newArr);
   };