|
@@ -35,7 +35,7 @@ type ShakeLimitType = {
|
|
|
|
|
|
|
|
const DefaultShakeLimit = {
|
|
const DefaultShakeLimit = {
|
|
|
enabled: false,
|
|
enabled: false,
|
|
|
- alarmFirst: true,
|
|
|
|
|
|
|
+ alarmFirst: false,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
export let FormModel = model<FormModelType>({});
|
|
export let FormModel = model<FormModelType>({});
|
|
@@ -72,10 +72,11 @@ export default () => {
|
|
|
FormModel = _data;
|
|
FormModel = _data;
|
|
|
form.setFieldsValue(_data);
|
|
form.setFieldsValue(_data);
|
|
|
setParallel(_data.parallel);
|
|
setParallel(_data.parallel);
|
|
|
- setShakeLimit(_data.shakeLimit || DefaultShakeLimit);
|
|
|
|
|
|
|
|
|
|
setTriggerValue({ trigger: _data.terms || [] });
|
|
setTriggerValue({ trigger: _data.terms || [] });
|
|
|
-
|
|
|
|
|
|
|
+ if (_data.trigger?.shakeLimit) {
|
|
|
|
|
+ setShakeLimit(_data.trigger?.shakeLimit || DefaultShakeLimit);
|
|
|
|
|
+ }
|
|
|
if (_data.trigger?.device) {
|
|
if (_data.trigger?.device) {
|
|
|
setRequestParams({ trigger: _data.trigger });
|
|
setRequestParams({ trigger: _data.trigger });
|
|
|
}
|
|
}
|
|
@@ -87,6 +88,8 @@ export default () => {
|
|
|
[triggerRef],
|
|
[triggerRef],
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+ console.log(shakeLimit);
|
|
|
|
|
+
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
const params = new URLSearchParams(location.search);
|
|
const params = new URLSearchParams(location.search);
|
|
|
const id = params.get('id');
|
|
const id = params.get('id');
|
|
@@ -95,7 +98,7 @@ export default () => {
|
|
|
}
|
|
}
|
|
|
}, [location]);
|
|
}, [location]);
|
|
|
|
|
|
|
|
- const saveData = async () => {
|
|
|
|
|
|
|
+ const saveData = useCallback(async () => {
|
|
|
const formData = await form.validateFields();
|
|
const formData = await form.validateFields();
|
|
|
let triggerData = undefined;
|
|
let triggerData = undefined;
|
|
|
// 获取触发条件数据
|
|
// 获取触发条件数据
|
|
@@ -107,6 +110,12 @@ export default () => {
|
|
|
}
|
|
}
|
|
|
console.log('save', formData);
|
|
console.log('save', formData);
|
|
|
if (formData) {
|
|
if (formData) {
|
|
|
|
|
+ if (shakeLimit.enabled) {
|
|
|
|
|
+ formData.trigger = {
|
|
|
|
|
+ ...formData.trigger,
|
|
|
|
|
+ shakeLimit: shakeLimit,
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
setLoading(true);
|
|
setLoading(true);
|
|
|
const resp = formData.id ? await service.updateScene(formData) : await service.save(formData);
|
|
const resp = formData.id ? await service.updateScene(formData) : await service.save(formData);
|
|
|
|
|
|
|
@@ -126,7 +135,7 @@ export default () => {
|
|
|
message.error(resp.message);
|
|
message.error(resp.message);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- };
|
|
|
|
|
|
|
+ }, [shakeLimit]);
|
|
|
|
|
|
|
|
const AntiShake = (
|
|
const AntiShake = (
|
|
|
<Space>
|
|
<Space>
|
|
@@ -136,34 +145,36 @@ export default () => {
|
|
|
checkedChildren="开启防抖"
|
|
checkedChildren="开启防抖"
|
|
|
unCheckedChildren="关闭防抖"
|
|
unCheckedChildren="关闭防抖"
|
|
|
onChange={(e) => {
|
|
onChange={(e) => {
|
|
|
- setShakeLimit({
|
|
|
|
|
|
|
+ const newShake = {
|
|
|
...shakeLimit,
|
|
...shakeLimit,
|
|
|
enabled: e,
|
|
enabled: e,
|
|
|
- });
|
|
|
|
|
- form.setFieldsValue({ shakeLimit });
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+ setShakeLimit(newShake);
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
{shakeLimit.enabled && (
|
|
{shakeLimit.enabled && (
|
|
|
<>
|
|
<>
|
|
|
<InputNumber
|
|
<InputNumber
|
|
|
value={shakeLimit.time}
|
|
value={shakeLimit.time}
|
|
|
|
|
+ min={0}
|
|
|
onChange={(e: number) => {
|
|
onChange={(e: number) => {
|
|
|
- setShakeLimit({
|
|
|
|
|
|
|
+ const newShake = {
|
|
|
...shakeLimit,
|
|
...shakeLimit,
|
|
|
time: e,
|
|
time: e,
|
|
|
- });
|
|
|
|
|
- form.setFieldsValue({ shakeLimit });
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+ setShakeLimit(newShake);
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
<span> 秒内发生 </span>
|
|
<span> 秒内发生 </span>
|
|
|
<InputNumber
|
|
<InputNumber
|
|
|
value={shakeLimit.threshold}
|
|
value={shakeLimit.threshold}
|
|
|
|
|
+ min={0}
|
|
|
onChange={(e: number) => {
|
|
onChange={(e: number) => {
|
|
|
- setShakeLimit({
|
|
|
|
|
|
|
+ const newShake = {
|
|
|
...shakeLimit,
|
|
...shakeLimit,
|
|
|
threshold: e,
|
|
threshold: e,
|
|
|
- });
|
|
|
|
|
- form.setFieldsValue({ shakeLimit });
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+ setShakeLimit(newShake);
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
<span>次及以上时,处理</span>
|
|
<span>次及以上时,处理</span>
|
|
@@ -175,12 +186,11 @@ export default () => {
|
|
|
]}
|
|
]}
|
|
|
optionType="button"
|
|
optionType="button"
|
|
|
onChange={(e) => {
|
|
onChange={(e) => {
|
|
|
- console.log(e);
|
|
|
|
|
- setShakeLimit({
|
|
|
|
|
|
|
+ const newShake = {
|
|
|
...shakeLimit,
|
|
...shakeLimit,
|
|
|
alarmFirst: e.target.value,
|
|
alarmFirst: e.target.value,
|
|
|
- });
|
|
|
|
|
- form.setFieldsValue({ shakeLimit });
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+ setShakeLimit(newShake);
|
|
|
}}
|
|
}}
|
|
|
></Radio.Group>
|
|
></Radio.Group>
|
|
|
</>
|
|
</>
|
|
@@ -380,6 +390,7 @@ export default () => {
|
|
|
form={form}
|
|
form={form}
|
|
|
restField={restField}
|
|
restField={restField}
|
|
|
name={name}
|
|
name={name}
|
|
|
|
|
+ trigger={requestParams}
|
|
|
triggerType={triggerType}
|
|
triggerType={triggerType}
|
|
|
onRemove={() => remove(name)}
|
|
onRemove={() => remove(name)}
|
|
|
actionItemData={actionsData.length && actionsData[name]}
|
|
actionItemData={actionsData.length && actionsData[name]}
|
|
@@ -402,13 +413,13 @@ export default () => {
|
|
|
>
|
|
>
|
|
|
<Input.TextArea showCount maxLength={200} placeholder={'请输入说明'} rows={4} />
|
|
<Input.TextArea showCount maxLength={200} placeholder={'请输入说明'} rows={4} />
|
|
|
</Form.Item>
|
|
</Form.Item>
|
|
|
- {triggerType === TriggerWayType.device &&
|
|
|
|
|
- requestParams &&
|
|
|
|
|
- requestParams.trigger?.device?.productId ? (
|
|
|
|
|
- <Form.Item hidden name={'shakeLimit'} initialValue={DefaultShakeLimit}>
|
|
|
|
|
- <Input />
|
|
|
|
|
- </Form.Item>
|
|
|
|
|
- ) : null}
|
|
|
|
|
|
|
+ {/*{triggerType === TriggerWayType.device &&*/}
|
|
|
|
|
+ {/*requestParams &&*/}
|
|
|
|
|
+ {/*requestParams.trigger?.device?.productId ? (*/}
|
|
|
|
|
+ {/* <Form.Item hidden name={['trigger','shakeLimit']}>*/}
|
|
|
|
|
+ {/* <Input />*/}
|
|
|
|
|
+ {/* </Form.Item>*/}
|
|
|
|
|
+ {/*) : null}*/}
|
|
|
<Form.Item hidden name={'id'}>
|
|
<Form.Item hidden name={'id'}>
|
|
|
<Input />
|
|
<Input />
|
|
|
</Form.Item>
|
|
</Form.Item>
|