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 @@ - + +