From 8f25d2293c245fe15fcfb87bbefe5155b1814e74 Mon Sep 17 00:00:00 2001
From: xuziqiang <1344691446@qq.com>
Date: Thu, 27 Jun 2024 15:21:14 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=86=E7=BB=84=E5=88=87=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hx-ai-intelligent/src/router/equipmentManage.ts | 38 ++--
.../src/view/equipmentManage/group/config.ts | 216 ++++++++++++++++-----
.../src/view/equipmentManage/group/index.vue | 43 +++-
lib/component/tree/tree-api.vue | 2 +
4 files changed, 226 insertions(+), 73 deletions(-)
diff --git a/hx-ai-intelligent/src/router/equipmentManage.ts b/hx-ai-intelligent/src/router/equipmentManage.ts
index 7433199..576e048 100644
--- a/hx-ai-intelligent/src/router/equipmentManage.ts
+++ b/hx-ai-intelligent/src/router/equipmentManage.ts
@@ -44,25 +44,25 @@ const equipment = {
},
],
},
- {
- path: 'energyMapping',
- name: 'EnergyMapping',
- meta: { title: '能耗映射', hideChildren: true, icon: 'shebeiguanli' },
- component: Base,
- redirect: { name: 'EnergyMappingIndex' },
- children: [
- {
- path: 'index',
- name: 'EnergyMappingIndex',
- component: () => import('/@/view/equipmentManage/energyMapping/index.vue'),
- meta: {
- title: '能耗映射',
- keepAlive: true,
- // backApi: [],
- },
- },
- ],
- },
+ // {
+ // path: 'energyMapping',
+ // name: 'EnergyMapping',
+ // meta: { title: '能耗映射', hideChildren: true, icon: 'shebeiguanli' },
+ // component: Base,
+ // redirect: { name: 'EnergyMappingIndex' },
+ // children: [
+ // {
+ // path: 'index',
+ // name: 'EnergyMappingIndex',
+ // component: () => import('/@/view/equipmentManage/energyMapping/index.vue'),
+ // meta: {
+ // title: '能耗映射',
+ // keepAlive: true,
+ // // backApi: [],
+ // },
+ // },
+ // ],
+ // },
],
};
export default equipment;
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
index 2212a37..c45b566 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
@@ -30,6 +30,22 @@ const tableKeyMap = [
dataIndex: 'position',
},
];
+const tableCalKeyMap = [
+ {
+ title: '来源企业',
+ dataIndex: 'id',
+ },
+ {
+ title: '节点编号',
+ dataIndex: 'deviceName',
+ textNumber: 8,
+ textEllipsis: true,
+ },
+ {
+ title: '节点路径',
+ dataIndex: 'position',
+ },
+];
const doWnload = (url) => {
const a = document.createElement('a');
document.body.appendChild(a);
@@ -41,54 +57,55 @@ const doWnload = (url) => {
};
const mockData = ref(data.listData);
+export const treeConfig = {
+ defaultExpandAll: true,
+ header: {
+ icon: 'orgLink',
+ title: '能耗分组',
+ },
+
+ api: () => {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(data);
+ }, 100);
+ });
+ },
+ formConfig: {
+ schemas: [
+ {
+ field: 'type',
+ label: '',
+ component: 'NsSelect',
+ autoSubmit: true,
+ defaultValue: 1,
+ componentProps: {
+ options: [
+ { label: '碳排', value: 1 },
+ { label: '用电量', value: 2 },
+ { label: '用水量', value: 3 },
+ { label: '燃气量', value: 4 },
+ { label: '供热量', value: 5 },
+ ],
+ },
+ },
+ {
+ field: 'name',
+ label: '',
+ component: 'NsInput',
+ autoSubmit: true,
+ componentProps: {
+ placeholder: '请输入',
+ },
+ },
+ ],
+ },
+};
export const tableConfig = (el, elGroup, elFormula) => {
return {
- title: '设备台账',
+ title: '点位信息',
// api: '/carbon_emission/device/getDeviceList',
value: mockData.value,
- treeConfig: {
- defaultExpandAll: true,
- header: {
- icon: 'orgLink',
- title: '分组管理',
- },
- api: () => {
- return new Promise((resolve) => {
- setTimeout(() => {
- resolve(data);
- }, 100);
- });
- },
- formConfig: {
- schemas: [
- {
- field: 'type',
- label: '',
- component: 'NsRadioGroup',
- autoSubmit: true,
- defaultValue: 1,
- componentProps: {
- options: [
- { label: '碳排', value: 1 },
- { label: '用电量', value: 2 },
- { label: '用水量', value: 3 },
- { label: '燃气量', value: 4 },
- { label: '供热量', value: 5 },
- ],
- },
- },
- {
- field: 'name',
- label: '',
- component: 'NsInput',
- autoSubmit: true,
- componentProps: {
- placeholder: '请输入',
- },
- },
- ],
- },
- },
headerActions: [
{
@@ -249,11 +266,108 @@ export const tableConfig = (el, elGroup, elFormula) => {
};
};
-export const treeConfig = {
- defaultExpandAll: true,
- defaultSelectedKeys: ['A008'],
- resultField: 'insertData',
- api: () => {
- return Promise.resolve(data);
- },
+export const tableConfigCal = (el, elGroup, elFormula) => {
+ return {
+ title: '点位信息',
+ // api: '/carbon_emission/device/getDeviceList',
+ value: mockData.value,
+
+ headerActions: [
+ {
+ label: '编辑',
+ name: 'groupEdit',
+ type: 'primary',
+ handle: (a, b) => {
+ el.value.toggle();
+ },
+ },
+ {
+ label: '批量删除',
+ name: 'groupTemDownload',
+ type: 'primary',
+ dynamicDisabled: (data: any) => {
+ return data.list.length === 0;
+ },
+ handle: () => {
+ mockData.value.splice(0, 2);
+ },
+ },
+ {
+ label: '批量导出',
+ name: 'groupExports',
+ type: 'primary',
+ dynamicDisabled: (data: any) => {
+ return data.list.length === 0;
+ },
+ extra: {
+ xlsxMap: tableKeyMap,
+ xlsxName: '分组信息YYYY-MM-DD',
+ },
+ },
+ {
+ label: '批量导入',
+ name: 'groupImport',
+ type: 'primary',
+ extra: {
+ // api: props.postImportApi, // 导入接口名
+ title: '设备信息', // 弹窗title
+ templateName: 'whiteListUser', // 所使用的文件名称
+ indexName: '设备id', // 匹配类型字段
+ message: [
+ { label: '1、若必填项未填写,则不能进行导入操作' },
+ { label: `2、当重复时,则更新数据。` },
+ { label: '3、数据将从模版的第五行进行导入。' },
+ { label: '4、文件导入勿超过5MB。' },
+ ],
+ },
+ },
+
+ {
+ label: '模板下载',
+ name: 'groupTemDownload',
+ type: 'primary',
+ handle: () => {
+ // http.get('/asset/file/whiteListUser.xlsx');
+ doWnload('/hx-ai-intelligent/asset/file/whiteListUser.xlsx');
+ },
+ },
+ ],
+ columns: tableCalKeyMap,
+ columnActions: {
+ title: '操作',
+ actions: [
+ {
+ label: '删除',
+ name: 'FeedBackDetail',
+ dynamicParams: ['uuid', 'appealType'],
+ confirm: true,
+ handle: () => {
+ mockData.value.splice(0, 1);
+ },
+ },
+ ],
+ },
+
+ formConfig: {
+ schemas: [
+ {
+ field: 'name',
+ label: '设备名称',
+ component: 'NsInput',
+ componentProps: {
+ placeholder: '请选择公司',
+ },
+ },
+ {
+ field: 'provider',
+ component: 'NsInput',
+ componentProps: {
+ placeholder: '请输入节点编号',
+ },
+ },
+ ],
+ },
+ // pagination: { pageSizeOptions: false },
+ rowKey: 'id',
+ };
};
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/index.vue b/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
index 4f4135b..d88f11e 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
@@ -2,11 +2,17 @@