Browse Source

HL-5957生产退料功能的修改1:主数据中增加到仓库选项;2:在申请中不选择目标库位,申请处理完生成任务后,在任务中根据上架策略为退回的包装在目标仓库下推荐目标库位,可以参考合格转隔离时推荐目标库位的模式

hella_online_20240924
yufei_wang 2 months ago
parent
commit
f8bda453dc
  1. 123
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue
  2. 516
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  3. 2
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
  4. 1527
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMain.data.ts

123
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/index.vue

@ -43,7 +43,7 @@
<BasicForm <BasicForm
ref="formRef" ref="formRef"
:isOpenSearchTable="true" :isOpenSearchTable="true"
fieldTableColumn="workStationCode" fieldTableColumn="itemCode"
@success="getList" @success="getList"
:rules="ProductionreturnRequestMainRules" :rules="ProductionreturnRequestMainRules"
:formAllSchemas="ProductionreturnRequestMain.allSchemas" :formAllSchemas="ProductionreturnRequestMain.allSchemas"
@ -59,6 +59,7 @@
@tableSelectionDelete="tableSelectionDelete" @tableSelectionDelete="tableSelectionDelete"
@searchTableSuccess="searchTableSuccess" @searchTableSuccess="searchTableSuccess"
@submitForm="submitForm" @submitForm="submitForm"
@clearSearchInput="clearSearchInput"
/> />
<!-- 详情 --> <!-- 详情 -->
@ -88,7 +89,7 @@
:isShowButton="false" :isShowButton="false"
@handleAddTable="handleAddTable" @handleAddTable="handleAddTable"
@handleDeleteTable="handleDeleteTable" @handleDeleteTable="handleDeleteTable"
@searchTableSuccess="searchTableSuccess" @searchTableSuccess="searchTableSuccessLabel"
@submitForm="submitFormLabel" @submitForm="submitFormLabel"
/> />
@ -183,9 +184,28 @@ const isItemType = async (itemCode, labelTypeParams) => {
if (!isType) labelType.value = labelTypeOld if (!isType) labelType.value = labelTypeOld
return isType return isType
} }
const clearSearchInput = (formField) => {
if(formField=='workshopCode'){
//
formRef.value.formRef.setValues({
productionLineCode:'',//线
workStationCode:'',//
fromLocationCode:'',//
})
tableData.value = []
}else if(formField=='productionLineCode'){
//线
formRef.value.formRef.setValues({
workStationCode:'',//
fromLocationCode:'',//
})
tableData.value = []
}
}
// //
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
console.log('searchTableSuccess',formRef.formModel)
nextTick(async () => { nextTick(async () => {
if (type == 'tableForm') { if (type == 'tableForm') {
// //
@ -194,23 +214,37 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
message.warning(`物料${val[0]['itemCode']}已经存在`) message.warning(`物料${val[0]['itemCode']}已经存在`)
return return
} }
let enableBuy = val[0]['enableBuy']
const isType = await isItemType(val[0]['itemCode'], labelType.value) if(tableData.value.length>0){
if(!isType){ enableBuy = tableData.value[0]['enableBuy']
message.warning('当前物料可制造与其他数据不一致,请重新选择!') }
} else { //
row['itemCode'] = val[0]['itemCode'] let noList = val.filter(item=>item['enableBuy']!=enableBuy)
row['uom'] = val[0]['uom'] if(noList&&noList.length>0){
row['inventoryStatus'] = val[0]['inventoryStatus'] let itemCodes = noList.map(item=>item['itemCode'])
row['qty'] = val[0]['qty'] console.log(itemCodes)
message.warning(`${itemCodes.join(',')}与其他数据制造类型不一致,被过滤!`)
}
val = val.filter(item=>item['enableBuy']==enableBuy)
val.forEach(item=>{
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['itemCode'] = item['itemCode']
newRow['enableBuy'] = item['enableBuy']
newRow['uom'] = item['uom']
newRow['inventoryStatus'] = item['inventoryStatus']
newRow['qty'] = item['qty']
// 000000 // 000000
if (val[0]['batch'] !== '') { if (item['batch'] !== '') {
row['batch'] = val[0]['batch'] newRow['batch'] = item['batch']
} else { } else {
row['batch'] = '000000' newRow['batch'] = '000000'
} }
row['packUnit'] = val[0]['packUnit'] newRow['packUnit'] = item['packUnit']
row['packQty'] = val[0]['packQty'] newRow['packQty'] = item['packQty']
tableData.value.push(newRow)
})
// HL-4885 @ @ // HL-4885 @ @
// tableform // tableform
// TODO: tableFormColumns 10 20 20 // TODO: tableFormColumns 10 20 20
@ -219,16 +253,17 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
// item.tableForm.max = val[0]['qty'] // item.tableForm.max = val[0]['qty']
// } // }
// }) // })
} // }
} else if(formField == 'workStationCode') { }
// // else if(formField == 'workStationCode') {
val.forEach(item=>{ // //
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item})) // val.forEach(item=>{
newRow['workStationCode'] = item['code'] // const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))
newRow['fromLocationCode'] = item['rawLocationCode'] // newRow['workStationCode'] = item['code']
tableData.value.push(newRow) // newRow['fromLocationCode'] = item['rawLocationCode']
}) // tableData.value.push(newRow)
} // })
// }
// else if(formField == 'packUnit') { // else if(formField == 'packUnit') {
// row['packUnit'] = val[0]['packUnit'] // row['packUnit'] = val[0]['packUnit']
// row['packQty'] = val[0]['packQty'] // row['packQty'] = val[0]['packQty']
@ -239,11 +274,43 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
} else { } else {
const setV = {} const setV = {}
setV[formField] = val[0][searchField] setV[formField] = val[0][searchField]
if(formField=='workshopCode'){
//
setV['productionLineCode'] = ''//线
setV['workStationCode'] = ''//
setV['fromLocationCode'] = ''//
tableData.value = []
}else if(formField=='productionLineCode'){
//线
setV['workStationCode'] = ''//
setV['fromLocationCode'] = ''//
tableData.value = []
}
if(formField == 'workStationCode') {
//
setV['workStationCode'] = val[0]['code']
setV['fromLocationCode'] = val[0]['rawLocationCode']
}
tableData.value = [] // tableData.value = [] //
formRef.setValues(setV) formRef.setValues(setV)
} }
}) })
} }
//
const searchTableSuccessLabel = (formField, searchField, val, formRef, type, row ) => {
console.log('searchTableSuccessLabel',formField, searchField, val, formRef, type, row)
nextTick(async () => {
if (type == 'tableForm') {
//
row[formField] = val[0][searchField]
} else {
const setV = {}
setV[formField] = val[0][searchField]
formRef.setValues(setV)
}
})
}
// //
const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { const searchTableSuccessDetail = (formField, searchField, val, formRef ) => {
nextTick(async () => { nextTick(async () => {
@ -654,6 +721,10 @@ const submitForm = async (formType, submitData) => {
if(data.masterId){ if(data.masterId){
data.id = data.masterId data.id = data.masterId
} }
tableData.value.forEach((item:any)=>{
item['workStationCode'] = data.workStationCode
item['fromLocationCode'] = data.fromLocationCode
})
data.subList = tableData.value // data.subList = tableData.value //
let isZC = true // let isZC = true //
data.subList.forEach(item => { data.subList.forEach(item => {

516
src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts

@ -24,7 +24,8 @@ import * as SupplieritemApi from '@/api/wms/supplieritem'
import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data' import { Supplieritem } from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data'
import * as LocationApi from '@/api/wms/location' import * as LocationApi from '@/api/wms/location'
import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
import { Warehouse } from "@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data";
import * as WarehouseApi from "@/api/wms/warehouse";
const { t } = useI18n() // 国际化 const { t } = useI18n() // 国际化
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 // 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@ -116,7 +117,7 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
}, },
}, },
{ {
label: '生产线代码', label: '生产线',
field: 'productionLineCode', field: 'productionLineCode',
sort: 'custom', sort: 'custom',
table: { table: {
@ -171,6 +172,155 @@ export const ProductionreturnRequestMain = useCrudSchemas(reactive<CrudSchema[]>
}] }]
}, },
}, },
{
label: '工位',
field: 'workStationCode',
sort: 'custom',
table: {
width: 150
},
isForm: true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition:[{
key: 'available',
value: 'TRUE',
isMainValue: false
},{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!',
isMainValue: true
},{
key: 'productionLineCode',
value: 'productionLineCode',
message: '请选择生产线信息!',
isMainValue: true,
isOptional:true, // isMainValue=true情况,添加参数可选可空的判断
}],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
}
},
tableForm:{
multiple:true,
disabled:true,
// isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition: [
{
key: 'available',
value: 'TRUE',
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false
},
{
key: 'workshopCode',
value: 'workshopCode',
message: '请选择车间信息!',
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用
},
{
key: 'productionLineCode', // 查询列表中字段
value: 'productionLineCode', // 指查询具体值
action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel
required:false, // 前置添加必有,和isFormModel结合使用
},
],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true,
isRepeat: true,//是否可以重复添加该条数据
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
},
},
{
label: '来源库位',
field: 'fromLocationCode',
sort: 'custom',
table: {
width: 150
},
tableForm: {
disabled: true
},
form: {
componentProps: {
disabled: true
}
},
isDetail:false,
isTable:true,
isTableForm: true,
isForm: true,
},
{
label: '到仓库',
field: 'toWarehouseCode',
sort: 'custom',
table: {
width: 150,
},
isForm:true,
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch: true,
isSearchList: true,
searchListPlaceholder: '请选择仓库代码',
searchField: 'code',
searchTitle: '仓库信息',
searchAllSchemas: Warehouse.allSchemas,
searchPage: WarehouseApi.getWarehousePage,
searchCondition: [{
key: 'available',
value: 'TRUE',
isMainValue: false
}],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}], // 失去焦点校验参数
}
}
},
{ {
label: '申请时间', label: '申请时间',
field: 'requestTime', field: 'requestTime',
@ -524,6 +674,12 @@ export const ProductionreturnRequestMainRules = reactive({
// productionLineCode: [ // productionLineCode: [
// { required: true, message: '请选择生产线代码', trigger: 'change' } // { required: true, message: '请选择生产线代码', trigger: 'change' }
// ], // ],
workStationCode: [
{ required: true, message: '请选择工位代码', trigger: 'change' }
],
toWarehouseCode: [
{ required: true, message: '请选择到仓库', trigger: 'change' }
],
}) })
/** /**
@ -579,161 +735,161 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
}] }]
}, },
}, },
{ // {
label: '工位代码', // label: '工位代码',
field: 'workStationCode', // field: 'workStationCode',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 150 // width: 150
}, // },
form: { // form: {
// labelMessage: '信息提示说明!!!', // // labelMessage: '信息提示说明!!!',
componentProps: { // componentProps: {
isSearchList: true, // 开启查询弹窗 // isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择工位代码', // 输入框占位文本 // searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 // searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题 // searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类 // searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法 // searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition:[{ // searchCondition:[{
key: 'available', // key: 'available',
value: 'TRUE', // value: 'TRUE',
isMainValue: false // isMainValue: false
},{ // },{
key: 'workshopCode', // key: 'workshopCode',
value: 'workshopCode', // value: 'workshopCode',
message: '请选择车间信息!', // message: '请选择车间信息!',
isMainValue: true // isMainValue: true
},{ // },{
key: 'productionLineCode', // key: 'productionLineCode',
value: 'productionLineCode', // value: 'productionLineCode',
message: '请选择生产线信息!', // message: '请选择生产线信息!',
isMainValue: true // isMainValue: true
}], // }],
} // }
}, // },
tableForm:{ // tableForm:{
multiple:true, // multiple:true,
disabled:true, // disabled:true,
// isInpuFocusShow: true, // // isInpuFocusShow: true,
searchListPlaceholder: '请选择工位代码', // 输入框占位文本 // searchListPlaceholder: '请选择工位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 // searchField: 'code', // 查询弹窗赋值字段
searchTitle: '工位信息', // 查询弹窗标题 // searchTitle: '工位信息', // 查询弹窗标题
searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类 // searchAllSchemas: Workstation.allSchemas, // 查询弹窗所需类
searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法 // searchPage: WorkstationApi.getWorkstationPage, // 查询弹窗所需分页方法
searchCondition: [ // searchCondition: [
{ // {
key: 'available', // key: 'available',
value: 'TRUE', // value: 'TRUE',
action: '==', // 查询拼接条件 // action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件 // isSearch: true, // 使用自定义拼接条件
isMainValue: false // isMainValue: false
}, // },
{ // {
key: 'workshopCode', // key: 'workshopCode',
value: 'workshopCode', // value: 'workshopCode',
message: '请选择车间信息!', // message: '请选择车间信息!',
action: '==', // 查询拼接条件 // action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件 // isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 // isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel // isFormModel:true, // filters中添加筛选的数据--取于formModel
required:true, // 前置添加必有,和isFormModel结合使用 // required:true, // 前置添加必有,和isFormModel结合使用
}, // },
{ // {
key: 'productionLineCode', // 查询列表中字段 // key: 'productionLineCode', // 查询列表中字段
value: 'productionLineCode', // 指查询具体值 // value: 'productionLineCode', // 指查询具体值
action: '==', // 查询拼接条件 // action: '==', // 查询拼接条件
isSearch: true, // 使用自定义拼接条件 // isSearch: true, // 使用自定义拼接条件
isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 // isMainValue: false, // 拼接条件必须要 false 同时不能与 isMainValue: true 同用
isFormModel:true, // filters中添加筛选的数据--取于formModel // isFormModel:true, // filters中添加筛选的数据--取于formModel
required:false, // 前置添加必有,和isFormModel结合使用 // required:false, // 前置添加必有,和isFormModel结合使用
}, // },
], // ],
verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法 // verificationPage: WorkstationApi.getWorkstationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true, // isShowTableFormSearch: true,
isRepeat: true,//是否可以重复添加该条数据 // isRepeat: true,//是否可以重复添加该条数据
verificationParams: [{ // verificationParams: [{
key: 'code', // key: 'code',
action: '==', // action: '==',
value: '', // value: '',
isMainValue: false, // isMainValue: false,
isSearch: true, // isSearch: true,
isFormModel: true, // isFormModel: true,
}], // 失去焦点校验参数 // }], // 失去焦点校验参数
}, // },
}, // },
{ // {
label: '来源库位', // label: '来源库位',
field: 'fromLocationCode', // field: 'fromLocationCode',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 150 // width: 150
}, // },
tableForm: { // tableForm: {
disabled: true // disabled: true
}, // },
form: { // form: {
componentProps: { // componentProps: {
disabled: true // disabled: true
} // }
}, // },
isDetail:false, // isDetail:false,
isTable:true, // isTable:true,
isTableForm: true, // isTableForm: true,
isForm: false, // isForm: false,
}, // },
{ // {
label: '目标库位', // label: '目标库位',
field: 'toLocationCode', // field: 'toLocationCode',
sort: 'custom', // sort: 'custom',
table: { // table: {
width: 150 // width: 150
}, // },
tableForm: { // tableForm: {
multiple: true,//多选 // multiple: true,//多选
isInpuFocusShow: true, // 开启查询弹窗 // isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择库位代码', // 输入框占位文本 // searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 // searchField: 'code', // 查询弹窗赋值字段
searchTitle: '库位基础信息', // 查询弹窗标题 // searchTitle: '库位基础信息', // 查询弹窗标题
searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 // searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法 // searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法
searchCondition: [{ // searchCondition: [{
key: 'businessType', // key: 'businessType',
value: 'ReturnToStore', // 生产退料 // value: 'ReturnToStore', // 生产退料
isMainValue: false // isMainValue: false
}, // },
{ // {
key: 'isIn', // key: 'isIn',
value: 'in', // value: 'in',
isMainValue: false // isMainValue: false
} // }
] // ]
}, // },
form: { // form: {
// labelMessage: '信息提示说明!!!', // // labelMessage: '信息提示说明!!!',
componentProps: { // componentProps: {
isSearchList: true, // 开启查询弹窗 // isSearchList: true, // 开启查询弹窗
multiple: true,//多选 // multiple: true,//多选
searchListPlaceholder: '请选择库位代码', // 输入框占位文本 // searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 // searchField: 'code', // 查询弹窗赋值字段
searchTitle: '库位基础信息', // 查询弹窗标题 // searchTitle: '库位基础信息', // 查询弹窗标题
searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 // searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法 // searchPage: LocationApi.selectBusinessTypeOutLocation, // 查询弹窗所需分页方法
searchCondition: [{ // searchCondition: [{
key: 'businessType', // key: 'businessType',
value: 'ReturnToStore', // 生产退料 // value: 'ReturnToStore', // 生产退料
isMainValue: false // isMainValue: false
}, // },
{ // {
key: 'isIn', // key: 'isIn',
value: 'in', // value: 'in',
isMainValue: false // isMainValue: false
}] // }]
} // }
} // }
}, // },
{ {
label: '物料代码', label: '物料代码',
field: 'itemCode', field: 'itemCode',
@ -754,9 +910,15 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
{ {
key: 'locationCode', key: 'locationCode',
value: 'fromLocationCode', value: 'fromLocationCode',
message: '请填写原料库位!', message: '请填写来源库位!',
isMainValue: true isMainValue: true
}, },
{
key: 'toWarehouseCode',
value: 'toWarehouseCode',
message: '请填写到仓库!',
isMainValue: true
},//接口不需要,单纯为了校验填写
{ {
key: 'inventoryStatus', key: 'inventoryStatus',
value: 'OK', value: 'OK',
@ -765,7 +927,9 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
} }
}, },
tableForm:{ tableForm:{
isInpuFocusShow: true, multiple: true,
disabled:true,
// isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段
searchTitle: '库存余额信息', // 查询弹窗标题 searchTitle: '库存余额信息', // 查询弹窗标题
@ -775,9 +939,15 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
{ {
key: 'locationCode', key: 'locationCode',
value: 'fromLocationCode', value: 'fromLocationCode',
message: '请填写原料库位!', message: '请填写来源库位!',
isMainValue: true isMainValue: true
}, },
{
key: 'toWarehouseCode',
value: 'toWarehouseCode',
message: '请填写到仓库!',
isMainValue: true
},//接口不需要,单纯为了校验填写
{ {
key: 'inventoryStatus', key: 'inventoryStatus',
value: 'OK', value: 'OK',
@ -978,15 +1148,7 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
} }
} }
}, },
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{ {
label: '创建者', label: '创建者',
field: 'creator', field: 'creator',
@ -1102,7 +1264,15 @@ export const ProductionreturnRequestDetail = useCrudSchemas(reactive<CrudSchema[
} }
} }
}, },
{
label: '备注',
field: 'remark',
sort: 'custom',
table: {
width: 150
},
hiddenInMain: true,
},
{ {
label: '包装号', label: '包装号',
field: 'packingNumber', field: 'packingNumber',
@ -1180,12 +1350,10 @@ const validateQty = (rule: any, value: any, callback: any,a,b) => {
//表单校验 //表单校验
export const ProductionreturnRequestDetailRules = reactive({ export const ProductionreturnRequestDetailRules = reactive({
workStationCode: [
{ required: true, message: '请选择工位代码', trigger: 'change' } // toLocationCode: [
], // { required: true, message: '请选择目标库位', trigger: 'change' }
toLocationCode: [ // ],
{ required: true, message: '请选择目标库位', trigger: 'change' }
],
productionLineCode: [ productionLineCode: [
{ required: true, message: '请选择生产线代码', trigger: 'change' } { required: true, message: '请选择生产线代码', trigger: 'change' }
], ],

2
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue

@ -101,7 +101,7 @@
<script setup lang="ts"> <script setup lang="ts">
import download from '@/utils/download' import download from '@/utils/download'
import { ProductionreturnRequestMain,ProductionreturnRequestMainRules } from '../productionreturnRequestMain/productionreturnRequestMain.data' import { ProductionreturnRequestMain,ProductionreturnRequestMainRules } from './productionreturnRequestMain.data'
import { ProductionreturnRequestDetail,ProductionreturnRequestDetailRules, ProductionreturnRequestDetailNoLabel, ProductionreturnRequestDetailNoLabelRules,SupplierdeliverRequestPackage } from './productionreturnRequestMainNo.data' import { ProductionreturnRequestDetail,ProductionreturnRequestDetailRules, ProductionreturnRequestDetailNoLabel, ProductionreturnRequestDetailNoLabelRules,SupplierdeliverRequestPackage } from './productionreturnRequestMainNo.data'
import * as ProductionreturnRequestMainNoApi from '@/api/wms/productionreturnRequestMainNo' import * as ProductionreturnRequestMainNoApi from '@/api/wms/productionreturnRequestMainNo'

1527
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMain.data.ts

File diff suppressed because it is too large
Loading…
Cancel
Save