✨ feat(mes): 重命名生产领料出库相关类和接口,统一为产品领料出库命名
重构生产领料出库相关的类、接口和API,统一命名为产品领料出库,以提高代码的一致性和可读性。包括修改相关的状态枚举、数据对象、服务接口及其实现,确保所有引用均已更新。 BREAKING CHANGE: 相关类和接口的名称已更改,需更新调用代码pull/871/MERGE
parent
46f72e85a8
commit
f9717b63ea
|
|
@ -1,48 +0,0 @@
|
||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// MES 领料出库明细 VO
|
|
||||||
export interface WmProductionIssueDetailVO {
|
|
||||||
id?: number
|
|
||||||
issueId: number
|
|
||||||
lineId: number
|
|
||||||
materialStockId: number
|
|
||||||
itemId: number
|
|
||||||
quantity: number
|
|
||||||
batchId?: number
|
|
||||||
batchCode?: string
|
|
||||||
warehouseId: number
|
|
||||||
warehouseName?: string
|
|
||||||
locationId?: number
|
|
||||||
locationName?: string
|
|
||||||
areaId?: number
|
|
||||||
areaName?: string
|
|
||||||
remark?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// MES 领料出库明细 API
|
|
||||||
export const WmProductionIssueDetailApi = {
|
|
||||||
// 查询领料出库明细列表(按行编号)
|
|
||||||
getProductionIssueDetailListByLineId: async (lineId: number) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue-detail/list-by-line', params: { lineId } })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询领料出库明细详情
|
|
||||||
getProductionIssueDetail: async (id: number) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue-detail/get?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增领料出库明细
|
|
||||||
createProductionIssueDetail: async (data: WmProductionIssueDetailVO) => {
|
|
||||||
return await request.post({ url: '/mes/wm/production-issue-detail/create', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改领料出库明细
|
|
||||||
updateProductionIssueDetail: async (data: WmProductionIssueDetailVO) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue-detail/update', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除领料出库明细
|
|
||||||
deleteProductionIssueDetail: async (id: number) => {
|
|
||||||
return await request.delete({ url: '/mes/wm/production-issue-detail/delete?id=' + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// MES 领料出库单 VO
|
|
||||||
export interface WmProductionIssueVO {
|
|
||||||
id?: number
|
|
||||||
code?: string
|
|
||||||
name: string
|
|
||||||
workstationId?: number
|
|
||||||
workstationCode?: string
|
|
||||||
workstationName?: string
|
|
||||||
workOrderId?: number
|
|
||||||
workOrderCode?: string
|
|
||||||
requiredTime?: string
|
|
||||||
status?: number
|
|
||||||
remark?: string
|
|
||||||
createTime?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// MES 领料出库单 API
|
|
||||||
export const WmProductionIssueApi = {
|
|
||||||
// 查询领料出库单分页
|
|
||||||
getProductionIssuePage: async (params: any) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue/page', params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询领料出库单详情
|
|
||||||
getProductionIssue: async (id: number) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue/get?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增领料出库单
|
|
||||||
createProductionIssue: async (data: WmProductionIssueVO) => {
|
|
||||||
return await request.post({ url: '/mes/wm/production-issue/create', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改领料出库单
|
|
||||||
updateProductionIssue: async (data: WmProductionIssueVO) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue/update', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除领料出库单
|
|
||||||
deleteProductionIssue: async (id: number) => {
|
|
||||||
return await request.delete({ url: '/mes/wm/production-issue/delete?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 提交领料出库单(进入审批流程)
|
|
||||||
submitProductionIssue: async (id: number) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue/submit?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 执行拣货
|
|
||||||
stockProductionIssue: async (id: number) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue/stock?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 取消领料出库单
|
|
||||||
cancelProductionIssue: async (id: number) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue/cancel?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 完成领料出库单(执行出库)
|
|
||||||
finishProductionIssue: async (id: number) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue/finish?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 校验领料出库单数量(每行明细数量之和是否等于行领料数量)
|
|
||||||
checkProductionIssueQuantity: async (id: number) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue/check-quantity?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 导出领料出库单 Excel
|
|
||||||
exportProductionIssue: async (params: any) => {
|
|
||||||
return await request.download({ url: '/mes/wm/production-issue/export-excel', params })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
// MES 领料出库单行 VO
|
|
||||||
export interface WmProductionIssueLineVO {
|
|
||||||
id?: number
|
|
||||||
issueId: number
|
|
||||||
itemId: number
|
|
||||||
itemCode?: string
|
|
||||||
itemName?: string
|
|
||||||
specification?: string
|
|
||||||
unitMeasureName?: string
|
|
||||||
quantity: number
|
|
||||||
batchId?: number
|
|
||||||
remark?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
// MES 领料出库单行 API
|
|
||||||
export const WmProductionIssueLineApi = {
|
|
||||||
// 查询领料出库单行分页
|
|
||||||
getProductionIssueLinePage: async (params: any) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue-line/page', params })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 查询领料出库单行详情
|
|
||||||
getProductionIssueLine: async (id: number) => {
|
|
||||||
return await request.get({ url: '/mes/wm/production-issue-line/get?id=' + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 新增领料出库单行
|
|
||||||
createProductionIssueLine: async (data: WmProductionIssueLineVO) => {
|
|
||||||
return await request.post({ url: '/mes/wm/production-issue-line/create', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 修改领料出库单行
|
|
||||||
updateProductionIssueLine: async (data: WmProductionIssueLineVO) => {
|
|
||||||
return await request.put({ url: '/mes/wm/production-issue-line/update', data })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 删除领料出库单行
|
|
||||||
deleteProductionIssueLine: async (id: number) => {
|
|
||||||
return await request.delete({ url: '/mes/wm/production-issue-line/delete?id=' + id })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// MES 领料出库明细 VO
|
||||||
|
export interface WmProductIssueDetailVO {
|
||||||
|
id?: number
|
||||||
|
issueId: number
|
||||||
|
lineId: number
|
||||||
|
materialStockId: number
|
||||||
|
itemId: number
|
||||||
|
quantity: number
|
||||||
|
batchId?: number
|
||||||
|
batchCode?: string
|
||||||
|
warehouseId: number
|
||||||
|
warehouseName?: string
|
||||||
|
locationId?: number
|
||||||
|
locationName?: string
|
||||||
|
areaId?: number
|
||||||
|
areaName?: string
|
||||||
|
remark?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// MES 领料出库明细 API
|
||||||
|
export const WmProductIssueDetailApi = {
|
||||||
|
// 查询领料出库明细列表(按行编号)
|
||||||
|
getProductIssueDetailListByLineId: async (lineId: number) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue-detail/list-by-line', params: { lineId } })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询领料出库明细详情
|
||||||
|
getProductIssueDetail: async (id: number) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue-detail/get?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增领料出库明细
|
||||||
|
createProductIssueDetail: async (data: WmProductIssueDetailVO) => {
|
||||||
|
return await request.post({ url: '/mes/wm/product-issue-detail/create', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改领料出库明细
|
||||||
|
updateProductIssueDetail: async (data: WmProductIssueDetailVO) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue-detail/update', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除领料出库明细
|
||||||
|
deleteProductIssueDetail: async (id: number) => {
|
||||||
|
return await request.delete({ url: '/mes/wm/product-issue-detail/delete?id=' + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// MES 领料出库单 VO
|
||||||
|
export interface WmProductIssueVO {
|
||||||
|
id?: number
|
||||||
|
code?: string
|
||||||
|
name: string
|
||||||
|
workstationId?: number
|
||||||
|
workstationCode?: string
|
||||||
|
workstationName?: string
|
||||||
|
workOrderId?: number
|
||||||
|
workOrderCode?: string
|
||||||
|
requiredTime?: string
|
||||||
|
status?: number
|
||||||
|
remark?: string
|
||||||
|
createTime?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// MES 领料出库单 API
|
||||||
|
export const WmProductIssueApi = {
|
||||||
|
// 查询领料出库单分页
|
||||||
|
getProductIssuePage: async (params: any) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue/page', params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询领料出库单详情
|
||||||
|
getProductIssue: async (id: number) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue/get?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增领料出库单
|
||||||
|
createProductIssue: async (data: WmProductIssueVO) => {
|
||||||
|
return await request.post({ url: '/mes/wm/product-issue/create', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改领料出库单
|
||||||
|
updateProductIssue: async (data: WmProductIssueVO) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue/update', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除领料出库单
|
||||||
|
deleteProductIssue: async (id: number) => {
|
||||||
|
return await request.delete({ url: '/mes/wm/product-issue/delete?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 提交领料出库单(进入审批流程)
|
||||||
|
submitProductIssue: async (id: number) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue/submit?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 执行拣货
|
||||||
|
stockProductIssue: async (id: number) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue/stock?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 取消领料出库单
|
||||||
|
cancelProductIssue: async (id: number) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue/cancel?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 完成领料出库单(执行出库)
|
||||||
|
finishProductIssue: async (id: number) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue/finish?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 校验领料出库单数量(每行明细数量之和是否等于行领料数量)
|
||||||
|
checkProductIssueQuantity: async (id: number) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue/check-quantity?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 导出领料出库单 Excel
|
||||||
|
exportProductIssue: async (params: any) => {
|
||||||
|
return await request.download({ url: '/mes/wm/product-issue/export-excel', params })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
import request from '@/config/axios'
|
||||||
|
|
||||||
|
// MES 领料出库单行 VO
|
||||||
|
export interface WmProductIssueLineVO {
|
||||||
|
id?: number
|
||||||
|
issueId: number
|
||||||
|
itemId: number
|
||||||
|
itemCode?: string
|
||||||
|
itemName?: string
|
||||||
|
specification?: string
|
||||||
|
unitMeasureName?: string
|
||||||
|
quantity: number
|
||||||
|
batchId?: number
|
||||||
|
remark?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// MES 领料出库单行 API
|
||||||
|
export const WmProductIssueLineApi = {
|
||||||
|
// 查询领料出库单行分页
|
||||||
|
getProductIssueLinePage: async (params: any) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue-line/page', params })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 查询领料出库单行详情
|
||||||
|
getProductIssueLine: async (id: number) => {
|
||||||
|
return await request.get({ url: '/mes/wm/product-issue-line/get?id=' + id })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增领料出库单行
|
||||||
|
createProductIssueLine: async (data: WmProductIssueLineVO) => {
|
||||||
|
return await request.post({ url: '/mes/wm/product-issue-line/create', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 修改领料出库单行
|
||||||
|
updateProductIssueLine: async (data: WmProductIssueLineVO) => {
|
||||||
|
return await request.put({ url: '/mes/wm/product-issue-line/update', data })
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除领料出库单行
|
||||||
|
deleteProductIssueLine: async (id: number) => {
|
||||||
|
return await request.delete({ url: '/mes/wm/product-issue-line/delete?id=' + id })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -302,7 +302,7 @@ export enum DICT_TYPE {
|
||||||
MES_WM_STOCK_TAKING_LINE_STATUS = 'mes_wm_stock_taking_task_line_status', // MES 盘点任务行状态
|
MES_WM_STOCK_TAKING_LINE_STATUS = 'mes_wm_stock_taking_task_line_status', // MES 盘点任务行状态
|
||||||
MES_WM_STOCK_TAKING_PLAN_PARAM_TYPE = 'mes_wm_stock_taking_plan_param_type', // MES 盘点方案参数类型
|
MES_WM_STOCK_TAKING_PLAN_PARAM_TYPE = 'mes_wm_stock_taking_plan_param_type', // MES 盘点方案参数类型
|
||||||
MES_WM_OUTSOURCE_RECPT_STATUS = 'mes_wm_outsource_recpt_status', // MES 外协入库单状态
|
MES_WM_OUTSOURCE_RECPT_STATUS = 'mes_wm_outsource_recpt_status', // MES 外协入库单状态
|
||||||
MES_WM_PRODUCTION_ISSUE_STATUS = 'mes_wm_production_issue_status', // MES 领料出库单状态
|
MES_WM_PRODUCT_ISSUE_STATUS = 'mes_wm_product_issue_status', // MES 领料出库单状态
|
||||||
MES_PRODUCT_PRODUCE_STATUS = 'mes_product_produce_status', // MES 生产入库单状态
|
MES_PRODUCT_PRODUCE_STATUS = 'mes_product_produce_status', // MES 生产入库单状态
|
||||||
MES_RETURN_VENDOR_STATUS = 'mes_return_vendor_status', // MES 供应商退货单状态
|
MES_RETURN_VENDOR_STATUS = 'mes_return_vendor_status', // MES 供应商退货单状态
|
||||||
MES_WM_QUALITY_STATUS = 'mes_wm_quality_status', // MES 质量状态
|
MES_WM_QUALITY_STATUS = 'mes_wm_quality_status', // MES 质量状态
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,7 @@ const openForm = (type: string, id?: number) => {
|
||||||
const handleComplete = async (id: number) => {
|
const handleComplete = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.confirm('是否完成来料检验单编制?【完成后将不能更改】')
|
await message.confirm('是否完成来料检验单编制?【完成后将不能更改】')
|
||||||
await QcIqcApi.completeIqc(id)
|
await QcIqcApi.finishIqc(id)
|
||||||
message.success('完成成功')
|
message.success('完成成功')
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
|
||||||
|
|
@ -269,7 +269,7 @@ export const MesWmOutsourceRecptStatusEnum = {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** MES 生产领料出库单状态枚举 */
|
/** MES 生产领料出库单状态枚举 */
|
||||||
export const MesWmProductionIssueStatusEnum = {
|
export const MesWmProductIssueStatusEnum = {
|
||||||
PREPARE: MesOrderStatusConstants.DRAFT,
|
PREPARE: MesOrderStatusConstants.DRAFT,
|
||||||
APPROVING: MesOrderStatusConstants.APPROVING,
|
APPROVING: MesOrderStatusConstants.APPROVING,
|
||||||
APPROVED: MesOrderStatusConstants.APPROVED,
|
APPROVED: MesOrderStatusConstants.APPROVED,
|
||||||
|
|
|
||||||
|
|
@ -45,15 +45,15 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {
|
import {
|
||||||
WmProductionIssueDetailApi,
|
WmProductIssueDetailApi,
|
||||||
WmProductionIssueDetailVO
|
WmProductIssueDetailVO
|
||||||
} from '@/api/mes/wm/productionissue/detail'
|
} from '@/api/mes/wm/productissue/detail'
|
||||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||||
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
|
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
|
||||||
import WmWarehouseLocationSelect from '@/views/mes/wm/warehouse/components/WmWarehouseLocationSelect.vue'
|
import WmWarehouseLocationSelect from '@/views/mes/wm/warehouse/components/WmWarehouseLocationSelect.vue'
|
||||||
import WmWarehouseAreaSelect from '@/views/mes/wm/warehouse/components/WmWarehouseAreaSelect.vue'
|
import WmWarehouseAreaSelect from '@/views/mes/wm/warehouse/components/WmWarehouseAreaSelect.vue'
|
||||||
|
|
||||||
defineOptions({ name: 'ProductionIssueDetailForm' })
|
defineOptions({ name: 'ProductIssueDetailForm' })
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
issueId: number
|
issueId: number
|
||||||
|
|
@ -100,7 +100,7 @@ const open = async (type: string, lineId: number, itemId?: number, detailId?: nu
|
||||||
if (detailId) {
|
if (detailId) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
formData.value = await WmProductionIssueDetailApi.getProductionIssueDetail(detailId)
|
formData.value = await WmProductIssueDetailApi.getProductIssueDetail(detailId)
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
@ -121,12 +121,12 @@ const submitForm = async () => {
|
||||||
...formData.value,
|
...formData.value,
|
||||||
issueId: props.issueId,
|
issueId: props.issueId,
|
||||||
lineId: currentLineId.value
|
lineId: currentLineId.value
|
||||||
} as unknown as WmProductionIssueDetailVO
|
} as unknown as WmProductIssueDetailVO
|
||||||
if (formType.value === 'create') {
|
if (formType.value === 'create') {
|
||||||
await WmProductionIssueDetailApi.createProductionIssueDetail(data)
|
await WmProductIssueDetailApi.createProductIssueDetail(data)
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
} else {
|
} else {
|
||||||
await WmProductionIssueDetailApi.updateProductionIssueDetail(data)
|
await WmProductIssueDetailApi.updateProductIssueDetail(data)
|
||||||
message.success(t('common.updateSuccess'))
|
message.success(t('common.updateSuccess'))
|
||||||
}
|
}
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|
@ -28,11 +28,11 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {
|
import {
|
||||||
WmProductionIssueDetailApi,
|
WmProductIssueDetailApi,
|
||||||
WmProductionIssueDetailVO
|
WmProductIssueDetailVO
|
||||||
} from '@/api/mes/wm/productionissue/detail'
|
} from '@/api/mes/wm/productissue/detail'
|
||||||
|
|
||||||
defineOptions({ name: 'ProductionIssueDetailList' })
|
defineOptions({ name: 'ProductIssueDetailList' })
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
issueId: number
|
issueId: number
|
||||||
|
|
@ -47,13 +47,13 @@ const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
const loading = ref(false) // 列表的加载中
|
const loading = ref(false) // 列表的加载中
|
||||||
const list = ref<WmProductionIssueDetailVO[]>([]) // 明细列表
|
const list = ref<WmProductIssueDetailVO[]>([]) // 明细列表
|
||||||
|
|
||||||
/** 查询明细列表 */
|
/** 查询明细列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
list.value = await WmProductionIssueDetailApi.getProductionIssueDetailListByLineId(props.lineId)
|
list.value = await WmProductIssueDetailApi.getProductIssueDetailListByLineId(props.lineId)
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
|
|
@ -64,7 +64,7 @@ defineExpose({ getList })
|
||||||
const handleDelete = async (detailId: number) => {
|
const handleDelete = async (detailId: number) => {
|
||||||
try {
|
try {
|
||||||
await message.delConfirm()
|
await message.delConfirm()
|
||||||
await WmProductionIssueDetailApi.deleteProductionIssueDetail(detailId)
|
await WmProductIssueDetailApi.deleteProductIssueDetail(detailId)
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -69,7 +69,7 @@
|
||||||
<!-- 非新建模式展示行项目信息(领料物料) -->
|
<!-- 非新建模式展示行项目信息(领料物料) -->
|
||||||
<template v-if="formData.id">
|
<template v-if="formData.id">
|
||||||
<el-divider content-position="center">物料信息</el-divider>
|
<el-divider content-position="center">物料信息</el-divider>
|
||||||
<ProductionIssueLineList :issue-id="formData.id" :form-type="formType" />
|
<ProductIssueLineList :issue-id="formData.id" :form-type="formType" />
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button v-if="isUpdate" @click="submitForm" type="primary" :disabled="formLoading">
|
<el-button v-if="isUpdate" @click="submitForm" type="primary" :disabled="formLoading">
|
||||||
|
|
@ -85,12 +85,12 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { generateRandomStr } from '@/utils'
|
import { generateRandomStr } from '@/utils'
|
||||||
import { WmProductionIssueApi, WmProductionIssueVO } from '@/api/mes/wm/productionissue'
|
import { WmProductIssueApi, WmProductIssueVO } from '@/api/mes/wm/productissue'
|
||||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||||
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
||||||
import ProductionIssueLineList from './ProductionIssueLineList.vue'
|
import ProductIssueLineList from './ProductIssueLineList.vue'
|
||||||
|
|
||||||
defineOptions({ name: 'ProductionIssueForm' })
|
defineOptions({ name: 'ProductIssueForm' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
|
|
@ -141,7 +141,7 @@ const open = async (type: string, id?: number) => {
|
||||||
if (id) {
|
if (id) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
formData.value = await WmProductionIssueApi.getProductionIssue(id)
|
formData.value = await WmProductIssueApi.getProductIssue(id)
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
@ -157,14 +157,14 @@ const submitForm = async () => {
|
||||||
// 提交请求
|
// 提交请求
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
const data = formData.value as unknown as WmProductionIssueVO
|
const data = formData.value as unknown as WmProductIssueVO
|
||||||
if (formType.value === 'create') {
|
if (formType.value === 'create') {
|
||||||
const res = await WmProductionIssueApi.createProductionIssue(data)
|
const res = await WmProductIssueApi.createProductIssue(data)
|
||||||
message.success('新增成功')
|
message.success('新增成功')
|
||||||
formData.value.id = res
|
formData.value.id = res
|
||||||
formType.value = 'update'
|
formType.value = 'update'
|
||||||
} else {
|
} else {
|
||||||
await WmProductionIssueApi.updateProductionIssue(data)
|
await WmProductIssueApi.updateProductIssue(data)
|
||||||
message.success('修改成功')
|
message.success('修改成功')
|
||||||
}
|
}
|
||||||
// 发送操作成功的事件
|
// 发送操作成功的事件
|
||||||
|
|
@ -179,11 +179,11 @@ const handleStock = async () => {
|
||||||
try {
|
try {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
// 校验领料数量与拣货数量是否一致
|
// 校验领料数量与拣货数量是否一致
|
||||||
const quantityMatch = await WmProductionIssueApi.checkProductionIssueQuantity(formData.value.id!)
|
const quantityMatch = await WmProductIssueApi.checkProductIssueQuantity(formData.value.id!)
|
||||||
if (!quantityMatch) {
|
if (!quantityMatch) {
|
||||||
await message.confirm('领料数量与拣货数量不一致,确认执行拣货?')
|
await message.confirm('领料数量与拣货数量不一致,确认执行拣货?')
|
||||||
}
|
}
|
||||||
await WmProductionIssueApi.stockProductionIssue(formData.value.id!)
|
await WmProductIssueApi.stockProductIssue(formData.value.id!)
|
||||||
message.success('拣货成功')
|
message.success('拣货成功')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
emit('success')
|
emit('success')
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
>
|
>
|
||||||
<el-table-column type="expand">
|
<el-table-column type="expand">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<ProductionIssueDetailList
|
<ProductIssueDetailList
|
||||||
:ref="(el: any) => setDetailListRef(scope.row.id, el)"
|
:ref="(el: any) => setDetailListRef(scope.row.id, el)"
|
||||||
:issue-id="props.issueId"
|
:issue-id="props.issueId"
|
||||||
:line-id="scope.row.id"
|
:line-id="scope.row.id"
|
||||||
|
|
@ -107,7 +107,7 @@
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
||||||
<!-- 拣货明细添加/编辑弹窗 -->
|
<!-- 拣货明细添加/编辑弹窗 -->
|
||||||
<ProductionIssueDetailForm
|
<ProductIssueDetailForm
|
||||||
ref="detailFormRef"
|
ref="detailFormRef"
|
||||||
:issue-id="props.issueId"
|
:issue-id="props.issueId"
|
||||||
@success="onDetailFormSuccess"
|
@success="onDetailFormSuccess"
|
||||||
|
|
@ -116,14 +116,14 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {
|
import {
|
||||||
WmProductionIssueLineApi,
|
WmProductIssueLineApi,
|
||||||
WmProductionIssueLineVO
|
WmProductIssueLineVO
|
||||||
} from '@/api/mes/wm/productionissue/line'
|
} from '@/api/mes/wm/productissue/line'
|
||||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||||
import ProductionIssueDetailList from './ProductionIssueDetailList.vue'
|
import ProductIssueDetailList from './ProductIssueDetailList.vue'
|
||||||
import ProductionIssueDetailForm from './ProductionIssueDetailForm.vue'
|
import ProductIssueDetailForm from './ProductIssueDetailForm.vue'
|
||||||
|
|
||||||
defineOptions({ name: 'ProductionIssueLineList' })
|
defineOptions({ name: 'ProductIssueLineList' })
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
issueId: number
|
issueId: number
|
||||||
|
|
@ -138,7 +138,7 @@ const isStock = computed(() => props.formType === 'stock') // 是否为拣货模
|
||||||
|
|
||||||
// ==================== 列表 ====================
|
// ==================== 列表 ====================
|
||||||
const loading = ref(false) // 列表的加载中
|
const loading = ref(false) // 列表的加载中
|
||||||
const list = ref<WmProductionIssueLineVO[]>([]) // 行列表
|
const list = ref<WmProductIssueLineVO[]>([]) // 行列表
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
|
|
@ -151,7 +151,7 @@ const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
queryParams.issueId = props.issueId
|
queryParams.issueId = props.issueId
|
||||||
const data = await WmProductionIssueLineApi.getProductionIssueLinePage(queryParams)
|
const data = await WmProductIssueLineApi.getProductIssueLinePage(queryParams)
|
||||||
list.value = data.list
|
list.value = data.list
|
||||||
total.value = data.total
|
total.value = data.total
|
||||||
} finally {
|
} finally {
|
||||||
|
|
@ -163,7 +163,7 @@ const getList = async () => {
|
||||||
const handleDelete = async (id: number) => {
|
const handleDelete = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.delConfirm()
|
await message.delConfirm()
|
||||||
await WmProductionIssueLineApi.deleteProductionIssueLine(id)
|
await WmProductIssueLineApi.deleteProductIssueLine(id)
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -203,7 +203,7 @@ const openForm = async (type: string, id?: number) => {
|
||||||
if (id) {
|
if (id) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
formData.value = await WmProductionIssueLineApi.getProductionIssueLine(id)
|
formData.value = await WmProductIssueLineApi.getProductIssueLine(id)
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
@ -215,12 +215,12 @@ const submitForm = async () => {
|
||||||
await formRef.value.validate()
|
await formRef.value.validate()
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
const data = { ...formData.value, issueId: props.issueId } as unknown as WmProductionIssueLineVO
|
const data = { ...formData.value, issueId: props.issueId } as unknown as WmProductIssueLineVO
|
||||||
if (lineFormType.value === 'create') {
|
if (lineFormType.value === 'create') {
|
||||||
await WmProductionIssueLineApi.createProductionIssueLine(data)
|
await WmProductIssueLineApi.createProductIssueLine(data)
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
} else {
|
} else {
|
||||||
await WmProductionIssueLineApi.updateProductionIssueLine(data)
|
await WmProductIssueLineApi.updateProductIssueLine(data)
|
||||||
message.success(t('common.updateSuccess'))
|
message.success(t('common.updateSuccess'))
|
||||||
}
|
}
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
|
|
@ -243,7 +243,7 @@ const resetForm = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// ==================== 展开行:拣货明细 ====================
|
// ==================== 展开行:拣货明细 ====================
|
||||||
const detailListRefs = ref<Record<number, InstanceType<typeof ProductionIssueDetailList>>>({})
|
const detailListRefs = ref<Record<number, InstanceType<typeof ProductIssueDetailList>>>({})
|
||||||
|
|
||||||
/** 缓存子组件 ref */
|
/** 缓存子组件 ref */
|
||||||
const setDetailListRef = (lineId: number, el: any) => {
|
const setDetailListRef = (lineId: number, el: any) => {
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
class="!w-240px"
|
class="!w-240px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_WM_PRODUCTION_ISSUE_STATUS)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.MES_WM_PRODUCT_ISSUE_STATUS)"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
plain
|
plain
|
||||||
@click="openForm('create')"
|
@click="openForm('create')"
|
||||||
v-hasPermi="['mes:wm-production-issue:create']"
|
v-hasPermi="['mes:wm-product-issue:create']"
|
||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
plain
|
plain
|
||||||
@click="handleExport"
|
@click="handleExport"
|
||||||
:loading="exportLoading"
|
:loading="exportLoading"
|
||||||
v-hasPermi="['mes:wm-production-issue:export']"
|
v-hasPermi="['mes:wm-product-issue:export']"
|
||||||
>
|
>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -98,7 +98,7 @@
|
||||||
/>
|
/>
|
||||||
<el-table-column label="单据状态" align="center" prop="status" min-width="110">
|
<el-table-column label="单据状态" align="center" prop="status" min-width="110">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCTION_ISSUE_STATUS" :value="scope.row.status" />
|
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCT_ISSUE_STATUS" :value="scope.row.status" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="240" fixed="right">
|
<el-table-column label="操作" align="center" width="240" fixed="right">
|
||||||
|
|
@ -108,8 +108,8 @@
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openForm('update', scope.row.id)"
|
@click="openForm('update', scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:update']"
|
v-hasPermi="['mes:wm-product-issue:update']"
|
||||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -117,8 +117,8 @@
|
||||||
link
|
link
|
||||||
type="warning"
|
type="warning"
|
||||||
@click="handleSubmit(scope.row.id)"
|
@click="handleSubmit(scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:update']"
|
v-hasPermi="['mes:wm-product-issue:update']"
|
||||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||||
>
|
>
|
||||||
提交
|
提交
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -126,8 +126,8 @@
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@click="handleDelete(scope.row.id)"
|
@click="handleDelete(scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:delete']"
|
v-hasPermi="['mes:wm-product-issue:delete']"
|
||||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -136,8 +136,8 @@
|
||||||
link
|
link
|
||||||
type="success"
|
type="success"
|
||||||
@click="openForm('stock', scope.row.id)"
|
@click="openForm('stock', scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:update']"
|
v-hasPermi="['mes:wm-product-issue:update']"
|
||||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.APPROVING"
|
v-if="scope.row.status === MesWmProductIssueStatusEnum.APPROVING"
|
||||||
>
|
>
|
||||||
执行拣货
|
执行拣货
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -146,8 +146,8 @@
|
||||||
link
|
link
|
||||||
type="success"
|
type="success"
|
||||||
@click="handleFinish(scope.row.id)"
|
@click="handleFinish(scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:finish']"
|
v-hasPermi="['mes:wm-product-issue:finish']"
|
||||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.APPROVED"
|
v-if="scope.row.status === MesWmProductIssueStatusEnum.APPROVED"
|
||||||
>
|
>
|
||||||
完成
|
完成
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -156,9 +156,9 @@
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@click="handleCancel(scope.row.id)"
|
@click="handleCancel(scope.row.id)"
|
||||||
v-hasPermi="['mes:wm-production-issue:update']"
|
v-hasPermi="['mes:wm-product-issue:update']"
|
||||||
v-if="
|
v-if="
|
||||||
[MesWmProductionIssueStatusEnum.APPROVING, MesWmProductionIssueStatusEnum.APPROVED].includes(
|
[MesWmProductIssueStatusEnum.APPROVING, MesWmProductIssueStatusEnum.APPROVED].includes(
|
||||||
scope.row.status
|
scope.row.status
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
|
@ -176,24 +176,24 @@
|
||||||
/>
|
/>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<ProductionIssueForm ref="formRef" @success="getList" />
|
<ProductIssueForm ref="formRef" @success="getList" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { dateFormatter2 } from '@/utils/formatTime'
|
import { dateFormatter2 } from '@/utils/formatTime'
|
||||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||||
import download from '@/utils/download'
|
import download from '@/utils/download'
|
||||||
import { WmProductionIssueApi, WmProductionIssueVO } from '@/api/mes/wm/productionissue'
|
import { WmProductIssueApi, WmProductIssueVO } from '@/api/mes/wm/productissue'
|
||||||
import ProductionIssueForm from './ProductionIssueForm.vue'
|
import ProductIssueForm from './ProductIssueForm.vue'
|
||||||
import { MesWmProductionIssueStatusEnum } from '@/views/mes/utils/constants'
|
import { MesWmProductIssueStatusEnum } from '@/views/mes/utils/constants'
|
||||||
|
|
||||||
defineOptions({ name: 'MesWmProductionIssue' })
|
defineOptions({ name: 'MesWmProductIssue' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
const loading = ref(true) // 列表的加载中
|
const loading = ref(true) // 列表的加载中
|
||||||
const list = ref<WmProductionIssueVO[]>([]) // 列表的数据
|
const list = ref<WmProductIssueVO[]>([]) // 列表的数据
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
const exportLoading = ref(false) // 导出的加载中
|
const exportLoading = ref(false) // 导出的加载中
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
|
|
@ -211,7 +211,7 @@ const formRef = ref() // 表单弹窗
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
const data = await WmProductionIssueApi.getProductionIssuePage(queryParams)
|
const data = await WmProductIssueApi.getProductIssuePage(queryParams)
|
||||||
list.value = data.list
|
list.value = data.list
|
||||||
total.value = data.total
|
total.value = data.total
|
||||||
} finally {
|
} finally {
|
||||||
|
|
@ -240,7 +240,7 @@ const openForm = (type: string, id?: number) => {
|
||||||
const handleSubmit = async (id: number) => {
|
const handleSubmit = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.confirm('确认提交该领料单进入审批流程吗?')
|
await message.confirm('确认提交该领料单进入审批流程吗?')
|
||||||
await WmProductionIssueApi.submitProductionIssue(id)
|
await WmProductIssueApi.submitProductIssue(id)
|
||||||
message.success('提交成功')
|
message.success('提交成功')
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -250,7 +250,7 @@ const handleSubmit = async (id: number) => {
|
||||||
const handleDelete = async (id: number) => {
|
const handleDelete = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.delConfirm()
|
await message.delConfirm()
|
||||||
await WmProductionIssueApi.deleteProductionIssue(id)
|
await WmProductIssueApi.deleteProductIssue(id)
|
||||||
message.success(t('common.delSuccess'))
|
message.success(t('common.delSuccess'))
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -260,7 +260,7 @@ const handleDelete = async (id: number) => {
|
||||||
const handleCancel = async (id: number) => {
|
const handleCancel = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.confirm('确认取消该领料出库单?取消后不可恢复。')
|
await message.confirm('确认取消该领料出库单?取消后不可恢复。')
|
||||||
await WmProductionIssueApi.cancelProductionIssue(id)
|
await WmProductIssueApi.cancelProductIssue(id)
|
||||||
message.success('取消成功')
|
message.success('取消成功')
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -270,7 +270,7 @@ const handleCancel = async (id: number) => {
|
||||||
const handleFinish = async (id: number) => {
|
const handleFinish = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
await message.confirm('确认完成该领料单并执行出库吗?')
|
await message.confirm('确认完成该领料单并执行出库吗?')
|
||||||
await WmProductionIssueApi.finishProductionIssue(id)
|
await WmProductIssueApi.finishProductIssue(id)
|
||||||
message.success('完成成功')
|
message.success('完成成功')
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
|
@ -281,7 +281,7 @@ const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
await message.exportConfirm()
|
await message.exportConfirm()
|
||||||
exportLoading.value = true
|
exportLoading.value = true
|
||||||
const data = await WmProductionIssueApi.exportProductionIssue(queryParams)
|
const data = await WmProductIssueApi.exportProductIssue(queryParams)
|
||||||
download.excel(data, '领料出库单.xls')
|
download.excel(data, '领料出库单.xls')
|
||||||
} catch {
|
} catch {
|
||||||
} finally {
|
} finally {
|
||||||
Loading…
Reference in New Issue