diff --git a/README.md b/README.md
index 52d41693e..871612b43 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## dev发布2024-05-23-002
+## dev发布2024-06-01-001
**xxxx.data.ts 文件配置说明**
**form表单查询弹窗配置**
form: {
diff --git a/src/api/eam/basicMaintenanceOption/index.ts b/src/api/eam/basicMaintenanceOption/index.ts
index 1fa280e6d..96cca69a3 100644
--- a/src/api/eam/basicMaintenanceOption/index.ts
+++ b/src/api/eam/basicMaintenanceOption/index.ts
@@ -1,10 +1,10 @@
import request from '@/config/axios'
-import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart";
export interface BasicMaintenanceOptionVO {
id: number
code: string
name: string
+ selectId: string
describing: string
isUpdated: boolean
type: string
@@ -34,7 +34,7 @@ export const getBasicMaintenanceOption = async (id: number) => {
}
// 新增保养方案
-export const createBasicMaintenanceOption = async (data: BasicMaintenanceOptionVO) => {
+export const createBasicMaintenanceOption = async (data) => {
return await request.post({ url: `/eam/basic-maintenance-option/create`, data })
}
diff --git a/src/api/eam/equipmentMaintenanceMain/index.ts b/src/api/eam/equipmentMaintenanceMain/index.ts
index 5bc59771d..1a0396846 100644
--- a/src/api/eam/equipmentMaintenanceMain/index.ts
+++ b/src/api/eam/equipmentMaintenanceMain/index.ts
@@ -3,27 +3,32 @@ import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart";
export interface EquipmentMaintenanceMainVO {
id: number
- number: string
describing: string
+ number: string
+ sources: string
equipmentCode: string
type: string
- classes: string
- planNumber: string
faultType: string
- cycle: string
- times: string
+ planNumber: string
+ planStartTime: Date
+ planEndTime: Date
+ startTime: Date
+ endTime: Date
+ classType: string
verifyer: number
verifyContent: string
verifyTime: Date
maintenancer: number
maintenancePhone: string
- completeResult: string
completionTime: Date
maintenanceTime: Date
status: string
+ autoOrder: string
+ autoPerform: string
+ autoVerify: string
+ directCreateRecord: string
factoryAreaCode: string
workshopCode: string
- workshopSectionCode: string
departmentCode: string
remark: string
siteId: string
@@ -49,6 +54,12 @@ export const getEquipmentMaintenanceMain = async (id: number) => {
return await request.get({ url: `/eam/equipment-maintenance-main/get?id=` + id })
}
+
+
+export const getMaintenanceOrderConfig = async () => {
+ return await request.get({ url: `/eam/equipment-maintenance-main/get-order-config`})
+}
+
// 新增设备保养工单主
export const createEquipmentMaintenanceMain = async (data: EquipmentMaintenanceMainVO) => {
return await request.post({ url: `/eam/equipment-maintenance-main/create`, data })
@@ -84,7 +95,12 @@ export const updateMaintenanceOrder = async (data: EquipmentMainPartVO) => {
return await request.post({ url: `/eam/equipment-maintenance-main/updateOrder`, data })
}
-//执行保养工单
+//完成保养工单
export const executeMaintenanceOrder = async (data: EquipmentMainPartVO) => {
return await request.post({ url: `/eam/equipment-maintenance-main/execute`, data })
}
+
+//验证不通过,打回保养工单
+export const backMaintenanceOrder = async (data: EquipmentMainPartVO) => {
+ return await request.post({ url: `/eam/equipment-maintenance-main/fallback`, data })
+}
diff --git a/src/api/eam/equipmentReportRepairRequest/index.ts b/src/api/eam/equipmentReportRepairRequest/index.ts
index f09c4d563..1eeec7e86 100644
--- a/src/api/eam/equipmentReportRepairRequest/index.ts
+++ b/src/api/eam/equipmentReportRepairRequest/index.ts
@@ -70,4 +70,14 @@ export const exportEquipmentReportRepairRequest = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/eam/equipment-report-repair-request/get-import-template' })
-}
\ No newline at end of file
+}
+
+// 修改报修工单状态
+export const updateEquipmentReportRepairOrder = async (data: EquipmentReportRepairRequestVO) => {
+ return await request.post({ url: `/eam/equipment-report-repair-request/updateOrder`, data })
+}
+
+// 完成并创建维修工单
+export const createEquipmentWeixiuOrder = async (data: EquipmentReportRepairRequestVO) => {
+ return await request.post({ url: `/eam/equipment-report-repair-request/updateCreateOrder`, data })
+}
diff --git a/src/api/eam/maintenance/index.ts b/src/api/eam/maintenance/index.ts
index e0605fa0d..dbba47884 100644
--- a/src/api/eam/maintenance/index.ts
+++ b/src/api/eam/maintenance/index.ts
@@ -1,5 +1,6 @@
import request from '@/config/axios'
import {InspectionItemSelectSetVO} from "@/api/eam/inspectionItemSelectSet";
+import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart";
export interface MaintenanceVO {
id: number
@@ -56,6 +57,11 @@ export const updateMaintenance = async (data: MaintenanceVO) => {
return await request.put({ url: `/eam/maintenance/update`, data })
}
+// 修改保养计划-审核
+export const updateMaintenanceAudi = async (data: MaintenanceVO) => {
+ return await request.post({ url: `/eam/maintenance/updateAudi`, data })
+}
+
// 删除保养计划
export const deleteMaintenance = async (id: number) => {
return await request.delete({ url: `/eam/maintenance/delete?id=` + id })
@@ -75,3 +81,8 @@ export const importTemplate = () => {
export const updateEnableCode = async (data: MaintenanceVO) => {
return await request.post({ url: `/eam/maintenance/ables` , data })
}
+
+// 修改计划状态
+export const updateMaintenancePlan = async (data: MaintenanceVO) => {
+ return await request.post({ url: `/eam/maintenance/updatePlan`, data })
+}
diff --git a/src/api/eam/relationMaintenancePlanItem/index.ts b/src/api/eam/relationMaintenancePlanItem/index.ts
new file mode 100644
index 000000000..9381fb777
--- /dev/null
+++ b/src/api/eam/relationMaintenancePlanItem/index.ts
@@ -0,0 +1,57 @@
+import request from '@/config/axios'
+
+export interface RelationMaintenancePlanItemVO {
+ id: number
+ planNumber: string
+ itemCode: string
+ itemName: string
+ isSelectd: boolean
+ departmentCode: string
+ remark: string
+ siteId: string
+ available: string
+ deletionTime: Date
+ deleterId: byte[]
+ concurrencyStamp: number
+}
+
+// 查询保养计划表和保养项关系列表
+export const getRelationMaintenancePlanItemPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/eam/relation-maintenance-plan-item/senior', data })
+ } else {
+ return await request.get({ url: `/eam/relation-maintenance-plan-item/page`, params })
+ }
+}
+
+// 查询保养计划表和保养项关系详情
+export const getRelationMaintenancePlanItem = async (id: number) => {
+ return await request.get({ url: `/eam/relation-maintenance-plan-item/get?id=` + id })
+}
+
+// 新增保养计划表和保养项关系
+export const createRelationMaintenancePlanItem = async (data: RelationMaintenancePlanItemVO) => {
+ return await request.post({ url: `/eam/relation-maintenance-plan-item/create`, data })
+}
+
+// 修改保养计划表和保养项关系
+export const updateRelationMaintenancePlanItem = async (data: RelationMaintenancePlanItemVO) => {
+ return await request.put({ url: `/eam/relation-maintenance-plan-item/update`, data })
+}
+
+// 删除保养计划表和保养项关系
+export const deleteRelationMaintenancePlanItem = async (id: number) => {
+ return await request.delete({ url: `/eam/relation-maintenance-plan-item/delete?id=` + id })
+}
+
+// 导出保养计划表和保养项关系 Excel
+export const exportRelationMaintenancePlanItem = async (params) => {
+ return await request.download({ url: `/eam/relation-maintenance-plan-item/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/eam/relation-maintenance-plan-item/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/home/index.ts b/src/api/home/index.ts
index aa8cb1388..dee170023 100644
--- a/src/api/home/index.ts
+++ b/src/api/home/index.ts
@@ -20,3 +20,40 @@ export const getProductData = async () => {
return await request.get({ url: `/wms/index/indexProduct` })
}
+// 超期库存预警
+export const getOverdueBalance = async (params) => {
+ return await request.get({ url: `/wms/index/pageOverdueBalance`,params })
+}
+
+// 呆滞库存预警
+export const getStagnantBalance = async (params) => {
+ return await request.get({ url: `/wms/index/pageStagnantBalance` ,params})
+}
+// 高低储预警
+export const getWarningBalance = async (params) => {
+ return await request.get({ url: `/wms/index/pageWarningBalance` ,params})
+}
+
+// 本月退货明细
+export const getPurchasereturnRecordMonth = async (params) => {
+ return await request.get({ url: `/wms/index/pagePurchasereturnRecordMonth`,params })
+}
+
+// 本月索赔明细
+export const getPurchaseclaimRecordMonth = async (params) => {
+ return await request.get({ url: `/wms/index/pagePurchaseclaimRecordMonth`,params })
+}
+
+// 今日生产计划
+export const getProductionToday = async (params) => {
+ return await request.get({ url: `/wms/index/pageProductionToday`,params })
+}
+
+// 线边安全库存
+export const getSafeLocation = async (params) => {
+ return await request.get({ url: `/wms/index/pageSafeLocation`,params })
+}
+// 待上架成品库存
+export const getProductputawayJobDetail = async (params) => {
+ return await request.get({ url: `/wms/index/pageProductputawayJobDetail`,params })
+}
\ No newline at end of file
diff --git a/src/api/wms/balance/index.ts b/src/api/wms/balance/index.ts
index cb17a3200..68161dc16 100644
--- a/src/api/wms/balance/index.ts
+++ b/src/api/wms/balance/index.ts
@@ -105,6 +105,11 @@ export const getBalancePageSpare = async (params) => {
}
}
+// 根据物料code 批次 和库位码查询库存余额总数
+export const getSumByConditions= async (params) => {
+ return await request.get({ url: `/wms/balance/getSumByConditions`, params })
+}
+
// 查询库存余额详情
export const getBalance = async (id: number) => {
return await request.get({ url: `/wms/balance/get?id=` + id })
diff --git a/src/api/wms/inventoryinitRecordDetail/index.ts b/src/api/wms/inventoryinitRecordDetail/index.ts
index c789ca497..fe2d27f22 100644
--- a/src/api/wms/inventoryinitRecordDetail/index.ts
+++ b/src/api/wms/inventoryinitRecordDetail/index.ts
@@ -72,4 +72,9 @@ export const exportInventoryinitRecordDetail = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/inventoryinit-record-detail/get-import-template' })
+}
+
+// 批量打印
+export const printLabelBatchByIdSelection = async (data: any) => {
+ return await request.post({ url: `/wms/inventoryinit-record-main/printLabelBatchById` ,data})
}
\ No newline at end of file
diff --git a/src/api/wms/inventorymoveRecordMain/index.ts b/src/api/wms/inventorymoveRecordMain/index.ts
index 2f351b719..18bb292e3 100644
--- a/src/api/wms/inventorymoveRecordMain/index.ts
+++ b/src/api/wms/inventorymoveRecordMain/index.ts
@@ -125,4 +125,9 @@ export const exportScrapToHoldRecordMain = async (params) => {
// 下载用户导入模板
export const importTemplate = () => {
return request.download({ url: '/wms/inventorymove-record-main/get-import-template' })
-}
\ No newline at end of file
+}
+
+// 下载用户导入模板(除库存移动外)
+export const importTemplateExceptMove = () => {
+ return request.download({ url: '/wms/inventorymove-record-main/get-import-template-exceptMove' })
+}
diff --git a/src/api/wms/location/index.ts b/src/api/wms/location/index.ts
index 4f6c6a019..3870b46d7 100644
--- a/src/api/wms/location/index.ts
+++ b/src/api/wms/location/index.ts
@@ -38,7 +38,7 @@ export const getLocationPageRepleinsh = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
- return request.post({ url: '/wms/location/senior', data })
+ return request.post({ url: '/wms/location/getForRepleinshSenior', data })
} else {
return await request.get({ url: `/wms/location/pageForRepleinsh`, params })
}
@@ -68,6 +68,17 @@ export const deleteLocation = async (id: number) => {
return await request.delete({ url: `/wms/location/delete?id=` + id })
}
+// 根据业务类型以及库区查询库位列表
+export const getLocationListByAreaAndBusinesstype = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return request.post({ url: '/wms/location/pageBusinessTypeToLocationSenior1', data })
+ } else {
+ return await request.get({ url: `/wms/location/pageBusinessTypeToLocation1`, params })
+ }
+}
+
// 导出库位 Excel
export const exportLocation = async (params) => {
if (params.isSearch) {
diff --git a/src/api/wms/qadproductionplan/index.ts b/src/api/wms/qadproductionplan/index.ts
index c25893833..5eda9dfeb 100644
--- a/src/api/wms/qadproductionplan/index.ts
+++ b/src/api/wms/qadproductionplan/index.ts
@@ -26,6 +26,17 @@ export const getQadProductionPlanMainPage = async (params) => {
return await request.get({ url: `/wms/qad-production-plan-main/page`, params })
}
}
+export const getQadProductionPlanDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/qad-production-plan-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/qad-production-plan-detail/page`, params })
+ }
+}
+
+
// 查询QAD生产计划主详情
export const getQadProductionPlanMain = async (id: number) => {
diff --git a/src/api/wms/supplierdeliverRequestMain/index.ts b/src/api/wms/supplierdeliverRequestMain/index.ts
index dddc0c3a1..b85ae51c6 100644
--- a/src/api/wms/supplierdeliverRequestMain/index.ts
+++ b/src/api/wms/supplierdeliverRequestMain/index.ts
@@ -96,6 +96,12 @@ export const genLabel = async (data:SupplierdeliverRequestMainVO) => {
return await request.post({ url: `/wms/supplierdeliver-request-main/genLabel`,data })
}
+// 校验是否修改了包装数量
+export const checkPackQty = async (data:SupplierdeliverRequestMainVO) => {
+ return await request.post({ url: `/wms/supplierdeliver-request-main/checkPackQty`,data })
+}
+
+
// 生成记录
export const genRecordsSupplierdeliverRequestMain = async (id) => {
return await request.post({ url: `/wms/supplierdeliver-request-main/genRecords?id=` + id })
diff --git a/src/api/wms/supplierinvoiceRequestMain/index.ts b/src/api/wms/supplierinvoiceRequestMain/index.ts
index 89ef00539..49298715f 100644
--- a/src/api/wms/supplierinvoiceRequestMain/index.ts
+++ b/src/api/wms/supplierinvoiceRequestMain/index.ts
@@ -97,6 +97,11 @@ export const financerejSupplierinvoiceRequestMain = async (id: number) => {
return await request.post({ url: `/wms/supplierinvoice-request-main/financeRej?id=` + id })
}
+// 作废--供应商发货申请主
+export const repealSupplierinvoiceRequestMain = async (id: number) => {
+ return await request.post({ url: `/wms/supplierinvoice-request-main/repeal?id=` + id })
+}
+
// 生成记录
export const genRecordsSupplierinvoiceRequestMain = async (id) => {
return await request.post({ url: `/wms/supplierinvoice-request-main/genRecords?id=` + id })
diff --git a/src/api/wms/unplannedissueRecordDetail/index.ts b/src/api/wms/unplannedissueRecordDetail/index.ts
index b72dd7835..9e508c4ae 100644
--- a/src/api/wms/unplannedissueRecordDetail/index.ts
+++ b/src/api/wms/unplannedissueRecordDetail/index.ts
@@ -38,6 +38,9 @@ export const getUnplannedissueRecordDetailPage = async (params) => {
'action':'==',
'value':'1'
}
+ if(!data.filters){
+ data.filters = []
+ }
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-record-detail/senior', data })
} else {
diff --git a/src/api/wms/unplannedissueRequestDetail/index.ts b/src/api/wms/unplannedissueRequestDetail/index.ts
index be5249f00..99adb86f7 100644
--- a/src/api/wms/unplannedissueRequestDetail/index.ts
+++ b/src/api/wms/unplannedissueRequestDetail/index.ts
@@ -33,6 +33,9 @@ export const getUnplannedissueRequestDetailPage = async (params) => {
'action':'==',
'value':'1'
}
+ if(!data.filters){
+ data.filters = [];
+ }
data.filters.push(dataTypeCondition)
return await request.post({ url: '/wms/unplannedissue-request-detail/senior', data })
} else {
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue
index 257250012..c34237694 100644
--- a/src/components/BasicForm/src/BasicForm.vue
+++ b/src/components/BasicForm/src/BasicForm.vue
@@ -130,6 +130,7 @@ import ButtonBase from '@/components/XButton/src/ButtonBase.vue'
import TableForm from '@/components/TableForm/src/TableForm.vue'
import TableFormCountPlan from '@/components/TableFormCountPlan/src/TableFormCountPlan.vue'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
+import { debounce } from 'lodash-es'
const props = defineProps({
// 显示窗口宽度设置
@@ -390,6 +391,13 @@ const opensearchTable = (
return
}
}else if(searchCondition[i].isTableRowValue){
+ if(searchCondition[i].required){
+ if (row[searchCondition[i].value] == '' ||row[searchCondition[i].value] == undefined) {
+ message.warning(searchCondition[i].message?searchCondition[i].message:'前置条件未选择!')
+ return
+ }
+ }
+ row[searchCondition[i].value]
//查询当前table表数据的值
_searchCondition[searchCondition[i].key] = row[searchCondition[i].value]
} else {
@@ -558,7 +566,9 @@ const buttonBaseClick = (val) => {
}
// 保存
else if (val == 'save') {
- submitForm()
+ debounce(() => {
+ submitForm()
+ }, 2000)()
}
// 关闭
else if (val == 'close') {
@@ -731,7 +741,6 @@ const clearInput = (field, row, index) => {
* @param cur 改变后值
*/
const onChange = (field, cur) => {
- console.log(2222222222222)
emit('onChange', field, cur, formRef)
}
@@ -774,7 +783,7 @@ const buttonOperationClick = (row, label, index)=> {
const inputStringBlur = (headerItem, row, index)=> {
emit("inputStringBlur", headerItem, row, index);
}
-defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handleAddTable}) // 提供 open 方法,用于打开弹窗
+defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handleAddTable,changeDialogWidth}) // 提供 open 方法,用于打开弹窗
diff --git a/src/views/eam/equipmentMaintenanceMain/DetailEam.vue b/src/views/eam/equipmentMaintenanceMain/MaintenanceOrderDetail.vue
similarity index 94%
rename from src/views/eam/equipmentMaintenanceMain/DetailEam.vue
rename to src/views/eam/equipmentMaintenanceMain/MaintenanceOrderDetail.vue
index 98d3c3939..7626c0627 100644
--- a/src/views/eam/equipmentMaintenanceMain/DetailEam.vue
+++ b/src/views/eam/equipmentMaintenanceMain/MaintenanceOrderDetail.vue
@@ -585,9 +585,11 @@ const formRef = ref()
const titleNameRef = ref()
const titleValueRef = ref()
const count =ref(0)
+const planNumber = ref();
const openDetail = async (row: any, titleName: any, titleValue: any, tableName: any) => {
titleNameRef.value = titleName
titleValueRef.value = titleValue
+ planNumber.value = row.planNumber
remarksData.data = {
tableId: row.masterId||row.id,
tableName: tableName
@@ -707,7 +709,7 @@ const isShowMainButton = (row, val) => {
const { getList } = tableMethodsRef.value
// 头部按钮事件
-const buttonBaseClick = (val, item) => {
+const buttonBaseClick = (val, item ,row) => {
if (val == 'add') {
// 新增
if(props.isOpenSearchTable){
@@ -728,6 +730,8 @@ const buttonBaseClick = (val, item) => {
undefined,undefined
)
}else{
+ console.log(planNumber.value)
+
openForm('create')
}
} else if (val == 'import') {
@@ -824,10 +828,8 @@ const buttonTableClick = async (val, row) => {
}
/** 添加/修改操作 */
const openForm = async (type: string, row?: number) => {
-
formRef.value.open(type, row, masterParmas.value)
emit('detailOpenForm', type, row)
-
if(type == "create"){
EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => {
if(item.field == 'peoples'){
@@ -854,20 +856,41 @@ const openForm = async (type: string, row?: number) => {
}
if(item.field == 'name'){
EquipmentMaintenanceDetailRules.name[0].required = true
+ item.componentProps.searchCondition = []
+ const newItem1 = {};
+ newItem1['action'] = '==';
+ newItem1['value'] = planNumber.value;
+ newItem1['key'] = 'planNumber';
+ item.componentProps.searchCondition.push(newItem1)
+ const newItem2 = {};
+ newItem2['action'] = '==';
+ newItem2['value'] = 'TRUE';
+ newItem2['key'] = 'available';
+ item.componentProps.searchCondition.push(newItem2)
+ const newItem3 = {};
+ newItem3['action'] = '==';
+ newItem3['value'] = false;
+ newItem3['key'] = 'isSelectd';
+ item.componentProps.searchCondition.push(newItem3)
}
})
}else{
- row.peoples = row.peoples.toString()
- row.estimatedMinutes = row.estimatedMinutes.toString()
- row.actualMinutes = row.actualMinutes.toString()
+ if(row.peoples !== null && row.peoples !== undefined){
+ row.peoples = row.peoples.toString()
+ }
+ if(row.estimatedMinutes !== null && row.estimatedMinutes !== undefined){
+ row.estimatedMinutes = row.estimatedMinutes.toString()
+ }
+ if(row.actualMinutes !== null && row.actualMinutes !== undefined){
+ row.actualMinutes = row.actualMinutes.toString()
+ }
EquipmentMaintenanceDetail.allSchemas.formSchema.forEach((item) => {
if(item.field == 'peoples'){
- console.log(item);
item.componentProps.disabled = false
EquipmentMaintenanceDetailRules.peoples[0].required = true
}
if(item.field == 'estimatedMinutes'){
- EquipmentMaintenanceDetailRules.estimatedMinutes[0].required = false
+ EquipmentMaintenanceDetailRules.estimatedMinutes[0].required = true
}
if(item.field == 'actualMinutes'){
item.componentProps.disabled = false
@@ -886,6 +909,22 @@ const openForm = async (type: string, row?: number) => {
}
if(item.field == 'name'){
EquipmentMaintenanceDetailRules.name[0].required = true
+ item.componentProps.searchCondition = []
+ const newItem1 = {};
+ newItem1['action'] = '==';
+ newItem1['value'] = planNumber.value;
+ newItem1['key'] = 'planNumber';
+ item.componentProps.searchCondition.push(newItem1)
+ const newItem2 = {};
+ newItem2['action'] = '==';
+ newItem2['value'] = 'TRUE';
+ newItem2['key'] = 'available';
+ item.componentProps.searchCondition.push(newItem2)
+ const newItem3 = {};
+ newItem3['action'] = '==';
+ newItem3['value'] = false;
+ newItem3['key'] = 'isSelectd';
+ item.componentProps.searchCondition.push(newItem3)
}
})
}
@@ -951,7 +990,12 @@ const handleDelete = async (id: number) => {
// 刷新列表
await getList()
updateKey.value += 1
- } catch {}
+ } catch {
+ emit('handleMainFefresh')
+ // 刷新列表
+ await getList()
+ updateKey.value += 1
+ }
}
// 筛选提交
const searchFormClick = async (searchData) => {
diff --git a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
index baa6e75c2..cd1c845de 100644
--- a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
+++ b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
@@ -4,17 +4,19 @@ import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts
import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
import * as WorkshopApi from "@/api/wms/workshop";
-import {MaintenanceItem} from "@/views/eam/maintenanceItem/maintenanceItem.data";
-import * as ItemApi from "@/api/eam/maintenanceItem";
+import {RelationMaintenancePlanItem} from "@/views/eam/maintenance/maintenance.data";
+import * as ItemApi from "@/api/eam/relationMaintenancePlanItem";
import {validateroundNumber} from "@/utils/validator";
// 表单校验
export const EquipmentMaintenanceMainRules = reactive({
number: [required],
+ sources: [required],
equipmentCode: [required],
- planNumber: [required],
+ type: [required],
+ planStartTime: [required],
+ planEndTime: [required],
status: [required],
- factoryAreaCode: [required],
})
export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
@@ -28,25 +30,26 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
isDetail:false,
},
{
- label: '保养工单编号',
- field: 'number',
+ label: '描述',
+ field: 'describing',
sort: 'custom',
+ isSearch: false,
+ isTable: false,
isForm: false,
- isSearch: true,
+ isDetail:false,
},
{
- label: '描述',
- field: 'describing',
+ label: '保养工单编号',
+ field: 'number',
sort: 'custom',
isSearch: true,
},
{
- label: '设备类别',
- field: 'type',
- dictType: DICT_TYPE.DEVICE_TYPE,
- dictClass: 'string',
+ label: '来源字典',
+ field: 'sources',
sort: 'custom',
isSearch: true,
+ isSearch: false,
},
{
label: '设备编号',
@@ -74,57 +77,99 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
}
},
{
- label: '班次枚举',
- field: 'classes',
- sort: 'custom',
- isSearch: true,
- },
- {
- label: '保养计划工单号',
- field: 'planNumber',
+ label: '设备类别',
+ field: 'type',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
sort: 'custom',
isSearch: true,
+ isSearch: false,
},
{
label: '故障类型枚举',
field: 'faultType',
sort: 'custom',
isSearch: true,
+ isSearch: false,
},
{
- label: '保养周期',
- field: 'cycle',
+ label: '保养计划工单号',
+ field: 'planNumber',
sort: 'custom',
isSearch: true,
},
{
- label: '保养次数',
- field: 'times',
+ label: '计划开始时间',
+ field: 'planStartTime',
sort: 'custom',
- isSearch: true,
+ 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: 'InputNumber',
- value: 0
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
},
},
{
- label: '验证人',
- field: 'verifyer',
+ label: '计划结束时间',
+ field: 'planEndTime',
sort: 'custom',
- isSearch: true,
+ 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: 'verifyContent',
+ label: '保养开始时间',
+ field: 'startTime',
sort: 'custom',
- isSearch: true,
+ 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: 'verifyTime',
+ label: '保养结束时间',
+ field: 'endTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -142,29 +187,36 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
},
},
{
- label: '保养人id',
- field: 'maintenancer',
+ label: '保养班组',
+ field: 'classType',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
- label: '保养人联系电话',
- field: 'maintenancePhone',
+ label: '验证人',
+ field: 'verifyer',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
- label: '结果枚举临时措施、完成',
- field: 'completeResult',
+ label: '验证内容',
+ field: 'verifyContent',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
+ form: {
+ component: 'Editor',
+ componentProps: {
+ valueHtml: '',
+ height: 200
+ }
+ },
},
{
- label: '完成时间',
- field: 'completionTime',
+ label: '验证时间',
+ field: 'verifyTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -182,11 +234,23 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
},
},
{
- label: '保养时间',
- field: 'maintenanceTime',
+ label: '保养人id',
+ field: 'maintenancer',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '保养人联系电话',
+ field: 'maintenancePhone',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '完成时间',
+ field: 'completionTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -203,6 +267,28 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
}
},
},
+ // {
+ // label: '保养时间',
+ // field: 'maintenanceTime',
+ // sort: 'custom',
+ // formatter: dateFormatter,
+ // isSearch: true,
+ // 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',
@@ -211,20 +297,41 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
dictType: DICT_TYPE.EAM_ORDER_STATUS,
dictClass: 'string',
},
+ // {
+ // label: '自动接单',
+ // field: 'autoOrder',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ // {
+ // label: '自动执行',
+ // field: 'autoPerform',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ // {
+ // label: '自动验证',
+ // field: 'autoVerify',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ {
+ 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: true,
+ isSearch: false,
required: true,
form: {
// labelMessage: '信息提示说明!!!',
@@ -248,7 +355,7 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -272,7 +379,7 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '地点ID',
@@ -287,9 +394,10 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
label: '是否可用默认TRUE',
field: 'available',
sort: 'custom',
- isSearch: true,
- dictType: DICT_TYPE.TRUE_FALSE,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
},
{
label: '删除时间',
@@ -350,6 +458,7 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
]))
+
export const EquipmentMaintenanceDetailRules = reactive({
number: [required],
masterId: [required],
@@ -383,13 +492,12 @@ export const EquipmentMaintenanceDetailRules = reactive({
validator:validateroundNumber,
message: '请输入正确的正整数',
trigger: 'blur'}],
- completionTime: [required],
- // [
- // {
- // required:false ,
- // message:'该项为必填项',
- // tagger:['blur']
- // }],
+ // completionTime: [
+ // {
+ // required:false ,
+ // message:'该项为必填项',
+ // tagger:['blur']
+ // }],
result: [
{
required:false ,
@@ -506,16 +614,12 @@ export const EquipmentMaintenanceDetail = useCrudSchemas(reactive(
form: {
componentProps: {
isSearchList: true, // 开启查询弹窗
- searchListPlaceholder: '请选择 类别编码',
- searchTitle: '保养项信息', // 查询弹窗标题
- searchAllSchemas: MaintenanceItem.allSchemas, // 查询弹窗所需类
- searchField: 'name', // 查询弹窗赋值字段
- searchPage: ItemApi.getMaintenanceItemPage, // 查询弹窗所需分页方法
- searchCondition: [{
- key: 'available',
- value: 'TRUE',
- action: '=='
- }]
+ searchListPlaceholder: '请选择 非必选保养项',
+ searchTitle: '非必选保养项信息', // 查询弹窗标题
+ searchAllSchemas: RelationMaintenancePlanItem.allSchemas, // 查询弹窗所需类
+ searchField: 'itemName', // 查询弹窗赋值字段
+ searchPage: ItemApi.getRelationMaintenancePlanItemPage, // 查询弹窗所需分页方法
+ searchCondition: []
}
}
},
diff --git a/src/views/eam/equipmentMaintenanceMain/finishForm1.vue b/src/views/eam/equipmentMaintenanceMain/finishForm1.vue
new file mode 100644
index 000000000..c50b366ad
--- /dev/null
+++ b/src/views/eam/equipmentMaintenanceMain/finishForm1.vue
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentMaintenanceMain/finishForm2.vue b/src/views/eam/equipmentMaintenanceMain/finishForm2.vue
new file mode 100644
index 000000000..60b73fe59
--- /dev/null
+++ b/src/views/eam/equipmentMaintenanceMain/finishForm2.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentMaintenanceMain/index.vue b/src/views/eam/equipmentMaintenanceMain/index.vue
index f0606d3fb..4db1801b9 100644
--- a/src/views/eam/equipmentMaintenanceMain/index.vue
+++ b/src/views/eam/equipmentMaintenanceMain/index.vue
@@ -51,6 +51,21 @@
@onChange="onChange"
/>
+
+
+
+
+
{
const butttondata = (row) => {
return [
defaultButtons.mainListEditBtn({hasPermi:'eam:equipmentMaintenanceMain:update'}), // 编辑
- defaultButtons.mainListReceiveOrderBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:maintenance:update'}), // 接单
- defaultButtons.mainListExecuteBtn({hide: isShowStatusButton(row,['4']),hasPermi:'eam:maintenance:update'}), // 执行
- defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['5']),hasPermi:'eam:maintenance:update'}), // 完成保养
- defaultButtons.mainListValidateBtn({hide: isShowStatusButton(row,['6']),hasPermi:'eam:maintenance:update'}), // 验证
- defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'eam:maintenance:update'}),
- defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'eam:maintenance:update'}),
+ defaultButtons.mainListReceiveOrderBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:equipmentMaintenanceMain:update'}), // 接单
+ defaultButtons.mainListExecuteBtn({hide: isShowStatusButton(row,['4']),hasPermi:'eam:equipmentMaintenanceMain:update'}), // 执行
+ defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['5']),hasPermi:'eam:equipmentMaintenanceMain:update'}), // 完成保养
+ defaultButtons.mainListValidateBtn({hide: isShowStatusButton(row,['6']),hasPermi:'eam:equipmentMaintenanceMain:update'}), // 验证
+ defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'eam:equipmentMaintenanceMain:update'}),
+ defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'eam:equipmentMaintenanceMain:update'}),
]
}
@@ -194,9 +211,9 @@ const buttonTableClick = async (val, row) => {
} else if (val == 'execute') { // 执行
handleExecute(row.id)
} else if (val == 'finish') { // 完成
- handleFinish(row.id)
- } else if (val == 'validate') { // 完成
- handleValidate(row.id)
+ handleFinish(row)
+ } else if (val == 'validate') { // 验证
+ handleValidate(row)
}
}
@@ -256,7 +273,7 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
const setV = {}
let result = '';
for (var i = 0; i < val.length; i++) {
- result += val[i].name + ',';
+ result += val[i].itemName + ',';
}
if(result.endsWith(',')){
result = result.substring(0,result.length -1)
@@ -320,8 +337,8 @@ const handleExecute = async (id: number) => {
})
params.value.id = id
params.value.status = '5'
- // 发起删除
- await EquipmentMaintenanceMainApi.executeMaintenanceOrder(params.value)
+ // 发起
+ await EquipmentMaintenanceMainApi.updateMaintenanceOrder(params.value)
message.success(t('执行成功'))
// 刷新列表
await getList()
@@ -329,50 +346,68 @@ const handleExecute = async (id: number) => {
}
/** 完成按钮操作 */
-const handleFinish = async (id: number) => {
- try {
- // 中止的二次确认
- await message.delConfirm('是否完成所选中工单?');
- const params = ref({
- id: '',
- status:'',
- })
- params.value.id = id
+const finishForm2Ref = ref()
+const handleFinish = async (row) => {
+ // 二次确认
+ await message.delConfirm('是否完成所选中工单?');
+
+ //打开提交表单
+ finishForm2Ref.value.open('update', row);
+
+ //let res = await EquipmentMaintenanceMainApi.getMaintenanceOrderConfig();
+ //系统配置需要验证
+ // if(res.remark === 'TRUE'){
+ // try {
+ //
+ //
+ // // // 二次确认
+ // // await message.delConfirm('是否完成所选中工单?');
+ // // const params = ref({
+ // // id: '',
+ // // status:'',
+ // // })
+ // // params.value.id = row.id
+ // // params.value.status = '5'
+ // // // 发起
+ // // await EquipmentMaintenanceMainApi.executeMaintenanceOrder(params.value)
+ // // message.success(t('工单已完成'))
+ // // // 刷新列表
+ // // await getList()
+ // } catch {}
+ // }
+ // //系统配置不需要验证
+ // if(res.remark === 'FALSE'){
+ // try {
+ // // 二次确认
+ // await message.delConfirm('是否完成所选中工单?');
+ //
+ // //打开提交表单
+ // finishForm2Ref.value.open('update', row);
+ //
+ // } catch {}
+ // }
+}
+
+/** 验证按钮操作 */
+const finishForm1Ref = ref()
+const handleValidate = async (row) => {
+ await message.delConfirm('是否验证所选中工单?');
+ message.confirmPassword(t('')).then(async () => {
+ // 二次确认
+ //打开提交表单
+ finishForm1Ref.value.open('update', row);
+ }).catch (async () => {
+ const params = ref({id: '', status:''})
+ params.value.id = row.id
params.value.status = '5'
- // 发起删除
- await EquipmentMaintenanceMainApi.executeMaintenanceOrder(params.value)
- message.success(t('工单已完成'))
+ await EquipmentMaintenanceMainApi.backMaintenanceOrder(params.value)
+ message.success(t('工单已打回'))
// 刷新列表
await getList()
- } catch {}
-}
+ })
-/** 验证按钮操作 */
-const handleValidate = async (id: number) => {
- try {
- const params = ref({
- id: '',
- status:'',
- })
- // 中止的二次确认
- message.confirmPassword(t('')).then(async () => {
- params.value.id = id
- params.value.status = '7'
- await EquipmentMaintenanceMainApi.updateMaintenanceOrder(params.value)
- message.success(t('工单已流转'))
- // 刷新列表
- await getList()
- }).catch (async () => {
- params.value.id = id
- params.value.status = '5'
- await EquipmentMaintenanceMainApi.updateMaintenanceOrder(params.value)
- message.success(t('工单已流转'))
- // 刷新列表
- await getList()
- })
- } catch {}
}
/** 启用 */
@@ -497,6 +532,62 @@ const searchFormClick = (searchData) => {
getList() // 刷新当前列表
}
+//finishForm1 关闭按钮回传
+const getClosed1=(val)=> {
+ nextTick?.(() => {
+ console.log(val)
+ getList()
+ })
+}
+
+//finishForm1 提交按钮回传
+const getData1=(val)=> {
+ nextTick?.(async () => {
+ console.log(val)
+
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = val
+ params.value.status = '7'
+ await EquipmentMaintenanceMainApi.updateMaintenanceOrder(params.value)
+ message.success(t('工单已流转'))
+ // 刷新列表
+ await getList()
+ } catch {}
+
+ }
+ )
+}
+
+//finishForm2 关闭按钮回传
+const getClosed2=(val)=> {
+ nextTick?.(() => {
+ console.log(val)
+ getList()
+ })
+}
+
+//finishForm2 提交按钮回传
+const getData2=(val)=> {
+ nextTick?.(async () => {
+ console.log(val)
+ const params = ref({
+ id: '',
+ status: '',
+ })
+ params.value.id = val
+ params.value.status = '5'
+ // 发起
+ await EquipmentMaintenanceMainApi.executeMaintenanceOrder(params.value)
+ message.success(t('工单已完成'))
+ // 刷新列表
+ await getList()
+ })
+}
+
/** 初始化 **/
onMounted(async () => {
getList()
diff --git a/src/views/eam/equipmentMaintenanceRecordMain/equipmentMaintenanceRecordMain.data.ts b/src/views/eam/equipmentMaintenanceRecordMain/equipmentMaintenanceRecordMain.data.ts
index 199b71234..3541eeece 100644
--- a/src/views/eam/equipmentMaintenanceRecordMain/equipmentMaintenanceRecordMain.data.ts
+++ b/src/views/eam/equipmentMaintenanceRecordMain/equipmentMaintenanceRecordMain.data.ts
@@ -4,138 +4,229 @@ import { dateFormatter } from '@/utils/formatTime'
// 表单校验
export const EquipmentMaintenanceRecordMainRules = reactive({
number: [required],
+ sources: [required],
equipmentCode: [required],
- planNumber: [required],
- status: [required],
- factoryAreaCode: [required],
- concurrencyStamp: [required]
+ type: [required],
+ planStartTime: [required],
+ planEndTime: [required],
+ startTime: [required],
+ endTime: [required],
})
export const EquipmentMaintenanceRecordMain = useCrudSchemas(reactive([
{
- label: '保养编号',
- field: 'number',
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '记录编号',
+ field: 'recordNo',
sort: 'custom',
- isSearch: true
+ isSearch: true,
},
{
label: '描述',
field: 'describing',
sort: 'custom',
- isSearch: true
+ isSearch: true,
+ isSearch: false,
+ },
+ {
+ label: '保养工单',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '来源字典',
+ field: 'sources',
+ sort: 'custom',
+ isSearch: true,
+ isSearch: false,
},
{
label: '设备编号',
field: 'equipmentCode',
sort: 'custom',
- isSearch: true
+ isSearch: true,
},
{
- label: '设备类别',
- field: 'category',
+ label: '故障类型枚举',
+ field: 'faultType',
sort: 'custom',
- dictType: DICT_TYPE.DEVICE_TYPE,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
- form: {
- component: 'SelectV2'
- }
+ isSearch: false,
+
},
{
- label: '班次枚举',
- field: 'classes',
+ label: '工装或设备字典',
+ field: 'type',
sort: 'custom',
- // dictType: DICT_TYPE.SHIFT_TYPE,
- // dictClass: 'string', // 默认都是字符串类型其他暂不考虑
isSearch: true,
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
},
{
- label: '保养计划工单',
+ label: '保养计划工单号',
field: 'planNumber',
sort: 'custom',
- isSearch: true
+ isSearch: true,
},
{
- label: '故障类型枚举',
- field: 'faultType',
+ label: '计划开始时间',
+ field: 'planStartTime',
sort: 'custom',
- dictType: DICT_TYPE.FAILURE_REASON,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- isSearch: true,
+ 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: 'SelectV2'
- }
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
},
{
- label: '保养周期',
- field: 'cycle',
+ label: '计划结束时间',
+ field: 'planEndTime',
sort: 'custom',
- dictType: DICT_TYPE.MAINTENANCE_CYCLE,
- dictClass: 'string', // 默认都是字符串类型其他暂不考虑
- isSearch: true
+ 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: 'times',
+ label: '保养开始时间',
+ field: 'startTime',
sort: 'custom',
- isSearch: true
+ 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: 'verifyer2',
+ label: '保养结束时间',
+ field: 'endTime',
sort: 'custom',
- isSearch: true,
+ 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: 'InputNumber',
- value: 0
- }
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
},
{
- label: '验证内容',
- field: 'verifyContent2',
+ label: '保养班组',
+ field: 'classType',
sort: 'custom',
- isSearch: true
+ isSearch: false,
},
{
- label: '验证时间',
- field: 'verifyTime2',
+ label: '验证人',
+ field: 'verifyer',
sort: 'custom',
- isSearch: true
+ isSearch: false,
},
{
- label: '保养人',
- field: 'maintenancer',
+ label: '验证内容',
+ field: 'verifyContent',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
form: {
- component: 'InputNumber',
- value: 0
- }
+ component: 'Editor',
+ componentProps: {
+ valueHtml: '',
+ height: 200
+ }
+ },
},
{
- label: '保养人联系电话',
- field: 'maintenancePhone',
+ label: '验证时间',
+ field: 'verifyTime',
sort: 'custom',
- isSearch: true
+ 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: 'completeResult',
+ label: '保养人id',
+ field: 'maintenancer',
sort: 'custom',
- isSearch: true
+ isSearch: false,
},
{
- label: '完成时间',
- field: 'completionTime2',
+ label: '保养人联系电话',
+ field: 'maintenancePhone',
sort: 'custom',
- isSearch: true
+ isSearch: false,
},
{
- label: '保养时间',
- field: 'maintenanceTime',
+ label: '完成时间',
+ field: 'completionTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -150,58 +241,172 @@ export const EquipmentMaintenanceRecordMain = useCrudSchemas(reactive
-
-
- {{ row.code }}
+
+
+ {{ row.recordNo }}
@@ -51,7 +51,17 @@
/>
-
+
+
@@ -60,7 +70,9 @@
+
+
diff --git a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
index 4c24acd0d..9785ed4d6 100644
--- a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
+++ b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
@@ -1,5 +1,9 @@
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 {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data";
+import * as WorkshopApi from "@/api/wms/workshop";
+import {dateFormatter} from '@/utils/formatTime'
// 表单校验
export const EquipmentReportRepairRequestRules = reactive({
@@ -9,7 +13,9 @@ export const EquipmentReportRepairRequestRules = reactive({
urgency: [required],
repairmaner: [required],
status: [required],
- concurrencyStamp: [required]
+ shutDown:[required],
+ repairPhone:[required],
+ available:[required],
})
export const EquipmentReportRepairRequest = useCrudSchemas(reactive([
@@ -17,7 +23,9 @@ export const EquipmentReportRepairRequest = useCrudSchemas(reactive
-
-
- {{ row.code }}
+
+
+ {{ row.number }}
-
+
@@ -48,11 +48,15 @@
:apiCreate="EquipmentReportRepairRequestApi.createEquipmentReportRepairRequest"
@searchTableSuccess="searchTableSuccess"
:isBusiness="false"
+ @onChange="onChange"
/>
+
+
+
@@ -65,6 +69,11 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
+import AudiForm from '@/views/eam/equipmentReportRepairRequest/audiForm.vue'
+import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
+import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
+import {ToolAccounts} from "@/views/eam/toolAccounts/toolAccounts.data";
+import * as ToolItemApi from "@/api/eam/toolAccounts";
defineOptions({ name: 'EquipmentReportRepairRequest' })
@@ -99,9 +108,9 @@ const { getList, setSearchParams } = tableMethods
// 列表头部按钮
const HeadButttondata = [
- defaultButtons.defaultAddBtn({hasPermi:'wms:equipmentReportRepairRequest:create'}), // 新增
- defaultButtons.defaultImportBtn({hasPermi:'wms:equipmentReportRepairRequest:import'}), // 导入
- defaultButtons.defaultExportBtn({hasPermi:'wms:equipmentReportRepairRequest:export'}), // 导出
+ defaultButtons.defaultAddBtn({hasPermi:'eam:equipmentReportRepairRequest:create'}), // 新增
+ //defaultButtons.defaultImportBtn({hasPermi:'eam:equipmentReportRepairRequest:import'}), // 导入
+ defaultButtons.defaultExportBtn({hasPermi:'eam:equipmentReportRepairRequest:export'}), // 导出
defaultButtons.defaultFreshBtn(null), // 刷新
defaultButtons.defaultFilterBtn(null), // 筛选
defaultButtons.defaultSetBtn(null), // 设置
@@ -131,11 +140,26 @@ const buttonBaseClick = (val, item) => {
}
}
+
+const isShowStatusButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
-const butttondata = [
- defaultButtons.mainListEditBtn({hasPermi:'wms:equipmentReportRepairRequest:update'}), // 编辑
- defaultButtons.mainListDeleteBtn({hasPermi:'wms:equipmentReportRepairRequest:delete'}), // 删除
-]
+const butttondata = (row) => {
+ return [
+ defaultButtons.mainListEditBtn({hide: isShowStatusButton(row, ['0']),hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 编辑
+ defaultButtons.mainListAuditingBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核
+ defaultButtons.mainListAuditedBtn({hide: isShowStatusButton(row, ['2']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核完成
+ defaultButtons.mainListRevokeBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 撤回
+ defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:equipmentReportRepairRequest:update'}),
+ defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipmentReportRepairRequest:update'}), // 删除
+ ]
+}
// 列表-操作按钮事件
const buttonTableClick = async (val, row) => {
@@ -143,12 +167,31 @@ const buttonTableClick = async (val, row) => {
openForm('update', row)
} else if (val == 'delete') { // 删除
handleDelete(row.id)
+ } else if (val == 'auditing') { // 审核
+ handleAuditing(row.id)
+ } else if (val == 'revoke') { // 撤回
+ handleRevoke(row.id)
+ } else if (val == 'audited') { // 审核完成
+ handleAudited(row)
+ } else if (val == 'finish') { // 完成
+ handleFinish(row.id)
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ if(type == "create"){
+ EquipmentReportRepairRequest.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'status'){
+ }
+ })
+ }else{
+ EquipmentReportRepairRequest.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'status'){
+ }
+ })
+ }
basicFormRef.value.open(type, row)
}
@@ -182,6 +225,79 @@ const openDetail = (row: any, titleName: any, titleValue: any) => {
detailRef.value.openDetail(row, titleName, titleValue, 'basicEquipmentReportRepairRequest')
}
+//完成按钮 并生成维修工单
+const handleFinish = async (id: number) => {
+ await message.delConfirm('是否完成,并创建维修工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '5'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
+//审核完成按钮
+const handleAudited = async (row) => {
+ message.confirmAudi(t('')).then(async () => {
+ //打开提交表单
+ audiFormRef.value.open('update', row);
+ }).catch(async (action: Action) => {
+ if(action === 'cancel'){
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = row.id
+ params.value.status = '4'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ }
+ })
+}
+
+//审核按钮
+const audiFormRef = ref()
+const handleAuditing = async (id: number) => {
+ await message.delConfirm('是否审核所选中工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '2'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
+/** 撤回按钮操作 */
+const handleRevoke = async (id: number) => {
+ await message.delConfirm('是否撤回所选中工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '1'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
@@ -226,6 +342,62 @@ const importSuccess = () => {
getList()
}
+//audiForm 关闭按钮回传
+const getClosed=(val)=> {
+ nextTick?.(() => {
+ getList()
+ })
+}
+
+//audiForm 提交按钮回传
+const getData=(val)=> {
+ nextTick?.(async () => {
+
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = val
+ params.value.status = '3'
+ await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value)
+ message.success(t('工单已流转'))
+ // 刷新列表
+ await getList()
+ } catch {}
+
+ }
+ )
+}
+
+
+const onChange = (field, item) => {
+ //设备
+ if(field == 'type' && item == 'DEVICE'){
+ EquipmentReportRepairRequest.allSchemas.formSchema.forEach((items) => {
+ if (items.field == 'equipmentCode') {
+ basicFormRef.value.formRef.setValues({
+ equipmentCode:''
+ })
+ items.componentProps.searchAllSchemas = EquipmentAccounts.allSchemas
+ items.componentProps.searchPage = EquipmentItemApi.getEquipmentAccountsPage
+ }
+ })
+ }
+ //工装
+ if(field == 'type' && item == 'EQUIPMENT'){
+ EquipmentReportRepairRequest.allSchemas.formSchema.forEach((items) => {
+ if (items.field == 'equipmentCode') {
+ basicFormRef.value.formRef.setValues({
+ equipmentCode:''
+ })
+ items.componentProps.searchAllSchemas = ToolAccounts.allSchemas
+ items.componentProps.searchPage = ToolItemApi.getToolAccountsPage
+ }
+ })
+ }
+}
+
// 筛选提交
const searchFormClick = (searchData) => {
tableObject.params = {
diff --git a/src/views/eam/maintenance/audiForm.vue b/src/views/eam/maintenance/audiForm.vue
new file mode 100644
index 000000000..fa8044e86
--- /dev/null
+++ b/src/views/eam/maintenance/audiForm.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/maintenance/index.vue b/src/views/eam/maintenance/index.vue
index 4f958cab5..53e6c4c68 100644
--- a/src/views/eam/maintenance/index.vue
+++ b/src/views/eam/maintenance/index.vue
@@ -54,6 +54,8 @@
+
+
@@ -66,11 +68,13 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '@/components/Detail/src/Detail.vue'
+import AudiForm from '@/views/eam/maintenance/audiForm.vue'
import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data";
import * as EquipmentItemApi from "@/api/eam/equipmentAccounts";
import { ToolAccounts } from "@/views/eam/toolAccounts/toolAccounts.data";
import * as ToolItemApi from "@/api/eam/toolAccounts";
+
defineOptions({ name: 'Maintenance' })
const message = useMessage() // 消息弹窗
@@ -144,11 +148,20 @@ const isShowMainButton = (row,val) => {
}
}
+const isShowStatusButton = (row,val) => {
+ if (val.indexOf(row.status) > -1) {
+ return false
+ } else {
+ return true
+ }
+}
+
// 列表-操作按钮
const butttondata = (row) => {
return [
- defaultButtons.mainListEditBtn({hasPermi:'eam:maintenance:update'}), // 编辑
- //defaultButtons.mainListDeleteBtn({hasPermi:'eam:basicInspectionOption:delete'}), // 删除
+ defaultButtons.mainListEditBtn({hide: isShowStatusButton(row,['0']),hasPermi:'eam:maintenance:update'}), // 编辑
+ defaultButtons.mainListAuditingBtn({hide: isShowStatusButton(row,['0']),hasPermi:'eam:maintenance:update'}), // 审核
+ defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:maintenance:update'}), // 完成保养
defaultButtons.mainListEnableBtn({hide:isShowMainButton(row,['FALSE']),hasPermi:'eam:maintenance:update'}),
defaultButtons.mainListDisableBtn({hide:isShowMainButton(row,['TRUE']),hasPermi:'eam:maintenance:update'}),
]
@@ -164,12 +177,29 @@ const buttonTableClick = async (val, row) => {
handleEnable(row.id)
} else if (val == 'disable') {
handleDisable(row.id)
+ } else if (val == 'auditing') { // 审核
+ handleAuditing(row.id)
+ } else if (val == 'finish') { // 完成
+ handleFinish(row)
}
}
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ if(type == "create"){
+ Maintenance.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'status'){
+ item.componentProps.disabled = true
+ }
+ })
+ }else{
+ Maintenance.allSchemas.formSchema.forEach((item) => {
+ if(item.field == 'status'){
+ item.componentProps.disabled = false
+ }
+ })
+ }
basicFormRef.value.open(type, row)
}
@@ -216,6 +246,45 @@ const handleDelete = async (id: number) => {
} catch {}
}
+//完成按钮
+const handleFinish = async (row) => {
+ message.confirmAudi(t('')).then(async () => {
+ //打开提交表单
+ audiFormRef.value.open('update', row);
+ }).catch(async (action: Action) => {
+ if(action === 'cancel'){
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = row.id
+ params.value.status = '5'
+ await MaintenanceApi.updateMaintenancePlan(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ }
+ })
+}
+
+//审核按钮
+const audiFormRef = ref()
+const handleAuditing = async (id: number) => {
+ await message.delConfirm('是否审核所选中工单?');
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = id
+ params.value.status = '3'
+ await MaintenanceApi.updateMaintenancePlan(params.value)
+ message.success(t('common.updateSuccess'))
+ // 刷新列表
+ await getList()
+ } catch {}
+}
+
/** 启用 */
const handleEnable = async (id: number) => {
try {
@@ -314,6 +383,34 @@ const searchFormClick = (searchData) => {
getList() // 刷新当前列表
}
+//audiForm 关闭按钮回传
+const getClosed=(val)=> {
+ nextTick?.(() => {
+ getList()
+ })
+}
+
+//audiForm 提交按钮回传
+const getData=(val)=> {
+ nextTick?.(async () => {
+
+ try {
+ const params = ref({
+ id: '',
+ status:'',
+ })
+ params.value.id = val
+ params.value.status = '4'
+ await MaintenanceApi.updateMaintenancePlan(params.value)
+ message.success(t('计划已流转'))
+ // 刷新列表
+ await getList()
+ } catch {}
+
+ }
+ )
+}
+
/** 初始化 **/
onMounted(async () => {
getList()
diff --git a/src/views/eam/maintenance/maintenance.data.ts b/src/views/eam/maintenance/maintenance.data.ts
index 480ae1d0e..9bfea7d37 100644
--- a/src/views/eam/maintenance/maintenance.data.ts
+++ b/src/views/eam/maintenance/maintenance.data.ts
@@ -47,7 +47,7 @@ export const Maintenance = useCrudSchemas(reactive([
dictType: DICT_TYPE.DEVICE_TYPE,
dictClass: 'string',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '设备工装编号',
@@ -112,7 +112,7 @@ export const Maintenance = useCrudSchemas(reactive([
field: 'startTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -134,7 +134,7 @@ export const Maintenance = useCrudSchemas(reactive([
field: 'endTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -156,26 +156,27 @@ export const Maintenance = useCrudSchemas(reactive([
field: 'status',
sort: 'custom',
isSearch: true,
-
+ dictType: DICT_TYPE.EAM_PLAN_STATUS,
+ dictClass: 'string',
},
{
label: '审核人',
field: 'approver',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '审核内容',
field: 'approveContent',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '审核时间',
field: 'approveTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -214,7 +215,7 @@ export const Maintenance = useCrudSchemas(reactive([
label: '直接生成记录',
field: 'directCreateRecord',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '所属厂区编号',
@@ -229,7 +230,7 @@ export const Maintenance = useCrudSchemas(reactive([
label: '车间编号',
field: 'workshopCode',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
required: true,
form: {
// labelMessage: '信息提示说明!!!',
@@ -253,7 +254,7 @@ export const Maintenance = useCrudSchemas(reactive([
field: 'createTime',
sort: 'custom',
formatter: dateFormatter,
- isSearch: true,
+ isSearch: false,
search: {
component: 'DatePicker',
componentProps: {
@@ -277,7 +278,7 @@ export const Maintenance = useCrudSchemas(reactive([
label: '备注',
field: 'remark',
sort: 'custom',
- isSearch: true,
+ isSearch: false,
},
{
label: '地点ID',
@@ -357,3 +358,163 @@ export const Maintenance = useCrudSchemas(reactive([
}
}
]))
+
+
+// 表单校验
+export const RelationMaintenancePlanItemRules = reactive({
+ planNumber: [required],
+ itemCode: [required],
+ itemName: [required],
+})
+
+export const RelationMaintenancePlanItem = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '计划编号',
+ field: 'planNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '项编号',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '保养名称',
+ field: 'itemName',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '是否必选',
+ field: 'isSelectd',
+ sort: 'custom',
+ isSearch: true,
+ dictType: DICT_TYPE.FALSE_OR_TRUE,
+ dictClass: 'string',
+ },
+ {
+ 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: '是否可用默认TRUE',
+ field: 'available',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail: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',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/error/404.vue b/src/views/error/404.vue
index 2e3f078a2..f6a08de2f 100644
--- a/src/views/error/404.vue
+++ b/src/views/error/404.vue
@@ -1,6 +1,5 @@
- 哈哈哈哈