diff --git a/hx-ai-intelligent/src/router/equipmentManage.ts b/hx-ai-intelligent/src/router/equipmentManage.ts new file mode 100644 index 0000000..08cb000 --- /dev/null +++ b/hx-ai-intelligent/src/router/equipmentManage.ts @@ -0,0 +1,29 @@ +const Base = () => import('/nerv-lib/saas/view/system/layout/content.vue'); +const equipment = { + path: '/equipmentManage', + name: 'EquipmentManage', + meta: { title: '设备管理', icon: 'dicizhishou', index: 1 }, + redirect: { name: 'homeIndex' }, + children: [ + { + path: 'ledger', + name: 'Ledger', + meta: { title: '设备台账', hideChildren: true, icon: 'dicizhishou' }, + component: Base, + redirect: { name: 'LedgerIndex' }, + children: [ + { + path: 'index', + name: 'LedgerIndex', + component: () => import('/@/view/equipmentManage/ledger/index.vue'), + meta: { + title: '设备台账', + keepAlive: true, + backApi: [], + }, + }, + ], + }, + ], +}; +export default equipment; diff --git a/hx-ai-intelligent/src/view/equipmentManage/ledger/config.ts b/hx-ai-intelligent/src/view/equipmentManage/ledger/config.ts new file mode 100644 index 0000000..a4f30c5 --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentManage/ledger/config.ts @@ -0,0 +1,158 @@ +import { dateUtil } from '/nerv-lib/util/date-util'; +import { data } from './mock.json'; + +export const tableConfig = { + title: '设备台账', + api: '/carbon_emission/device/getDeviceList', + treeConfig: { + dynamicParams: { abc: 'title', key: 'key' }, + defaultExpandAll: true, + treeData: data, + }, + params: { + page: 0, + pageSize: 10, + }, + rowSelection: null, + columns: [ + { + title: '设备名称', + dataIndex: 'id', + }, + { + title: '设备型号', + dataIndex: 'deviceCode', + }, + { + title: 'SN码', + dataIndex: 'deviceName', + textNumber: 8, + textEllipsis: true, + }, + { + title: '设备一级区域', + dataIndex: 'position', + }, + { + title: '设备二级区域', + dataIndex: 'position', + }, + { + title: '设备详细位置', + dataIndex: 'position', + }, + { + title: '设备规格', + dataIndex: 'position', + }, + { + title: '设备厂商纳税人识别号', + dataIndex: 'position', + }, + { + title: '厂商联系人', + dataIndex: 'position', + }, + { + title: '设备描述', + dataIndex: 'position', + }, + { + title: 'IP地址', + dataIndex: 'position', + }, + { + title: '生产日期', + dataIndex: 'position', + }, + { + title: '采购日期', + dataIndex: 'position', + }, + { + title: '启用日期', + dataIndex: 'position', + }, + { + title: '设备成本(元)', + dataIndex: 'position', + }, + { + title: '使用期限', + dataIndex: 'position', + }, + { + title: '额定功率', + dataIndex: 'position', + }, + { + title: '特殊参数', + dataIndex: 'position', + }, + ], + + formConfig: { + schemas: [ + { + field: 'name', + label: '设备名称', + component: 'NsInput', + componentProps: { + placeholder: '请输入', + }, + }, + { + field: 'provider', + label: '设备厂商', + component: 'NsInput', + componentProps: { + placeholder: '请输入', + }, + }, + { + field: 'payWay', + label: '设备区域', + component: 'NsSelect', + componentProps: { + placeholder: '请选择', + options: [ + { + label: '全部', + value: '', + }, + ], + }, + }, + { + field: 'createTime', + label: '生产日期', + component: 'NsRangePicker', + fieldMap: ['queryStartDate', 'queryEndDate'], + componentProps: { + valueFormat: 'YYYY-MM-DD', + }, + }, + { + field: 'createTime1', + label: '采购日期', + component: 'NsRangePicker', + fieldMap: ['queryStartDate', 'queryEndDate'], + componentProps: { + valueFormat: 'YYYY-MM-DD', + }, + }, + { + field: 'createTime2', + label: '启用日期', + component: 'NsRangePicker', + fieldMap: ['queryStartDate', 'queryEndDate'], + componentProps: { + valueFormat: 'YYYY-MM-DD', + }, + }, + ], + params: {}, + }, + // pagination: { pageSizeOptions: false }, + rowKey: 'uuid', +}; diff --git a/hx-ai-intelligent/src/view/equipmentManage/ledger/index.vue b/hx-ai-intelligent/src/view/equipmentManage/ledger/index.vue new file mode 100644 index 0000000..c680905 --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentManage/ledger/index.vue @@ -0,0 +1,7 @@ + + + diff --git a/hx-ai-intelligent/src/view/equipmentManage/ledger/mock.json b/hx-ai-intelligent/src/view/equipmentManage/ledger/mock.json new file mode 100644 index 0000000..f37a71c --- /dev/null +++ b/hx-ai-intelligent/src/view/equipmentManage/ledger/mock.json @@ -0,0 +1,240 @@ +{ + "data":[ + { + "title": "家居照明", + "key": "1", + "children": [ + { + "title": "灯泡", + "key": "1-1", + "children": [ + { + "title": "LED灯泡", + "key": "1-1-1", + "children": [ + { + "title": "E27 LED灯泡", + "key": "1-1-1-1", + "attr": { + "瓦特": "7W", + "光通量": "500lm", + "色温": "2700K" + } + }, + { + "title": "E14 小灯泡", + "key": "1-1-1-2", + "attr": { + "瓦特": "4W", + "光通量": "250lm", + "色温": "6500K" + } + } + ] + }, + { + "title": "节能灯", + "key": "1-1-2", + "children": [ + { + "title": "E27 节能灯泡", + "key": "1-1-2-1", + "attr": { + "瓦特": "11W", + "光通量": "800lm", + "色温": "6500K" + } + } + ] + } + ] + }, + { + "title": "灯具", + "key": "1-2", + "children": [ + { + "title": "吊灯", + "key": "1-2-1", + "children": [ + { + "title": "水晶吊灯", + "key": "1-2-1-1", + "attr": { + "尺寸": "Φ60cm", + "适用面积": "15-20㎡" + } + }, + { + "title": "现代简约吊灯", + "key": "1-2-1-2", + "attr": { + "尺寸": "Φ52cm", + "适用面积": "10-15㎡" + } + } + ] + }, + { + "title": "台灯", + "key": "1-2-2", + "children": [ + { + "title": "护眼台灯", + "key": "1-2-2-1", + "attr": { + "瓦特": "18W", + "调光调色": "是" + } + }, + { + "title": "折叠臂台灯", + "key": "1-2-2-2", + "attr": { + "瓦特": "14W", + "调光调色": "否" + } + } + ] + } + ] + }, + { + "title": "开关插座", + "key": "1-3", + "children": [ + { + "title": "智能开关", + "key": "1-3-1", + "children": [ + { + "title": "触控式智能开关", + "key": "1-3-1-1", + "attr": { + "控制方式": "触控/远程", + "兼容性": "ZigBee/WiFi" + } + } + ] + }, + { + "title": "插座", + "key": "1-3-2", + "children": [ + { + "title": "多功能插座", + "key": "1-3-2-1", + "attr": { + "插孔类型": "2/3插", + "USB接口": "有" + } + } + ] + } + ] + } + ] + }, + { + "title": "电梯", + "key": "3", + "children": [ + { + "title": "扶梯", + "key": "301" + }, + { + "title": "直梯", + "key": "302" + } + ] + }, + { + "title": "冷源源", + "key": "4", + "children": [ + { + "title": "通风及空调设备", + "key": "5", + "children": [ + { + "title": "组合式空调机组", + "key": "501" + }, + { + "title": "新风机组", + "key": "502" + }, + { + "title": "精密空调", + "key": "503" + }, + { + "title": "风机盘管", + "key": "504" + }, + { + "title": "VAV", + "key": "505" + }, + { + "title": "室外多联机", + "key": "506" + }, + { + "title": "风幕机", + "key": "507" + }, + { + "title": "球喷", + "key": "508" + }, + { + "title": "送风机", + "key": "509" + }, + { + "title": "排风机", + "key": "510" + }, + { + "title": "排风兼排烟机", + "key": "511" + }, + { + "title": "通风机", + "key": "512" + }, + { + "title": "风阀", + "key": "513" + }, + { + "title": "风柱式空调", + "key": "514" + } + ] + } + ] + }, + { + "title": "照明", + "key": "6", + "children": [ + { + "title": "多功能传感器", + "key": "701" + }, + { + "title": "照度传感器", + "key": "702" + }, + { + "title": "噪声传感器", + "key": "703" + } + ] + } + ] + +} \ No newline at end of file diff --git a/lib/component/table/table.vue b/lib/component/table/table.vue index 057ce0a..38e8b26 100644 --- a/lib/component/table/table.vue +++ b/lib/component/table/table.vue @@ -13,153 +13,159 @@ v-if="tableTitle"> {{ tableTitle }} - - - @@ -577,9 +583,9 @@ event: any; }, ) { - // console.log(selectedKeys, e); - const { dataRef } = e.selectedNodes[0].props; - treeParamsRef.value = getParams(dataRef, props.params); + console.log(selectedKeys, e); + const { dataRef } = e.node; + treeParamsRef.value = getParams(dataRef, getTreeBindValue.value.dynamicParams); fetch({ page: 1, }); @@ -654,6 +660,20 @@ margin-left: -16px; cursor: pointer; } + + .ns-table-container { + display: flex; + .ns-part-tree { + width: 300px; + padding-top: 14px; + padding-left: 8px; + overflow-y: auto; + } + .ns-part-table { + flex: 1; + min-width: 0; + } + } .ns-table-content { // background: #e5ebf0; margin: 16px; diff --git a/lib/saas/view/service/list-table.vue b/lib/saas/view/service/list-table.vue index d632eae..906e467 100644 --- a/lib/saas/view/service/list-table.vue +++ b/lib/saas/view/service/list-table.vue @@ -102,22 +102,31 @@