Browse Source

【NEV-PC】暂存

ag_report_nev
安虹睿 1 year ago
parent
commit
debf7831f3
  1. 25
      fe/PC/src/api/wms-api.js
  2. 4
      fe/PC/src/components/currenForm/index.vue
  3. 176
      fe/PC/src/router/index.js
  4. 589
      fe/PC/src/utils/detailsTableColumns/index.js
  5. 331
      fe/PC/src/utils/tableColumns/index.js
  6. 311
      fe/PC/src/utils/tabsDesTions/index.js
  7. 155
      fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue
  8. 111
      fe/PC/src/views/finishedProductManage/deliver/FISDeliverJob.vue
  9. 231
      fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue
  10. 548
      fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftJob.vue
  11. 129
      fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftNote.vue
  12. 228
      fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftRequest.vue
  13. 548
      fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue
  14. 129
      fe/PC/src/views/materialIssueManage/PT/IssueNotePT.vue
  15. 228
      fe/PC/src/views/materialIssueManage/PT/IssueRequestPT.vue
  16. 548
      fe/PC/src/views/materialIssueManage/ZS/IssueJobZS.vue
  17. 129
      fe/PC/src/views/materialIssueManage/ZS/IssueNoteZS.vue
  18. 228
      fe/PC/src/views/materialIssueManage/ZS/IssueRequestZS.vue
  19. 29
      fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

25
fe/PC/src/api/wms-api.js

@ -639,6 +639,31 @@ export async function itemTransformNewCreate(data) {
}) })
} }
// 获取bom
export function getBomByComponentTree(code) {
return request({
url: baseURL + 'basedata/bom/get-list-by-component-with-tree/?component=' + code,
method: 'get'
})
}
// 客户退拆任务-执行提交
export async function productionRecycleJobHandle(id,data) {
return request({
url: baseURL + 'wms/store/production-recycle-job/handle/'+id,
method: 'post',
data:data
})
}
// 客户退拆任务-执行后打印
export async function productRecycleNoteExport(data) {
return request({
url: baseURL + 'wms/store/product-recycle-note/export-product-recycle',
method: 'post',
data:data
})
}
// 根据编号获取字典信息 // 根据编号获取字典信息
// export function getDictByCode(code) { // export function getDictByCode(code) {

4
fe/PC/src/components/currenForm/index.vue

@ -851,7 +851,9 @@ export default {
changeSelect(prop, val) { changeSelect(prop, val) {
this.$emit("changeSelect", prop, val) this.$emit("changeSelect", prop, val)
}, },
resetCurrenForm() {
this.$refs.form.resetFields();
},
restrictionRule(item, prop) { restrictionRule(item, prop) {
if(prop) { if(prop) {

176
fe/PC/src/router/index.js

@ -158,22 +158,6 @@ export const constantRoutes = [
} }
}] }]
}, },
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'customerDismantleJob',
component: () => import('@/views/finishedProductManage/dismantle/customerDismantleJob.vue'),
name: 'customerDismantleJob',
meta: {
keepAlive : true,
title: '客户退拆任务',
icon: '系统首页',
}
}]
},
{ {
path: '/', path: '/',
component: Layout, component: Layout,
@ -222,6 +206,166 @@ export const constantRoutes = [
} }
}] }]
}, },
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'FISDeliverJob',
component: () => import('@/views/finishedProductManage/deliver/FISDeliverJob.vue'),
name: 'FISDeliverJob',
meta: {
keepAlive : true,
title: '成品发运任务',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueRequestZS',
component: () => import('@/views/materialIssueManage/ZS/IssueRequestZS.vue'),
name: 'IssueRequestZS',
meta: {
keepAlive : true,
title: '人工发料申请(注塑)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueJobZS',
component: () => import('@/views/materialIssueManage/ZS/IssueJobZS.vue'),
name: 'IssueJobZS',
meta: {
keepAlive : true,
title: '人工发料任务(注塑)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueNoteZS',
component: () => import('@/views/materialIssueManage/ZS/IssueNoteZS.vue'),
name: 'IssueNoteZS',
meta: {
keepAlive : true,
title: '人工发料记录(注塑)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueRequestPT',
component: () => import('@/views/materialIssueManage/PT/IssueRequestPT.vue'),
name: 'IssueRequestPT',
meta: {
keepAlive : true,
title: '人工发料申请(喷涂)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueJobPT',
component: () => import('@/views/materialIssueManage/PT/IssueJobPT.vue'),
name: 'IssueJobPT',
meta: {
keepAlive : true,
title: '人工发料任务(喷涂)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'IssueNotePT',
component: () => import('@/views/materialIssueManage/PT/IssueNotePT.vue'),
name: 'IssueNotePT',
meta: {
keepAlive : true,
title: '人工发料记录(喷涂)',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'LibraryShiftRequest',
component: () => import('@/views/inventoryManage/InventoryQuery/LibraryShiftRequest.vue'),
name: 'LibraryShiftRequest',
meta: {
keepAlive : true,
title: '库存转移申请',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'LibraryShiftJob',
component: () => import('@/views/inventoryManage/InventoryQuery/LibraryShiftJob.vue'),
name: 'LibraryShiftJob',
meta: {
keepAlive : true,
title: '库存转移任务',
icon: '成品发运任务',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'LibraryShiftNote',
component: () => import('@/views/inventoryManage/InventoryQuery/LibraryShiftNote.vue'),
name: 'LibraryShiftNote',
meta: {
keepAlive : true,
title: '库存转移记录',
icon: '成品发运任务',
}
}]
},
] ]
/** /**

589
fe/PC/src/utils/detailsTableColumns/index.js

@ -1622,6 +1622,33 @@ export const FISDeliverRequest = [
// { label: "主表ID", prop: "masterID" }, // { label: "主表ID", prop: "masterID" },
// ************** 确定隐藏 ************************ // ************** 确定隐藏 ************************
] ]
// 成品发运任务
export const FISDeliverJob = [
{ 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: "areaCode" },
{ label: "起始盘底号", prop: "extraProperties", showProp: 'FromVinCode', type: 'object' },
{ label: "截止盘底号", prop: "extraProperties", showProp: 'ToVinCode', type: 'object' },
{ label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "创建者ID", prop: 'creatorId' },
// -----------------------------------------------------------------------
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "上次修改者ID", prop: 'lastModifierId' },
{ label: "任务编号", prop: 'number' },
{ label: "备注", prop: 'remark' },
{ label: "标包数量", prop: 'stdPackQty' },
{ label: "事务ID", prop: "tenantId" },
// { label: "起始底盘号",prop: 'extraProperties',type:"object", showProp: 'FromVinCode' },
// ************** 确定隐藏 ************************
// { label: "ID", prop: 'id' },
// { label: "主表ID", prop: "masterID" },
// ************** 确定隐藏 ************************
]
// FIS发货记录 20230415 // FIS发货记录 20230415
export const FISDeliverNote = [ export const FISDeliverNote = [
{ label: "物品代码", prop: "itemCode", fixed: "left" }, { label: "物品代码", prop: "itemCode", fixed: "left" },
@ -1724,6 +1751,55 @@ export const customerDismantle = [
// { label: "主表ID", prop: "masterID" }, // { label: "主表ID", prop: "masterID" },
// ************** 确定隐藏 ************************ // ************** 确定隐藏 ************************
] ]
// 客户退拆任务 20230415
export const customerDismantleJob = [
{ label: "物品代码", prop: "itemCode" },
{ label: "物品名称", prop: "itemName" },
{ label: "物品描述1", prop: "itemDesc1" },
{ label: "物品描述2", prop: "itemDesc2" },
{ label: "标包数量", prop: 'stdPackQty' },
{ label: "单位", prop: 'uom' },
{ label: "数量", prop: 'qty' },
{ label: "Bom版本", prop: 'bomVersion' },
{ label: "库位代码", prop: 'locationCode' },
{ label: "库区", prop:"locationArea" },
{ label: "库位组", prop: 'locationGroup' },
{ label: "ERP储位", prop: "locationErpCode" },
{ label: "原料库位", prop: 'rawLocationCode' },
{ label: "原料ERP库位", prop: 'rawLocationErpCode' },
{ label: "原料库位组", prop: 'rawLocationGroup' },
{ label: "原料库区", prop: 'rawLocationArea' },
{ label: "原料仓库", prop: 'rawWarehouseCode' },
{ label: "推荐箱码", prop: "recommendPackingCode" },
{ label: "实际箱码", prop: "handledPackingCode" },
{ label: "推荐数量", prop: "recommendQty" },
{ label: "实际数量", prop: "handledQty" },
{ label: "推荐库位", prop: "recommendToLocationCode" },
{ label: "实际库位", prop: "handledToLocationCode" },
{ label: "推荐ERP库位", prop: 'recommendToLocationErpCode' },
{ label: "实际ERP库位", prop: "handledToLocationErpCode" },
{ label: "推荐库位组", prop: "recommendToLocationGroup" },
{ label: "实际库位组", prop: "handledToLocationGroup" },
{ label: "推荐库区", prop: "recommendToLocationArea" },
{ label: "实际库区", prop: "handledToLocationArea" },
{ label: "推荐仓库", prop: 'recommendToWarehouseCode' },
{ label: "实际仓库", prop: "handledToWarehouseCode" },
{ 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: "recommendLot" },
{ label: "实际批次", prop: "handledLot" },
{ label: "仓库代码", prop: 'warehouseCode' },
{ label: "任务编号", prop: 'number',width:orderWidth },
{ label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' },
]
// 生产退库申请 20230415 // 生产退库申请 20230415
export const productionReturnRequest = [ export const productionReturnRequest = [
{ label: "物品代码", prop: "itemCode",fixed:"left" }, { label: "物品代码", prop: "itemCode",fixed:"left" },
@ -3505,4 +3581,517 @@ export const completDumpNote = [
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "生效日期", prop: 'activeDate', type: "dateTime" }, { label: "生效日期", prop: 'activeDate', type: "dateTime" },
{ label: "收货单号", prop: 'rpNumber' }, { label: "收货单号", prop: 'rpNumber' },
]
// 人工发料申请(注塑)
export const IssueRequestZS = [
{ 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 IssueJobZS = [
{ 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 IssueNoteZS = [
{ 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 IssueRequestPT = [
{ 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 IssueJobPT = [
{ 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 IssueNotePT = [
{ 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" },
{ 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 LibraryShiftJob = [
{ 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 LibraryShiftNote = [
{ 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" },
// ************** 确定隐藏 ************************
] ]

331
fe/PC/src/utils/tableColumns/index.js

@ -2260,6 +2260,34 @@ export const FISDeliverRequest = [
// { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" }, // { label: "直接生成记录", prop: 'directCreateNote', type: "filter", filters: "whetherOrNot" },
// ************** 确认隐藏 ************************ // ************** 确认隐藏 ************************
] ]
// 成品发运任务
export const FISDeliverJob = [
{ 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: "areaCode" },
{ label: "起始盘底号", prop: "extraProperties", showProp: 'FromVinCode', type: 'object' },
{ label: "截止盘底号", prop: "extraProperties", showProp: 'ToVinCode', type: 'object' },
{ label: "创建时间", prop: 'creationTime', type: "dateTime" },
{ label: "创建者ID", prop: 'creatorId' },
// -----------------------------------------------------------------------
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "上次修改者ID", prop: 'lastModifierId' },
{ label: "任务编号", prop: 'number' },
{ label: "备注", prop: 'remark' },
{ label: "标包数量", prop: 'stdPackQty' },
{ label: "事务ID", prop: "tenantId" },
// { label: "起始底盘号",prop: 'extraProperties',type:"object", showProp: 'FromVinCode' },
// ************** 确定隐藏 ************************
// { label: "ID", prop: 'id' },
// { label: "主表ID", prop: "masterID" },
// ************** 确定隐藏 ************************
]
// FIS发货记录 20230415 // FIS发货记录 20230415
export const FISDeliverNote = [ export const FISDeliverNote = [
{ {
@ -2320,26 +2348,28 @@ export const customerDismantle = [
// 客户退拆任务 20230415 // 客户退拆任务 20230415
export const customerDismantleJob = [ export const customerDismantleJob = [
{ {
label: "退拆记录单号", label: "退拆任务单号",
prop: "number", prop: "number",
fixed: "left", fixed: "left",
type: "name", type: "name",
width: orderWidth width: orderWidth
}, },
{ label: "班次", prop: 'shift' }, { label: "状态", prop: "jobStatus", type: "tagFilter", filters: "jobStatus" },
{ label: "间", prop: 'workshop' }, { label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" }, { label: "承接者用户名", prop: 'acceptUserName' },
{ label: "生效时间", prop: "activeDate",type: "dateTime" }, { label: "完成时间", prop: 'completeTime', type: "dateTime" },
{ label: "操作员", prop: "worker" }, { label: "完成者用户名", prop: 'completeUserName' },
{ label: "创建时间", prop: "creationTime",type: "dateTime" }, { label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' }, { label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', width:orderWidth }, { label: "操作员", prop: "worker" },
// ************** 确认隐藏 ************************ { label: "上游任务编号", prop: 'upStreamJobNumber' },
// { label: "创建者ID", prop: 'creatorId' }, { label: "仓库代码", prop: 'warehouseCode' },
// { label: "上次修改者ID", prop: "lastModifierId" }, { label: "优先级", prop: 'priority' },
// { label: "事务ID", prop: "tenantId" }, { label: "优先级增量", prop: 'priorityIncrement' },
// ************** 确认隐藏 ************************ { label: "工作组", prop: 'workGroupCode' },
{ label: "车间", prop: 'workshop' },
{ label: "班次", prop: 'shift' },
] ]
// 客户退拆记录 20230415 // 客户退拆记录 20230415
export const customerDismantleNote = [ export const customerDismantleNote = [
@ -4156,6 +4186,283 @@ export const completDumpNote = [
{ label: "收货单号", prop: 'rpNumber' }, { label: "收货单号", prop: 'rpNumber' },
] ]
// 人工发料申请(注塑)
export const IssueRequestZS = [
{
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 IssueJobZS = [
{
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 IssueNoteZS = [
{
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 IssueRequestPT = [
{
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 IssueJobPT = [
{
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 IssueNotePT = [
{
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" },
{ 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 LibraryShiftJob = [
{ 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 LibraryShiftNote = [
{ 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' },
// ************** 确认隐藏 ************************
]
// 字段说明 // 字段说明
// showProp: true //隐藏该字段的高级筛选+列表排序 // showProp: true //隐藏该字段的高级筛选+列表排序
// sortable: false //隐藏该字段的列表排序 // sortable: false //隐藏该字段的列表排序

311
fe/PC/src/utils/tabsDesTions/index.js

@ -1620,6 +1620,31 @@ export const FISDeliverRequest = [
// { label: "ID", prop: 'id' }, // { label: "ID", prop: 'id' },
// ************** 确认隐藏 ************************ // ************** 确认隐藏 ************************
] ]
// 成品发运任务
export const FISDeliverJob = [
{ label: "发货申请单号", prop: "number" },
{ label: "状态", prop: "requestStatus", type: "filter", filters: "requestStatus" },
{ label: "发货时间", prop: "deliverTime", type: "dateTime" },
{ label: "客户代码", prop: "customerCode" },
{ label: "客户地址", prop: 'customerAddressCode' },
{ label: "操作员", prop: 'worker' },
{ 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: "creationTime", type: "dateTime" },
{ label: "创建者ID", prop: "creatorId" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "上次修改者ID", prop: "lastModifierId" },
{ label: "生效日期", prop: 'activeDate', type: "dateTime" },
{ label: "备注", prop: 'remark' },
{ label: "事务ID", prop: "tenantId" },
{ label: "发货计划单号", prop: 'deliverPlanNumber' },
// ************** 确认隐藏 ************************
// { label: "ID", prop: 'id' },
// ************** 确认隐藏 ************************
]
// FIS发货记录 20230415 // FIS发货记录 20230415
export const FISDeliverNote = [ export const FISDeliverNote = [
{ label: "记录单号", prop: 'number' }, { label: "记录单号", prop: 'number' },
@ -1669,25 +1694,27 @@ export const customerDismantle = [
// 客户退拆任务 20230415 // 客户退拆任务 20230415
export const customerDismantleJob = [ export const customerDismantleJob = [
{ {
label: "退拆记录单号", label: "退拆任务单号",
prop: "number", prop: "number",
fixed: "left", fixed: "left",
type: "name", type: "name",
}, },
{ label: "班次", prop: 'shift' }, { label: "状态", prop: "jobStatus", type: "tagFilter", filters: "jobStatus" },
{ label: "间", prop: 'workshop' }, { label: "承接时间", prop: 'acceptTime', type: "dateTime" },
{ label: "回收时间", prop: "recycleTime",type: "dateTime" }, { label: "承接者用户名", prop: 'acceptUserName' },
{ label: "生效时间", prop: "activeDate",type: "dateTime" }, { label: "完成时间", prop: 'completeTime', type: "dateTime" },
{ label: "操作员", prop: "worker" }, { label: "完成者用户名", prop: 'completeUserName' },
{ label: "创建时间", prop: "creationTime",type: "dateTime" }, { label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" }, { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
{ label: "备注", prop: 'remark' }, { label: "备注", prop: 'remark' },
{ label: "申请编号", prop: 'requestNumber', }, { label: "操作员", prop: "worker" },
// ************** 确认隐藏 ************************ { label: "上游任务编号", prop: 'upStreamJobNumber' },
// { label: "创建者ID", prop: 'creatorId' }, { label: "仓库代码", prop: 'warehouseCode' },
// { label: "上次修改者ID", prop: "lastModifierId" }, { label: "优先级", prop: 'priority' },
// { label: "事务ID", prop: "tenantId" }, { label: "优先级增量", prop: 'priorityIncrement' },
// ************** 确认隐藏 ************************ { label: "工作组", prop: 'workGroupCode' },
{ label: "车间", prop: 'workshop' },
{ label: "班次", prop: 'shift' },
] ]
// 客户退拆记录 20230415 // 客户退拆记录 20230415
export const customerDismantleNote = [ export const customerDismantleNote = [
@ -3017,3 +3044,263 @@ export const completDumpNote = [
{ label: "生效日期", prop: 'activeDate', type: "dateTime" }, { label: "生效日期", prop: 'activeDate', type: "dateTime" },
{ label: "收货单号", prop: 'rpNumber' }, { label: "收货单号", prop: 'rpNumber' },
] ]
// 人工发料申请(注塑)
export const IssueRequestZS = [
{ 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 IssueJobZS = [
{ 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 IssueNoteZS = [
{ 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 IssueRequestPT = [
{
label: "叫料申请编号",
prop: "number",
fixed: "left",
type: "name",
},
{ 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' },
{ 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 IssueJobPT = [
{
label: "发料任务编号",
prop: "number",
fixed: "left",
type: "name",
},
{ label: "状态", prop: "jobStatus",type: "tagFilter", filters: "jobStatus" },
{ label: "申请单号", prop: "materialRequestNumber" },
{ 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 IssueNotePT = [
{
label: "发料记录单号",
prop: "number",
fixed: "left",
type: "name",
},
{ label: "申请单号", prop: 'requestNumber' },
{ label: "任务单号", prop: 'jobNumber' },
{ 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" },
{ 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 LibraryShiftJob = [
{ 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 LibraryShiftNote = [
{ 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' },
// ************** 确认隐藏 ************************
]

155
fe/PC/src/views/basicData/WorkshopManage/ProductionLine.vue

@ -38,7 +38,7 @@
:Options="editOptions" :Options="editOptions"
:Handle="editHandle" :Handle="editHandle"
:Rules="formReveal ? editRules.cerateRule : editRules.editRule" :Rules="formReveal ? editRules.cerateRule : editRules.editRule"
@FormSubmit="FormSubmit" @FormSubmit="FormSubmitHandle"
@close="FormClose" @close="FormClose"
@goBack="goBack" @goBack="goBack"
></newAndEdiDialog> ></newAndEdiDialog>
@ -131,10 +131,13 @@ export default {
name: null, name: null,
description: null, description: null,
type: null, type: null,
workshopCode: null, // workshopCode: null,
rawLocationCode: [], rawLocationCode: [],
productLocationCode: null, productLocationCode: [],
rawLocationGroupCode: null, rawLocationGroupCode: [],
rawLocationCode_show: [],
rawLocationGroupCode_show: [],
productLocationCode_show: [],
code: null, code: null,
// company: null, // company: null,
}, },
@ -145,10 +148,13 @@ export default {
name: null, name: null,
description: null, description: null,
type: null, type: null,
workshopCode: null, // workshopCode: null,
rawLocationCode: [], rawLocationCode: [],
rawLocationGroupCode: null, productLocationCode: [],
productLocationCode: null, rawLocationGroupCode: [],
rawLocationCode_show: [],
rawLocationGroupCode_show: [],
productLocationCode_show: [],
concurrencyStamp: null, concurrencyStamp: null,
}, },
editOptions: { editOptions: {
@ -158,33 +164,28 @@ export default {
{ type: "input", label: "生产线代码", prop: "code", validType:'numberLetter', colSpan: 12 }, { type: "input", label: "生产线代码", prop: "code", validType:'numberLetter', colSpan: 12 },
{ type: "input", label: "生产线名称", prop: 'name', colSpan: 12 }, { type: "input", label: "生产线名称", prop: 'name', colSpan: 12 },
{ type: "select", label: "类型", prop: "type", options: "productionLineType", colSpan: 12 }, { type: "select", label: "类型", prop: "type", options: "productionLineType", colSpan: 12 },
{ type: "filterSelect", label: "车间代码", prop: "workshopCode", optionsLabel: "name", optionsValue: "code", // { type: "filterSelect", label: "", prop: "workshopCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/workshop")}, // focus: (type,val) => { return this.getFilterList(type, val, "basedata/workshop")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/workshop', 'Workshop', '车间选择', this.CreateFormData) }, // searchButton: (val) => { this.showSerarchPage(val, 'basedata/workshop', 'Workshop', '', this.CreateFormData) },
colSpan: 12 // colSpan: 12
}, // },
{ type: "filterSelect", label: "原料库位", prop: "rawLocationCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "原料库位", prop: "rawLocationCode_show", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",[{logic:"And",column:"type",action:"==",value:"2"}])}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},//,[{logic:"And",column:"type",action:"==",value:"2"}]
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData,[{logic:"And",column:"type",action:"==",value:"2"}])}, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData)}, //,[{logic:"And",column:"type",action:"==",value:"2"}]
colSpan: 12,multiple:true colSpan: 12,multiple:true
}, },
{ type: "filterSelect", label: "原料库位组", prop: "rawLocationGroupCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "原料库位组", prop: "rawLocationGroupCode_show", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location-group",[ focus: (type,val) => { return this.getFilterList(type, val, "basedata/location-group")},//,[ {logic:"And",column:"groupType",action:"==",value:"2"}]
{logic:"And",column:"groupType",action:"==",value:"2"}, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location-group', 'LocationGroup', '库位组选择', this.CreateFormData) }, ////,[[{logic:"And",column:"groupType",action:"==",value:"2"}]{logic:"And",column:"groupType",action:"==",value:"2"}]
])}, colSpan: 12,multiple:true
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location-group', 'LocationGroup', '库位组选择', this.CreateFormData,[ },
{logic:"And",column:"groupType",action:"==",value:"2"},
]) }, colSpan: 12 },
{ type: "filterSelect", label: "成品库位", prop: "productLocationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",[
{logic:"And",column:"type",action:"==",value:"4"},
])},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData,[
{logic:"And",column:"type",action:"==",value:"4"},
]) }, colSpan: 12 },
{ type: "filterSelect", label: "成品库位", prop: "productLocationCode_show", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},//,[{logic:"And",column:"type",action:"==",value:"4"}]
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData) }, //,[{logic:"And",column:"type",action:"==",value:"4"}]
colSpan: 12,multiple:true
},
{ type: "input", label: "描述", prop: "description", colSpan: 12 }, { type: "input", label: "描述", prop: "description", colSpan: 12 },
{ type: "input", label: "备注", prop: 'remark', colSpan: 12 }, { type: "input", label: "备注", prop: 'remark', colSpan: 12 },
], ],
@ -192,35 +193,24 @@ export default {
{ type: "input", label: "生产线代码", disabled:"true", prop: "code", validType:'numberLetter', colSpan: 12 }, { type: "input", label: "生产线代码", disabled:"true", prop: "code", validType:'numberLetter', colSpan: 12 },
{ type: "input", label: "生产线名称", prop: 'name', colSpan: 12 }, { type: "input", label: "生产线名称", prop: 'name', colSpan: 12 },
{ type: "select", label: "类型", prop: "type", options: "productionLineType", colSpan: 12 }, { type: "select", label: "类型", prop: "type", options: "productionLineType", colSpan: 12 },
// { type: "filterSelect", label: "", prop: "workshopCode", optionsLabel: "name", optionsValue: "code",
{ type: "filterSelect", label: "车间代码", prop: "workshopCode", optionsLabel: "name", optionsValue: "code", // focus: (type,val) => { return this.getFilterList(type, val, "basedata/workshop")},
focus: (type,val) => { return this.getFilterList(type, val, "basedata/workshop")}, // searchButton: (val) => { this.showSerarchPage(val, 'basedata/workshop', 'Workshop', '', this.editFormData) }, colSpan: 12 },
searchButton: (val) => { this.showSerarchPage(val, 'basedata/workshop', 'Workshop', '车间选择', this.editFormData) }, colSpan: 12 }, { type: "filterSelect", label: "原料库位", prop: "rawLocationCode_show", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},//,[{logic:"And",column:"type",action:"==",value:"2"}]
{ type: "filterSelect", label: "原料库位", prop: "rawLocationCode", optionsLabel: "name", optionsValue: "code", searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) }, //,[{logic:"And",column:"type",action:"==",value:"2"}]
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",[ colSpan: 12,multiple:true
{logic:"And",column:"type",action:"==",value:"2"}, },
])}, { type: "filterSelect", label: "原料库位组", prop: "rawLocationGroupCode_show", optionsLabel: "name", optionsValue: "code",
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData,[ focus: (type,val) => { return this.getFilterList(type, val, "basedata/location-group")},//,[{logic:"And",column:"groupType",action:"==",value:"2"}]
{logic:"And",column:"type",action:"==",value:"2"}, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location-group', 'LocationGroup', '库位组选择', this.editFormData) }, //,[{logic:"And",column:"groupType",action:"==",value:"2"}]
]) }, colSpan: 12 }, colSpan: 12,multiple:true
},
{ type: "filterSelect", label: "原料库位组", prop: "rawLocationGroupCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "成品库位", prop: "productLocationCode_show", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location-group",[ focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},//,[{logic:"And",column:"type",action:"==",value:"4"}]
{logic:"And",column:"groupType",action:"==",value:"2"}, searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) }, //,[{logic:"And",column:"type",action:"==",value:"4"}]
])}, colSpan: 12,multiple:true
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location-group', 'LocationGroup', '库位组选择', this.editFormData,[ },
{logic:"And",column:"groupType",action:"==",value:"2"},
]) }, colSpan: 12 },
{ type: "filterSelect", label: "成品库位", prop: "productLocationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location",[
{logic:"And",column:"type",action:"==",value:"4"},
])},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData,[
{logic:"And",column:"type",action:"==",value:"4"},
]) }, colSpan: 12 },
{ type: "input", label: "描述", prop: "description", colSpan: 12 }, { type: "input", label: "描述", prop: "description", colSpan: 12 },
{ type: "input", label: "备注", prop: 'remark', colSpan: 12 }, { type: "input", label: "备注", prop: 'remark', colSpan: 12 },
], ],
@ -228,14 +218,16 @@ export default {
cerateRule: { cerateRule: {
code: [{ required: true, trigger: "blur", message: "不可为空" }], code: [{ required: true, trigger: "blur", message: "不可为空" }],
type: [{ required: true, trigger: "blur", message: "不可为空" }], type: [{ required: true, trigger: "blur", message: "不可为空" }],
workshopCode: [{ required: true, trigger: "change", message: "不可为空" }], // workshopCode: [{ required: true, trigger: "change", message: "" }],
rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }],
rawLocationGroupCode: [{ required: true, trigger: "change", message: "不可为空" }],
productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }],
}, },
editRule: { editRule: {
type: [{ required: true, trigger: "blur", message: "不可为空" }], type: [{ required: true, trigger: "blur", message: "不可为空" }],
workshopCode: [{ required: true, trigger: "change", message: "不可为空" }], // workshopCode: [{ required: true, trigger: "change", message: "" }],
rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], rawLocationCode: [{ required: true, trigger: "change", message: "不可为空" }],
rawLocationGroupCode: [{ required: true, trigger: "change", message: "不可为空" }],
productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }], productLocationCode: [{ required: true, trigger: "change", message: "不可为空" }],
} }
}, },
@ -244,6 +236,47 @@ export default {
mounted () { mounted () {
this.paging(); this.paging();
}, },
methods:{
//
initMutipleLocationGet(data){
if(!data || data.length <= 0)return data
let _arr = []
if(typeof data == "string"){
_arr=data.split(",")
}else{
data.forEach(item=>{ _arr.push(item) })
}
return _arr
},
//
inlineDialogCallbackUser(){
this.propsData.productLocationCode_show = this.initMutipleLocationGet(this.propsData.productLocationCode)
this.propsData.rawLocationCode_show = this.initMutipleLocationGet(this.propsData.rawLocationCode)
this.propsData.rawLocationGroupCode_show = this.initMutipleLocationGet(this.propsData.rawLocationGroupCode)
},
//
initMutipleLocationSubmit(data){
let _arr = []
if(typeof data == "string"){data=data.split(",")}
data.forEach(item=>{
_arr.push({locationCode:item})
})
return JSON.stringify(_arr)
},
//
FormSubmitHandle(val){
if(this.formReveal){
this.CreateFormData.productLocationCode = this.initMutipleLocationSubmit(this.CreateFormData.productLocationCode_show)
this.CreateFormData.rawLocationCode = this.initMutipleLocationSubmit(this.CreateFormData.rawLocationCode_show)
this.CreateFormData.rawLocationGroupCode = this.initMutipleLocationSubmit(this.CreateFormData.rawLocationGroupCode_show)
}else{
this.editFormData.productLocationCode = this.initMutipleLocationSubmit(this.editFormData.productLocationCode_show)
this.editFormData.rawLocationCode = this.initMutipleLocationSubmit(this.editFormData.rawLocationCode_show)
this.editFormData.rawLocationGroupCode = this.initMutipleLocationSubmit(this.editFormData.rawLocationGroupCode_show)
}
this.FormSubmit(val)
}
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

111
fe/PC/src/views/finishedProductManage/deliver/FISDeliverJob.vue

@ -0,0 +1,111 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!--抽屉-->
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
:disabledMethod = {method1:false,method2:false,method3:false}
:disabledIsAllowPartImport = {isAllowPartImport1:false,isAllowPartImport2:false}
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
</div>
</template>
<script>
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
export default {
name: "FISDeliverJob",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
//
hideButton: function () {
return function (val) {
let data = true
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = false
}
})
return data
}
},
},
data () {
return {
URL: 'wms/store/deliver-request-fis',
//
currenButtonData: [
this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
...requestData(this)
],
};
},
mounted () {
this.paging();
},
}
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
</style>

231
fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue

@ -29,10 +29,10 @@
:DrawerLoading="Loading.DrawerLoading" :DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog" :drawer="displayDialog.detailsDialog"
:propsData="propsData" :propsData="propsData"
:Butttondata="[]" :Butttondata="DrawerButtonData"
:tabsDesTions="tabsDesTions" :tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)" @drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton" @drawerbutton="drawerbuttonHandle"
@handleCommand="drawerHandle" @handleCommand="drawerHandle"
@close-value="closeValue" @close-value="closeValue"
:tableColumns="detailsTableColumns" :tableColumns="detailsTableColumns"
@ -40,7 +40,7 @@
:MaxResultCount="MaxResultCountDetails" :MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails" @alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails" @alertoldSkipCountDetails="alertoldSkipCountDetails"
:dropdownTabsData="dropdownTabsData" :dropdownTabsData="[]"
:firstTabs="firstTabs" :firstTabs="firstTabs"
></curren-Drawer> ></curren-Drawer>
<!--编辑--> <!--编辑-->
@ -63,13 +63,20 @@
</div> </div>
</template> </template>
<script> <script>
import { getDetailed, getPageList } from "@/api/wms-api"; import {
getDetailed,
getPageList,
getBomByComponentTree,
productRecycleNoteExport,
productionRecycleJobHandle
} from "@/api/wms-api";
import { tableMixins } from "@/mixins/TableMixins" import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins" import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins" import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins" import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins" import { mixins } from "@/mixins/mixins"
import { filterSelectMixins } from '@/mixins/filter-Select' import { filterSelectMixins } from '@/mixins/filter-Select'
import store from '@/store'
export default { export default {
name: "customerDismantleJob", name: "customerDismantleJob",
mixins: [ mixins: [
@ -80,33 +87,40 @@ export default {
mixins, mixins,
filterSelectMixins, filterSelectMixins,
], ],
computed: {
hideButton: function () {
return function (val) {
let data = true
val.forEach(key => {
if (this.propsData.jobStatus == key) {
data = false
}
})
return data
}
},
},
data () { data () {
return { return {
URL: 'wms/store/product-recycle-note', URL: 'wms/store/production-recycle-job',
detailURL: 'wms/store/product-recycle-note/note-and-back-flush',
// //
currenButtonData: [ currenButtonData: [
// this.defaultAddBtn(),// // this.defaultAddBtn(),//
// //
this.defaultExportBtn({ this.defaultExportBtn(),
url:"wms/store/product-recycle-note/export-note-and-back-flush"
}),
this.defaultFieldSettingBtn(),// this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),// this.defaultFreshBtn(),//
this.defaultFilterBtn(),// this.defaultFilterBtn(),//
], ],
// table DrawerButtonData: [
dropdownTabsData: [
{
label: "详情",
name: 'xq'
},
{ {
label: "明细", type: 'warning',
name: 'hcjl', icon: 'el-icon-circle-check',
tableColumns: 'customerDismantleBackFlushNote',//tableColumns/index.js label: '执行',
functionName: 'customerDismantleBackFlushNote'//wms-api.js name: "handle",
// todo:
hide: () => { return this.hideButton([1]) },
size: 'mini'
}, },
], ],
// //
@ -115,27 +129,32 @@ export default {
details:[] details:[]
}, },
CreateForm: [ CreateForm: [
{ type: "inputNumber", label: "数量", prop: "qty",colSpan: 12,min:1, { type: "inputNumber", label: "数量", prop: "qty",colSpan: 12,min:1},
validator: (rule, value, callback) => {
//todo
let _qty = Number(this.propsData.InventoryQty)
if(_qty < value){
return callback(new Error(`数量不能大于库存数量${_qty}`))
}else{
callback()
}
}
},
], ],
editRules: { editRules: {
cerateRule: { cerateRule: {
qty: [{ required: true, trigger: "blur", message: "不可为空" }], qty: [
{ required: true, trigger: "blur", message: "不可为空" },
{
type: "number",
trigger: ["blur"],
validator: (rule, value, callback) => {
//
let _InventoryQty = Number(this.propsData.details[0].recommendQty)
if(_InventoryQty < value){
return callback(new Error(`数量不能大于库存数量${_InventoryQty}`))
}else{
callback()
}
}
}
],
}, },
}, },
AddDetailsTableColumns: [ AddDetailsTableColumns: [
{ label: "物料代码", prop: "partCode",width:"auto" }, { label: "物料代码", prop: "partCode",width:"auto" },
{ label: "数量", prop: 'qty',width:"auto" }, { label: "数量", prop: 'qty',width:"auto" },
{ type: "filterSelect", label: "库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code", { type: "filterSelect", label: "目标库位", prop: "rawLocationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location",this.isFilter("type", "5"))}, focus: (type,val) => { return this.getFilterList(type, val, "basedata/Location",this.isFilter("type", "5"))},
// searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '', this.CreateFormData) }, // searchButton: (val) => { this.showSerarchPage(val, 'basedata/Location', 'InventoryBalance', '', this.CreateFormData) },
width:"auto", width:"auto",
@ -144,7 +163,11 @@ export default {
childTableData:[{ childTableData:[{
partCode:undefined, partCode:undefined,
qty:undefined, qty:undefined,
locationCode:undefined rawLocationCode:undefined,
rawLocationArea:undefined,
rawLocationErpCode:undefined,
rawLocationGroup:undefined,
warehouseCode:undefined,
}], }],
successHandle:[ successHandle:[
{ {
@ -153,13 +176,33 @@ export default {
this.downloadReport() this.downloadReport()
}) })
} }
] ],
bomList:null,
}; };
}, },
mounted () { mounted () {
this.paging(); this.paging();
}, },
methods: { methods: {
drawerbuttonHandle(val){
if (val == "handle") {
this.formTitle = this.$route.meta.title + "执行";
this.displayDialog.newDialog = true
this.CreateFormData = JSON.parse(JSON.stringify(this.propsData));
this.childTableData = [{
partCode:undefined,
qty:undefined,
rawLocationCode:undefined,
rawLocationArea:undefined,
rawLocationErpCode:undefined,
rawLocationGroup:undefined,
warehouseCode:undefined,
}]
this.theEvent = "edit"
}else{
this.drawerbutton(val)
}
},
// //
isFilter (val, data) { isFilter (val, data) {
let filter = [ let filter = [
@ -173,7 +216,12 @@ export default {
return filter return filter
}, },
detailsDataPush(data){ detailsDataPush(data){
console.log(data) if(data[1].prop == "rawLocationCode"){
this.CreateFormData.details[data[3].$index].rawLocationArea = data[0].areaCode
this.CreateFormData.details[data[3].$index].rawLocationErpCode = data[0].erpLocationCode
this.CreateFormData.details[data[3].$index].rawLocationGroup = data[0].locationGroupCode
this.CreateFormData.details[data[3].$index].warehouseCode = data[0].warehouseCode
}
}, },
detailsClear(data){ detailsClear(data){
console.log(data) console.log(data)
@ -195,23 +243,70 @@ export default {
downloadReport(){ downloadReport(){
// //
// todo: // todo:
console.log(241) let _data = {
// this.blob(res, menuName + '') maxResultCount: 999999,
skipCount: 0,
sorting: "",
route: "wms/store/product-recycle-note/export-product-recycle",
function: "????",//
// todo:
condition: {
"filters": []
}
}
this.Loading.appMainLoading = true
productRecycleNoteExport(_data)
.then(res=>{
this.Loading.appMainLoading = false
this.blob(res,'???报告')//
})
.catch(err=>{
this.Loading.appMainLoading = false
})
}, },
stepsSubmit (val) { stepsSubmit (val) {
//
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve() let _tableList = this.CreateFormData.details
// todo: let _empty = 0
// postUpdate(this.CreateFormData, this.propsData.id, this.URL).then(res => { _tableList.forEach(item=>{
// this.propsData = res if(!item.rawLocationCode || item.rawLocationCode.length <= 0){
// resolve(); _empty ++
// }).catch(err => { }
// reject(); })
// }) if(_empty > 0){
this.$errorMsg("目标库位不可为空")
return
}
let _jobInfo = this.propsData
let _itemInfo = this.propsData.details[0]
let _data = JSON.parse(JSON.stringify(_jobInfo))
_data.details[0].materialDetails = [],//
this.bomList.forEach((item,index)=>{
let _item = {
itemCode: item.component,
qty: _tableList[index].qty,
locationCode: _tableList[index].rawLocationCode,
locationArea: _tableList[index].rawLocationArea,
locationGroup: _tableList[index].rawLocationGroup,
locationErpCode: _tableList[index].rawLocationErpCode,
warehouseCode: _tableList[index].warehouseCode,
}
_data.details[0].materialDetails.push(_item)
})
console.log(247,_data)
this.Loading.appMainLoading = true
productionRecycleJobHandle(_jobInfo.id,_data).then(res => {
this.Loading.appMainLoading = false
resolve();
}).catch(err => {
this.Loading.appMainLoading = false
reject();
})
}); });
}, },
stepsCloseHandle(data){ stepsCloseHandle(data){
// todo: //
this.displayDialog.detailsDialog = false this.displayDialog.detailsDialog = false
this.stepsClose(data) this.stepsClose(data)
}, },
@ -219,14 +314,38 @@ export default {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if(val == 0){ if(val == 0){
console.log(this.CreateFormData.qty) console.log(this.CreateFormData.qty)
// todo:1bom this.Loading.appMainLoading = true
this.CreateFormData.details = [{ // bom
partCode:"CS20231220001D", let _itemInfo = this.propsData.details[0]
qty:2, getBomByComponentTree(_itemInfo.itemCode)
locationCode:'WZSX' .then(res=>{
}] this.bomList = res
// todo:2detailsqtyqty this.Loading.appMainLoading = false
resolve(); if(res.length > 0){
this.CreateFormData.details = []
res.forEach(item=>{
let _item={
partCode:item.component,
// detailsqtyqty
qty:Number(item.componentQty)*this.CreateFormData.qty,
rawLocationCode:_itemInfo.rawLocationCode,
rawLocationArea:_itemInfo.rawLocationArea,
rawLocationGroup:_itemInfo.rawLocationGroup,
rawLocationErpCode:_itemInfo.rawLocationErpCode,
warehouseCode:_itemInfo.warehouseCode,
}
this.CreateFormData.details.push(_item)
})
resolve();
}else{
this.$errorMsg(`并未找到${_itemInfo.itemCode}对应的bom数据`)
reject()
}
})
.catch(err=>{
this.Loading.appMainLoading = false
reject()
})
} }
// //
if(val == 1){ if(val == 1){

548
fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftJob.vue

@ -0,0 +1,548 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 执行 -->
<handelFrom
:formTitle="formTitle"
:displayDialog.sync="displayDialog.handleFromDialog"
:CreateFormData="handleFormData"
:CreateForm="handleForm"
:Rules="editRules.handleRule"
:Options="editOptions"
:detailsTableColumns="handleDetailsTableColumns"
:isShowIndex="true"
:selectionTable="true"
@handleSelectionChange="handleSelectionChange"
@FormSubmit="handleFormSubmit"
></handelFrom>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { getPageList, createAndHandle } from "@/api/wms-api"
import { materialRequestByType, handle} from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import store from '@/store'
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "LibraryShiftJob",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
newAndEdiDialogMixins
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
// hideButton: function () {
// return function (val) {
// let data = true
// val.forEach(key => {
// if (this.propsData.jobStatus == key) {
// data = false
// }
// })
// return data
// }
// },
},
data () {
return {
URL: 'wms/store/issue-job',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
// this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
],
handleDetailsTableColumns: [
{ label: "物品代码", prop: "itemCode", },
{ label: "物品名称", prop: "itemName" },
{ label: "实际库位", prop: "handledLocationCode", },
{ label: "推荐库位", prop: "recommendLocationCode", },
{ label: "实际箱标签", prop: "handledPackingCode", },
{ label: "推荐箱标签", prop: "recommendPackingCode", },
{ label: "实际批次", prop: "handledLot", },
{ label: "推荐批次", prop: "recommendLot", },
{ type: "object", label: "实际数量", prop: "handledQty", showProp: "qty", },
{ type: "object", label: "实际单位", prop: "handledQty", showProp: "uom", },
{ type: "object", label: "推荐数量", prop: "recommendQty", showProp: "qty", },
{ type: "object", label: "推荐单位", prop: "recommendQty", showProp: "uom", },
],
editOptions: {
},
handleFormData: {
id: null,
creationTime: null,
IssueNoteNumber: "123",
lastModificationTime: null,
remark: null,
concurrencyStamp: null,
company: null,
number: null,
upStreamJobNumber: null,
materialRequestNumber: null,
jobType: 1,
jobStatus: 1,
priority: 0,
priorityIncrement: 0,
wlgCode: "123",
isAutoComplete: true,
details: [],
acceptTime: null,
completeTime: null,
prodLine: null,
toLocationCode: null,
},
childTableData: [
{
"id": null,
"creationTime": null,
// "creatorId": null,
"lastModificationTime": null,
// "lastModifierId": null,
"remark": null,
"concurrencyStamp": null,
"masterID": null,
"packingCode": null,
"containerCode": null,
"item": {
"id": null,
"name": null,
"desc1": null,
"desc2": null
},
"itemCode": null,
"stdPack": {
"packUom": null,
"packQty": 0
},
"recommendBatch": {
"supplierBatch": null,
"produceDate": null
},
"recommendLot": "",
"recommendLocationCode": "",
"recomendQty": {
"uom": null,
"qty": 0
},
"handledBatch": {
"supplierBatch": null,
"produceDate": null
},
"handledLot": "",
"handledLocationCode": "",
"handledQty": {
"uom": null,
"qty": 0
},
"fromLocation": "",
"toLocation": "",
"workshop": null,
"prodLine": null,
"workCenter": null,
}
],
handleForm: [
{ type: "input", label: "任务编号", prop: "number", colSpan: 12, disabled: "true" },
{ type: "input", label: "到货编号", prop: "arriveNumber", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务类型", prop: "jobType", options: "taskType", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务状态", prop: "jobStatus", options: "jobStatus", colSpan: 12, disabled: "true" },
{ type: "input", label: "优先级", prop: "priority", colSpan: 12, disabled: "true" },
{ type: "input", label: "工作组", prop: "wlgCode", colSpan: 12, disabled: "true" },
{ type: "dateTime", label: "接收时间", prop: "acceptTime", colSpan: 12, },
{ type: "input", label: "备注", prop: "remark", colSpan: 12, },
{ type: "input", label: "生产线", prop: "prodLine", disabled: "true", colSpan: 12, },
// { type: "autocomplete", label: "", prop: "toLocationCode", optionsLabel: "itemCode", optionsValue: "locationCode", focus: (val) => { return this.getSelectList(val, "wms/inventory/Inventory-Balance") }, click: (val) => { this.filterTable(val, 'wms/inventory/Inventory-Balance', 'InventoryBalance-PullForm', '') }, colSpan: 12 },
{ type: "autocomplete", label: "目标库位", prop: "toLocationCode", optionsLabel: "name", optionsValue: "code", focus: (val) => { return this.getSelectList(val, "basedata/Location") }, click: (val) => { this.filterTable(val, 'basedata/Location', 'InventoryBalance-PullForm', '库位选择') }, colSpan: 12 },
],
editRules: {
handleRule: {
number: [
{ required: true, trigger: "blur", message: "不可为空" },
],
jobType: [{ required: true, trigger: "blur", message: "不可为空" }],
jobStatus: [{ required: true, trigger: "blur", message: "不可为空" }],
priority: [{ required: true, trigger: "blur", message: "不可为空" }],
wlgCode: [{ required: true, trigger: "blur", message: "不可为空" }],
},
cerateRule: {
itemCode: [{ required: true, trigger: "blur", message: "不可为空" }],
toLocationCode: [{ required: false, trigger: "blur", message: "不可为空" }],
numberInput: [{ required: true, trigger: "blur", message: "不可为空" }],
}
},
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
handleFormSubmit (val) {
let that = this
return new Promise((resolve, reject) => {
if (that.handleMultipleSelection.length == 0) {
that.$errorMsg('请先择提交的数据!')
reject()
} else {
if (that.handleMultipleSelection[0].requestLocationCode != that.handleFormData.toLocationCode) {
that.$confirm('目标库位与需求库位不一致,是否要将所有物品发到目标库位?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
} else {
that.$confirm('是否要将物品发到目标库位:[' + that.handleFormData.toLocationCode + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
}
}
})
},
checkHandleSubmit(resolve, reject) {
let that = this
let items = that.handleMultipleSelection.filter(r => {
return (r.handledPackingCode === null || r.handledPackingCode === '')
})
if (items.length > 0) {
let packingCodes = '';
items.forEach(r => {
packingCodes += r.recommendPackingCode + ','
})
that.$confirm('以下箱码对应的实际箱码为空,是否要继续发料?:[' + packingCodes + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.finshIssueJobHandle(resolve, reject)
}).catch(() => {
return reject()
})
} else {
that.finshIssueJobHandle(resolve, reject)
}
},
finshIssueJobHandle(resolve, reject) {
let that = this
let data = {
id: that.propsData.id
}
that.handleMultipleSelection.forEach(item => {
item.toLocationCode = that.handleFormData.toLocationCode
item.handledContainerCode = item.recommendContainerCode;
item.handledPackingCode = item.recommendPackingCode;
item.handledBatch = item.recommendBatch;
item.handledLot = item.recommendLot;
item.handledLocationCode = item.recommendLocationCode;
})
let params = JSON.parse(JSON.stringify(that.handleFormData))
delete params.details
params.details = that.handleMultipleSelection
handle(params, data, that.URL).then(res => {
that.displayDialog.handleFromDialog = false;
that.$successMsg('已生成发料记录!')
that.paging()
return resolve()
}).catch(err => {
return reject();
})
},
//
changeInput(prop, val) {
let that = this
if (prop == 'numberInput' ) {
this.$confirm('是否要将以下所有零件的需求数量更改为[' + val + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.CreateFormData.details.forEach(item => {
item.numberDetails = parseInt(val)
})
}).catch(() => {
})
}
},
//table
deleteRow(index, rows) {
rows.splice(index, 1);
},
//-
FormClick(val) {
let that = this
if (val[0] == 0) {
} else if (val[0] == 1) {
//
this.editRules.cerateRule.toLocationCode[0].required = false
val[1].validate((valid) => {
if (valid) {
this.tableLoading = true
let params = {
condition: {
filters: [
{
logic: "And",
column: "code",
action: "==",
value: that.CreateFormData.itemCode
}
]
},
Sorting: "",
SkipCount: 0,
MaxResultCount: 100
}
getPageList(params, 'basedata/item-basic').then(res => {
if (res.items.length == 0) {
this.$errorMsg('未查询到该物品信息!')
} else {
let findRs = that.CreateFormData.details.find(item => (
item.code == that.CreateFormData.itemCode
))
if (!findRs) {
res.items.forEach(item => {
item.numberDetails = 0
that.CreateFormData.details.push(item)
})
}
}
this.tableLoading = false
}).catch(err => {
console.log(err)
this.tableLoading = false
})
} else {
this.$errorMsg('请检查表单')
}
})
} else {
this.editRules.cerateRule.toLocationCode[0].required = true
val[1].validate((valid) => {
if (valid) {
if (this.CreateFormData.details.length > 0) {
let params = {
worker: store.getters.name.userName,
company: localStorage.getItem("company"),
details: [],
}
for (var i = 0; i < this.CreateFormData.details.length; i++) {
if (this.CreateFormData.details[i].numberDetails <= 0) {
this.$errorMsg('物品[' + this.CreateFormData.details[i].code + ']的数量应该大于0')
return
} else {
params.details.push({
itemCode: this.CreateFormData.details[i].code,
item: {
id: this.CreateFormData.details[i].id,
name: this.CreateFormData.details[i].name,
desc1: this.CreateFormData.details[i].desc1,
desc2: this.CreateFormData.details[i].desc2,
},
qty: {
uom: this.CreateFormData.details[i].basicUom,
qty: this.CreateFormData.details[i].numberDetails
},
prodLine: '',
status: this.CreateFormData.details[i].status,
toLocationCode: this.CreateFormData.toLocationCode,
worker: store.getters.name.userName,
})
}
}
this.Loading.newAndEdiLoading = true
createAndHandle(params).then( res => {
this.displayDialog.newDialog = false
this.Loading.newAndEdiLoading = false
this.$successMsg("发料任务创建成功!")
this.paging()
}).catch(err => {
console.log(err)
this.Loading.newAndEdiLoading = false
})
} else {
this.$errorMsg('无数据可提交!')
}
} else {
this.$errorMsg('请检查表单')
}
})
}
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.recommendLot = item.recommendLot + " "
})
let _option = {
details:{
fromLocationCode:"recommendFromLocationCode",
qty:"handledQty",
fromLot:"recommendLot",
fromLocationErpCode:"recommendFromLocationErpCode",
}
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
// drawerbutton(val) {
// if (val == 'handleJob') {
// this.Loading.appMainLoading = true
// let propsData = JSON.parse(JSON.stringify(this.propsData));
// this.$listAssign(this.handleFormData, propsData)
// this.handleFormData.toLocationCode = this.handleFormData.details[0].toLocationCode
// this.handleMultipleSelection = []
// this.Loading.appMainLoading = false
// this.formTitle = "" + this.$route.meta.title;
// this.displayDialog.handleFromDialog = true
// } else {
// drawerMixins.methods.drawerbutton(val, this)
// }
// },
handleSelectionChange(val) {
this.handleMultipleSelection = val
}
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
::v-deep .newAndEdiDialog {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
.el-form {
flex: 1;
display: flex;
justify-content: flex-start;
align-content: flex-start;
flex-wrap: wrap;
overflow: hidden;
overflow-y: auto;
}
.screen-push {
color: rgb(64, 158, 255);
span {
cursor: pointer;
&:hover {
color: blue;
}
}
}
.formButton {
padding: 20px 20px 20px 0;
}
.formTable-box {
height: 70% !important;
.el-form-item__content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
margin: 0 !important;
}
}
}
</style>

129
fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftNote.vue

@ -0,0 +1,129 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 抽屉 -->
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="DrawerButtonData"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "LibraryShiftNote",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
data () {
return {
URL: 'wms/store/issue-note',
//
currenButtonData: [
this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
]
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
// _propsData.title = ""
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.fromLot = item.fromLot + " "
})
let _option = {
number:"requestNumber",
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
}
},
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

228
fe/PC/src/views/inventoryManage/InventoryQuery/LibraryShiftRequest.vue

@ -0,0 +1,228 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
:disabledMethod="{ method1: false, method2: false, method3: false }"
:disabledIsAllowPartImport="{
isAllowPartImport1: false,
isAllowPartImport2: false,
}"
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType,processRequest,getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
import requestDataNames from "@/utils/processButtonData"
export default {
name: "LibraryShiftRequest",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
},
data () {
let _this = this;
return {
URL: 'wms/store/material-request',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
//
oldIssueJobIds: [],
DrawerButtonData: [
// ...requestData(this),
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '完成',
hide: () => { return this.completeRequestInit([2,6])},
name: "completeRequest",
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '执行',
name: "IssueRequest-zx",
hide: () => { return this.againHandleRequestInit([9])},
size: 'mini'
},
...requestData(this,false,false,[requestDataNames.againHandle]),
],
};
},
mounted () {
this.paging()
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
type: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
// 2() 6abortRequestRequestInit
completeRequestInit(val){
let data = false
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = true
}
})
return data
},
// ==9
againHandleRequestInit(val){
let data = true
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = false
}
})
return data
},
//
handleResult(){
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.Loading.appMainLoading = false
},
//
drawerbutton (val) {
//
if(val == 'IssueRequest-zx'){
this.Loading.appMainLoading = true
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resFirst=>{
this.oldIssueJobIds = []
resFirst.forEach(item=>{
this.oldIssueJobIds.push(item.id)
})
//
processRequest(this.propsData.id, this.URL + '/handle/').then(resHandle => {
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resNew=>{
//
if(!resNew || resNew.length <= 0){
this.$errorMsg('没有可用库存,未生成新任务')
this.handleResult()
return
}
//
if(resNew && resNew.length > 0){
let _newIds = []
resNew.forEach(item=>{
_newIds.push(item.id)
})
if(this.oldIssueJobIds.sort().toString() === _newIds.sort().toString()){
let mes = '未生成任务原因: ' + `<br/>` + '1、该请求中的【物品】的【实际发货数量】小于【请求数量】,请确认数量后点击【完成】。' + `<br/>` + '2、该请求中的【库存余额】小于【请求数量】,请确认数量后点击【执行】'
this.$alert(mes,
'错误提示', {
confirmButtonText: '确定',
dangerouslyUseHTMLString: true
})
}else{
this.$successMsg('执行成功,已生成新任务')
}
this.handleResult()
}
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
</style>

548
fe/PC/src/views/materialIssueManage/PT/IssueJobPT.vue

@ -0,0 +1,548 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 执行 -->
<handelFrom
:formTitle="formTitle"
:displayDialog.sync="displayDialog.handleFromDialog"
:CreateFormData="handleFormData"
:CreateForm="handleForm"
:Rules="editRules.handleRule"
:Options="editOptions"
:detailsTableColumns="handleDetailsTableColumns"
:isShowIndex="true"
:selectionTable="true"
@handleSelectionChange="handleSelectionChange"
@FormSubmit="handleFormSubmit"
></handelFrom>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { getPageList, createAndHandle } from "@/api/wms-api"
import { materialRequestByType, handle} from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import store from '@/store'
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "IssueJobPT",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
newAndEdiDialogMixins
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
// hideButton: function () {
// return function (val) {
// let data = true
// val.forEach(key => {
// if (this.propsData.jobStatus == key) {
// data = false
// }
// })
// return data
// }
// },
},
data () {
return {
URL: 'wms/store/issue-job',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
// this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
],
handleDetailsTableColumns: [
{ label: "物品代码", prop: "itemCode", },
{ label: "物品名称", prop: "itemName" },
{ label: "实际库位", prop: "handledLocationCode", },
{ label: "推荐库位", prop: "recommendLocationCode", },
{ label: "实际箱标签", prop: "handledPackingCode", },
{ label: "推荐箱标签", prop: "recommendPackingCode", },
{ label: "实际批次", prop: "handledLot", },
{ label: "推荐批次", prop: "recommendLot", },
{ type: "object", label: "实际数量", prop: "handledQty", showProp: "qty", },
{ type: "object", label: "实际单位", prop: "handledQty", showProp: "uom", },
{ type: "object", label: "推荐数量", prop: "recommendQty", showProp: "qty", },
{ type: "object", label: "推荐单位", prop: "recommendQty", showProp: "uom", },
],
editOptions: {
},
handleFormData: {
id: null,
creationTime: null,
IssueNoteNumber: "123",
lastModificationTime: null,
remark: null,
concurrencyStamp: null,
company: null,
number: null,
upStreamJobNumber: null,
materialRequestNumber: null,
jobType: 1,
jobStatus: 1,
priority: 0,
priorityIncrement: 0,
wlgCode: "123",
isAutoComplete: true,
details: [],
acceptTime: null,
completeTime: null,
prodLine: null,
toLocationCode: null,
},
childTableData: [
{
"id": null,
"creationTime": null,
// "creatorId": null,
"lastModificationTime": null,
// "lastModifierId": null,
"remark": null,
"concurrencyStamp": null,
"masterID": null,
"packingCode": null,
"containerCode": null,
"item": {
"id": null,
"name": null,
"desc1": null,
"desc2": null
},
"itemCode": null,
"stdPack": {
"packUom": null,
"packQty": 0
},
"recommendBatch": {
"supplierBatch": null,
"produceDate": null
},
"recommendLot": "",
"recommendLocationCode": "",
"recomendQty": {
"uom": null,
"qty": 0
},
"handledBatch": {
"supplierBatch": null,
"produceDate": null
},
"handledLot": "",
"handledLocationCode": "",
"handledQty": {
"uom": null,
"qty": 0
},
"fromLocation": "",
"toLocation": "",
"workshop": null,
"prodLine": null,
"workCenter": null,
}
],
handleForm: [
{ type: "input", label: "任务编号", prop: "number", colSpan: 12, disabled: "true" },
{ type: "input", label: "到货编号", prop: "arriveNumber", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务类型", prop: "jobType", options: "taskType", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务状态", prop: "jobStatus", options: "jobStatus", colSpan: 12, disabled: "true" },
{ type: "input", label: "优先级", prop: "priority", colSpan: 12, disabled: "true" },
{ type: "input", label: "工作组", prop: "wlgCode", colSpan: 12, disabled: "true" },
{ type: "dateTime", label: "接收时间", prop: "acceptTime", colSpan: 12, },
{ type: "input", label: "备注", prop: "remark", colSpan: 12, },
{ type: "input", label: "生产线", prop: "prodLine", disabled: "true", colSpan: 12, },
// { type: "autocomplete", label: "", prop: "toLocationCode", optionsLabel: "itemCode", optionsValue: "locationCode", focus: (val) => { return this.getSelectList(val, "wms/inventory/Inventory-Balance") }, click: (val) => { this.filterTable(val, 'wms/inventory/Inventory-Balance', 'InventoryBalance-PullForm', '') }, colSpan: 12 },
{ type: "autocomplete", label: "目标库位", prop: "toLocationCode", optionsLabel: "name", optionsValue: "code", focus: (val) => { return this.getSelectList(val, "basedata/Location") }, click: (val) => { this.filterTable(val, 'basedata/Location', 'InventoryBalance-PullForm', '库位选择') }, colSpan: 12 },
],
editRules: {
handleRule: {
number: [
{ required: true, trigger: "blur", message: "不可为空" },
],
jobType: [{ required: true, trigger: "blur", message: "不可为空" }],
jobStatus: [{ required: true, trigger: "blur", message: "不可为空" }],
priority: [{ required: true, trigger: "blur", message: "不可为空" }],
wlgCode: [{ required: true, trigger: "blur", message: "不可为空" }],
},
cerateRule: {
itemCode: [{ required: true, trigger: "blur", message: "不可为空" }],
toLocationCode: [{ required: false, trigger: "blur", message: "不可为空" }],
numberInput: [{ required: true, trigger: "blur", message: "不可为空" }],
}
},
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
handleFormSubmit (val) {
let that = this
return new Promise((resolve, reject) => {
if (that.handleMultipleSelection.length == 0) {
that.$errorMsg('请先择提交的数据!')
reject()
} else {
if (that.handleMultipleSelection[0].requestLocationCode != that.handleFormData.toLocationCode) {
that.$confirm('目标库位与需求库位不一致,是否要将所有物品发到目标库位?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
} else {
that.$confirm('是否要将物品发到目标库位:[' + that.handleFormData.toLocationCode + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
}
}
})
},
checkHandleSubmit(resolve, reject) {
let that = this
let items = that.handleMultipleSelection.filter(r => {
return (r.handledPackingCode === null || r.handledPackingCode === '')
})
if (items.length > 0) {
let packingCodes = '';
items.forEach(r => {
packingCodes += r.recommendPackingCode + ','
})
that.$confirm('以下箱码对应的实际箱码为空,是否要继续发料?:[' + packingCodes + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.finshIssueJobHandle(resolve, reject)
}).catch(() => {
return reject()
})
} else {
that.finshIssueJobHandle(resolve, reject)
}
},
finshIssueJobHandle(resolve, reject) {
let that = this
let data = {
id: that.propsData.id
}
that.handleMultipleSelection.forEach(item => {
item.toLocationCode = that.handleFormData.toLocationCode
item.handledContainerCode = item.recommendContainerCode;
item.handledPackingCode = item.recommendPackingCode;
item.handledBatch = item.recommendBatch;
item.handledLot = item.recommendLot;
item.handledLocationCode = item.recommendLocationCode;
})
let params = JSON.parse(JSON.stringify(that.handleFormData))
delete params.details
params.details = that.handleMultipleSelection
handle(params, data, that.URL).then(res => {
that.displayDialog.handleFromDialog = false;
that.$successMsg('已生成发料记录!')
that.paging()
return resolve()
}).catch(err => {
return reject();
})
},
//
changeInput(prop, val) {
let that = this
if (prop == 'numberInput' ) {
this.$confirm('是否要将以下所有零件的需求数量更改为[' + val + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.CreateFormData.details.forEach(item => {
item.numberDetails = parseInt(val)
})
}).catch(() => {
})
}
},
//table
deleteRow(index, rows) {
rows.splice(index, 1);
},
//-
FormClick(val) {
let that = this
if (val[0] == 0) {
} else if (val[0] == 1) {
//
this.editRules.cerateRule.toLocationCode[0].required = false
val[1].validate((valid) => {
if (valid) {
this.tableLoading = true
let params = {
condition: {
filters: [
{
logic: "And",
column: "code",
action: "==",
value: that.CreateFormData.itemCode
}
]
},
Sorting: "",
SkipCount: 0,
MaxResultCount: 100
}
getPageList(params, 'basedata/item-basic').then(res => {
if (res.items.length == 0) {
this.$errorMsg('未查询到该物品信息!')
} else {
let findRs = that.CreateFormData.details.find(item => (
item.code == that.CreateFormData.itemCode
))
if (!findRs) {
res.items.forEach(item => {
item.numberDetails = 0
that.CreateFormData.details.push(item)
})
}
}
this.tableLoading = false
}).catch(err => {
console.log(err)
this.tableLoading = false
})
} else {
this.$errorMsg('请检查表单')
}
})
} else {
this.editRules.cerateRule.toLocationCode[0].required = true
val[1].validate((valid) => {
if (valid) {
if (this.CreateFormData.details.length > 0) {
let params = {
worker: store.getters.name.userName,
company: localStorage.getItem("company"),
details: [],
}
for (var i = 0; i < this.CreateFormData.details.length; i++) {
if (this.CreateFormData.details[i].numberDetails <= 0) {
this.$errorMsg('物品[' + this.CreateFormData.details[i].code + ']的数量应该大于0')
return
} else {
params.details.push({
itemCode: this.CreateFormData.details[i].code,
item: {
id: this.CreateFormData.details[i].id,
name: this.CreateFormData.details[i].name,
desc1: this.CreateFormData.details[i].desc1,
desc2: this.CreateFormData.details[i].desc2,
},
qty: {
uom: this.CreateFormData.details[i].basicUom,
qty: this.CreateFormData.details[i].numberDetails
},
prodLine: '',
status: this.CreateFormData.details[i].status,
toLocationCode: this.CreateFormData.toLocationCode,
worker: store.getters.name.userName,
})
}
}
this.Loading.newAndEdiLoading = true
createAndHandle(params).then( res => {
this.displayDialog.newDialog = false
this.Loading.newAndEdiLoading = false
this.$successMsg("发料任务创建成功!")
this.paging()
}).catch(err => {
console.log(err)
this.Loading.newAndEdiLoading = false
})
} else {
this.$errorMsg('无数据可提交!')
}
} else {
this.$errorMsg('请检查表单')
}
})
}
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.recommendLot = item.recommendLot + " "
})
let _option = {
details:{
fromLocationCode:"recommendFromLocationCode",
qty:"handledQty",
fromLot:"recommendLot",
fromLocationErpCode:"recommendFromLocationErpCode",
}
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
// drawerbutton(val) {
// if (val == 'handleJob') {
// this.Loading.appMainLoading = true
// let propsData = JSON.parse(JSON.stringify(this.propsData));
// this.$listAssign(this.handleFormData, propsData)
// this.handleFormData.toLocationCode = this.handleFormData.details[0].toLocationCode
// this.handleMultipleSelection = []
// this.Loading.appMainLoading = false
// this.formTitle = "" + this.$route.meta.title;
// this.displayDialog.handleFromDialog = true
// } else {
// drawerMixins.methods.drawerbutton(val, this)
// }
// },
handleSelectionChange(val) {
this.handleMultipleSelection = val
}
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
::v-deep .newAndEdiDialog {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
.el-form {
flex: 1;
display: flex;
justify-content: flex-start;
align-content: flex-start;
flex-wrap: wrap;
overflow: hidden;
overflow-y: auto;
}
.screen-push {
color: rgb(64, 158, 255);
span {
cursor: pointer;
&:hover {
color: blue;
}
}
}
.formButton {
padding: 20px 20px 20px 0;
}
.formTable-box {
height: 70% !important;
.el-form-item__content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
margin: 0 !important;
}
}
}
</style>

129
fe/PC/src/views/materialIssueManage/PT/IssueNotePT.vue

@ -0,0 +1,129 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 抽屉 -->
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="DrawerButtonData"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "IssueNotePT",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
data () {
return {
URL: 'wms/store/issue-note',
//
currenButtonData: [
this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
]
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
// _propsData.title = ""
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.fromLot = item.fromLot + " "
})
let _option = {
number:"requestNumber",
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
}
},
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

228
fe/PC/src/views/materialIssueManage/PT/IssueRequestPT.vue

@ -0,0 +1,228 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
:disabledMethod="{ method1: false, method2: false, method3: false }"
:disabledIsAllowPartImport="{
isAllowPartImport1: false,
isAllowPartImport2: false,
}"
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType,processRequest,getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
import requestDataNames from "@/utils/processButtonData"
export default {
name: "IssueRequestPT",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
},
data () {
let _this = this;
return {
URL: 'wms/store/material-request',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
//
oldIssueJobIds: [],
DrawerButtonData: [
// ...requestData(this),
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '完成',
hide: () => { return this.completeRequestInit([2,6])},
name: "completeRequest",
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '执行',
name: "IssueRequest-zx",
hide: () => { return this.againHandleRequestInit([9])},
size: 'mini'
},
...requestData(this,false,false,[requestDataNames.againHandle]),
],
};
},
mounted () {
this.paging()
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
type: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
// 2() 6abortRequestRequestInit
completeRequestInit(val){
let data = false
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = true
}
})
return data
},
// ==9
againHandleRequestInit(val){
let data = true
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = false
}
})
return data
},
//
handleResult(){
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.Loading.appMainLoading = false
},
//
drawerbutton (val) {
//
if(val == 'IssueRequest-zx'){
this.Loading.appMainLoading = true
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resFirst=>{
this.oldIssueJobIds = []
resFirst.forEach(item=>{
this.oldIssueJobIds.push(item.id)
})
//
processRequest(this.propsData.id, this.URL + '/handle/').then(resHandle => {
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resNew=>{
//
if(!resNew || resNew.length <= 0){
this.$errorMsg('没有可用库存,未生成新任务')
this.handleResult()
return
}
//
if(resNew && resNew.length > 0){
let _newIds = []
resNew.forEach(item=>{
_newIds.push(item.id)
})
if(this.oldIssueJobIds.sort().toString() === _newIds.sort().toString()){
let mes = '未生成任务原因: ' + `<br/>` + '1、该请求中的【物品】的【实际发货数量】小于【请求数量】,请确认数量后点击【完成】。' + `<br/>` + '2、该请求中的【库存余额】小于【请求数量】,请确认数量后点击【执行】'
this.$alert(mes,
'错误提示', {
confirmButtonText: '确定',
dangerouslyUseHTMLString: true
})
}else{
this.$successMsg('执行成功,已生成新任务')
}
this.handleResult()
}
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
</style>

548
fe/PC/src/views/materialIssueManage/ZS/IssueJobZS.vue

@ -0,0 +1,548 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 执行 -->
<handelFrom
:formTitle="formTitle"
:displayDialog.sync="displayDialog.handleFromDialog"
:CreateFormData="handleFormData"
:CreateForm="handleForm"
:Rules="editRules.handleRule"
:Options="editOptions"
:detailsTableColumns="handleDetailsTableColumns"
:isShowIndex="true"
:selectionTable="true"
@handleSelectionChange="handleSelectionChange"
@FormSubmit="handleFormSubmit"
></handelFrom>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { getPageList, createAndHandle } from "@/api/wms-api"
import { materialRequestByType, handle} from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import store from '@/store'
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "IssueJobZS",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
newAndEdiDialogMixins
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
// hideButton: function () {
// return function (val) {
// let data = true
// val.forEach(key => {
// if (this.propsData.jobStatus == key) {
// data = false
// }
// })
// return data
// }
// },
},
data () {
return {
URL: 'wms/store/issue-job',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
// this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
],
handleDetailsTableColumns: [
{ label: "物品代码", prop: "itemCode", },
{ label: "物品名称", prop: "itemName" },
{ label: "实际库位", prop: "handledLocationCode", },
{ label: "推荐库位", prop: "recommendLocationCode", },
{ label: "实际箱标签", prop: "handledPackingCode", },
{ label: "推荐箱标签", prop: "recommendPackingCode", },
{ label: "实际批次", prop: "handledLot", },
{ label: "推荐批次", prop: "recommendLot", },
{ type: "object", label: "实际数量", prop: "handledQty", showProp: "qty", },
{ type: "object", label: "实际单位", prop: "handledQty", showProp: "uom", },
{ type: "object", label: "推荐数量", prop: "recommendQty", showProp: "qty", },
{ type: "object", label: "推荐单位", prop: "recommendQty", showProp: "uom", },
],
editOptions: {
},
handleFormData: {
id: null,
creationTime: null,
IssueNoteNumber: "123",
lastModificationTime: null,
remark: null,
concurrencyStamp: null,
company: null,
number: null,
upStreamJobNumber: null,
materialRequestNumber: null,
jobType: 1,
jobStatus: 1,
priority: 0,
priorityIncrement: 0,
wlgCode: "123",
isAutoComplete: true,
details: [],
acceptTime: null,
completeTime: null,
prodLine: null,
toLocationCode: null,
},
childTableData: [
{
"id": null,
"creationTime": null,
// "creatorId": null,
"lastModificationTime": null,
// "lastModifierId": null,
"remark": null,
"concurrencyStamp": null,
"masterID": null,
"packingCode": null,
"containerCode": null,
"item": {
"id": null,
"name": null,
"desc1": null,
"desc2": null
},
"itemCode": null,
"stdPack": {
"packUom": null,
"packQty": 0
},
"recommendBatch": {
"supplierBatch": null,
"produceDate": null
},
"recommendLot": "",
"recommendLocationCode": "",
"recomendQty": {
"uom": null,
"qty": 0
},
"handledBatch": {
"supplierBatch": null,
"produceDate": null
},
"handledLot": "",
"handledLocationCode": "",
"handledQty": {
"uom": null,
"qty": 0
},
"fromLocation": "",
"toLocation": "",
"workshop": null,
"prodLine": null,
"workCenter": null,
}
],
handleForm: [
{ type: "input", label: "任务编号", prop: "number", colSpan: 12, disabled: "true" },
{ type: "input", label: "到货编号", prop: "arriveNumber", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务类型", prop: "jobType", options: "taskType", colSpan: 12, disabled: "true" },
{ type: "select", label: "任务状态", prop: "jobStatus", options: "jobStatus", colSpan: 12, disabled: "true" },
{ type: "input", label: "优先级", prop: "priority", colSpan: 12, disabled: "true" },
{ type: "input", label: "工作组", prop: "wlgCode", colSpan: 12, disabled: "true" },
{ type: "dateTime", label: "接收时间", prop: "acceptTime", colSpan: 12, },
{ type: "input", label: "备注", prop: "remark", colSpan: 12, },
{ type: "input", label: "生产线", prop: "prodLine", disabled: "true", colSpan: 12, },
// { type: "autocomplete", label: "", prop: "toLocationCode", optionsLabel: "itemCode", optionsValue: "locationCode", focus: (val) => { return this.getSelectList(val, "wms/inventory/Inventory-Balance") }, click: (val) => { this.filterTable(val, 'wms/inventory/Inventory-Balance', 'InventoryBalance-PullForm', '') }, colSpan: 12 },
{ type: "autocomplete", label: "目标库位", prop: "toLocationCode", optionsLabel: "name", optionsValue: "code", focus: (val) => { return this.getSelectList(val, "basedata/Location") }, click: (val) => { this.filterTable(val, 'basedata/Location', 'InventoryBalance-PullForm', '库位选择') }, colSpan: 12 },
],
editRules: {
handleRule: {
number: [
{ required: true, trigger: "blur", message: "不可为空" },
],
jobType: [{ required: true, trigger: "blur", message: "不可为空" }],
jobStatus: [{ required: true, trigger: "blur", message: "不可为空" }],
priority: [{ required: true, trigger: "blur", message: "不可为空" }],
wlgCode: [{ required: true, trigger: "blur", message: "不可为空" }],
},
cerateRule: {
itemCode: [{ required: true, trigger: "blur", message: "不可为空" }],
toLocationCode: [{ required: false, trigger: "blur", message: "不可为空" }],
numberInput: [{ required: true, trigger: "blur", message: "不可为空" }],
}
},
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params)
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
handleFormSubmit (val) {
let that = this
return new Promise((resolve, reject) => {
if (that.handleMultipleSelection.length == 0) {
that.$errorMsg('请先择提交的数据!')
reject()
} else {
if (that.handleMultipleSelection[0].requestLocationCode != that.handleFormData.toLocationCode) {
that.$confirm('目标库位与需求库位不一致,是否要将所有物品发到目标库位?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
} else {
that.$confirm('是否要将物品发到目标库位:[' + that.handleFormData.toLocationCode + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.checkHandleSubmit(resolve, reject)
}).catch(() => {
reject()
})
}
}
})
},
checkHandleSubmit(resolve, reject) {
let that = this
let items = that.handleMultipleSelection.filter(r => {
return (r.handledPackingCode === null || r.handledPackingCode === '')
})
if (items.length > 0) {
let packingCodes = '';
items.forEach(r => {
packingCodes += r.recommendPackingCode + ','
})
that.$confirm('以下箱码对应的实际箱码为空,是否要继续发料?:[' + packingCodes + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.finshIssueJobHandle(resolve, reject)
}).catch(() => {
return reject()
})
} else {
that.finshIssueJobHandle(resolve, reject)
}
},
finshIssueJobHandle(resolve, reject) {
let that = this
let data = {
id: that.propsData.id
}
that.handleMultipleSelection.forEach(item => {
item.toLocationCode = that.handleFormData.toLocationCode
item.handledContainerCode = item.recommendContainerCode;
item.handledPackingCode = item.recommendPackingCode;
item.handledBatch = item.recommendBatch;
item.handledLot = item.recommendLot;
item.handledLocationCode = item.recommendLocationCode;
})
let params = JSON.parse(JSON.stringify(that.handleFormData))
delete params.details
params.details = that.handleMultipleSelection
handle(params, data, that.URL).then(res => {
that.displayDialog.handleFromDialog = false;
that.$successMsg('已生成发料记录!')
that.paging()
return resolve()
}).catch(err => {
return reject();
})
},
//
changeInput(prop, val) {
let that = this
if (prop == 'numberInput' ) {
this.$confirm('是否要将以下所有零件的需求数量更改为[' + val + ']', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
that.CreateFormData.details.forEach(item => {
item.numberDetails = parseInt(val)
})
}).catch(() => {
})
}
},
//table
deleteRow(index, rows) {
rows.splice(index, 1);
},
//-
FormClick(val) {
let that = this
if (val[0] == 0) {
} else if (val[0] == 1) {
//
this.editRules.cerateRule.toLocationCode[0].required = false
val[1].validate((valid) => {
if (valid) {
this.tableLoading = true
let params = {
condition: {
filters: [
{
logic: "And",
column: "code",
action: "==",
value: that.CreateFormData.itemCode
}
]
},
Sorting: "",
SkipCount: 0,
MaxResultCount: 100
}
getPageList(params, 'basedata/item-basic').then(res => {
if (res.items.length == 0) {
this.$errorMsg('未查询到该物品信息!')
} else {
let findRs = that.CreateFormData.details.find(item => (
item.code == that.CreateFormData.itemCode
))
if (!findRs) {
res.items.forEach(item => {
item.numberDetails = 0
that.CreateFormData.details.push(item)
})
}
}
this.tableLoading = false
}).catch(err => {
console.log(err)
this.tableLoading = false
})
} else {
this.$errorMsg('请检查表单')
}
})
} else {
this.editRules.cerateRule.toLocationCode[0].required = true
val[1].validate((valid) => {
if (valid) {
if (this.CreateFormData.details.length > 0) {
let params = {
worker: store.getters.name.userName,
company: localStorage.getItem("company"),
details: [],
}
for (var i = 0; i < this.CreateFormData.details.length; i++) {
if (this.CreateFormData.details[i].numberDetails <= 0) {
this.$errorMsg('物品[' + this.CreateFormData.details[i].code + ']的数量应该大于0')
return
} else {
params.details.push({
itemCode: this.CreateFormData.details[i].code,
item: {
id: this.CreateFormData.details[i].id,
name: this.CreateFormData.details[i].name,
desc1: this.CreateFormData.details[i].desc1,
desc2: this.CreateFormData.details[i].desc2,
},
qty: {
uom: this.CreateFormData.details[i].basicUom,
qty: this.CreateFormData.details[i].numberDetails
},
prodLine: '',
status: this.CreateFormData.details[i].status,
toLocationCode: this.CreateFormData.toLocationCode,
worker: store.getters.name.userName,
})
}
}
this.Loading.newAndEdiLoading = true
createAndHandle(params).then( res => {
this.displayDialog.newDialog = false
this.Loading.newAndEdiLoading = false
this.$successMsg("发料任务创建成功!")
this.paging()
}).catch(err => {
console.log(err)
this.Loading.newAndEdiLoading = false
})
} else {
this.$errorMsg('无数据可提交!')
}
} else {
this.$errorMsg('请检查表单')
}
})
}
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.recommendLot = item.recommendLot + " "
})
let _option = {
details:{
fromLocationCode:"recommendFromLocationCode",
qty:"handledQty",
fromLot:"recommendLot",
fromLocationErpCode:"recommendFromLocationErpCode",
}
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
// drawerbutton(val) {
// if (val == 'handleJob') {
// this.Loading.appMainLoading = true
// let propsData = JSON.parse(JSON.stringify(this.propsData));
// this.$listAssign(this.handleFormData, propsData)
// this.handleFormData.toLocationCode = this.handleFormData.details[0].toLocationCode
// this.handleMultipleSelection = []
// this.Loading.appMainLoading = false
// this.formTitle = "" + this.$route.meta.title;
// this.displayDialog.handleFromDialog = true
// } else {
// drawerMixins.methods.drawerbutton(val, this)
// }
// },
handleSelectionChange(val) {
this.handleMultipleSelection = val
}
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
::v-deep .newAndEdiDialog {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
.el-form {
flex: 1;
display: flex;
justify-content: flex-start;
align-content: flex-start;
flex-wrap: wrap;
overflow: hidden;
overflow-y: auto;
}
.screen-push {
color: rgb(64, 158, 255);
span {
cursor: pointer;
&:hover {
color: blue;
}
}
}
.formButton {
padding: 20px 20px 20px 0;
}
.formTable-box {
height: 70% !important;
.el-form-item__content {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
margin: 0 !important;
}
}
}
</style>

129
fe/PC/src/views/materialIssueManage/ZS/IssueNoteZS.vue

@ -0,0 +1,129 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 抽屉 -->
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="DrawerButtonData"
:tabsDesTions="tabsDesTions"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { initPrintAllData } from "@/mixins/printMixin"
export default {
name: "IssueNoteZS",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
data () {
return {
URL: 'wms/store/issue-note',
//
currenButtonData: [
this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
DrawerButtonData: [
{
type: 'info',
icon: 'el-icon-printer',
label: '打印',
hide: false,
name: "print",
size: 'mini'
},
]
};
},
mounted () {
this.paging();
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
requestType: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
drawerbutton (val) {
//
if(val == 'print'){
let _propsData = JSON.parse(JSON.stringify(this.tableDataDetails))
// _propsData.title = ""
_propsData.title = "线边仓领料单"
_propsData.details.forEach(item=>{
item.fromLot = item.fromLot + " "
})
let _option = {
number:"requestNumber",
}
let data = initPrintAllData(_propsData,'xbcll.rdlx',false,_option);
this.Print(data)
} else {
drawerMixins.methods.drawerbutton(val, this)
}
}
},
};
</script>
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>

228
fe/PC/src/views/materialIssueManage/ZS/IssueRequestZS.vue

@ -0,0 +1,228 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
>
</tablePagination>
<!-- 新导入 disabledMethod 导入方式禁用 disabledIsAllowPartImport 是否局部导入禁用-->
<!-- methodValue 导入方式默认选项 是否局部导入 默认选项 -->
<importFile
:loading="Loading.importLoading"
:show="displayDialog.importDialog"
:URL="URL"
:disabledMethod="{ method1: false, method2: false, method3: false }"
:disabledIsAllowPartImport="{
isAllowPartImport1: false,
isAllowPartImport2: false,
}"
isAllowPartImportValue="1"
@importClick="postImportMergeClick(arguments)"
@postImportDown="importDown"
></importFile>
<curren-Drawer
:title="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:tabsDesTions="tabsDesTions"
:Butttondata="DrawerButtonData"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { materialRequestByType,processRequest,getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { mixins } from "@/mixins/mixins"
import { requestData } from "@/utils/processButtonData"
import requestDataNames from "@/utils/processButtonData"
export default {
name: "IssueRequestZS",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
},
data () {
let _this = this;
return {
URL: 'wms/store/material-request',
tableLoading: false,
handleMultipleSelection: [],
//
currenButtonData: [
this.defaultImportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
//
oldIssueJobIds: [],
DrawerButtonData: [
// ...requestData(this),
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '完成',
hide: () => { return this.completeRequestInit([2,6])},
name: "completeRequest",
size: 'mini'
},
{
type: 'primary',
icon: 'el-icon-circle-check',
label: '执行',
name: "IssueRequest-zx",
hide: () => { return this.againHandleRequestInit([9])},
size: 'mini'
},
...requestData(this,false,false,[requestDataNames.againHandle]),
],
};
},
mounted () {
this.paging()
},
methods: {
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount
// : :Issue_Manual; 线:Issue_WIP; :Direct_Issue
let params = {
type: 'Issue_Manual'
}
materialRequestByType(this.PageListParams, this.URL + '/by-type', params).then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
}).catch(err => {
this.Loading.tableLoading = false
})
},
// 2() 6abortRequestRequestInit
completeRequestInit(val){
let data = false
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = true
}
})
return data
},
// ==9
againHandleRequestInit(val){
let data = true
val.forEach(key => {
if (this.propsData.requestStatus == key) {
data = false
}
})
return data
},
//
handleResult(){
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
this.paging()
this.Loading.appMainLoading = false
},
//
drawerbutton (val) {
//
if(val == 'IssueRequest-zx'){
this.Loading.appMainLoading = true
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resFirst=>{
this.oldIssueJobIds = []
resFirst.forEach(item=>{
this.oldIssueJobIds.push(item.id)
})
//
processRequest(this.propsData.id, this.URL + '/handle/').then(resHandle => {
//
processRequest(this.propsData.number,'wms/store/issue-job/by-request-number/').then(resNew=>{
//
if(!resNew || resNew.length <= 0){
this.$errorMsg('没有可用库存,未生成新任务')
this.handleResult()
return
}
//
if(resNew && resNew.length > 0){
let _newIds = []
resNew.forEach(item=>{
_newIds.push(item.id)
})
if(this.oldIssueJobIds.sort().toString() === _newIds.sort().toString()){
let mes = '未生成任务原因: ' + `<br/>` + '1、该请求中的【物品】的【实际发货数量】小于【请求数量】,请确认数量后点击【完成】。' + `<br/>` + '2、该请求中的【库存余额】小于【请求数量】,请确认数量后点击【执行】'
this.$alert(mes,
'错误提示', {
confirmButtonText: '确定',
dangerouslyUseHTMLString: true
})
}else{
this.$successMsg('执行成功,已生成新任务')
}
this.handleResult()
}
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
}).catch(err => {
console.log(err)
this.Loading.appMainLoading = false
})
} else {
drawerMixins.methods.drawerbutton(val, this)
}
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
</style>

29
fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

@ -82,6 +82,7 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="14" > <el-col :span="14" >
<curren-Form <curren-Form
ref="inspectForm_Ref"
class="handleForm" class="handleForm"
size="medium" size="medium"
:searchData="inspectFormData" :searchData="inspectFormData"
@ -329,6 +330,7 @@ export default {
masterID: '', masterID: '',
// tablerowid便 // tablerowid便
rowId: '', rowId: '',
rowReceiveQty: null,
// pdf // pdf
urlPDF: '', urlPDF: '',
// base64data:application/pdf;base64, // base64data:application/pdf;base64,
@ -411,7 +413,7 @@ export default {
{ type: "select", label: "外观", prop: "appearance", options: "inspectAppearanceStatus", colSpan: 12 }, { type: "select", label: "外观", prop: "appearance", options: "inspectAppearanceStatus", colSpan: 12 },
{ type: "input", label: "尺寸", prop: "volume", colSpan: 12 }, { type: "input", label: "尺寸", prop: "volume", colSpan: 12 },
{ type: "input", label: "重量", prop: "weight", colSpan: 12 }, { type: "input", label: "重量", prop: "weight", colSpan: 12 },
{ type: "input", label: "检验数量", prop: "inspectQty", colSpan: 12 }, { type: "inputNumber", label: "检验数量", prop: "inspectQty", colSpan: 12 },
{ type: "button", label: "其他", buttonText: "添加", click: (val) => { this.inspectAddTable(val) }, colSpan: 24 }, { type: "button", label: "其他", buttonText: "添加", click: (val) => { this.inspectAddTable(val) }, colSpan: 24 },
], ],
inspectHandle: [ inspectHandle: [
@ -423,7 +425,20 @@ export default {
appearance: { required: true, trigger: "blur", message: "不可为空" }, appearance: { required: true, trigger: "blur", message: "不可为空" },
// volume: { required: true, trigger: "blur", message: "" }, // volume: { required: true, trigger: "blur", message: "" },
// weight: { required: true, trigger: "blur", message: "" }, // weight: { required: true, trigger: "blur", message: "" },
inspectQty: { required: true, trigger: "blur", message: "不可为空" }, inspectQty: [
{ required: true, trigger: "blur", message: "不可为空" },
{
type: "number",
trigger: ["blur"],
validator: (rule, value, callback) => {
if(Number(value) > Number(this.rowReceiveQty)){
return callback(new Error(`数量不能大于收货数量${this.rowReceiveQty}`))
}else{
callback()
}
}
}
],
}, },
inspectOptions:{}, inspectOptions:{},
inspectDetailsTableColumns:[ inspectDetailsTableColumns:[
@ -795,6 +810,10 @@ export default {
inspectButtonClick(row, index, label) { inspectButtonClick(row, index, label) {
this.inspectFormData.details.splice(row.$index, 1) this.inspectFormData.details.splice(row.$index, 1)
}, },
resetInspectForm() {
this.inspectFormData.inspectQty = null
this.$refs.inspectForm_Ref.resetCurrenForm()
},
// - table // - table
inspectDetailsButtonClick(row, index, label) { inspectDetailsButtonClick(row, index, label) {
// console.log('- table', row) // console.log('- table', row)
@ -835,6 +854,7 @@ export default {
}) })
} }
else if (label == '检验') { else if (label == '检验') {
this.rowReceiveQty = row.receiveQty
getListByItemcode({itemCode: row.itemCode}, 'basedata/item-guide-book').then(res => { getListByItemcode({itemCode: row.itemCode}, 'basedata/item-guide-book').then(res => {
if (res.length > 0) { if (res.length > 0) {
this.guideBookData = res[0] this.guideBookData = res[0]
@ -842,12 +862,15 @@ export default {
} else { } else {
this.guideBookData = [] this.guideBookData = []
this.blobName = '' this.blobName = ''
document.getElementById("uploadPictureCardGuideBook").innerHTML = '' if(document.getElementById("uploadPictureCardGuideBook"))document.getElementById("uploadPictureCardGuideBook").innerHTML = ''
} }
this.inspectShow = true this.inspectShow = true
console.log(6666,this.$refs.inspectForm_Ref)
this.resetInspectForm()
}).catch(err => { }).catch(err => {
console.log(err) console.log(err)
this.inspectShow = true this.inspectShow = true
this.resetInspectForm()
}) })
this.rowId = row.id this.rowId = row.id
} else if (label == '清除检验') { } else if (label == '清除检验') {

Loading…
Cancel
Save