🎨 style(mes): 统一代码格式,优化可读性
parent
920799534a
commit
76f47a476b
|
|
@ -35,6 +35,9 @@ export const CalTeamMemberApi = {
|
|||
|
||||
// 查询多个班组的成员列表
|
||||
getTeamMemberListByTeamIds: async (teamIds: number[]) => {
|
||||
return await request.get({ url: `/mes/cal/team-member/list-by-team`, params: { teamIds: teamIds.join(',') } })
|
||||
return await request.get({
|
||||
url: `/mes/cal/team-member/list-by-team`,
|
||||
params: { teamIds: teamIds.join(',') }
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ export interface MdWorkstationMachineVO {
|
|||
export const MdWorkstationMachineApi = {
|
||||
// 查询设备资源列表
|
||||
getWorkstationMachineList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId })
|
||||
return await request.get({
|
||||
url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId
|
||||
})
|
||||
},
|
||||
|
||||
// 新增设备资源
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@ export interface MdWorkstationToolVO {
|
|||
export const MdWorkstationToolApi = {
|
||||
// 查询工装夹具资源列表
|
||||
getWorkstationToolList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId })
|
||||
return await request.get({
|
||||
url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId
|
||||
})
|
||||
},
|
||||
|
||||
// 新增工装夹具资源
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@ export interface MdWorkstationWorkerVO {
|
|||
export const MdWorkstationWorkerApi = {
|
||||
// 查询人力资源列表
|
||||
getWorkstationWorkerList: async (workstationId: number) => {
|
||||
return await request.get({ url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId })
|
||||
return await request.get({
|
||||
url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId
|
||||
})
|
||||
},
|
||||
|
||||
// 新增人力资源
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ export interface ProProcessContentVO {
|
|||
export const ProProcessContentApi = {
|
||||
// 查询工序内容列表(按工序编号)
|
||||
getProcessContentListByProcessId: async (processId: number) => {
|
||||
return await request.get({ url: `/mes/pro/process-content/list-by-process?processId=` + processId })
|
||||
return await request.get({
|
||||
url: `/mes/pro/process-content/list-by-process?processId=` + processId
|
||||
})
|
||||
},
|
||||
|
||||
// 查询工序内容详情
|
||||
|
|
|
|||
|
|
@ -29,7 +29,9 @@ export const ProRouteProcessApi = {
|
|||
|
||||
// 按产品查询工序列表(自动查找关联的工艺路线)
|
||||
getRouteProcessListByProduct: async (productId: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-process/list-by-product?productId=` + productId })
|
||||
return await request.get({
|
||||
url: `/mes/pro/route-process/list-by-product?productId=` + productId
|
||||
})
|
||||
},
|
||||
|
||||
// 查询工艺路线工序详情
|
||||
|
|
|
|||
|
|
@ -19,7 +19,11 @@ export interface ProRouteProductBomVO {
|
|||
// MES 工艺路线产品 BOM API
|
||||
export const ProRouteProductBomApi = {
|
||||
// 查询工艺路线产品 BOM 列表
|
||||
getRouteProductBomList: async (params: { routeId: number; processId?: number; productId?: number }) => {
|
||||
getRouteProductBomList: async (params: {
|
||||
routeId: number
|
||||
processId?: number
|
||||
productId?: number
|
||||
}) => {
|
||||
return await request.get({ url: `/mes/pro/route-product-bom/list`, params })
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@ export const ProWorkOrderBomApi = {
|
|||
|
||||
// 获取工单物料需求列表
|
||||
getWorkOrderBomItemListByWorkOrderId: async (workOrderId: number) => {
|
||||
return await request.get({ url: `/mes/pro/work-order-bom/item-list-by-work-order-id?workOrderId=` + workOrderId })
|
||||
return await request.get({
|
||||
url: `/mes/pro/work-order-bom/item-list-by-work-order-id?workOrderId=` + workOrderId
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,10 @@ export const QcIndicatorResultApi = {
|
|||
|
||||
// 查询检验结果明细(含检测项模板):编辑传 id,新增不传
|
||||
getDetail: async (qcId: number, qcType: number, id?: number) => {
|
||||
return await request.get({ url: `/mes/qc/indicator-result/get-detail`, params: { id, qcId, qcType } })
|
||||
return await request.get({
|
||||
url: `/mes/qc/indicator-result/get-detail`,
|
||||
params: { id, qcId, qcType }
|
||||
})
|
||||
},
|
||||
|
||||
// 新增检验结果
|
||||
|
|
|
|||
|
|
@ -2,42 +2,42 @@ import request from '@/config/axios'
|
|||
|
||||
// MES 条码配置 VO
|
||||
export interface WmBarcodeConfigVO {
|
||||
id: number
|
||||
format: number
|
||||
bizType: number
|
||||
contentFormat: string
|
||||
contentExample: string
|
||||
autoGenerateFlag: boolean
|
||||
defaultTemplate: string
|
||||
status: number
|
||||
remark: string
|
||||
createTime: string
|
||||
id: number
|
||||
format: number
|
||||
bizType: number
|
||||
contentFormat: string
|
||||
contentExample: string
|
||||
autoGenerateFlag: boolean
|
||||
defaultTemplate: string
|
||||
status: number
|
||||
remark: string
|
||||
createTime: string
|
||||
}
|
||||
|
||||
// MES 条码配置 API
|
||||
export const WmBarcodeConfigApi = {
|
||||
// 查询条码配置分页
|
||||
getBarcodeConfigPage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/barcode-config/page', params })
|
||||
},
|
||||
// 查询条码配置分页
|
||||
getBarcodeConfigPage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/barcode-config/page', params })
|
||||
},
|
||||
|
||||
// 查询条码配置详情
|
||||
getBarcodeConfig: async (id: number) => {
|
||||
return await request.get({ url: '/mes/wm/barcode-config/get?id=' + id })
|
||||
},
|
||||
// 查询条码配置详情
|
||||
getBarcodeConfig: async (id: number) => {
|
||||
return await request.get({ url: '/mes/wm/barcode-config/get?id=' + id })
|
||||
},
|
||||
|
||||
// 新增条码配置
|
||||
createBarcodeConfig: async (data: WmBarcodeConfigVO) => {
|
||||
return await request.post({ url: '/mes/wm/barcode-config/create', data })
|
||||
},
|
||||
// 新增条码配置
|
||||
createBarcodeConfig: async (data: WmBarcodeConfigVO) => {
|
||||
return await request.post({ url: '/mes/wm/barcode-config/create', data })
|
||||
},
|
||||
|
||||
// 修改条码配置
|
||||
updateBarcodeConfig: async (data: WmBarcodeConfigVO) => {
|
||||
return await request.put({ url: '/mes/wm/barcode-config/update', data })
|
||||
},
|
||||
// 修改条码配置
|
||||
updateBarcodeConfig: async (data: WmBarcodeConfigVO) => {
|
||||
return await request.put({ url: '/mes/wm/barcode-config/update', data })
|
||||
},
|
||||
|
||||
// 删除条码配置
|
||||
deleteBarcodeConfig: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/barcode-config/delete?id=' + id })
|
||||
}
|
||||
// 删除条码配置
|
||||
deleteBarcodeConfig: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/barcode-config/delete?id=' + id })
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,4 +62,4 @@ export const WmBarcodeApi = {
|
|||
params: { bizType, bizCode }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,10 @@ export interface WmItemReceiptDetailVO {
|
|||
export const WmItemReceiptDetailApi = {
|
||||
// 查询采购入库明细列表(按行编号)
|
||||
getItemReceiptDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/item-receipt-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/item-receipt-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询采购入库明细详情
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@ export const WmMiscReceiptLineApi = {
|
|||
|
||||
// 查询杂项入库单行列表
|
||||
getMiscReceiptLineListByReceiptId: async (receiptId: number) => {
|
||||
return await request.get({ url: '/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=' + receiptId })
|
||||
return await request.get({
|
||||
url: '/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=' + receiptId
|
||||
})
|
||||
},
|
||||
|
||||
// 新增杂项入库单行
|
||||
|
|
|
|||
|
|
@ -28,7 +28,10 @@ export interface WmOutsourceIssueDetailVO {
|
|||
export const WmOutsourceIssueDetailApi = {
|
||||
// 查询外协发料单明细列表(按行编号)
|
||||
getOutsourceIssueDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/outsource-issue-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/outsource-issue-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询外协发料单明细详情
|
||||
|
|
|
|||
|
|
@ -20,7 +20,10 @@ export interface WmOutsourceReceiptDetailVO {
|
|||
export const WmOutsourceReceiptDetailApi = {
|
||||
// 查询委外收货明细列表(按行编号)
|
||||
getOutsourceReceiptDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/outsource-receipt-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/outsource-receipt-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询委外收货明细详情
|
||||
|
|
|
|||
|
|
@ -2,76 +2,79 @@ import request from '@/config/axios'
|
|||
|
||||
// 装箱单 VO
|
||||
export interface WmPackageVO {
|
||||
id: number
|
||||
code: string
|
||||
parentId?: number
|
||||
packageDate: number
|
||||
salesOrderCode?: string
|
||||
invoiceCode?: string
|
||||
clientId?: number
|
||||
clientCode?: string
|
||||
clientName?: string
|
||||
clientNickname?: string
|
||||
length?: number
|
||||
width?: number
|
||||
height?: number
|
||||
sizeUnitId?: number
|
||||
sizeUnitName?: string
|
||||
netWeight?: number
|
||||
grossWeight?: number
|
||||
weightUnitId?: number
|
||||
weightUnitName?: string
|
||||
inspectorUserId?: number
|
||||
inspectorName?: string
|
||||
status: number
|
||||
remark?: string
|
||||
createTime: string
|
||||
id: number
|
||||
code: string
|
||||
parentId?: number
|
||||
packageDate: number
|
||||
salesOrderCode?: string
|
||||
invoiceCode?: string
|
||||
clientId?: number
|
||||
clientCode?: string
|
||||
clientName?: string
|
||||
clientNickname?: string
|
||||
length?: number
|
||||
width?: number
|
||||
height?: number
|
||||
sizeUnitId?: number
|
||||
sizeUnitName?: string
|
||||
netWeight?: number
|
||||
grossWeight?: number
|
||||
weightUnitId?: number
|
||||
weightUnitName?: string
|
||||
inspectorUserId?: number
|
||||
inspectorName?: string
|
||||
status: number
|
||||
remark?: string
|
||||
createTime: string
|
||||
}
|
||||
|
||||
// 装箱单 API
|
||||
export const WmPackageApi = {
|
||||
// 创建装箱单
|
||||
createPackage: async (data: WmPackageVO) => {
|
||||
return await request.post({ url: '/mes/wm/package/create', data })
|
||||
},
|
||||
// 创建装箱单
|
||||
createPackage: async (data: WmPackageVO) => {
|
||||
return await request.post({ url: '/mes/wm/package/create', data })
|
||||
},
|
||||
|
||||
// 修改装箱单
|
||||
updatePackage: async (data: WmPackageVO) => {
|
||||
return await request.put({ url: '/mes/wm/package/update', data })
|
||||
},
|
||||
// 修改装箱单
|
||||
updatePackage: async (data: WmPackageVO) => {
|
||||
return await request.put({ url: '/mes/wm/package/update', data })
|
||||
},
|
||||
|
||||
// 删除装箱单
|
||||
deletePackage: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/package/delete?id=' + id })
|
||||
},
|
||||
// 删除装箱单
|
||||
deletePackage: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/package/delete?id=' + id })
|
||||
},
|
||||
|
||||
// 获取装箱单详情
|
||||
getPackage: async (id: number) => {
|
||||
return await request.get<WmPackageVO>({ url: '/mes/wm/package/get?id=' + id })
|
||||
},
|
||||
// 获取装箱单详情
|
||||
getPackage: async (id: number) => {
|
||||
return await request.get<WmPackageVO>({ url: '/mes/wm/package/get?id=' + id })
|
||||
},
|
||||
|
||||
// 分页查询装箱单
|
||||
getPackagePage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/package/page', params })
|
||||
},
|
||||
// 分页查询装箱单
|
||||
getPackagePage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/package/page', params })
|
||||
},
|
||||
|
||||
// 完成装箱单
|
||||
finishPackage: async (id: number) => {
|
||||
return await request.put({ url: '/mes/wm/package/finish?id=' + id })
|
||||
},
|
||||
// 完成装箱单
|
||||
finishPackage: async (id: number) => {
|
||||
return await request.put({ url: '/mes/wm/package/finish?id=' + id })
|
||||
},
|
||||
|
||||
// 添加子箱
|
||||
addChildPackage: async (parentId: number, childId: number) => {
|
||||
return await request.put({ url: '/mes/wm/package/add-child-package', params: { parentId, childId } })
|
||||
},
|
||||
// 添加子箱
|
||||
addChildPackage: async (parentId: number, childId: number) => {
|
||||
return await request.put({
|
||||
url: '/mes/wm/package/add-child-package',
|
||||
params: { parentId, childId }
|
||||
})
|
||||
},
|
||||
|
||||
// 移除子箱
|
||||
removeChildPackage: async (childId: number) => {
|
||||
return await request.put({ url: '/mes/wm/package/remove-child-package?childId=' + childId })
|
||||
},
|
||||
// 移除子箱
|
||||
removeChildPackage: async (childId: number) => {
|
||||
return await request.put({ url: '/mes/wm/package/remove-child-package?childId=' + childId })
|
||||
},
|
||||
|
||||
// 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态,用于选择父箱)
|
||||
getChildablePackageSimpleList: async () => {
|
||||
return await request.get<WmPackageVO[]>({ url: '/mes/wm/package/childable-simple-list' })
|
||||
}
|
||||
// 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态,用于选择父箱)
|
||||
getChildablePackageSimpleList: async () => {
|
||||
return await request.get<WmPackageVO[]>({ url: '/mes/wm/package/childable-simple-list' })
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,48 +1,48 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
export interface WmPackageLineVO {
|
||||
id?: number
|
||||
packageId: number
|
||||
materialStockId?: number
|
||||
itemId: number
|
||||
itemCode?: string
|
||||
itemName?: string
|
||||
specification?: string
|
||||
unitMeasureName?: string
|
||||
quantity: number
|
||||
workOrderId?: number
|
||||
workOrderCode?: string
|
||||
batchCode?: string
|
||||
expireDate?: number
|
||||
remark?: string
|
||||
createTime?: string
|
||||
id?: number
|
||||
packageId: number
|
||||
materialStockId?: number
|
||||
itemId: number
|
||||
itemCode?: string
|
||||
itemName?: string
|
||||
specification?: string
|
||||
unitMeasureName?: string
|
||||
quantity: number
|
||||
workOrderId?: number
|
||||
workOrderCode?: string
|
||||
batchCode?: string
|
||||
expireDate?: number
|
||||
remark?: string
|
||||
createTime?: string
|
||||
}
|
||||
|
||||
// 装箱明细 API
|
||||
export const WmPackageLineApi = {
|
||||
// 创建装箱明细
|
||||
createPackageLine: async (data: WmPackageLineVO) => {
|
||||
return await request.post({ url: '/mes/wm/package-line/create', data })
|
||||
},
|
||||
// 创建装箱明细
|
||||
createPackageLine: async (data: WmPackageLineVO) => {
|
||||
return await request.post({ url: '/mes/wm/package-line/create', data })
|
||||
},
|
||||
|
||||
// 修改装箱明细
|
||||
updatePackageLine: async (data: WmPackageLineVO) => {
|
||||
return await request.put({ url: '/mes/wm/package-line/update', data })
|
||||
},
|
||||
// 修改装箱明细
|
||||
updatePackageLine: async (data: WmPackageLineVO) => {
|
||||
return await request.put({ url: '/mes/wm/package-line/update', data })
|
||||
},
|
||||
|
||||
// 删除装箱明细
|
||||
deletePackageLine: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/package-line/delete?id=' + id })
|
||||
},
|
||||
// 删除装箱明细
|
||||
deletePackageLine: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/package-line/delete?id=' + id })
|
||||
},
|
||||
|
||||
// 获取装箱明细详情
|
||||
getPackageLine: async (id: number) => {
|
||||
return await request.get<WmPackageLineVO>({ url: '/mes/wm/package-line/get?id=' + id })
|
||||
},
|
||||
// 获取装箱明细详情
|
||||
getPackageLine: async (id: number) => {
|
||||
return await request.get<WmPackageLineVO>({ url: '/mes/wm/package-line/get?id=' + id })
|
||||
},
|
||||
|
||||
// 分页查询装箱明细
|
||||
getPackageLinePage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/package-line/page', params })
|
||||
}
|
||||
// DONE @AI:这个接口不需要;是不是前后端都删除掉
|
||||
// 分页查询装箱明细
|
||||
getPackageLinePage: async (params: any) => {
|
||||
return await request.get({ url: '/mes/wm/package-line/page', params })
|
||||
}
|
||||
// DONE @AI:这个接口不需要;是不是前后端都删除掉
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,10 @@ export interface WmProductIssueDetailVO {
|
|||
export const WmProductIssueDetailApi = {
|
||||
// 查询领料出库明细列表(按行编号)
|
||||
getProductIssueDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/product-issue-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/product-issue-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询领料出库明细详情
|
||||
|
|
|
|||
|
|
@ -28,7 +28,10 @@ export const WmProductReceiptDetailApi = {
|
|||
|
||||
// 根据行项目ID查询产品入库单明细列表
|
||||
getProductReceiptDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/product-receipt-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/product-receipt-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询产品入库单明细详情
|
||||
|
|
|
|||
|
|
@ -24,7 +24,10 @@ export interface WmProductSalesDetailVO {
|
|||
export const WmProductSalesDetailApi = {
|
||||
// 查询销售出库明细列表(按行编号)
|
||||
getProductSalesDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/product-sales-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/product-sales-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询销售出库明细详情
|
||||
|
|
|
|||
|
|
@ -23,7 +23,10 @@ export interface WmReturnIssueDetailVO {
|
|||
export const WmReturnIssueDetailApi = {
|
||||
// 查询生产退料明细列表(按行编号)
|
||||
getReturnIssueDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/return-issue-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/return-issue-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询生产退料明细详情
|
||||
|
|
|
|||
|
|
@ -22,7 +22,10 @@ export interface WmReturnSalesDetailVO {
|
|||
export const WmReturnSalesDetailApi = {
|
||||
// 查询销售退货明细列表(按行编号)
|
||||
getReturnSalesDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/return-sales-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/return-sales-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询销售退货明细详情
|
||||
|
|
|
|||
|
|
@ -23,7 +23,10 @@ export interface WmReturnVendorDetailVO {
|
|||
export const WmReturnVendorDetailApi = {
|
||||
// 查询供应商退货明细列表(按行编号)
|
||||
getReturnVendorDetailListByLineId: async (lineId: number) => {
|
||||
return await request.get({ url: '/mes/wm/return-vendor-detail/list-by-line', params: { lineId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/return-vendor-detail/list-by-line',
|
||||
params: { lineId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询供应商退货明细详情
|
||||
|
|
|
|||
|
|
@ -16,7 +16,9 @@ export interface StockTakingPlanVO {
|
|||
|
||||
export const StockTakingPlanApi = {
|
||||
updateStockTakingPlanStatus: async (id: number, status: number) => {
|
||||
return await request.put({ url: '/mes/wm/stocktaking-plan/update-status?id=' + id + '&status=' + status })
|
||||
return await request.put({
|
||||
url: '/mes/wm/stocktaking-plan/update-status?id=' + id + '&status=' + status
|
||||
})
|
||||
},
|
||||
|
||||
getStockTakingPlanPage: async (params: any) => {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ export const StockTakingPlanParamApi = {
|
|||
return await request.get({ url: '/mes/wm/stocktaking-plan-param/page', params })
|
||||
},
|
||||
|
||||
|
||||
createStockTakingPlanParam: async (data: StockTakingPlanParamVO) => {
|
||||
return await request.post({ url: '/mes/wm/stocktaking-plan-param/create', data })
|
||||
},
|
||||
|
|
|
|||
|
|
@ -30,7 +30,10 @@ export const StockTakingTaskLineApi = {
|
|||
},
|
||||
|
||||
getStockTakingTaskLineSimpleList: async (taskId: number) => {
|
||||
return await request.get({ url: '/mes/wm/stocktaking-task-line/simple-list', params: { taskId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/stocktaking-task-line/simple-list',
|
||||
params: { taskId }
|
||||
})
|
||||
},
|
||||
|
||||
getStockTakingTaskLine: async (id: number) => {
|
||||
|
|
|
|||
|
|
@ -49,6 +49,5 @@ export const WmTransferDetailApi = {
|
|||
// 删除调拨明细
|
||||
deleteTransferDetail: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/transfer-detail/delete?id=' + id })
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,4 +75,4 @@ export const WmTransferApi = {
|
|||
exportTransfer: async (params: any) => {
|
||||
return await request.download({ url: '/mes/wm/transfer/export-excel', params })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,6 +49,5 @@ export const WmTransferLineApi = {
|
|||
// 删除转移单行
|
||||
deleteTransferLine: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/transfer-line/delete?id=' + id })
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,5 +52,5 @@ export const WmWarehouseAreaApi = {
|
|||
// 删除库位
|
||||
deleteWarehouseArea: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/warehouse-area/delete?id=' + id })
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,5 +43,5 @@ export const WmWarehouseApi = {
|
|||
// 删除仓库
|
||||
deleteWarehouse: async (id: number) => {
|
||||
return await request.delete({ url: '/mes/wm/warehouse/delete?id=' + id })
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,10 @@ export const WmWarehouseLocationApi = {
|
|||
|
||||
// 查询库区精简列表
|
||||
getWarehouseLocationSimpleList: async (warehouseId?: number) => {
|
||||
return await request.get({ url: '/mes/wm/warehouse-location/simple-list', params: { warehouseId } })
|
||||
return await request.get({
|
||||
url: '/mes/wm/warehouse-location/simple-list',
|
||||
params: { warehouseId }
|
||||
})
|
||||
},
|
||||
|
||||
// 查询库区详情
|
||||
|
|
@ -47,10 +50,14 @@ export const WmWarehouseLocationApi = {
|
|||
},
|
||||
|
||||
// 批量设置库区下所有库位的混放规则
|
||||
updateAreaByLocationId: async (locationId: number, allowItemMixing?: boolean, allowBatchMixing?: boolean) => {
|
||||
updateAreaByLocationId: async (
|
||||
locationId: number,
|
||||
allowItemMixing?: boolean,
|
||||
allowBatchMixing?: boolean
|
||||
) => {
|
||||
return await request.put({
|
||||
url: '/mes/wm/warehouse-location/update-by-location-id',
|
||||
params: { locationId, allowItemMixing, allowBatchMixing }
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,12 +29,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
|
||||
:key="dict.value"
|
||||
|
|
@ -44,12 +39,8 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery">
|
||||
<Icon icon="ep:search" class="mr-5px" /> 搜索
|
||||
</el-button>
|
||||
<el-button @click="resetQuery">
|
||||
<Icon icon="ep:refresh" class="mr-5px" /> 重置
|
||||
</el-button>
|
||||
<el-button @click="handleQuery"> <Icon icon="ep:search" class="mr-5px" /> 搜索 </el-button>
|
||||
<el-button @click="resetQuery"> <Icon icon="ep:refresh" class="mr-5px" /> 重置 </el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
|
|
|
|||
|
|
@ -1,26 +1,30 @@
|
|||
<!-- 排班日历 - 配色图例说明 -->
|
||||
<template>
|
||||
<div class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px">
|
||||
<div
|
||||
class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px"
|
||||
>
|
||||
<span class="text-#909399 shrink-0">配色说明:</span>
|
||||
<span class="flex items-center gap-4px">
|
||||
<span class="legend-dot bg-#95d475" ></span>
|
||||
<span class="legend-dot bg-#95d475"></span>
|
||||
白班
|
||||
</span>
|
||||
<span class="flex items-center gap-4px">
|
||||
<span class="legend-dot bg-#f0a020" ></span>
|
||||
<span class="legend-dot bg-#f0a020"></span>
|
||||
中班(三班倒)
|
||||
</span>
|
||||
<span class="flex items-center gap-4px">
|
||||
<span class="legend-dot bg-#909399" ></span>
|
||||
<span class="legend-dot bg-#909399"></span>
|
||||
中班(两班倒)/ 夜班
|
||||
</span>
|
||||
<span class="flex items-center gap-4px">
|
||||
<span class="legend-dot bg-#f56c6c opacity-60" ></span>
|
||||
<span class="legend-dot bg-#f56c6c opacity-60"></span>
|
||||
<span class="text-#f56c6c">红色日期</span>
|
||||
= 周末
|
||||
</span>
|
||||
<span class="flex items-center gap-4px">
|
||||
<el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px">休</el-tag>
|
||||
<el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px"
|
||||
>休</el-tag
|
||||
>
|
||||
= 节假日(不显示排班)
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@
|
|||
<el-form-item label="计划编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入计划编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -74,7 +72,10 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8" v-if="formData.shiftType && formData.shiftType !== MesCalShiftTypeEnum.SINGLE">
|
||||
<el-col
|
||||
:span="8"
|
||||
v-if="formData.shiftType && formData.shiftType !== MesCalShiftTypeEnum.SINGLE"
|
||||
>
|
||||
<el-form-item label="倒班方式" prop="shiftMethod">
|
||||
<el-select v-model="formData.shiftMethod" placeholder="请选择倒班方式" class="!w-1/1">
|
||||
<el-option
|
||||
|
|
@ -139,7 +140,11 @@
|
|||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { CalPlanApi, CalPlanVO } from '@/api/mes/cal/plan'
|
||||
import { generateRandomStr } from '@/utils'
|
||||
import { MesCalPlanStatusEnum, MesCalShiftTypeEnum, MesCalShiftMethodEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesCalPlanStatusEnum,
|
||||
MesCalShiftTypeEnum,
|
||||
MesCalShiftMethodEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
import CalShiftList from './CalShiftList.vue'
|
||||
import CalPlanTeamList from './CalPlanTeamList.vue'
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,13 @@
|
|||
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px" v-loading="formLoading">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="80px"
|
||||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="班组" prop="teamId">
|
||||
<el-select v-model="formData.teamId" placeholder="请选择班组" class="!w-1/1">
|
||||
<el-option
|
||||
|
|
|
|||
|
|
@ -28,12 +28,7 @@
|
|||
v-loading="formLoading"
|
||||
>
|
||||
<el-form-item label="用户" prop="userId">
|
||||
<el-select
|
||||
v-model="formData.userId"
|
||||
placeholder="请选择用户"
|
||||
filterable
|
||||
class="!w-1/1"
|
||||
>
|
||||
<el-select v-model="formData.userId" placeholder="请选择用户" filterable class="!w-1/1">
|
||||
<el-option
|
||||
v-for="user in userList"
|
||||
:key="user.id"
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@
|
|||
<el-form-item label="方案编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入方案编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -51,7 +51,11 @@
|
|||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="异常描述" prop="checkResult" v-if="formData.checkStatus === MesDvCheckResultEnum.ABNORMAL">
|
||||
<el-form-item
|
||||
label="异常描述"
|
||||
prop="checkResult"
|
||||
v-if="formData.checkStatus === MesDvCheckResultEnum.ABNORMAL"
|
||||
>
|
||||
<el-input v-model="formData.checkResult" type="textarea" placeholder="请输入异常描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="设备编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入设备编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -51,7 +51,12 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_MACHINERY_STATUS)"
|
||||
:key="dict.value"
|
||||
|
|
@ -61,8 +66,12 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||
<el-button @click="handleQuery"
|
||||
><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button
|
||||
>
|
||||
<el-button @click="resetQuery"
|
||||
><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
|
|
|
|||
|
|
@ -175,5 +175,4 @@ watch(
|
|||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -30,7 +30,12 @@
|
|||
<DvMachinerySelect v-model="queryParams.machineryId" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="维修结果" prop="result">
|
||||
<el-select v-model="queryParams.result" placeholder="请选择维修结果" clearable class="!w-240px">
|
||||
<el-select
|
||||
v-model="queryParams.result"
|
||||
placeholder="请选择维修结果"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_REPAIR_RESULT)"
|
||||
:key="dict.value"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,12 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择项目类型" clearable class="!w-240px">
|
||||
<el-select
|
||||
v-model="queryParams.type"
|
||||
placeholder="请选择项目类型"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_SUBJECT_TYPE)"
|
||||
:key="dict.value"
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
<template>
|
||||
<div class="overflow-hidden">
|
||||
<!-- 客户详情-产品清单 tab(复用 getProductSalesLinePage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
|
||||
{{ scope.row.itemCode }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料名称" align="center" prop="itemName" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" />
|
||||
<el-table-column label="单位" align="center" prop="unitMeasureName" />
|
||||
<el-table-column label="出库数量" align="center" prop="quantity" />
|
||||
<el-table-column label="批次号" align="center" prop="batchCode" />
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<!-- 客户详情-产品清单 tab(复用 getProductSalesLinePage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
|
||||
{{ scope.row.itemCode }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料名称" align="center" prop="itemName" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" />
|
||||
<el-table-column label="单位" align="center" prop="unitMeasureName" />
|
||||
<el-table-column label="出库数量" align="center" prop="quantity" />
|
||||
<el-table-column label="批次号" align="center" prop="batchCode" />
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 物料详情弹窗 -->
|
||||
<MdItemForm ref="itemFormRef" />
|
||||
<!-- 物料详情弹窗 -->
|
||||
<MdItemForm ref="itemFormRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,37 +1,37 @@
|
|||
<template>
|
||||
<div class="overflow-hidden">
|
||||
<!-- 客户详情-销售记录 tab(复用 getProductSalesPage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="出库单编号" align="center" prop="code" min-width="160">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleDetail(scope.row.id)">
|
||||
{{ scope.row.code }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出库单名称" align="center" prop="name" min-width="150" />
|
||||
<el-table-column
|
||||
label="出库日期"
|
||||
align="center"
|
||||
prop="salesDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
<!-- 客户详情-销售记录 tab(复用 getProductSalesPage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="出库单编号" align="center" prop="code" min-width="160">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleDetail(scope.row.id)">
|
||||
{{ scope.row.code }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出库单名称" align="center" prop="name" min-width="150" />
|
||||
<el-table-column
|
||||
label="出库日期"
|
||||
align="center"
|
||||
prop="salesDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCT_SALES_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCT_SALES_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 销售出库单详情弹窗 -->
|
||||
<ProductSalesForm ref="formRef" />
|
||||
<!-- 销售出库单详情弹窗 -->
|
||||
<ProductSalesForm ref="formRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="客户编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入客户编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,12 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择客户类型" clearable class="!w-240px">
|
||||
<el-select
|
||||
v-model="queryParams.type"
|
||||
placeholder="请选择客户类型"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_CLIENT_TYPE)"
|
||||
:key="dict.value"
|
||||
|
|
@ -75,12 +80,7 @@
|
|||
>
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
@click="handleImport"
|
||||
v-hasPermi="['mes:md-client:import']"
|
||||
>
|
||||
<el-button type="warning" plain @click="handleImport" v-hasPermi="['mes:md-client:import']">
|
||||
<Icon icon="ep:upload" class="mr-5px" /> 导入
|
||||
</el-button>
|
||||
<el-button
|
||||
|
|
|
|||
|
|
@ -14,9 +14,7 @@
|
|||
<el-form-item label="物料编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入物料编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="供应商编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入供应商编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
<template>
|
||||
<div class="overflow-hidden">
|
||||
<!-- 供应商详情-物料清单 tab(复用 getItemReceiptLinePage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
|
||||
{{ scope.row.itemCode }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料名称" align="center" prop="itemName" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" />
|
||||
<el-table-column label="单位" align="center" prop="unitMeasureName" />
|
||||
<el-table-column label="入库数量" align="center" prop="receivedQuantity" />
|
||||
<el-table-column label="批次号" align="center" prop="batchCode" />
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<!-- 供应商详情-物料清单 tab(复用 getItemReceiptLinePage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
|
||||
{{ scope.row.itemCode }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料名称" align="center" prop="itemName" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" />
|
||||
<el-table-column label="单位" align="center" prop="unitMeasureName" />
|
||||
<el-table-column label="入库数量" align="center" prop="receivedQuantity" />
|
||||
<el-table-column label="批次号" align="center" prop="batchCode" />
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 物料详情弹窗 -->
|
||||
<MdItemForm ref="itemFormRef" />
|
||||
<!-- 物料详情弹窗 -->
|
||||
<MdItemForm ref="itemFormRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,37 +1,37 @@
|
|||
<template>
|
||||
<div class="overflow-hidden">
|
||||
<!-- 供应商详情-采购记录 tab(复用 getItemReceiptPage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="入库单编号" align="center" prop="code" min-width="160">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleDetail(scope.row.id)">
|
||||
{{ scope.row.code }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入库单名称" align="center" prop="name" min-width="150" />
|
||||
<el-table-column
|
||||
label="入库日期"
|
||||
align="center"
|
||||
prop="receiptDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
<!-- 供应商详情-采购记录 tab(复用 getItemReceiptPage 分页接口) -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="入库单编号" align="center" prop="code" min-width="160">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleDetail(scope.row.id)">
|
||||
{{ scope.row.code }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入库单名称" align="center" prop="name" min-width="150" />
|
||||
<el-table-column
|
||||
label="入库日期"
|
||||
align="center"
|
||||
prop="receiptDate"
|
||||
:formatter="dateFormatter2"
|
||||
width="180px"
|
||||
/>
|
||||
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_WM_ITEM_RECEIPT_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_WM_ITEM_RECEIPT_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 采购入库单详情弹窗 -->
|
||||
<ItemReceiptForm ref="formRef" />
|
||||
<!-- 采购入库单详情弹窗 -->
|
||||
<ItemReceiptForm ref="formRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="工作站编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工作站编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,10 +27,20 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在车间" prop="workshopId">
|
||||
<MdWorkshopSelect v-model="queryParams.workshopId" placeholder="请选择车间" clearable class="!w-240px" />
|
||||
<MdWorkshopSelect
|
||||
v-model="queryParams.workshopId"
|
||||
placeholder="请选择车间"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属工序" prop="processId">
|
||||
<ProProcessSelect v-model="queryParams.processId" placeholder="请选择工序" clearable class="!w-240px" />
|
||||
<ProProcessSelect
|
||||
v-model="queryParams.processId"
|
||||
placeholder="请选择工序"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
|
||||
|
|
|
|||
|
|
@ -23,12 +23,23 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="面积" prop="area">
|
||||
<el-input-number v-model="formData.area" :precision="2" :min="0" controls-position="right" class="!w-1/1" />
|
||||
<el-input-number
|
||||
v-model="formData.area"
|
||||
:precision="2"
|
||||
:min="0"
|
||||
controls-position="right"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人" prop="chargeUserId">
|
||||
<el-select v-model="formData.chargeUserId" placeholder="请选择负责人" clearable class="!w-1/1">
|
||||
<el-select
|
||||
v-model="formData.chargeUserId"
|
||||
placeholder="请选择负责人"
|
||||
clearable
|
||||
class="!w-1/1"
|
||||
>
|
||||
<el-option
|
||||
v-for="user in userList"
|
||||
:key="user.id"
|
||||
|
|
@ -63,7 +74,9 @@
|
|||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
|
|
|||
|
|
@ -60,11 +60,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.remark"
|
||||
placeholder="请输入备注"
|
||||
/>
|
||||
<el-input v-if="scope.row.editing" v-model="scope.row.remark" placeholder="请输入备注" />
|
||||
<span v-else>{{ scope.row.remark || '-' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
|||
|
|
@ -10,12 +10,7 @@
|
|||
class="!w-1/1"
|
||||
@change="handleChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in filteredList"
|
||||
:key="item.id"
|
||||
:label="item.reason"
|
||||
:value="item.id"
|
||||
>
|
||||
<el-option v-for="item in filteredList" :key="item.id" :label="item.reason" :value="item.id">
|
||||
<div class="flex items-center gap-8px">
|
||||
<span>{{ item.reason }}</span>
|
||||
<dict-tag :type="DICT_TYPE.MES_PRO_ANDON_LEVEL" :value="item.level" />
|
||||
|
|
@ -64,9 +59,7 @@ const handleFilter = (query: string) => {
|
|||
return
|
||||
}
|
||||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) => item.reason?.toLowerCase().includes(keyword)
|
||||
)
|
||||
filteredList.value = allList.value.filter((item) => item.reason?.toLowerCase().includes(keyword))
|
||||
}
|
||||
|
||||
/** 选中变化 */
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="流转卡编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入流转卡编码" :disabled="isDetail">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -170,7 +170,12 @@
|
|||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-if="scope.row.status === MesProFeedbackStatusEnum.APPROVING && scope.row.approveUserId === currentUserId">
|
||||
<template
|
||||
v-if="
|
||||
scope.row.status === MesProFeedbackStatusEnum.APPROVING &&
|
||||
scope.row.approveUserId === currentUserId
|
||||
"
|
||||
>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="工序编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工序编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -60,8 +60,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,7 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
|
||||
:key="dict.value"
|
||||
|
|
@ -43,12 +38,8 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery"
|
||||
><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button
|
||||
>
|
||||
<el-button @click="resetQuery"
|
||||
><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button
|
||||
>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
|
||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入编码">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -10,8 +10,20 @@
|
|||
<!-- 列表 -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="序号" align="center" prop="sort" width="70" fixed="left" />
|
||||
<el-table-column label="工序编码" align="center" prop="processCode" width="120" fixed="left" />
|
||||
<el-table-column label="工序名称" align="center" prop="processName" width="120" fixed="left" />
|
||||
<el-table-column
|
||||
label="工序编码"
|
||||
align="center"
|
||||
prop="processCode"
|
||||
width="120"
|
||||
fixed="left"
|
||||
/>
|
||||
<el-table-column
|
||||
label="工序名称"
|
||||
align="center"
|
||||
prop="processName"
|
||||
width="120"
|
||||
fixed="left"
|
||||
/>
|
||||
<el-table-column label="下一道工序" align="center" prop="nextProcessName" width="120" />
|
||||
<el-table-column label="与下一道工序关系" align="center" prop="linkType" width="150">
|
||||
<template #default="scope">
|
||||
|
|
@ -40,7 +52,10 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="颜色" align="center" prop="colorCode" width="100">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.colorCode" style="display: flex; align-items: center; justify-content: center; gap: 4px">
|
||||
<div
|
||||
v-if="scope.row.colorCode"
|
||||
style="display: flex; align-items: center; justify-content: center; gap: 4px"
|
||||
>
|
||||
<div
|
||||
:style="{
|
||||
backgroundColor: scope.row.colorCode,
|
||||
|
|
|
|||
|
|
@ -182,5 +182,4 @@ watch(
|
|||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -63,8 +63,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.code?.toLowerCase().includes(keyword) ||
|
||||
item.name?.toLowerCase().includes(keyword)
|
||||
item.code?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="工单编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工单编码" :disabled="isDetail">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -74,10 +72,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品" prop="productId">
|
||||
<MdItemSelect
|
||||
v-model="formData.productId"
|
||||
:disabled="isDetail"
|
||||
/>
|
||||
<MdItemSelect v-model="formData.productId" :disabled="isDetail" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.code?.toLowerCase().includes(keyword) ||
|
||||
item.name?.toLowerCase().includes(keyword)
|
||||
item.code?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,92 +2,96 @@
|
|||
<template>
|
||||
<Dialog title="缺陷记录" v-model="dialogVisible" width="900px">
|
||||
<div class="overflow-hidden">
|
||||
<!-- 新增按钮 -->
|
||||
<el-row class="mb-10px">
|
||||
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['mes:qc-defect:create']">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增缺陷
|
||||
</el-button>
|
||||
</el-row>
|
||||
<!-- 新增按钮 -->
|
||||
<el-row class="mb-10px">
|
||||
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['mes:qc-defect:create']">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增缺陷
|
||||
</el-button>
|
||||
</el-row>
|
||||
|
||||
<!-- 内联编辑表格 -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="缺陷描述" align="center" min-width="200">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.name"
|
||||
placeholder="请输入缺陷描述"
|
||||
/>
|
||||
<span v-else>{{ scope.row.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺陷等级" align="center" width="140">
|
||||
<template #default="scope">
|
||||
<el-select v-if="scope.row.editing" v-model="scope.row.level" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_LEVEL)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
<!-- 内联编辑表格 -->
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="缺陷描述" align="center" min-width="200">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.name"
|
||||
placeholder="请输入缺陷描述"
|
||||
/>
|
||||
</el-select>
|
||||
<dict-tag v-else :type="DICT_TYPE.MES_DEFECT_LEVEL" :value="scope.row.level" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺陷数量" align="center" width="120">
|
||||
<template #default="scope">
|
||||
<el-input-number
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.quantity"
|
||||
:min="1"
|
||||
controls-position="right"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
<span v-else>{{ scope.row.quantity }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" min-width="150">
|
||||
<template #default="scope">
|
||||
<el-input v-if="scope.row.editing" v-model="scope.row.remark" placeholder="请输入备注" />
|
||||
<span v-else>{{ scope.row.remark || '-' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="130" fixed="right">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.editing">
|
||||
<el-button link type="success" @click="handleSave(scope.row)">保存</el-button>
|
||||
<el-button link type="info" @click="handleCancel(scope.row, scope.$index)">
|
||||
取消
|
||||
</el-button>
|
||||
<span v-else>{{ scope.row.name }}</span>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)"
|
||||
v-hasPermi="['mes:qc-defect:update']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['mes:qc-defect:update']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺陷等级" align="center" width="140">
|
||||
<template #default="scope">
|
||||
<el-select v-if="scope.row.editing" v-model="scope.row.level" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_LEVEL)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
<dict-tag v-else :type="DICT_TYPE.MES_DEFECT_LEVEL" :value="scope.row.level" />
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</el-table-column>
|
||||
<el-table-column label="缺陷数量" align="center" width="120">
|
||||
<template #default="scope">
|
||||
<el-input-number
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.quantity"
|
||||
:min="1"
|
||||
controls-position="right"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
<span v-else>{{ scope.row.quantity }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" min-width="150">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
v-if="scope.row.editing"
|
||||
v-model="scope.row.remark"
|
||||
placeholder="请输入备注"
|
||||
/>
|
||||
<span v-else>{{ scope.row.remark || '-' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="130" fixed="right">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.editing">
|
||||
<el-button link type="success" @click="handleSave(scope.row)">保存</el-button>
|
||||
<el-button link type="info" @click="handleCancel(scope.row, scope.$index)">
|
||||
取消
|
||||
</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="handleEdit(scope.row)"
|
||||
v-hasPermi="['mes:qc-defect:update']"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['mes:qc-defect:update']"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="样品编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入样品编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
<el-form-item label="检验单编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入检验单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
<el-form-item label="检验单编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入检验单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
<el-form-item label="检验单编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入检验单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -233,7 +231,9 @@
|
|||
</template>
|
||||
|
||||
<template #footer>
|
||||
<el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail"> 保 存 </el-button>
|
||||
<el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail">
|
||||
保 存
|
||||
</el-button>
|
||||
<el-button
|
||||
@click="handleFinish"
|
||||
type="success"
|
||||
|
|
|
|||
|
|
@ -15,9 +15,7 @@
|
|||
<el-form-item label="检验单编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入检验单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -27,11 +27,10 @@
|
|||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE).filter(
|
||||
(dict) =>
|
||||
[MesQcSourceDocTypeEnum.RETURN_ISSUE, MesQcSourceDocTypeEnum.RETURN_SALES].includes(
|
||||
dict.value
|
||||
)
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE).filter((dict) =>
|
||||
[MesQcSourceDocTypeEnum.RETURN_ISSUE, MesQcSourceDocTypeEnum.RETURN_SALES].includes(
|
||||
dict.value
|
||||
)
|
||||
)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
|
|
|
|||
|
|
@ -14,9 +14,7 @@
|
|||
<el-form-item label="方案编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入方案编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -12,11 +12,13 @@
|
|||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工具编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入工具编码" :disabled="formType !== 'create'">
|
||||
<el-input
|
||||
v-model="formData.code"
|
||||
placeholder="请输入工具编码"
|
||||
:disabled="formType !== 'create'"
|
||||
>
|
||||
<template v-if="formType === 'create'" #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -62,7 +64,12 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="可用数量" prop="availableQuantity">
|
||||
<el-input-number v-model="formData.availableQuantity" :min="0" disabled class="!w-1/1" />
|
||||
<el-input-number
|
||||
v-model="formData.availableQuantity"
|
||||
:min="0"
|
||||
disabled
|
||||
class="!w-1/1"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -128,7 +135,9 @@
|
|||
</el-form>
|
||||
<!-- TODO @AI:条码相关,先忽略,后续加 -->
|
||||
<template #footer>
|
||||
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
|
||||
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"
|
||||
>确 定</el-button
|
||||
>
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
</template>
|
||||
</Dialog>
|
||||
|
|
@ -139,7 +148,11 @@ import { TmToolApi, TmToolVO } from '@/api/mes/tm/tool'
|
|||
import { TmToolTypeVO } from '@/api/mes/tm/tool/type'
|
||||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import TmToolTypeSelect from '@/views/mes/tm/tool/components/TmToolTypeSelect.vue'
|
||||
import { MesToolStatusEnum, MesMaintenTypeEnum, MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesToolStatusEnum,
|
||||
MesMaintenTypeEnum,
|
||||
MesAutoCodeRuleCode
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'ToolForm' })
|
||||
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.name?.toLowerCase().includes(keyword) ||
|
||||
item.code?.toLowerCase().includes(keyword)
|
||||
item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,12 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工具类型" prop="toolTypeId">
|
||||
<TmToolTypeSelect v-model="queryParams.toolTypeId" placeholder="请选择工具类型" clearable class="!w-240px" />
|
||||
<TmToolTypeSelect
|
||||
v-model="queryParams.toolTypeId"
|
||||
placeholder="请选择工具类型"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="品牌" prop="brand">
|
||||
<el-input
|
||||
|
|
|
|||
|
|
@ -132,11 +132,11 @@ export const MesDvCheckResultEnum = {
|
|||
|
||||
/** MES 质检结果值类型枚举 */
|
||||
export const MesQcResultValueType = {
|
||||
FLOAT: 1, // 浮点
|
||||
INTEGER: 2, // 整数
|
||||
TEXT: 3, // 文本
|
||||
DICT: 4, // 字典
|
||||
FILE: 5 // 文件
|
||||
FLOAT: 1, // 浮点
|
||||
INTEGER: 2, // 整数
|
||||
TEXT: 3, // 文本
|
||||
DICT: 4, // 字典
|
||||
FILE: 5 // 文件
|
||||
} as const
|
||||
|
||||
/** MES 业务类型常量 */
|
||||
|
|
@ -168,10 +168,10 @@ export const MesQcSourceDocTypeEnum = {
|
|||
|
||||
/** MES 质检类型枚举 */
|
||||
export const MesQcTypeEnum = {
|
||||
IQC: 1, // 来料检验
|
||||
IQC: 1, // 来料检验
|
||||
IPQC: 2, // 过程检验
|
||||
OQC: 3, // 出货检验
|
||||
RQC: 4 // 退货检验
|
||||
OQC: 3, // 出货检验
|
||||
RQC: 4 // 退货检验
|
||||
}
|
||||
|
||||
/** MES 单据状态常量 */
|
||||
|
|
@ -201,21 +201,21 @@ export const MesProFeedbackStatusEnum = {
|
|||
|
||||
/** MES 安灯处置状态枚举 */
|
||||
export const MesProAndonStatusEnum = {
|
||||
ACTIVE: 0, // 未处置
|
||||
HANDLED: 1 // 已处置
|
||||
ACTIVE: 0, // 未处置
|
||||
HANDLED: 1 // 已处置
|
||||
}
|
||||
|
||||
/** MES 安灯级别枚举 */
|
||||
export const MesProAndonLevelEnum = {
|
||||
LEVEL1: 1, // 一级
|
||||
LEVEL2: 2, // 二级
|
||||
LEVEL3: 3 // 三级
|
||||
LEVEL3: 3 // 三级
|
||||
}
|
||||
|
||||
/** MES 生产报工类型枚举 */
|
||||
export const MesProFeedbackTypeEnum = {
|
||||
SELF: 1, // 自行报工
|
||||
UNIFIED: 2 // 统一报工
|
||||
SELF: 1, // 自行报工
|
||||
UNIFIED: 2 // 统一报工
|
||||
}
|
||||
|
||||
/** MES 到货通知单状态枚举 */
|
||||
|
|
|
|||
|
|
@ -120,10 +120,7 @@ import { WmArrivalNoticeApi, WmArrivalNoticeVO } from '@/api/mes/wm/arrivalnotic
|
|||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
|
||||
import ArrivalNoticeLineList from './ArrivalNoticeLineList.vue'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesWmArrivalNoticeStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
import { MesAutoCodeRuleCode, MesWmArrivalNoticeStatusEnum } from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'ArrivalNoticeForm' })
|
||||
const emit = defineEmits(['success'])
|
||||
|
|
|
|||
|
|
@ -45,11 +45,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料" prop="itemId">
|
||||
<MdItemSelect
|
||||
v-model="formData.itemId"
|
||||
placeholder="请选择物料"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
<MdItemSelect v-model="formData.itemId" placeholder="请选择物料" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@
|
|||
class="!w-1/1"
|
||||
@change="handleChange"
|
||||
>
|
||||
<el-option v-for="item in filteredList" :key="item.id" :label="`${item.itemCode} - ${item.itemName}`" :value="item.id">
|
||||
<el-option
|
||||
v-for="item in filteredList"
|
||||
:key="item.id"
|
||||
:label="`${item.itemCode} - ${item.itemName}`"
|
||||
:value="item.id"
|
||||
>
|
||||
<div class="flex items-center gap-8px">
|
||||
<span>{{ item.itemCode }}</span>
|
||||
<span class="text-gray-500">{{ item.itemName }}</span>
|
||||
|
|
|
|||
|
|
@ -63,8 +63,7 @@ const handleFilter = (query: string) => {
|
|||
const keyword = query.toLowerCase()
|
||||
filteredList.value = allList.value.filter(
|
||||
(item) =>
|
||||
item.code?.toLowerCase().includes(keyword) ||
|
||||
item.vendorName?.toLowerCase().includes(keyword)
|
||||
item.code?.toLowerCase().includes(keyword) || item.vendorName?.toLowerCase().includes(keyword)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
<template>
|
||||
<Dialog title="批次详情" v-model="dialogVisible" width="980px">
|
||||
<el-form
|
||||
:model="formData"
|
||||
label-width="120px"
|
||||
v-loading="formLoading"
|
||||
disabled
|
||||
>
|
||||
<el-form :model="formData" label-width="120px" v-loading="formLoading" disabled>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="批次编号">
|
||||
|
|
@ -43,17 +38,29 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产日期">
|
||||
<el-input :model-value="formData.produceDate ? formatDate(formData.produceDate, 'YYYY-MM-DD') : ''" />
|
||||
<el-input
|
||||
:model-value="
|
||||
formData.produceDate ? formatDate(formData.produceDate, 'YYYY-MM-DD') : ''
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="有效期">
|
||||
<el-input :model-value="formData.expireDate ? formatDate(formData.expireDate, 'YYYY-MM-DD') : ''" />
|
||||
<el-input
|
||||
:model-value="
|
||||
formData.expireDate ? formatDate(formData.expireDate, 'YYYY-MM-DD') : ''
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="入库日期">
|
||||
<el-input :model-value="formData.receiptDate ? formatDate(formData.receiptDate, 'YYYY-MM-DD') : ''" />
|
||||
<el-input
|
||||
:model-value="
|
||||
formData.receiptDate ? formatDate(formData.receiptDate, 'YYYY-MM-DD') : ''
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
|
|||
|
|
@ -6,13 +6,7 @@
|
|||
<el-table-column label="库区名称" align="center" prop="locationName" min-width="100" />
|
||||
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
|
||||
<el-table-column label="数量" align="center" prop="quantity" width="100" />
|
||||
<el-table-column
|
||||
v-if="isStock"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="120"
|
||||
fixed="right"
|
||||
>
|
||||
<el-table-column v-if="isStock" label="操作" align="center" width="120" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="emit('edit-detail', scope.row.id)">
|
||||
编辑
|
||||
|
|
|
|||
|
|
@ -17,7 +17,10 @@
|
|||
:value="item.id"
|
||||
>
|
||||
<div class="flex items-center gap-8px">
|
||||
<span>{{ item.warehouseName }} / {{ item.locationName || '-' }} / {{ item.areaName || '-' }}</span>
|
||||
<span
|
||||
>{{ item.warehouseName }} / {{ item.locationName || '-' }} /
|
||||
{{ item.areaName || '-' }}</span
|
||||
>
|
||||
<el-tag size="small" type="info" class="ml-4px">
|
||||
{{ item.batchCode || '无批次' }} | {{ item.quantity }}
|
||||
</el-tag>
|
||||
|
|
@ -82,16 +85,21 @@ const handleChange = (val: number | undefined) => {
|
|||
|
||||
/** 加载库存列表 */
|
||||
const loadData = async () => {
|
||||
const list: WmMaterialStockVO[] = await WmMaterialStockApi.getMaterialStockSimpleList(props.itemId)
|
||||
const list: WmMaterialStockVO[] = await WmMaterialStockApi.getMaterialStockSimpleList(
|
||||
props.itemId
|
||||
)
|
||||
// 过滤掉冻结和零库存
|
||||
allList.value = list.filter((item) => !item.frozen && item.quantity > 0)
|
||||
filteredList.value = allList.value
|
||||
}
|
||||
|
||||
/** 监听 itemId 变化重新加载 */
|
||||
watch(() => props.itemId, () => {
|
||||
loadData()
|
||||
})
|
||||
watch(
|
||||
() => props.itemId,
|
||||
() => {
|
||||
loadData()
|
||||
}
|
||||
)
|
||||
|
||||
onMounted(() => {
|
||||
loadData()
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@
|
|||
:disabled="isHeaderReadonly"
|
||||
>
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -4,13 +4,7 @@
|
|||
<el-button v-if="isUpdate" type="primary" plain @click="openForm('create')" class="mb-10px">
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 添加物料
|
||||
</el-button>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="list"
|
||||
:stripe="true"
|
||||
:show-overflow-tooltip="true"
|
||||
border
|
||||
>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" border>
|
||||
<el-table-column label="物料编码" align="center" prop="itemCode" min-width="120" />
|
||||
<el-table-column label="物料名称" align="center" prop="itemName" min-width="140" />
|
||||
<el-table-column label="规格型号" align="center" prop="specification" min-width="120" />
|
||||
|
|
@ -20,20 +14,12 @@
|
|||
<el-table-column label="仓库" align="center" prop="warehouseName" min-width="100" />
|
||||
<el-table-column label="库区" align="center" prop="locationName" min-width="100" />
|
||||
<el-table-column label="库位" align="center" prop="areaName" min-width="100" />
|
||||
<el-table-column
|
||||
v-if="isUpdate"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="160"
|
||||
fixed="right"
|
||||
>
|
||||
<el-table-column v-if="isUpdate" label="操作" align="center" width="160" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="openForm('update', scope.row.id)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button link type="danger" @click="handleDelete(scope.row.id)"> 删除 </el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -51,11 +37,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料" prop="itemId">
|
||||
<MdItemSelect
|
||||
v-model="formData.itemId"
|
||||
placeholder="请选择物料"
|
||||
class="!w-1/1"
|
||||
/>
|
||||
<MdItemSelect v-model="formData.itemId" placeholder="请选择物料" class="!w-1/1" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="发料单编号" prop="code" required>
|
||||
<el-input v-model="formData.code" placeholder="请输入发料单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -143,9 +143,11 @@
|
|||
type="danger"
|
||||
@click="handleCancel(scope.row.id)"
|
||||
v-hasPermi="['mes:wm-outsource-issue:update']"
|
||||
v-if="scope.row.status === MesWmOutsourceIssueStatusEnum.PREPARE ||
|
||||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVING ||
|
||||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVED"
|
||||
v-if="
|
||||
scope.row.status === MesWmOutsourceIssueStatusEnum.PREPARE ||
|
||||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVING ||
|
||||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVED
|
||||
"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
|
|
|
|||
|
|
@ -47,7 +47,10 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { WmOutsourceReceiptDetailApi, WmOutsourceReceiptDetailVO } from '@/api/mes/wm/outsourcereceipt/detail'
|
||||
import {
|
||||
WmOutsourceReceiptDetailApi,
|
||||
WmOutsourceReceiptDetailVO
|
||||
} from '@/api/mes/wm/outsourcereceipt/detail'
|
||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
|
||||
import WmWarehouseLocationSelect from '@/views/mes/wm/warehouse/components/WmWarehouseLocationSelect.vue'
|
||||
|
|
|
|||
|
|
@ -1,20 +1,21 @@
|
|||
<!-- MES 外协收货明细列表(展开行内嵌子组件) -->
|
||||
<template>
|
||||
<div class="pl-60px pr-20px py-10px">
|
||||
<el-button v-if="isUpdate" type="primary" plain size="small" @click="emit('edit-detail', undefined)" class="mb-10px">
|
||||
<el-button
|
||||
v-if="isUpdate"
|
||||
type="primary"
|
||||
plain
|
||||
size="small"
|
||||
@click="emit('edit-detail', undefined)"
|
||||
class="mb-10px"
|
||||
>
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 添加明细
|
||||
</el-button>
|
||||
<el-table v-loading="loading" :data="list" border size="small">
|
||||
<el-table-column label="批次号" align="center" prop="batchCode" min-width="120" />
|
||||
<el-table-column label="库位名称" align="center" prop="locationName" min-width="100" />
|
||||
<el-table-column label="数量" align="center" prop="quantity" width="100" />
|
||||
<el-table-column
|
||||
v-if="isUpdate"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="120"
|
||||
fixed="right"
|
||||
>
|
||||
<el-table-column v-if="isUpdate" label="操作" align="center" width="120" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="emit('edit-detail', scope.row.id)">
|
||||
编辑
|
||||
|
|
@ -27,7 +28,10 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { WmOutsourceReceiptDetailApi, WmOutsourceReceiptDetailVO } from '@/api/mes/wm/outsourcereceipt/detail'
|
||||
import {
|
||||
WmOutsourceReceiptDetailApi,
|
||||
WmOutsourceReceiptDetailVO
|
||||
} from '@/api/mes/wm/outsourcereceipt/detail'
|
||||
|
||||
defineOptions({ name: 'OutsourceReceiptDetailList' })
|
||||
|
||||
|
|
@ -52,7 +56,9 @@ const list = ref<WmOutsourceReceiptDetailVO[]>([])
|
|||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
list.value = await WmOutsourceReceiptDetailApi.getOutsourceReceiptDetailListByLineId(props.lineId)
|
||||
list.value = await WmOutsourceReceiptDetailApi.getOutsourceReceiptDetailListByLineId(
|
||||
props.lineId
|
||||
)
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,7 @@
|
|||
:disabled="isHeaderReadonly"
|
||||
>
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
<el-form-item label="装箱单编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入装箱单编号">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">
|
||||
生成
|
||||
</el-button>
|
||||
<el-button @click="generateCode"> 生成 </el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
|
@ -204,7 +202,9 @@ const formRef = ref()
|
|||
|
||||
/** 生成装箱单编号 */
|
||||
const generateCode = async () => {
|
||||
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.WM_PACKAGE_CODE)
|
||||
formData.value.code = await AutoCodeRecordApi.generateAutoCode(
|
||||
MesAutoCodeRuleCode.WM_PACKAGE_CODE
|
||||
)
|
||||
}
|
||||
|
||||
/** 打开弹窗 */
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue