Ver código fonte

加入更多按钮

valentichu 1 ano atrás
pai
commit
bf13729bda
2 arquivos alterados com 132 adições e 104 exclusões
  1. 0 0
      lib/index.js
  2. 132 104
      src/pages/Alarm/components/easy.jsx

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
lib/index.js


+ 132 - 104
src/pages/Alarm/components/easy.jsx

@@ -36,7 +36,7 @@ const Easy = (props, ref) => {
   // const [apiUrl, setApiUrl] = useState(decodeURIComponent(searchParams.get('api_url')) + '/')
   const [data, setData] = useState();
   const [deferUnit, setDeferUnit] = useState();
-  const [status, setStatus] = useState(1);
+  const [status, setStatus] = useState(2);
   const [dateTime, setDateTime] = useState(null);
   const [subType, setSubType] = useState();
   const [isDisabled, setIsDisabled] = useState(true);
@@ -45,6 +45,7 @@ const Easy = (props, ref) => {
   const [ahEnable, setAhEnable] = useState(false);
   const [alEnable, setAlEnable] = useState(false);
   const [allEnable, setAllEnable] = useState(false);
+  const [showMore, setShowMore] = useState(false);
 
   const onModalOk = useMemoizedFn(async () => {
     const isNull = (val, bool) => {
@@ -313,6 +314,10 @@ const Easy = (props, ref) => {
               all_enable: data?.Details.all_enable,
             }),
       });
+    } else {
+      form.setFieldsValue({
+        alarm_level: 1,
+      });
     }
   }, [data]);
 
@@ -470,23 +475,6 @@ const Easy = (props, ref) => {
           style={{ width: "240px" }}
         />
       </Form.Item>
-
-      <Form.Item
-        label={TranslateText(["单位", "Unit"])}
-        name="unit"
-        rules={[
-          {
-            required: false,
-            message: TranslateText(["请输入单位", "Please input"]),
-          },
-        ]}
-      >
-        <Input
-          placeholder={TranslateText(["请输入", "Please input"])}
-          style={{ width: "240px" }}
-        />
-      </Form.Item>
-
       <Form.Item
         label={TranslateText(["告警名称", "Alarm name"])}
         name="name"
@@ -503,27 +491,6 @@ const Easy = (props, ref) => {
         />
       </Form.Item>
 
-      <Form.Item label={TranslateText(["告警组", "Group"])} name={"group_id"}>
-        <Select
-          style={{ width: 240 }}
-          options={[
-            ...[
-              {
-                label: "未分组",
-                value: 0,
-              },
-            ],
-            ...(groupList?.map((item) => {
-              return {
-                label: item?.name,
-                value: item?.id,
-              };
-            }) ?? []),
-          ]}
-          placeholder={TranslateText(["请选择", "Please choose"])}
-        />
-      </Form.Item>
-
       {subType === 13 && (
         <Form.Item
           label={TranslateText(["告警值", "Alarm value"])}
@@ -746,76 +713,137 @@ const Easy = (props, ref) => {
         </Select>
       </Form.Item>
 
-      <Form.Item
-        name={isDisabled ? "" : "defer_seconds"}
-        disabled={isDisabled}
-        required={true}
-        label={TranslateText(["延时告警", "Delayed alarm"])}
-      >
-        <div style={{ marginTop: 6 }}>
-          <Radio.Group
-            defaultValue={alarmId !== -1 ? (dateTime > 0 ? 1 : 2) : 1}
-            disabled={isDisabled}
-            onChange={(e) => {
-              setStatus(e.target.value);
-              if (e.target.value === 1) {
-                setDateTime(null);
-              } else {
-                setDateTime(0);
-              }
-            }}
-          >
-            <Radio value={1}>{TranslateText(["开启", "on"])}</Radio>
-            <Radio value={2}>{TranslateText(["关闭", "off"])}</Radio>
-          </Radio.Group>
-          <div
-            style={{
-              display: "flex",
-              marginTop: 10,
-              gap: 8,
-              alignItems: "center",
-            }}
-          >
-            <span
-              style={{
-                color: "var(--dt-text-color1)",
-                fontWeight: 400,
-                fontSize: 14,
+      {!showMore && (
+        <Form.Item
+          label={
+            <Button
+            type="link"
+              onClick={() => {
+                setShowMore(true);
               }}
             >
-              {TranslateText(["持续", "Alarm after"])}
-            </span>
+              更多
+            </Button>
+          }
+        ></Form.Item>
+      )}
+
+      {showMore && (
+        <>
+          <Form.Item
+            label={TranslateText(["单位", "Unit"])}
+            name="unit"
+            rules={[
+              {
+                required: false,
+                message: TranslateText(["请输入单位", "Please input"]),
+              },
+            ]}
+          >
             <Input
-              disabled={status !== 1 || isDisabled}
-              value={dateTime}
-              onChange={(e) => {
-                console.log(e.target.value);
-                setDateTime(e.target.value?.replace(/\D/g, ""));
-              }}
               placeholder={TranslateText(["请输入", "Please input"])}
-              style={{ width: 100 }}
+              style={{ width: "240px" }}
             />
-            <span
-              style={{
-                color: "var(--dt-text-color1)",
-                fontWeight: 400,
-                fontSize: 14,
-              }}
-            >
-              {deferUnit === 1
-                ? TranslateText(["秒", "seconds"])
-                : TranslateText(["分钟", "minutes"])}{" "}
-              {TranslateText(["后报警", "of duration"])}
-            </span>
-          </div>
-          {dateTime !== null &&
-            ["", undefined, null].indexOf(dateTime) !== -1 &&
-            status === 1 &&
-            !isDisabled && (
-              <div style={{ color: "var(--dt-error-color1)" }}>请输入数字</div>
-            )}
-        </div>
-      </Form.Item>
+          </Form.Item>
+
+          <Form.Item
+            label={TranslateText(["告警组", "Group"])}
+            name={"group_id"}
+          >
+            <Select
+              style={{ width: 240 }}
+              options={[
+                ...[
+                  {
+                    label: "未分组",
+                    value: 0,
+                  },
+                ],
+                ...(groupList?.map((item) => {
+                  return {
+                    label: item?.name,
+                    value: item?.id,
+                  };
+                }) ?? []),
+              ]}
+              placeholder={TranslateText(["请选择", "Please choose"])}
+            />
+          </Form.Item>
+
+          <Form.Item
+            name={isDisabled ? "" : "defer_seconds"}
+            disabled={isDisabled}
+            required={true}
+            label={TranslateText(["延时告警", "Delayed alarm"])}
+          >
+            <div style={{ marginTop: 6 }}>
+              <Radio.Group
+                defaultValue={2}
+                disabled={isDisabled}
+                onChange={(e) => {
+                  setStatus(e.target.value);
+                  if (e.target.value === 1) {
+                    setDateTime(null);
+                  } else {
+                    setDateTime(0);
+                  }
+                }}
+              >
+                <Radio value={1}>{TranslateText(["开启", "on"])}</Radio>
+                <Radio value={2}>{TranslateText(["关闭", "off"])}</Radio>
+              </Radio.Group>
+              <div
+                style={{
+                  display: "flex",
+                  marginTop: 10,
+                  gap: 8,
+                  alignItems: "center",
+                }}
+              >
+                <span
+                  style={{
+                    color: "var(--dt-text-color1)",
+                    fontWeight: 400,
+                    fontSize: 14,
+                  }}
+                >
+                  {TranslateText(["持续", "Alarm after"])}
+                </span>
+                <Input
+                  disabled={status !== 1 || isDisabled}
+                  value={dateTime}
+                  onChange={(e) => {
+                    console.log(e.target.value);
+                    setDateTime(e.target.value?.replace(/\D/g, ""));
+                  }}
+                  placeholder={TranslateText(["请输入", "Please input"])}
+                  style={{ width: 100 }}
+                />
+                <span
+                  style={{
+                    color: "var(--dt-text-color1)",
+                    fontWeight: 400,
+                    fontSize: 14,
+                  }}
+                >
+                  {deferUnit === 1
+                    ? TranslateText(["秒", "seconds"])
+                    : TranslateText(["分钟", "minutes"])}{" "}
+                  {TranslateText(["后报警", "of duration"])}
+                </span>
+              </div>
+              {dateTime !== null &&
+                ["", undefined, null].indexOf(dateTime) !== -1 &&
+                status === 1 &&
+                !isDisabled && (
+                  <div style={{ color: "var(--dt-error-color1)" }}>
+                    请输入数字
+                  </div>
+                )}
+            </div>
+          </Form.Item>
+        </>
+      )}
     </Form>
   );
 };

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff