From ca74de5b37a7ffae3368396c7c78e5a01e079f10 Mon Sep 17 00:00:00 2001 From: fks-xuxinyue <2822784518@qq.com> Date: Thu, 22 Aug 2024 15:27:55 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/asset/file/carbonAssets.xlsx | Bin 0 -> 9198 bytes .../carbonAssets/carbonAssetsDetail/index.vue | 322 ++++++++-- .../carbonAssets/carbonAssetsDetail/index1.vue | 642 +++++++++++++++++++ .../carbonAssets/carbonAssetsDetail/indexCopy.vue | 713 --------------------- .../carbonEmissionFactorLibrary/config.ts | 8 +- .../carbonEmissionFactorLibrary/index.vue | 24 +- .../carbonEmissionStatistics/config.ts | 7 +- .../energyConsumption/index.vue | 18 +- .../quickCalculation/index.vue | 5 + .../carbonInventoryCheck/config.ts | 1 + .../carbonInventoryCheck/fillInPage/index.vue | 78 ++- .../carbonInventoryCheck/index.vue | 30 +- .../carbonPlanning/all/index.vue | 17 +- .../carbonPlanning/category/categoryDeatil.vue | 33 +- .../carbonPlanning/category/index.vue | 108 ++-- lib/component/form/input/input.vue | 14 +- 16 files changed, 1146 insertions(+), 874 deletions(-) create mode 100644 hx-ai-intelligent/public/asset/file/carbonAssets.xlsx create mode 100644 hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue delete mode 100644 hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue diff --git a/hx-ai-intelligent/public/asset/file/carbonAssets.xlsx b/hx-ai-intelligent/public/asset/file/carbonAssets.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..200c364cfa7917e32c9069cc37af24afa018cb0e GIT binary patch literal 9198 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
-
-
交易明细
-
- 新增 - - 导入 - - 导出 - 批量删除 -
-
- + - - +
配额统计
-
- 全国配额 - 地方配额 - CCER配额 +
+ 全国配额 + 地方配额 + CCER配额
@@ -155,13 +114,25 @@ - + - + - + (); - const thisYear = ref(new Date().getFullYear().toString()); + const year = ref(new Date().getFullYear().toString()); const queryParams = ref({ pageNum: 1, pageSize: 10, orgId: orgId.value, accountType: props.parentId, - year: thisYear.value, + year: year.value, }); const searchTableList = () => { - getDetailList(); + year.value = queryParams.value.year; + transactionType.value = queryParams.value.transactionType; + accountType.value = queryParams.value.accountType; + mainRef.value?.nsTableRef.reload(); + // getDetailList(); }; // 获取左侧列表数据 const getDetailList = () => { @@ -239,10 +214,11 @@ total.value = res.data.total; }); }; - getDetailList(); + // getDetailList(); const columns = [ { title: '序号', + width: 80, customRender: (text: any) => { return text.index + 1; }, @@ -298,9 +274,14 @@ pageNum: 1, pageSize: 10, orgId: orgId.value, - year: new Date().getFullYear(), + accountType: props.parentId, + year: new Date().getFullYear().toString(), }; - getDetailList(); + accountType.value = props.parentId; + year.value = new Date().getFullYear(); + transactionType.value = ''; + mainRef.value?.nsTableRef.reload(); + // getDetailList(); }; const editData = (record) => { getDictList(); @@ -378,6 +359,196 @@ }, }); }; + + const mainRef = ref(); + const transactionType = ref(); + const accountType = ref(); + accountType.value = props.parentId; + const tableConfig = ref({ + title: '数据库', + api: carbonAssets.carbonDetailsList, + params: { + orgId, + accountType, + year, + }, + headerActions: [ + { + label: '新增', + name: 'userAdd', + type: 'primary', + handle: () => { + text.value = '新增'; + visible.value = true; + getDictList(); + }, + }, + { + label: '导入', + type: 'primary', + name: 'carbonAssetsImport', + extra: { + api: carbonAssets.import, // 导入接口名 + params: { + orgId, + }, + title: '碳资产', // 弹窗title + templateName: 'carbonAssets', // 所使用的文件名称 + indexName: '碳资产', // 匹配类型字段 + message: [ + { label: '1、若必填项未填写,则不能进行导入操作' }, + { label: `2、当重复时,则更新数据。` }, + { label: '3、数据将从模版的第五行进行导入。' }, + { label: '4、文件导入勿超过5MB。' }, + ], + }, + }, + { + label: '导出', + type: 'primary', + handle: () => { + const exportQuery = ref({ + orgId: orgId.value, + pageNum: 1, + pageSize: 999, + year: queryParams.value.year, + ids: selectedRowKeys.value, + }); + const config = { + responseType: 'blob', + }; + fetch(carbonAssets.export, exportQuery.value, config) + .then((res) => { + // 创建一个 URL 对象,指向图片数据的 blob + const url = window.URL.createObjectURL(new Blob([res])); + // 创建一个 标签,用于触发下载 + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', 'carbonTradeDetails.xlsx'); // 设置下载的文件名 + document.body.appendChild(link); + link.click(); + + // 清理 URL 对象 + window.URL.revokeObjectURL(url); + selectedRowKeys.value = []; + }) + .catch((error) => { + console.error('下载失败:', error); + }); + }, + }, + { + label: '批量删除', + type: 'primary', + name: 'userBatchDel', + dynamicDisabled: (data: any) => { + return data.list.length === 0; + }, + confirm: true, + isReload: true, + isClearCheck: true, + api: carbonAssets.delete, + dynamicParams: { ids: 'id[]' }, + }, + ], + columns: [ + { + title: '序号', + width: 80, + customRender: (text: any) => { + return text.index + 1; + }, + }, + { + title: '资产类别', + dataIndex: 'accountType', + }, + { + title: '交易方式', + dataIndex: 'transactionTypeName', + }, + { + title: '交易日期', + dataIndex: 'transactionDate', + sorter: (a, b) => a.transactionDate - b.transactionDate, + }, + { + title: '本期收入(tCO2)', + dataIndex: 'income', + sorter: (a, b) => a.income - b.income, + }, + { + title: '本期支出(tCO2)', + dataIndex: 'expenditure', + sorter: (a, b) => a.expenditure - b.expenditure, + }, + { + title: '发生金额(¥)', + dataIndex: 'amountIncurredValue', + }, + { + title: '交易对象', + dataIndex: 'tradingPartner', + }, + { + title: '更新人', + dataIndex: 'updateUser', + }, + { + title: '更新时间', + dataIndex: 'updateTime', + }, + ], + columnActions: { + title: '操作', + actions: [ + { + label: '编辑', + name: 'userEdit', + handle: (record: any) => { + getDictList(); + text.value = '编辑'; + visible.value = true; + formState.value.id = record.id; + fetch(uploadPic.select, { bizId: record.id, bizType: 1 }).then((res) => { + fileList.value = res.data.map((item) => ({ + uid: item.id.toString(), // 使用文件的id作为唯一标识 + name: item.fileName, // 文件名 + status: 'done', // 设置默认状态为已完成 + type: 'done', + url: item.filePath, // 文件的URL,这里假设用示例的URL格式 + })); + }); + formState.value = JSON.parse(JSON.stringify(record)); + if (formState.value.expenditure === 0) { + formState.value.transactionQuantity = formState.value.income; + } else { + formState.value.transactionQuantity = formState.value.expenditure; + } + setTimeout(() => { + let selectDevice = ref([Number(formState.value.transactionType)]); + findParentIds(options.value, formState.value.transactionType, selectDevice.value); + formState.value.transactionType = selectDevice; + formState.value.transactionType = formState.value.transactionType; + }, 500); + }, + }, + { + label: '删除', + name: 'userDelete', + dynamicParams: { ids: 'id[]' }, + confirm: true, + isReload: true, + api: carbonAssets.delete, + }, + ], + }, + formConfig: { + schemas: [], + params: {}, + }, + rowKey: 'id', + }); // 分页器 const onChange = (pageNumber: number, size: number) => { queryParams.value.pageNum = pageNumber; @@ -492,6 +663,12 @@ }); fileList.value = newFileList; }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const onSubmit = () => { formRef.value .validate() @@ -625,7 +802,7 @@ height: 16%; } .detailTable { - width: 65%; + width: 70%; margin-right: 20px; height: 100%; background: white; @@ -633,10 +810,27 @@ padding: 16px; } .total { - width: calc(35% - 20px); + width: calc(30% - 20px); height: 100%; background: white; border-radius: 12px; padding: 16px; } + :deep(.ns-table-search) { + display: none; + } + :deep(.ns-table-header) { + padding-top: unset !important; + align-items: unset !important; + padding-bottom: 10px; + height: unset !important; + } + :deep(.ns-basic-table) { + padding-top: unset !important; + } + :deep(.ns-table-main) { + padding: unset !important; + margin: unset !important; + border-radius: unset !important; + } diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue new file mode 100644 index 0000000..05bbc92 --- /dev/null +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/index1.vue @@ -0,0 +1,642 @@ + + + + + diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue deleted file mode 100644 index fd85219..0000000 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonAssets/carbonAssetsDetail/indexCopy.vue +++ /dev/null @@ -1,713 +0,0 @@ - - - - - diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts index 8d88d3c..25fdcf1 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/config.ts @@ -15,7 +15,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入排放源', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -92,7 +92,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入排放环节', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -107,7 +107,7 @@ export const formConfig = (disabled) => { component: 'NsInputNumber', componentProps: { placeholder: '请输入排放因子值', - maxLength: 20, + maxLength: 5, }, rules: [ { @@ -154,7 +154,7 @@ export const formConfig = (disabled) => { component: 'NsInput', componentProps: { placeholder: '请输入碳排后缀', - maxLength: 20, + maxLength: 10, }, rules: [ { diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue index e09c09b..773d362 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionFactorLibrary/index.vue @@ -27,6 +27,7 @@ :tree-data="gData" :checkedKeys="checkedTreeNodeKeys" :selectedKeys="selectedKeys" + :show-line="{ showLeafIcon: false }" @dragenter="onDragEnter" @drop="onDrop" @check="checkTreeNode" @@ -164,6 +165,7 @@ :expanded-keys="unitExpandedKeys" :selectedKeys="unitSelectedKeys" :tree-data="unitTreeData" + :show-line="{ showLeafIcon: false }" v-if="unitTreeData && unitTreeData.length > 0" class="draggable-tree" block-node> @@ -198,7 +200,11 @@ - + @@ -211,7 +217,11 @@ - + { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const unitOrGroupOk = () => { unitFormRef.value .validate() diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts index 6f69329..42621d2 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/config.ts @@ -76,7 +76,7 @@ export const tableColumns = [ { title: '操作', key: 'action', - width: 130 + width: 130, }, ]; // 碳排速算表表头 @@ -119,7 +119,7 @@ export const columns = [ { title: '操作', key: 'action', - width: 130 + width: 130, }, ]; // 碳排速算新增页中表头 @@ -131,6 +131,7 @@ export const drawerColumns = [ { title: '因子值', dataIndex: 'emissionFactors', + key: 'emissionFactors', }, { title: '排放环节', @@ -142,4 +143,4 @@ export const drawerColumns = [ className: 'dataSources', dataIndex: 'dataSources', }, -]; \ No newline at end of file +]; diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue index b4bd901..3454b15 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/energyConsumption/index.vue @@ -22,7 +22,11 @@ :label-col="labelCol" :wrapper-col="wrapperCol"> - + @@ -250,6 +254,12 @@ isComputeCarbon: [{ required: true, message: '请选择是否计算碳排', trigger: 'change' }], unit: [{ required: true, message: '请选择计量单位', trigger: 'change' }], }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; // 排放类型的变量 const emissionTypeDic = ref(); // 计量单位的变量 @@ -259,15 +269,15 @@ // 年份选择改变触发 const changeYearData = () => { queryParams.value.year = selectYear.value; - getTableList(); + // getTableList(); }; const mainRef = ref(); const year = selectYear.value.format('YYYY'); const tableConfig = ref({ title: '能耗统计', api: energyConsumption.pageList, - rowSelection: null, params: queryParams.value, + rowSelection: null, headerActions: [ { label: '新增', @@ -690,10 +700,10 @@ field: 'year', label: '年份', component: 'NsDatePicker', + defaultValue: selectYear.value.format('YYYY'), componentProps: { picker: 'year', valueFormat: 'YYYY', - defaultValue: selectYear.value.format('YYYY'), }, }, ], diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue index 9d62f58..5350ea0 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonEmissionStatistics/quickCalculation/index.vue @@ -130,6 +130,11 @@ type: 'radio', }" :pagination="false"> + -
+
+ :scroll="{ y: 380 }"> @@ -162,7 +168,7 @@ -
+
@@ -193,6 +199,7 @@ :selectedKeys="categorySelectedKeys" :checkedKeys="categoryCheckedKeys" :tree-data="categoryTreeData" + :show-line="{ showLeafIcon: false }" v-if="categoryTreeData && categoryTreeData.length > 0" class="draggable-tree" @check="checkTreeNode" @@ -230,7 +237,11 @@ :label-col="labelCol" :wrapper-col="wrapperCol"> - + @@ -317,7 +328,11 @@ - + @@ -351,7 +366,10 @@ - + @@ -381,6 +399,11 @@ type: 'radio', }" :pagination="false"> +
{ treeData.value = res.data; if (changeSelectedKeys.value) { - selectedKeysR.value = [`0-${treeData.value.length - 1}`]; + selectedKeysR.value = [`0-0-${treeData.value[0].children.length - 1}`]; changeSelectedKeys.value = false; - getTableId.value = res.data[res.data.length - 1].id; + getTableId.value = res.data[0].children[res.data[0].children.length - 1].id; + bizId.value = res.data[0].children[res.data[0].children.length - 1].id; if (res.data.length != 0) { getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); @@ -616,8 +640,9 @@ columns.value[3].title = '排放量'; } } else { - selectedKeysR.value = ['0-0']; - getTableId.value = res.data[0].id; + selectedKeysR.value = ['0-0-0']; + getTableId.value = res.data[0].children[0].id; + bizId.value = res.data[0].children[0].id; if (res.data.length != 0) { getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); @@ -634,6 +659,7 @@ const onSelectR = (selectedKey: string[], info: any) => { selectedKeysR.value = selectedKey; getTableId.value = info.selectedNodes[0].id; + bizId.value = info.selectedNodes[0].id; getPFYTableList(getTableId.value); getTableHeardUnit(getTableId.value); }; @@ -647,8 +673,8 @@ } }); }; - const expandedKeysR = ref([]); - const selectedKeysR = ref(['0-0']); + const expandedKeysR = ref(['0-0']); + const selectedKeysR = ref(['0-0-0']); const checkedKeys = ref([]); watch(expandedKeysR, () => { console.log('expandedKeysR', expandedKeysR); @@ -778,6 +804,12 @@ groupData.value = res.data; }); }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const onSubmit = () => { formRef.value .validate() @@ -945,10 +977,13 @@ }; // 点击凭证弹出框 const openVoucher = ref(false); + const bizId = ref(); const downLoadVoucher = () => { - fetch(carbonInventoryCheck.voucherDownloadList, { bizType: 2 }).then((res) => { - voucherData.value = res.data; - }); + fetch(carbonInventoryCheck.voucherDownloadList, { bizType: 2, bizId: bizId.value }).then( + (res) => { + voucherData.value = res.data; + }, + ); openVoucher.value = true; }; const selectedRowKeys = ref([]); @@ -1061,6 +1096,7 @@ canEdit.value = true; automatic.value = true; } else { + canEdit.value = false; automatic.value = false; } }; @@ -1220,6 +1256,8 @@ reportId: props.reportId, year: props.year, categoryId: categoryId.value, + startTime: props.startTime, + endTime: props.endTime, }); const linksData = ref([]); const datalist = ref([]); @@ -1243,6 +1281,8 @@ reportId: props.reportId, year: props.year, categoryId: categoryId.value, + startTime: props.startTime, + endTime: props.endTime, }); const tableHeader = ref([]); const getEmissionStatistic = () => { @@ -1556,7 +1596,7 @@ width: 300px; margin-right: @ns-gap; min-width: fit-content; - height: 93%; + height: 100%; border-radius: 8px; background: rgba(255, 255, 255, 1); box-shadow: 0px 2px 20px rgb(69 123 234 / 20%); @@ -1645,7 +1685,7 @@ .right { flex: 1; min-width: 0; - height: 93%; + height: 100%; border-radius: 8px; background: rgba(255, 255, 255, 1); box-shadow: 0px 2px 20px rgb(69 123 234 / 20%); diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue index b179f13..b8971e5 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonInventoryCheck/index.vue @@ -20,7 +20,9 @@ :footer-style="{ textAlign: 'right' }" destroyOnClose @close="onClose"> -
{{text}}
+
{{ text }}
- + - + { if (formState.value.reportPeriod === '2') { const year = current.year(); @@ -105,6 +115,12 @@ formState.value = {}; formRef.value.resetFields(); }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; // 点击确定提交 const onSubmit = () => { formRef.value @@ -142,7 +158,7 @@ name: 'userAdd', type: 'primary', handle: () => { - text.value = '新增报告' + text.value = '新增报告'; visible.value = true; }, }, @@ -186,7 +202,7 @@ label: '编辑', name: 'userEdit', handle: (record: any) => { - text.value = '编辑报告' + text.value = '编辑报告'; visible.value = true; fetch(carbonInventoryCheck.findById, { id: record.id }).then((res) => { formState.value = res.data; @@ -252,7 +268,7 @@ component: 'NsInput', componentProps: { placeholder: '请输入报告名称', - maxLength: 30, + maxLength: 20, }, }, { diff --git a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue index f6c6df3..4b15713 100644 --- a/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue +++ b/hx-ai-intelligent/src/view/carbonEmissionManage/carbonPlanning/all/index.vue @@ -15,7 +15,13 @@ margin-bottom: 1%; ">
- 上一年 + 上一年 - 下一年 + 下一年 - + - - + + - - + + @@ -336,6 +346,12 @@ disabled.value = true; } }; + const handleKeyDown = (event: KeyboardEvent) => { + // Check if the pressed key is a space + if (event.code === 'Space') { + event.preventDefault(); + } + }; const handleOk = () => { formRef.value .validate() @@ -710,6 +726,7 @@ From 7b4f22222d94806bd2609bd7f5ba5fd3a08dcae9 Mon Sep 17 00:00:00 2001 From: chenpingsen Date: Thu, 22 Aug 2024 16:00:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B1=80loa?= =?UTF-8?q?ding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/asset/image/bulbLogo/fault.png | Bin 0 -> 5978 bytes .../public/asset/image/bulbLogo/fault1.png | Bin 0 -> 5222 bytes .../public/asset/image/bulbLogo/repair.png | Bin 5978 -> 5935 bytes hx-ai-intelligent/src/App.vue | 7 +- .../airConditionControlSystem/device.vue | 57 +++++++++++--- .../airConditionControlSystem/tabs1.vue | 71 ++++++++--------- .../airConditionControlSystem/tabs2.vue | 14 +++- .../airConditionControlSystem/tabs3.vue | 50 +++++++----- .../equipmentControl/lightingManage/indexs.vue | 56 +++++++------- .../view/equipmentControl/lightingManage/light.vue | 84 +++++++++++++++------ .../lightingManage/lightPosition.ts | 37 ++++----- .../view/equipmentControl/lightingManage/tabs1.vue | 78 ++++++++++--------- .../view/equipmentControl/lightingManage/tabs2.vue | 14 +++- .../view/equipmentControl/lightingManage/tabs3.vue | 49 +++++++----- .../view/equipmentControl/style/dialogStyle.less | 4 +- .../ventilationSystem/components/fanControl.vue | 71 ++++++++--------- .../ventilationSystem/components/fanLog.vue | 46 +++++------ .../ventilationSystem/components/fanPlant.vue | 14 +++- 18 files changed, 401 insertions(+), 251 deletions(-) create mode 100644 hx-ai-intelligent/public/asset/image/bulbLogo/fault.png create mode 100644 hx-ai-intelligent/public/asset/image/bulbLogo/fault1.png diff --git a/hx-ai-intelligent/public/asset/image/bulbLogo/fault.png b/hx-ai-intelligent/public/asset/image/bulbLogo/fault.png new file mode 100644 index 0000000000000000000000000000000000000000..a30b50ded7c4bf7476d204bb5d48547b0fb609ca GIT binary patch literal 5978 zcmb_g2{hF0+nzC&gpiW0Oe2IDvlxSEY?)pm`&NV*GlOBwj2UArSqqgUWh)_yNTP^H z5iLS#ktJmbEp}ze{*B)1d;i~g|I7KGZ_fG6Z@ZuCzOMVep65B|cf!WXRBWT%MgRaH zX0{)1$2%Y39RV8zdH<2@eFu3bVdnlrYydz+YW)BLE?krW00h&h4hI7dS{}fX82*|> zGQ*Ri8SKyGMFRjh!(b+ni$p`#Xi)^ zffVXT(j!9*4ZyfyEDyk+5=aCG`_t%bY_LA$2QHR(z5W;u0sjaI^wWnJuO|c_w6p=6 zFjy3@o+biDLLd-e9X(B?4w8h@@q&U;2owsA(1jy0Fr+RPfx@D-z(0QwUOE=p3u}k} z<7YD7oj$}TFp!Cb!?|3pCRa<7!SaS9_4M@M2oxNJg7G3?>=1e&F&IW?EB!*iQ`jUH zl^IB7(8247L{A1MP#?mh`lkke=5JU!`)8ea6@v#8nQ){gVqMdZKr-of9FxPM{YXwG z!6`I~KZPF1=EWj^$1;5wfef|}cEKtQG=`(9=Nh+K2cv)RIA_dWHNoR2PQCI3ST&Z3Gsn z{STo$&yb0M#D5!1CSko8EPo8n8!}*2MbF}tQnmh zNTib}W_W!FPqQYKO2#5RQ7CN`MHfa!A$4J%Bs3AG>xm%3bi5FH6bc5dgVOf;H6G6( zan?J#KK@UalNlr)#{XtTAt*feA+%vSWF!TK(L$48xriVi7p~#*@BvKE(?&co`!S1KB zd94fiIX~rJMRAwM5e|E?bYN#>v9xjqyg=)Y+GpV`?A zuRt!5MKSi~)$ZS#3;xf@vx!0fnmU>2Nk*VCyarCI|25x_cYj%1d5!$>h__&`U;f@IcsIW{8w#CQCl+rjN!bdz2>?j=n&FKdg5Qp3 zg)tT0q{i3vywxd zK3+6kNBgT*IZl1-$Z*9^*C>9o4a|3o96(q}AH6?3 z-=VOpvKSIG<4BNY3NQnrcifdbC{UZ1^7iplD+tOBKd~*j1T|e@hM(A)tfs1Dvn`>i z1>(7XT1^E4KiL#Q=~Lb}#OmMK{|?F6G~bY$H1OH!bFawzyWn=v1CqoDW^!8Fhyruy zXdKeB;mV=2gY-Cd3w~6=@i^GHPTG_Uurten<>~%(BxS+={>C>#M>Y`Xj%6T3F}+ z{<)AlP|iMO5+^!o$QPH9DjQOoHZ~+x!d>dm%V}7sx?0?9Ksayb`{Wo;p$?!8v?DXG zYPihX}6+o?$W&L3*CRu6c(>IAZ_Y{x=D?)T+SJ$RUzD01i3 zl-)?NTz`#fuJZU5=A&R$khWFX4Sx6Az0NT_?M^F@@cG@Qhp1&^k{R=z&($~aC8XN9 zeidwW0o?#CV;hW^M>G^ImFW%V(i=j(J80yM7q)z*^WCr(Ow$+Kgn0?GG(&sq~l@=aJVIM-t_058?leLMza;uOPGO( zt{EsTVpB}`LaO4nDd)y#@S}CTb0?$p%!_iT`Q`+fAs=FZ8g!(R$m88DXNgw>pexk$ zhF3X8j_iqq8m8g$u-^Cnr(-Q#cZU0hzKFNNPa4gOa!w0p3}3ua=C(Yg*7coClx|Ll zNO}70c_P-}nBjX+G7cnZF%iwCbKKo7rM$f;iIB9dw;}{JY@3K$yASkCo@q&%X6Xac zVb(hCL)K4%8b*dy+PV$Ik8qXwX}})m6uZvT7>iy{kO<+~(T{Q_+~|Vg=kUep&xG+K zTiut0$6Pb@2^@ds7gk~6)At5Sf|IMw3qyW*vb#(D^^RGQp7HU~fhmv8_N*I69y~+L zXP%D^9dP}apjW0jA7$?*e|VM|5wzoocum!woMpmWO*M$KYfBFQ%H;N`1=R&k`bYLa zX3|yJ3L(M@gYYS*etVQMx3M+9UwFv5x8UkP+gkEcU)vpt8%JbJ?{F8VHiD}yBHHHS z-7*K7q@_aAHMkKI;;-Z@Mj>c=wWno*f?7zXM!+o0T}?<(giB zaVjm}TFarV5-jz%U8uX@Qk1wR=$6xPv6%R!O$5}A2;pOPST1zmqr`qIiX2pEr1PuO z-VfKiuw`?p)!!C$3Qk;)Q(<%XJ|eyMZ~2p+a-B0Y~Zt( z?uvRL?Lyc4AvNz$-fOwD&sE(;FC{d6F=}upSZ6OyH%dFou2!v1nn-~C<%B`=TX z$L!zJnAGZ?NHW`{9!&^1*-4YRv}ZYmHmoLMrx8Hb2)=e{uHuBy^|^}WG4UJ(Xp>o~ z5#DRGUbZsk^hDVr>uh?Ol=WbA4Z1MX#J0)pe58I2S2xT&b5rZ>t?g^o-TtR+ofZa@ zUjs2O#BOV;$*DO{%*lVC5dmy_p#0~GWl8VRCOa$Bmen^$zCFqtLPFCQXSmp$u7azy zrcFWTxd~Br)!%#&;W}#40!be|lKO2w*}HOF9kv?fIgMp5FGfxpXH*_PYg@KwE%c#a zmbL#YVCi;*5;Bfzmi&}9+fqlA)*a?aU^2k!N_D(n>(Ln+xz>0 zi|rC`g0`0lMX0o4)?C;_kCM_VFzzdr+b-1z@I8wKX&CS;u1KHSpXWW~n`3WCtt_v2 zCO1{&Uohif!YLQ1o_&2d_MBnFtLx<4&*!{b-4^!txN0>XP`9#4vh$7i8ZIuqS#_)W z1n}kyoOJZjNok*j@@-aQIWl`jKjqUz`97zWN#9Yq`4A^>5ZO02=$nFDI6S+3G&d;d z!cuw4d>y5RKep03sz@X&szmlsWHf(WsQz-{n+6uNuV~&XE-hsy&NRjDUL`l>af%R>Tw+rqEI6Q|0yRN)I9*<=!)(P(Us?k?u7=FI|m{os{y&R`m_nO1DGF<-M_O_~=D@<0! z*ld``Q?ZJ<+Y;Ec$c4t*5G23d^NsJWrkD$lcsIZ9M7GI1tMsq)58nZ~*I~9%O_UpQ z>DJ3YIaj!#NBA}4n+S!2l%PRo>G{hZgll-;#+hr81j^EsW2kd@7`t0u9L_X}FHa`pNIJ+j!sfrkp%e~|ciWA^l$&Xq*1 zl&x{Bd@tMcW)p_`&icR zG0L=*6x;hmZUbjHeO&8hZJwlyCNlkCP-vT6)#KTY@)glWa=(B5K$=LPe@u4Cf{=jf zUiv`*N92{`yjXwDbWEx?56IEUIKe)}#B^XP^th-^d)pK8hh7&StfKnJYe$MQ^R>^X zyCQrCH#5b7^Z7})8SxYTMiuDbFYbj|;^$BwU-y=zghH<#w=*CW9zP7g#V?4N#G^K? z2wmcC!!MrHa&l}pe)dJehZ8!{I3qcgb-?P&F_2gE$3`4vexBSMC^m1@XCQ;~`IuvD zl_P4Qp|M@vH8)f`Se0`48fXoG!(^Xl?gg@;`KwYHISU0c{Njx^N!9HqW`-*TXWB0e z$av^~zi^%Q<C<%P2A|P=vY#pg3h=7mq8NpWpm=M4i%mER-Xmj zDSqtN+){tpyhvL$Hfc9x+leMNWV8AQA*C?7M_$zjJdh%5L9w|Os90t4+ z-*+a9(d%?-am!?5)x51`<2$XymUMV~0jwsIdzpI4c|+WzSxatOe3sNn_2FT{z`GfbS>j-=l7waymnP4(CO7GI)4!&*}=xIEe3le8BAV7rC`s|zS69c}kp2WL zE&1-oLk6@vq--sLFT)h3^TN|4m~ZpRyJXxEf)Qk7aqBdE7Xi?YKDI$V4sPQoff3F5 zsQt$|kmKsvf{m#=%EU9{3rjHGb#Hwi6kD7evpg%LZjz67wiVn3e~*zZWhH$X+mRse zSY^PjNU0nd2FMt6N@$jf2uH~wtcCgO)r3ZlD7U?P-ON|^Vj2;UM8F@rV>%V`P^HuL z>zCE3^e7;YLIB^i%+?)WCS^CP<6bG=4sJUmF~8rV3DNGHW_q8W_V9_1n3VKoU#A4) zgQu>ACb+UVCYDzeTA_;dkZ{{0mV0qf2d502S#QU_Lx6(aN@pEgimBIaW)$L|nw@{{ zX41fES+bCPuGS|lXk))!`HHCeThYDE;4Z?~#iE-mK=F}xCx_@%^c^3CTgxYRe%=_x z{lHeSYL=FExrK|^CATHdac}F8X`b=GMa9SW`JrM9TVJ7DgOc_7Y80l{lD}3FXw;0IWzC_yw`Kx*L~mD`#k4Nl!ck0z^3h+AP|Uv zv5~$N=WNRPd2Qt797CA~cAOKRr;$Aq0@*CO_Tz%2UXg%6coQkscHVY)Q!J5ARVI+= z&Y-eC)susUKr|2ddlHE5ptrO$=t804pi|YgP-zMY2R(wu19(q8(3N5o$N&!qnpqPA z-H8|y^njMMrazWLKn1-C(*9Hr8WZb}gZ|*fa<12g;ZW%x5N~%JRA()qv>o0;T93{E zr7_9?j0gaLv>HYkp@twL)yVs$kpL122h`yRRTx4Y3m~y7DCu7xC?_0)M8;a_AN&=J zbBBYvdV70f;c!1cKV?6ZGM(W9M_@1*IDmvBkuVMd#tfi&6Z~N`=H9;;^g$+(LGkpa z&}q_Zj09)8k2em=k@_QFya;PF^v8q=FVBZ9{I zI4CD)WeSCa1;`jRB!D5n$N-=ULjx*Am^ukWa@?l|Adt@LC?d-Fulf3PqR(1q*XI9p zIf+i>aQtsnA_hqY2}D&G38jwa1Mg>5^)W~EqOhrWnfH{*{v?>{~=H?#;!5UGRoYn>WdOr?> zUcat9DAGSXfh7>vypDqs*P0BHpudJGe^ZbDDDtoQey$*g^j|dpXLKf=?CnQjfI2Rm z+WlK|!T*_fCc*b#OXm~?1V|_{OjQM=0z;Bj&@ciLAi-3K00~s*^Z`lWSmCFpKc)XR zBgc=w&G_F)|HVyoCD2?z&dLdg{`blJXTJOw$^7|d{r@EcUt2GKIt>1Q&G+NkA8RY8 zkw1nw3-;RO@2!G!^Lw)aX`DJSI9o~dLZ%{TJM%Tx*Rl2=m`o4$5c`B*-cV_~$}q*H8r-l@U|$AMT8;cRPc0WNPen*G6dp3x!WCW4MNyQfGM zQ;fSZP?V}d-Ixvb?rT_gQst0mfD-R{k1&M)%IOoneji4qZXz_QiBmWHdNrzB%mYc2 zsCLb-OTi!K=k8yKNQg6+5AJNr6r-T6r%rBxtV~V~fA4)LA^yTraZK0>sx*!`qnuSU zgPtj=*7nL_4~CE6jNkRW$S;zTU2fPl&hCCun=|-jGS%8dtmtLk}o^RnK8K( z63BYL5TUuzgQv#wJJUX6{FzNVQ9zqpsj6yZDT9y8@RZ@H+V}W})9fj|x~~1J*6lT+mMX?sD4 z^Jt(_*NItt|LqF5=8{h~8Zl#r$Eg=6-!6%A1;uB!EU^o;$ADAM=NIKz6-j*q8C%?s zt+aTXv~y%ayS%+)s`R#&wSUWiX~ljCmr7Cp2HBF&!I zt=P^R>k=lh^t7hC)ZcQdqF1w$(iP0&IS%<=a*6dor|VjquUC&caUFPtPnKe)Wi<5B zkn?@e8Xfp?pX{;0Z#d;$$JTkId}3AzzbU&z7$ygO2-Xj+q)LQO!WU}It9SN-$Tq_t{TPwfe`4|>HhE;N{xK6DbaWA#ym`#@q#zn^01@=aM z&loC~P3|mx@X;`|caxoI)5CtZz8!B-J#3v&IIpdOX}8J-i|r*jJOSkPG~LIrF0P4> zPpQipk6h9PMOKCc5=1ET8!WcT@s~WS>Egdn6YLA^ckNlJ7B*3pkz~BX=oG}-P3SE7 z)+vTgEd`%QExN#zt(n)+3?9woIOUD`r<$VfJUsDDheHm%F=e9~Gj1 zJ#{EBPr}F;7WsAQn)z52dxe}d&d24 zO33%g3w34?Je{IizuM5XDmIi9(s)GkT4I6mwP_#2Wmhkjf*NjFV8z_euJfGFlW8fN zW4FdjC1bXl)J5WDFXkURwxyW+xplic#N3`ett({dHn4u9P9VdPKUIQ#q6^t^Yel0j z#DFI?mWVTfu^g{7k(~J4lPQT8UlnEeORmqirG*sNZ?bD`-VF?gg}d5U7mDQDp08}5 zG&(2tpi6>x>#P)OMvoMs-`RmyIs4CGr>%qn6h?NQ-{vp0S+gq+ zf1Fls%PubNZCpktuHVw%8&@f+7Ngmwd=tHcj_*46rIS0Mk+KRo%6N8Q zvComy_7B!uj_a&g)nWV}wI*FX)1p+LTN78M@!r`e;hV^nTx$Q5>yKOc6&i?x56L%icy_y6X#aB|leO+=`j$4NH6y zATu%3VkPT`&ul7|*;SQJP94nrf{`k&PdraLoOl$B+q)|$Vj0!_Qf3L(5L(97FZFKN zG`lH`;eNVh)qpLpZL~$IVkb;Eb1v~+Q~dcuHoD;xAvHTTDjXd4CAGu9CtofxPyE(~ z8j54M*S*~#H}>|pY0ZFH+Ps@P&o(d`duI|YmNNyOuSr^MW|Th(vzpY&Cmkv5*;}Yd z-czGxE53UEWM#VQ6rVzC!G}!G!hnYLpOW-8G!iskJ=@0p~K*`P|sWKWcBZva8vq&d^gO{PZq1oisEIUhdZ+WTMfJ&?DpUB{M# zva`Djm$Dp_LKnEa470oCLcYOr6Ub3>vkEs8sVV+9f}$2a$0ky!5n{U9--;;% z9ZVri5WeqCRsgKWuV#SUNPi%1N${C_Lp*WEB+>+%#SIO7uf|uSb&|DxTv>nkVdo1R zHLZUrt_-}n+TCN+%$*2J)0LIlTl$WSalKpK8#ytXq+;iMRlFRi-?=LLApC?~2;HQe*%5znD_?-md~Uk2!Yd)B$TOddys?flj90E1 z;s|)XSm~#L!wI3ZR_iXx;f`%*e5>r;$N^3vd{4YL=P611C79;IZe9TM?a9u+m2l8vK zhUG>cSrVE(^%kgSTx=;4utW5l<#FrF5*J-ATqQl1|0=!Br0X_jYq94^P3eNoFIb8ewZuH^ALC!p7TI?<@3itC>KVOb|UGx+RbZS-Eg4pE`YT8&V? z%Ud8fI-~9O313z%vX`Ce9!(`wu^t(;>`aAZ%R*>r^7*wxhVRnJ72hfjD?_-y207@S zDdG0r?0GZz?9r(FO?5j<6)dWx@8ZrDvhrR}_o1Aot60W0Vwd>dPjB`~8{K-@dTJmn zC~ZY<#bI}NEB8(3+GdfbvfE#T@3?T`NToXD)@%>9Ej~5pb5V(_phx&%%yO<&`RJue z{wOe^c4oWs_^IxFiu3Q~G|*c2&w4F4H}1kc>)%Jr5E=7z!f-oFE{;#Ne35$?VE*R9 z%00y5=W+dzc_E8T!Ln(-zQ!vupTWH|Q!hqEH%NwF%lsS~^S;<`Wl;WMTHuK2hFOzw zsm5io(Pt+&<-T8O%cLKS;O=}>3w$3wj@qR8#(A!HN6PH`^;y*s&mEmyUB}UYSVD3r z@-)jC5;sykY*i@Su%tIKU~}-*n7+uu2*NF#`+N<5@1UL+H@Q<%@=bz;oygKI!sn7< z{u-a1PuowB^*Ub{vrwo#Mz0`U?FZuQy3ghAk!p{NvklhGsRi8}hUw>c%DxIF^UIyU zgx3czq}+UCVKsP{o)&uG@D*9U=ag_vn3ET+JNoM($#j&Az8R$JMc45Ws%YHe%eMw; zS~f3nyiOrKho}RN(sctR#9n?g_AZ2&>IV^^`?b-cv01}>om)CJ4&tb<9{D)-Ym#?P zCpv!J#(=Xa*Qx~~s+n;k%GtR)*vT58nh`i|ReenOmLW=K9w=IVe4EsT@96pIRJfp>C!FQR1I{vT;xstiN?S z=b6lt5g5PIaDxy=j z>%1;?MG45_=1qOYy7clT?saR$EPQ0^InT@AUu;7bH+7Jh|VyWb1EUv@W16ffdr9fR5# zYxjMj%mm;)kL4{hzpSwl8TQ=24=Z}?gY3I~yV1N}A_DC&lW*qmFn*0F9RU|hiF8Xv z=aT}W>l6?bKISr;XQhpao&MP1!pP1)7m6_M!+mb&Vys^EffR&TCbw((-%6hnaC?S!~NCh`FWJ3q|8vXxIiDTemQxvm}X68V6GQ**^ zfV`-?0|*31-PYB*7c#X~0QfqL27W`WY)w0Ec?Y{sX1NQT)BCvkxX?pgbXcA;T~&=M zl}z&z@e=U32)%ZPF=J4nAXUi?YG>hD%q&#Sc1J{s)$|7!)a=N)mKl>7YwqKt0L{a| zjuYH&6Gpv(j$srzvyrl8H05O1gX#xTmw!y|oou(v1rM~ZU=>hkhqDadSCD0$osp z4}QNcR}d0rjHZ~6PJRFQv_)R(S9PjHl!?uV8v3g`mn6KUUH zs~|S*Lyy%+y2WXc-TMndH_Km&81zSFjVkO(2^Ofw>{M!@%ny6v$VH`WG3IxNJb4@j0l#O?=$5D$$eYRO6KxQJnrI6a}jRM_K zwN|bki!*G zAvCxg&oS?aDKy^Q?Ie*Be8l1l>|e--o;70@=0aOfpuS0oON4^1vv*9DI%dSEqG*kP zc(s#|O!hN|=O;tca|3FAcE80;&`wkDqG>qKB z3=Nu02lhR^k_;`Axw*}3xG@0Msg3t@Z_onbT}6;wIHL}yJp;OA%wszm>}#%lwjQJ_6B z1GbL%-zgnRsy4F&pUD*MfwAv&F!?y8@t8@Ac5H6Ui^$FPJr(??wyT)_Rccgt;1o3J zT);Mi@Vntj><5&9P(^{$2Vs)|!YFV4XJh9cY}4c(kQs%;c!4VVkRy%MpGhp!5DzE&FzK;mT(E;hGcaM_^M7L}3FutwLyOesH6dJ%n-e znOyc$RjbZb@1vcsQ_C_%1D74^_L6}cfje^|Enttz7`?d~cJr=XG=s;SdERUSGK4}M zC#!FUz3KTahqa#-&-4zV?f)xe)W&8|7@cM8{1atj@~m^~)70j+v|UIRVLe%!sJUWs z*x^9ar96qsGETm+*W(ILBt=hOd+a)rN^CSHG^4U(3*Y80a+iR|nuS;;?gCX=-!$!K z(n;8~8RjY{5J3B~ea)c1s_*Pbl_De$RzUBYyt!i6tMf-lVC}QNbK&mi}xz?cXRiXpaw_DvlJ^`yIecS-!xf7X@Xr4 zQ`SNA<`E~ieO(5+GZ7V0Kz8CSEHpNI5U!Z}kYeEf0*SWsrtfuND?`=I>L;x0Lu@0( z{UwP*j&M8OU)|R2r+6|4w6>D3*5{q&Yr%Kbh(d?tth1EUC4u9T zlj#%Cu&M47f*N>lVkPxX)5Ah?-$25kawyW6B!xF0P^9Z@UGi2>T2-SN|LOrhnS8tk zGrNG<9iP!h4;L+ZxfjxXWPij@nhNL^DGYg-F;h4FUTws)lV1wIbqUwX_c*rT=wIaL zf5oy1lyE@ar)ZII^$8woL|UzI7d;jHsI<7Q{JxHYnsa7IFr zE`;j9E*M&g!0flPCJF5~bbiF`M6LM{xItsv{eNa@zJTeJjysi9;QLgp5gWQlG-{)B z?DW@WUUvoFR4_DsW0*1E0dGMbR&r*mrN?6%E;1VR{ycmVR~`y)uQdOmaZY$XV^qsN*w}LLm~$}om#NCc$|xgmxc#&j z=!SzdP$mz(6Cl*hc35rn&yo)NbU`JrP~-^tRZVj{DUKYso|CwV$lqJHchFas6?hHb z=&NG=ds=R~HlS&URYnBGXNTK|(}k;pFw(w#wfJKP!?wq?kEwp99d_7rRZlyIMJmhh zj_geco_rt)xBU(A>GgeFjeqCb`O&tvH9#0}gK0PZyx^ao7#6_u!%t}C-n=r$nlhcP zTPOZ;@aSRJiuMWmkW&&(|K3VC-?cSzRQi_)P4J8E1n*g6a}%##X~Up6Dbm@Qp?39> zp-(f#>LH?zOMy;#3MI|DR$vi3qjfN*q+)ucU6Xi)#4qTS>mg}u*(LAw~i8c#t zhd|}i{XOgIk`D*%)UhTqk46;Wl5eCc>d#<9d47_uy_#Q_;_H2{ni5{FF$hqbwX0hX z4iZA1svM<|x&M1C$;s4`f?;Ic9KvpMDsqDwcdCLb7FrDR6~m0r-xCSq&rve|=yYjO zeu6ouV?eXSspbIO@Mb?g{mX3mT#{i={db$1{!02tN>Gg4>ZHxh^O2OROtKp@W;f>8 zu>;Q|a*M0C;)?gfZp2Dm*8#vQDcuR&bj!E{B(Y>WH&o)UCR?sN(?NdY+xzvMeVXHD zJc^7P0HCw!xI5Mf3W!HSs571v{%5cp@Du==d-_gXSZgjoaD1emhaT3}NfsA9OjW<$ z3;F>n>mEoKp1G3b{duu9x{2H+rCm~~P*a2B{Y~qDTXkVy_o&Rnzi@kj0(t<&==78-+ygUQb z6#=e{=_^GQPWiw+7}8E8g5$^|YyG?ae0&|5QVqjEh_kR6+fN@4<*o+Dq(54H5UhW3 z?FvJG)O^K?SEsBfyOj#tSYub&CuoQuO(34U0DXMWvrJ7MPAL~HrI{T`rpsGhk40#_4?7}i$`038|3 zll-kdGedr48l572`}xG7-9q*3txK)MWNQ?Xe|W2H*hhF@ojaCw4xSDUOfp#)TCZ4l zq7McUzIJM`kAZBM2V)<2?Qx+~6AR?{fBN4Ey%cgw_k$oW;w}Cx39ng=k6}B(EFsWX zLo}~2&@7pUS0$|9$u(|M6oK2e#Fn%FQ)A%N)*{lQ-G!UhP3^Ad9$VZeq-Md!;hy$M z@{J&b>#N!8;juGBI_c5f@}IQzgU#pmK}V;N7iTA5lmP$!XOoBb5e2gMhV4uT%FIqRGGeV>eaG1Pv#7WrOWAvyb4sj zuDnjF=zEyP7^buvpF8JE92#C!elSh%&3F)1i)FyrsK(68r+xd0q|viMDi_2|s%HvB z#$SHr`q$G!CLyn6r|$3ZEvt^FzB{o{R$SU7yXm`x5X;Q+28h2p)pyHD9;FF_HUD+x zgR^y&*szIbHk_7_@0= zf#_>y^S(iHXgZ%>4NnqS;~f%c2ng^nh+CVVhM8>qFcaT%!!ML=zzf3^i1#tf@FOb^ zsb>nVc)DwO=49Hv$lw7)nS|#Z@!ImM7|`a7x9kf?kKM%)|8J6a%ruWn2aY?lOz+wT kOmabt@9mEazsH>k2aKogwnVuiLI35po~drNHYWOi05ZL8ZU6uP delta 4449 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 - + + + @@ -10,6 +12,7 @@ import { useRouter } from 'vue-router'; import Cookies from 'js-cookie'; import { message } from 'ant-design-vue'; + import { items } from '/@/store/item'; export default defineComponent({ name: 'App', @@ -37,6 +40,8 @@ return { cachedViews, locale: zhCN, + // 获得全局变量 + state: items(), }; }, }); diff --git a/hx-ai-intelligent/src/view/equipmentControl/airConditionControlSystem/device.vue b/hx-ai-intelligent/src/view/equipmentControl/airConditionControlSystem/device.vue index 3fe7ca6..3b5b3e4 100644 --- a/hx-ai-intelligent/src/view/equipmentControl/airConditionControlSystem/device.vue +++ b/hx-ai-intelligent/src/view/equipmentControl/airConditionControlSystem/device.vue @@ -9,29 +9,29 @@ device.regionName + ' > ' + device.deviceGroupName }}
-
- 控制模式 + 控制模式 {{ record.autoStatus.label }}
- 温度 + 温度 {{ record.temp + record.tempUnit }}
- 控制场景 + 控制场景 {{ device.scene.label }}
- 风速 + 风速 {{ record.windSpeed + record.windSpeedUnit }}
@@ -75,6 +75,23 @@ const device = computed(() => props.device); // 设备信息 const record = computed(() => props.device.record); + + const getClass = (data: any) => { + let state = data.runStatus.value; + let isOpen = data.switchStatus.value; + // 故障 + if (state == 1) { + return 'button-fault'; + } else if (state == 2) { + return 'button-repair'; + } else if (state == 3) { + return 'button-alarm'; + } else if (state == 0 && isOpen == 1) { + return 'button-on'; + } else if (state == 0 && isOpen == 0) { + return 'button-off'; + } + };