@@ -297,6 +335,29 @@
*/
const emit = defineEmits(['reset', 'reload', 'resetAll']);
+ // 设备分区业务 =====================================================================
+
+ // 按钮区展开与收起状态
+ const showAllButtonsArea = ref(false);
+ // 被选中的分区 默认为1 用于选中样式渲染
+ const selectedButton = ref
('1');
+
+ // 分区切换
+ const changeArea = (button: any) => {
+ // 当前选中按钮
+ selectedButton.value = button.id;
+ // 设置当前选中的回路
+ buttons2.value = button.childList;
+ // 重置按钮状态
+ emit('reset');
+ // 设置选中按钮状态
+ button.selected = true;
+ // 当前选中回路 - 置空
+ resetMode();
+ };
+ // 默认最多展示8个按钮
+ const limitedButtons1 = computed(() => props.treeData.slice(0, 8));
+
// 照明回路业务 ======================================================================
// 开关启用/禁用状态
@@ -374,7 +435,6 @@
const selectAllCheckbox = ref(false);
// 全选切换事件(switch)
const toggleAllSelection = () => {
- let arr = [];
// 全选
if (selectAllCheckbox.value) {
buttons2.value.forEach((item: any, index: number) => {
@@ -383,7 +443,6 @@
thisButton2.value = item;
}
item.selected = true;
- arr.push(item.id);
});
// 全不选
} else {
@@ -618,6 +677,8 @@
const refresh = (reload = false) => {
// 关闭执行弹窗
executeVisible.value = false;
+ // 设置当前选中的序列
+ selectedButton.value = '1';
// 重置选中样式 和 按钮选中状态
emit('reset');
// 如果是中途刷新,需要将所有修改改回
diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue
index da7fa3e..dfc2138 100644
--- a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue
+++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/components/fanPlant.vue
@@ -176,7 +176,7 @@
.get(planManage.getTableData, {
projectId: state.projectId,
siteId: state.siteId,
- // 设备类型(1照明,2空调,3排风扇,4风幕机,5电动窗,6进水阀,7排水泵)
+ // 设备类型(1照明,2空调,3排风扇,4风幕机,5电动窗,6给排水)
ctrlType: props.type,
})
.then((res) => {
@@ -249,7 +249,7 @@
.get(planManage.getTransData, {
projectId: state.projectId,
siteId: state.siteId,
- // 设备类型(1照明,2空调,3排风扇,4风幕机,5电动窗,6进水阀,7排水泵)
+ // 设备类型(1照明,2空调,3排风扇,4风幕机,5电动窗,6给排水)
ctrlType: props.type,
})
.then((res) => {
diff --git a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue
index 6590098..1a083e3 100644
--- a/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue
+++ b/hx-ai-intelligent/src/view/equipmentControl/ventilationSystem/index.vue
@@ -139,6 +139,7 @@
@@ -200,6 +201,7 @@
@@ -260,6 +262,7 @@
@@ -374,8 +377,18 @@
// 刷新当前的树形结构数据
const reload = () => {
http.get(url, { projectId: state.projectId, siteId: state.siteId }).then((res) => {
- const data = res.data;
- treeData.value = data[0].childList;
+ const data = res.data[0].childList;
+ // 默认选中第一个分区
+ data.forEach((item: any, index: number) => {
+ if (index === 0) {
+ item.selected = true;
+ } else {
+ item.selected = false;
+ }
+ });
+ treeData.value = data;
+ // 楼层信息
+ // selectIndex.value = index;
// 反向刷新
try {
tabs1Ref.value.setButtons2(treeData.value[0].childList);
@@ -398,8 +411,16 @@
url = ventilating.getTree3;
}
http.get(url, { projectId: state.projectId, siteId: state.siteId }).then((res) => {
- const data = res.data;
- treeData.value = data[0].childList;
+ const data = res.data[0].childList;
+ // 默认选中第一个分区
+ data.forEach((item: any, index: number) => {
+ if (index === 0) {
+ item.selected = true;
+ } else {
+ item.selected = false;
+ }
+ });
+ treeData.value = data;
selectIndex.value = index;
});
};
@@ -442,6 +463,15 @@
}
});
};
+ // 重置分区树所有当前选项
+ const reset = () => {
+ treeData.value.forEach((item: any) => {
+ item.selected = false;
+ item.childList.forEach((i: any) => {
+ i.selected = false;
+ });
+ });
+ };
// 温度数组
const sensorData = ref([]);
// 湿度数组
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm1.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm1.png
new file mode 100644
index 0000000..306285a
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm1.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm2.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm2.png
new file mode 100644
index 0000000..67f0378
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/alarm2.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.gif b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.gif
new file mode 100644
index 0000000..14d82f9
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.gif differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.png
new file mode 100644
index 0000000..2a1a98d
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/back.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device1.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device1.png
new file mode 100644
index 0000000..1fbe341
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device1.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device2.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device2.png
new file mode 100644
index 0000000..60209f6
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/device2.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/edit.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/edit.png
new file mode 100644
index 0000000..54f9788
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/edit.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type1off.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type1off.png
new file mode 100644
index 0000000..7e2d810
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type1off.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type2off.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type2off.png
new file mode 100644
index 0000000..d5c2082
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type2off.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type3off.png b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type3off.png
new file mode 100644
index 0000000..6eb3afd
Binary files /dev/null and b/hx-ai-intelligent/src/view/equipmentControl/waterSystem/images/type3off.png differ
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
index aedce11..6bbf0fb 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
@@ -48,16 +48,17 @@ const tableCarbonKeyMap = [
// textEllipsis: true,
textNumber: 5,
},
+
{
- title: '设备名称',
+ title: '设备id',
+ dataIndex: 'deviceInfoCode',
textNumber: 10,
- dataIndex: 'deviceName',
- // textEllipsis: true,
},
{
- title: '设备id',
- dataIndex: 'deviceInfoCode',
+ title: '设备编号',
textNumber: 10,
+ dataIndex: 'deviceName',
+ // textEllipsis: true,
},
{
textNumber: 5,
@@ -77,14 +78,22 @@ const tableCarbonKeyMap = [
{
title: '分组名称',
textNumber: 10,
- dataIndex: 'deviceNameType',
+ dataIndex: 'pointName',
},
{
textNumber: 5,
title: '设备状态',
dataIndex: 'status',
customRender: ({ value }) => {
- return value === '0' ? '启用' : '停用';
+ if (value) {
+ if (value === '0') {
+ return '启用';
+ } else if (value === '1') {
+ return '停用';
+ }
+ } else {
+ return '';
+ }
},
},
];
@@ -219,7 +228,7 @@ export const editCalTreeConfig = (orgId) => ({
],
},
});
-export const treeConfig = (orgId) => {
+export const treeConfig = (orgId, editCarbonEquipmentRef, tableRef) => {
return {
defaultExpandAll: true,
header: {
@@ -233,6 +242,8 @@ export const treeConfig = (orgId) => {
return [{ pointName: '全部', id: 'all', selectable: false, children: data }];
},
formConfig: {
+ callList: true, // 刷新列表
+ // defaultSelection: true, //树默认选择第一个
schemas: [
{
field: 'energyType',
@@ -248,6 +259,12 @@ export const treeConfig = (orgId) => {
valueField: 'dicKey',
placeholder: '请选择能耗种类',
autoSelectFirst: true,
+ onSelect: async (cur, record) => {
+ editCarbonEquipmentRef.value.changeEnergyType(cur);
+ tableRef.value?.nsTableRef.clearCheck();
+ tableRef.value?.nsTableRef.reload();
+ // value.value = cur;
+ },
},
},
{
@@ -402,12 +419,12 @@ export const tableConfigCal = (
label: '编辑',
name: 'GroupPointEdit',
type: 'primary',
- handle: (a, b) => {
- if (isCarbon) {
- editCarbonEquipmentRef.value.toggle();
- } else {
- el.value.toggle();
- }
+ handle: async (a, b) => {
+ // if (isCarbon) {
+ editCarbonEquipmentRef.value.toggle();
+ // } else {
+ // el.value.toggle();
+ // }
},
},
{
@@ -457,7 +474,7 @@ export const tableConfigCal = (
return data.list.length === 0;
},
extra: {
- xlsxMap: tableKeyMap,
+ xlsxMap: isCarbon ? tableCarbonKeyMap : tableCalKeyMap,
xlsxName: '分组信息YYYY-MM-DD',
},
},
@@ -656,7 +673,7 @@ export const tableConfigCal = (
};
};
-export const editCarbonEquipmentConfig = (orgId) => {
+export const editCarbonEquipmentConfig = (orgId, props) => {
return ref({
title: '设备信息',
api: device.queryDevicePage,
@@ -674,22 +691,6 @@ export const editCarbonEquipmentConfig = (orgId) => {
formConfig: {
schemas: [
{
- field: 'energyType',
- label: '',
- component: 'NsSelectApi',
- autoSubmit: true,
- componentProps: {
- api: () => dict({ params: { dicKey: 'ENERGY_TYPE' } }),
- // params: { dicKey: 'ENERGY_TYPE' },
- immediate: true,
- // resultField: 'data.ENERGY_TYPE',
- labelField: 'cnValue',
- valueField: 'dicKey',
- placeholder: '请选择能耗种类',
- autoSelectFirst: true,
- },
- },
- {
field: 'deviceType',
label: '设备名称',
component: 'NsInput',
@@ -743,6 +744,26 @@ export const editCarbonEquipmentConfig = (orgId) => {
formConfig: {
schemas: [
{
+ field: 'energyType',
+ label: '',
+ component: 'NsSelectApi',
+ // autoSubmit: true,
+ defaultValue: props.params.energyType,
+ componentProps: {
+ api: () => dict({ params: { dicKey: 'ENERGY_TYPE' } }),
+ // params: { dicKey: 'ENERGY_TYPE' },
+ immediate: true,
+ // resultField: 'data.ENERGY_TYPE',
+ labelField: 'cnValue',
+ valueField: 'dicKey',
+ placeholder: '请选择能耗种类',
+ // autoSelectFirst: true,
+ },
+ dynamicDisabled: (data: any) => {
+ return props.params.energyType !== 'CARBON_EMISSIONS';
+ },
+ },
+ {
field: 'areas',
label: '设备区域',
component: 'NsCascader',
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/editCarbonEquipment.vue b/hx-ai-intelligent/src/view/equipmentManage/group/editCarbonEquipment.vue
index e6db509..2ccf6db 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/editCarbonEquipment.vue
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/editCarbonEquipment.vue
@@ -28,6 +28,7 @@
@@ -44,33 +45,46 @@
import { http } from '/nerv-lib/util';
import { group, device } from '/@/api/deviceManage';
const orgId = ref('');
+
const key = ref(Date.now());
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
orgId.value = result;
+ const linkOrgId = ref('');
+
// const selectOrgId = ref(orgId.value);
+ const props = defineProps({ params: Object });
const linkList = JSON.parse(sessionStorage.getItem('LINKLIST')!);
- let config = editCarbonEquipmentConfig(orgId.value);
+ linkOrgId.value = linkList[0].orgId;
+ let config = editCarbonEquipmentConfig(orgId.value, props);
const visible = ref(false);
const carbonEquipment = ref();
// defineOptions({
// name: 'LedgerIndex', // 与页面路由name一致缓存才可生效
// });
+ const changeEnergyType = (val) => {
+ props.params.energyType = val;
+ config = editCarbonEquipmentConfig(linkOrgId.value, props);
+ key.value = Date.now();
+ };
const handleChange = (value: string) => {
// selectOrgId.value = value;
- config = editCarbonEquipmentConfig(value);
- debugger;
+ config = editCarbonEquipmentConfig(value, props);
key.value = Date.now();
// carbonEquipment.value?.nsTableRef.reload();
// carbonEquipment.value?.nsTableRef.treeReload();
};
- const props = defineProps({ params: Object });
const emit = defineEmits(['sure']);
- const toggle = () => {
+ const toggle = (val) => {
+ if (val) {
+ config = editCarbonEquipmentConfig(linkOrgId.value, props);
+ key.value = Date.now();
+ }
+
visible.value = !visible.value;
// clearData();
// visible.value && getData(currentId.value);
@@ -93,14 +107,35 @@
deviceInfoCode: selectedRowKeys[i],
});
}
- http.post(group.addCarbonDevice, params).then(() => {
- emit('sure');
- NsMessage.success('操作成功');
- toggle();
- });
+ if (props.params.energyType && props.params.energyType == 'CARBON_EMISSIONS') {
+ http.post(group.addCarbonDevice, params).then(() => {
+ emit('sure');
+ NsMessage.success('操作成功');
+ toggle(null);
+ });
+ } else if (props.params.energyType && props.params.energyType != 'CARBON_EMISSIONS') {
+ // if (!currentId.value) {
+ // NsMessage.warn('请先选择公司');
+ // return;
+ // }
+ http
+ .post(group.saveComputeList, {
+ energyType: props.params.energyType,
+ orgId: props.params?.orgId,
+ hxDeviceGroupId: props.params?.hxDeviceGroupId,
+ saveOrgId: linkOrgId.value,
+ saveDeviceInfoCodes: selectedRowKeys,
+ })
+ .then(() => {
+ emit('sure');
+ NsMessage.success('操作成功');
+ toggle(null);
+ });
+ }
};
defineExpose({
toggle,
+ changeEnergyType,
});