🎨 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[]) => {
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 = {
// 查询设备资源列表
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 = {
// 查询工装夹具资源列表
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 = {
// 查询人力资源列表
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 = {
// 查询工序内容列表(按工序编号)
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) => {
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
export const ProRouteProductBomApi = {
// 查询工艺路线产品 BOM 列表
getRouteProductBomList: async (params: { routeId: number; processId?: number; productId?: number }) => {
getRouteProductBomList: async (params: {
routeId: number
processId?: number
productId?: number
}) => {
return await request.get({ url: `/mes/pro/route-product-bom/list`, params })
},

View File

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

View File

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

View File

@ -2,42 +2,42 @@ import request from '@/config/axios'
// MES 条码配置 VO
export interface WmBarcodeConfigVO {
id: number
format: number
bizType: number
contentFormat: string
contentExample: string
autoGenerateFlag: boolean
defaultTemplate: string
status: number
remark: string
createTime: string
id: number
format: number
bizType: number
contentFormat: string
contentExample: string
autoGenerateFlag: boolean
defaultTemplate: string
status: number
remark: string
createTime: string
}
// MES 条码配置 API
export const WmBarcodeConfigApi = {
// 查询条码配置分页
getBarcodeConfigPage: async (params: any) => {
return await request.get({ url: '/mes/wm/barcode-config/page', params })
},
// 查询条码配置分页
getBarcodeConfigPage: async (params: any) => {
return await request.get({ url: '/mes/wm/barcode-config/page', params })
},
// 查询条码配置详情
getBarcodeConfig: async (id: number) => {
return await request.get({ url: '/mes/wm/barcode-config/get?id=' + id })
},
// 查询条码配置详情
getBarcodeConfig: async (id: number) => {
return await request.get({ url: '/mes/wm/barcode-config/get?id=' + id })
},
// 新增条码配置
createBarcodeConfig: async (data: WmBarcodeConfigVO) => {
return await request.post({ url: '/mes/wm/barcode-config/create', data })
},
// 新增条码配置
createBarcodeConfig: async (data: WmBarcodeConfigVO) => {
return await request.post({ url: '/mes/wm/barcode-config/create', data })
},
// 修改条码配置
updateBarcodeConfig: async (data: WmBarcodeConfigVO) => {
return await request.put({ url: '/mes/wm/barcode-config/update', data })
},
// 修改条码配置
updateBarcodeConfig: async (data: WmBarcodeConfigVO) => {
return await request.put({ url: '/mes/wm/barcode-config/update', data })
},
// 删除条码配置
deleteBarcodeConfig: async (id: number) => {
return await request.delete({ url: '/mes/wm/barcode-config/delete?id=' + id })
}
// 删除条码配置
deleteBarcodeConfig: async (id: number) => {
return await request.delete({ url: '/mes/wm/barcode-config/delete?id=' + id })
}
}

View File

@ -62,4 +62,4 @@ export const WmBarcodeApi = {
params: { bizType, bizCode }
})
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

@ -2,76 +2,79 @@ import request from '@/config/axios'
// 装箱单 VO
export interface WmPackageVO {
id: number
code: string
parentId?: number
packageDate: number
salesOrderCode?: string
invoiceCode?: string
clientId?: number
clientCode?: string
clientName?: string
clientNickname?: string
length?: number
width?: number
height?: number
sizeUnitId?: number
sizeUnitName?: string
netWeight?: number
grossWeight?: number
weightUnitId?: number
weightUnitName?: string
inspectorUserId?: number
inspectorName?: string
status: number
remark?: string
createTime: string
id: number
code: string
parentId?: number
packageDate: number
salesOrderCode?: string
invoiceCode?: string
clientId?: number
clientCode?: string
clientName?: string
clientNickname?: string
length?: number
width?: number
height?: number
sizeUnitId?: number
sizeUnitName?: string
netWeight?: number
grossWeight?: number
weightUnitId?: number
weightUnitName?: string
inspectorUserId?: number
inspectorName?: string
status: number
remark?: string
createTime: string
}
// 装箱单 API
export const WmPackageApi = {
// 创建装箱单
createPackage: async (data: WmPackageVO) => {
return await request.post({ url: '/mes/wm/package/create', data })
},
// 创建装箱单
createPackage: async (data: WmPackageVO) => {
return await request.post({ url: '/mes/wm/package/create', data })
},
// 修改装箱单
updatePackage: async (data: WmPackageVO) => {
return await request.put({ url: '/mes/wm/package/update', data })
},
// 修改装箱单
updatePackage: async (data: WmPackageVO) => {
return await request.put({ url: '/mes/wm/package/update', data })
},
// 删除装箱单
deletePackage: async (id: number) => {
return await request.delete({ url: '/mes/wm/package/delete?id=' + id })
},
// 删除装箱单
deletePackage: async (id: number) => {
return await request.delete({ url: '/mes/wm/package/delete?id=' + id })
},
// 获取装箱单详情
getPackage: async (id: number) => {
return await request.get<WmPackageVO>({ url: '/mes/wm/package/get?id=' + id })
},
// 获取装箱单详情
getPackage: async (id: number) => {
return await request.get<WmPackageVO>({ url: '/mes/wm/package/get?id=' + id })
},
// 分页查询装箱单
getPackagePage: async (params: any) => {
return await request.get({ url: '/mes/wm/package/page', params })
},
// 分页查询装箱单
getPackagePage: async (params: any) => {
return await request.get({ url: '/mes/wm/package/page', params })
},
// 完成装箱单
finishPackage: async (id: number) => {
return await request.put({ url: '/mes/wm/package/finish?id=' + id })
},
// 完成装箱单
finishPackage: async (id: number) => {
return await request.put({ url: '/mes/wm/package/finish?id=' + id })
},
// 添加子箱
addChildPackage: async (parentId: number, childId: number) => {
return await request.put({ url: '/mes/wm/package/add-child-package', params: { parentId, childId } })
},
// 添加子箱
addChildPackage: async (parentId: number, childId: number) => {
return await request.put({
url: '/mes/wm/package/add-child-package',
params: { parentId, childId }
})
},
// 移除子箱
removeChildPackage: async (childId: number) => {
return await request.put({ url: '/mes/wm/package/remove-child-package?childId=' + childId })
},
// 移除子箱
removeChildPackage: async (childId: number) => {
return await request.put({ url: '/mes/wm/package/remove-child-package?childId=' + childId })
},
// 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态,用于选择父箱)
getChildablePackageSimpleList: async () => {
return await request.get<WmPackageVO[]>({ url: '/mes/wm/package/childable-simple-list' })
}
// 可添加为子箱的装箱单精简列表(无父箱 + 已完成状态,用于选择父箱)
getChildablePackageSimpleList: async () => {
return await request.get<WmPackageVO[]>({ url: '/mes/wm/package/childable-simple-list' })
}
}

View File

@ -1,48 +1,48 @@
import request from '@/config/axios'
export interface WmPackageLineVO {
id?: number
packageId: number
materialStockId?: number
itemId: number
itemCode?: string
itemName?: string
specification?: string
unitMeasureName?: string
quantity: number
workOrderId?: number
workOrderCode?: string
batchCode?: string
expireDate?: number
remark?: string
createTime?: string
id?: number
packageId: number
materialStockId?: number
itemId: number
itemCode?: string
itemName?: string
specification?: string
unitMeasureName?: string
quantity: number
workOrderId?: number
workOrderCode?: string
batchCode?: string
expireDate?: number
remark?: string
createTime?: string
}
// 装箱明细 API
export const WmPackageLineApi = {
// 创建装箱明细
createPackageLine: async (data: WmPackageLineVO) => {
return await request.post({ url: '/mes/wm/package-line/create', data })
},
// 创建装箱明细
createPackageLine: async (data: WmPackageLineVO) => {
return await request.post({ url: '/mes/wm/package-line/create', data })
},
// 修改装箱明细
updatePackageLine: async (data: WmPackageLineVO) => {
return await request.put({ url: '/mes/wm/package-line/update', data })
},
// 修改装箱明细
updatePackageLine: async (data: WmPackageLineVO) => {
return await request.put({ url: '/mes/wm/package-line/update', data })
},
// 删除装箱明细
deletePackageLine: async (id: number) => {
return await request.delete({ url: '/mes/wm/package-line/delete?id=' + id })
},
// 删除装箱明细
deletePackageLine: async (id: number) => {
return await request.delete({ url: '/mes/wm/package-line/delete?id=' + id })
},
// 获取装箱明细详情
getPackageLine: async (id: number) => {
return await request.get<WmPackageLineVO>({ url: '/mes/wm/package-line/get?id=' + id })
},
// 获取装箱明细详情
getPackageLine: async (id: number) => {
return await request.get<WmPackageLineVO>({ url: '/mes/wm/package-line/get?id=' + id })
},
// 分页查询装箱明细
getPackageLinePage: async (params: any) => {
return await request.get({ url: '/mes/wm/package-line/page', params })
}
// DONE @AI这个接口不需要是不是前后端都删除掉
// 分页查询装箱明细
getPackageLinePage: async (params: any) => {
return await request.get({ url: '/mes/wm/package-line/page', params })
}
// DONE @AI这个接口不需要是不是前后端都删除掉
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -75,4 +75,4 @@ export const WmTransferApi = {
exportTransfer: async (params: any) => {
return await request.download({ url: '/mes/wm/transfer/export-excel', params })
}
}
}

View File

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

View File

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

View File

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

View File

@ -1,26 +1,30 @@
<!-- 排班日历 - 配色图例说明 -->
<template>
<div class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px">
<div
class="flex items-center flex-wrap gap-x-16px gap-y-4px text-12px text-#606266 px-2px py-6px"
>
<span class="text-#909399 shrink-0">配色说明</span>
<span class="flex items-center gap-4px">
<span class="legend-dot bg-#95d475" ></span>
<span class="legend-dot bg-#95d475"></span>
白班
</span>
<span class="flex items-center gap-4px">
<span class="legend-dot bg-#f0a020" ></span>
<span class="legend-dot bg-#f0a020"></span>
中班三班倒
</span>
<span class="flex items-center gap-4px">
<span class="legend-dot bg-#909399" ></span>
<span class="legend-dot bg-#909399"></span>
中班两班倒/ 夜班
</span>
<span class="flex items-center gap-4px">
<span class="legend-dot bg-#f56c6c opacity-60" ></span>
<span class="legend-dot bg-#f56c6c opacity-60"></span>
<span class="text-#f56c6c">红色日期</span>
= 周末
</span>
<span class="flex items-center gap-4px">
<el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px"></el-tag>
<el-tag size="small" effect="dark" type="success" class="!text-11px !h-18px !px-4px"
></el-tag
>
= 节假日不显示排班
</span>
</div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,29 +1,29 @@
<template>
<div class="overflow-hidden">
<!-- 客户详情-产品清单 tab复用 getProductSalesLinePage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
<template #default="scope">
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
{{ scope.row.itemCode }}
</el-button>
</template>
</el-table-column>
<el-table-column label="物料名称" align="center" prop="itemName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="单位" align="center" prop="unitMeasureName" />
<el-table-column label="出库数量" align="center" prop="quantity" />
<el-table-column label="批次号" align="center" prop="batchCode" />
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 客户详情-产品清单 tab复用 getProductSalesLinePage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
<template #default="scope">
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
{{ scope.row.itemCode }}
</el-button>
</template>
</el-table-column>
<el-table-column label="物料名称" align="center" prop="itemName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="单位" align="center" prop="unitMeasureName" />
<el-table-column label="出库数量" align="center" prop="quantity" />
<el-table-column label="批次号" align="center" prop="batchCode" />
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 物料详情弹窗 -->
<MdItemForm ref="itemFormRef" />
<!-- 物料详情弹窗 -->
<MdItemForm ref="itemFormRef" />
</div>
</template>

View File

@ -1,37 +1,37 @@
<template>
<div class="overflow-hidden">
<!-- 客户详情-销售记录 tab复用 getProductSalesPage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="出库单编号" align="center" prop="code" min-width="160">
<template #default="scope">
<el-button link type="primary" @click="handleDetail(scope.row.id)">
{{ scope.row.code }}
</el-button>
</template>
</el-table-column>
<el-table-column label="出库单名称" align="center" prop="name" min-width="150" />
<el-table-column
label="出库日期"
align="center"
prop="salesDate"
:formatter="dateFormatter2"
width="180px"
<!-- 客户详情-销售记录 tab复用 getProductSalesPage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="出库单编号" align="center" prop="code" min-width="160">
<template #default="scope">
<el-button link type="primary" @click="handleDetail(scope.row.id)">
{{ scope.row.code }}
</el-button>
</template>
</el-table-column>
<el-table-column label="出库单名称" align="center" prop="name" min-width="150" />
<el-table-column
label="出库日期"
align="center"
prop="salesDate"
:formatter="dateFormatter2"
width="180px"
/>
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCT_SALES_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_WM_PRODUCT_SALES_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 销售出库单详情弹窗 -->
<ProductSalesForm ref="formRef" />
<!-- 销售出库单详情弹窗 -->
<ProductSalesForm ref="formRef" />
</div>
</template>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,29 +1,29 @@
<template>
<div class="overflow-hidden">
<!-- 供应商详情-物料清单 tab复用 getItemReceiptLinePage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
<template #default="scope">
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
{{ scope.row.itemCode }}
</el-button>
</template>
</el-table-column>
<el-table-column label="物料名称" align="center" prop="itemName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="单位" align="center" prop="unitMeasureName" />
<el-table-column label="入库数量" align="center" prop="receivedQuantity" />
<el-table-column label="批次号" align="center" prop="batchCode" />
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 供应商详情-物料清单 tab复用 getItemReceiptLinePage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="物料编码" align="center" prop="itemCode" width="140">
<template #default="scope">
<el-button link type="primary" @click="handleViewItem(scope.row.itemId)">
{{ scope.row.itemCode }}
</el-button>
</template>
</el-table-column>
<el-table-column label="物料名称" align="center" prop="itemName" />
<el-table-column label="规格型号" align="center" prop="specification" />
<el-table-column label="单位" align="center" prop="unitMeasureName" />
<el-table-column label="入库数量" align="center" prop="receivedQuantity" />
<el-table-column label="批次号" align="center" prop="batchCode" />
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 物料详情弹窗 -->
<MdItemForm ref="itemFormRef" />
<!-- 物料详情弹窗 -->
<MdItemForm ref="itemFormRef" />
</div>
</template>

View File

@ -1,37 +1,37 @@
<template>
<div class="overflow-hidden">
<!-- 供应商详情-采购记录 tab复用 getItemReceiptPage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="入库单编号" align="center" prop="code" min-width="160">
<template #default="scope">
<el-button link type="primary" @click="handleDetail(scope.row.id)">
{{ scope.row.code }}
</el-button>
</template>
</el-table-column>
<el-table-column label="入库单名称" align="center" prop="name" min-width="150" />
<el-table-column
label="入库日期"
align="center"
prop="receiptDate"
:formatter="dateFormatter2"
width="180px"
<!-- 供应商详情-采购记录 tab复用 getItemReceiptPage 分页接口 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="入库单编号" align="center" prop="code" min-width="160">
<template #default="scope">
<el-button link type="primary" @click="handleDetail(scope.row.id)">
{{ scope.row.code }}
</el-button>
</template>
</el-table-column>
<el-table-column label="入库单名称" align="center" prop="name" min-width="150" />
<el-table-column
label="入库日期"
align="center"
prop="receiptDate"
:formatter="dateFormatter2"
width="180px"
/>
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_WM_ITEM_RECEIPT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<el-table-column label="单据状态" align="center" prop="status" min-width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_WM_ITEM_RECEIPT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 采购入库单详情弹窗 -->
<ItemReceiptForm ref="formRef" />
<!-- 采购入库单详情弹窗 -->
<ItemReceiptForm ref="formRef" />
</div>
</template>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,92 +2,96 @@
<template>
<Dialog title="缺陷记录" v-model="dialogVisible" width="900px">
<div class="overflow-hidden">
<!-- 新增按钮 -->
<el-row class="mb-10px">
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['mes:qc-defect:create']">
<Icon icon="ep:plus" class="mr-5px" /> 新增缺陷
</el-button>
</el-row>
<!-- 新增按钮 -->
<el-row class="mb-10px">
<el-button type="primary" plain @click="handleAdd" v-hasPermi="['mes:qc-defect:create']">
<Icon icon="ep:plus" class="mr-5px" /> 新增缺陷
</el-button>
</el-row>
<!-- 内联编辑表格 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="缺陷描述" align="center" min-width="200">
<template #default="scope">
<el-input
v-if="scope.row.editing"
v-model="scope.row.name"
placeholder="请输入缺陷描述"
/>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="缺陷等级" align="center" width="140">
<template #default="scope">
<el-select v-if="scope.row.editing" v-model="scope.row.level" placeholder="请选择">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_LEVEL)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
<!-- 内联编辑表格 -->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="缺陷描述" align="center" min-width="200">
<template #default="scope">
<el-input
v-if="scope.row.editing"
v-model="scope.row.name"
placeholder="请输入缺陷描述"
/>
</el-select>
<dict-tag v-else :type="DICT_TYPE.MES_DEFECT_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column label="缺陷数量" align="center" width="120">
<template #default="scope">
<el-input-number
v-if="scope.row.editing"
v-model="scope.row.quantity"
:min="1"
controls-position="right"
class="!w-1/1"
/>
<span v-else>{{ scope.row.quantity }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="150">
<template #default="scope">
<el-input v-if="scope.row.editing" v-model="scope.row.remark" placeholder="请输入备注" />
<span v-else>{{ scope.row.remark || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="130" fixed="right">
<template #default="scope">
<template v-if="scope.row.editing">
<el-button link type="success" @click="handleSave(scope.row)"></el-button>
<el-button link type="info" @click="handleCancel(scope.row, scope.$index)">
取消
</el-button>
<span v-else>{{ scope.row.name }}</span>
</template>
<template v-else>
<el-button
link
type="primary"
@click="handleEdit(scope.row)"
v-hasPermi="['mes:qc-defect:update']"
>
编辑
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['mes:qc-defect:update']"
>
删除
</el-button>
</el-table-column>
<el-table-column label="缺陷等级" align="center" width="140">
<template #default="scope">
<el-select v-if="scope.row.editing" v-model="scope.row.level" placeholder="请选择">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_DEFECT_LEVEL)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<dict-tag v-else :type="DICT_TYPE.MES_DEFECT_LEVEL" :value="scope.row.level" />
</template>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-table-column>
<el-table-column label="缺陷数量" align="center" width="120">
<template #default="scope">
<el-input-number
v-if="scope.row.editing"
v-model="scope.row.quantity"
:min="1"
controls-position="right"
class="!w-1/1"
/>
<span v-else>{{ scope.row.quantity }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" min-width="150">
<template #default="scope">
<el-input
v-if="scope.row.editing"
v-model="scope.row.remark"
placeholder="请输入备注"
/>
<span v-else>{{ scope.row.remark || '-' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="130" fixed="right">
<template #default="scope">
<template v-if="scope.row.editing">
<el-button link type="success" @click="handleSave(scope.row)"></el-button>
<el-button link type="info" @click="handleCancel(scope.row, scope.$index)">
取消
</el-button>
</template>
<template v-else>
<el-button
link
type="primary"
@click="handleEdit(scope.row)"
v-hasPermi="['mes:qc-defect:update']"
>
编辑
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['mes:qc-defect:update']"
>
删除
</el-button>
</template>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
</Dialog>
</template>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -132,11 +132,11 @@ export const MesDvCheckResultEnum = {
/** MES 质检结果值类型枚举 */
export const MesQcResultValueType = {
FLOAT: 1, // 浮点
INTEGER: 2, // 整数
TEXT: 3, // 文本
DICT: 4, // 字典
FILE: 5 // 文件
FLOAT: 1, // 浮点
INTEGER: 2, // 整数
TEXT: 3, // 文本
DICT: 4, // 字典
FILE: 5 // 文件
} as const
/** MES 业务类型常量 */
@ -168,10 +168,10 @@ export const MesQcSourceDocTypeEnum = {
/** MES 质检类型枚举 */
export const MesQcTypeEnum = {
IQC: 1, // 来料检验
IQC: 1, // 来料检验
IPQC: 2, // 过程检验
OQC: 3, // 出货检验
RQC: 4 // 退货检验
OQC: 3, // 出货检验
RQC: 4 // 退货检验
}
/** MES 单据状态常量 */
@ -201,21 +201,21 @@ export const MesProFeedbackStatusEnum = {
/** MES 安灯处置状态枚举 */
export const MesProAndonStatusEnum = {
ACTIVE: 0, // 未处置
HANDLED: 1 // 已处置
ACTIVE: 0, // 未处置
HANDLED: 1 // 已处置
}
/** MES 安灯级别枚举 */
export const MesProAndonLevelEnum = {
LEVEL1: 1, // 一级
LEVEL2: 2, // 二级
LEVEL3: 3 // 三级
LEVEL3: 3 // 三级
}
/** MES 生产报工类型枚举 */
export const MesProFeedbackTypeEnum = {
SELF: 1, // 自行报工
UNIFIED: 2 // 统一报工
SELF: 1, // 自行报工
UNIFIED: 2 // 统一报工
}
/** MES 到货通知单状态枚举 */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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