diff --git a/src/api/eam/equipmentRepairJobDetail/index.ts b/src/api/eam/equipmentRepairJobDetail/index.ts
new file mode 100644
index 000000000..efe6bdaa8
--- /dev/null
+++ b/src/api/eam/equipmentRepairJobDetail/index.ts
@@ -0,0 +1,59 @@
+import request from '@/config/axios'
+
+export interface EquipmentRepairJobDetailVO {
+ id: number
+ number: string
+ masterId: number
+ describing: string
+ faultCause: string
+ workOut: string
+ maintenances: string
+ departmentCode: string
+ remark: string
+ siteId: string
+ available: string
+ deletionTime: Date
+ deleterId: byte[]
+ concurrencyStamp: number
+}
+
+// 查询维修工单子列表
+export const getEquipmentRepairJobDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/eam/equipment-repair-job-detail/senior', data })
+ } else {
+ return await request.get({ url: `/eam/equipment-repair-job-detail/page`, params })
+ }
+}
+
+// 查询维修工单子详情
+export const getEquipmentRepairJobDetail = async (id: number) => {
+ return await request.get({ url: `/eam/equipment-repair-job-detail/get?id=` + id })
+}
+
+// 新增维修工单子
+export const createEquipmentRepairJobDetail = async (data: EquipmentRepairJobDetailVO) => {
+ return await request.post({ url: `/eam/equipment-repair-job-detail/create`, data })
+}
+
+// 修改维修工单子
+export const updateEquipmentRepairJobDetail = async (data: EquipmentRepairJobDetailVO) => {
+ return await request.put({ url: `/eam/equipment-repair-job-detail/update`, data })
+}
+
+// 删除维修工单子
+export const deleteEquipmentRepairJobDetail = async (id: number) => {
+ return await request.delete({ url: `/eam/equipment-repair-job-detail/delete?id=` + id })
+}
+
+// 导出维修工单子 Excel
+export const exportEquipmentRepairJobDetail = async (params) => {
+ return await request.download({ url: `/eam/equipment-repair-job-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/eam/equipment-repair-job-detail/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/eam/equipmentRepairJobMain/index.ts b/src/api/eam/equipmentRepairJobMain/index.ts
new file mode 100644
index 000000000..471f98905
--- /dev/null
+++ b/src/api/eam/equipmentRepairJobMain/index.ts
@@ -0,0 +1,93 @@
+import request from '@/config/axios'
+import {EquipmentReportRepairRequestVO} from "@/api/eam/equipmentReportRepairRequest";
+
+export interface EquipmentRepairJobMainVO {
+ id: number
+ number: string
+ type: string
+ repairNumber: string
+ sources: string
+ maintenanceDesc: string
+ urgency: string
+ level: string
+ equipmentCode: string
+ shutDown: boolean
+ startTime: Date
+ endTime: Date
+ totalMinutes: number
+ verifyer: number
+ verifyContent: string
+ verifyTime: Date
+ maintenancer: number
+ maintenancePhone: string
+ completeResult: string
+ completionTime: Date
+ maintenanceTime: Date
+ repairTime: Date
+ repairer: number
+ faultType: string
+ status: string
+ autoOrder: string
+ autoPerform: string
+ autoVerify: string
+ directCreateRecord: string
+ classType: 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 getEquipmentRepairJobMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/eam/equipment-repair-job-main/senior', data })
+ } else {
+ return await request.get({ url: `/eam/equipment-repair-job-main/page`, params })
+ }
+}
+
+// 查询维修工单主详情
+export const getEquipmentRepairJobMain = async (id: number) => {
+ return await request.get({ url: `/eam/equipment-repair-job-main/get?id=` + id })
+}
+
+// 新增维修工单主
+export const createEquipmentRepairJobMain = async (data: EquipmentRepairJobMainVO) => {
+ return await request.post({ url: `/eam/equipment-repair-job-main/create`, data })
+}
+
+// 修改维修工单主
+export const updateEquipmentRepairJobMain = async (data: EquipmentRepairJobMainVO) => {
+ return await request.put({ url: `/eam/equipment-repair-job-main/update`, data })
+}
+
+// 删除维修工单主
+export const deleteEquipmentRepairJobMain = async (id: number) => {
+ return await request.delete({ url: `/eam/equipment-repair-job-main/delete?id=` + id })
+}
+
+// 导出维修工单主 Excel
+export const exportEquipmentRepairJobMain = async (params) => {
+ return await request.download({ url: `/eam/equipment-repair-job-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/eam/equipment-repair-job-main/get-import-template' })
+}
+
+// 修改维修工单状态
+export const updateEquipmentRepairOrder = async (data: EquipmentRepairJobMainVO) => {
+ return await request.post({ url: `/eam/equipment-repair-job-main/updateOrder`, 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/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/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/productreceiptRequestMain/index.ts b/src/api/wms/productreceiptRequestMain/index.ts
index 0d337b177..d809c5efa 100644
--- a/src/api/wms/productreceiptRequestMain/index.ts
+++ b/src/api/wms/productreceiptRequestMain/index.ts
@@ -137,4 +137,10 @@ export const agree = (id) => {
// 处理
export const handle = (id) => {
return request.put({ url: '/wms/productreceipt-request-main/handle?id=' + id })
+}
+
+
+// 创建标签
+export const productCreateLabel = async (data: ProductreceiptRequestMainVO) => {
+ return await request.post({ url: `/wms/productreceipt-request-main/productCreateLabel`, data })
}
\ No newline at end of file
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/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 716e2006a..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({
// 显示窗口宽度设置
@@ -565,7 +566,9 @@ const buttonBaseClick = (val) => {
}
// 保存
else if (val == 'save') {
- submitForm()
+ debounce(() => {
+ submitForm()
+ }, 2000)()
}
// 关闭
else if (val == 'close') {
diff --git a/src/components/SearchTable/src/SearchTable.vue b/src/components/SearchTable/src/SearchTable.vue
index 084a68806..c7f7cd534 100644
--- a/src/components/SearchTable/src/SearchTable.vue
+++ b/src/components/SearchTable/src/SearchTable.vue
@@ -10,6 +10,7 @@
:HeadButttondata="HeadButttondata"
:routeName="routeName"
@searchFormClick="searchFormClick"
+ @buttonBaseClick="buttonBaseClick"
:allSchemas="allSchemasRef"
/>
@@ -26,6 +27,7 @@
v-model:sort="tableObjectRef.sort"
:searchTableSelectionsList="searchTableSelectionsList"
:selection="true"
+ :selectionTotal="multipleBol"
:reserveSelection="true"
row-key="id"
/>
@@ -53,10 +55,18 @@ routeName.value = route.name
const searchDialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
+const multipleBol = ref(false)
+
// 列表头部按钮
-const HeadButttondata = ref([
+const HeadButttondata = ref(multipleBol.value?
+[
+ defaultButtons.defaultWhenPageBtn(null), // 选择当页
+ defaultButtons.defaultUnselectPageBtn(null), // 反选当页
+ // defaultButtons.defaultDeselectAllBtn(null), // 取消全选
defaultButtons.defaultFilterBtn(null), // 筛选
+]:[
+ defaultButtons.defaultFilterBtn(null) // 筛选
])
/** 打开弹窗 */
@@ -71,28 +81,39 @@ const searchFieldRef = ref()
const typeRef = ref()
const rowRef = ref()
const allSchemasRef = ref()
-const multipleBol = ref(false)
const searchConditionRef = ref()
const searchTableSelectionsList = ref()//表格弹窗回显的列表
const openData = (titleName: any, tableObject:any ,allSchemas: any,multiple: any) => {
dialogWidth.value = '80%'
- HeadButttondata.value = [
+ multipleBol.value = multiple
+ HeadButttondata.value = multiple?[
+ defaultButtons.defaultWhenPageBtn(null), // 选择当页
+ defaultButtons.defaultUnselectPageBtn(null), // 反选当页
+ // defaultButtons.defaultDeselectAllBtn(null), // 取消全选
+ defaultButtons.defaultFilterBtn(null), // 筛选
+ ]:[
defaultButtons.defaultFilterBtn(null), // 筛选
]
dialogTitle.value = t(`ts.${titleName}`).replace('ts.','')
tableObjectRef.value = tableObject
searchDialogVisible.value = true
- multipleBol.value = multiple
allSchemasRef.value = allSchemas
searchSchema.value = allSchemas.searchSchema
tableColumns.value = allSchemas.tableColumns
}
const open = (titleName: any, allSchemas: any,getApiPage: any, formField: any, searchField: any,multiple: any, type: any, row: any, searchCondition:any , isCountRequestRe:any,isConcatDetailSchemas=false,detailSchemas: any, searchTableSelections:any) => {
dialogWidth.value = '80%'
- HeadButttondata.value = [
+ multipleBol.value = multiple
+ HeadButttondata.value = multiple?[
+ defaultButtons.defaultWhenPageBtn(null), // 选择当页
+ defaultButtons.defaultUnselectPageBtn(null), // 反选当页
+ // defaultButtons.defaultDeselectAllBtn(null), // 取消全选
defaultButtons.defaultFilterBtn(null), // 筛选
- ]
+ ]:
+ [
+ defaultButtons.defaultFilterBtn(null), // 筛选
+ ]
searchDialogVisible.value = true
formFieldRef.value = formField
searchFieldRef.value = searchField
@@ -108,7 +129,6 @@ const open = (titleName: any, allSchemas: any,getApiPage: any, formField: any, s
getPage.value = getApiPage
typeRef.value = type
rowRef.value = row
- multipleBol.value = multiple
// dialogTitle.value = t('action.' + type)
dialogTitle.value = t(`ts.${titleName}`).replace('ts.','')
searchTableSelectionsList.value = searchTableSelections
@@ -175,6 +195,20 @@ const searchFormClick = (searchData) => {
}
getListRef.value() // 刷新当前列表
}
+const buttonBaseClick = (val, item) => {
+ // 设置按钮
+ if (val == 'DeselectAll') {
+ // 取消全选
+ searchTableRef.value.clearSelection()
+ } else if (val == 'UnselectPage') {
+ // 反选当页
+ searchTableRef.value.togglePageSelection()
+ } else if (val == 'WhenPage') {
+ // 选择当页
+ searchTableRef.value.toggleAllSelection(true)
+ }
+}
+
defineExpose({ open,openData,hiddenFilterButton ,changeDialogWidth}) // 提供 open 方法,用于打开弹窗
diff --git a/src/components/Table/src/Table.vue b/src/components/Table/src/Table.vue
index 811321e7d..493c9f35e 100644
--- a/src/components/Table/src/Table.vue
+++ b/src/components/Table/src/Table.vue
@@ -21,6 +21,8 @@ export default defineComponent({
currentPage: propTypes.number.def(1),
// 是否多选
selection: propTypes.bool.def(false),
+ // 是否显示多选数量
+ selectionTotal: propTypes.bool.def(false),
// 是否所有的超出隐藏,优先级低于schema中的showOverflowTooltip,
showOverflowTooltip: propTypes.bool.def(true),
// 表头
@@ -115,12 +117,36 @@ export default defineComponent({
const selections = ref([])
const sortRef = ref()
+ // 选中某行
const selectRow = ()=>{
emit('getSelectionRows', currentPageRef.value,elTableRef.value?.getSelectionRows())
}
- const selectAll = (val)=>{
+ //全选回调
+ const selectAll = ()=>{
emit('getSelectionRows', currentPageRef.value,elTableRef.value?.getSelectionRows())
}
+ //反选
+ const togglePageSelection = ()=>{
+ unref(getProps).data.forEach(row=>{
+ elTableRef.value!.toggleRowSelection(row)
+ })
+ }
+ // 切换全选/不全选
+ const toggleAllSelection = (isAll)=>{
+ if(isAll){
+ //全选
+ if(elTableRef.value?.getSelectionRows().length{
+ console.log('clearSelection')
+ elTableRef.value!.clearSelection()
+ }
+
const selectionChange = (selection: Recordable[]) => {
selections.value = selection
}
@@ -134,7 +160,11 @@ export default defineComponent({
setProps,
setColumn,
selections,
- toggleRowSelection
+ toggleRowSelection,
+ selectAll,
+ toggleAllSelection,
+ togglePageSelection,
+ clearSelection
})
const pagination = computed(() => {
@@ -358,13 +388,15 @@ export default defineComponent({
append: () => getSlot(slots, 'append')
}}
-
+ {unref(getProps).selectionTotal ? (
+ 已选{selections.value.length}条数据
+ ):undefined}
{unref(getProps).pagination ? (
// update by 芋艿:保持和 Pagination 组件一致
) : undefined}
diff --git a/src/config/axios/config.ts b/src/config/axios/config.ts
index 811650873..9bf0a928a 100644
--- a/src/config/axios/config.ts
+++ b/src/config/axios/config.ts
@@ -16,7 +16,7 @@ const config: {
/**
* 接口请求超时时间
*/
- request_timeout: 30000,
+ request_timeout: 300000,
/**
* 默认接口请求类型
diff --git a/src/layout/components/Menu/src/components/useRenderMenuTitle.tsx b/src/layout/components/Menu/src/components/useRenderMenuTitle.tsx
index 87bcecb8e..cdeb35d32 100644
--- a/src/layout/components/Menu/src/components/useRenderMenuTitle.tsx
+++ b/src/layout/components/Menu/src/components/useRenderMenuTitle.tsx
@@ -9,7 +9,8 @@ export const useRenderMenuTitle = () => {
return icon ? (
<>
-
+ {/* ellipsis */}
+
>
) : (
diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts
index 49b7ca904..3c66794e2 100644
--- a/src/locales/en-US.ts
+++ b/src/locales/en-US.ts
@@ -864,6 +864,9 @@ export default {
导出:'Export',
刷新:'Refresh',
筛选:'Filter',
+ 选择当页:'As Page',
+ 反选当页:'Unselect Page',
+ 取消全选:'Deselect All',
设置:'Settings',
确定:'Confirm',
'确 定':'Confirm',
@@ -1119,6 +1122,11 @@ export default {
忘记密码:'Forget Password',
用户名:'User Name',
邮箱:'Mail',
+ 今日:'Today',
+ 请输入驳回原因:'Please enter the reason for rejection',
+ '驳回原因不能为空,且不超过60字':'The reason for rejection cannot be empty and cannot exceed 60 words',
+ 批量发布:'Batch release'
+
},
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index b7cf05325..d31022a59 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -864,6 +864,9 @@ export default {
导出:'导出',
刷新:'刷新',
筛选:'筛选',
+ 选择当页:'选择当页',
+ 反选当页:'反选当页',
+ 取消全选:'取消全选',
设置:'设置',
确定:'确定',
'确 定':'确 定',
@@ -1119,7 +1122,10 @@ export default {
忘记密码:'忘记密码',
用户名:'用户名',
邮箱:'邮箱',
-
+ 今日:'今日',
+ 请输入驳回原因:'请输入驳回原因',
+ '驳回原因不能为空,且不超过60字':'驳回原因不能为空,且不超过60字',
+ 批量发布:'批量发布'
},
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index d3f2f9de3..67b6c1bc0 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -354,7 +354,12 @@ export enum DICT_TYPE {
REPAIR_LEVEL = 'repair_level', //维修级别
IS_COMPLETED = 'is_completed', //是否完成
MAINTENANCE_CYCLE ='maintenance_cycle', // 保养周期
- EAM_ORDER_STATUS = 'eam_order_status',
- EAM_PLAN_STATUS = 'eam_plan_status',
+ EAM_ORDER_STATUS = 'eam_order_status',// 保养工单状态
+ EAM_PLAN_STATUS = 'eam_plan_status', // 保养计划状态
+ EAM_REPAIR_REPORT_STATUS = 'eam_repair_report_status', // 报修状态
+ EAM_MAINTENANCE_SOURCES = 'eam_maintenance_sources', // 维保数据来源
+ EAM_MAINTENANCE_URGENCY = 'eam_maintenance_urgency', // 维保紧急程度
+ EAM_MAINTENANCE_LEVEL = 'eam_maintenance_level', // 维保维修级别
+ EAM_REPAIR_STATUS = 'eam_repair_status', // 维修状态
OFF_BACK_STATUS = 'off_back_status'
}
diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts
index 77d1d6bb5..25cb20558 100644
--- a/src/utils/disposition/defaultButtons.ts
+++ b/src/utils/disposition/defaultButtons.ts
@@ -159,7 +159,45 @@ export function defaultSearchResetBtn(option:any) {
hasPermi: ''
})
}
-
+// 选择当页
+export function defaultWhenPageBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.选择当页`).replace('ts.', ''),
+ name: 'WhenPage',
+ hide: false,
+ type: 'primary',
+ color: '',
+ float:'right',
+ link: false, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+// 反选当页
+export function defaultUnselectPageBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.反选当页`).replace('ts.', ''),
+ name: 'UnselectPage',
+ hide: false,
+ type: 'primary',
+ color: '',
+ float:'right',
+ link: false, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+// 取消全选
+export function defaultDeselectAllBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.取消全选`).replace('ts.', ''),
+ name: 'DeselectAll',
+ hide: false,
+ type: 'primary',
+ color: '',
+ float:'right',
+ link: false, // 文本展现按钮
+ hasPermi: ''
+ })
+}
// form表单-保存按钮
export function formSaveBtn(option:any) {
return __defaultBtnOption(option,{
@@ -390,6 +428,32 @@ export function mainListAuditingBtn(option:any) {
})
}
+// 主列表-审核完成按钮
+export function mainListAuditedBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.审核完成`).replace('ts.', ''),
+ name: 'audited',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+
+// 主列表-撤回按钮
+export function mainListRevokeBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.撤回`).replace('ts.', ''),
+ name: 'revoke',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
+
// 主列表-绑定
export function mainListBindBtn(option:any) {
return __defaultBtnOption(option,{
@@ -492,7 +556,19 @@ export function mainListOrderPubBtn(option:any) {
hasPermi: ''
})
}
-
+// 主列表-订单流程-批量发布按钮
+export function mainListSelectionOrderPubBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: t(`ts.批量发布`).replace('ts.', ''),
+ name: 'mainOrderSelectionPub',
+ hide: false,
+ type: 'primary',
+ color: '',
+ float:'left',
+ link: false, // 文本展现按钮
+ hasPermi: ''
+ })
+}
// 主列表-订单流程-关闭按钮
export function mainListOrderCloBtn(option:any) {
return __defaultBtnOption(option,{
diff --git a/src/views/eam/basicFaultCause/basicFaultCause.data.ts b/src/views/eam/basicFaultCause/basicFaultCause.data.ts
index 3dc367434..b2861cce7 100644
--- a/src/views/eam/basicFaultCause/basicFaultCause.data.ts
+++ b/src/views/eam/basicFaultCause/basicFaultCause.data.ts
@@ -31,7 +31,7 @@ export const BasicFaultCause = useCrudSchemas(reactive([
},
},
{
- label: '设备编码',
+ label: '编码',
field: 'code',
sort: 'custom',
isSearch: true,
diff --git a/src/views/eam/basicFaultType/basicFaultType.data.ts b/src/views/eam/basicFaultType/basicFaultType.data.ts
index 8fe42a032..dd36093d0 100644
--- a/src/views/eam/basicFaultType/basicFaultType.data.ts
+++ b/src/views/eam/basicFaultType/basicFaultType.data.ts
@@ -18,7 +18,7 @@ export const BasicFaultType = useCrudSchemas(reactive([
isDetail:false,
},
{
- label: '设备编码',
+ label: '编码',
field: 'code',
sort: 'custom',
isSearch: true,
diff --git a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
index cd1c845de..6f9553762 100644
--- a/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
+++ b/src/views/eam/equipmentMaintenanceMain/equipmentMaintenanceMain.data.ts
@@ -89,6 +89,8 @@ export const EquipmentMaintenanceMain = useCrudSchemas(reactive([
label: '故障类型枚举',
field: 'faultType',
sort: 'custom',
+ dictType: DICT_TYPE.FAILURE_REASON,
+ dictClass: 'string',
isSearch: true,
isSearch: false,
},
diff --git a/src/views/eam/equipmentMaintenanceMain/index.vue b/src/views/eam/equipmentMaintenanceMain/index.vue
index 4db1801b9..e4219bc6d 100644
--- a/src/views/eam/equipmentMaintenanceMain/index.vue
+++ b/src/views/eam/equipmentMaintenanceMain/index.vue
@@ -353,39 +353,6 @@ const handleFinish = async (row) => {
//打开提交表单
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 {}
- // }
}
/** 验证按钮操作 */
@@ -406,8 +373,6 @@ const handleValidate = async (row) => {
await 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/equipmentRepairJobMain/EquipmentRepairJobDetail.vue b/src/views/eam/equipmentRepairJobMain/EquipmentRepairJobDetail.vue
new file mode 100644
index 000000000..7626c0627
--- /dev/null
+++ b/src/views/eam/equipmentRepairJobMain/EquipmentRepairJobDetail.vue
@@ -0,0 +1,1086 @@
+
+
+
+
+
+ {{ titleValueRef }} {{ t(`ts.${titleNameRef}`).replace('ts.','') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts b/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts
new file mode 100644
index 000000000..4be0eadb5
--- /dev/null
+++ b/src/views/eam/equipmentRepairJobMain/equipmentRepairJobMain.data.ts
@@ -0,0 +1,668 @@
+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 {BasicFaultCause} from "@/views/eam/basicFaultCause/basicFaultCause.data";
+import * as ItemApi from "@/api/eam/basicFaultCause";
+import {getBasicFaultCausePage} from "@/api/eam/basicFaultCause";
+
+// 表单校验
+export const EquipmentRepairJobMainRules = reactive({
+ number: [required],
+ type: [required],
+ sources: [required],
+ urgency: [required],
+ level: [required],
+ equipmentCode: [required],
+ totalMinutes: [required],
+ faultType: [required],
+ status: [required],
+})
+
+export const EquipmentRepairJobMain = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '维修工单号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '设备类别',
+ field: 'type',
+ sort: 'custom',
+ dictType: DICT_TYPE.DEVICE_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ },
+ {
+ label: '报修工单号',
+ field: 'repairNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '来源字典',
+ field: 'sources',
+ sort: 'custom',
+ dictType: DICT_TYPE.EAM_MAINTENANCE_SOURCES,
+ dictClass: 'string',
+ isSearch: false,
+ },
+ {
+ label: '维修描述',
+ field: 'maintenanceDesc',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '紧急程度',
+ field: 'urgency',
+ sort: 'custom',
+ dictType: DICT_TYPE.EAM_MAINTENANCE_URGENCY,
+ dictClass: 'string',
+ isSearch: true,
+ },
+ {
+ label: '维修级别',
+ field: 'level',
+ sort: 'custom',
+ dictType: DICT_TYPE.EAM_MAINTENANCE_LEVEL,
+ dictClass: 'string',
+ isSearch: true,
+ },
+ {
+ 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: 'shutDown',
+ sort: 'custom',
+ dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
+ dictClass: 'string',
+ isSearch: true,
+ form: {
+ component: 'Radio'
+ }
+ },
+ {
+ 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: 'totalMinutes',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '验证人',
+ field: 'verifyer',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '验证内容',
+ field: 'verifyContent',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '验证时间',
+ field: 'verifyTime',
+ 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: 'maintenancer',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '维修人联系电话',
+ field: 'maintenancePhone',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '结果',
+ field: 'completeResult',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '完成时间',
+ field: 'completionTime',
+ 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: 'maintenanceTime',
+ 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: 'repairTime',
+ 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: 'repairer',
+ sort: 'custom',
+ isSearch: false,
+ },
+ {
+ label: '故障类型',
+ field: 'faultType',
+ dictType: DICT_TYPE.FAILURE_REASON,
+ dictClass: 'string',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '流程状态',
+ field: 'status',
+ sort: 'custom',
+ dictType: DICT_TYPE.EAM_REPAIR_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ },
+ // {
+ // 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: 'classType',
+ sort: 'custom',
+ isSearch: false,
+ },
+ // {
+ // label: '所属厂区编号',
+ // field: 'factoryAreaCode',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ {
+ label: '车间编号',
+ field: 'workshopCode',
+ sort: 'custom',
+ isSearch: false,
+ },
+ // {
+ // label: '产线编号',
+ // field: 'lineCode',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ // {
+ // label: '工序编号',
+ // field: 'processCode',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ // {
+ // label: '工位编号',
+ // field: 'workstationCode',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ 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')]
+ }
+ },
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail: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',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+// 表单校验
+export const EquipmentRepairJobDetailRules = reactive({
+ number: [required],
+ masterId: [required],
+ concurrencyStamp: [required],
+})
+
+export const EquipmentRepairJobDetail = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isSearch: false,
+ isTable: false,
+ isForm: false,
+ isDetail:false,
+ },
+ {
+ label: '维修工单号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ form:{
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '主表id',
+ field: 'masterId',
+ sort: 'custom',
+ isSearch: true,
+ form:{
+ componentProps: {
+ disabled: true
+ }
+ },
+ },
+ {
+ label: '故障描述',
+ field: 'describing',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '故障原因',
+ field: 'faultCause',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择 故障原因',
+ searchTitle: '故障原因', // 查询弹窗标题
+ searchAllSchemas: BasicFaultCause.allSchemas, // 查询弹窗所需类
+ searchField: 'code', // 查询弹窗赋值字段
+ searchPage: ItemApi.getBasicFaultCausePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ }]
+ }
+ },
+ },
+ {
+ label: '解决措施',
+ field: 'workOut',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '维修人员字符串多个',
+ field: 'maintenances',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ 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: true,
+ },
+ {
+ 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',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/eam/equipmentRepairJobMain/index.vue b/src/views/eam/equipmentRepairJobMain/index.vue
new file mode 100644
index 000000000..2d5d60699
--- /dev/null
+++ b/src/views/eam/equipmentRepairJobMain/index.vue
@@ -0,0 +1,320 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentReportRepairRequest/audiForm.vue b/src/views/eam/equipmentReportRepairRequest/audiForm.vue
new file mode 100644
index 000000000..65526f310
--- /dev/null
+++ b/src/views/eam/equipmentReportRepairRequest/audiForm.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts
index 4c24acd0d..c20a61e45 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,12 @@ 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";
+import {createEquipmentWeixiuOrder} from "@/api/eam/equipmentReportRepairRequest";
defineOptions({ name: 'EquipmentReportRepairRequest' })
@@ -99,9 +109,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 +141,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 +168,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 +226,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.createEquipmentWeixiuOrder(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 +343,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/home/components/material.vue b/src/views/home/components/material.vue
index efe37218d..03aac634b 100644
--- a/src/views/home/components/material.vue
+++ b/src/views/home/components/material.vue
@@ -36,10 +36,11 @@
{{ t('home.slack_stock_warning')}}
@@ -88,7 +89,7 @@
-
+ @size-change="getStagnantBalance"
+ @current-change="getStagnantBalance"
+ />
{{ t('home.overstock_warning') }}
@@ -155,7 +158,7 @@
-
+ @size-change="getOverdueBalance"
+ @current-change="getOverdueBalance"
+ />
@@ -172,7 +176,7 @@
{{ t('home.high_and_low_storage_warning') }}
-
+ @size-change="getWarningBalance"
+ @current-change="getWarningBalance"
+ />
@@ -262,6 +267,7 @@ const getMaterialData = () => {
getJobCharts()
})
}
+
const formatter = (type, dict) => {
let str = getStrDictOptions(dict).filter((item) => type == item.value)[0]?.label
return str
@@ -285,32 +291,58 @@ const getJobCharts = async () => {
lineIndex.value++
}
onMounted(() => {
- // getMaterialData()
+ getMaterialData()
+ //呆滞库存预警 超期库存预警
+ Promise.all([ getStagnantBalance(),getOverdueBalance(),getWarningBalance()])
})
// 呆滞库存预警
const currentPage_stagnantBalance = ref(1)
const pageSize_stagnantBalance = ref(10)
const total_stagnantBalance= ref(100)
-const handleCurrentChange_stagnantBalance = (val)=>{
- console.log('呆滞库存预警',val)
+const stagnantBalanceList = ref([])
+const getStagnantBalance = ()=>{
+ IndexApi.getStagnantBalance({
+ pageNo: currentPage_stagnantBalance.value,
+ pageSize: pageSize_stagnantBalance.value
+ }).then((res) => {
+ console.log('getStagnantBalance',res)
+ stagnantBalanceList.value = res.list
+ total_stagnantBalance.value = res.total
+ })
}
-
// 超期库存预警
const currentPage_overdueBalance = ref(1)
const pageSize_overdueBalance = ref(10)
const total_overdueBalance= ref(100)
-const handleCurrentChange_overdueBalance = (val)=>{
- console.log('超期库存预警',val)
+const overdueBalanceList = ref([])
+const getOverdueBalance = ()=>{
+ IndexApi.getOverdueBalance({
+ pageNo: currentPage_overdueBalance.value,
+ pageSize: pageSize_overdueBalance.value
+ }).then((res) => {
+ console.log('getOverdueBalance',res)
+ overdueBalanceList.value = res.list
+ total_overdueBalance.value = res.total
+ })
}
// 高低储预警
const currentPage_warningBalance = ref(1)
const pageSize_warningBalance = ref(10)
const total_warningBalance= ref(100)
-const handleCurrentChange_warningBalance = (val)=>{
- console.log('高低储预警',val)
+const warningBalanceList = ref([])
+const getWarningBalance = ()=>{
+ IndexApi.getWarningBalance({
+ pageNo: currentPage_warningBalance.value,
+ pageSize: pageSize_warningBalance.value
+ }).then((res) => {
+ console.log('getWarningBalance',res)
+ warningBalanceList.value = res.list
+ total_warningBalance.value = res.total
+ })
}
+
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 57e140dcb..39f28f658 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -5,10 +5,10 @@
-->
-
+
-
+
diff --git a/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts b/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts
index c0088a6f3..7c4a2c5c5 100644
--- a/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts
+++ b/src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts
@@ -1,5 +1,5 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
-import { dateFormatter } from '@/utils/formatTime'
+import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
import * as ProductionlineitemApi from '@/api/wms/productionlineitem'
@@ -289,7 +289,7 @@ export const ProcessproductionRequestDetail = useCrudSchemas(reactive {
}
const { tableObject, tableMethods } = useTable({
- getListApi: QadProductionPlanMainApi.getQadProductionPlanMainPage // 分页接口
+ getListApi: QadProductionPlanMainApi.getQadProductionPlanDetailPage // 分页接口
})
// 获得表格的各种操作
diff --git a/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts b/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts
index 01a9d1b4a..93884b7a8 100644
--- a/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts
+++ b/src/views/wms/productionManage/productionplan/qadproductionplan/qadProductionPlanMain.data.ts
@@ -1,5 +1,5 @@
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
-import { dateFormatter } from '@/utils/formatTime'
+import { dateFormatter2 } from '@/utils/formatTime'
// 表单校验
export const QadProductionPlanMainRules = reactive({
@@ -9,35 +9,31 @@ export const QadProductionPlanMainRules = reactive({
})
export const QadProductionPlanMain = useCrudSchemas(reactive([
- {
- label: '顺序',
- field: 'displayOrder',
- sort: 'custom',
- form: {
- component: 'InputNumber',
- value: 0
- },
- },
{
label: '单据号',
field: 'number',
sort: 'custom',
+ table: {
+ width: 350,
+ }
},
{
- label: '车间',
- field: 'workshop',
+ label: '物料代码',
+ field: 'itemCode',
sort: 'custom',
isSearch: true,
+ table: {
+ width: 150,
+ }
},
{
- label: '生产线',
- field: 'productionLine',
+ label: '计划数量',
+ field: 'planQty',
sort: 'custom',
- isSearch: true,
},
{
- label: '班次',
- field: 'shift',
+ label: '生产线',
+ field: 'productionLine',
sort: 'custom',
isSearch: true,
},
@@ -50,7 +46,7 @@ export const QadProductionPlanMain = useCrudSchemas(reactive([
label: '计划日期',
field: 'planDate',
sort: 'custom',
- formatter: dateFormatter,
+ formatter: dateFormatter2,
form: {
component: 'DatePicker',
componentProps: {
@@ -59,11 +55,6 @@ export const QadProductionPlanMain = useCrudSchemas(reactive([
}
},
},
- {
- label: '明细列表',
- field: 'details',
- sort: 'custom',
- },
{
label: '计划类型',
field: 'planType',
@@ -80,33 +71,33 @@ export const QadProductionPlanMain = useCrudSchemas(reactive([
component: 'SelectV2'
},
},
- {
- label: '备注',
- field: 'remark',
- sort: 'custom',
- },
- {
- label: '是否可用',
- field: 'available',
- sort: 'custom',
- isForm: false,
- },
- {
- label: '状态',
- field: 'status',
- sort: 'custom',
- isForm: false,
- },
- {
- label: '订单号',
- field: 'woNumber',
- sort: 'custom',
- },
- {
- label: '订单行',
- field: 'woLine',
- sort: 'custom',
- },
+ // {
+ // label: '备注',
+ // field: 'remark',
+ // sort: 'custom',
+ // },
+ // {
+ // label: '是否可用',
+ // field: 'available',
+ // sort: 'custom',
+ // isForm: false,
+ // },
+ // {
+ // label: '状态',
+ // field: 'status',
+ // sort: 'custom',
+ // isForm: false,
+ // },
+ // {
+ // label: '订单号',
+ // field: 'woNumber',
+ // sort: 'custom',
+ // },
+ // {
+ // label: '订单行',
+ // field: 'woLine',
+ // sort: 'custom',
+ // },
// {
// label: '操作',
// field: 'action',
diff --git a/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue b/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue
index 36f19ee82..b2a0b323e 100644
--- a/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue
+++ b/src/views/wms/productionManage/productputaway/productputawayRequestMain/index.vue
@@ -77,8 +77,8 @@
/>
-
+