diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts index aedce11..3c6d7f5 100644 --- a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts +++ b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts @@ -48,17 +48,18 @@ const tableCarbonKeyMap = [ // textEllipsis: true, textNumber: 5, }, - { - title: '设备名称', - textNumber: 10, - dataIndex: 'deviceName', - // textEllipsis: true, - }, + { title: '设备id', dataIndex: 'deviceInfoCode', textNumber: 10, }, + { + title: '设备编号', + textNumber: 10, + dataIndex: 'deviceName', + // textEllipsis: true, + }, { textNumber: 5, title: '碳排因子值', @@ -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(); + // } }, }, { @@ -656,7 +673,7 @@ export const tableConfigCal = ( }; }; -export const editCarbonEquipmentConfig = (orgId) => { +export const editCarbonEquipmentConfig = (orgId, props) => { return ref({ title: '设备信息', api: device.queryDevicePage, @@ -673,22 +690,6 @@ export const editCarbonEquipmentConfig = (orgId) => { fieldNames: { title: 'deviceType', key: 'code' }, 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: '设备名称', @@ -742,6 +743,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: '设备区域', 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, });