diff --git a/hx-ai-intelligent/src/api/planToAdd.ts b/hx-ai-intelligent/src/api/planToAdd.ts
new file mode 100644
index 0000000..746abe9
--- /dev/null
+++ b/hx-ai-intelligent/src/api/planToAdd.ts
@@ -0,0 +1,6 @@
+export enum planToAddApi {
+ getActivatedPlanTree = '/carbon-smart/deviceCtrlPlan/getActivatedPlanTree', //计划树
+ getActivatedPlanListByTree = '/carbon-smart/deviceCtrlPlan/getActivatedPlanListByTree', //计划列表
+ updPlan = '', //修改计划
+ delPlan = '', //修改计划
+}
diff --git a/hx-ai-intelligent/src/view/equipmentControl/planToAdd/config.ts b/hx-ai-intelligent/src/view/equipmentControl/planToAdd/config.ts
new file mode 100644
index 0000000..6c97814
--- /dev/null
+++ b/hx-ai-intelligent/src/view/equipmentControl/planToAdd/config.ts
@@ -0,0 +1,149 @@
+import { planToAddApi } from '/@/api/planToAdd';
+import { ref } from 'vue';
+import { http } from '/nerv-lib/util';
+import { getEnum } from '/@/api';
+import { NsMessage } from '/nerv-lib/component';
+
+export const tableConfig = (
+ orgId: any,
+ projectId: any,
+ mainRef: any,
+ nsModalFormConfig: any,
+ modalFormRef: any,
+) => {
+ return ref({
+ title: '计划库',
+ api: planToAddApi.getActivatedPlanListByTree,
+ params: { orgId, projectId, deviceType: '1' },
+ treeConfig: {
+ defaultExpandAll: true,
+ header: {
+ icon: 'name',
+ title: '执行计划',
+ },
+ params: { projectId, deviceType: '1' },
+ dynamicParams: {
+ id: 'id',
+ pid: 'pid',
+ level: 'level',
+ projectId: 'projectId',
+ deviceType: 'deviceType',
+ },
+ api: planToAddApi.getActivatedPlanTree,
+ fieldNames: {
+ title: 'name',
+ key: 'id',
+ pid: 'pid',
+ level: 'level',
+ projectId: 'projectId',
+ deviceType: 'deviceType',
+ children: 'childList',
+ },
+ formConfig: {
+ schemas: [
+ {
+ field: 'deviceType',
+ label: '告警优先级',
+ component: 'nsSelectApi',
+ autoSubmit: true,
+ componentProps: {
+ api: () => getEnum({ params: { enumType: 'CtrlDeviceType' } }),
+ immediate: true,
+ resultField: 'data',
+ labelField: 'label',
+ valueField: 'value',
+ placeholder: '请选择告警优先级',
+ showSearch: true,
+ autoSelectFirst: true,
+ filterOption: (input: string, option: any) => {
+ return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
+ },
+ },
+ },
+ ],
+ },
+ },
+ rowSelection: null,
+ columns: [
+ {
+ title: '执行顺序',
+ dataIndex: 'address',
+ width: 100,
+ customRender: (text: any) => {
+ return text.index + 1;
+ },
+ },
+ {
+ title: '计划类型',
+ dataIndex: 'planGroupName',
+ },
+ {
+ title: '计划名称',
+ dataIndex: 'planName',
+ },
+ {
+ title: '执行时间',
+ dataIndex: 'executionTime',
+ },
+ ],
+ columnActions: {
+ title: '操作',
+ actions: [
+ {
+ label: '编辑',
+ name: 'energyAlarmEdit',
+ dynamicParams: ['uuid', 'appealType'],
+ handle: (data: any) => {
+ const obj = { ...data };
+ nsModalFormConfig.value.title = '编辑';
+ setTimeout(() => {
+ nsModalFormConfig.value.data = {
+ id: obj.id,
+ };
+ if (obj.startTime) {
+ nsModalFormConfig.value.data.createTime = obj.startTime
+ ? [obj.startTime, obj.endTime]
+ : [];
+ }
+ }, 1);
+ modalFormRef.value?.toggle();
+ },
+ },
+ {
+ label: '删除',
+ name: 'energyAlarmDel',
+ dynamicParams: ['uuid', 'appealType'],
+ confirm: true,
+ handle: (data: any) => {
+ http.post(planToAddApi.delPlan, { id: data.id, orgId: data.orgId }).then((res) => {
+ if (res.msg === 'success') {
+ NsMessage.success('操作成功');
+ mainRef.value?.nsTableRef.reload();
+ } else {
+ NsMessage.error(res.msg);
+ }
+ });
+ console.log(data, '删除');
+ mainRef.value?.nsTableRef.reload();
+ },
+ },
+ ],
+ },
+ formConfig: {
+ schemas: [
+ {
+ field: 'planName',
+ label: '计划标题',
+ component: 'NsInput',
+ componentProps: {
+ allowClear: true,
+ placeholder: '请输入计划关键字',
+ },
+ },
+ ],
+ params: {},
+ },
+ // pagination: { pageSizeOptions: false },
+ rowKey: 'uuid',
+ });
+};
diff --git a/hx-ai-intelligent/src/view/equipmentControl/planToAdd/index.vue b/hx-ai-intelligent/src/view/equipmentControl/planToAdd/index.vue
index 1c7b37b..65303a6 100644
--- a/hx-ai-intelligent/src/view/equipmentControl/planToAdd/index.vue
+++ b/hx-ai-intelligent/src/view/equipmentControl/planToAdd/index.vue
@@ -1,7 +1,83 @@
- xxxxx
+
+
+
+
+ {{ getData(record) }}
+
+
+
+
+
+