From 4614c8699faed4e95d7605abcdf6eb32279d0423 Mon Sep 17 00:00:00 2001
From: xuziqiang <1344691446@qq.com>
Date: Wed, 29 May 2024 16:29:22 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=86=E7=BB=84=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/view/equipmentManage/group/config.ts | 289 +++++++++++----------
.../src/view/equipmentManage/group/edit.vue | 96 +++++++
.../src/view/equipmentManage/group/editFormula.vue | 116 +++++++++
.../src/view/equipmentManage/group/editGroup.vue | 145 +++++++++++
.../src/view/equipmentManage/group/groupEdit.vue | 0
.../src/view/equipmentManage/group/index.vue | 18 +-
.../src/view/equipmentManage/group/mock.json | 33 ++-
lib/component/drawer/drawer.vue | 11 +-
lib/component/form/form/child-form.vue | 2 +-
lib/component/form/form/form-item.vue | 3 +-
lib/component/form/form/form.d.ts | 4 +-
lib/component/table/table.vue | 4 +-
lib/component/tree/tree-api.vue | 6 +-
lib/saas/config/table.config.ts | 2 +-
14 files changed, 578 insertions(+), 151 deletions(-)
create mode 100644 hx-ai-intelligent/src/view/equipmentManage/group/edit.vue
create mode 100644 hx-ai-intelligent/src/view/equipmentManage/group/editFormula.vue
create mode 100644 hx-ai-intelligent/src/view/equipmentManage/group/editGroup.vue
create mode 100644 hx-ai-intelligent/src/view/equipmentManage/group/groupEdit.vue
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
index b0bcc78..6433ccb 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/config.ts
@@ -41,169 +41,182 @@ const doWnload = (url) => {
};
const mockData = ref(data.listData);
-export const tableConfig = {
- title: '设备台账',
- // api: '/carbon_emission/device/getDeviceList',
- value: mockData.value,
- treeConfig: {
- defaultExpandAll: true,
- api: () => {
- return Promise.resolve(data);
- },
- },
- rowSelection: () => {
- return {
- columnWidth: 30,
- };
- },
- headerActions: [
- {
- label: '编辑',
- name: 'groupEdit',
- type: 'primary',
- handle: (a, b) => {
- console.log(a, b);
- },
- },
- {
- 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。' },
- ],
+export const tableConfig = (el, elGroup, elFormula) => {
+ return {
+ title: '设备台账',
+ // api: '/carbon_emission/device/getDeviceList',
+ value: mockData.value,
+ treeConfig: {
+ defaultExpandAll: true,
+ api: () => {
+ return Promise.resolve(data);
},
},
- {
- label: '模板下载',
- name: 'groupTemDownload',
- type: 'primary',
- handle: () => {
- // http.get('/asset/file/whiteListUser.xlsx');
- doWnload('/hx-ai-intelligent/asset/file/whiteListUser.xlsx');
- },
- },
-
- {
- label: '批量分组',
- name: 'groupTemDownload',
- type: 'primary',
- },
- {
- label: '公式编辑',
- name: 'groupTemDownload',
- type: 'primary',
- },
- ],
- columns: tableKeyMap,
- columnActions: {
- title: '操作',
- actions: [
+ headerActions: [
{
- label: '删除',
- name: 'FeedBackDetail',
- dynamicParams: ['uuid', 'appealType'],
- confirm: true,
- handle: () => {
- mockData.value.splice(0, 1);
+ label: '编辑',
+ name: 'groupEdit',
+ type: 'primary',
+ handle: (a, b) => {
+ el.value.toggle();
},
},
- ],
- },
-
- formConfig: {
- schemas: [
{
- field: 'name',
- label: '设备名称',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入',
+ label: '批量删除',
+ name: 'groupTemDownload',
+ type: 'primary',
+ dynamicDisabled: (data: any) => {
+ return data.list.length === 0;
+ },
+ handle: () => {
+ mockData.value.splice(0, 2);
},
},
{
- field: 'provider',
- label: '设备厂商',
- component: 'NsInput',
- componentProps: {
- placeholder: '请输入',
+ label: '批量导出',
+ name: 'groupExports',
+ type: 'primary',
+ dynamicDisabled: (data: any) => {
+ return data.list.length === 0;
+ },
+ extra: {
+ xlsxMap: tableKeyMap,
+ xlsxName: '分组信息YYYY-MM-DD',
},
},
{
- field: 'payWay',
- label: '设备区域',
- component: 'NsSelect',
- componentProps: {
- placeholder: '请选择',
- options: [
- {
- label: '全部',
- value: '',
- },
+ 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。' },
],
},
},
+
{
- field: 'createTime',
- label: '生产日期',
- component: 'NsRangePicker',
- fieldMap: ['queryStartDate', 'queryEndDate'],
- componentProps: {
- valueFormat: 'YYYY-MM-DD',
+ label: '模板下载',
+ name: 'groupTemDownload',
+ type: 'primary',
+ handle: () => {
+ // http.get('/asset/file/whiteListUser.xlsx');
+ doWnload('/hx-ai-intelligent/asset/file/whiteListUser.xlsx');
},
},
+
{
- field: 'createTime1',
- label: '采购日期',
- component: 'NsRangePicker',
- fieldMap: ['queryStartDate', 'queryEndDate'],
- componentProps: {
- valueFormat: 'YYYY-MM-DD',
+ label: '批量分组',
+ name: 'groupTemDownload',
+ type: 'primary',
+ handle: () => {
+ elGroup.value.toggle();
},
},
{
- field: 'createTime2',
- label: '启用日期',
- component: 'NsRangePicker',
- fieldMap: ['queryStartDate', 'queryEndDate'],
- componentProps: {
- valueFormat: 'YYYY-MM-DD',
+ label: '公式编辑',
+ name: 'groupTemDownload',
+ type: 'primary',
+ handle: () => {
+ elFormula.value.toggle();
},
},
],
+ columns: tableKeyMap,
+ 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',
+ 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',
+ },
+ },
+ ],
+ },
+ // pagination: { pageSizeOptions: false },
+ rowKey: 'id',
+ };
+};
+
+export const treeConfig = {
+ defaultExpandAll: true,
+ defaultSelectedKeys: ['A008'],
+ resultField: 'insertData',
+ api: () => {
+ return Promise.resolve(data);
},
- // pagination: { pageSizeOptions: false },
- rowKey: 'id',
};
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/edit.vue b/hx-ai-intelligent/src/view/equipmentManage/group/edit.vue
new file mode 100644
index 0000000..669dc6b
--- /dev/null
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/edit.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/editFormula.vue b/hx-ai-intelligent/src/view/equipmentManage/group/editFormula.vue
new file mode 100644
index 0000000..1db40f2
--- /dev/null
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/editFormula.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/editGroup.vue b/hx-ai-intelligent/src/view/equipmentManage/group/editGroup.vue
new file mode 100644
index 0000000..afba0cc
--- /dev/null
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/editGroup.vue
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/groupEdit.vue b/hx-ai-intelligent/src/view/equipmentManage/group/groupEdit.vue
new file mode 100644
index 0000000..e69de29
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/index.vue b/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
index c680905..4f4135b 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/index.vue
@@ -1,7 +1,21 @@
-
+
+
+
+
diff --git a/hx-ai-intelligent/src/view/equipmentManage/group/mock.json b/hx-ai-intelligent/src/view/equipmentManage/group/mock.json
index 33e85ea..05811ba 100644
--- a/hx-ai-intelligent/src/view/equipmentManage/group/mock.json
+++ b/hx-ai-intelligent/src/view/equipmentManage/group/mock.json
@@ -39,6 +39,38 @@
]
}
],
+ "insertData":[
+ {
+ "title": "北京公司",
+ "key": "A001"
+ },
+ {
+ "title": "广州公司",
+ "key": "A002"
+ },
+ {
+ "title": "南京公司",
+ "key": "A004"
+ },
+ {
+ "title": "上海公司",
+ "key": "A008",
+ "children": [
+ {
+ "title": "上海长宁",
+ "key": "A009"
+ },
+ {
+ "title": "上海徐汇",
+ "key": "A010"
+ },
+ {
+ "title": "上海浦东",
+ "key": "A011"
+ }
+ ]
+ }
+],
"listData":[
{
"id": "d4",
@@ -84,7 +116,6 @@
"devicePointList": null,
"insertUser": null
}
-
]
}
\ No newline at end of file
diff --git a/lib/component/drawer/drawer.vue b/lib/component/drawer/drawer.vue
index 1f2d2bb..e902b32 100644
--- a/lib/component/drawer/drawer.vue
+++ b/lib/component/drawer/drawer.vue
@@ -6,22 +6,27 @@
- 取消
+
+ 取消
+ 确定
+