Commit 6a601e832665913dc01ebe47306b78816378f25d

Authored by xp.Huang
2 parents 2cf8f88e 3f70f896

Merge branch 'fix/DEFECT-1529' into 'main_dev'

fix: 修改告警配置新增联系人成功但是显示无效参数

See merge request yunteng/thingskit-front!839
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
16 mode="multiple" 16 mode="multiple"
17 v-model:value="model[field]" 17 v-model:value="model[field]"
18 :options="alarmContactOptions.map((item) => ({ value: item.value, label: item.label }))" 18 :options="alarmContactOptions.map((item) => ({ value: item.value, label: item.label }))"
  19 + @change="handleChange"
19 > 20 >
20 <template #dropdownRender="{ menuNode: menu }"> 21 <template #dropdownRender="{ menuNode: menu }">
21 <v-nodes :vnodes="menu" /> 22 <v-nodes :vnodes="menu" />
@@ -82,6 +83,7 @@ @@ -82,6 +83,7 @@
82 const [registerAlarmContactDrawer, { openDrawer }] = useDrawer(); 83 const [registerAlarmContactDrawer, { openDrawer }] = useDrawer();
83 async function handleSuccess() { 84 async function handleSuccess() {
84 //获取告警联系人 85 //获取告警联系人
  86 + if (!unref(orgId)) return;
85 const res = await byOrgIdGetAlarmContact(orgId.value); 87 const res = await byOrgIdGetAlarmContact(orgId.value);
86 if (res) { 88 if (res) {
87 alarmContactOptions.value = res.map((m) => { 89 alarmContactOptions.value = res.map((m) => {
@@ -91,6 +93,10 @@ @@ -91,6 +93,10 @@
91 alarmContactOptions.value = []; 93 alarmContactOptions.value = [];
92 } 94 }
93 } 95 }
  96 +
  97 + const handleChange = () => {
  98 + validateFields(['alarmContactId']);
  99 + };
94 // 新增或编辑 100 // 新增或编辑
95 const handleOpenAlarmContact = () => { 101 const handleOpenAlarmContact = () => {
96 openDrawer(true, { 102 openDrawer(true, {
@@ -100,7 +106,10 @@ @@ -100,7 +106,10 @@
100 const isUpdate = ref(true); 106 const isUpdate = ref(true);
101 let allData: any = reactive({}); 107 let allData: any = reactive({});
102 const editId = ref(''); 108 const editId = ref('');
103 - const [registerForm, { validate, setFieldsValue, resetFields, updateSchema }] = useForm({ 109 + const [
  110 + registerForm,
  111 + { validate, setFieldsValue, resetFields, updateSchema, validateFields },
  112 + ] = useForm({
104 labelWidth: 120, 113 labelWidth: 120,
105 schemas: formSchema, 114 schemas: formSchema,
106 showActionButtonGroup: false, 115 showActionButtonGroup: false,
@@ -191,6 +200,7 @@ @@ -191,6 +200,7 @@
191 handleOpenAlarmContact, 200 handleOpenAlarmContact,
192 registerAlarmContactDrawer, 201 registerAlarmContactDrawer,
193 handleSuccess, 202 handleSuccess,
  203 + handleChange,
194 }; 204 };
195 }, 205 },
196 }); 206 });
@@ -86,6 +86,7 @@ @@ -86,6 +86,7 @@
86 const deviceIdKeys = Object.keys(details); 86 const deviceIdKeys = Object.keys(details);
87 const detailObject = deviceIdKeys.map((key) => ({ label: key, value: details[key] })); 87 const detailObject = deviceIdKeys.map((key) => ({ label: key, value: details[key] }));
88 const dataFormat = await handleAlarmDetailFormat(deviceIdKeys); 88 const dataFormat = await handleAlarmDetailFormat(deviceIdKeys);
  89 + console.log(detailObject, dataFormat, 'dataFormat');
89 const dataFormats = detailObject.reduce((acc: any, curr: any) => { 90 const dataFormats = detailObject.reduce((acc: any, curr: any) => {
90 dataFormat.forEach((item) => { 91 dataFormat.forEach((item) => {
91 if (item.tbDeviceId === curr.label) { 92 if (item.tbDeviceId === curr.label) {
@@ -130,10 +131,10 @@ @@ -130,10 +131,10 @@
130 const handleAlarmDetailFormat = async (keys: string[]) => { 131 const handleAlarmDetailFormat = async (keys: string[]) => {
131 const temp: any = []; 132 const temp: any = [];
132 for (let item of keys) { 133 for (let item of keys) {
133 - if (item === 'key' || item === 'data') return; //旧数据则终止 134 + if (item === 'key' || item === 'data') return []; //旧数据则终止
134 const deviceDetailRes = await getDeviceDetail(item); 135 const deviceDetailRes = await getDeviceDetail(item);
135 const { deviceProfileId } = deviceDetailRes; 136 const { deviceProfileId } = deviceDetailRes;
136 - if (!deviceProfileId) return; 137 + if (!deviceProfileId) return [];
137 const attributeRes = await getAttribute(deviceProfileId); 138 const attributeRes = await getAttribute(deviceProfileId);
138 const dataFormat: any = handleDataFormat(deviceDetailRes, attributeRes); 139 const dataFormat: any = handleDataFormat(deviceDetailRes, attributeRes);
139 temp.push(dataFormat); 140 temp.push(dataFormat);