Browse Source

【NEV-PC】原料管理除拆箱记录功能,其余暂存

ag_report_nev
安虹睿 1 year ago
parent
commit
75c53de163
  1. 8
      fe/PC/src/api/wms-api.js
  2. 4
      fe/PC/src/components/StepsFormNotView/index.vue
  3. 6
      fe/PC/src/filters/status.js
  4. 1
      fe/PC/src/lang/zh.js
  5. 48
      fe/PC/src/router/index.js
  6. 15
      fe/PC/src/utils/detailsTableColumns/index.js
  7. 2
      fe/PC/src/utils/rules.js
  8. 42
      fe/PC/src/utils/tableColumns/index.js
  9. 4020
      fe/PC/src/utils/tableColumns/index_new.js
  10. 42
      fe/PC/src/utils/tabsDesTions/index.js
  11. 149
      fe/PC/src/views/basicData/ItemsManage/Kitting.vue
  12. 85
      fe/PC/src/views/basicData/ItemsManage/PositionCode.vue
  13. 52
      fe/PC/src/views/basicData/ItemsManage/Utensil.vue
  14. 149
      fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList-old.vue
  15. 24
      fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue
  16. 27
      fe/PC/src/views/rawMaterialManage/purchaseOnShelves/PutawayNote.vue
  17. 244
      fe/PC/src/views/rawMaterialManage/quality/InspectRequest.vue

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

@ -621,6 +621,14 @@ export async function exchangeDataResendById(id) {
})
}
// 采购上架记录-记录已打印
export async function putawayPrintUpdateRemark(id) {
return request({
url: baseURL + 'wms/store/putaway-note/print-update-remark/' + id,
method: 'post',
})
}
// 根据编号获取字典信息
// export function getDictByCode(code) {

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

@ -400,7 +400,7 @@ export default {
if (valid) {
const parent = this.$parent
if(this.active == 0){
parent.PalletlFunction().then(res => {
parent.PalletlFunction(this.active).then(res => {
//
this.active++
this.loading = false
@ -410,7 +410,7 @@ export default {
this.loading = false
})
}else{
parent.PalletlFunction().then(res => {
parent.PalletlFunction(this.active).then(res => {
//
this.loading = false
parent.stepsSubmit().then(res => {

6
fe/PC/src/filters/status.js

@ -2437,11 +2437,7 @@ export function positionCodeType(index, prop) {
"K": {
value: "K",
label: "Kitting区"
},
"Z": {
value: "Z",
label: "组合区"
},
}
}
return Enum(type, index, prop)
}

1
fe/PC/src/lang/zh.js

@ -84,6 +84,7 @@ export default {
currency:'货币',
warehouseCode:'仓库',
locationCode:'库位代码',
locationName:'库位名称',
projectCode:'项目代码',
projectName:'项目名称',
},

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

@ -142,54 +142,6 @@ export const constantRoutes = [
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'Utensil',
component: () => import('@/views/basicData/ItemsManage/Utensil.vue'),
name: 'Utensil',
meta: {
keepAlive : true,
title: '器具',
icon: '系统首页',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'PositionCode',
component: () => import('@/views/basicData/ItemsManage/PositionCode.vue'),
name: 'PositionCode',
meta: {
keepAlive : true,
title: '位置码',
icon: '系统首页',
}
}]
},
{
path: '/',
component: Layout,
redirect: '/gridlayout',
hidden: true,
children: [{
path: 'Kitting',
component: () => import('@/views/basicData/ItemsManage/Kitting.vue'),
name: 'Kitting',
meta: {
keepAlive : true,
title: 'Kitting总成',
icon: '系统首页',
}
}]
},
{
path: '/',
component: Layout,

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

@ -1,5 +1,8 @@
// 通用配置
const orderWidth = 180
import zh from '@/lang/zh'
let _Public = zh.ColumsPublic // 字段通用
let _Names = zh.ColumsNames // 接口监控看板
// 基础数据管理
/**/
// 字典信息 20230404
@ -3345,4 +3348,16 @@ export const splitPackingList = [
{ label: "备注", prop: 'remark' },
{ label: "原因", prop: 'reason' },
// { label: "上次修改时间", prop: 'lastModificationTime', type: "dateTime" },
]
// 总成量份
export const Kitting = [
{ label: _Names.itemCode, prop: 'partCode' },
{ label: _Names.itemDesc1, prop: "desc1" },
{ label: _Names.itemDesc2, prop: "desc2" },
{ label: '配置', prop: "conf" },
{ label: '包装数量', prop: "qty" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
]

2
fe/PC/src/utils/rules.js

@ -5,7 +5,7 @@ import {
var qtyValidate = (rule, value, callback) => {
if (!isQty(value)) {
return callback(new Error('不能为0'))
return callback(new Error('必须大于0'))
} else {
callback()
}

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

@ -1254,8 +1254,8 @@ export const unqualifiedInfo = [
{ label: "物品描述2", prop: "itemDesc2" },
{ label: "数量", prop: "qty" },
{ label: "物品单位", prop: "uom" },
{ label: "原箱箱码", prop: "packingCode" },
{ label: "拆箱箱码", prop: "packingCode2" },//todo:拆箱箱码的值确定
{ label: "原箱箱码", prop: "fromPackingCode" },
{ label: "拆箱箱码", prop: "packingCode" },
{ label: "ERP储位", prop: "locationErpCode" },
{ label: "不合格原因代码", prop: 'failedReason' },
{ label: "不合格原因说明", prop: 'failedReason', type: "filter", filters: "getDict" , dictType:"UnqualifiedReason" },
@ -1503,7 +1503,7 @@ export const PutawayNote = [
},
{ label: "创建时间", prop: "creationTime",type: "dateTime" },
{ label: "操作员", prop: 'worker' },
{ label: "备注", prop: 'remark' },
// { label: "备注", prop: 'remark' },//目前用来区分是否打印进行颜色区分,所以隐藏字段
{ label: "任务单号", prop: 'jobNumber',width: orderWidth },
{ label: "到货单号", prop: "purchaseReceiptRequestNumber", width: orderWidth },
{ label: "生效日期", prop: 'activeDate', type: "dateTime" },
@ -3936,52 +3936,52 @@ export const exchangeDataMaintenancePage = [
// 位置码
export const PositionCode = [
{
label: _Names.itemCode,
prop: "itemCode",
label: '位置码',
prop: "code",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: "位置码类型", prop: 'type', type: "filter", filters: "positionCodeType" },
{ label: _Names.itemCode, prop: "partCode" },
{ label: _Names.itemName, prop: "partName" },
{ label: _Names.itemDesc1, prop: "partDesc" },
// { label: _Names.itemDesc2, prop: "desc2" },
{ label: _Names.basicUom, prop: "basicUom" },
{ label: _Names.stdPackQty, prop: "stdPackQty" },
{ label: _Names.locationCode, prop: "locationCode" },
{ label: _Names.locationName, prop: "locationName" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]
// 器具
export const Utensil = [
{
label: _Names.itemCode,
prop: "itemCode",
label: '器具号',
prop: "code",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: _Names.stdPackQty, prop: "stdQty" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]
// 总成量份
export const Kitting = [
{
label: _Names.itemCode,
prop: "itemCode",
label: '编码',
prop: "code",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: '名称', prop: 'name' },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]

4020
fe/PC/src/utils/tableColumns/index_new.js

File diff suppressed because it is too large

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

@ -984,7 +984,7 @@ export const PutawayNote = [
{ label: "到货单号", prop: 'purchaseReceiptRequestNumber' },
{ label: "创建时间", prop: "creationTime", type: "dateTime" },
{ label: "操作员", prop: 'worker' },
{ label: "备注", prop: 'remark' },
// { label: "备注", prop: 'remark' },//目前用来区分是否打印进行颜色区分,所以隐藏字段
{ label: "任务单号", prop: 'jobNumber' },
{ label: "创建者ID", prop: "creatorId" },
{ label: "生效日期", prop: 'activeDate', type: "dateTime" },
@ -2824,51 +2824,39 @@ export const Department = [
// 位置码
export const PositionCode = [
{
label: _Names.itemCode,
prop: "itemCode",
label: '位置码',
prop: "code",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: _Names.itemCode, prop: "partCode" },
{ label: _Names.itemName, prop: "partName" },
{ label: _Names.itemDesc1, prop: "partDesc" },
// { label: _Names.itemDesc2, prop: "desc2" },
{ label: _Names.basicUom, prop: "basicUom" },
{ label: _Names.locationCode, prop: "locationCode" },
{ label: _Names.locationName, prop: "locationName" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]
// 器具
export const Utensil = [
{
label: _Names.itemCode,
prop: "itemCode",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: '器具号',prop: "code",},
{ label: _Names.stdPackQty, prop: "stdQty" },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: '创建人', prop: "creator" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]
// 总成量份
export const Kitting = [
{
label: _Names.itemCode,
prop: "itemCode",
fixed: "left",
type: "name"
},
{ label: _Names.supplierCode, prop: 'supplierCode' },
{ label: _Public.status, prop: 'status', type: "filter", filters: "openToClose" },
{ label: _Names.inspectType, prop: 'inspectType', type: "filter", filters: "inspectType" },
{ label: '编码', prop: "code" },
{ label: '名称', prop: 'name' },
{ label: _Public.creationTime, prop: "creationTime", type: "dateTime" },
{ label: _Public.lastModificationTime, prop: "lastModificationTime", type: "dateTime" },
{ label: _Public.remark, prop: "remark" },
{ label: _Public.description, prop: "description" },
]

149
fe/PC/src/views/basicData/ItemsManage/Kitting.vue

@ -75,7 +75,6 @@
<!--抽屉-->
<curren-Drawer
:title="tableColumns"
:tableColumns="tableColumns"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:dropdownData="dropdownData"
@ -85,10 +84,16 @@
@drawerbutton="drawerbuttonHandle"
@handleCommand="drawerHandle"
@close-value="closeValue"
:tableColumns="detailsTableColumns"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { postCreate,postUpdate } from '@/api/wms-api'
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
@ -116,7 +121,7 @@ export default {
},
data () {
return {
URL: 'basedata/item-quality',
URL: 'basedata/kitting',
//
currenButtonData: [
this.defaultAddBtn(),//
@ -129,12 +134,14 @@ export default {
//
CreateFormData: {
code:null,
name:null,
remark:null,
details:[]
},
editOptions: {},
CreateForm: [
{ type: "input", label: "编码", prop: "code",colSpan: 12 },
{ type: "input", label: "名称", prop: "name",colSpan: 12 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
editRules: {
@ -143,24 +150,28 @@ export default {
},
},
AddDetailsTableColumns: [
{ type:"input", label: "包装数量", prop: 'stdPack',width:"auto" },
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
{ type:"inputNumber", label: "包装数量", prop: 'qty',width:"auto",min:1 },
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.CreateFormData) },
width: "auto",searchButton:false
},
{ label: "物料名称", prop: "itemName",width:"auto" },
{ label: "物料描述1", prop: "itemDesc1",width:"auto" },
{ label: "物料描述2", prop: "itemDesc2",width:"auto" },
{ label: "配置", prop: 'configuration',width:"auto" },
{ label: "物料名称", prop: "partName",width:"auto" },
{ label: "物料描述1", prop: "desc1",width:"auto" },
{ label: "物料描述2", prop: "desc2",width:"auto" },
{ label: "配置", prop: 'conf',width:"auto" },
{ type:"input", label: "备注", prop: 'remark',width:"auto" },
],
childTableData:[{
stdPack:null,
itemCode:null,
itemName:null,
itemDesc1:null,
itemDesc2:null,
configuration:null,
id:undefined,
masterId:undefined,
partCode:null,
partName:null,
desc1:null,
desc2:null,
qty:null,
conf:null,
remark:null,
}],
};
},
@ -175,17 +186,19 @@ export default {
if(val == "edit"){
this.formTitle = this.$route.meta.title + "编辑";
this.displayDialog.newDialog = true
this.CreateFormData = this.propsData
this.CreateFormData = JSON.parse(JSON.stringify(this.propsData));
this.childTableData = [{
stdPack:null,
itemCode:null,
itemName:null,
itemDesc1:null,
itemDesc2:null,
configuration:null,
id:undefined,
masterId:this.propsData.id,
partCode:null,
partName:null,
desc1:null,
desc2:null,
qty:null,
conf:null,
remark:null,
}]
// this.formReveal = false
// this.theEvent = "edit"
this.theEvent = "edit"
}else{
this.drawerbutton(val)
}
@ -196,59 +209,71 @@ export default {
})
},
PalletlFunction (val) {
console.log(19999,val)
return new Promise((resolve, reject) => {
let array = []
let _isEmpty = 0
this.CreateFormData.details.forEach(item => {
array.push(item.itemCode)
if(!item.itemCode || item.itemCode.length <= 0 || !item.stdPack || item.stdPack.length <= 0 || Number(item.stdPack) == 0){
_isEmpty ++
if(val == 1){
let array = []
let _isEmpty = 0
this.CreateFormData.details.forEach(item => {
array.push(item.partCode)
if(!item.partCode || item.partCode.length <= 0 || !item.qty || item.qty.length <= 0 || Number(item.qty) == 0){
_isEmpty ++
}
})
if(_isEmpty > 0){
this.$errorMsg('【包装数量】与【物料代码】不能为空,且【包装数量】要大于0!')
reject()
return
}
})
if(_isEmpty > 0){
this.$errorMsg('【包装数量】与【物料代码】不能为空!')
reject()
return
}
let arraySort = array.sort()
for(let i=0; i<arraySort.length; i++){
if(arraySort[i] == arraySort[i+1]){
this.$errorMsg('物料:【' + arraySort[i] + '】重复,请删除后,再操作!')
reject()
break
let arraySort = array.sort()
for(let i=0; i<arraySort.length; i++){
if(arraySort[i] == arraySort[i+1]){
this.$errorMsg('物料:【' + arraySort[i] + '】重复,请删除后,再操作!')
reject()
break
}
}
resolve();
}else{
resolve();
}
resolve();
});
},
stepsSubmit (val) {
return new Promise((resolve, reject) => {
console.log(260,this.CreateFormData)
reject();
// postCreate(this.CreateFormData, this.URL).then((res) => {
// this.stepsPrint = res
// this.propsData = res
// resolve();
// }).catch(err => {
// reject();
// });
//
if(this.theEvent != 'edit'){
postCreate(this.CreateFormData, this.URL).then((res) => {
this.propsData = res
resolve();
}).catch(err => {
reject();
});
}
//
else{
postUpdate(this.CreateFormData, this.propsData.id, this.URL).then(res => {
this.propsData = res
resolve();
}).catch(err => {
reject();
})
}
});
},
detailsDataPush(data){
if(data[1].prop == "itemCode"){
this.CreateFormData.details[data[3].$index].itemName = data[0].name
this.CreateFormData.details[data[3].$index].itemDesc1 = data[0].desc1
this.CreateFormData.details[data[3].$index].itemDesc2 = data[0].desc2
this.CreateFormData.details[data[3].$index].configuration = data[0].configuration
if(data[1].prop == "partCode"){
this.CreateFormData.details[data[3].$index].partName = data[0].name
this.CreateFormData.details[data[3].$index].desc1 = data[0].desc1
this.CreateFormData.details[data[3].$index].desc2 = data[0].desc2
this.CreateFormData.details[data[3].$index].conf = data[0].configuration
}
},
detailsClear(data){
if(data[0].prop == "itemCode"){
this.CreateFormData.details[data[1].$index].itemName = ""
this.CreateFormData.details[data[1].$index].itemDesc1 = ""
this.CreateFormData.details[data[1].$index].itemDesc2 = ""
this.CreateFormData.details[data[1].$index].configuration = ""
if(data[0].prop == "partCode"){
this.CreateFormData.details[data[1].$index].partName = ""
this.CreateFormData.details[data[1].$index].desc1 = ""
this.CreateFormData.details[data[1].$index].desc2 = ""
this.CreateFormData.details[data[1].$index].conf = ""
}
}
}

85
fe/PC/src/views/basicData/ItemsManage/PositionCode.vue

@ -116,7 +116,7 @@ export default {
},
data () {
return {
URL: 'basedata/item-quality',
URL: 'basedata/position-code',
//
currenButtonData: [
this.defaultAddBtn(),//
@ -130,64 +130,84 @@ export default {
CreateFormData: {
code:null,
codeSuffix:null,
codeType:null,
type:null,
basicUom:null,
stdPackQty:null,
itemCode:null,
partCode:null,
partName:null,
partDesc:null,
locationCode:null,
locationName:null,
tenantId:null,
extraProperties: {},
},
//
editFormData: {
code:null,
codeSuffix:null,
codeType:null,
type:null,
basicUom:null,
stdPackQty:null,
itemCode:null,
partCode:null,
partName:null,
partDesc:null,
locationCode:null,
locationName:null,
concurrencyStamp: ""
},
editOptions: {},
CreateForm: [
{ type: "select", label: "类型", prop: "codeType", colSpan: 12 ,options:'positionCodeType' },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "select", label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.CreateFormData) },
colSpan: 12
},
{ type: "filterSelect", label: "库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
{ type: "input", disabled:true, label: "物品名称", prop: "partName",colSpan: 12 },
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.CreateFormData) },
colSpan: 12
},
{ type: "input", disabled:true, label: "库位名称", prop: "locationName",colSpan: 12 },
{ type: "input", label: "备注", prop: "remark",colSpan: 12 },
],
editForm: [
{ type: "select",disabled:true, label: "类型", prop: "codeType", colSpan: 12 ,options:'positionCodeType' },
{ type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "select",disabled:true, label: "类型", prop: "type", colSpan: 12 ,options:'positionCodeType' },
{ disabled:true,type: "prefixInput", label: "位置码", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "filterSelect", label: "物品代码", prop: "itemCode", optionsLabel: "name", optionsValue: "code",
{ type: "filterSelect", label: "物品代码", prop: "partCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/Item-Basic")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/Item-Basic', 'ItemBasic', '物品选择', this.editFormData) },
colSpan: 12
},
{ type: "filterSelect", label: "库位", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
{ type: "input", disabled:true, label: "物品名称", prop: "partName",colSpan: 12 },
{ type: "input", disabled:true, label: "物品描述", prop: "partDesc",colSpan: 12 },
{ type: "input", disabled:true, label: "单位", prop: "basicUom",colSpan: 12 },
{ type: "filterSelect", label: "库位代码", prop: "locationCode", optionsLabel: "name", optionsValue: "code",
focus: (type,val) => { return this.getFilterList(type, val, "basedata/location")},
searchButton: (val) => { this.showSerarchPage(val, 'basedata/location', 'Location', '库位选择', this.editFormData) },
colSpan: 12
},
{ type: "input", disabled:true, label: "库位名称", prop: "locationName",colSpan: 12 },
{ type: "input", label: "备注", prop: "remark",colSpan: 12 },
],
editRules: {
cerateRule: {
codeType: [{ required: true, trigger: "blur", message: "不可为空" }],
type: [{ required: true, trigger: "blur", message: "不可为空" }],
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
stdPackQty: [{ required: true, trigger: "blur", message: "不可为空" }],
itemCode: [{ required: true, trigger: "change", message: "不可为空" }],
partCode: [{ required: true, trigger: "change", message: "不可为空" }],
locationCode: [{ required: true, trigger: "change", message: "不可为空" }],
},
editRule: {
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
stdPackQty: [{ required: true, trigger: "blur", message: "不可为空" }],
itemCode: [{ required: true, trigger: "change", message: "不可为空" }],
partCode: [{ required: true, trigger: "change", message: "不可为空" }],
locationCode: [{ required: true, trigger: "change", message: "不可为空" }],
}
},
@ -198,7 +218,26 @@ export default {
},
methods: {
addNewDataPush(val){
console.log(201,val)
if(val[1].prop == "partCode"){
if(this.formReveal){
this.CreateFormData.partName = val[0].name
this.CreateFormData.partDesc = val[0].desc1
this.CreateFormData.basicUom = val[0].basicUom
this.CreateFormData.extraProperties = val[0].extraProperties
}else{
this.editFormData.partName = val[0].name
this.editFormData.partDesc = val[0].desc1
this.editFormData.basicUom = val[0].basicUom
this.editFormData.extraProperties = val[0].extraProperties
}
}
else if(val[1].prop == "locationCode"){
if(this.formReveal){
this.CreateFormData.locationName = val[0].name
}else{
this.editFormData.locationName = val[0].name
}
}
},
drawerbuttonHandle(val){
if(val == "edit"){
@ -219,9 +258,9 @@ export default {
this.displayDialog.editDialog = true
// todo:-code
this.editFormData.codeType = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : null
this.editFormData.codeSuffix = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null
console.log(210,this.editFormData)
// this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : null)
this.editFormData.type = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? this.editFormData.type : null
this.editFormData.codeSuffix = (this.editFormData.type == 'W' || this.editFormData.type == 'Q' || this.editFormData.type == 'K') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
}else{
this.drawerbutton(val)
}
@ -229,9 +268,11 @@ export default {
FormSubmitHandle(val){
// todo:codeType + code
if(this.formReveal){
this.CreateFormData.code = this.CreateFormData.codeType + this.CreateFormData.codeSuffix
this.CreateFormData.code = this.CreateFormData.type + this.CreateFormData.codeSuffix
delete this.CreateFormData.codeSuffix
}else{
this.editFormData.code = this.editFormData.codeType + this.editFormData.codeSuffix
this.editFormData.code = this.editFormData.type + this.editFormData.codeSuffix
delete this.editFormData.codeSuffix
}
this.$nextTick(()=>{
this.FormSubmit(val)

52
fe/PC/src/views/basicData/ItemsManage/Utensil.vue

@ -96,6 +96,8 @@ import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import { mixins } from "@/mixins/mixins"
import { filterSelectMixins } from '@/mixins/filter-Select'
import store from '@/store'
import detailsRules from '@/utils/rules';
export default {
name: "Utensil",
mixins: [
@ -116,7 +118,7 @@ export default {
},
data () {
return {
URL: 'basedata/item-quality',
URL: 'basedata/Equipment',
//
currenButtonData: [
this.defaultAddBtn(),//
@ -130,38 +132,46 @@ export default {
CreateFormData: {
code:null,
codeSuffix:null,
codeType:"Q",
stdPackQty:null,
creationTime:null,
createUser:null,
type:"Q",
stdQty:null,
creator: null,
remark:null,
},
//
editFormData: {
code:null,
codeSuffix:null,
codeType:"Q",
stdPackQty:null,
creationTime:null,
createUser:null,
type:"Q",
stdQty:null,
remark:null,
creator: null,
concurrencyStamp: ""
},
editOptions: {},
CreateForm: [
{ type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdQty", colSpan: 12, min:1 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
editForm: [
{ type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"codeType",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdPackQty", colSpan: 12, min:1 },
{ disabled:true,type: "prefixInput", label: "器具号", prop: "codeSuffix",prefixProp:"type",prefixWidth:'50px',prefixDisabled:true, colSpan: 12 },
{ type: "inputNumber", label: "标包数量", prop: "stdQty", colSpan: 12, min:1 },
{ type: "input", label: "备注", prop: "remark", colSpan: 12 },
],
editRules: {
cerateRule: {
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
stdPackQty: [{ required: true, trigger: "blur", message: "不可为空" }],
stdQty: [
{ required: true, trigger: "blur", message: "不可为空" },
...detailsRules.numberInput
],
},
editRule: {
codeSuffix: [{ required: true, trigger: "blur", message: "不可为空" }],
stdPackQty: [{ required: true, trigger: "blur", message: "不可为空" }],
stdQty: [
{ required: true, trigger: "blur", message: "不可为空" },
...detailsRules.numberInput
],
}
},
};
@ -192,8 +202,10 @@ export default {
this.displayDialog.editDialog = true
// todo:-code
this.editFormData.codeType = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : "Q"
this.editFormData.codeSuffix = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null
this.editFormData.type = "Q"
this.editFormData.codeSuffix = (this.editFormData.type == 'Q') ? (this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null) : this.editFormData.code
// this.editFormData.type = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(0,1) : "Q"
// this.editFormData.codeSuffix = this.editFormData.code && this.editFormData.code.length > 0 ? this.editFormData.code.slice(1) : null
console.log(210,this.editFormData)
}else{
this.drawerbutton(val)
@ -202,9 +214,11 @@ export default {
FormSubmitHandle(val){
// todo:codeType + code
if(this.formReveal){
this.CreateFormData.code = this.CreateFormData.codeType + this.CreateFormData.codeSuffix
this.CreateFormData.code = this.CreateFormData.type + this.CreateFormData.codeSuffix
this.CreateFormData.creator = store.getters.name.userName
}else{
this.editFormData.code = this.editFormData.codeType + this.editFormData.codeSuffix
this.editFormData.code = this.editFormData.type + this.editFormData.codeSuffix
this.editFormData.creator = store.getters.name.userName
}
this.$nextTick(()=>{
this.FormSubmit(val)

149
fe/PC/src/views/inventoryManage/InventoryQuery/splitPackingList-old.vue

@ -0,0 +1,149 @@
<template>
<div class="page-box" v-loading="Loading.appMainLoading">
<tablePagination
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="tableColumns"
@rowDrop="rowDrop"
:tableSelection="false"
: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="[]"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@handleCommand="drawerHandle"
@close-value="closeValue"
:currenButtonData="currenButtonData"
:tableColumns="detailsTableColumns"
@handleSelectionChange="handleSelectionChange"
@inlineDialog="inlineDialog"
:totalCount="totalCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
></curren-Drawer>
</div>
</template>
<script>
import { getPageListWip } 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"
export default {
name: "splitPackingList",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
],
computed: {
editDialog: {
get: function () {
return this.displayDialog.newDialog || this.displayDialog.editDialog;
},
},
},
data () {
return {
URL: 'wms/store/transfer-note/get-split-packing-list',
//
currenButtonData: [
// this.defaultImportBtn(),//
this.defaultExportBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
};
},
mounted () {
this.paging();
},
methods:{
//
paging(callback) {
this.Loading.tableLoading = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-split-packing-list?includeDetails=true')
.then(res => {
this.tableData = res.items
this.totalCount = res.totalCount
this.pagingCallback(callback)
})
.catch(err => {
this.Loading.tableLoading = false
})
},
//
inlineDialog(val) {
//
this.Loading.DrawerLoading = true
this.displayDialog.detailsDialog = true;
this.PageListParams.SkipCount = (this.oldSkipCount - 1) * this.PageListParams.MaxResultCount,
this.PageListParams.condition = {filters:[ {
logic: "And",
column: "number",
action: "==",
value: val.number
}]}
getPageListWip(this.PageListParams, 'wms/store/transfer-note/get-split-packing-list?includeDetails=true').then(res => {
this.propsData = res.items[0]
this.totalCountDetails = 1
this.Loading.DrawerLoading = false
}).catch(err => {
this.Loading.DrawerLoading = false
})
},
}
};
</script>
<style lang="scss" scoped>
@import "../../../styles/mainbasicData.scss";
</style>
<style lang="scss">
// .SupplierAsnPage{
// .el-dialog__body{
// padding-top:10px !important
// }
// }
</style>

24
fe/PC/src/views/inventoryManage/recycledMaterials/materialsAdjustmentFunc.vue

@ -217,6 +217,30 @@ export default {
}
},
addPopResetHandle(){
this.$confirm('重置后,字段设置将恢复初始设置,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.addPopData_FS=[{
itemCode:null,
qty:null,
locationCode:null,
}]
this.addPopData_YL=[{
itemCode:null,
inventoryQty:null,
location:null,
qty:null
}]
this.addPopData_HB=[{
itemCode:null,
qty:null,
locationCode:null,
}]
}).catch(() => {
});
},
addPopSureHandle(){
console.log(this.addPopData_FS)

27
fe/PC/src/views/rawMaterialManage/purchaseOnShelves/PutawayNote.vue

@ -46,7 +46,7 @@
</div>
</template>
<script>
import { getPageListWip } from "@/api/wms-api"
import { getPageListWip,putawayPrintUpdateRemark,getDetailed } from "@/api/wms-api"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
import { drawerMixins } from "@/mixins/drawerMixins"
@ -110,7 +110,6 @@ export default {
_ids.push(item.handledPackingCode)
});
getInventoryLabelByCodes(_ids).then(res => {
this.Loading.appMainLoading = false;
let _printData = JSON.parse(JSON.stringify(this.tableDataDetails))
if(res && res.length > 0){
_printData.supplierCode = res[0].supplierCode;
@ -134,18 +133,27 @@ export default {
for(let i in _sumArr){ _printData.details.push(_sumArr[i]) }
let data = initPrintAllData(_printData,'ysd.rdlx');
this.Print(data).then(()=>{
// todo:
console.log(136)
//
putawayPrintUpdateRemark(this.propsData.id)
.then(res=>{
this.Loading.appMainLoading = false;
this.paging()
getDetailed(this.propsData.id, this.URL).then(res => {
this.propsData = res
})
})
.catch(err => {
this.Loading.appMainLoading = false;
})
})
}).catch(err => {
this.Loading.appMainLoading = false;
})
}
},
// todo:
//
tableRowClassName({row, rowIndex}){
console.log(333,row, rowIndex)
if (rowIndex === 3) {
if (row.remark == "已打印") {
return 'success-row';
}
return '';
@ -156,8 +164,11 @@ export default {
<style lang="scss" scoped>
@import "../../../styles/basicData.scss";
</style>
<style>
<style lang="scss">
.el-table .success-row {
background: #d5f1e1 !important;
td{
background: #d5f1e1 !important;
}
}
</style>

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

@ -235,15 +235,20 @@
:modal-append-to-body="false"
:append-to-body="true"
:show-close="false">
<div style="height:60vh">
<currenTableFlex
<div>
<el-form :inline="true" :model="devanForm" class="demo-form-inline">
<el-form-item label="拆出数量">
<el-input type="number" v-model="devanForm.qty" placeholder="拆出数量"></el-input>
</el-form-item>
</el-form>
<!-- <currenTableFlex
style="width:500px;margin:0 auto"
:flexTableData="flexTableData"
:flexSearchOptions="editOptions"
:flexTableColumns="flexTableColumns"
:showAddBtn="true"
:showAllDeleteButton="true"
></currenTableFlex>
></currenTableFlex> -->
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="devanCancelHandel"> </el-button>
@ -254,7 +259,15 @@
</template>
<script>
import { getPageList, fileStorage, getListByItemcode, getDetailed,getFilestore } from "@/api/wms-api"
import {
getPageList,
fileStorage,
getListByItemcode,
getDetailed,
getFilestore,
InspectSplitPackingk
} from "@/api/wms-api"
import { postSplitPacking,postInventoryLabelCode_count } from "@/api/wms-core"
import { completeSummaryDetailStatus, setDetailDefaultOkStatus, setDetailOkStatus, setDetailNookStatus } from "@/api/wms-job"
import { tableMixins } from "@/mixins/TableMixins"
import { LoadingMixins } from "@/mixins/LoadingMixins"
@ -264,6 +277,7 @@ import { mixins } from "@/mixins/mixins"
import currenDescriptions from "@/components/currenDescriptions"
import currenTableFlex from "@/components/currenTableFlex"
import pdf from "@/components/pdf"
import store from '@/store'
export default {
name: "InspectRequest",
mixins: [
@ -287,14 +301,16 @@ export default {
supplierShow: false,
inspectShow: false,
//
flexTableData:[{qty:null}],
// flexTableData:[{qty:null}],
devanForm:{qty:null},
//
flexTableColumns:[
{type:'inputNumber', label: "数量", prop: "qty", width:"auto",min:1 },
],
// flexTableColumns:[
// {type:'inputNumber', label: "", prop: "qty", width:"auto",min:1 },
// ],
devanShow:false,//
devanLoading:false,//
devanMaxNumber:null,//
devanCurrentRow:null,//
devanCurrentPackInfo:null,//
inspectNoticeDetailsShow: false,
summaryCurrentRow:null,
loading:false,
@ -643,7 +659,6 @@ export default {
},
//
buttonClick(row) {
console.log(642,row)
this.summaryCurrentRow = row
//
if (row.summaryInspectStatus == 2) {
@ -775,9 +790,32 @@ export default {
this.$listAssign(this.inspectFormData, row)
// console.log('- label', label)
if(label == '拆箱'){
console.log(row)
this.devanMaxNumber = row.goodQty
this.devanShow = true
this.devanCurrentRow = row
let params = {
condition: {
filters: [
{
logic: "And",
column: "code",
action: "==",
value: row.packingCode
}
]
},
Sorting: "",
SkipCount: 0,
MaxResultCount: 20
}
this.Loading.appMainLoading = true
//
getPageList(params, "label/inventory-label").then(res => {
this.devanCurrentPackInfo = res.items[0]
this.Loading.appMainLoading = false
this.devanShow = true
}).catch(err => {
this.$errorMsg("获取箱数据失败,请重试!")
this.Loading.appMainLoading = false
})
}
else if (label == '检验') {
getListByItemcode({itemCode: row.itemCode}, 'basedata/item-guide-book').then(res => {
@ -868,10 +906,8 @@ export default {
//
// let jyslSum = 0
// this.inspectNoticeDetailsFormData.details.forEach(element => {
// console.log('element.inspectQty',element.inspectQty)
// jyslSum += element.inspectQty == undefined?0:element.inspectQty
// })
// console.log(jyslSum)
if (this.inspectNoticeDetailsFormData.inspectQty < this.inspectNoticeDetailsFormData.sampleQty) {
this.$message.error('实际检验数量小于要求检验数量,请继续检验!');
return
@ -1100,55 +1136,157 @@ export default {
currenTabsChange(row){
this.currentTagName = row.name
},
//
postSplitPackingHandle(newPackData){
this.devanLoading = true
let _data = {
useOnTheWayLocation: false,
requestNumber: null,
worker: store.getters.name.userName,
jobNumber: null,
remark: null,
extraProperties: this.devanCurrentRow.extraProperties || null,
activeDate: new Date(),
confirmed: true,
confirmTime: new Date(),
details: [{
fromLocationCode: this.devanCurrentRow.locationCode,
fromLocationErpCode: this.devanCurrentRow.locationErpCode,
fromLot: this.devanCurrentRow.lot,
fromPackingCode: this.devanCurrentRow.packingCode,
fromWarehouseCode: this.devanCurrentRow.warehouseCode,
itemCode: this.devanCurrentRow.itemCode,
itemName: this.devanCurrentRow.itemName,
toLocationCode: this.devanCurrentRow.locationCode,
toLocationErpCode: this.devanCurrentRow.locationErpCode,
toLot: this.devanCurrentRow.lot,
toPackingCode: newPackData[0].code,
toWarehouseCode: this.devanCurrentRow.warehouseCode,
uom: this.devanCurrentRow.uom,
itemDesc1: this.devanCurrentRow.itemDesc1,
onTheWayLocationCode: "",
expireDate: this.devanCurrentRow.expireDate,
fromLocationArea: this.devanCurrentRow.locationArea,
itemDesc2: this.devanCurrentRow.itemDesc2,
fromLocationGroup: this.devanCurrentRow.locationGroup,
toLocationArea: this.devanCurrentRow.locationArea,
reason: null,
fromStatus: this.devanCurrentRow.status,
stdPackQty: this.devanCurrentRow.stdPackQty,
arriveDate: this.devanCurrentRow.arriveDate,
toContainerCode: this.devanCurrentRow.containerCode,
produceDate: this.devanCurrentRow.produceDate,
supplierBatch: this.devanCurrentRow.supplierBatch,
toStatus: this.devanCurrentRow.status,
toLocationGroup: this.devanCurrentRow.locationGroup,
qty: Number(this.devanForm.qty),
remark: null,
fromContainerCode: this.devanCurrentRow.containerCode,
}],
type: "SplitPacking"
}
postSplitPacking(_data)
.then(res=>{
// todo:
this.devanCancelHandel()
let _url = this.detailURL ? this.detailURL : this.URL
getDetailed(this.propsData.id, _url).then(res => {
//
this.tableDataDetails = JSON.parse(JSON.stringify(res))
let linshiTableDataDetails = JSON.parse(JSON.stringify(this.tableDataDetails))
this.totalCountDetails = res.details.length
//
linshiTableDataDetails.details.splice(this.MaxResultCountDetails,this.totalCountDetails);
this.propsData = linshiTableDataDetails
this.buttonClick(this.summaryCurrentRow)
this.devanLoading = false
}).catch(err => {
this.devanLoading = false
})
})
.catch(err=>{
})
},
//
devanCancelHandel(){
this.flexTableData = [{qty:null}]
this.devanForm = {qty:null}
this.devanShow = false
this.devanLoading = false
},
//
devanSureHandel(){
if(this.flexTableData.length <= 0){
this.$errorMsg("请添加拆箱数据")
return
}
let _noNumber = 0
let _allNumber = 0
//
this.flexTableData.forEach(item=>{
if(!item.qty || item.qty == 0){
_noNumber ++
}else{
_allNumber += Number(item.qty)
}
})
if(Number(_noNumber) > 0){
this.$errorMsg(`单条拆分数量必须大于0,请修改数量`)
// if(this.flexTableData.length <= 0){
// this.$errorMsg("")
// return
// }
// let _noNumber = 0
// let _allNumber = 0
// //
// this.flexTableData.forEach(item=>{
// if(!item.qty || item.qty == 0){
// _noNumber ++
// }else{
// _allNumber += Number(item.qty)
// }
// })
// if(Number(_noNumber) > 0){
// this.$errorMsg(`0`)
// return
// }
// if(Number(_allNumber) > Number(this.devanCurrentRow.goodQty)){
// this.$errorMsg(`${this.devanCurrentRow.goodQty}`)
// return
// }
if(!this.devanForm.qty || Number(this.devanForm.qty) <=0 || Number(this.devanForm.qty) >= Number(this.devanCurrentRow.receiveQty)){
this.$errorMsg(`拆箱数必须大于0且小于${this.devanCurrentRow.receiveQty},请修改数量`)
return
}
if(Number(_allNumber) > Number(this.devanMaxNumber)){
this.$errorMsg(`拆箱总数必须小于${this.devanMaxNumber},请修改数量`)
return
//
let _creatPackData = {
itemCode: this.devanCurrentPackInfo.itemCode || null,
itemName: this.devanCurrentPackInfo.itemName || null,
itemDesc1: this.devanCurrentPackInfo.itemDesc1 || null,
itemDesc2: this.devanCurrentPackInfo.itemDesc2 || null,
lot: this.devanCurrentPackInfo.lot || null,
supplierBatch: this.devanCurrentPackInfo.supplierBatch || null,
arriveDate: this.devanCurrentPackInfo.arriveDate || null,
produceDate: this.devanCurrentPackInfo.produceDate || null,
expireDate: this.devanCurrentPackInfo.expireDate || null,
stdPackQty: Number(this.devanCurrentPackInfo.stdPackQty) || 0,
uom: this.devanCurrentPackInfo.uom || null,
qty: Number(this.devanForm.qty),
labelStatus: this.devanCurrentPackInfo.labelStatus,//
recommendLocationCode: this.devanCurrentPackInfo.recommendLocationCode || null,
locationErpCode: this.devanCurrentPackInfo.locationErpCode || null,
containerCode: this.devanCurrentPackInfo.containerCode || null,
supplierCode: this.devanCurrentPackInfo.supplierCode || null,
poNumber: this.devanCurrentPackInfo.poNumber || null,
rpNumber: this.devanCurrentPackInfo.rpNumber || null,
asnNumber: this.devanCurrentPackInfo.asnNumber || null,
qLevel: this.devanCurrentPackInfo.qLevel || null,
qualityFile: this.devanCurrentPackInfo.qualityFile || null,
prodLine: this.devanCurrentPackInfo.prodLine || null,
team: this.devanCurrentPackInfo.team || null,
shift: this.devanCurrentPackInfo.shift || null,
specifications: this.devanCurrentPackInfo.specifications || null,
supplierName: this.devanCurrentPackInfo.supplierName || null,
supplierSimpleName: this.devanCurrentPackInfo.supplierSimpleName || null,
supplierItemCode: this.devanCurrentPackInfo.supplierItemCode || null,
supplierItemName: this.devanCurrentPackInfo.supplierItemName || null,
labelType: this.devanCurrentPackInfo.labelType || null,
planArriveDate: this.devanCurrentPackInfo.planArriveDate || null,
remark:null,
}
// todo:
//
this.devanLoading = true
// todo:
this.devanCancelHandel()
let _url = this.detailURL ? this.detailURL : this.URL
getDetailed(this.propsData.id, _url).then(res => {
//
this.tableDataDetails = JSON.parse(JSON.stringify(res))
let linshiTableDataDetails = JSON.parse(JSON.stringify(this.tableDataDetails))
this.totalCountDetails = res.details.length
//
linshiTableDataDetails.details.splice(this.MaxResultCountDetails,this.totalCountDetails);
this.propsData = linshiTableDataDetails
this.buttonClick(this.summaryCurrentRow)
this.devanLoading = false
}).catch(err => {
this.devanLoading = false
})
postInventoryLabelCode_count({count:1}, _creatPackData)
.then(res => {
this.postSplitPackingHandle(res)
})
.catch(err => {
this.devanLoading = false
})
}
}
}

Loading…
Cancel
Save