✨ 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_PLAN_PARAM_TYPE = 'mes_wm_stock_taking_plan_param_type', // 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_RETURN_VENDOR_STATUS = 'mes_return_vendor_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) => {
|
||||
try {
|
||||
await message.confirm('是否完成来料检验单编制?【完成后将不能更改】')
|
||||
await QcIqcApi.completeIqc(id)
|
||||
await QcIqcApi.finishIqc(id)
|
||||
message.success('完成成功')
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ export const MesWmOutsourceRecptStatusEnum = {
|
|||
}
|
||||
|
||||
/** MES 生产领料出库单状态枚举 */
|
||||
export const MesWmProductionIssueStatusEnum = {
|
||||
export const MesWmProductIssueStatusEnum = {
|
||||
PREPARE: MesOrderStatusConstants.DRAFT,
|
||||
APPROVING: MesOrderStatusConstants.APPROVING,
|
||||
APPROVED: MesOrderStatusConstants.APPROVED,
|
||||
|
|
|
|||
|
|
@ -45,15 +45,15 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
WmProductionIssueDetailApi,
|
||||
WmProductionIssueDetailVO
|
||||
} from '@/api/mes/wm/productionissue/detail'
|
||||
WmProductIssueDetailApi,
|
||||
WmProductIssueDetailVO
|
||||
} from '@/api/mes/wm/productissue/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'
|
||||
import WmWarehouseAreaSelect from '@/views/mes/wm/warehouse/components/WmWarehouseAreaSelect.vue'
|
||||
|
||||
defineOptions({ name: 'ProductionIssueDetailForm' })
|
||||
defineOptions({ name: 'ProductIssueDetailForm' })
|
||||
|
||||
const props = defineProps<{
|
||||
issueId: number
|
||||
|
|
@ -100,7 +100,7 @@ const open = async (type: string, lineId: number, itemId?: number, detailId?: nu
|
|||
if (detailId) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await WmProductionIssueDetailApi.getProductionIssueDetail(detailId)
|
||||
formData.value = await WmProductIssueDetailApi.getProductIssueDetail(detailId)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
|
@ -121,12 +121,12 @@ const submitForm = async () => {
|
|||
...formData.value,
|
||||
issueId: props.issueId,
|
||||
lineId: currentLineId.value
|
||||
} as unknown as WmProductionIssueDetailVO
|
||||
} as unknown as WmProductIssueDetailVO
|
||||
if (formType.value === 'create') {
|
||||
await WmProductionIssueDetailApi.createProductionIssueDetail(data)
|
||||
await WmProductIssueDetailApi.createProductIssueDetail(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await WmProductionIssueDetailApi.updateProductionIssueDetail(data)
|
||||
await WmProductIssueDetailApi.updateProductIssueDetail(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
dialogVisible.value = false
|
||||
|
|
@ -28,11 +28,11 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
WmProductionIssueDetailApi,
|
||||
WmProductionIssueDetailVO
|
||||
} from '@/api/mes/wm/productionissue/detail'
|
||||
WmProductIssueDetailApi,
|
||||
WmProductIssueDetailVO
|
||||
} from '@/api/mes/wm/productissue/detail'
|
||||
|
||||
defineOptions({ name: 'ProductionIssueDetailList' })
|
||||
defineOptions({ name: 'ProductIssueDetailList' })
|
||||
|
||||
const props = defineProps<{
|
||||
issueId: number
|
||||
|
|
@ -47,13 +47,13 @@ const { t } = useI18n() // 国际化
|
|||
const message = useMessage() // 消息弹窗
|
||||
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<WmProductionIssueDetailVO[]>([]) // 明细列表
|
||||
const list = ref<WmProductIssueDetailVO[]>([]) // 明细列表
|
||||
|
||||
/** 查询明细列表 */
|
||||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
list.value = await WmProductionIssueDetailApi.getProductionIssueDetailListByLineId(props.lineId)
|
||||
list.value = await WmProductIssueDetailApi.getProductIssueDetailListByLineId(props.lineId)
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ defineExpose({ getList })
|
|||
const handleDelete = async (detailId: number) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await WmProductionIssueDetailApi.deleteProductionIssueDetail(detailId)
|
||||
await WmProductIssueDetailApi.deleteProductIssueDetail(detailId)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
<!-- 非新建模式展示行项目信息(领料物料) -->
|
||||
<template v-if="formData.id">
|
||||
<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 #footer>
|
||||
<el-button v-if="isUpdate" @click="submitForm" type="primary" :disabled="formLoading">
|
||||
|
|
@ -85,12 +85,12 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
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 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() // 消息弹窗
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ const open = async (type: string, id?: number) => {
|
|||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await WmProductionIssueApi.getProductionIssue(id)
|
||||
formData.value = await WmProductIssueApi.getProductIssue(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
|
@ -157,14 +157,14 @@ const submitForm = async () => {
|
|||
// 提交请求
|
||||
formLoading.value = true
|
||||
try {
|
||||
const data = formData.value as unknown as WmProductionIssueVO
|
||||
const data = formData.value as unknown as WmProductIssueVO
|
||||
if (formType.value === 'create') {
|
||||
const res = await WmProductionIssueApi.createProductionIssue(data)
|
||||
const res = await WmProductIssueApi.createProductIssue(data)
|
||||
message.success('新增成功')
|
||||
formData.value.id = res
|
||||
formType.value = 'update'
|
||||
} else {
|
||||
await WmProductionIssueApi.updateProductionIssue(data)
|
||||
await WmProductIssueApi.updateProductIssue(data)
|
||||
message.success('修改成功')
|
||||
}
|
||||
// 发送操作成功的事件
|
||||
|
|
@ -179,11 +179,11 @@ const handleStock = async () => {
|
|||
try {
|
||||
formLoading.value = true
|
||||
// 校验领料数量与拣货数量是否一致
|
||||
const quantityMatch = await WmProductionIssueApi.checkProductionIssueQuantity(formData.value.id!)
|
||||
const quantityMatch = await WmProductIssueApi.checkProductIssueQuantity(formData.value.id!)
|
||||
if (!quantityMatch) {
|
||||
await message.confirm('领料数量与拣货数量不一致,确认执行拣货?')
|
||||
}
|
||||
await WmProductionIssueApi.stockProductionIssue(formData.value.id!)
|
||||
await WmProductIssueApi.stockProductIssue(formData.value.id!)
|
||||
message.success('拣货成功')
|
||||
dialogVisible.value = false
|
||||
emit('success')
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
>
|
||||
<el-table-column type="expand">
|
||||
<template #default="scope">
|
||||
<ProductionIssueDetailList
|
||||
<ProductIssueDetailList
|
||||
:ref="(el: any) => setDetailListRef(scope.row.id, el)"
|
||||
:issue-id="props.issueId"
|
||||
:line-id="scope.row.id"
|
||||
|
|
@ -107,7 +107,7 @@
|
|||
</Dialog>
|
||||
|
||||
<!-- 拣货明细添加/编辑弹窗 -->
|
||||
<ProductionIssueDetailForm
|
||||
<ProductIssueDetailForm
|
||||
ref="detailFormRef"
|
||||
:issue-id="props.issueId"
|
||||
@success="onDetailFormSuccess"
|
||||
|
|
@ -116,14 +116,14 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
WmProductionIssueLineApi,
|
||||
WmProductionIssueLineVO
|
||||
} from '@/api/mes/wm/productionissue/line'
|
||||
WmProductIssueLineApi,
|
||||
WmProductIssueLineVO
|
||||
} from '@/api/mes/wm/productissue/line'
|
||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||
import ProductionIssueDetailList from './ProductionIssueDetailList.vue'
|
||||
import ProductionIssueDetailForm from './ProductionIssueDetailForm.vue'
|
||||
import ProductIssueDetailList from './ProductIssueDetailList.vue'
|
||||
import ProductIssueDetailForm from './ProductIssueDetailForm.vue'
|
||||
|
||||
defineOptions({ name: 'ProductionIssueLineList' })
|
||||
defineOptions({ name: 'ProductIssueLineList' })
|
||||
|
||||
const props = defineProps<{
|
||||
issueId: number
|
||||
|
|
@ -138,7 +138,7 @@ const isStock = computed(() => props.formType === 'stock') // 是否为拣货模
|
|||
|
||||
// ==================== 列表 ====================
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<WmProductionIssueLineVO[]>([]) // 行列表
|
||||
const list = ref<WmProductIssueLineVO[]>([]) // 行列表
|
||||
const total = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
|
|
@ -151,7 +151,7 @@ const getList = async () => {
|
|||
loading.value = true
|
||||
try {
|
||||
queryParams.issueId = props.issueId
|
||||
const data = await WmProductionIssueLineApi.getProductionIssueLinePage(queryParams)
|
||||
const data = await WmProductIssueLineApi.getProductIssueLinePage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
|
|
@ -163,7 +163,7 @@ const getList = async () => {
|
|||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await WmProductionIssueLineApi.deleteProductionIssueLine(id)
|
||||
await WmProductIssueLineApi.deleteProductIssueLine(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -203,7 +203,7 @@ const openForm = async (type: string, id?: number) => {
|
|||
if (id) {
|
||||
formLoading.value = true
|
||||
try {
|
||||
formData.value = await WmProductionIssueLineApi.getProductionIssueLine(id)
|
||||
formData.value = await WmProductIssueLineApi.getProductIssueLine(id)
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
|
@ -215,12 +215,12 @@ const submitForm = async () => {
|
|||
await formRef.value.validate()
|
||||
formLoading.value = true
|
||||
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') {
|
||||
await WmProductionIssueLineApi.createProductionIssueLine(data)
|
||||
await WmProductIssueLineApi.createProductIssueLine(data)
|
||||
message.success(t('common.createSuccess'))
|
||||
} else {
|
||||
await WmProductionIssueLineApi.updateProductionIssueLine(data)
|
||||
await WmProductIssueLineApi.updateProductIssueLine(data)
|
||||
message.success(t('common.updateSuccess'))
|
||||
}
|
||||
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 */
|
||||
const setDetailListRef = (lineId: number, el: any) => {
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
class="!w-240px"
|
||||
>
|
||||
<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"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
type="primary"
|
||||
plain
|
||||
@click="openForm('create')"
|
||||
v-hasPermi="['mes:wm-production-issue:create']"
|
||||
v-hasPermi="['mes:wm-product-issue:create']"
|
||||
>
|
||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||
</el-button>
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
plain
|
||||
@click="handleExport"
|
||||
:loading="exportLoading"
|
||||
v-hasPermi="['mes:wm-production-issue:export']"
|
||||
v-hasPermi="['mes:wm-product-issue:export']"
|
||||
>
|
||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||
</el-button>
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
/>
|
||||
<el-table-column label="单据状态" align="center" prop="status" min-width="110">
|
||||
<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>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="240" fixed="right">
|
||||
|
|
@ -108,8 +108,8 @@
|
|||
link
|
||||
type="primary"
|
||||
@click="openForm('update', scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
||||
v-hasPermi="['mes:wm-product-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
|
|
@ -117,8 +117,8 @@
|
|||
link
|
||||
type="warning"
|
||||
@click="handleSubmit(scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
||||
v-hasPermi="['mes:wm-product-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||
>
|
||||
提交
|
||||
</el-button>
|
||||
|
|
@ -126,8 +126,8 @@
|
|||
link
|
||||
type="danger"
|
||||
@click="handleDelete(scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:delete']"
|
||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.PREPARE"
|
||||
v-hasPermi="['mes:wm-product-issue:delete']"
|
||||
v-if="scope.row.status === MesWmProductIssueStatusEnum.PREPARE"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
|
@ -136,8 +136,8 @@
|
|||
link
|
||||
type="success"
|
||||
@click="openForm('stock', scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.APPROVING"
|
||||
v-hasPermi="['mes:wm-product-issue:update']"
|
||||
v-if="scope.row.status === MesWmProductIssueStatusEnum.APPROVING"
|
||||
>
|
||||
执行拣货
|
||||
</el-button>
|
||||
|
|
@ -146,8 +146,8 @@
|
|||
link
|
||||
type="success"
|
||||
@click="handleFinish(scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:finish']"
|
||||
v-if="scope.row.status === MesWmProductionIssueStatusEnum.APPROVED"
|
||||
v-hasPermi="['mes:wm-product-issue:finish']"
|
||||
v-if="scope.row.status === MesWmProductIssueStatusEnum.APPROVED"
|
||||
>
|
||||
完成
|
||||
</el-button>
|
||||
|
|
@ -156,9 +156,9 @@
|
|||
link
|
||||
type="danger"
|
||||
@click="handleCancel(scope.row.id)"
|
||||
v-hasPermi="['mes:wm-production-issue:update']"
|
||||
v-hasPermi="['mes:wm-product-issue:update']"
|
||||
v-if="
|
||||
[MesWmProductionIssueStatusEnum.APPROVING, MesWmProductionIssueStatusEnum.APPROVED].includes(
|
||||
[MesWmProductIssueStatusEnum.APPROVING, MesWmProductIssueStatusEnum.APPROVED].includes(
|
||||
scope.row.status
|
||||
)
|
||||
"
|
||||
|
|
@ -176,24 +176,24 @@
|
|||
/>
|
||||
</ContentWrap>
|
||||
|
||||
<ProductionIssueForm ref="formRef" @success="getList" />
|
||||
<ProductIssueForm ref="formRef" @success="getList" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { dateFormatter2 } from '@/utils/formatTime'
|
||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import download from '@/utils/download'
|
||||
import { WmProductionIssueApi, WmProductionIssueVO } from '@/api/mes/wm/productionissue'
|
||||
import ProductionIssueForm from './ProductionIssueForm.vue'
|
||||
import { MesWmProductionIssueStatusEnum } from '@/views/mes/utils/constants'
|
||||
import { WmProductIssueApi, WmProductIssueVO } from '@/api/mes/wm/productissue'
|
||||
import ProductIssueForm from './ProductIssueForm.vue'
|
||||
import { MesWmProductIssueStatusEnum } from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'MesWmProductionIssue' })
|
||||
defineOptions({ name: 'MesWmProductIssue' })
|
||||
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref<WmProductionIssueVO[]>([]) // 列表的数据
|
||||
const list = ref<WmProductIssueVO[]>([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
const queryParams = reactive({
|
||||
|
|
@ -211,7 +211,7 @@ const formRef = ref() // 表单弹窗
|
|||
const getList = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const data = await WmProductionIssueApi.getProductionIssuePage(queryParams)
|
||||
const data = await WmProductIssueApi.getProductIssuePage(queryParams)
|
||||
list.value = data.list
|
||||
total.value = data.total
|
||||
} finally {
|
||||
|
|
@ -240,7 +240,7 @@ const openForm = (type: string, id?: number) => {
|
|||
const handleSubmit = async (id: number) => {
|
||||
try {
|
||||
await message.confirm('确认提交该领料单进入审批流程吗?')
|
||||
await WmProductionIssueApi.submitProductionIssue(id)
|
||||
await WmProductIssueApi.submitProductIssue(id)
|
||||
message.success('提交成功')
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -250,7 +250,7 @@ const handleSubmit = async (id: number) => {
|
|||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
await message.delConfirm()
|
||||
await WmProductionIssueApi.deleteProductionIssue(id)
|
||||
await WmProductIssueApi.deleteProductIssue(id)
|
||||
message.success(t('common.delSuccess'))
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -260,7 +260,7 @@ const handleDelete = async (id: number) => {
|
|||
const handleCancel = async (id: number) => {
|
||||
try {
|
||||
await message.confirm('确认取消该领料出库单?取消后不可恢复。')
|
||||
await WmProductionIssueApi.cancelProductionIssue(id)
|
||||
await WmProductIssueApi.cancelProductIssue(id)
|
||||
message.success('取消成功')
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -270,7 +270,7 @@ const handleCancel = async (id: number) => {
|
|||
const handleFinish = async (id: number) => {
|
||||
try {
|
||||
await message.confirm('确认完成该领料单并执行出库吗?')
|
||||
await WmProductionIssueApi.finishProductionIssue(id)
|
||||
await WmProductIssueApi.finishProductIssue(id)
|
||||
message.success('完成成功')
|
||||
await getList()
|
||||
} catch {}
|
||||
|
|
@ -281,7 +281,7 @@ const handleExport = async () => {
|
|||
try {
|
||||
await message.exportConfirm()
|
||||
exportLoading.value = true
|
||||
const data = await WmProductionIssueApi.exportProductionIssue(queryParams)
|
||||
const data = await WmProductIssueApi.exportProductIssue(queryParams)
|
||||
download.excel(data, '领料出库单.xls')
|
||||
} catch {
|
||||
} finally {
|
||||
Loading…
Reference in New Issue