Quellcode durchsuchen

feat(metadata): device metrics visible=false

lind vor 3 Jahren
Ursprung
Commit
0e2d6182c6

+ 10 - 1
src/pages/device/components/Metadata/Base/Edit/index.tsx

@@ -2,7 +2,7 @@ import { Button, Drawer, Dropdown, Menu, message } from 'antd';
 import { createSchemaField, observer } from '@formily/react';
 import MetadataModel from '../model';
 import type { Field, IFieldState } from '@formily/core';
-import { createForm, onFieldReact, registerValidateRules } from '@formily/core';
+import { createForm, onFieldInit, onFieldReact, registerValidateRules } from '@formily/core';
 import {
   ArrayItems,
   Checkbox,
@@ -59,6 +59,12 @@ const Edit = observer((props: Props) => {
       createForm({
         initialValues: MetadataModel.item as Record<string, unknown>,
         effects: () => {
+          onFieldInit('expands.metrics.*.id', (field) => {
+            const id = field as Field;
+            if (id.value && !id.modified) {
+              (field as any).disabled = true;
+            }
+          });
           onFieldReact('expands.metrics.*.*', (field, form1) => {
             const type = field.query('valueType.type').take() as Field;
             const componentMap = {
@@ -437,6 +443,7 @@ const Edit = observer((props: Props) => {
       ],
     },
   } as any;
+  console.log(props.type, 'type');
   const propertySchema: ISchema = {
     type: 'object',
     properties: {
@@ -665,6 +672,7 @@ const Edit = observer((props: Props) => {
             'x-component': 'ArrayItems',
             'x-decorator': 'FormItem',
             title: '指标配置',
+            'x-visible': props.type === 'product',
             items: {
               type: 'object',
               'x-decorator': 'ArrayItems.Item',
@@ -833,6 +841,7 @@ const Edit = observer((props: Props) => {
               fulfill: {
                 state: {
                   visible:
+                    props.type === 'product' &&
                     "{{['int','float','double','long','date','string','boolean'].includes($deps[0])}}",
                 },
               },

+ 2 - 0
src/pages/notice/Config/Detail/doc/index.less

@@ -1,5 +1,7 @@
 .doc {
+  height: 750px;
   padding: 24px;
+  overflow-y: auto;
   color: rgba(#000, 0.8);
   font-size: 14px;
   background-color: #fafafa;

+ 2 - 0
src/pages/notice/Template/Detail/doc/index.less

@@ -1,5 +1,7 @@
 .doc {
+  height: 750px;
   padding: 24px;
+  overflow-y: auto;
   color: rgba(#000, 0.8);
   font-size: 14px;
   background-color: #fafafa;

+ 10 - 2
src/pages/notice/Template/Detail/index.tsx

@@ -12,7 +12,6 @@ import {
   Radio,
   Select,
   Space,
-  Submit,
   Switch,
 } from '@formily/antd';
 import type { Field } from '@formily/core';
@@ -45,6 +44,8 @@ import AliyunSms from '@/pages/notice/Template/Detail/doc/AliyunSms';
 import Email from '@/pages/notice/Template/Detail/doc/Email';
 import { Store } from 'jetlinks-store';
 import FAutoComplete from '@/components/FAutoComplete';
+import { PermissionButton } from '@/components';
+import usePermissions from '@/hooks/permission';
 
 export const docMap = {
   weixin: {
@@ -1253,6 +1254,7 @@ const Detail = observer(() => {
       },
     },
   };
+  const { permission } = usePermissions('notice');
   return (
     <PageContainer>
       <Card>
@@ -1278,7 +1280,13 @@ const Detail = observer(() => {
               />
               <FormButtonGroup.Sticky>
                 <FormButtonGroup.FormItem>
-                  <Submit onSubmit={handleSave}>保存</Submit>
+                  <PermissionButton
+                    type="primary"
+                    isPermission={permission.add || permission.update}
+                    onClick={handleSave}
+                  >
+                    保存
+                  </PermissionButton>
                 </FormButtonGroup.FormItem>
               </FormButtonGroup.Sticky>
             </Form>