🎨 style(mes): 统一代码格式,优化可读性

pull/871/MERGE
YunaiV 2026-03-30 23:23:23 +08:00
parent 920799534a
commit 76f47a476b
134 changed files with 791 additions and 756 deletions

View File

@ -35,6 +35,9 @@ export const CalTeamMemberApi = {
// 查询多个班组的成员列表 // 查询多个班组的成员列表
getTeamMemberListByTeamIds: async (teamIds: number[]) => { getTeamMemberListByTeamIds: async (teamIds: number[]) => {
return await request.get({ url: `/mes/cal/team-member/list-by-team`, params: { teamIds: teamIds.join(',') } }) return await request.get({
url: `/mes/cal/team-member/list-by-team`,
params: { teamIds: teamIds.join(',') }
})
} }
} }

View File

@ -15,7 +15,9 @@ export interface MdWorkstationMachineVO {
export const MdWorkstationMachineApi = { export const MdWorkstationMachineApi = {
// 查询设备资源列表 // 查询设备资源列表
getWorkstationMachineList: async (workstationId: number) => { getWorkstationMachineList: async (workstationId: number) => {
return await request.get({ url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId }) return await request.get({
url: `/mes/md-workstation-machine/list-by-workstation?workstationId=` + workstationId
})
}, },
// 新增设备资源 // 新增设备资源

View File

@ -14,7 +14,9 @@ export interface MdWorkstationToolVO {
export const MdWorkstationToolApi = { export const MdWorkstationToolApi = {
// 查询工装夹具资源列表 // 查询工装夹具资源列表
getWorkstationToolList: async (workstationId: number) => { getWorkstationToolList: async (workstationId: number) => {
return await request.get({ url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId }) return await request.get({
url: `/mes/md-workstation-tool/list-by-workstation?workstationId=` + workstationId
})
}, },
// 新增工装夹具资源 // 新增工装夹具资源

View File

@ -14,7 +14,9 @@ export interface MdWorkstationWorkerVO {
export const MdWorkstationWorkerApi = { export const MdWorkstationWorkerApi = {
// 查询人力资源列表 // 查询人力资源列表
getWorkstationWorkerList: async (workstationId: number) => { getWorkstationWorkerList: async (workstationId: number) => {
return await request.get({ url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId }) return await request.get({
url: `/mes/md-workstation-worker/list-by-workstation?workstationId=` + workstationId
})
}, },
// 新增人力资源 // 新增人力资源

View File

@ -17,7 +17,9 @@ export interface ProProcessContentVO {
export const ProProcessContentApi = { export const ProProcessContentApi = {
// 查询工序内容列表(按工序编号) // 查询工序内容列表(按工序编号)
getProcessContentListByProcessId: async (processId: number) => { getProcessContentListByProcessId: async (processId: number) => {
return await request.get({ url: `/mes/pro/process-content/list-by-process?processId=` + processId }) return await request.get({
url: `/mes/pro/process-content/list-by-process?processId=` + processId
})
}, },
// 查询工序内容详情 // 查询工序内容详情

View File

@ -29,7 +29,9 @@ export const ProRouteProcessApi = {
// 按产品查询工序列表(自动查找关联的工艺路线) // 按产品查询工序列表(自动查找关联的工艺路线)
getRouteProcessListByProduct: async (productId: number) => { getRouteProcessListByProduct: async (productId: number) => {
return await request.get({ url: `/mes/pro/route-process/list-by-product?productId=` + productId }) return await request.get({
url: `/mes/pro/route-process/list-by-product?productId=` + productId
})
}, },
// 查询工艺路线工序详情 // 查询工艺路线工序详情

View File

@ -19,7 +19,11 @@ export interface ProRouteProductBomVO {
// MES 工艺路线产品 BOM API // MES 工艺路线产品 BOM API
export const ProRouteProductBomApi = { export const ProRouteProductBomApi = {
// 查询工艺路线产品 BOM 列表 // 查询工艺路线产品 BOM 列表
getRouteProductBomList: async (params: { routeId: number; processId?: number; productId?: number }) => { getRouteProductBomList: async (params: {
routeId: number
processId?: number
productId?: number
}) => {
return await request.get({ url: `/mes/pro/route-product-bom/list`, params }) return await request.get({ url: `/mes/pro/route-product-bom/list`, params })
}, },

View File

@ -44,6 +44,8 @@ export const ProWorkOrderBomApi = {
// 获取工单物料需求列表 // 获取工单物料需求列表
getWorkOrderBomItemListByWorkOrderId: async (workOrderId: number) => { getWorkOrderBomItemListByWorkOrderId: async (workOrderId: number) => {
return await request.get({ url: `/mes/pro/work-order-bom/item-list-by-work-order-id?workOrderId=` + workOrderId }) return await request.get({
url: `/mes/pro/work-order-bom/item-list-by-work-order-id?workOrderId=` + workOrderId
})
} }
} }

View File

@ -36,7 +36,10 @@ export const QcIndicatorResultApi = {
// 查询检验结果明细(含检测项模板):编辑传 id新增不传 // 查询检验结果明细(含检测项模板):编辑传 id新增不传
getDetail: async (qcId: number, qcType: number, id?: number) => { getDetail: async (qcId: number, qcType: number, id?: number) => {
return await request.get({ url: `/mes/qc/indicator-result/get-detail`, params: { id, qcId, qcType } }) return await request.get({
url: `/mes/qc/indicator-result/get-detail`,
params: { id, qcId, qcType }
})
}, },
// 新增检验结果 // 新增检验结果

View File

@ -26,7 +26,10 @@ export interface WmItemReceiptDetailVO {
export const WmItemReceiptDetailApi = { export const WmItemReceiptDetailApi = {
// 查询采购入库明细列表(按行编号) // 查询采购入库明细列表(按行编号)
getItemReceiptDetailListByLineId: async (lineId: number) => { getItemReceiptDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/item-receipt-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/item-receipt-detail/list-by-line',
params: { lineId }
})
}, },
// 查询采购入库明细详情 // 查询采购入库明细详情

View File

@ -27,7 +27,9 @@ export const WmMiscReceiptLineApi = {
// 查询杂项入库单行列表 // 查询杂项入库单行列表
getMiscReceiptLineListByReceiptId: async (receiptId: number) => { getMiscReceiptLineListByReceiptId: async (receiptId: number) => {
return await request.get({ url: '/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=' + receiptId }) return await request.get({
url: '/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=' + receiptId
})
}, },
// 新增杂项入库单行 // 新增杂项入库单行

View File

@ -28,7 +28,10 @@ export interface WmOutsourceIssueDetailVO {
export const WmOutsourceIssueDetailApi = { export const WmOutsourceIssueDetailApi = {
// 查询外协发料单明细列表(按行编号) // 查询外协发料单明细列表(按行编号)
getOutsourceIssueDetailListByLineId: async (lineId: number) => { getOutsourceIssueDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/outsource-issue-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/outsource-issue-detail/list-by-line',
params: { lineId }
})
}, },
// 查询外协发料单明细详情 // 查询外协发料单明细详情

View File

@ -20,7 +20,10 @@ export interface WmOutsourceReceiptDetailVO {
export const WmOutsourceReceiptDetailApi = { export const WmOutsourceReceiptDetailApi = {
// 查询委外收货明细列表(按行编号) // 查询委外收货明细列表(按行编号)
getOutsourceReceiptDetailListByLineId: async (lineId: number) => { getOutsourceReceiptDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/outsource-receipt-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/outsource-receipt-detail/list-by-line',
params: { lineId }
})
}, },
// 查询委外收货明细详情 // 查询委外收货明细详情

View File

@ -62,7 +62,10 @@ export const WmPackageApi = {
// 添加子箱 // 添加子箱
addChildPackage: async (parentId: number, childId: number) => { addChildPackage: async (parentId: number, childId: number) => {
return await request.put({ url: '/mes/wm/package/add-child-package', params: { parentId, childId } }) return await request.put({
url: '/mes/wm/package/add-child-package',
params: { parentId, childId }
})
}, },
// 移除子箱 // 移除子箱

View File

@ -23,7 +23,10 @@ export interface WmProductIssueDetailVO {
export const WmProductIssueDetailApi = { export const WmProductIssueDetailApi = {
// 查询领料出库明细列表(按行编号) // 查询领料出库明细列表(按行编号)
getProductIssueDetailListByLineId: async (lineId: number) => { getProductIssueDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/product-issue-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/product-issue-detail/list-by-line',
params: { lineId }
})
}, },
// 查询领料出库明细详情 // 查询领料出库明细详情

View File

@ -28,7 +28,10 @@ export const WmProductReceiptDetailApi = {
// 根据行项目ID查询产品入库单明细列表 // 根据行项目ID查询产品入库单明细列表
getProductReceiptDetailListByLineId: async (lineId: number) => { getProductReceiptDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/product-receipt-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/product-receipt-detail/list-by-line',
params: { lineId }
})
}, },
// 查询产品入库单明细详情 // 查询产品入库单明细详情

View File

@ -24,7 +24,10 @@ export interface WmProductSalesDetailVO {
export const WmProductSalesDetailApi = { export const WmProductSalesDetailApi = {
// 查询销售出库明细列表(按行编号) // 查询销售出库明细列表(按行编号)
getProductSalesDetailListByLineId: async (lineId: number) => { getProductSalesDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/product-sales-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/product-sales-detail/list-by-line',
params: { lineId }
})
}, },
// 查询销售出库明细详情 // 查询销售出库明细详情

View File

@ -23,7 +23,10 @@ export interface WmReturnIssueDetailVO {
export const WmReturnIssueDetailApi = { export const WmReturnIssueDetailApi = {
// 查询生产退料明细列表(按行编号) // 查询生产退料明细列表(按行编号)
getReturnIssueDetailListByLineId: async (lineId: number) => { getReturnIssueDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/return-issue-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/return-issue-detail/list-by-line',
params: { lineId }
})
}, },
// 查询生产退料明细详情 // 查询生产退料明细详情

View File

@ -22,7 +22,10 @@ export interface WmReturnSalesDetailVO {
export const WmReturnSalesDetailApi = { export const WmReturnSalesDetailApi = {
// 查询销售退货明细列表(按行编号) // 查询销售退货明细列表(按行编号)
getReturnSalesDetailListByLineId: async (lineId: number) => { getReturnSalesDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/return-sales-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/return-sales-detail/list-by-line',
params: { lineId }
})
}, },
// 查询销售退货明细详情 // 查询销售退货明细详情

View File

@ -23,7 +23,10 @@ export interface WmReturnVendorDetailVO {
export const WmReturnVendorDetailApi = { export const WmReturnVendorDetailApi = {
// 查询供应商退货明细列表(按行编号) // 查询供应商退货明细列表(按行编号)
getReturnVendorDetailListByLineId: async (lineId: number) => { getReturnVendorDetailListByLineId: async (lineId: number) => {
return await request.get({ url: '/mes/wm/return-vendor-detail/list-by-line', params: { lineId } }) return await request.get({
url: '/mes/wm/return-vendor-detail/list-by-line',
params: { lineId }
})
}, },
// 查询供应商退货明细详情 // 查询供应商退货明细详情

View File

@ -16,7 +16,9 @@ export interface StockTakingPlanVO {
export const StockTakingPlanApi = { export const StockTakingPlanApi = {
updateStockTakingPlanStatus: async (id: number, status: number) => { updateStockTakingPlanStatus: async (id: number, status: number) => {
return await request.put({ url: '/mes/wm/stocktaking-plan/update-status?id=' + id + '&status=' + status }) return await request.put({
url: '/mes/wm/stocktaking-plan/update-status?id=' + id + '&status=' + status
})
}, },
getStockTakingPlanPage: async (params: any) => { getStockTakingPlanPage: async (params: any) => {

View File

@ -19,7 +19,6 @@ export const StockTakingPlanParamApi = {
return await request.get({ url: '/mes/wm/stocktaking-plan-param/page', params }) return await request.get({ url: '/mes/wm/stocktaking-plan-param/page', params })
}, },
createStockTakingPlanParam: async (data: StockTakingPlanParamVO) => { createStockTakingPlanParam: async (data: StockTakingPlanParamVO) => {
return await request.post({ url: '/mes/wm/stocktaking-plan-param/create', data }) return await request.post({ url: '/mes/wm/stocktaking-plan-param/create', data })
}, },

View File

@ -30,7 +30,10 @@ export const StockTakingTaskLineApi = {
}, },
getStockTakingTaskLineSimpleList: async (taskId: number) => { getStockTakingTaskLineSimpleList: async (taskId: number) => {
return await request.get({ url: '/mes/wm/stocktaking-task-line/simple-list', params: { taskId } }) return await request.get({
url: '/mes/wm/stocktaking-task-line/simple-list',
params: { taskId }
})
}, },
getStockTakingTaskLine: async (id: number) => { getStockTakingTaskLine: async (id: number) => {

View File

@ -49,6 +49,5 @@ export const WmTransferDetailApi = {
// 删除调拨明细 // 删除调拨明细
deleteTransferDetail: async (id: number) => { deleteTransferDetail: async (id: number) => {
return await request.delete({ url: '/mes/wm/transfer-detail/delete?id=' + id }) return await request.delete({ url: '/mes/wm/transfer-detail/delete?id=' + id })
}, }
} }

View File

@ -49,6 +49,5 @@ export const WmTransferLineApi = {
// 删除转移单行 // 删除转移单行
deleteTransferLine: async (id: number) => { deleteTransferLine: async (id: number) => {
return await request.delete({ url: '/mes/wm/transfer-line/delete?id=' + id }) return await request.delete({ url: '/mes/wm/transfer-line/delete?id=' + id })
}, }
} }

View File

@ -52,5 +52,5 @@ export const WmWarehouseAreaApi = {
// 删除库位 // 删除库位
deleteWarehouseArea: async (id: number) => { deleteWarehouseArea: async (id: number) => {
return await request.delete({ url: '/mes/wm/warehouse-area/delete?id=' + id }) return await request.delete({ url: '/mes/wm/warehouse-area/delete?id=' + id })
}, }
} }

View File

@ -43,5 +43,5 @@ export const WmWarehouseApi = {
// 删除仓库 // 删除仓库
deleteWarehouse: async (id: number) => { deleteWarehouse: async (id: number) => {
return await request.delete({ url: '/mes/wm/warehouse/delete?id=' + id }) return await request.delete({ url: '/mes/wm/warehouse/delete?id=' + id })
}, }
} }

View File

@ -23,7 +23,10 @@ export const WmWarehouseLocationApi = {
// 查询库区精简列表 // 查询库区精简列表
getWarehouseLocationSimpleList: async (warehouseId?: number) => { getWarehouseLocationSimpleList: async (warehouseId?: number) => {
return await request.get({ url: '/mes/wm/warehouse-location/simple-list', params: { warehouseId } }) return await request.get({
url: '/mes/wm/warehouse-location/simple-list',
params: { warehouseId }
})
}, },
// 查询库区详情 // 查询库区详情
@ -47,10 +50,14 @@ export const WmWarehouseLocationApi = {
}, },
// 批量设置库区下所有库位的混放规则 // 批量设置库区下所有库位的混放规则
updateAreaByLocationId: async (locationId: number, allowItemMixing?: boolean, allowBatchMixing?: boolean) => { updateAreaByLocationId: async (
locationId: number,
allowItemMixing?: boolean,
allowBatchMixing?: boolean
) => {
return await request.put({ return await request.put({
url: '/mes/wm/warehouse-location/update-by-location-id', url: '/mes/wm/warehouse-location/update-by-location-id',
params: { locationId, allowItemMixing, allowBatchMixing } params: { locationId, allowItemMixing, allowBatchMixing }
}) })
}, }
} }

View File

@ -29,12 +29,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
v-model="queryParams.status"
placeholder="请选择状态"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :key="dict.value"
@ -44,12 +39,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button @click="handleQuery"> <Icon icon="ep:search" class="mr-5px" /> 搜索 </el-button>
<Icon icon="ep:search" class="mr-5px" /> 搜索 <el-button @click="resetQuery"> <Icon icon="ep:refresh" class="mr-5px" /> 重置 </el-button>
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
<el-button <el-button
type="primary" type="primary"
plain plain

View File

@ -1,6 +1,8 @@
<!-- 排班日历 - 配色图例说明 --> <!-- 排班日历 - 配色图例说明 -->
<template> <template>
<div class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px"> <div
class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px"
>
<span class="text-#909399 shrink-0">配色说明</span> <span class="text-#909399 shrink-0">配色说明</span>
<span class="flex items-center gap-4px"> <span class="flex items-center gap-4px">
<span class="legend-dot bg-#95d475"></span> <span class="legend-dot bg-#95d475"></span>
@ -20,7 +22,9 @@
= 周末 = 周末
</span> </span>
<span class="flex items-center gap-4px"> <span class="flex items-center gap-4px">
<el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px"></el-tag> <el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px"
></el-tag
>
= 节假日不显示排班 = 节假日不显示排班
</span> </span>
</div> </div>

View File

@ -12,9 +12,7 @@
<el-form-item label="计划编码" prop="code"> <el-form-item label="计划编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入计划编码"> <el-input v-model="formData.code" placeholder="请输入计划编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -74,7 +72,10 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8" v-if="formData.shiftType && formData.shiftType !== MesCalShiftTypeEnum.SINGLE"> <el-col
:span="8"
v-if="formData.shiftType && formData.shiftType !== MesCalShiftTypeEnum.SINGLE"
>
<el-form-item label="倒班方式" prop="shiftMethod"> <el-form-item label="倒班方式" prop="shiftMethod">
<el-select v-model="formData.shiftMethod" placeholder="请选择倒班方式" class="!w-1/1"> <el-select v-model="formData.shiftMethod" placeholder="请选择倒班方式" class="!w-1/1">
<el-option <el-option
@ -139,7 +140,11 @@
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { CalPlanApi, CalPlanVO } from '@/api/mes/cal/plan' import { CalPlanApi, CalPlanVO } from '@/api/mes/cal/plan'
import { generateRandomStr } from '@/utils' import { generateRandomStr } from '@/utils'
import { MesCalPlanStatusEnum, MesCalShiftTypeEnum, MesCalShiftMethodEnum } from '@/views/mes/utils/constants' import {
MesCalPlanStatusEnum,
MesCalShiftTypeEnum,
MesCalShiftMethodEnum
} from '@/views/mes/utils/constants'
import CalShiftList from './CalShiftList.vue' import CalShiftList from './CalShiftList.vue'
import CalPlanTeamList from './CalPlanTeamList.vue' import CalPlanTeamList from './CalPlanTeamList.vue'

View File

@ -20,7 +20,13 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px" v-loading="formLoading"> <el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="80px"
v-loading="formLoading"
>
<el-form-item label="班组" prop="teamId"> <el-form-item label="班组" prop="teamId">
<el-select v-model="formData.teamId" placeholder="请选择班组" class="!w-1/1"> <el-select v-model="formData.teamId" placeholder="请选择班组" class="!w-1/1">
<el-option <el-option

View File

@ -28,12 +28,7 @@
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="用户" prop="userId"> <el-form-item label="用户" prop="userId">
<el-select <el-select v-model="formData.userId" placeholder="请选择用户" filterable class="!w-1/1">
v-model="formData.userId"
placeholder="请选择用户"
filterable
class="!w-1/1"
>
<el-option <el-option
v-for="user in userList" v-for="user in userList"
:key="user.id" :key="user.id"

View File

@ -12,9 +12,7 @@
<el-form-item label="方案编码" prop="code"> <el-form-item label="方案编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入方案编码"> <el-input v-model="formData.code" placeholder="请输入方案编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -51,7 +51,11 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="异常描述" prop="checkResult" v-if="formData.checkStatus === MesDvCheckResultEnum.ABNORMAL"> <el-form-item
label="异常描述"
prop="checkResult"
v-if="formData.checkStatus === MesDvCheckResultEnum.ABNORMAL"
>
<el-input v-model="formData.checkResult" type="textarea" placeholder="请输入异常描述" /> <el-input v-model="formData.checkResult" type="textarea" placeholder="请输入异常描述" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">

View File

@ -13,9 +13,7 @@
<el-form-item label="设备编码" prop="code"> <el-form-item label="设备编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入设备编码"> <el-input v-model="formData.code" placeholder="请输入设备编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -51,7 +51,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备状态" prop="status"> <el-form-item label="设备状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> <el-select
v-model="queryParams.status"
placeholder="请选择状态"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_MACHINERY_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_MACHINERY_STATUS)"
:key="dict.value" :key="dict.value"
@ -61,8 +66,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button @click="handleQuery"
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> ><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button
>
<el-button @click="resetQuery"
><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button
>
<el-button <el-button
type="primary" type="primary"
plain plain

View File

@ -175,5 +175,4 @@ watch(
}, },
{ immediate: true } { immediate: true }
) )
</script> </script>

View File

@ -30,7 +30,12 @@
<DvMachinerySelect v-model="queryParams.machineryId" class="!w-240px" /> <DvMachinerySelect v-model="queryParams.machineryId" class="!w-240px" />
</el-form-item> </el-form-item>
<el-form-item label="维修结果" prop="result"> <el-form-item label="维修结果" prop="result">
<el-select v-model="queryParams.result" placeholder="请选择维修结果" clearable class="!w-240px"> <el-select
v-model="queryParams.result"
placeholder="请选择维修结果"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_REPAIR_RESULT)" v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_REPAIR_RESULT)"
:key="dict.value" :key="dict.value"

View File

@ -27,7 +27,12 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="项目类型" prop="type"> <el-form-item label="项目类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择项目类型" clearable class="!w-240px"> <el-select
v-model="queryParams.type"
placeholder="请选择项目类型"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_SUBJECT_TYPE)" v-for="dict in getIntDictOptions(DICT_TYPE.MES_DV_SUBJECT_TYPE)"
:key="dict.value" :key="dict.value"

View File

@ -13,9 +13,7 @@
<el-form-item label="客户编码" prop="code"> <el-form-item label="客户编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入客户编码"> <el-input v-model="formData.code" placeholder="请输入客户编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -45,7 +45,12 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户类型" prop="type"> <el-form-item label="客户类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择客户类型" clearable class="!w-240px"> <el-select
v-model="queryParams.type"
placeholder="请选择客户类型"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_CLIENT_TYPE)" v-for="dict in getIntDictOptions(DICT_TYPE.MES_CLIENT_TYPE)"
:key="dict.value" :key="dict.value"
@ -75,12 +80,7 @@
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button type="warning" plain @click="handleImport" v-hasPermi="['mes:md-client:import']">
type="warning"
plain
@click="handleImport"
v-hasPermi="['mes:md-client:import']"
>
<Icon icon="ep:upload" class="mr-5px" /> 导入 <Icon icon="ep:upload" class="mr-5px" /> 导入
</el-button> </el-button>
<el-button <el-button

View File

@ -14,9 +14,7 @@
<el-form-item label="物料编码" prop="code"> <el-form-item label="物料编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入物料编码"> <el-input v-model="formData.code" placeholder="请输入物料编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -13,9 +13,7 @@
<el-form-item label="供应商编码" prop="code"> <el-form-item label="供应商编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入供应商编码"> <el-input v-model="formData.code" placeholder="请输入供应商编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -13,9 +13,7 @@
<el-form-item label="工作站编码" prop="code"> <el-form-item label="工作站编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入工作站编码"> <el-input v-model="formData.code" placeholder="请输入工作站编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -27,10 +27,20 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="所在车间" prop="workshopId"> <el-form-item label="所在车间" prop="workshopId">
<MdWorkshopSelect v-model="queryParams.workshopId" placeholder="请选择车间" clearable class="!w-240px" /> <MdWorkshopSelect
v-model="queryParams.workshopId"
placeholder="请选择车间"
clearable
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="所属工序" prop="processId"> <el-form-item label="所属工序" prop="processId">
<ProProcessSelect v-model="queryParams.processId" placeholder="请选择工序" clearable class="!w-240px" /> <ProProcessSelect
v-model="queryParams.processId"
placeholder="请选择工序"
clearable
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">

View File

@ -23,12 +23,23 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="面积" prop="area"> <el-form-item label="面积" prop="area">
<el-input-number v-model="formData.area" :precision="2" :min="0" controls-position="right" class="!w-1/1" /> <el-input-number
v-model="formData.area"
:precision="2"
:min="0"
controls-position="right"
class="!w-1/1"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="负责人" prop="chargeUserId"> <el-form-item label="负责人" prop="chargeUserId">
<el-select v-model="formData.chargeUserId" placeholder="请选择负责人" clearable class="!w-1/1"> <el-select
v-model="formData.chargeUserId"
placeholder="请选择负责人"
clearable
class="!w-1/1"
>
<el-option <el-option
v-for="user in userList" v-for="user in userList"
:key="user.id" :key="user.id"
@ -63,7 +74,9 @@
</el-row> </el-row>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"
> </el-button
>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>

View File

@ -60,11 +60,7 @@
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" width="150"> <el-table-column label="备注" align="center" width="150">
<template #default="scope"> <template #default="scope">
<el-input <el-input v-if="scope.row.editing" v-model="scope.row.remark" placeholder="请输入备注" />
v-if="scope.row.editing"
v-model="scope.row.remark"
placeholder="请输入备注"
/>
<span v-else>{{ scope.row.remark || '-' }}</span> <span v-else>{{ scope.row.remark || '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -10,12 +10,7 @@
class="!w-1/1" class="!w-1/1"
@change="handleChange" @change="handleChange"
> >
<el-option <el-option v-for="item in filteredList" :key="item.id" :label="item.reason" :value="item.id">
v-for="item in filteredList"
:key="item.id"
:label="item.reason"
:value="item.id"
>
<div class="flex items-center gap-8px"> <div class="flex items-center gap-8px">
<span>{{ item.reason }}</span> <span>{{ item.reason }}</span>
<dict-tag :type="DICT_TYPE.MES_PRO_ANDON_LEVEL" :value="item.level" /> <dict-tag :type="DICT_TYPE.MES_PRO_ANDON_LEVEL" :value="item.level" />
@ -64,9 +59,7 @@ const handleFilter = (query: string) => {
return return
} }
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter((item) => item.reason?.toLowerCase().includes(keyword))
(item) => item.reason?.toLowerCase().includes(keyword)
)
} }
/** 选中变化 */ /** 选中变化 */

View File

@ -13,9 +13,7 @@
<el-form-item label="流转卡编码" prop="code"> <el-form-item label="流转卡编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入流转卡编码" :disabled="isDetail"> <el-input v-model="formData.code" placeholder="请输入流转卡编码" :disabled="isDetail">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -170,7 +170,12 @@
删除 删除
</el-button> </el-button>
</template> </template>
<template v-if="scope.row.status === MesProFeedbackStatusEnum.APPROVING && scope.row.approveUserId === currentUserId"> <template
v-if="
scope.row.status === MesProFeedbackStatusEnum.APPROVING &&
scope.row.approveUserId === currentUserId
"
>
<el-button <el-button
link link
type="primary" type="primary"

View File

@ -13,9 +13,7 @@
<el-form-item label="工序编码" prop="code"> <el-form-item label="工序编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入工序编码"> <el-input v-model="formData.code" placeholder="请输入工序编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -60,8 +60,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -28,12 +28,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
v-model="queryParams.status"
placeholder="请选择状态"
clearable
class="!w-240px"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :key="dict.value"
@ -43,12 +38,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery" <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
>
<el-button @click="resetQuery"
><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button
>
<el-button <el-button
type="primary" type="primary"
plain plain

View File

@ -13,9 +13,7 @@
<el-form-item label="编码" prop="code"> <el-form-item label="编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入编码"> <el-input v-model="formData.code" placeholder="请输入编码">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -10,8 +10,20 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="序号" align="center" prop="sort" width="70" fixed="left" /> <el-table-column label="序号" align="center" prop="sort" width="70" fixed="left" />
<el-table-column label="工序编码" align="center" prop="processCode" width="120" fixed="left" /> <el-table-column
<el-table-column label="工序名称" align="center" prop="processName" width="120" fixed="left" /> label="工序编码"
align="center"
prop="processCode"
width="120"
fixed="left"
/>
<el-table-column
label="工序名称"
align="center"
prop="processName"
width="120"
fixed="left"
/>
<el-table-column label="下一道工序" align="center" prop="nextProcessName" width="120" /> <el-table-column label="下一道工序" align="center" prop="nextProcessName" width="120" />
<el-table-column label="与下一道工序关系" align="center" prop="linkType" width="150"> <el-table-column label="与下一道工序关系" align="center" prop="linkType" width="150">
<template #default="scope"> <template #default="scope">
@ -40,7 +52,10 @@
</el-table-column> </el-table-column>
<el-table-column label="颜色" align="center" prop="colorCode" width="100"> <el-table-column label="颜色" align="center" prop="colorCode" width="100">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.colorCode" style="display: flex; align-items: center; justify-content: center; gap: 4px"> <div
v-if="scope.row.colorCode"
style="display: flex; align-items: center; justify-content: center; gap: 4px"
>
<div <div
:style="{ :style="{
backgroundColor: scope.row.colorCode, backgroundColor: scope.row.colorCode,

View File

@ -182,5 +182,4 @@ watch(
}, },
{ immediate: true } { immediate: true }
) )
</script> </script>

View File

@ -63,8 +63,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.code?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword)
item.name?.toLowerCase().includes(keyword)
) )
} }

View File

@ -13,9 +13,7 @@
<el-form-item label="工单编码" prop="code"> <el-form-item label="工单编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入工单编码" :disabled="isDetail"> <el-input v-model="formData.code" placeholder="请输入工单编码" :disabled="isDetail">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -74,10 +72,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<MdItemSelect <MdItemSelect v-model="formData.productId" :disabled="isDetail" />
v-model="formData.productId"
:disabled="isDetail"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.code?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword)
item.name?.toLowerCase().includes(keyword)
) )
} }

View File

@ -48,7 +48,11 @@
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" min-width="150"> <el-table-column label="备注" align="center" min-width="150">
<template #default="scope"> <template #default="scope">
<el-input v-if="scope.row.editing" v-model="scope.row.remark" placeholder="请输入备注" /> <el-input
v-if="scope.row.editing"
v-model="scope.row.remark"
placeholder="请输入备注"
/>
<span v-else>{{ scope.row.remark || '-' }}</span> <span v-else>{{ scope.row.remark || '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>

View File

@ -13,9 +13,7 @@
<el-form-item label="样品编号" prop="code"> <el-form-item label="样品编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入样品编号"> <el-input v-model="formData.code" placeholder="请输入样品编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -15,9 +15,7 @@
<el-form-item label="检验单编号" prop="code"> <el-form-item label="检验单编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入检验单编号"> <el-input v-model="formData.code" placeholder="请输入检验单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -15,9 +15,7 @@
<el-form-item label="检验单编号" prop="code"> <el-form-item label="检验单编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入检验单编号"> <el-input v-model="formData.code" placeholder="请输入检验单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -15,9 +15,7 @@
<el-form-item label="检验单编号" prop="code"> <el-form-item label="检验单编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入检验单编号"> <el-input v-model="formData.code" placeholder="请输入检验单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -233,7 +231,9 @@
</template> </template>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail">
</el-button>
<el-button <el-button
@click="handleFinish" @click="handleFinish"
type="success" type="success"

View File

@ -15,9 +15,7 @@
<el-form-item label="检验单编号" prop="code"> <el-form-item label="检验单编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入检验单编号"> <el-input v-model="formData.code" placeholder="请输入检验单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -27,8 +27,7 @@
class="!w-240px" class="!w-240px"
> >
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE).filter( v-for="dict in getIntDictOptions(DICT_TYPE.MES_QC_SOURCE_DOC_TYPE).filter((dict) =>
(dict) =>
[MesQcSourceDocTypeEnum.RETURN_ISSUE, MesQcSourceDocTypeEnum.RETURN_SALES].includes( [MesQcSourceDocTypeEnum.RETURN_ISSUE, MesQcSourceDocTypeEnum.RETURN_SALES].includes(
dict.value dict.value
) )

View File

@ -14,9 +14,7 @@
<el-form-item label="方案编号" prop="code"> <el-form-item label="方案编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入方案编号"> <el-input v-model="formData.code" placeholder="请输入方案编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -12,11 +12,13 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工具编码" prop="code"> <el-form-item label="工具编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入工具编码" :disabled="formType !== 'create'"> <el-input
v-model="formData.code"
placeholder="请输入工具编码"
:disabled="formType !== 'create'"
>
<template v-if="formType === 'create'" #append> <template v-if="formType === 'create'" #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -62,7 +64,12 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="可用数量" prop="availableQuantity"> <el-form-item label="可用数量" prop="availableQuantity">
<el-input-number v-model="formData.availableQuantity" :min="0" disabled class="!w-1/1" /> <el-input-number
v-model="formData.availableQuantity"
:min="0"
disabled
class="!w-1/1"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -128,7 +135,9 @@
</el-form> </el-form>
<!-- TODO @AI条码相关先忽略后续加 --> <!-- TODO @AI条码相关先忽略后续加 -->
<template #footer> <template #footer>
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"
> </el-button
>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>
@ -139,7 +148,11 @@ import { TmToolApi, TmToolVO } from '@/api/mes/tm/tool'
import { TmToolTypeVO } from '@/api/mes/tm/tool/type' import { TmToolTypeVO } from '@/api/mes/tm/tool/type'
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record' import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import TmToolTypeSelect from '@/views/mes/tm/tool/components/TmToolTypeSelect.vue' import TmToolTypeSelect from '@/views/mes/tm/tool/components/TmToolTypeSelect.vue'
import { MesToolStatusEnum, MesMaintenTypeEnum, MesAutoCodeRuleCode } from '@/views/mes/utils/constants' import {
MesToolStatusEnum,
MesMaintenTypeEnum,
MesAutoCodeRuleCode
} from '@/views/mes/utils/constants'
defineOptions({ name: 'ToolForm' }) defineOptions({ name: 'ToolForm' })

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -62,8 +62,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.name?.toLowerCase().includes(keyword) || item.name?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword)
item.code?.toLowerCase().includes(keyword)
) )
} }

View File

@ -28,7 +28,12 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="工具类型" prop="toolTypeId"> <el-form-item label="工具类型" prop="toolTypeId">
<TmToolTypeSelect v-model="queryParams.toolTypeId" placeholder="请选择工具类型" clearable class="!w-240px" /> <TmToolTypeSelect
v-model="queryParams.toolTypeId"
placeholder="请选择工具类型"
clearable
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="品牌" prop="brand"> <el-form-item label="品牌" prop="brand">
<el-input <el-input

View File

@ -120,10 +120,7 @@ import { WmArrivalNoticeApi, WmArrivalNoticeVO } from '@/api/mes/wm/arrivalnotic
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record' import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue' import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
import ArrivalNoticeLineList from './ArrivalNoticeLineList.vue' import ArrivalNoticeLineList from './ArrivalNoticeLineList.vue'
import { import { MesAutoCodeRuleCode, MesWmArrivalNoticeStatusEnum } from '@/views/mes/utils/constants'
MesAutoCodeRuleCode,
MesWmArrivalNoticeStatusEnum
} from '@/views/mes/utils/constants'
defineOptions({ name: 'ArrivalNoticeForm' }) defineOptions({ name: 'ArrivalNoticeForm' })
const emit = defineEmits(['success']) const emit = defineEmits(['success'])

View File

@ -45,11 +45,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="物料" prop="itemId"> <el-form-item label="物料" prop="itemId">
<MdItemSelect <MdItemSelect v-model="formData.itemId" placeholder="请选择物料" class="!w-1/1" />
v-model="formData.itemId"
placeholder="请选择物料"
class="!w-1/1"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">

View File

@ -10,7 +10,12 @@
class="!w-1/1" class="!w-1/1"
@change="handleChange" @change="handleChange"
> >
<el-option v-for="item in filteredList" :key="item.id" :label="`${item.itemCode} - ${item.itemName}`" :value="item.id"> <el-option
v-for="item in filteredList"
:key="item.id"
:label="`${item.itemCode} - ${item.itemName}`"
:value="item.id"
>
<div class="flex items-center gap-8px"> <div class="flex items-center gap-8px">
<span>{{ item.itemCode }}</span> <span>{{ item.itemCode }}</span>
<span class="text-gray-500">{{ item.itemName }}</span> <span class="text-gray-500">{{ item.itemName }}</span>

View File

@ -63,8 +63,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = allList.value.filter( filteredList.value = allList.value.filter(
(item) => (item) =>
item.code?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword) || item.vendorName?.toLowerCase().includes(keyword)
item.vendorName?.toLowerCase().includes(keyword)
) )
} }

View File

@ -1,11 +1,6 @@
<template> <template>
<Dialog title="批次详情" v-model="dialogVisible" width="980px"> <Dialog title="批次详情" v-model="dialogVisible" width="980px">
<el-form <el-form :model="formData" label-width="120px" v-loading="formLoading" disabled>
:model="formData"
label-width="120px"
v-loading="formLoading"
disabled
>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="批次编号"> <el-form-item label="批次编号">
@ -43,17 +38,29 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="生产日期"> <el-form-item label="生产日期">
<el-input :model-value="formData.produceDate ? formatDate(formData.produceDate, 'YYYY-MM-DD') : ''" /> <el-input
:model-value="
formData.produceDate ? formatDate(formData.produceDate, 'YYYY-MM-DD') : ''
"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="有效期"> <el-form-item label="有效期">
<el-input :model-value="formData.expireDate ? formatDate(formData.expireDate, 'YYYY-MM-DD') : ''" /> <el-input
:model-value="
formData.expireDate ? formatDate(formData.expireDate, 'YYYY-MM-DD') : ''
"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="入库日期"> <el-form-item label="入库日期">
<el-input :model-value="formData.receiptDate ? formatDate(formData.receiptDate, 'YYYY-MM-DD') : ''" /> <el-input
:model-value="
formData.receiptDate ? formatDate(formData.receiptDate, 'YYYY-MM-DD') : ''
"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -6,13 +6,7 @@
<el-table-column label="库区名称" align="center" prop="locationName" min-width="100" /> <el-table-column label="库区名称" align="center" prop="locationName" min-width="100" />
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" /> <el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column <el-table-column v-if="isStock" label="操作" align="center" width="120" fixed="right">
v-if="isStock"
label="操作"
align="center"
width="120"
fixed="right"
>
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="emit('edit-detail', scope.row.id)"> <el-button link type="primary" @click="emit('edit-detail', scope.row.id)">
编辑 编辑

View File

@ -17,7 +17,10 @@
:value="item.id" :value="item.id"
> >
<div class="flex items-center gap-8px"> <div class="flex items-center gap-8px">
<span>{{ item.warehouseName }} / {{ item.locationName || '-' }} / {{ item.areaName || '-' }}</span> <span
>{{ item.warehouseName }} / {{ item.locationName || '-' }} /
{{ item.areaName || '-' }}</span
>
<el-tag size="small" type="info" class="ml-4px"> <el-tag size="small" type="info" class="ml-4px">
{{ item.batchCode || '无批次' }} | {{ item.quantity }} {{ item.batchCode || '无批次' }} | {{ item.quantity }}
</el-tag> </el-tag>
@ -82,16 +85,21 @@ const handleChange = (val: number | undefined) => {
/** 加载库存列表 */ /** 加载库存列表 */
const loadData = async () => { const loadData = async () => {
const list: WmMaterialStockVO[] = await WmMaterialStockApi.getMaterialStockSimpleList(props.itemId) const list: WmMaterialStockVO[] = await WmMaterialStockApi.getMaterialStockSimpleList(
props.itemId
)
// //
allList.value = list.filter((item) => !item.frozen && item.quantity > 0) allList.value = list.filter((item) => !item.frozen && item.quantity > 0)
filteredList.value = allList.value filteredList.value = allList.value
} }
/** 监听 itemId 变化重新加载 */ /** 监听 itemId 变化重新加载 */
watch(() => props.itemId, () => { watch(
() => props.itemId,
() => {
loadData() loadData()
}) }
)
onMounted(() => { onMounted(() => {
loadData() loadData()

View File

@ -17,9 +17,7 @@
:disabled="isHeaderReadonly" :disabled="isHeaderReadonly"
> >
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -4,13 +4,7 @@
<el-button v-if="isUpdate" type="primary" plain @click="openForm('create')" class="mb-10px"> <el-button v-if="isUpdate" type="primary" plain @click="openForm('create')" class="mb-10px">
<Icon icon="ep:plus" class="mr-5px" /> 添加物料 <Icon icon="ep:plus" class="mr-5px" /> 添加物料
</el-button> </el-button>
<el-table <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" border>
v-loading="loading"
:data="list"
:stripe="true"
:show-overflow-tooltip="true"
border
>
<el-table-column label="物料编码" align="center" prop="itemCode" min-width="120" /> <el-table-column label="物料编码" align="center" prop="itemCode" min-width="120" />
<el-table-column label="物料名称" align="center" prop="itemName" min-width="140" /> <el-table-column label="物料名称" align="center" prop="itemName" min-width="140" />
<el-table-column label="规格型号" align="center" prop="specification" min-width="120" /> <el-table-column label="规格型号" align="center" prop="specification" min-width="120" />
@ -20,20 +14,12 @@
<el-table-column label="仓库" align="center" prop="warehouseName" min-width="100" /> <el-table-column label="仓库" align="center" prop="warehouseName" min-width="100" />
<el-table-column label="库区" align="center" prop="locationName" min-width="100" /> <el-table-column label="库区" align="center" prop="locationName" min-width="100" />
<el-table-column label="库位" align="center" prop="areaName" min-width="100" /> <el-table-column label="库位" align="center" prop="areaName" min-width="100" />
<el-table-column <el-table-column v-if="isUpdate" label="操作" align="center" width="160" fixed="right">
v-if="isUpdate"
label="操作"
align="center"
width="160"
fixed="right"
>
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="openForm('update', scope.row.id)"> <el-button link type="primary" @click="openForm('update', scope.row.id)">
编辑 编辑
</el-button> </el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)"> <el-button link type="danger" @click="handleDelete(scope.row.id)"> </el-button>
删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -51,11 +37,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="物料" prop="itemId"> <el-form-item label="物料" prop="itemId">
<MdItemSelect <MdItemSelect v-model="formData.itemId" placeholder="请选择物料" class="!w-1/1" />
v-model="formData.itemId"
placeholder="请选择物料"
class="!w-1/1"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">

View File

@ -13,9 +13,7 @@
<el-form-item label="发料单编号" prop="code" required> <el-form-item label="发料单编号" prop="code" required>
<el-input v-model="formData.code" placeholder="请输入发料单编号"> <el-input v-model="formData.code" placeholder="请输入发料单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -143,9 +143,11 @@
type="danger" type="danger"
@click="handleCancel(scope.row.id)" @click="handleCancel(scope.row.id)"
v-hasPermi="['mes:wm-outsource-issue:update']" v-hasPermi="['mes:wm-outsource-issue:update']"
v-if="scope.row.status === MesWmOutsourceIssueStatusEnum.PREPARE || v-if="
scope.row.status === MesWmOutsourceIssueStatusEnum.PREPARE ||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVING || scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVING ||
scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVED" scope.row.status === MesWmOutsourceIssueStatusEnum.APPROVED
"
> >
取消 取消
</el-button> </el-button>

View File

@ -47,7 +47,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { WmOutsourceReceiptDetailApi, WmOutsourceReceiptDetailVO } from '@/api/mes/wm/outsourcereceipt/detail' import {
WmOutsourceReceiptDetailApi,
WmOutsourceReceiptDetailVO
} from '@/api/mes/wm/outsourcereceipt/detail'
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' import 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'

View File

@ -1,20 +1,21 @@
<!-- MES 外协收货明细列表展开行内嵌子组件 --> <!-- MES 外协收货明细列表展开行内嵌子组件 -->
<template> <template>
<div class="pl-60px pr-20px py-10px"> <div class="pl-60px pr-20px py-10px">
<el-button v-if="isUpdate" type="primary" plain size="small" @click="emit('edit-detail', undefined)" class="mb-10px"> <el-button
v-if="isUpdate"
type="primary"
plain
size="small"
@click="emit('edit-detail', undefined)"
class="mb-10px"
>
<Icon icon="ep:plus" class="mr-5px" /> 添加明细 <Icon icon="ep:plus" class="mr-5px" /> 添加明细
</el-button> </el-button>
<el-table v-loading="loading" :data="list" border size="small"> <el-table v-loading="loading" :data="list" border size="small">
<el-table-column label="批次号" align="center" prop="batchCode" min-width="120" /> <el-table-column label="批次号" align="center" prop="batchCode" min-width="120" />
<el-table-column label="库位名称" align="center" prop="locationName" min-width="100" /> <el-table-column label="库位名称" align="center" prop="locationName" min-width="100" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column <el-table-column v-if="isUpdate" label="操作" align="center" width="120" fixed="right">
v-if="isUpdate"
label="操作"
align="center"
width="120"
fixed="right"
>
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="emit('edit-detail', scope.row.id)"> <el-button link type="primary" @click="emit('edit-detail', scope.row.id)">
编辑 编辑
@ -27,7 +28,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { WmOutsourceReceiptDetailApi, WmOutsourceReceiptDetailVO } from '@/api/mes/wm/outsourcereceipt/detail' import {
WmOutsourceReceiptDetailApi,
WmOutsourceReceiptDetailVO
} from '@/api/mes/wm/outsourcereceipt/detail'
defineOptions({ name: 'OutsourceReceiptDetailList' }) defineOptions({ name: 'OutsourceReceiptDetailList' })
@ -52,7 +56,9 @@ const list = ref<WmOutsourceReceiptDetailVO[]>([])
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
list.value = await WmOutsourceReceiptDetailApi.getOutsourceReceiptDetailListByLineId(props.lineId) list.value = await WmOutsourceReceiptDetailApi.getOutsourceReceiptDetailListByLineId(
props.lineId
)
} finally { } finally {
loading.value = false loading.value = false
} }

View File

@ -16,9 +16,7 @@
:disabled="isHeaderReadonly" :disabled="isHeaderReadonly"
> >
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -13,9 +13,7 @@
<el-form-item label="装箱单编号" prop="code"> <el-form-item label="装箱单编号" prop="code">
<el-input v-model="formData.code" placeholder="请输入装箱单编号"> <el-input v-model="formData.code" placeholder="请输入装箱单编号">
<template #append> <template #append>
<el-button @click="generateCode"> <el-button @click="generateCode"> </el-button>
生成
</el-button>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -204,7 +202,9 @@ const formRef = ref()
/** 生成装箱单编号 */ /** 生成装箱单编号 */
const generateCode = async () => { const generateCode = async () => {
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.WM_PACKAGE_CODE) formData.value.code = await AutoCodeRecordApi.generateAutoCode(
MesAutoCodeRuleCode.WM_PACKAGE_CODE
)
} }
/** 打开弹窗 */ /** 打开弹窗 */

View File

@ -10,12 +10,7 @@
class="!w-1/1" class="!w-1/1"
@change="handleChange" @change="handleChange"
> >
<el-option <el-option v-for="item in filteredList" :key="item.id" :label="item.code" :value="item.id">
v-for="item in filteredList"
:key="item.id"
:label="item.code"
:value="item.id"
>
<div class="flex items-center gap-8px"> <div class="flex items-center gap-8px">
<span>{{ item.code }}</span> <span>{{ item.code }}</span>
<el-tag v-if="item.clientName" size="small" type="info" class="ml-4px"> <el-tag v-if="item.clientName" size="small" type="info" class="ml-4px">
@ -77,8 +72,7 @@ const handleFilter = (query: string) => {
const keyword = query.toLowerCase() const keyword = query.toLowerCase()
filteredList.value = available.filter( filteredList.value = available.filter(
(item) => (item) =>
item.code?.toLowerCase().includes(keyword) || item.code?.toLowerCase().includes(keyword) || item.clientName?.toLowerCase().includes(keyword)
item.clientName?.toLowerCase().includes(keyword)
) )
} }

View File

@ -7,13 +7,7 @@
<el-table-column label="库区名称" align="center" prop="locationName" min-width="100" /> <el-table-column label="库区名称" align="center" prop="locationName" min-width="100" />
<el-table-column label="库位名称" align="center" prop="areaName" min-width="100" /> <el-table-column label="库位名称" align="center" prop="areaName" min-width="100" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column <el-table-column v-if="isStock" label="操作" align="center" width="120" fixed="right">
v-if="isStock"
label="操作"
align="center"
width="120"
fixed="right"
>
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="emit('edit-detail', scope.row.id)"> <el-button link type="primary" @click="emit('edit-detail', scope.row.id)">
编辑 编辑
@ -27,10 +21,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { import { WmProductIssueDetailApi, WmProductIssueDetailVO } from '@/api/mes/wm/productissue/detail'
WmProductIssueDetailApi,
WmProductIssueDetailVO
} from '@/api/mes/wm/productissue/detail'
defineOptions({ name: 'ProductIssueDetailList' }) defineOptions({ name: 'ProductIssueDetailList' })

View File

@ -113,9 +113,7 @@ const isEditable = computed(() => ['create', 'update'].includes(formType.value))
const isStock = computed(() => formType.value === 'stock') // const isStock = computed(() => formType.value === 'stock') //
const isFinish = computed(() => formType.value === 'finish') // const isFinish = computed(() => formType.value === 'finish') //
const isDetail = computed(() => ['detail', 'finish'].includes(formType.value)) // const isDetail = computed(() => ['detail', 'finish'].includes(formType.value)) //
const isHeaderReadonly = computed(() => const isHeaderReadonly = computed(() => ['stock', 'detail', 'finish'].includes(formType.value)) //
['stock', 'detail', 'finish'].includes(formType.value)
) //
const dialogTitle = computed(() => { const dialogTitle = computed(() => {
const titles = { const titles = {
create: '新增领料出库单', create: '新增领料出库单',

View File

@ -115,10 +115,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { import { WmProductIssueLineApi, WmProductIssueLineVO } from '@/api/mes/wm/productissue/line'
WmProductIssueLineApi,
WmProductIssueLineVO
} 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 ProductIssueDetailList from './ProductIssueDetailList.vue' import ProductIssueDetailList from './ProductIssueDetailList.vue'
import ProductIssueDetailForm from './ProductIssueDetailForm.vue' import ProductIssueDetailForm from './ProductIssueDetailForm.vue'

View File

@ -158,9 +158,10 @@
@click="handleCancel(scope.row.id)" @click="handleCancel(scope.row.id)"
v-hasPermi="['mes:wm-product-issue:update']" v-hasPermi="['mes:wm-product-issue:update']"
v-if=" v-if="
[MesWmProductIssueStatusEnum.APPROVING, MesWmProductIssueStatusEnum.APPROVED].includes( [
scope.row.status MesWmProductIssueStatusEnum.APPROVING,
) MesWmProductIssueStatusEnum.APPROVED
].includes(scope.row.status)
" "
> >
取消 取消

View File

@ -41,7 +41,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { WmProductReceiptDetailApi, WmProductReceiptDetailVO } from '@/api/mes/wm/productreceipt/detail' import {
WmProductReceiptDetailApi,
WmProductReceiptDetailVO
} from '@/api/mes/wm/productreceipt/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'

View File

@ -25,7 +25,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { WmProductReceiptDetailApi, WmProductReceiptDetailVO } from '@/api/mes/wm/productreceipt/detail' import {
WmProductReceiptDetailApi,
WmProductReceiptDetailVO
} from '@/api/mes/wm/productreceipt/detail'
defineOptions({ name: 'ProductReceiptDetailList' }) defineOptions({ name: 'ProductReceiptDetailList' })

View File

@ -47,10 +47,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="生产工单" prop="workOrderId"> <el-form-item label="生产工单" prop="workOrderId">
<ProWorkOrderSelect <ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
v-model="formData.workOrderId"
:disabled="isHeaderReadonly"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -100,10 +97,7 @@ import { WmProductReceiptApi, WmProductReceiptVO } from '@/api/mes/wm/productrec
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record' import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue' import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
import ProductReceiptLineList from './ProductReceiptLineList.vue' import ProductReceiptLineList from './ProductReceiptLineList.vue'
import { import { MesAutoCodeRuleCode, MesWmProductReceiptStatusEnum } from '@/views/mes/utils/constants'
MesAutoCodeRuleCode,
MesWmProductReceiptStatusEnum
} from '@/views/mes/utils/constants'
defineOptions({ name: 'ProductReceiptForm' }) defineOptions({ name: 'ProductReceiptForm' })
const emit = defineEmits(['success']) const emit = defineEmits(['success'])

View File

@ -50,9 +50,7 @@
<el-button v-if="isStock" link type="success" @click="handleStock(scope.row.id)"> <el-button v-if="isStock" link type="success" @click="handleStock(scope.row.id)">
上架 上架
</el-button> </el-button>
<el-button link type="primary" @click="handleBarcode(scope.row)"> <el-button link type="primary" @click="handleBarcode(scope.row)"> </el-button>
条码
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -249,7 +247,10 @@ const submitForm = async () => {
await formRef.value.validate() await formRef.value.validate()
formLoading.value = true formLoading.value = true
try { try {
const data = { ...formData.value, receiptId: props.receiptId } as unknown as WmProductReceiptLineVO const data = {
...formData.value,
receiptId: props.receiptId
} as unknown as WmProductReceiptLineVO
if (lineFormType.value === 'create') { if (lineFormType.value === 'create') {
await WmProductReceiptLineApi.createProductReceiptLine(data) await WmProductReceiptLineApi.createProductReceiptLine(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))

Some files were not shown because too many files have changed in this diff Show More