From c1620424912acf14a79a00b3addfcea690a65e53 Mon Sep 17 00:00:00 2001 From: zhangyao Date: Wed, 5 Jul 2023 15:50:04 +0800 Subject: [PATCH] feat: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 预警规则设置接口对接 --- src/components/manual-distribution/env.js | 4 +- src/components/manual-distribution/form.vue | 6 +- .../indicator-config/detail/index.vue | 44 ++- .../forewarning/indicator-config/index.vue | 3 +- .../indicator-config/modules/add-form.vue | 42 ++- .../main/forewarning/rule-set/add/index.vue | 9 +- .../forewarning/rule-set/detail/index.vue | 243 ++++++++++----- .../main/forewarning/rule-set/edit/index.vue | 290 ++++++++---------- src/page/main/forewarning/rule-set/index.vue | 203 ++++++------ .../forewarning/rule-set/modules/add-form.vue | 3 +- .../rule-set/modules/common-com.vue | 171 ----------- .../forewarning/rule-set/modules/common.js | 0 .../forewarning/rule-set/modules/custom.vue | 187 +++++++---- .../forewarning/rule-set/modules/gateway.vue | 153 +++++---- .../forewarning/rule-set/modules/interface.js | 118 +++++++ .../forewarning/rule-set/modules/static.vue | 290 ++++++++---------- 16 files changed, 940 insertions(+), 826 deletions(-) delete mode 100644 src/page/main/forewarning/rule-set/modules/common-com.vue create mode 100644 src/page/main/forewarning/rule-set/modules/common.js create mode 100644 src/page/main/forewarning/rule-set/modules/interface.js diff --git a/src/components/manual-distribution/env.js b/src/components/manual-distribution/env.js index 23f2bf5..3e56b1e 100644 --- a/src/components/manual-distribution/env.js +++ b/src/components/manual-distribution/env.js @@ -1,7 +1,7 @@ // 通知方式 export const METHODS = { - 1: '钉钉', - 2: '短信' + dingtalk: '钉钉', + sms: '短信' } // 可以新增的数量 diff --git a/src/components/manual-distribution/form.vue b/src/components/manual-distribution/form.vue index fa455be..1968ed0 100644 --- a/src/components/manual-distribution/form.vue +++ b/src/components/manual-distribution/form.vue @@ -3,7 +3,7 @@ :model="state.form" ref="form_ref" :rules="state.rules" - label-width="110px" + :label-width="labelWidth" :disabled="disabled" style="width: 100%"> @@ -97,6 +97,10 @@ const props = defineProps({ type: Object, default: () => ({}), }, + labelWidth: { + type: String, + default: "110px", + }, }); const form_ref = ref(null); // 表单数据 diff --git a/src/page/main/forewarning/indicator-config/detail/index.vue b/src/page/main/forewarning/indicator-config/detail/index.vue index c7c62f7..7e0acf8 100644 --- a/src/page/main/forewarning/indicator-config/detail/index.vue +++ b/src/page/main/forewarning/indicator-config/detail/index.vue @@ -129,13 +129,42 @@ const rule_label = [ ], ]; const rule_data = ref({}); -const ruleTypeOptions = { - empty: "空", - 1: "百分比范围", - 2: "毫秒范围", - 3: "秒范围", - 4: "个范围", - 5: "温度范围", +const ruleTypeOptions = ref({}); +const getRuleTypeOptions = () => { + let arr = [ + { + id: "empty", + label: "空", + }, + { + id: "1", + label: "百分比范围", + unit: "%", + }, + { + id: "2", + label: "毫秒范围", + unit: "ms", + }, + { + id: "3", + label: "秒范围", + unit: "s", + }, + { + id: "4", + label: "个范围", + unit: "个", + }, + { + id: "5", + label: "温度范围", + unit: "℃", + }, + ]; + arr.forEach((e) => { + ruleTypeOptions.value[e.id] = e.label; + }); }; const advanced_label = [ [ @@ -225,6 +254,7 @@ const getInfoData = () => { }); }; onBeforeMount(() => { + getRuleTypeOptions(); getInfoData(); }); diff --git a/src/page/main/forewarning/indicator-config/index.vue b/src/page/main/forewarning/indicator-config/index.vue index d242d02..5cc856e 100644 --- a/src/page/main/forewarning/indicator-config/index.vue +++ b/src/page/main/forewarning/indicator-config/index.vue @@ -211,8 +211,7 @@ const selectable = (row, index) => { }; const getTableRows = () => { let params = { ...state.filter, class_id: node.value.data.class_id }; - // axios.get("/v1/api/metric_config/list", { params }).then((res) => { - axios.get("/v1/api/metric_config/list").then((res) => { + axios.get("/v1/api/metric_config/list", { params }).then((res) => { if (res.data.code == 200) { state.tableRows = res.data.data?.list?.map((e) => { diff --git a/src/page/main/forewarning/indicator-config/modules/add-form.vue b/src/page/main/forewarning/indicator-config/modules/add-form.vue index 9c324ad..4ad3376 100644 --- a/src/page/main/forewarning/indicator-config/modules/add-form.vue +++ b/src/page/main/forewarning/indicator-config/modules/add-form.vue @@ -70,14 +70,40 @@ const props = defineProps({ // 预警规则类型下拉 const ruleTypeOptions = ref({}); const getRuleTypeOptions = () => { - ruleTypeOptions.value = { - empty: "空", - 1: "百分比范围", - 2: "毫秒范围", - 3: "秒范围", - 4: "个范围", - 5: "温度范围", - }; + let arr = [ + { + id: "empty", + label: "空", + }, + { + id: "1", + label: "百分比范围", + unit: "%", + }, + { + id: "2", + label: "毫秒范围", + unit: "ms", + }, + { + id: "3", + label: "秒范围", + unit: "s", + }, + { + id: "4", + label: "个范围", + unit: "个", + }, + { + id: "5", + label: "温度范围", + unit: "℃", + }, + ]; + arr.forEach((e) => { + ruleTypeOptions.value[e.id] = e.label; + }); }; // 当前是否是编辑 const isEdit = computed(() => !!props.row); diff --git a/src/page/main/forewarning/rule-set/add/index.vue b/src/page/main/forewarning/rule-set/add/index.vue index 61d336b..92a58fe 100644 --- a/src/page/main/forewarning/rule-set/add/index.vue +++ b/src/page/main/forewarning/rule-set/add/index.vue @@ -7,7 +7,7 @@
取消 - 保存 + 保存
@@ -18,15 +18,20 @@ import { ref } from "vue"; import { useRouter } from "vue-router"; import bgBreadcrumb from "@/components/bg-breadcrumb.vue"; import addForm from "../modules/add-form.vue"; +import { ElMessage } from "element-plus"; +import { Save } from "../modules/interface.js"; const router = useRouter(); const Cancle = () => { router.go(-1); }; const add_form = ref(null); -const Save = async () => { +const SaveSubmit = async () => { let res = await add_form.value.Submit(); if (!res) return; console.log("res: ", res); + Save(res, {}, () => { + Cancle(); + }); }; diff --git a/src/page/main/forewarning/rule-set/detail/index.vue b/src/page/main/forewarning/rule-set/detail/index.vue index 75b69f5..9d62615 100644 --- a/src/page/main/forewarning/rule-set/detail/index.vue +++ b/src/page/main/forewarning/rule-set/detail/index.vue @@ -13,9 +13,17 @@ - -
- +
+ +
+ +
+
+
+ +
+ +
@@ -29,7 +37,7 @@
@@ -42,13 +50,34 @@ diff --git a/src/page/main/forewarning/rule-set/modules/common.js b/src/page/main/forewarning/rule-set/modules/common.js new file mode 100644 index 0000000..e69de29 diff --git a/src/page/main/forewarning/rule-set/modules/custom.vue b/src/page/main/forewarning/rule-set/modules/custom.vue index c4b425d..d054a0b 100644 --- a/src/page/main/forewarning/rule-set/modules/custom.vue +++ b/src/page/main/forewarning/rule-set/modules/custom.vue @@ -1,21 +1,21 @@ diff --git a/src/page/main/forewarning/rule-set/modules/gateway.vue b/src/page/main/forewarning/rule-set/modules/gateway.vue index 2481e8b..c112efc 100644 --- a/src/page/main/forewarning/rule-set/modules/gateway.vue +++ b/src/page/main/forewarning/rule-set/modules/gateway.vue @@ -24,7 +24,7 @@ @input="inputNum($index, 'from')" @blur="changeWarningThresholdFrom($index)"> @@ -38,7 +38,7 @@ @input="inputNum($index, 'to')" @blur="changeWarningThresholdTo($index)"> @@ -81,7 +81,7 @@