diff --git a/src/api/eam/planInspection/index.ts b/src/api/eam/planInspection/index.ts
new file mode 100644
index 000000000..10b3fbf24
--- /dev/null
+++ b/src/api/eam/planInspection/index.ts
@@ -0,0 +1,91 @@
+import request from '@/config/axios'
+import {MaintenanceVO} from "@/api/eam/maintenance";
+
+export interface PlanInspectionVO {
+ id: number
+ number: string
+ name: string
+ equipmentCode: string
+ type: string
+ optionCode: string
+ cycle: string
+ startTime: Date
+ endTime: Date
+ status: string
+ approver: number
+ approveContent: string
+ approveTime: Date
+ autoExamine: string
+ autoAgree: string
+ directCreateRecord: string
+ factoryAreaCode: string
+ workshopCode: string
+ lineCode: string
+ processCode: string
+ workstationCode: string
+ departmentCode: string
+ remark: string
+ siteId: string
+ available: string
+ deletionTime: Date
+ deleterId: byte[]
+ concurrencyStamp: number
+}
+
+// 查询巡检计划列表
+export const getPlanInspectionPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/eam/plan-inspection/senior', data })
+ } else {
+ return await request.get({ url: `/eam/plan-inspection/page`, params })
+ }
+}
+
+// 查询巡检计划详情
+export const getPlanInspection = async (id: number) => {
+ return await request.get({ url: `/eam/plan-inspection/get?id=` + id })
+}
+
+// 新增巡检计划
+export const createPlanInspection = async (data: PlanInspectionVO) => {
+ return await request.post({ url: `/eam/plan-inspection/create`, data })
+}
+
+// 修改巡检计划
+export const updatePlanInspection = async (data: PlanInspectionVO) => {
+ return await request.put({ url: `/eam/plan-inspection/update`, data })
+}
+
+// 修改巡检计划-审核
+export const updateInspectionPlanAudi = async (data: PlanInspectionVO) => {
+ return await request.post({ url: `/eam/plan-inspection/updateAudi`, data })
+}
+
+// 删除巡检计划
+export const deletePlanInspection = async (id: number) => {
+ return await request.delete({ url: `/eam/plan-inspection/delete?id=` + id })
+}
+
+// 导出巡检计划 Excel
+export const exportPlanInspection = async (params) => {
+ return await request.download({ url: `/eam/plan-inspection/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/eam/plan-inspection/get-import-template' })
+}
+
+
+// 启用 / 禁用
+export const updateEnableCode = async (data: PlanInspectionVO) => {
+ return await request.post({ url: `/eam/plan-inspection/ables` , data })
+}
+
+
+// 修改计划状态
+export const updateInspectionPlan = async (data: PlanInspectionVO) => {
+ return await request.post({ url: `/eam/plan-inspection/updatePlan`, data })
+}
diff --git a/src/api/eam/planSpotCheck/index.ts b/src/api/eam/planSpotCheck/index.ts
new file mode 100644
index 000000000..9ed72a1cb
--- /dev/null
+++ b/src/api/eam/planSpotCheck/index.ts
@@ -0,0 +1,91 @@
+import request from '@/config/axios'
+import {PlanInspectionVO} from "@/api/eam/planInspection";
+
+export interface PlanSpotCheckVO {
+ id: number
+ number: string
+ name: string
+ equipmentCode: string
+ type: string
+ optionCode: string
+ cycle: string
+ startTime: Date
+ endTime: Date
+ status: string
+ approver: number
+ approveContent: string
+ approveTime: Date
+ autoExamine: string
+ autoAgree: string
+ directCreateRecord: string
+ factoryAreaCode: string
+ workshopCode: string
+ lineCode: string
+ processCode: string
+ workstationCode: string
+ departmentCode: string
+ remark: string
+ siteId: string
+ available: string
+ deletionTime: Date
+ deleterId: byte[]
+ concurrencyStamp: number
+}
+
+// 查询点检计划列表
+export const getPlanSpotCheckPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/eam/plan-spot-check/senior', data })
+ } else {
+ return await request.get({ url: `/eam/plan-spot-check/page`, params })
+ }
+}
+
+// 查询点检计划详情
+export const getPlanSpotCheck = async (id: number) => {
+ return await request.get({ url: `/eam/plan-spot-check/get?id=` + id })
+}
+
+// 新增点检计划
+export const createPlanSpotCheck = async (data: PlanSpotCheckVO) => {
+ return await request.post({ url: `/eam/plan-spot-check/create`, data })
+}
+
+// 修改点检计划
+export const updatePlanSpotCheck = async (data: PlanSpotCheckVO) => {
+ return await request.put({ url: `/eam/plan-spot-check/update`, data })
+}
+
+// 修改巡检计划-审核
+export const updateSpotCheckPlanAudi = async (data: PlanSpotCheckVO) => {
+ return await request.post({ url: `/eam/plan-spot-check/updateAudi`, data })
+}
+
+// 删除点检计划
+export const deletePlanSpotCheck = async (id: number) => {
+ return await request.delete({ url: `/eam/plan-spot-check/delete?id=` + id })
+}
+
+// 导出点检计划 Excel
+export const exportPlanSpotCheck = async (params) => {
+ return await request.download({ url: `/eam/plan-spot-check/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/eam/plan-spot-check/get-import-template' })
+}
+
+
+// 启用 / 禁用
+export const updateEnableCode = async (data: PlanSpotCheckVO) => {
+ return await request.post({ url: `/eam/plan-spot-check/ables` , data })
+}
+
+
+// 修改计划状态
+export const updateSpotCheckPlan = async (data: PlanSpotCheckVO) => {
+ return await request.post({ url: `/eam/plan-spot-check/updatePlan`, data })
+}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 3b08a2073..8a459e4bd 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -354,6 +354,8 @@ export enum DICT_TYPE {
REPAIR_LEVEL = 'repair_level', //维修级别
IS_COMPLETED = 'is_completed', //是否完成
MAINTENANCE_CYCLE ='maintenance_cycle', // 保养周期
+ INSPECTION_CYCLE ='inspection_cycle', // 巡检周期
+ SPOTCHECK_CYCLE ='spotcheck_cycle', // 巡检周期
EAM_ORDER_STATUS = 'eam_order_status',// 工单状态
TOOL_CLASS = 'tool_class', //工装类型
TOOL_OUT_TYPE = 'tool_out_type', //工装出库类型
diff --git a/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts b/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts
index 3bfc01c37..8a972074b 100644
--- a/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts
+++ b/src/views/eam/basicSpotCheckOption/basicSpotCheckOption.data.ts
@@ -2,7 +2,6 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter } from '@/utils/formatTime'
import * as ItemApi from "@/api/eam/spotCheckSelectSet";
import {BasicSpotCheckSelectSet} from "@/views/eam/spotCheckSelectSet/spotCheckSelectSet.data";
-import {getBasicSpotCheckSelectSetPage} from "@/api/eam/spotCheckSelectSet";
// 表单校验
export const BasicSpotCheckOptionRules = reactive({
diff --git a/src/views/eam/maintenance/audiForm.vue b/src/views/eam/maintenance/audiForm.vue
index fa8044e86..a20daf67c 100644
--- a/src/views/eam/maintenance/audiForm.vue
+++ b/src/views/eam/maintenance/audiForm.vue
@@ -95,8 +95,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */
const submitForm = async (val) => {
- //把success函数传递到父页面
- emit('success',formData.value.id)
+
// 校验表单
if (!basicFormRef) return
const valid = await basicFormRef.value.validate()
@@ -104,6 +103,9 @@ const submitForm = async (val) => {
//发送数据
await MaintenanceApi.updateMaintenanceAudi(formData.value)
+
+ //把success函数传递到父页面
+ emit('success',formData.value.id)
dialogVisible.value = false
}
diff --git a/src/views/eam/planInspection/audiForm.vue b/src/views/eam/planInspection/audiForm.vue
new file mode 100644
index 000000000..045e7b7d4
--- /dev/null
+++ b/src/views/eam/planInspection/audiForm.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planInspection/index.vue b/src/views/eam/planInspection/index.vue
new file mode 100644
index 000000000..5ad07790f
--- /dev/null
+++ b/src/views/eam/planInspection/index.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planInspection/planInspection.data.ts b/src/views/eam/planInspection/planInspection.data.ts
new file mode 100644
index 000000000..a9bb8ef8c
--- /dev/null
+++ b/src/views/eam/planInspection/planInspection.data.ts
@@ -0,0 +1,395 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
+import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
+import * as BasicInspectionApi from "@/api/eam/basicInspectionOption";
+import {BasicInspectionOption} from "@/views/eam/basicInspectionOption/basicInspectionOption.data";
+import {getBasicInspectionOptionPage} from "@/api/eam/basicInspectionOption";
+import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+
+// 表单校验
+export const PlanInspectionRules = reactive({
+ number: [required],
+ name: [required],
+ equipmentCode: [required],
+ optionCode: [required],
+ cycle: [required],
+ startTime: [required],
+ endTime: [required],
+})
+
+export const PlanInspection = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '计划编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isDetail:true,
+ },
+ {
+ label: '计划名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '设备工装编号',
+ field: 'equipmentCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '方案编号',
+ field: 'optionCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '巡检方案信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择巡检方案', // 输入框占位文本
+ searchAllSchemas: BasicInspectionOption.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: BasicInspectionApi.getBasicInspectionOptionPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '计划类型',
+ field: 'cycle',
+ dictType: DICT_TYPE.INSPECTION_CYCLE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '计划开始时间',
+ field: 'startTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '计划结束时间',
+ field: 'endTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ sort: 'custom',
+ isSearch: true,
+ dictType: DICT_TYPE.EAM_PLAN_STATUS,
+ dictClass: 'string',
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '自动审核',
+ field: 'autoExamine',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '所属厂区编号',
+ field: 'factoryAreaCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '车间编号',
+ field: 'workshopCode',
+ sort: 'custom',
+ isSearch: false,
+ required: true,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '车间', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类
+ searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ },
+ {
+ label: '产线编号',
+ field: 'lineCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工序编号',
+ field: 'processCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工位编号',
+ field: 'workstationCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '部门id',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '删除时间',
+ field: 'deletionTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '删除人id',
+ field: 'deleterId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/eam/planSpotCheck/audiForm.vue b/src/views/eam/planSpotCheck/audiForm.vue
new file mode 100644
index 000000000..7fbcfdcb1
--- /dev/null
+++ b/src/views/eam/planSpotCheck/audiForm.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planSpotCheck/index.vue b/src/views/eam/planSpotCheck/index.vue
new file mode 100644
index 000000000..cf19403c8
--- /dev/null
+++ b/src/views/eam/planSpotCheck/index.vue
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/planSpotCheck/planSpotCheck.data.ts b/src/views/eam/planSpotCheck/planSpotCheck.data.ts
new file mode 100644
index 000000000..26636766a
--- /dev/null
+++ b/src/views/eam/planSpotCheck/planSpotCheck.data.ts
@@ -0,0 +1,394 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
+import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
+import * as SpotCheckOptionApi from "@/api/eam/basicSpotCheckOption";
+import {BasicSpotCheckOption} from "@/views/eam/basicSpotCheckOption/basicSpotCheckOption.data";
+import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+
+// 表单校验
+export const PlanSpotCheckRules = reactive({
+ number: [required],
+ name: [required],
+ equipmentCode: [required],
+ optionCode: [required],
+ cycle: [required],
+ startTime: [required],
+ endTime: [required],
+})
+
+export const PlanSpotCheck = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '计划编号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isDetail:true,
+ },
+ {
+ label: '计划名称',
+ field: 'name',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '设备工装编号',
+ field: 'equipmentCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '设备信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择 设备编号', // 输入框占位文本
+ searchAllSchemas: EquipmentAccounts.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: EquipmentItemApi.getEquipmentAccountsPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'status',
+ value: 'NORMAL',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '方案编号',
+ field: 'optionCode',
+ sort: 'custom',
+ isSearch: true,
+ isForm: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchTitle: '点检方案信息', // 查询弹窗标题
+ searchListPlaceholder: '请选择点检方案', // 输入框占位文本
+ searchAllSchemas: BasicSpotCheckOption.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: SpotCheckOptionApi.getBasicSpotCheckOptionPage, // 查询弹窗所需分页方法
+ multiple:true,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '计划类型',
+ field: 'cycle',
+ dictType: DICT_TYPE.SPOTCHECK_CYCLE,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '计划开始时间',
+ field: 'startTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '计划结束时间',
+ field: 'endTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ sort: 'custom',
+ isSearch: true,
+ dictType: DICT_TYPE.EAM_PLAN_STATUS,
+ dictClass: 'string',
+ },
+ {
+ label: '审核人',
+ field: 'approver',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核内容',
+ field: 'approveContent',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '审核时间',
+ field: 'approveTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '自动审核',
+ field: 'autoExamine',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '所属厂区编号',
+ field: 'factoryAreaCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '车间编号',
+ field: 'workshopCode',
+ sort: 'custom',
+ isSearch: false,
+ required: true,
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '车间', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '车间信息', // 查询弹窗标题
+ searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类
+ searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ },
+ {
+ label: '产线编号',
+ field: 'lineCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工序编号',
+ field: 'processCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '工位编号',
+ field: 'workstationCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '部门id',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isTable: true,
+ isDetail: false,
+ isSearch: true,
+ isTableForm: false,
+ isForm: false,
+ },
+ {
+ label: '删除时间',
+ field: 'deletionTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '删除人id',
+ field: 'deleterId',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))