From 75df43f08dee73c2313777a164600fb840f2bc26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E8=99=B9=E7=9D=BF?= <297504645@qq.com> Date: Fri, 29 Mar 2024 17:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90NEV-PC=E3=80=91=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fe/PC/src/api/wms-api.js | 15 +- fe/PC/src/utils/detailsTableColumns/index.js | 171 ++++++ fe/PC/src/utils/tableColumns/index.js | 98 ++++ fe/PC/src/utils/tabsDesTions/index.js | 83 +++ .../WorkshopManage/ProductionLine.vue | 12 +- .../dismantle/customerDismantleJob.vue | 69 ++- .../dismantle/customerDismantleNote.vue | 49 +- .../materialIssueManage/ZP/IssueJobZP.vue | 548 ++++++++++++++++++ .../materialIssueManage/ZP/IssueNoteZP.vue | 129 +++++ .../materialIssueManage/ZP/IssueRequestZP.vue | 228 ++++++++ 10 files changed, 1365 insertions(+), 37 deletions(-) create mode 100644 fe/PC/src/views/materialIssueManage/ZP/IssueJobZP.vue create mode 100644 fe/PC/src/views/materialIssueManage/ZP/IssueNoteZP.vue create mode 100644 fe/PC/src/views/materialIssueManage/ZP/IssueRequestZP.vue diff --git a/fe/PC/src/api/wms-api.js b/fe/PC/src/api/wms-api.js index bb73b544e..018705485 100644 --- a/fe/PC/src/api/wms-api.js +++ b/fe/PC/src/api/wms-api.js @@ -656,12 +656,21 @@ export async function productionRecycleJobHandle(id,data) { }) } +// 客户退拆任务-完成 todo +export async function productionRecycleJobComplete(id) { + return request({ + url: baseURL + 'wms/store/production-recycle-job/handle/'+id, + method: 'post', + }) +} + // 客户退拆任务-执行后打印 export async function productRecycleNoteExport(data) { return request({ - url: baseURL + 'wms/store/product-recycle-note/export-product-recycle', - method: 'post', - data:data + url: baseURL + 'wms/store/product-recycle-note/export-product-recycle', + method: 'post', + data:data, + responseType: 'blob' }) } diff --git a/fe/PC/src/utils/detailsTableColumns/index.js b/fe/PC/src/utils/detailsTableColumns/index.js index bbc785bee..c2ec7c55f 100644 --- a/fe/PC/src/utils/detailsTableColumns/index.js +++ b/fe/PC/src/utils/detailsTableColumns/index.js @@ -3925,6 +3925,177 @@ export const IssueNotePT = [ // ************** 确定隐藏 ************************ ] +// 人工发料申请(装配) +export const IssueRequestZP = [ + { label: "物品代码", prop: "itemCode" }, + { label: "物品名称", prop: "itemName" }, + { label: "物品描述1", prop: "itemDesc1" }, + { label: "物品描述2", prop: "itemDesc2" }, + { label: "配置", prop: "item_configurationFromFE" }, + { label: "状态", prop: "status", type: "filter", filters: "openToClose" }, + { label: "叫料数量", prop: "qty" }, + { label: "单位", prop: "uom" }, + { label: "创建时间", prop: "creationTime", type: "dateTime" }, + { label: "创建者ID", prop: 'creatorId' }, + { label: "目标库位", prop: "toLocationCode" }, + { label: "目标ERP库位", prop: "toLocationErpCode" }, + { label: "生成任务数量", prop: 'issuedQty' }, + { label: "已收数量", prop: 'receivedQty' }, + { label: "单据号", prop: 'number' }, + // ----------------------------------------------------------------------- + { label: "标包数量", prop: 'stdPackQty' }, + { label: "生产线", prop: 'prodLine' }, + { label: "来源库区", prop: 'fromLocationArea' }, + { label: "工作中心", prop: 'workStation' }, + { label: "过期时间", prop: 'expiredTime' }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: 'lastModifierId' }, + { label: "备注", prop: "remark" }, + { label: "事务ID", prop: "tenantId" }, + { label: "请求未发", prop: 'toBeIssuedQty' }, + { label: "已发未收", prop: 'toBeReceivedQty' }, + { label: "请求未收", prop: 'notFinishQty' }, + // ************** 确定隐藏 ************************ + // { label: "主表ID", prop: "masterID" }, + // { label: "ID", prop: 'id' }, + // ************** 确定隐藏 ************************ +] +// 人工发料任务(装配) +export const IssueJobZP = [ + { label: "物品代码", prop: "itemCode", fixed: "left" }, + { label: "物品名称", prop: "itemName" }, + { label: "物品描述1", prop: "itemDesc1" }, + { label: "物品描述2", prop: "itemDesc2" }, + { label: "配置", prop: "item_configurationFromFE" }, + { label: "状态", prop: "status", type: "filter", filters: "inventoryStage" }, + { label: "推荐批次", prop: "recommendLot" }, + { label: "实际批次", prop: "handledLot" }, + { label: "推荐数量", prop: 'recommendQty' }, + { label: "实际数量", prop: 'handledQty' }, + { label: "推荐箱码", prop: "recommendPackingCode" }, + { label: "实际箱码", prop: "handledPackingCode" }, + { label: "创建时间", prop: 'creationTime', type: "dateTime" }, + { label: "创建者ID", prop: 'creatorId' }, + { label: "在途库位", prop: 'onTheWayLocationCode' }, + // ----------------------------------------------------------------------- + { label: "标包数量", prop: "stdPackQty" }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: 'lastModifierId' }, + { label: "任务编号", prop: 'number',width: orderWidth }, + { label: "备注", prop: 'remark' }, + { label: "推荐库位", prop: 'recommendFromLocationCode' }, + { label: "推荐区域", prop: 'recommendFromLocationArea' }, + { label: "推荐分组", prop: 'recommendFromLocationGroup' }, + { label: "推荐ERP库位", prop: 'recommendFromLocationErpCode' }, + { label: "推荐仓库", prop: 'recommendFromWarehouseCode' }, + { label: "计量单位", prop: 'uom' }, + { label: "实际库位", prop: 'handledFromLocationCode' }, + { label: "实际区域", prop: 'handledFromLocationArea' }, + { label: "实际分组", prop: 'handledFromLocationGroup' }, + { label: "实际ERP库位", prop: 'handledFromLocationErpCode' }, + { label: "实际仓库", prop: 'handledFromWarehouseCode' }, + { label: "到库区", prop: 'toLocationArea' }, + { label: "到库位组", prop: 'toLocationGroup' }, + { label: "到ERP库位", prop: 'toLocationErpCode' }, + { label: "到仓库", prop: 'toWarehouseCode' }, + { label: "推荐供应商批次", prop: 'recommendSupplierBatch' }, + { label: "实际供应商批次", prop: 'handledSupplierBatch' }, + { label: "推荐到货时间", prop: 'recommendArriveDate', type: "dateTime" }, + { label: "实际到货时间", prop: 'handledArriveDate', type: "dateTime" }, + { label: "推荐生产时间", prop: 'recommendProduceDate', type: "dateTime" }, + { label: "实际生产时间", prop: 'handledProduceDate', type: "dateTime" }, + { label: "推荐过期时间", prop: 'recommendExpireDate', type: "dateTime" }, + { label: "实际过期时间", prop: 'handledExpireDate', type: "dateTime" }, + { label: "请求库位", prop: 'requestLocationCode' }, + { label: "到库位", prop: 'toLocationCode' }, + { label: "生产线", prop: 'prodLine' }, + { label: "工作中心", prop: 'workStation' }, + { label: "过期时间", prop: 'expiredTime' }, + { label: "工序", prop: 'operation' }, + { label: "取整后数量", prop: 'roundedQty' }, + { label: "计划开始时间", prop: 'planBeginTime' }, + { label: "每次配送数量", prop: 'deliveryQty' }, + { label: "事务ID", prop: "tenantId" }, + // ************** 确定隐藏 ************************ + // { label: "distributionType", prop: 'distributionType' }, + // { label: "plannedSplitRule", prop: 'plannedSplitRule' }, + // { label: "truncType", prop: 'truncType' }, + // { label: "ID", prop: 'id' }, + // { label: "主表ID", prop: "masterID" }, + // ************** 确定隐藏 ************************ +] +// 人工发料记录(装配) +export const IssueNoteZP = [ + { label: "物品代码", prop: "itemCode",fixed: "left" }, + { label: "物品名称", prop: "itemName" }, + { label: "物品描述1", prop: "itemDesc1" }, + { label: "物品描述2", prop: "itemDesc2" }, + { label: "配置", prop: "item_configurationFromFE" }, + { label: "发料数量", prop: "qty" }, + { label: "单位", prop: "uom" }, + { label: "创建时间", prop: 'creationTime', type: "dateTime" }, + { label: "创建者ID", prop: 'creatorId' }, + { label: "来源库位", prop: "fromLocationCode" }, + { label: "来源ERP库位", prop: 'fromLocationErpCode' }, + { label: "目标库位", prop: "toLocationCode" }, + { label: "目标ERP库位", prop: 'toLocationErpCode' }, + { label: "在途库位", prop: 'onTheWayLocationCode' }, + // ----------------------------------------------------------------------- + { label: "生效日期", prop: "arriveDate", type: "dateTime" }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: 'lastModifierId' }, + { label: "任务编号", prop: 'number',width: orderWidth }, + { label: "备注", prop: 'remark' }, + { label: "来源仓库", prop: 'fromWarehouseCode' }, + { label: "目标仓库", prop: 'toWarehouseCode' }, + { label: "标包数量", prop: 'stdPackQty' }, + { label: "来源箱码", prop: 'fromPackingCode' }, + { label: "目标箱码", prop: 'toPackingCode' }, + { label: "来源批次", prop: 'fromLot' }, + { label: "目标批次", prop: 'toLot' }, + { label: "供应商批次", prop: 'supplierBatch' }, + { label: "生产时间", prop: 'produceDate', type: "dateTime" }, + { label: "过期日期", prop: 'expireDate', type: "dateTime" }, + { label: "来源库位组", prop: 'fromLocationGroup' }, + { label: "目标库位组", prop: 'toLocationGroup' }, + { label: "来源库区", prop: 'fromLocationArea' }, + { label: "目标库区", prop: 'toLocationArea' }, + { label: "推荐箱码", prop: "recommendPackingCode" }, + { label: "发料时间", prop: 'issueTime', type: "dateTime" }, + { label: "生产线", prop: 'prodLine' }, + { label: "工作中心", prop: 'workStation' }, + { label: "事务ID", prop: "tenantId" }, + { label: "推荐数量", prop: 'recommendQty' }, + { label: "实际批次", prop: "handledLot" }, + { label: "实际库位", prop: 'handledFromLocationCode' }, + { label: "实际区域", prop: 'handledFromLocationArea' }, + { label: "实际分组", prop: 'handledFromLocationGroup' }, + { label: "实际ERP库位", prop: 'handledFromLocationErpCode' }, + { label: "实际仓库", prop: 'handledFromWarehouseCode' }, + { label: "推荐库位", prop: 'recommendFromLocationCode' }, + { label: "推荐区域", prop: 'recommendFromLocationArea' }, + { label: "推荐分组", prop: 'recommendFromLocationGroup' }, + { label: "推荐ERP库位", prop: 'recommendFromLocationErpCode' }, + { label: "推荐仓库", prop: 'recommendFromWarehouseCode' }, + { label: "实际数量", prop: 'handledQty' }, + { label: "实际箱码", prop: "handledPackingCode" }, + { label: "推荐批次", prop: "recommendLot" }, + { label: "推荐供应商批次", prop: 'recommendSupplierBatch' }, + { label: "实际供应商批次", prop: 'handledSupplierBatch' }, + { label: "推荐到货时间", prop: 'recommendArriveDate', type: "dateTime" }, + { label: "实际到货时间", prop: 'handledArriveDate', type: "dateTime" }, + { label: "推荐生产时间", prop: 'recommendProduceDate', type: "dateTime" }, + { label: "实际生产时间", prop: 'handledProduceDate', type: "dateTime" }, + { label: "推荐过期时间", prop: 'recommendExpireDate', type: "dateTime" }, + { label: "实际过期时间", prop: 'handledExpireDate', type: "dateTime" }, + // ************** 确定隐藏 ************************ + // { label: "fromStatus", prop: 'fromStatus' }, + // { label: "toStatus", prop: 'toStatus' }, + // { label: "ID", prop: 'id' }, + // { label: "主表ID", prop: "masterID" }, + // ************** 确定隐藏 ************************ +] + // 库存转移申请 export const LibraryShiftRequest = [ { label: "物品代码", prop: "itemCode" }, diff --git a/fe/PC/src/utils/tableColumns/index.js b/fe/PC/src/utils/tableColumns/index.js index 06e76fe9d..f1dd461e2 100644 --- a/fe/PC/src/utils/tableColumns/index.js +++ b/fe/PC/src/utils/tableColumns/index.js @@ -4380,6 +4380,104 @@ export const IssueNotePT = [ // ************** 确认隐藏 ************************ ] + +// 人工发料申请(装配) +export const IssueRequestZP = [ + { + label: "叫料申请编号", + prop: "number", + fixed: "left", + type: "name", + width: orderWidth + }, + { label: "状态", prop: "requestStatus", type: "tagFilter", filters: "requestStatus" }, + { label: "创建时间", prop: "creationTime", type: "dateTime" }, + { label: "操作员", prop: "worker" }, + { label: "备注", prop: 'remark' }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "生效日期", prop: 'activeDate', type: "dateTime" }, + // { label: "叫料类型", prop: 'type' }, + { label: "备料计划单号", prop: 'preparationPlanNumber',width: orderWidth }, + { label: "生产线", prop: 'prodLine' }, + { label: "车间", prop: 'workshop' }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + // ************** 确认隐藏 ************************ + // { label: "自动提交审批", prop: 'autoSubmit', type: "filter", filters: "whetherOrNot" }, + // { label: "自动审批通过", prop: 'autoAgree', type: "filter", filters: "whetherOrNot" }, + // { label: "自动执行", prop: 'autoHandle', type: "filter", filters: "whetherOrNot" }, + // { label: "自动完成任务", prop: 'autoCompleteJob', type: "filter", filters: "whetherOrNot" }, + // { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" }, + // { label: "创建者ID", prop: 'creatorId' }, + // { label: "事务ID", prop: "tenantId" }, + // ************** 确认隐藏 ************************ +] +// 人工发料任务(装配) +export const IssueJobZP = [ + { + label: "发料任务编号", + prop: "number", + fixed: "left", + type: "name", + width: orderWidth + }, + { label: "状态", prop: "jobStatus",type: "tagFilter", filters: "jobStatus" }, + { label: "申请单号", prop: "materialRequestNumber",width: orderWidth }, + { label: "创建时间", prop: "creationTime", type: "dateTime" }, + { label: "完成时间", prop: "completeTime", type: "dateTime" }, + { label: "操作员", prop: 'worker' }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "备注", prop: 'remark' }, + { label: "仓库代码", prop: 'warehouseCode' }, + { label: "上游任务编号", prop: 'upStreamJobNumber' }, + { label: "任务类型", prop: 'jobType' }, + { label: "优先级", prop: 'priority' }, + { label: "优先级增量", prop: 'priorityIncrement' }, + { label: "工作组", prop: 'workGroupCode' }, + { label: "承接者用户名", prop: 'acceptUserName' }, + { label: "承接时间", prop: 'acceptTime', type: "dateTime" }, + { label: "完成者用户名", prop: 'completeUserName' }, + { label: "任务描述", prop: 'jobDescription' }, + { label: "叫料请求类型", prop: 'requestType' }, + { label: "生产线", prop: 'prodLine' }, + { label: "车间", prop: 'workshop' }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + // ************** 确认隐藏 ************************ + // { label: "是否自动完成", prop: 'isAutoComplete', type: "filter", filters: "whetherOrNot" }, + // { label: "创建者ID", prop: 'creatorId' }, + // { label: "上次修改者ID", prop: "lastModifierId" }, + // { label: "事务ID", prop: "tenantId" }, + // { label: "承接者ID", prop: 'acceptUserId' }, + // { label: "完成者", prop: 'completeUserId' }, + // ************** 确认隐藏 ************************ +] +// 人工发料记录(装配) +export const IssueNoteZP = [ + { + label: "发料记录单号", + prop: "number", + fixed: "left", + type: "name", + width: orderWidth + }, + { label: "申请单号", prop: 'requestNumber',width: orderWidth }, + { label: "任务单号", prop: 'jobNumber',width: orderWidth }, + { label: "创建时间", prop: "creationTime",type: "dateTime" }, + { label: "操作员", prop: 'worker' }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "备注", prop: 'remark' }, + { label: "生效日期", prop: 'activeDate',type: "dateTime" }, + { label: "车间", prop: 'workshop' }, + { label: "叫料请求类型", prop: 'requestType' }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + { label: "已确认", prop: 'confirmed',type: "filter", filters: "whetherOrNot" }, + { label: "确认时间", prop: 'confirmTime' }, + // ************** 确认隐藏 ************************ + // { label: "创建者ID", prop: 'creatorId' }, + // { label: "上次修改者ID", prop: "lastModifierId" }, + // { label: "事务ID", prop: "tenantId" }, + // ************** 确认隐藏 ************************ +] + // 库存转移申请 export const LibraryShiftRequest = [ { label: "申请编号", prop: "number" }, diff --git a/fe/PC/src/utils/tabsDesTions/index.js b/fe/PC/src/utils/tabsDesTions/index.js index 3d0614d99..d1521527a 100644 --- a/fe/PC/src/utils/tabsDesTions/index.js +++ b/fe/PC/src/utils/tabsDesTions/index.js @@ -3222,6 +3222,89 @@ export const IssueNotePT = [ // ************** 确认隐藏 ************************ ] +// 人工发料申请(装配) +export const IssueRequestZP = [ + { label: "申请编号", prop: "number" }, + { label: "状态", prop: "requestStatus",type: "filter", filters: "requestStatus" }, + { label: "创建时间", prop: "creationTime", type: "dateTime" }, + { label: "操作员", prop: "worker" }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: "lastModifierId" }, + { label: "自动提交审批", prop: 'autoSubmit', type: "filter", filters: "whetherOrNot" }, + { label: "自动审批通过", prop: 'autoAgree', type: "filter", filters: "whetherOrNot" }, + { label: "自动执行", prop: 'autoHandle', type: "filter", filters: "whetherOrNot" }, + { label: "自动完成任务", prop: 'autoCompleteJob', type: "filter", filters: "whetherOrNot" }, + { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + { label: "备注", prop: 'remark' }, + { label: "创建者ID", prop: "creatorId" }, + { label: "事务ID", prop: "tenantId" }, + { label: "生效日期", prop: 'activeDate', type: "dateTime" }, + { label: "备料计划单号", prop: 'preparationPlanNumber' }, + { label: "生产线", prop: 'prodLine' }, + { label: "车间", prop: 'workshop' }, + // ************** 确认隐藏 ************************ + // { label: "ID", prop: 'id' }, + // { label: "叫料类型", prop: 'type' }, + // ************** 确认隐藏 ************************ +] +// 人工发料任务(装配) +export const IssueJobZP = [ + { label: "发料任务编号", prop: "number" }, + { label: "申请单号", prop: "materialRequestNumber" }, + { label: "状态", prop: "jobStatus", type: "filter", filters: "jobStatus" }, + { label: "创建时间", prop: "creationTime",type: "dateTime" }, + { label: "操作员", prop: 'worker' }, + { label: "是否自动完成", prop: 'isAutoComplete', type: "filter", filters: "whetherOrNot" }, + { label: "承接用户", prop: 'acceptUserName' }, + { label: "承接时间", prop: 'acceptTime', type: "dateTime" }, + { label: "完成用户", prop: 'completeUserName' }, + { label: "完成时间", prop: "completeTime", type: "dateTime" }, + { label: "叫料请求类型", prop: 'requestType' }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: "lastModifierId" }, + { label: "备注", prop: 'remark' }, + { label: "上游任务编号", prop: 'upStreamJobNumber',}, + { label: "任务类型", prop: "jobType", type: "filter", filters: "taskType" }, + { label: "优先级", prop: 'priority' }, + { label: "优先级增量", prop: 'priorityIncrement' }, + { label: "事务ID", prop: "tenantId" }, + { label: "工作组", prop: 'workGroupCode' }, + { label: "创建者ID", prop: "creatorId" }, + { label: "承接者ID", prop: 'acceptUserId' }, + { label: "完成者ID", prop: 'completeUserId' }, + { label: "任务描述", prop: 'jobDescription' }, + { label: "生产线", prop: 'prodLine' }, + { label: "车间", prop: 'workshop' }, + { label: "仓库代码", prop: 'warehouseCode' }, + // ************** 确认隐藏 ************************ + // { label: "ID", prop: 'id' }, + // ************** 确认隐藏 ************************ +] +// 人工发料记录(装配) +export const IssueNoteZP = [ + { label: "发料记录单号", prop: "number" }, + { label: "申请单号", prop: 'requestNumber' }, + { label: "任务单号", prop: 'jobNumber' }, + { label: "创建时间", prop: "creationTime",type: "dateTime" }, + { label: "操作员", prop: 'worker' }, + { label: "叫料请求类型", prop: 'requestType' }, + { label: "使用在途库", prop: 'useOnTheWayLocation', type: "filter", filters: "whetherOrNot" }, + { label: "已确认", prop: 'confirmed',type: "filter", filters: "whetherOrNot" }, + { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, + { label: "上次修改者ID", prop: "lastModifierId" }, + { label: "创建者ID", prop: "creatorId" }, + { label: "备注", prop: 'remark' }, + { label: "事务ID", prop: "tenantId" }, + { label: "生效日期", prop: 'activeDate', type: "dateTime" }, + { label: "车间", prop: 'workshop' }, + { label: "确认时间", prop: 'confirmTime', type: "dateTime" }, + // ************** 确认隐藏 ************************ + // { label: "ID", prop: 'id' }, + // ************** 确认隐藏 ************************ +] + // 库存转移申请 export const LibraryShiftRequest = [ { label: "申请编号", prop: "number" }, diff --git a/fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue b/fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue index 7a36b907b..e639c0bae 100644 --- a/fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue +++ b/fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue @@ -219,16 +219,16 @@ export default { code: [{ required: true, trigger: "blur", message: "不可为空" }], type: [{ required: true, trigger: "blur", message: "不可为空" }], // workshopCode: [{ required: true, trigger: "change", message: "不可为空" }], - rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], - rawLocationGroupCode: [{ required: true, trigger: "change", message: "不可为空" }], - productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], + rawLocationCode_show: [{ required: true, trigger: "change", message: "不可为空" }], + rawLocationGroupCode_show: [{ required: true, trigger: "change", message: "不可为空" }], + productLocationCode_show: [{ required: true, trigger: "change", message: "不可为空" }], }, editRule: { type: [{ required: true, trigger: "blur", message: "不可为空" }], // workshopCode: [{ required: true, trigger: "change", message: "不可为空" }], - rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], - rawLocationGroupCode: [{ required: true, trigger: "change", message: "不可为空" }], - productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], + rawLocationCode_show: [{ required: true, trigger: "change", message: "不可为空" }], + rawLocationGroupCode_show: [{ required: true, trigger: "change", message: "不可为空" }], + productLocationCode_show: [{ required: true, trigger: "change", message: "不可为空" }], } }, }; diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue index ac6bf433c..bac2cc481 100644 --- a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue +++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue @@ -68,7 +68,8 @@ import { getPageList, getBomByComponentTree, productRecycleNoteExport, - productionRecycleJobHandle + productionRecycleJobHandle, + productionRecycleJobComplete } from "@/api/wms-api"; import { tableMixins } from "@/mixins/TableMixins" import { LoadingMixins } from "@/mixins/LoadingMixins" @@ -115,13 +116,20 @@ export default { DrawerButtonData: [ { type: 'warning', - icon: 'el-icon-circle-check', label: '执行', name: "handle", // todo:什么状态可以执行,还是数量判断 hide: () => { return this.hideButton([1]) }, size: 'mini' }, + { + type: 'success', + label: '完成', + name: "complete", + // todo:什么状态可以执行,还是数量判断 + hide: () => { return this.hideButton([1]) }, + size: 'mini' + }, ], //新增 CreateFormData: { @@ -139,7 +147,7 @@ export default { type: "number", trigger: ["blur"], validator: (rule, value, callback) => { - //数量小于库存数 + //数量小于库存数 todo:添加部分完成情况,需要确定数量是否为recommendQty let _InventoryQty = Number(this.propsData.details[0].recommendQty) if(_InventoryQty < value){ return callback(new Error(`数量不能大于库存数量${_InventoryQty}`)) @@ -171,13 +179,14 @@ export default { }], successHandle:[ { - label:"下载", + label:"下载报告", click:(()=>{ this.downloadReport() }) } ], bomList:null, + submitRes:null,//提交后结果 }; }, mounted () { @@ -185,10 +194,13 @@ export default { }, methods: { drawerbuttonHandle(val){ + // 执行 if (val == "handle") { this.formTitle = this.$route.meta.title + "执行"; this.displayDialog.newDialog = true this.CreateFormData = JSON.parse(JSON.stringify(this.propsData)); + // todo:添加部分完成后的默认值确定 + this.CreateFormData.qty = this.propsData.details[0].recommendQty this.childTableData = [{ partCode:undefined, qty:undefined, @@ -199,7 +211,20 @@ export default { warehouseCode:undefined, }] this.theEvent = "edit" - }else{ + } + // 完成 + else if(val == "complete"){ + // todo:强制完成,更改wsm-api中productionRecycleJobComplete的值 + this.Loading.appMainLoading = true + productionRecycleJobComplete(this.propsData.id).then(res => { + this.Loading.appMainLoading = false + this.paging() + this.displayDialog.detailsDialog = false + }).catch(err => { + this.Loading.appMainLoading = false + }) + } + else{ this.drawerbutton(val) } }, @@ -226,39 +251,31 @@ export default { detailsClear(data){ console.log(data) }, - //导出存储-新 - blob(res, fileName) { - let blob = new Blob([res], { - type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8', - }) - const href = URL.createObjectURL(blob) //创建新的URL表示指定的blob对象 - const a = document.createElement('a') //创建a标签 - a.style.display = 'none' - a.href = href // 指定下载链接 - a.download = fileName //指定下载文件名 - a.click() //触发下载 - URL.revokeObjectURL(a.href) //释放URL对象 - }, // 成功后按钮操作 downloadReport(){ // 下载 - // todo:下载获取接口 let _data = { - maxResultCount: 999999, + maxResultCount: 20, skipCount: 0, sorting: "", route: "wms/store/product-recycle-note/export-product-recycle", - function: "????",//导出文件名称 - // todo:查询条件 + function: "客户退拆记录",//导出文件名称 condition: { - "filters": [] + filters: [ + { + logic: "And", + column: "number", + action: "==", + value: this.submitRes.remark + } + ] } } this.Loading.appMainLoading = true productRecycleNoteExport(_data) .then(res=>{ this.Loading.appMainLoading = false - this.blob(res,'???报告')//导出文件名称 + this.blob(res,'客户退拆记录报告')//导出文件名称 }) .catch(err=>{ this.Loading.appMainLoading = false @@ -282,6 +299,7 @@ export default { let _itemInfo = this.propsData.details[0] let _data = JSON.parse(JSON.stringify(_jobInfo)) _data.details[0].materialDetails = [],//目前规定明细中肯定只有一个子数据 + _data.details[0].qty = Number(this.CreateFormData.qty) this.bomList.forEach((item,index)=>{ let _item = { itemCode: item.component, @@ -294,10 +312,11 @@ export default { } _data.details[0].materialDetails.push(_item) }) - console.log(247,_data) this.Loading.appMainLoading = true + this.submitRes = null productionRecycleJobHandle(_jobInfo.id,_data).then(res => { this.Loading.appMainLoading = false + this.submitRes = res resolve(); }).catch(err => { this.Loading.appMainLoading = false diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue index 99972a059..9e2d72373 100644 --- a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue +++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleNote.vue @@ -29,10 +29,10 @@ :DrawerLoading="Loading.DrawerLoading" :drawer="displayDialog.detailsDialog" :propsData="propsData" - :Butttondata="[]" + :Butttondata="DrawerButtonData" :tabsDesTions="tabsDesTions" @drawerShut="(val) => (displayDialog.detailsDialog = val)" - @drawerbutton="drawerbutton" + @drawerbutton="drawerbuttonHandle" @handleCommand="drawerHandle" @close-value="closeValue" :tableColumns="detailsTableColumns" @@ -46,7 +46,7 @@ diff --git a/fe/PC/src/views/materialIssueManage/ZP/IssueJobZP.vue b/fe/PC/src/views/materialIssueManage/ZP/IssueJobZP.vue new file mode 100644 index 000000000..988366fa7 --- /dev/null +++ b/fe/PC/src/views/materialIssueManage/ZP/IssueJobZP.vue @@ -0,0 +1,548 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/materialIssueManage/ZP/IssueNoteZP.vue b/fe/PC/src/views/materialIssueManage/ZP/IssueNoteZP.vue new file mode 100644 index 000000000..2c6f56858 --- /dev/null +++ b/fe/PC/src/views/materialIssueManage/ZP/IssueNoteZP.vue @@ -0,0 +1,129 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/materialIssueManage/ZP/IssueRequestZP.vue b/fe/PC/src/views/materialIssueManage/ZP/IssueRequestZP.vue new file mode 100644 index 000000000..127412cdc --- /dev/null +++ b/fe/PC/src/views/materialIssueManage/ZP/IssueRequestZP.vue @@ -0,0 +1,228 @@ + + + \ No newline at end of file