From dcf6aef0e683c283f25c230eb3df0c0ea652869a Mon Sep 17 00:00:00 2001 From: jackhoo_98 Date: Wed, 15 Mar 2023 09:38:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=87=87=E9=9B=86=20?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E7=BB=84=E4=BB=B6=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/DataCollect/Channel/Save/index.vue | 92 ++++++------- src/views/DataCollect/Channel/data.ts | 80 ++++++++++- src/views/DataCollect/Channel/index.vue | 7 +- .../Collector/Point/Save/SaveModBus.vue | 97 ++++++-------- .../Collector/Point/Save/SaveOPCUA.vue | 34 ++--- .../Collector/Point/Scan/Table.vue | 37 ++++-- .../DataCollect/Collector/Point/Scan/Tree.vue | 45 +++---- .../Collector/Point/Scan/index.vue | 12 +- .../Point/components/BatchUpdate/index.vue | 35 +++-- .../Point/components/PointCardBox/index.vue | 10 +- .../Point/components/WritePoint/index.vue | 15 +-- .../DataCollect/Collector/Point/index.vue | 84 ++++++++---- .../DataCollect/Collector/Tree/Save/index.vue | 124 ++++++++---------- .../DataCollect/Collector/Tree/index.vue | 28 ++-- src/views/DataCollect/Collector/data.ts | 31 ++++- src/views/DataCollect/Collector/index.vue | 8 +- .../DataCollect/Dashboard/components/Card.vue | 13 +- .../Dashboard/components/TopCard.vue | 1 - src/views/DataCollect/Dashboard/index.vue | 6 +- src/views/DataCollect/Dashboard/tool.ts | 9 +- src/views/DataCollect/Dashboard/typings.d.ts | 10 -- src/views/device/Firmware/index.vue | 2 +- src/views/media/Stream/index.vue | 2 +- 23 files changed, 437 insertions(+), 345 deletions(-) diff --git a/src/views/DataCollect/Channel/Save/index.vue b/src/views/DataCollect/Channel/Save/index.vue index 0a83c55c..8e01b54e 100644 --- a/src/views/DataCollect/Channel/Save/index.vue +++ b/src/views/DataCollect/Channel/Save/index.vue @@ -37,16 +37,15 @@ :name="['configuration', 'host']" :rules="FormValidate.host" > -
+ @@ -80,7 +79,7 @@ - { const params = await formRef.value?.validate(); loading.value = true; const response = !id - ? await save(params) - : await update(id, { ...props.data, ...params }); - if (response.status === 200) { - emit('change', true); - } + ? await save(params).catch(() => {}) + : await update(id, { ...props.data, ...params }).catch(() => {}); + emit('change', response?.status === 200); loading.value = false; formRef.value?.resetFields(); }; @@ -240,29 +240,33 @@ const handleCancel = () => { formRef.value?.resetFields(); }; +const changeAuthType = (value: Array) => { + formData.value.configuration.authType = value[0]; +}; + const filterOption = (input: string, option: any) => { return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0; }; const getOptionsList = async () => { for (let key in Options.value) { - const res = await queryOptionsList(key); - Options.value[key] = res.result.map((item) => ({ + const res: any = await queryOptionsList(key); + Options.value[key] = res.result.map((item: any) => ({ label: item?.text || item, value: item?.value || item, })); } }; const getCertificateList = async () => { - const res = await queryCertificateList(); - certificateList.value = res.result.map((item) => ({ + const res: any = await queryCertificateList(); + certificateList.value = res.result.map((item: any) => ({ value: item.id, label: item.name, })); }; const getProvidersList = async () => { - const resp = await getProviders(); + const resp: any = await getProviders(); if (resp.status === 200) { const list = [ { label: 'OPC UA', value: 'OPC_UA' }, @@ -273,7 +277,9 @@ const getProvidersList = async () => { (item: any) => item.id === 'modbus-tcp' || item.id === 'opc-ua', ) .map((it: any) => (it?.id === 'opc-ua' ? 'OPC_UA' : 'MODBUS_TCP')); - const providers = list.filter((item: any) => arr.includes(item.value)); + const providers: any = list.filter((item: any) => + arr.includes(item.value), + ); providersList.value = providers; if (arr.includes('OPC_UA')) { getOptionsList(); @@ -286,30 +292,10 @@ getCertificateList(); watch( () => props.data, (value) => { - if (value.id) formData.value = value; + if (value.id) formData.value = value as FormDataType; }, { immediate: true, deep: true }, ); - + diff --git a/src/views/DataCollect/Channel/data.ts b/src/views/DataCollect/Channel/data.ts index 27c3d759..c5fba7be 100644 --- a/src/views/DataCollect/Channel/data.ts +++ b/src/views/DataCollect/Channel/data.ts @@ -1,5 +1,6 @@ import { validateField } from '@/api/data-collect/channel'; import { FormDataType } from './type.d'; +import type { Rule } from 'ant-design-vue/lib/form'; export const FormState: FormDataType = { name: '', @@ -44,7 +45,7 @@ export const TiTlePermissionButtonStyle = { overflow: 'hidden', 'text-overflow': 'ellipsis', 'white-space': 'nowrap', - width: 'calc(100%-100px)', + width: 'calc(100%-150px)', // width: '60%', }; @@ -61,10 +62,8 @@ export const regDomain = new RegExp( ); export const checkEndpoint = (_rule: Rule, value: string): Promise => new Promise(async (resolve, reject) => { - if (value) { - const res = await validateField(value); - return res.result.passed ? resolve('') : reject(res.result.reason); - } + const res = await validateField(value); + return res.result.passed ? resolve('') : reject(res.result.reason); }); export const FormValidate = { name: [ @@ -89,7 +88,7 @@ export const FormValidate = { }, { pattern: regOnlyNumber, - message: '请输入1-65535之间的正整数', + message: '请输入0-65535之间的正整数', }, ], @@ -100,7 +99,7 @@ export const FormValidate = { }, { validator: checkEndpoint, - trigger: 'blur', + // trigger: 'blur', }, ], @@ -139,3 +138,70 @@ export const FormValidate = { description: [{ max: 200, message: '最多可输入200个字符' }], }; +export const columns = [ + { + title: '通道名称', + dataIndex: 'name', + key: 'name', + ellipsis: true, + fixed: 'left', + search: { + type: 'string', + }, + }, + { + title: '通讯协议', + dataIndex: 'provider', + key: 'provider', + ellipsis: true, + search: { + type: 'select', + options: [ + { label: 'OPC_UA', value: 'OPC_UA' }, + { label: 'MODBUS_TCP', value: 'MODBUS_TCP' }, + ], + }, + }, + { + title: '状态', + dataIndex: 'state', + key: 'state', + ellipsis: true, + scopedSlots: true, + search: { + type: 'select', + options: [ + { label: '正常', value: 'enabled' }, + { label: '禁用', value: 'disabled' }, + ], + }, + }, + { + title: '运行状态', + dataIndex: 'runningState', + key: 'runningState', + ellipsis: true, + scopedSlots: true, + search: { + type: 'select', + options: [ + { label: '运行中', value: 'running' }, + { label: '部分错误', value: 'partialError' }, + { label: '错误', value: 'failed' }, + ], + }, + }, + { + title: '说明', + dataIndex: 'description', + key: 'description', + ellipsis: true, + }, + { + title: '操作', + key: 'action', + fixed: 'right', + width: 200, + scopedSlots: true, + }, +]; diff --git a/src/views/DataCollect/Channel/index.vue b/src/views/DataCollect/Channel/index.vue index c6123771..41d4ab31 100644 --- a/src/views/DataCollect/Channel/index.vue +++ b/src/views/DataCollect/Channel/index.vue @@ -1,7 +1,11 @@