add(dms): 生成点巡检项目、线路和标准,停机类型、原因和记录相关y页面和接口;点巡检线路明细、点巡检项目关联设备信息、保养部位关联项目信息、保养计划明细等这些关联表的逻辑需要后期完善

master
zch 7 days ago
parent aefc0a94a8
commit 582f96e7b8

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsRealtimeStatusVO, DmsRealtimeStatusForm, DmsRealtimeStatusQuery } from '@/api/dms/DmsRealtimeStatus/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsRealtimeStatus = (query?: DmsRealtimeStatusQuery): AxiosPromise<DmsRealtimeStatusVO[]> => {
return request({
url: '/dms/DmsRealtimeStatus/list',
method: 'get',
params: query
});
};
/**
*
* @param statusId
*/
export const getDmsRealtimeStatus = (statusId: string | number): AxiosPromise<DmsRealtimeStatusVO> => {
return request({
url: '/dms/DmsRealtimeStatus/' + statusId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsRealtimeStatus = (data: DmsRealtimeStatusForm) => {
return request({
url: '/dms/DmsRealtimeStatus',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsRealtimeStatus = (data: DmsRealtimeStatusForm) => {
return request({
url: '/dms/DmsRealtimeStatus',
method: 'put',
data: data
});
};
/**
*
* @param statusId
*/
export const delDmsRealtimeStatus = (statusId: string | number | Array<string | number>) => {
return request({
url: '/dms/DmsRealtimeStatus/' + statusId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsRealtimeStatusList (query) {
return request({
url: '/dms/DmsRealtimeStatus/getDmsRealtimeStatusList',
method: 'get',
params: query
});
};

@ -0,0 +1,106 @@
export interface DmsRealtimeStatusVO {
/**
*
*/
statusId: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId: string | number;
/**
*
*/
statusCode: string;
/**
*
*/
statusName: string;
/**
*
*/
statusValue: string;
/**
*
*/
machineName: string;
}
export interface DmsRealtimeStatusForm extends BaseEntity {
/**
*
*/
statusId?: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
*
*/
statusCode?: string;
/**
*
*/
statusName?: string;
/**
*
*/
statusValue?: string;
/**
*
*/
machineName?: string;
}
export interface DmsRealtimeStatusQuery extends PageQuery {
/**
*
*/
statusId?: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
*
*/
statusCode?: string;
/**
*
*/
statusName?: string;
/**
*
*/
statusValue?: string;
/**
*
*/
params?: any;
/**
*
*/
machineName?: string;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsBaseInspectProjectVO, DmsBaseInspectProjectForm, DmsBaseInspectProjectQuery } from '@/api/dms/dmsBaseInspectProject/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsBaseInspectProject = (query?: DmsBaseInspectProjectQuery): AxiosPromise<DmsBaseInspectProjectVO[]> => {
return request({
url: '/dms/dmsBaseInspectProject/list',
method: 'get',
params: query
});
};
/**
*
* @param inspectProjectId
*/
export const getDmsBaseInspectProject = (inspectProjectId: string | number): AxiosPromise<DmsBaseInspectProjectVO> => {
return request({
url: '/dms/dmsBaseInspectProject/' + inspectProjectId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsBaseInspectProject = (data: DmsBaseInspectProjectForm) => {
return request({
url: '/dms/dmsBaseInspectProject',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsBaseInspectProject = (data: DmsBaseInspectProjectForm) => {
return request({
url: '/dms/dmsBaseInspectProject',
method: 'put',
data: data
});
};
/**
*
* @param inspectProjectId
*/
export const delDmsBaseInspectProject = (inspectProjectId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsBaseInspectProject/' + inspectProjectId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsBaseInspectProjectList (query) {
return request({
url: '/dms/dmsBaseInspectProject/getDmsBaseInspectProjectList',
method: 'get',
params: query
});
};

@ -0,0 +1,161 @@
export interface DmsBaseInspectProjectVO {
/**
*
*/
inspectProjectId: string | number;
/**
*
*/
inspectProjectCode: string;
/**
*
*/
inspectProject: string;
/**
* (1 2)
*/
inspectType: string;
/**
* (1 2)
*/
inspectProjectProperty: string;
/**
*
*/
recordMethod: string;
/**
*
*/
upLimit: number;
/**
*
*/
lowLimit: number;
/**
*
*/
defValue: number;
/**
*
*/
remark: string;
}
export interface DmsBaseInspectProjectForm extends BaseEntity {
/**
*
*/
inspectProjectId?: string | number;
/**
*
*/
inspectProjectCode?: string;
/**
*
*/
inspectProject?: string;
/**
* (1 2)
*/
inspectType?: string;
/**
* (1 2)
*/
inspectProjectProperty?: string;
/**
*
*/
recordMethod?: string;
/**
*
*/
upLimit?: number;
/**
*
*/
lowLimit?: number;
/**
*
*/
defValue?: number;
/**
*
*/
remark?: string;
}
export interface DmsBaseInspectProjectQuery extends PageQuery {
/**
*
*/
inspectProjectId?: string | number;
/**
*
*/
inspectProjectCode?: string;
/**
*
*/
inspectProject?: string;
/**
* (1 2)
*/
inspectType?: string;
/**
* (1 2)
*/
inspectProjectProperty?: string;
/**
*
*/
recordMethod?: string;
/**
*
*/
upLimit?: number;
/**
*
*/
lowLimit?: number;
/**
*
*/
defValue?: number;
/**
*
*/
params?: any;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsBaseInspectRouteVO, DmsBaseInspectRouteForm, DmsBaseInspectRouteQuery } from '@/api/dms/dmsBaseInspectRoute/types';
/**
* 线
* @param query
* @returns {*}
*/
export const listDmsBaseInspectRoute = (query?: DmsBaseInspectRouteQuery): AxiosPromise<DmsBaseInspectRouteVO[]> => {
return request({
url: '/dms/dmsBaseInspectRoute/list',
method: 'get',
params: query
});
};
/**
* 线
* @param inspectRouteId
*/
export const getDmsBaseInspectRoute = (inspectRouteId: string | number): AxiosPromise<DmsBaseInspectRouteVO> => {
return request({
url: '/dms/dmsBaseInspectRoute/' + inspectRouteId,
method: 'get'
});
};
/**
* 线
* @param data
*/
export const addDmsBaseInspectRoute = (data: DmsBaseInspectRouteForm) => {
return request({
url: '/dms/dmsBaseInspectRoute',
method: 'post',
data: data
});
};
/**
* 线
* @param data
*/
export const updateDmsBaseInspectRoute = (data: DmsBaseInspectRouteForm) => {
return request({
url: '/dms/dmsBaseInspectRoute',
method: 'put',
data: data
});
};
/**
* 线
* @param inspectRouteId
*/
export const delDmsBaseInspectRoute = (inspectRouteId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsBaseInspectRoute/' + inspectRouteId,
method: 'delete'
});
};
/**
* 线
* @param query
* @returns {*}
*/
export function getDmsBaseInspectRouteList (query) {
return request({
url: '/dms/dmsBaseInspectRoute/getDmsBaseInspectRouteList',
method: 'get',
params: query
});
};

@ -0,0 +1,122 @@
export interface DmsBaseInspectRouteVO {
/**
*
*/
inspectRouteId: string | number;
/**
* 线
*/
routeCode: string;
/**
* 线
*/
routeName: string;
/**
* 线(1 2)
*/
inspectType: string;
/**
*
*/
cyclePeriod: string;
/**
* IDbase_device_typedevice_type_id
*/
deviceTypeId: string | number;
/**
*
*/
deviceTypeName: string;
}
export interface DmsBaseInspectRouteForm extends BaseEntity {
/**
*
*/
inspectRouteId?: string | number;
/**
* 线
*/
routeCode?: string;
/**
* 线
*/
routeName?: string;
/**
* 线(1 2)
*/
inspectType?: string;
/**
*
*/
cyclePeriod?: string;
/**
* IDbase_device_typedevice_type_id
*/
deviceTypeId?: string | number;
/**
*
*/
deviceTypeName?: string;
}
export interface DmsBaseInspectRouteQuery extends PageQuery {
/**
*
*/
inspectRouteId?: string | number;
/**
* 线
*/
routeCode?: string;
/**
* 线
*/
routeName?: string;
/**
* 线(1 2)
*/
inspectType?: string;
/**
*
*/
cyclePeriod?: string;
/**
* IDbase_device_typedevice_type_id
*/
deviceTypeId?: string | number;
/**
*
*/
params?: any;
/**
*
*/
deviceTypeName?: string;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsBaseInspectStandardVO, DmsBaseInspectStandardForm, DmsBaseInspectStandardQuery } from '@/api/dms/dmsBaseInspectStandard/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsBaseInspectStandard = (query?: DmsBaseInspectStandardQuery): AxiosPromise<DmsBaseInspectStandardVO[]> => {
return request({
url: '/dms/dmsBaseInspectStandard/list',
method: 'get',
params: query
});
};
/**
*
* @param inspectStandardId
*/
export const getDmsBaseInspectStandard = (inspectStandardId: string | number): AxiosPromise<DmsBaseInspectStandardVO> => {
return request({
url: '/dms/dmsBaseInspectStandard/' + inspectStandardId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsBaseInspectStandard = (data: DmsBaseInspectStandardForm) => {
return request({
url: '/dms/dmsBaseInspectStandard',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsBaseInspectStandard = (data: DmsBaseInspectStandardForm) => {
return request({
url: '/dms/dmsBaseInspectStandard',
method: 'put',
data: data
});
};
/**
*
* @param inspectStandardId
*/
export const delDmsBaseInspectStandard = (inspectStandardId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsBaseInspectStandard/' + inspectStandardId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsBaseInspectStandardList (query) {
return request({
url: '/dms/dmsBaseInspectStandard/getDmsBaseInspectStandardList',
method: 'get',
params: query
});
};

@ -0,0 +1,146 @@
export interface DmsBaseInspectStandardVO {
/**
*
*/
inspectStandardId: string | number;
/**
*
*/
standardCode: string;
/**
*
*/
standardName: string;
/**
*
*/
inspectObjective: string;
/**
* IDdms_base_inspect_projectinspect_project_id
*/
inspectProjectId: string | number;
/**
*
*/
inspectItemCount: number;
/**
* 1 0
*/
activeFlag: string;
/**
*
*/
remark: string;
/**
*
*/
inspectProjectCode: string;
}
export interface DmsBaseInspectStandardForm extends BaseEntity {
/**
*
*/
inspectStandardId?: string | number;
/**
*
*/
standardCode?: string;
/**
*
*/
standardName?: string;
/**
*
*/
inspectObjective?: string;
/**
* IDdms_base_inspect_projectinspect_project_id
*/
inspectProjectId?: string | number;
/**
*
*/
inspectItemCount?: number;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
remark?: string;
/**
*
*/
inspectProjectCode?: string;
}
export interface DmsBaseInspectStandardQuery extends PageQuery {
/**
*
*/
inspectStandardId?: string | number;
/**
*
*/
standardCode?: string;
/**
*
*/
standardName?: string;
/**
*
*/
inspectObjective?: string;
/**
* IDdms_base_inspect_projectinspect_project_id
*/
inspectProjectId?: string | number;
/**
*
*/
inspectItemCount?: number;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
params?: any;
/**
*
*/
inspectProjectCode?: string;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsBaseShutReasonVO, DmsBaseShutReasonForm, DmsBaseShutReasonQuery } from '@/api/dms/dmsBaseShutReason/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsBaseShutReason = (query?: DmsBaseShutReasonQuery): AxiosPromise<DmsBaseShutReasonVO[]> => {
return request({
url: '/dms/dmsBaseShutReason/list',
method: 'get',
params: query
});
};
/**
*
* @param shutReasonId
*/
export const getDmsBaseShutReason = (shutReasonId: string | number): AxiosPromise<DmsBaseShutReasonVO> => {
return request({
url: '/dms/dmsBaseShutReason/' + shutReasonId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsBaseShutReason = (data: DmsBaseShutReasonForm) => {
return request({
url: '/dms/dmsBaseShutReason',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsBaseShutReason = (data: DmsBaseShutReasonForm) => {
return request({
url: '/dms/dmsBaseShutReason',
method: 'put',
data: data
});
};
/**
*
* @param shutReasonId
*/
export const delDmsBaseShutReason = (shutReasonId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsBaseShutReason/' + shutReasonId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsBaseShutReasonList (query) {
return request({
url: '/dms/dmsBaseShutReason/getDmsBaseShutReasonList',
method: 'get',
params: query
});
};

@ -0,0 +1,147 @@
export interface DmsBaseShutReasonVO {
/**
*
*/
shutReasonId: string | number;
/**
*
*/
reasonCode: string;
/**
*
*/
shutReason: string;
/**
* IDprod_base_machine_infomachine_id
*/
machineId: string | number;
/**
* ,dms_base_shut_typeshut_type_id
*/
shutTypeId: string | number;
/**
* 1 0
*/
activeFlag: string;
/**
*
*/
remark: string;
/**
*
*/
machineName: string;
/**
*
*/
shutTypeName: string;
}
export interface DmsBaseShutReasonForm extends BaseEntity {
/**
*
*/
shutReasonId?: string | number;
/**
*
*/
reasonCode?: string;
/**
*
*/
shutReason?: string;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* ,dms_base_shut_typeshut_type_id
*/
shutTypeId?: string | number;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
remark?: string;
/**
*
*/
machineName?: string;
/**
*
*/
shutTypeName?: string;
}
export interface DmsBaseShutReasonQuery extends PageQuery {
/**
*
*/
shutReasonId?: string | number;
/**
*
*/
reasonCode?: string;
/**
*
*/
shutReason?: string;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* ,dms_base_shut_typeshut_type_id
*/
shutTypeId?: string | number;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
params?: any;
/**
*
*/
machineName?: string;
/**
*
*/
shutTypeName?: string;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsBaseShutTypeVO, DmsBaseShutTypeForm, DmsBaseShutTypeQuery } from '@/api/dms/dmsBaseShutType/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsBaseShutType = (query?: DmsBaseShutTypeQuery): AxiosPromise<DmsBaseShutTypeVO[]> => {
return request({
url: '/dms/dmsBaseShutType/list',
method: 'get',
params: query
});
};
/**
*
* @param shutTypeId
*/
export const getDmsBaseShutType = (shutTypeId: string | number): AxiosPromise<DmsBaseShutTypeVO> => {
return request({
url: '/dms/dmsBaseShutType/' + shutTypeId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsBaseShutType = (data: DmsBaseShutTypeForm) => {
return request({
url: '/dms/dmsBaseShutType',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsBaseShutType = (data: DmsBaseShutTypeForm) => {
return request({
url: '/dms/dmsBaseShutType',
method: 'put',
data: data
});
};
/**
*
* @param shutTypeId
*/
export const delDmsBaseShutType = (shutTypeId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsBaseShutType/' + shutTypeId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsBaseShutTypeList (query) {
return request({
url: '/dms/dmsBaseShutType/getDmsBaseShutTypeList',
method: 'get',
params: query
});
};

@ -0,0 +1,86 @@
export interface DmsBaseShutTypeVO {
/**
*
*/
shutTypeId: string | number;
/**
*
*/
shutTypeCode: string;
/**
*
*/
shutTypeName: string;
/**
* 1 0
*/
activeFlag: string;
/**
*
*/
remark: string;
}
export interface DmsBaseShutTypeForm extends BaseEntity {
/**
*
*/
shutTypeId?: string | number;
/**
*
*/
shutTypeCode?: string;
/**
*
*/
shutTypeName?: string;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
remark?: string;
}
export interface DmsBaseShutTypeQuery extends PageQuery {
/**
*
*/
shutTypeId?: string | number;
/**
*
*/
shutTypeCode?: string;
/**
*
*/
shutTypeName?: string;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
params?: any;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsInspectProjectDeviceVO, DmsInspectProjectDeviceForm, DmsInspectProjectDeviceQuery } from '@/api/dms/dmsInspectProjectDevice/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsInspectProjectDevice = (query?: DmsInspectProjectDeviceQuery): AxiosPromise<DmsInspectProjectDeviceVO[]> => {
return request({
url: '/dms/dmsInspectProjectDevice/list',
method: 'get',
params: query
});
};
/**
*
* @param inspectProjectId
*/
export const getDmsInspectProjectDevice = (inspectProjectId: string | number): AxiosPromise<DmsInspectProjectDeviceVO> => {
return request({
url: '/dms/dmsInspectProjectDevice/' + inspectProjectId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsInspectProjectDevice = (data: DmsInspectProjectDeviceForm) => {
return request({
url: '/dms/dmsInspectProjectDevice',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsInspectProjectDevice = (data: DmsInspectProjectDeviceForm) => {
return request({
url: '/dms/dmsInspectProjectDevice',
method: 'put',
data: data
});
};
/**
*
* @param inspectProjectId
*/
export const delDmsInspectProjectDevice = (inspectProjectId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsInspectProjectDevice/' + inspectProjectId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsInspectProjectDeviceList (query) {
return request({
url: '/dms/dmsInspectProjectDevice/getDmsInspectProjectDeviceList',
method: 'get',
params: query
});
};

@ -0,0 +1,61 @@
export interface DmsInspectProjectDeviceVO {
/**
* ID
*/
inspectProjectId: string | number;
/**
* (1)
*/
targetType: string;
/**
*
*/
targetId: string | number;
}
export interface DmsInspectProjectDeviceForm extends BaseEntity {
/**
* ID
*/
inspectProjectId?: string | number;
/**
* (1)
*/
targetType?: string;
/**
*
*/
targetId?: string | number;
}
export interface DmsInspectProjectDeviceQuery extends PageQuery {
/**
* ID
*/
inspectProjectId?: string | number;
/**
* (1)
*/
targetType?: string;
/**
*
*/
targetId?: string | number;
/**
*
*/
params?: any;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsInspectRouteDetailVO, DmsInspectRouteDetailForm, DmsInspectRouteDetailQuery } from '@/api/dms/dmsInspectRouteDetail/types';
/**
* 线
* @param query
* @returns {*}
*/
export const listDmsInspectRouteDetail = (query?: DmsInspectRouteDetailQuery): AxiosPromise<DmsInspectRouteDetailVO[]> => {
return request({
url: '/dms/dmsInspectRouteDetail/list',
method: 'get',
params: query
});
};
/**
* 线
* @param routeDetailId
*/
export const getDmsInspectRouteDetail = (routeDetailId: string | number): AxiosPromise<DmsInspectRouteDetailVO> => {
return request({
url: '/dms/dmsInspectRouteDetail/' + routeDetailId,
method: 'get'
});
};
/**
* 线
* @param data
*/
export const addDmsInspectRouteDetail = (data: DmsInspectRouteDetailForm) => {
return request({
url: '/dms/dmsInspectRouteDetail',
method: 'post',
data: data
});
};
/**
* 线
* @param data
*/
export const updateDmsInspectRouteDetail = (data: DmsInspectRouteDetailForm) => {
return request({
url: '/dms/dmsInspectRouteDetail',
method: 'put',
data: data
});
};
/**
* 线
* @param routeDetailId
*/
export const delDmsInspectRouteDetail = (routeDetailId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsInspectRouteDetail/' + routeDetailId,
method: 'delete'
});
};
/**
* 线
* @param query
* @returns {*}
*/
export function getDmsInspectRouteDetailList (query) {
return request({
url: '/dms/dmsInspectRouteDetail/getDmsInspectRouteDetailList',
method: 'get',
params: query
});
};

@ -0,0 +1,132 @@
export interface DmsInspectRouteDetailVO {
/**
*
*/
routeDetailId: string | number;
/**
* 线IDdms_base_inspect_routeinspect_route_id
*/
inspectRouteId: string | number;
/**
*
*/
lineStep: number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId: string | number;
/**
* ;线
*/
inspectStandard: string;
/**
*
*/
remark: string;
/**
* 线
*/
routeName: string;
/**
*
*/
machineName: string;
}
export interface DmsInspectRouteDetailForm extends BaseEntity {
/**
*
*/
routeDetailId?: string | number;
/**
* 线IDdms_base_inspect_routeinspect_route_id
*/
inspectRouteId?: string | number;
/**
*
*/
lineStep?: number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* ;线
*/
inspectStandard?: string;
/**
*
*/
remark?: string;
/**
* 线
*/
routeName?: string;
/**
*
*/
machineName?: string;
}
export interface DmsInspectRouteDetailQuery extends PageQuery {
/**
*
*/
routeDetailId?: string | number;
/**
* 线IDdms_base_inspect_routeinspect_route_id
*/
inspectRouteId?: string | number;
/**
*
*/
lineStep?: number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* ;线
*/
inspectStandard?: string;
/**
*
*/
params?: any
/**
* 线
*/
routeName?: string;
/**
*
*/
machineName?: string;
}

@ -0,0 +1,77 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { DmsRecordShutDownVO, DmsRecordShutDownForm, DmsRecordShutDownQuery } from '@/api/dms/dmsRecordShutDown/types';
/**
*
* @param query
* @returns {*}
*/
export const listDmsRecordShutDown = (query?: DmsRecordShutDownQuery): AxiosPromise<DmsRecordShutDownVO[]> => {
return request({
url: '/dms/dmsRecordShutDown/list',
method: 'get',
params: query
});
};
/**
*
* @param recordShutDownId
*/
export const getDmsRecordShutDown = (recordShutDownId: string | number): AxiosPromise<DmsRecordShutDownVO> => {
return request({
url: '/dms/dmsRecordShutDown/' + recordShutDownId,
method: 'get'
});
};
/**
*
* @param data
*/
export const addDmsRecordShutDown = (data: DmsRecordShutDownForm) => {
return request({
url: '/dms/dmsRecordShutDown',
method: 'post',
data: data
});
};
/**
*
* @param data
*/
export const updateDmsRecordShutDown = (data: DmsRecordShutDownForm) => {
return request({
url: '/dms/dmsRecordShutDown',
method: 'put',
data: data
});
};
/**
*
* @param recordShutDownId
*/
export const delDmsRecordShutDown = (recordShutDownId: string | number | Array<string | number>) => {
return request({
url: '/dms/dmsRecordShutDown/' + recordShutDownId,
method: 'delete'
});
};
/**
*
* @param query
* @returns {*}
*/
export function getDmsRecordShutDownList (query) {
return request({
url: '/dms/dmsRecordShutDown/getDmsRecordShutDownList',
method: 'get',
params: query
});
};

@ -0,0 +1,206 @@
export interface DmsRecordShutDownVO {
/**
* ;scada
*/
recordShutDownId: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId: string | number;
/**
* IDdm_base_shut_typeshut_type_id
*/
shutTypeId: string | number;
/**
* IDdms_base_shut_reasonshut_reason_id
*/
shutReasonId: string | number;
/**
*
*/
shutBeginTime: string;
/**
*
*/
shutEndTime: string;
/**
* ()
*/
shutTime: number;
/**
* 0 1
*/
downtimeFlag: string;
/**
*
*/
shutReason: string;
/**
* 1 0
*/
activeFlag: string;
/**
*
*/
remark: string;
/**
*
*/
machineName: string;
/**
*
*/
shutTypeName: string;
}
export interface DmsRecordShutDownForm extends BaseEntity {
/**
* ;scada
*/
recordShutDownId?: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* IDdm_base_shut_typeshut_type_id
*/
shutTypeId?: string | number;
/**
* IDdms_base_shut_reasonshut_reason_id
*/
shutReasonId?: string | number;
/**
*
*/
shutBeginTime?: string;
/**
*
*/
shutEndTime?: string;
/**
* ()
*/
shutTime?: number;
/**
* 0 1
*/
downtimeFlag?: string;
/**
*
*/
shutReason?: string;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
remark?: string;
/**
*
*/
machineName?: string;
/**
*
*/
shutTypeName?: string;
}
export interface DmsRecordShutDownQuery extends PageQuery {
/**
* ;scada
*/
recordShutDownId?: string | number;
/**
* IDprod_base_machine_infomachine_id
*/
machineId?: string | number;
/**
* IDdm_base_shut_typeshut_type_id
*/
shutTypeId?: string | number;
/**
* IDdms_base_shut_reasonshut_reason_id
*/
shutReasonId?: string | number;
/**
*
*/
shutBeginTime?: string;
/**
*
*/
shutEndTime?: string;
/**
* ()
*/
shutTime?: number;
/**
* 0 1
*/
downtimeFlag?: string;
/**
*
*/
shutReason?: string;
/**
* 1 0
*/
activeFlag?: string;
/**
*
*/
params?: any;
/**
*
*/
machineName?: string;
/**
*
*/
shutTypeName?: string;
}

@ -0,0 +1,284 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="statusId">
<el-input v-model="queryParams.statusId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<el-input v-model="queryParams.machineId" placeholder="请输入设备" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="设备状态编号" prop="statusCode" label-width="100px">
<el-input v-model="queryParams.statusCode" placeholder="请输入设备状态编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="设备状态名称" prop="statusName">
<el-input v-model="queryParams.statusName" placeholder="请输入设备状态名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备状态值" prop="statusValue">
<el-input v-model="queryParams.statusValue" placeholder="请输入设备状态值" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:DmsRealtimeStatus:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:DmsRealtimeStatus:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:DmsRealtimeStatus:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:DmsRealtimeStatus:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="DmsRealtimeStatusList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="statusId" v-if="columns[0].visible"/>
<el-table-column label="设备" align="center" prop="machineName" v-if="columns[2].visible"/>
<el-table-column label="设备状态编号" align="center" prop="statusCode" v-if="columns[3].visible"/>
<el-table-column label="设备状态名称" align="center" prop="statusName" v-if="columns[4].visible"/>
<el-table-column label="设备状态值" align="center" prop="statusValue" v-if="columns[5].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:DmsRealtimeStatus:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:DmsRealtimeStatus:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改设备实时状态记录对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="DmsRealtimeStatusFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="主键标识" prop="statusId">
<el-input v-model="form.statusId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="设备" prop="machineId">
<!-- <el-input v-model="form.machineId" placeholder="请输入设备" />-->
<el-select v-model="form.machineId" placeholder="请选择设备" clearable >
<el-option v-for="item in machineOtions"
:key="item.machineId"
:label="item.machineName"
:value="item.machineId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="设备状态编号" prop="statusCode">
<el-input v-model="form.statusCode" placeholder="请输入设备状态编号" />
</el-form-item>
<el-form-item label="设备状态名称" prop="statusName">
<el-input v-model="form.statusName" placeholder="请输入设备状态名称" />
</el-form-item>
<el-form-item label="设备状态值" prop="statusValue">
<el-input v-model="form.statusValue" placeholder="请输入设备状态值" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsRealtimeStatus" lang="ts">
import { listDmsRealtimeStatus, getDmsRealtimeStatus, delDmsRealtimeStatus, addDmsRealtimeStatus, updateDmsRealtimeStatus } from '@/api/dms/DmsRealtimeStatus';
import { DmsRealtimeStatusVO, DmsRealtimeStatusQuery, DmsRealtimeStatusForm } from '@/api/dms/DmsRealtimeStatus/types';
import {getDmsBaseMachineInfoList} from "@/api/dms/dmsBaseMachineInfo";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const DmsRealtimeStatusList = ref<DmsRealtimeStatusVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const DmsRealtimeStatusFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `设备`, visible: true },
{ key: 3, label: `设备状态编号`, visible: true },
{ key: 4, label: `设备状态名称`, visible: true },
{ key: 5, label: `设备状态值`, visible: true },
{ key: 6, label: `创建部门`, visible: false },
{ key: 7, label: `创建人`, visible: false },
{ key: 8, label: `创建时间`, visible: false },
{ key: 9, label: `更新人`, visible: false },
{ key: 10, label: `更新时间`, visible: false },
]);
const initFormData: DmsRealtimeStatusForm = {
statusId: undefined,
machineId: undefined,
statusCode: undefined,
statusName: undefined,
statusValue: undefined,
machineName: undefined,
}
const data = reactive<PageData<DmsRealtimeStatusForm, DmsRealtimeStatusQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
statusId: undefined,
machineId: undefined,
statusCode: undefined,
statusName: undefined,
statusValue: undefined,
machineName: undefined,
params: {
}
},
rules: {
machineId: [
{ required: true, message: "设备不能为空", trigger: "blur" }
],
statusCode: [
{ required: true, message: "设备状态编号不能为空", trigger: "blur" }
],
statusName: [
{ required: true, message: "设备状态名称不能为空", trigger: "blur" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询设备实时状态记录列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsRealtimeStatus(queryParams.value);
DmsRealtimeStatusList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
DmsRealtimeStatusFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsRealtimeStatusVO[]) => {
ids.value = selection.map(item => item.statusId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加设备实时状态记录";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsRealtimeStatusVO) => {
reset();
const _statusId = row?.statusId || ids.value[0]
const res = await getDmsRealtimeStatus(_statusId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改设备实时状态记录";
}
/** 提交按钮 */
const submitForm = () => {
DmsRealtimeStatusFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.statusId) {
await updateDmsRealtimeStatus(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsRealtimeStatus(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsRealtimeStatusVO) => {
const _statusIds = row?.statusId || ids.value;
await proxy?.$modal.confirm('是否确认删除设备实时状态记录编号为"' + _statusIds + '"的数据项?').finally(() => loading.value = false);
await delDmsRealtimeStatus(_statusIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/DmsRealtimeStatus/export', {
...queryParams.value
}, `DmsRealtimeStatus_${new Date().getTime()}.xlsx`)
}
//
let machineOtions = ref([]);
const getMachineOtions = async () => {
const res = await getDmsBaseMachineInfoList(null);
machineOtions.value = res.data;
}
onMounted(() => {
getMachineOtions();
getList();
});
</script>

@ -106,7 +106,7 @@
</el-select>
</el-form-item>
<el-form-item label="BOM数量" prop="bomAmount">
<el-input v-model="form.bomAmount" placeholder="请输入BOM数量" />
<el-input-number v-model="form.bomAmount" :min="0" />
</el-form-item>
<!-- <el-form-item label="祖级列表" prop="ancestors">
<el-input v-model="form.ancestors" placeholder="请输入祖级列表" />
@ -192,6 +192,18 @@ const data = reactive<PageData<DmsBaseDeviceBomForm, DmsBaseDeviceBomQuery>>({
}
},
rules: {
/* deviceBomId: [
{ required: false, message: "主键标识不能为空" },
],*/
parentId: [
{ required: false, message: "父级标识不能为空" , trigger: 'change'},
],
machineId: [
{ required: false, message: "设备不能为空" ,trigger: 'change'},
],
activeFlag: [
{ required: false, message: "激活标识不能为空",trigger: 'blur' },
],
}
});

@ -0,0 +1,340 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="inspectProjectId">
<el-input v-model="queryParams.inspectProjectId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="项目编号" prop="inspectProjectCode">
<el-input v-model="queryParams.inspectProjectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="巡检项目" prop="inspectProject">
<el-input v-model="queryParams.inspectProject" placeholder="请输入巡检项目" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="检查类型" prop="inspectType">
<el-select v-model="queryParams.inspectType" placeholder="请选择检查类型" clearable >
<el-option v-for="dict in inspect_type" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="巡检项目属性" prop="inspectProjectProperty" label-width="100px">
<el-select v-model="queryParams.inspectProjectProperty" placeholder="请选择巡检项目属性" clearable wid >
<el-option v-for="dict in inspect_project_property" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="记录方式" prop="recordMethod">
<el-input v-model="queryParams.recordMethod" placeholder="请输入记录方式" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="上限" prop="upLimit">
<el-input v-model="queryParams.upLimit" placeholder="请输入上限" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="下限" prop="lowLimit">
<el-input v-model="queryParams.lowLimit" placeholder="请输入下限" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="默认值" prop="defValue">
<el-input v-model="queryParams.defValue" placeholder="请输入默认值" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsBaseInspectProject:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsBaseInspectProject:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsBaseInspectProject:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsBaseInspectProject:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsBaseInspectProjectList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="inspectProjectId" v-if="columns[0].visible"/>
<el-table-column label="项目编号" align="center" prop="inspectProjectCode" v-if="columns[2].visible"/>
<el-table-column label="巡检项目" align="center" prop="inspectProject" v-if="columns[3].visible"/>
<el-table-column label="检查类型" align="center" prop="inspectType" v-if="columns[4].visible">
<template #default="scope">
<dict-tag :options="inspect_type" :value="scope.row.inspectType"/>
</template>
</el-table-column>
<el-table-column label="巡检项目属性" align="center" prop="inspectProjectProperty" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="inspect_project_property" :value="scope.row.inspectProjectProperty"/>
</template>
</el-table-column>
<el-table-column label="记录方式" align="center" prop="recordMethod" v-if="columns[6].visible"/>
<el-table-column label="上限" align="center" prop="upLimit" v-if="columns[7].visible"/>
<el-table-column label="下限" align="center" prop="lowLimit" v-if="columns[8].visible"/>
<el-table-column label="默认值" align="center" prop="defValue" v-if="columns[9].visible"/>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[10].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsBaseInspectProject:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsBaseInspectProject:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改点巡检项目信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsBaseInspectProjectFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="主键标识" prop="inspectProjectId">
<el-input v-model="form.inspectProjectId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="项目编号" prop="inspectProjectCode">
<el-input v-model="form.inspectProjectCode" placeholder="请输入项目编号" />
</el-form-item>
<el-form-item label="巡检项目" prop="inspectProject">
<el-input v-model="form.inspectProject" placeholder="请输入巡检项目" />
</el-form-item>
<el-form-item label="检查类型" prop="inspectType">
<el-select v-model="form.inspectType" placeholder="请选择检查类型">
<el-option
v-for="dict in inspect_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="巡检项目属性" prop="inspectProjectProperty">
<el-select v-model="form.inspectProjectProperty" placeholder="请选择巡检项目属性">
<el-option
v-for="dict in inspect_project_property"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="记录方式" prop="recordMethod">
<el-input v-model="form.recordMethod" placeholder="请输入记录方式" />
</el-form-item>
<el-form-item label="上限" prop="upLimit">
<el-input-number v-model="form.upLimit" placeholder="保留六位小数" style="width: 200px;" />
</el-form-item>
<el-form-item label="下限" prop="lowLimit">
<el-input-number v-model="form.lowLimit" placeholder="保留六位小数" style="width: 200px;"/>
</el-form-item>
<el-form-item label="默认值" prop="defValue">
<el-input-number v-model="form.defValue" placeholder="保留六位小数" style="width: 200px;"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsBaseInspectProject" lang="ts">
import { listDmsBaseInspectProject, getDmsBaseInspectProject, delDmsBaseInspectProject, addDmsBaseInspectProject, updateDmsBaseInspectProject } from '@/api/dms/dmsBaseInspectProject';
import { DmsBaseInspectProjectVO, DmsBaseInspectProjectQuery, DmsBaseInspectProjectForm } from '@/api/dms/dmsBaseInspectProject/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { inspect_project_property, inspect_type } = toRefs<any>(proxy?.useDict('inspect_project_property', 'inspect_type'));
const dmsBaseInspectProjectList = ref<DmsBaseInspectProjectVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsBaseInspectProjectFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `项目编号`, visible: true },
{ key: 3, label: `巡检项目`, visible: true },
{ key: 4, label: `检查类型`, visible: true },
{ key: 5, label: `巡检项目属性`, visible: true },
{ key: 6, label: `记录方式`, visible: true },
{ key: 7, label: `上限`, visible: true },
{ key: 8, label: `下限`, visible: true },
{ key: 9, label: `默认值`, visible: true },
{ key: 10, label: `备注`, visible: true },
{ key: 11, label: `创建部门`, visible: false },
{ key: 12, label: `创建人`, visible: false },
{ key: 13, label: `创建时间`, visible: false },
{ key: 14, label: `更新人`, visible: false },
{ key: 15, label: `更新时间`, visible: false },
]);
const initFormData: DmsBaseInspectProjectForm = {
inspectProjectId: undefined,
inspectProjectCode: undefined,
inspectProject: undefined,
inspectType: undefined,
inspectProjectProperty: undefined,
recordMethod: undefined,
upLimit: undefined,
lowLimit: undefined,
defValue: undefined,
remark: undefined,
}
const data = reactive<PageData<DmsBaseInspectProjectForm, DmsBaseInspectProjectQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
inspectProjectId: undefined,
inspectProjectCode: undefined,
inspectProject: undefined,
inspectType: undefined,
inspectProjectProperty: undefined,
recordMethod: undefined,
upLimit: undefined,
lowLimit: undefined,
defValue: undefined,
params: {
}
},
rules: {
inspectProjectCode: [
{ required: true, message: "项目编号不能为空", trigger: "blur" }
],
inspectProject: [
{ required: true, message: "巡检项目不能为空", trigger: "blur" }
],
inspectType: [
{ required: true, message: "检查类型不能为空", trigger: "blur" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询点巡检项目信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsBaseInspectProject(queryParams.value);
dmsBaseInspectProjectList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsBaseInspectProjectFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsBaseInspectProjectVO[]) => {
ids.value = selection.map(item => item.inspectProjectId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加点巡检项目信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsBaseInspectProjectVO) => {
reset();
const _inspectProjectId = row?.inspectProjectId || ids.value[0]
const res = await getDmsBaseInspectProject(_inspectProjectId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改点巡检项目信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsBaseInspectProjectFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.inspectProjectId) {
await updateDmsBaseInspectProject(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsBaseInspectProject(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsBaseInspectProjectVO) => {
const _inspectProjectIds = row?.inspectProjectId || ids.value;
await proxy?.$modal.confirm('是否确认删除点巡检项目信息编号为"' + _inspectProjectIds + '"的数据项?').finally(() => loading.value = false);
await delDmsBaseInspectProject(_inspectProjectIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsBaseInspectProject/export', {
...queryParams.value
}, `dmsBaseInspectProject_${new Date().getTime()}.xlsx`)
}
onMounted(() => {
getList();
});
</script>

@ -0,0 +1,308 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="inspectRouteId">
<el-input v-model="queryParams.inspectRouteId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="线路编号" prop="routeCode">
<el-input v-model="queryParams.routeCode" placeholder="请输入线路编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="线路名称" prop="routeName">
<el-input v-model="queryParams.routeName" placeholder="请输入线路名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="线路类型" prop="inspectType">
<el-select v-model="queryParams.inspectType" placeholder="请选择线路类型" clearable >
<el-option v-for="dict in inspect_type" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="循环周期" prop="cyclePeriod">
<el-input v-model="queryParams.cyclePeriod" placeholder="请输入循环周期" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备类型" prop="deviceTypeId">
<el-input v-model="queryParams.deviceTypeId" placeholder="请输入设备类型" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsBaseInspectRoute:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsBaseInspectRoute:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsBaseInspectRoute:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsBaseInspectRoute:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsBaseInspectRouteList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="inspectRouteId" v-if="columns[0].visible"/>
<el-table-column label="线路编号" align="center" prop="routeCode" v-if="columns[2].visible"/>
<el-table-column label="线路名称" align="center" prop="routeName" v-if="columns[3].visible"/>
<el-table-column label="线路类型" align="center" prop="inspectType" v-if="columns[4].visible">
<template #default="scope">
<dict-tag :options="inspect_type" :value="scope.row.inspectType"/>
</template>
</el-table-column>
<el-table-column label="循环周期" align="center" prop="cyclePeriod" v-if="columns[5].visible"/>
<el-table-column label="设备类型" align="center" prop="deviceTypeName" v-if="columns[6].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsBaseInspectRoute:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsBaseInspectRoute:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改点巡检线路信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsBaseInspectRouteFormRef" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="主键标识" prop="inspectRouteId">
<el-input v-model="form.inspectRouteId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="线路编号" prop="routeCode">
<el-input v-model="form.routeCode" placeholder="请输入线路编号" />
</el-form-item>
<el-form-item label="线路名称" prop="routeName">
<el-input v-model="form.routeName" placeholder="请输入线路名称" />
</el-form-item>
<el-form-item label="线路类型" prop="inspectType">
<el-select v-model="form.inspectType" placeholder="请选择线路类型">
<el-option
v-for="dict in inspect_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="循环周期" prop="cyclePeriod">
<el-input v-model="form.cyclePeriod" placeholder="请输入循环周期" />
</el-form-item>
<el-form-item label="设备类型" prop="deviceTypeId">
<!-- <el-input v-model="form.deviceTypeId" placeholder="请输入设备类型" />-->
<el-select v-model="form.deviceTypeId" placeholder="请选择设备类型">
<el-option
v-for="item in deviceTypeOptions"
:key="item.deviceTypeId"
:label="item.deviceTypeName"
:value="item.deviceTypeId"
></el-option>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsBaseInspectRoute" lang="ts">
import { listDmsBaseInspectRoute, getDmsBaseInspectRoute, delDmsBaseInspectRoute, addDmsBaseInspectRoute, updateDmsBaseInspectRoute } from '@/api/dms/dmsBaseInspectRoute';
import { DmsBaseInspectRouteVO, DmsBaseInspectRouteQuery, DmsBaseInspectRouteForm } from '@/api/dms/dmsBaseInspectRoute/types';
import {getBaseDeviceTypeListInDMS} from "@/api/dms/baseDeviceType";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { inspect_type } = toRefs<any>(proxy?.useDict('inspect_type'));
const dmsBaseInspectRouteList = ref<DmsBaseInspectRouteVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsBaseInspectRouteFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `线路编号`, visible: true },
{ key: 3, label: `线路名称`, visible: true },
{ key: 4, label: `线路类型`, visible: true },
{ key: 5, label: `循环周期`, visible: true },
{ key: 6, label: `设备类型`, visible: true },
{ key: 7, label: `创建部门`, visible: false },
{ key: 8, label: `创建人`, visible: false },
{ key: 9, label: `创建时间`, visible: false },
{ key: 10, label: `更新人`, visible: false },
{ key: 11, label: `更新时间`, visible: false },
]);
const initFormData: DmsBaseInspectRouteForm = {
inspectRouteId: undefined,
routeCode: undefined,
routeName: undefined,
inspectType: undefined,
cyclePeriod: undefined,
deviceTypeId: undefined,
deviceTypeName: undefined,
}
const data = reactive<PageData<DmsBaseInspectRouteForm, DmsBaseInspectRouteQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
inspectRouteId: undefined,
routeCode: undefined,
routeName: undefined,
inspectType: undefined,
cyclePeriod: undefined,
deviceTypeId: undefined,
deviceTypeName: undefined,
params: {
}
},
rules: {
routeCode: [
{ required: true, message: "线路编号不能为空", trigger: "blur" }
],
routeName: [
{ required: true, message: "线路名称不能为空", trigger: "blur" }
],
deviceTypeId: [
{ required: true, message: "设备类型不能为空", trigger: "blur" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询点巡检线路信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsBaseInspectRoute(queryParams.value);
dmsBaseInspectRouteList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsBaseInspectRouteFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsBaseInspectRouteVO[]) => {
ids.value = selection.map(item => item.inspectRouteId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加点巡检线路信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsBaseInspectRouteVO) => {
reset();
const _inspectRouteId = row?.inspectRouteId || ids.value[0]
const res = await getDmsBaseInspectRoute(_inspectRouteId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改点巡检线路信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsBaseInspectRouteFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.inspectRouteId) {
await updateDmsBaseInspectRoute(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsBaseInspectRoute(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsBaseInspectRouteVO) => {
const _inspectRouteIds = row?.inspectRouteId || ids.value;
await proxy?.$modal.confirm('是否确认删除点巡检线路信息编号为"' + _inspectRouteIds + '"的数据项?').finally(() => loading.value = false);
await delDmsBaseInspectRoute(_inspectRouteIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsBaseInspectRoute/export', {
...queryParams.value
}, `dmsBaseInspectRoute_${new Date().getTime()}.xlsx`)
}
let deviceTypeOptions = ref([])
const getDeviceTypeOptions = async () => {
const res = await getBaseDeviceTypeListInDMS(null);
deviceTypeOptions.value = res.data;
}
onMounted(() => {
getDeviceTypeOptions();
getList();
});
</script>

@ -0,0 +1,319 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="inspectStandardId">
<el-input v-model="queryParams.inspectStandardId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="标准编号" prop="standardCode">
<el-input v-model="queryParams.standardCode" placeholder="请输入标准编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="标准名称" prop="standardName">
<el-input v-model="queryParams.standardName" placeholder="请输入标准名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="巡检目的" prop="inspectObjective">
<el-input v-model="queryParams.inspectObjective" placeholder="请输入巡检目的" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="巡检项目" prop="inspectProjectId">
<el-input v-model="queryParams.inspectProjectId" placeholder="请输入巡检项目" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="检查项总数" prop="inspectItemCount">
<el-input v-model="queryParams.inspectItemCount" placeholder="请输入检查项总数" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="激活标识" prop="activeFlag">
<el-select v-model="queryParams.activeFlag" placeholder="请选择激活标识" clearable >
<el-option v-for="dict in active_flag" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsBaseInspectStandard:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsBaseInspectStandard:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsBaseInspectStandard:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsBaseInspectStandard:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsBaseInspectStandardList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="inspectStandardId" v-if="columns[0].visible"/>
<el-table-column label="标准编号" align="center" prop="standardCode" v-if="columns[2].visible"/>
<el-table-column label="标准名称" align="center" prop="standardName" v-if="columns[3].visible"/>
<el-table-column label="巡检目的" align="center" prop="inspectObjective" v-if="columns[4].visible"/>
<el-table-column label="巡检项目编号" align="center" prop="inspectProjectCode" v-if="columns[5].visible"/>
<el-table-column label="检查项总数" align="center" prop="inspectItemCount" v-if="columns[6].visible"/>
<el-table-column label="激活标识" align="center" prop="activeFlag" v-if="columns[7].visible">
<template #default="scope">
<dict-tag :options="active_flag" :value="scope.row.activeFlag"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[8].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsBaseInspectStandard:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsBaseInspectStandard:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改点巡检标准信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsBaseInspectStandardFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="主键标识" prop="inspectStandardId">
<el-input v-model="form.inspectStandardId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="标准编号" prop="standardCode">
<el-input v-model="form.standardCode" placeholder="请输入标准编号" />
</el-form-item>
<el-form-item label="标准名称" prop="standardName">
<el-input v-model="form.standardName" placeholder="请输入标准名称" />
</el-form-item>
<el-form-item label="巡检目的" prop="inspectObjective">
<el-input v-model="form.inspectObjective" placeholder="请输入巡检目的" />
</el-form-item>
<el-form-item label="巡检项目编号" prop="inspectProjectId">
<!-- <el-input v-model="form.inspectProjectId" placeholder="请输入巡检项目" />-->
<el-select v-model="form.inspectProjectId" placeholder="请选择巡检项目" clearable >
<el-option v-for="item in inspectProjectOption" :key="item.inspectProjectId" :label="item.inspectProjectCode" :value="item.inspectProjectId"/>
</el-select>
</el-form-item>
<el-form-item label="检查项总数" prop="inspectItemCount">
<el-input-number v-model="form.inspectItemCount" :min="0" />
</el-form-item>
<el-form-item label="激活标识" prop="activeFlag">
<el-radio-group v-model="form.activeFlag">
<el-radio
v-for="dict in active_flag"
:key="dict.value"
:value="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsBaseInspectStandard" lang="ts">
import { listDmsBaseInspectStandard, getDmsBaseInspectStandard, delDmsBaseInspectStandard, addDmsBaseInspectStandard, updateDmsBaseInspectStandard } from '@/api/dms/dmsBaseInspectStandard';
import { DmsBaseInspectStandardVO, DmsBaseInspectStandardQuery, DmsBaseInspectStandardForm } from '@/api/dms/dmsBaseInspectStandard/types';
import {getDmsBaseInspectProjectList} from "@/api/dms/dmsBaseInspectProject";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const dmsBaseInspectStandardList = ref<DmsBaseInspectStandardVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsBaseInspectStandardFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `标准编号`, visible: true },
{ key: 3, label: `标准名称`, visible: true },
{ key: 4, label: `巡检目的`, visible: true },
{ key: 5, label: `巡检项目`, visible: true },
{ key: 6, label: `检查项总数`, visible: true },
{ key: 7, label: `激活标识`, visible: true },
{ key: 8, label: `备注`, visible: true },
{ key: 9, label: `创建部门`, visible: false },
{ key: 10, label: `创建人`, visible: false },
{ key: 11, label: `创建时间`, visible: false },
{ key: 12, label: `更新人`, visible: false },
{ key: 13, label: `更新时间`, visible: false },
]);
const initFormData: DmsBaseInspectStandardForm = {
inspectStandardId: undefined,
standardCode: undefined,
standardName: undefined,
inspectObjective: undefined,
inspectProjectId: undefined,
inspectItemCount: undefined,
activeFlag: '1',
remark: undefined,
inspectProjectCode: undefined,
}
const data = reactive<PageData<DmsBaseInspectStandardForm, DmsBaseInspectStandardQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
inspectStandardId: undefined,
standardCode: undefined,
standardName: undefined,
inspectObjective: undefined,
inspectProjectId: undefined,
inspectItemCount: undefined,
activeFlag: undefined,
inspectProjectCode: undefined,
params: {
}
},
rules: {
standardCode: [
{ required: true, message: "标准编号不能为空", trigger: "blur" }
],
standardName: [
{ required: true, message: "标准名称不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标识不能为空", trigger: "change" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询点巡检标准信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsBaseInspectStandard(queryParams.value);
dmsBaseInspectStandardList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsBaseInspectStandardFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsBaseInspectStandardVO[]) => {
ids.value = selection.map(item => item.inspectStandardId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加点巡检标准信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsBaseInspectStandardVO) => {
reset();
const _inspectStandardId = row?.inspectStandardId || ids.value[0]
const res = await getDmsBaseInspectStandard(_inspectStandardId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改点巡检标准信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsBaseInspectStandardFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.inspectStandardId) {
await updateDmsBaseInspectStandard(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsBaseInspectStandard(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsBaseInspectStandardVO) => {
const _inspectStandardIds = row?.inspectStandardId || ids.value;
await proxy?.$modal.confirm('是否确认删除点巡检标准信息编号为"' + _inspectStandardIds + '"的数据项?').finally(() => loading.value = false);
await delDmsBaseInspectStandard(_inspectStandardIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsBaseInspectStandard/export', {
...queryParams.value
}, `dmsBaseInspectStandard_${new Date().getTime()}.xlsx`)
}
//
let inspectProjectOption = ref([]);
const getInspectProject = async () => {
const res = await getDmsBaseInspectProjectList(null);
inspectProjectOption.value = res.data;
}
onMounted(() => {
getInspectProject();
getList();
});
</script>

@ -0,0 +1,326 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="shutReasonId">
<el-input v-model="queryParams.shutReasonId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="原因编号" prop="reasonCode">
<el-input v-model="queryParams.reasonCode" placeholder="请输入原因编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="停机原因" prop="shutReason">
<el-input v-model="queryParams.shutReason" placeholder="请输入停机原因" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<el-input v-model="queryParams.machineId" placeholder="请输入设备" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机类型" prop="shutTypeId">
<el-input v-model="queryParams.shutTypeId" placeholder="请输入停机类型" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="激活标识" prop="activeFlag">
<el-select v-model="queryParams.activeFlag" placeholder="请选择激活标识" clearable >
<el-option v-for="dict in active_flag" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsBaseShutReason:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsBaseShutReason:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsBaseShutReason:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsBaseShutReason:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsBaseShutReasonList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="shutReasonId" v-if="columns[0].visible"/>
<el-table-column label="原因编号" align="center" prop="reasonCode" v-if="columns[1].visible"/>
<el-table-column label="停机原因" align="center" prop="shutReason" v-if="columns[2].visible"/>
<el-table-column label="设备" align="center" prop="machineName" v-if="columns[3].visible"/>
<el-table-column label="停机类型" align="center" prop="shutTypeId" v-if="columns[4].visible"/>
<el-table-column label="激活标识" align="center" prop="activeFlag" v-if="columns[5].visible">
<template #default="scope">
<dict-tag :options="active_flag" :value="scope.row.activeFlag"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[6].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsBaseShutReason:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsBaseShutReason:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改停机原因信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsBaseShutReasonFormRef" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="主键标识" prop="shutReasonId">
<el-input v-model="form.shutReasonId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="原因编号" prop="reasonCode">
<el-input v-model="form.reasonCode" placeholder="请输入原因编号" />
</el-form-item>
<el-form-item label="停机原因" prop="shutReason">
<el-input v-model="form.shutReason" placeholder="请输入停机原因" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<!-- <el-input v-model="form.machineId" placeholder="请输入设备" />-->
<el-select v-model="form.machineId" placeholder="请选择设备" clearable >
<el-option v-for="item in machineOtions"
:key="item.machineId"
:label="item.machineName"
:value="item.machineId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="停机类型" prop="shutTypeId">
<!-- <el-input v-model="form.shutTypeId" placeholder="请输入停机类型" />-->
<el-select v-model="form.shutTypeId" placeholder="请选择停机类型" clearable >
<el-option v-for="item in shutTypeOtions"
:key="item.shutTypeId"
:label="item.shutTypeName"
:value="item.shutTypeId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="激活标识" prop="activeFlag">
<el-radio-group v-model="form.activeFlag">
<el-radio
v-for="dict in active_flag"
:key="dict.value"
:value="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsBaseShutReason" lang="ts">
import { listDmsBaseShutReason, getDmsBaseShutReason, delDmsBaseShutReason, addDmsBaseShutReason, updateDmsBaseShutReason } from '@/api/dms/dmsBaseShutReason';
import { DmsBaseShutReasonVO, DmsBaseShutReasonQuery, DmsBaseShutReasonForm } from '@/api/dms/dmsBaseShutReason/types';
import {getDmsBaseMachineInfoList} from "@/api/dms/dmsBaseMachineInfo";
import {getDmsBaseShutTypeList} from "@/api/dms/dmsBaseShutType";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const dmsBaseShutReasonList = ref<DmsBaseShutReasonVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsBaseShutReasonFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `原因编号`, visible: true },
{ key: 2, label: `停机原因`, visible: true },
{ key: 3, label: `设备`, visible: true },
{ key: 4, label: `停机类型`, visible: true },
{ key: 5, label: `激活标识`, visible: true },
{ key: 6, label: `备注`, visible: true },
{ key: 7, label: `创建部门`, visible: false },
{ key: 8, label: `创建人`, visible: false },
{ key: 9, label: `创建时间`, visible: false },
{ key: 10, label: `更新人`, visible: false },
{ key: 11, label: `更新时间`, visible: false },
]);
const initFormData: DmsBaseShutReasonForm = {
shutReasonId: undefined,
reasonCode: undefined,
shutReason: undefined,
machineId: undefined,
shutTypeId: undefined,
activeFlag: '1',
remark: undefined,
}
const data = reactive<PageData<DmsBaseShutReasonForm, DmsBaseShutReasonQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
shutReasonId: undefined,
reasonCode: undefined,
shutReason: undefined,
machineId: undefined,
shutTypeId: undefined,
activeFlag: undefined,
params: {
}
},
rules: {
reasonCode: [
{ required: true, message: "原因编号不能为空", trigger: "blur" }
],
machineId: [
{ required: true, message: "设备不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标识不能为空", trigger: "change" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询停机原因信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsBaseShutReason(queryParams.value);
dmsBaseShutReasonList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsBaseShutReasonFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsBaseShutReasonVO[]) => {
ids.value = selection.map(item => item.shutReasonId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加停机原因信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsBaseShutReasonVO) => {
reset();
const _shutReasonId = row?.shutReasonId || ids.value[0]
const res = await getDmsBaseShutReason(_shutReasonId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改停机原因信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsBaseShutReasonFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.shutReasonId) {
await updateDmsBaseShutReason(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsBaseShutReason(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsBaseShutReasonVO) => {
const _shutReasonIds = row?.shutReasonId || ids.value;
await proxy?.$modal.confirm('是否确认删除停机原因信息编号为"' + _shutReasonIds + '"的数据项?').finally(() => loading.value = false);
await delDmsBaseShutReason(_shutReasonIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsBaseShutReason/export', {
...queryParams.value
}, `dmsBaseShutReason_${new Date().getTime()}.xlsx`)
}
//
let machineOtions = ref([]);
const getMachineOtions = async () => {
const res = await getDmsBaseMachineInfoList(null);
machineOtions.value = res.data;
}
//
let shutTypeOtions = ref([]);
const getShutTypeOtions = async () => {
const res = await getDmsBaseShutTypeList(null);
shutTypeOtions.value = res.data;
}
onMounted(() => {
getMachineOtions();
getShutTypeOtions();
getList();
});
</script>

@ -0,0 +1,276 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="shutTypeId">
<el-input v-model="queryParams.shutTypeId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="停机类型编号" prop="shutTypeCode" label-width="100px">
<el-input v-model="queryParams.shutTypeCode" placeholder="请输入停机类型编号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机类型名称" prop="shutTypeName" label-width="100px">
<el-input v-model="queryParams.shutTypeName" placeholder="请输入停机类型名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="激活标识" prop="activeFlag">
<el-select v-model="queryParams.activeFlag" placeholder="请选择激活标识" clearable >
<el-option v-for="dict in active_flag" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsBaseShutType:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsBaseShutType:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsBaseShutType:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsBaseShutType:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsBaseShutTypeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="shutTypeId" v-if="columns[0].visible"/>
<el-table-column label="停机类型编号" align="center" prop="shutTypeCode" v-if="columns[2].visible"/>
<el-table-column label="停机类型名称" align="center" prop="shutTypeName" v-if="columns[3].visible"/>
<el-table-column label="激活标识" align="center" prop="activeFlag" v-if="columns[4].visible">
<template #default="scope">
<dict-tag :options="active_flag" :value="scope.row.activeFlag"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[5].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsBaseShutType:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsBaseShutType:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改停机类型信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsBaseShutTypeFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="主键标识" prop="shutTypeId">
<el-input v-model="form.shutTypeId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="停机类型编号" prop="shutTypeCode">
<el-input v-model="form.shutTypeCode" placeholder="请输入停机类型编号" />
</el-form-item>
<el-form-item label="停机类型名称" prop="shutTypeName">
<el-input v-model="form.shutTypeName" placeholder="请输入停机类型名称" />
</el-form-item>
<el-form-item label="激活标识" prop="activeFlag">
<el-radio-group v-model="form.activeFlag">
<el-radio
v-for="dict in active_flag"
:key="dict.value"
:value="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsBaseShutType" lang="ts">
import { listDmsBaseShutType, getDmsBaseShutType, delDmsBaseShutType, addDmsBaseShutType, updateDmsBaseShutType } from '@/api/dms/dmsBaseShutType';
import { DmsBaseShutTypeVO, DmsBaseShutTypeQuery, DmsBaseShutTypeForm } from '@/api/dms/dmsBaseShutType/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const dmsBaseShutTypeList = ref<DmsBaseShutTypeVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsBaseShutTypeFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `停机类型编号`, visible: true },
{ key: 3, label: `停机类型名称`, visible: true },
{ key: 4, label: `激活标识`, visible: true },
{ key: 5, label: `备注`, visible: true },
{ key: 6, label: `创建部门`, visible: false },
{ key: 7, label: `创建人`, visible: false },
{ key: 8, label: `创建时间`, visible: false },
{ key: 9, label: `更新人`, visible: false },
{ key: 10, label: `更新时间`, visible: false },
]);
const initFormData: DmsBaseShutTypeForm = {
shutTypeId: undefined,
shutTypeCode: undefined,
shutTypeName: undefined,
activeFlag: '1',
remark: undefined,
}
const data = reactive<PageData<DmsBaseShutTypeForm, DmsBaseShutTypeQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
shutTypeId: undefined,
shutTypeCode: undefined,
shutTypeName: undefined,
activeFlag: undefined,
params: {
}
},
rules: {
shutTypeCode: [
{ required: true, message: "停机类型编号不能为空", trigger: "blur" }
],
shutTypeName: [
{ required: true, message: "停机类型名称不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标识不能为空", trigger: "change" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询停机类型信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsBaseShutType(queryParams.value);
dmsBaseShutTypeList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsBaseShutTypeFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsBaseShutTypeVO[]) => {
ids.value = selection.map(item => item.shutTypeId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加停机类型信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsBaseShutTypeVO) => {
reset();
const _shutTypeId = row?.shutTypeId || ids.value[0]
const res = await getDmsBaseShutType(_shutTypeId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改停机类型信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsBaseShutTypeFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.shutTypeId) {
await updateDmsBaseShutType(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsBaseShutType(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsBaseShutTypeVO) => {
const _shutTypeIds = row?.shutTypeId || ids.value;
await proxy?.$modal.confirm('是否确认删除停机类型信息编号为"' + _shutTypeIds + '"的数据项?').finally(() => loading.value = false);
await delDmsBaseShutType(_shutTypeIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsBaseShutType/export', {
...queryParams.value
}, `dmsBaseShutType_${new Date().getTime()}.xlsx`)
}
onMounted(() => {
getList();
});
</script>

@ -0,0 +1,241 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="点巡检项目ID" prop="inspectProjectId">
<el-input v-model="queryParams.inspectProjectId" placeholder="请输入点巡检项目ID" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<!-- <el-form-item label="关联类型(1设备类型)" prop="targetType">
<el-select v-model="queryParams.targetType" placeholder="请选择关联类型(1设备类型)" clearable >
<el-option v-for="dict in ${dictType}" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="关联类型的主键" prop="targetId">
<el-input v-model="queryParams.targetId" placeholder="请输入关联类型的主键" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsInspectProjectDevice:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsInspectProjectDevice:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsInspectProjectDevice:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsInspectProjectDevice:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsInspectProjectDeviceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="点巡检项目ID" align="center" prop="inspectProjectId" v-if="columns[0].visible"/>
<el-table-column label="关联类型(1设备类型)" align="center" prop="targetType" v-if="columns[2].visible"/>
<el-table-column label="关联类型的主键" align="center" prop="targetId" v-if="columns[3].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsInspectProjectDevice:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsInspectProjectDevice:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改点巡检项目关联物料信息对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsInspectProjectDeviceFormRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="点巡检项目ID" prop="inspectProjectId">
<el-input v-model="form.inspectProjectId" placeholder="请输入点巡检项目ID" />
</el-form-item>
<el-form-item label="关联类型(1设备类型)" prop="targetType">
<el-select v-model="form.targetType" placeholder="请选择关联类型(1设备类型)">
<el-option
v-for="dict in ${dictType}"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="关联类型的主键" prop="targetId">
<el-input v-model="form.targetId" placeholder="请输入关联类型的主键" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsInspectProjectDevice" lang="ts">
import { listDmsInspectProjectDevice, getDmsInspectProjectDevice, delDmsInspectProjectDevice, addDmsInspectProjectDevice, updateDmsInspectProjectDevice } from '@/api/dms/dmsInspectProjectDevice';
import { DmsInspectProjectDeviceVO, DmsInspectProjectDeviceQuery, DmsInspectProjectDeviceForm } from '@/api/dms/dmsInspectProjectDevice/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const dmsInspectProjectDeviceList = ref<DmsInspectProjectDeviceVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsInspectProjectDeviceFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `点巡检项目ID`, visible: true },
{ key: 1, label: `租户编号`, visible: true },
{ key: 2, label: `关联类型(1设备类型)`, visible: true },
{ key: 3, label: `关联类型的主键`, visible: true },
]);
const initFormData: DmsInspectProjectDeviceForm = {
inspectProjectId: undefined,
targetType: undefined,
targetId: undefined
}
const data = reactive<PageData<DmsInspectProjectDeviceForm, DmsInspectProjectDeviceQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
inspectProjectId: undefined,
targetType: undefined,
targetId: undefined,
params: {
}
},
rules: {
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询点巡检项目关联物料信息列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsInspectProjectDevice(queryParams.value);
dmsInspectProjectDeviceList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsInspectProjectDeviceFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsInspectProjectDeviceVO[]) => {
ids.value = selection.map(item => item.inspectProjectId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加点巡检项目关联物料信息";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsInspectProjectDeviceVO) => {
reset();
const _inspectProjectId = row?.inspectProjectId || ids.value[0]
const res = await getDmsInspectProjectDevice(_inspectProjectId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改点巡检项目关联物料信息";
}
/** 提交按钮 */
const submitForm = () => {
dmsInspectProjectDeviceFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.inspectProjectId) {
await updateDmsInspectProjectDevice(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsInspectProjectDevice(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsInspectProjectDeviceVO) => {
const _inspectProjectIds = row?.inspectProjectId || ids.value;
await proxy?.$modal.confirm('是否确认删除点巡检项目关联物料信息编号为"' + _inspectProjectIds + '"的数据项?').finally(() => loading.value = false);
await delDmsInspectProjectDevice(_inspectProjectIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsInspectProjectDevice/export', {
...queryParams.value
}, `dmsInspectProjectDevice_${new Date().getTime()}.xlsx`)
}
onMounted(() => {
getList();
});
</script>

@ -0,0 +1,301 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识" prop="routeDetailId">
<el-input v-model="queryParams.routeDetailId" placeholder="请输入主键标识" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="线路" prop="inspectRouteId">
<el-input v-model="queryParams.inspectRouteId" placeholder="请输入线路" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="巡检步骤" prop="lineStep">
<el-input v-model="queryParams.lineStep" placeholder="请输入巡检步骤" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<el-input v-model="queryParams.machineId" placeholder="请输入设备" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<!-- <el-form-item label="巡检标准;预留,不需要关联巡检标准,一条巡检线路的巡检标准都相同" prop="inspectStandard">
<el-input v-model="queryParams.inspectStandard" placeholder="请输入巡检标准;预留,不需要关联巡检标准,一条巡检线路的巡检标准都相同" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsInspectRouteDetail:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsInspectRouteDetail:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsInspectRouteDetail:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsInspectRouteDetail:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsInspectRouteDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="routeDetailId" v-if="columns[0].visible"/>
<el-table-column label="线路" align="center" prop="inspectRouteId" v-if="columns[2].visible"/>
<el-table-column label="巡检步骤" align="center" prop="lineStep" v-if="columns[3].visible"/>
<el-table-column label="设备" align="center" prop="machineName" v-if="columns[4].visible"/>
<el-table-column label="巡检标准" align="center" prop="inspectStandard" v-if="columns[5].visible"/>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[6].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsInspectRouteDetail:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsInspectRouteDetail:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改点巡检线路明细对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsInspectRouteDetailFormRef" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="主键标识" prop="routeDetailId">
<el-input v-model="form.routeDetailId" placeholder="请输入主键标识" />
</el-form-item>-->
<el-form-item label="线路" prop="inspectRouteId">
<el-input v-model="form.inspectRouteId" placeholder="请输入线路" />
</el-form-item>
<el-form-item label="巡检步骤" prop="lineStep">
<el-input v-model="form.lineStep" placeholder="请输入巡检步骤" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<!-- <el-input v-model="form.machineId" placeholder="请输入设备" />-->
<el-select v-model="form.machineId" placeholder="请选择设备" clearable >
<el-option v-for="item in machineOtions"
:key="item.machineId"
:label="item.machineName"
:value="item.machineId">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="巡检标准;预留,不需要关联巡检标准,一条巡检线路的巡检标准都相同" prop="inspectStandard">
<el-input v-model="form.inspectStandard" placeholder="请输入巡检标准;预留,不需要关联巡检标准,一条巡检线路的巡检标准都相同" />
</el-form-item>-->
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsInspectRouteDetail" lang="ts">
import { listDmsInspectRouteDetail, getDmsInspectRouteDetail, delDmsInspectRouteDetail, addDmsInspectRouteDetail, updateDmsInspectRouteDetail } from '@/api/dms/dmsInspectRouteDetail';
import { DmsInspectRouteDetailVO, DmsInspectRouteDetailQuery, DmsInspectRouteDetailForm } from '@/api/dms/dmsInspectRouteDetail/types';
import {getDmsBaseMachineInfoList} from "@/api/dms/dmsBaseMachineInfo";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const dmsInspectRouteDetailList = ref<DmsInspectRouteDetailVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsInspectRouteDetailFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `线路`, visible: true },
{ key: 3, label: `巡检步骤`, visible: true },
{ key: 4, label: `设备`, visible: true },
{ key: 5, label: `巡检标准`, visible: false },
{ key: 6, label: `备注`, visible: true },
{ key: 7, label: `创建部门`, visible: false },
{ key: 8, label: `创建人`, visible: false },
{ key: 9, label: `创建时间`, visible: false },
{ key: 10, label: `更新人`, visible: false },
{ key: 11, label: `更新时间`, visible: false },
]);
const initFormData: DmsInspectRouteDetailForm = {
routeDetailId: undefined,
inspectRouteId: undefined,
lineStep: undefined,
machineId: undefined,
inspectStandard: undefined,
remark: undefined,
routeName: undefined,
machineName: undefined,
}
const data = reactive<PageData<DmsInspectRouteDetailForm, DmsInspectRouteDetailQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
routeDetailId: undefined,
inspectRouteId: undefined,
lineStep: undefined,
machineId: undefined,
inspectStandard: undefined,
routeName: undefined,
machineName: undefined,
params: {
}
},
rules: {
routeDetailId: [
{ required: true, message: "主键标识不能为空", trigger: "blur" }
],
inspectRouteId: [
{ required: true, message: "线路不能为空", trigger: "blur" }
],
/* lineStep: [
{ required: true, message: "巡检步骤不能为空", trigger: "blur" }
],*/
machineId: [
{ required: true, message: "设备不能为空", trigger: "blur" }
],
/* inspectStandard: [
{ required: true, message: "巡检标准;预留,不需要关联巡检标准,一条巡检线路的巡检标准都相同不能为空", trigger: "blur" }
],*/
/* remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],*/
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询点巡检线路明细列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsInspectRouteDetail(queryParams.value);
dmsInspectRouteDetailList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
dmsInspectRouteDetailFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsInspectRouteDetailVO[]) => {
ids.value = selection.map(item => item.routeDetailId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加点巡检线路明细";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsInspectRouteDetailVO) => {
reset();
const _routeDetailId = row?.routeDetailId || ids.value[0]
const res = await getDmsInspectRouteDetail(_routeDetailId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改点巡检线路明细";
}
/** 提交按钮 */
const submitForm = () => {
dmsInspectRouteDetailFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.routeDetailId) {
await updateDmsInspectRouteDetail(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsInspectRouteDetail(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsInspectRouteDetailVO) => {
const _routeDetailIds = row?.routeDetailId || ids.value;
await proxy?.$modal.confirm('是否确认删除点巡检线路明细编号为"' + _routeDetailIds + '"的数据项?').finally(() => loading.value = false);
await delDmsInspectRouteDetail(_routeDetailIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsInspectRouteDetail/export', {
...queryParams.value
}, `dmsInspectRouteDetail_${new Date().getTime()}.xlsx`)
}
//
let machineOtions = ref([]);
const getMachineOtions = async () => {
const res = await getDmsBaseMachineInfoList(null);
machineOtions.value = res.data;
}
onMounted(() => {
getMachineOtions();
getList();
});
</script>

@ -0,0 +1,422 @@
<template>
<div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="主键标识;scada上报的记录" prop="recordShutDownId">
<el-input v-model="queryParams.recordShutDownId" placeholder="请输入主键标识;scada上报的记录" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="设备" prop="machineId">
<el-input v-model="queryParams.machineId" placeholder="请输入设备" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机类型" prop="shutTypeId">
<el-input v-model="queryParams.shutTypeId" placeholder="请输入停机类型" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机原因" prop="shutReasonId">
<el-input v-model="queryParams.shutReasonId" placeholder="请输入停机原因" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="停机开始时间" prop="shutBeginTime" label-width="100px">
<el-date-picker clearable
v-model="queryParams.shutBeginTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择停机开始时间"
/>
</el-form-item>
<el-form-item label="停机结束时间" prop="shutEndTime" label-width="100px">
<el-date-picker clearable
v-model="queryParams.shutEndTime"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择停机结束时间"
/>
</el-form-item>
<!-- <el-form-item label="停机时长(毫秒)" prop="shutTime">
<el-input v-model="queryParams.shutTime" placeholder="请输入停机时长(毫秒)" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机标识" prop="downtimeFlag">
<el-input v-model="queryParams.downtimeFlag" placeholder="请输入停机标识" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="停机原因" prop="shutReason">
<el-input v-model="queryParams.shutReason" placeholder="请输入停机原因" clearable @keyup.enter="handleQuery" />
</el-form-item>-->
<el-form-item label="激活标识" prop="activeFlag">
<el-select v-model="queryParams.activeFlag" placeholder="请选择激活标识" clearable >
<el-option v-for="dict in active_flag" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</transition>
<el-card shadow="never">
<template #header>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsRecordShutDown:add']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsRecordShutDown:edit']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['dms:dmsRecordShutDown:remove']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['dms:dmsRecordShutDown:export']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" :data="dmsRecordShutDownList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键标识" align="center" prop="recordShutDownId" v-if="columns[0].visible"/>
<el-table-column label="设备" align="center" prop="machineName" v-if="columns[2].visible"/>
<el-table-column label="停机类型" align="center" prop="shutTypeId" v-if="columns[3].visible"/>
<el-table-column label="停机原因" align="center" prop="shutReasonId" v-if="columns[4].visible"/>
<el-table-column label="停机开始时间" align="center" prop="shutBeginTime" width="180" v-if="columns[5].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.shutBeginTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="停机结束时间" align="center" prop="shutEndTime" width="180" v-if="columns[6].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.shutEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="停机时长(毫秒)" align="center" prop="shutTime" v-if="columns[7].visible"/>
<el-table-column label="停机标识" align="center" prop="downtimeFlag" v-if="columns[8].visible"/>
<el-table-column label="停机原因" align="center" prop="shutReason" v-if="columns[9].visible"/>
<el-table-column label="激活标识" align="center" prop="activeFlag" v-if="columns[10].visible">
<template #default="scope">
<dict-tag :options="active_flag" :value="scope.row.activeFlag"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" v-if="columns[11].visible"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dms:dmsRecordShutDown:edit']"></el-button>
</el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dms:dmsRecordShutDown:remove']"></el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改停机记录对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="dmsRecordShutDownFormRef" :model="form" :rules="rules" label-width="120px">
<!-- <el-form-item label="主键标识;scada上报的记录" prop="recordShutDownId">
<el-input v-model="form.recordShutDownId" placeholder="请输入主键标识;scada上报的记录" />
</el-form-item>-->
<el-form-item label="设备" prop="machineId">
<!-- <el-input v-model="form.machineId" placeholder="请输入设备" />-->
<el-select v-model="form.machineId" placeholder="请选择设备" clearable >
<el-option v-for="item in machineOtions"
:key="item.machineId"
:label="item.machineName"
:value="item.machineId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="停机类型" prop="shutTypeId">
<el-input v-model="form.shutTypeId" placeholder="请输入停机类型" disabled />
<!-- <el-select v-model="form.shutTypeId" placeholder="请选择停机类型" clearable >
<el-option v-for="item in shutTypeOtions"
:key="item.shutTypeId"
:label="item.shutTypeName"
:value="item.shutTypeId">
</el-option>
</el-select>-->
</el-form-item>
<el-form-item label="停机原因" prop="shutReasonId">
<!-- <el-input v-model="form.shutReasonId" placeholder="请输入停机原因" />-->
<el-select v-model="form.shutReasonId" placeholder="请选择停机原因" clearable @change="handleShutReasonChange" >
<el-option v-for="item in shutReasonOtions"
:key="item.shutReasonId"
:label="item.shutReason"
:value="item.shutReasonId">
</el-option>
</el-select>
</el-form-item>
<!-- 移除原可编辑的停机原因输入框选择shutReasonId后@change="handleShutReasonChange"填入-->
<!-- <el-form-item label="停机原因" prop="shutReason">
<el-input v-model="form.shutReason" placeholder="请输入停机原因" />
</el-form-item> -->
<el-form-item label="停机开始时间" prop="shutBeginTime">
<el-date-picker clearable
v-model="form.shutBeginTime"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择停机开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="停机结束时间" prop="shutEndTime">
<el-date-picker clearable
v-model="form.shutEndTime"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择停机结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="停机时长(毫秒)" prop="shutTime">
<el-input v-model="form.shutTime" placeholder="请输入停机时长(毫秒)" />
</el-form-item>
<el-form-item label="停机标识" prop="downtimeFlag">
<el-input v-model="form.downtimeFlag" placeholder="请输入停机标识" />
</el-form-item>
<el-form-item label="激活标识" prop="activeFlag">
<el-radio-group v-model="form.activeFlag">
<el-radio
v-for="dict in active_flag"
:key="dict.value"
:value="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="DmsRecordShutDown" lang="ts">
import { listDmsRecordShutDown, getDmsRecordShutDown, delDmsRecordShutDown, addDmsRecordShutDown, updateDmsRecordShutDown } from '@/api/dms/dmsRecordShutDown';
import { DmsRecordShutDownVO, DmsRecordShutDownQuery, DmsRecordShutDownForm } from '@/api/dms/dmsRecordShutDown/types';
import {getDmsBaseMachineInfoList} from "@/api/dms/dmsBaseMachineInfo";
import {getDmsBaseShutTypeList} from "@/api/dms/dmsBaseShutType";
import {getDmsBaseShutReasonList} from "@/api/dms/dmsBaseShutReason";
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const dmsRecordShutDownList = ref<DmsRecordShutDownVO[]>([]);
const buttonLoading = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const dmsRecordShutDownFormRef = ref<ElFormInstance>();
const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `设备`, visible: true },
{ key: 3, label: `停机类型`, visible: true },
{ key: 4, label: `停机原因id`, visible: false },
{ key: 5, label: `停机开始时间`, visible: true },
{ key: 6, label: `停机结束时间`, visible: true },
{ key: 7, label: `停机时长(毫秒)`, visible: true },
{ key: 8, label: `停机标识`, visible: true },
{ key: 9, label: `停机原因`, visible: true },
{ key: 10, label: `激活标识`, visible: true },
{ key: 11, label: `备注`, visible: true },
{ key: 12, label: `创建部门`, visible: false },
{ key: 13, label: `创建人`, visible: false },
{ key: 14, label: `创建时间`, visible: false },
{ key: 15, label: `更新人`, visible: false },
{ key: 16, label: `更新时间`, visible: false },
]);
const initFormData: DmsRecordShutDownForm = {
recordShutDownId: undefined,
machineId: undefined,
shutTypeId: undefined,
shutReasonId: undefined,
shutBeginTime: undefined,
shutEndTime: undefined,
shutTime: undefined,
downtimeFlag: undefined,
shutReason: undefined,
activeFlag: '1',
remark: undefined,
machineName: undefined,
shutTypeName: undefined,
}
const data = reactive<PageData<DmsRecordShutDownForm, DmsRecordShutDownQuery>>({
form: {...initFormData},
queryParams: {
pageNum: 1,
pageSize: 10,
recordShutDownId: undefined,
machineId: undefined,
shutTypeId: undefined,
shutReasonId: undefined,
shutBeginTime: undefined,
shutEndTime: undefined,
shutTime: undefined,
downtimeFlag: undefined,
shutReason: undefined,
activeFlag: undefined,
machineName: undefined,
shutTypeName: undefined,
params: {
}
},
rules: {
machineId: [
{ required: true, message: "设备不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标识不能为空", trigger: "change" }
],
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询停机记录列表 */
const getList = async () => {
loading.value = true;
const res = await listDmsRecordShutDown(queryParams.value);
dmsRecordShutDownList.value = res.rows;
total.value = res.total;
loading.value = false;
}
/** 取消按钮 */
const cancel = () => {
reset();
dialog.visible = false;
}
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
form.value.shutReason = ''; //
form.value.shutTypeId = undefined; //
dmsRecordShutDownFormRef.value?.resetFields();
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value?.resetFields();
handleQuery();
}
/** 多选框选中数据 */
const handleSelectionChange = (selection: DmsRecordShutDownVO[]) => {
ids.value = selection.map(item => item.recordShutDownId);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
const handleAdd = () => {
reset();
dialog.visible = true;
dialog.title = "添加停机记录";
}
/** 修改按钮操作 */
const handleUpdate = async (row?: DmsRecordShutDownVO) => {
reset();
const _recordShutDownId = row?.recordShutDownId || ids.value[0]
const res = await getDmsRecordShutDown(_recordShutDownId);
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = "修改停机记录";
}
/** 提交按钮 */
const submitForm = () => {
dmsRecordShutDownFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
if (form.value.recordShutDownId) {
await updateDmsRecordShutDown(form.value).finally(() => buttonLoading.value = false);
} else {
await addDmsRecordShutDown(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
});
}
/** 删除按钮操作 */
const handleDelete = async (row?: DmsRecordShutDownVO) => {
const _recordShutDownIds = row?.recordShutDownId || ids.value;
await proxy?.$modal.confirm('是否确认删除停机记录编号为"' + _recordShutDownIds + '"的数据项?').finally(() => loading.value = false);
await delDmsRecordShutDown(_recordShutDownIds);
proxy?.$modal.msgSuccess("删除成功");
await getList();
}
/** 导出按钮操作 */
const handleExport = () => {
proxy?.download('dms/dmsRecordShutDown/export', {
...queryParams.value
}, `dmsRecordShutDown_${new Date().getTime()}.xlsx`)
}
//
let machineOtions = ref([]);
const getMachineOtions = async () => {
const res = await getDmsBaseMachineInfoList(null);
machineOtions.value = res.data;
}
//
let shutTypeOtions = ref([]);
const getShutTypeOtions = async () => {
const res = await getDmsBaseShutTypeList(null);
shutTypeOtions.value = res.data;
}
//
let shutReasonOtions = ref([]);
const getShutReasonOtions = async () => {
const res = await getDmsBaseShutReasonList(null);
shutReasonOtions.value = res.data;
}
const handleShutReasonChange = (shutReasonId: number) => {
const selectedReason = shutReasonOtions.value.find(item => item.shutReasonId === shutReasonId);
form.value.shutReason = selectedReason?.shutReason || '';
form.value.shutTypeId = selectedReason?.shutTypeId || ''; //
};
onMounted(() => {
getMachineOtions();
getShutTypeOtions();
getShutReasonOtions();
getList();
});
</script>
Loading…
Cancel
Save