feat(mes): 重命名生产领料出库相关类和接口,统一为产品领料出库命名

重构生产领料出库相关的类、接口和API,统一命名为产品领料出库,以提高代码的一致性和可读性。包括修改相关的状态枚举、数据对象、服务接口及其实现,确保所有引用均已更新。

BREAKING CHANGE: 相关类和接口的名称已更改,需更新调用代码
pull/871/MERGE
YunaiV 2026-03-23 21:32:18 +08:00
parent 46f72e85a8
commit f9717b63ea
17 changed files with 238 additions and 238 deletions

View File

@ -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 })
}
}

View File

@ -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 })
}
}

View File

@ -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 })
}
}

View File

@ -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 })
}
}

View File

@ -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 })
}
}

View File

@ -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 })
}
}

View File

@ -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 质量状态

View File

@ -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 {}

View File

@ -269,7 +269,7 @@ export const MesWmOutsourceRecptStatusEnum = {
}
/** MES 生产领料出库单状态枚举 */
export const MesWmProductionIssueStatusEnum = {
export const MesWmProductIssueStatusEnum = {
PREPARE: MesOrderStatusConstants.DRAFT,
APPROVING: MesOrderStatusConstants.APPROVING,
APPROVED: MesOrderStatusConstants.APPROVED,

View File

@ -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

View File

@ -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 {}

View File

@ -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')

View File

@ -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) => {

View File

@ -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 {