Selaa lähdekoodia

fix: bug#9309、9344、9362、9287

xieyonghong 3 vuotta sitten
vanhempi
commit
830f1bff62

+ 5 - 0
src/components/ProTableCard/index.tsx

@@ -63,6 +63,7 @@ const ProTableCard = <
   const [dataLength, setDataLength] = useState<number>(0);
 
   const domRef = useRef<HTMLDivElement>(null);
+  const cardItemsRef = useRef<HTMLDivElement>(null);
   const { minHeight } = useDomFullHeight(domRef);
 
   /**
@@ -125,6 +126,7 @@ const ProTableCard = <
             <div style={{ paddingBottom: 38 }}>
               <div
                 className={classNames('pro-table-card-items', props.cardBodyClass)}
+                ref={cardItemsRef}
                 style={{ gridTemplateColumns: `repeat(${column}, 1fr)`, ...style }}
               >
                 {dataSource.map((item) =>
@@ -173,6 +175,9 @@ const ProTableCard = <
     setPageIndex(_current - 1);
     setPageSize(size);
     props.onPageChange?.(_current - 1, size);
+    if (cardItemsRef.current) {
+      cardItemsRef.current.scrollTop = 0;
+    }
   };
 
   useEffect(() => {

+ 3 - 0
src/pages/rule-engine/Scene/Save/action/ListItem/Item.tsx

@@ -353,6 +353,9 @@ export default (props: ItemProps) => {
 
   useEffect(() => {
     getParams();
+    return () => {
+      setParamsOptions([]);
+    };
   }, []);
 
   return (

+ 8 - 5
src/pages/rule-engine/Scene/Save/components/Buttons/ParamsDropdown.tsx

@@ -283,12 +283,15 @@ export default (props: ParamsDropdownProps) => {
     <ParamsSelect
       value={myValue}
       onChange={(value, source) => {
-        console.log(value, source);
         setActiveKey(source);
-        // props.onChange?.({
-        //   value,
-        //   source
-        // }, label )
+        // onValueChange(undefined, '')
+        setMyValue(undefined);
+        setLabel('');
+        const changeValue = {
+          value: value,
+          source: source,
+        };
+        props.onChange?.(changeValue, '', {});
       }}
       tabKey={activeKey}
       itemList={_itemList}

+ 2 - 2
src/pages/rule-engine/Scene/Save/components/TimingTrigger/index.tsx

@@ -140,8 +140,8 @@ export default (props: TimmingTriggerProps) => {
             <Form.Item
               name={[...name, 'period']}
               initialValue={{
-                from: moment(new Date()).format('HH:mm:ss'),
-                to: moment(new Date()).format('HH:mm:ss'),
+                from: moment(new Date()).startOf('day').format('HH:mm:ss'),
+                to: moment(new Date()).endOf('day').format('HH:mm:ss'),
               }}
             >
               <RangePicker name={[...name, 'period']} form={form} />

+ 1 - 1
src/pages/rule-engine/Scene/Save/device/index.tsx

@@ -33,7 +33,7 @@ export default observer((props: Props) => {
       service.detail(FormModel.current.trigger!.device?.productId).then((res) => {
         if (res.status === 200) {
           TriggerDeviceModel.productDetail = res.result;
-          handleMetadata(res.result.metadata);
+          handleMetadata(res.result?.metadata);
         } else {
           Store.set('TriggerDeviceModel', {
             update: true,

+ 15 - 4
src/pages/rule-engine/Scene/Save/device/type.tsx

@@ -222,11 +222,22 @@ export default forwardRef((props: Props, ref) => {
                   onChange={(v: any, propertyItems: any[]) => {
                     const names = propertyItems.map((item) => item.name);
                     let extraStr = '';
-                    if (names.length >= 2) {
-                      names.length = 2;
-                      extraStr = `等${propertyItems.length}个属性`;
+                    let isLimit = false;
+                    let indexOf = 0;
+                    extraStr = names.reduce((_prev, next, index) => {
+                      if (_prev.length <= 30) {
+                        indexOf = index;
+                        return index === 0 ? next : _prev + '、' + next;
+                      } else {
+                        isLimit = true;
+                      }
+                      return _prev;
+                    }, '');
+
+                    if (isLimit && names.length - 1 > indexOf) {
+                      extraStr += `等${propertyItems.length}个属性`;
                     }
-                    TriggerDeviceModel.options.action = `读取 ${names.join('、')}${extraStr}`;
+                    TriggerDeviceModel.options.action = `读取 ${extraStr}`;
                   }}
                 />
               </Form.Item>

+ 13 - 5
src/pages/rule-engine/Scene/Save/terms/index.tsx

@@ -148,11 +148,19 @@ export default observer((props: Props) => {
                     FormModel.current.options?.when?.splice(index, 1);
                   }}
                   onDeleteAll={() => {
-                    FormModel.current.branches?.splice(
-                      index,
-                      FormModel.current.branches!.length - 1,
-                      null as any,
-                    );
+                    const newBranches: any[] =
+                      FormModel.current.branches?.filter((bItem, bIndex) => {
+                        return bIndex === 0 || (bItem && bItem.key === item.key);
+                      }) || [];
+                    newBranches.push(null);
+                    console.log(FormModel.current.options?.when);
+                    FormModel.current.branches = newBranches;
+                    if (FormModel.current.options?.when) {
+                      FormModel.current.options.when = [
+                        FormModel.current.options?.when[0],
+                        FormModel.current.options?.when[index],
+                      ];
+                    }
                   }}
                 />
               ) : (