From 55e8efb871bf43cc437d10e24d5fde9929351893 Mon Sep 17 00:00:00 2001
From: wangyufei <2267742828@qq.com>
Date: Fri, 16 Aug 2024 12:10:04 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=88=E9=87=87=E8=B4=AD=E9=80=80?=
=?UTF-8?q?=E8=B4=A7=E7=94=B3=E8=AF=B7=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wms/purchasereturnRequestDetail/index.ts | 4 +
src/components/BasicForm/src/BasicForm.vue | 8 +-
.../purchasereturnRequestMainNew/index.vue | 287 +++++++++++++++---
.../purchasereturnRequestMainNew.data.ts | 60 +---
4 files changed, 270 insertions(+), 89 deletions(-)
diff --git a/src/api/wms/purchasereturnRequestDetail/index.ts b/src/api/wms/purchasereturnRequestDetail/index.ts
index 921b1036f..6634cddde 100644
--- a/src/api/wms/purchasereturnRequestDetail/index.ts
+++ b/src/api/wms/purchasereturnRequestDetail/index.ts
@@ -45,6 +45,10 @@ export const getPurchasereturnSupplierByCode = async (params) => {
export const getPurchasereturnPurchasereceiptRecordByItemCode = async (params) => {
return await request.get({ url: `/wms/purchasereceipt-record-detail/queryPurchasereceiptRecordByItemCode`, params })
}
+// 选完退货库位 渲染子列表数据
+export const getBalancePurchaseReceiptReturn = async (params) => {
+ return await request.get({ url: `/wms/balance/queryBalancePurchaseReceiptReturn`, params })
+}
// 查询采购退货申请子列表
export const getPurchasereturnRequestDetailPageSpare = async (params) => {
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue
index bd0156d2e..431b470fd 100644
--- a/src/components/BasicForm/src/BasicForm.vue
+++ b/src/components/BasicForm/src/BasicForm.vue
@@ -78,7 +78,7 @@
-
+
- 选择收货单明细
+ 选择收货单明细
@@ -124,7 +126,7 @@
@searchTableSuccess="searchTableSuccessLabel"
/>
-
+
{
tableColumns.value = val
}
-
-
-const onChangeForm = (field, cur, formRef)=>{
- console.log('onChangeForm',field, cur, formRef)
- if(field=='supplierCode'){
- //供应商
- PurchasereturnRequestMain.allSchemas.formSchema.forEach(item=>{
- // 物料名称赋值
- if(item.field=='supplierCode'){
- let setV = {}
- setV['supplierName'] = item.componentProps.options?.find(el=>el.supplierCode==cur+'')['supplierName']
- formRef.value.setValues(setV)
- }
- })
- }else if(field == 'locationCode'){
- // 退货库位 获取明细列表
- tableData.value = [{
- 'batch':'20240908',
- 'status':'合格',
- 'inventoryBalance':300,
- 'qty':1,
- 'reason':'200',
- 'remark':'',
- }]
-
- }
-}
const onEnter = async (field, value) => {
console.log(field, value)
-
+ if ('supplierCode' == field) {
+ //供应商代码
+ formRef.value.opensearchTable(
+ 'purchaseReceiptRecordNumber',
+ 'number',
+ '采购收货记录',
+ PurchasereceiptRecordMain1.allSchemas,
+ PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPageReturn,
+ [
+ {
+ key: 'supplierCode',
+ value: 'supplierCode',
+ isMainValue: true
+ }
+ ]
+ )
+ } else if ('purchaseReceiptRecordNumber' == field) {
+ //采购收货记录
+ }
}
// 生成标签
@@ -260,7 +251,6 @@ const searchTableSuccessLabel = (formField, searchField, val, formRef, type, row
}
})
}
-
// 查询页面返回
const searchTableSuccess = async (formField, searchField, val, formRef, type, row) => {
console.log('searchTableSuccess', formField, searchField, val, formRef, type, row)
@@ -281,6 +271,15 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
if(res&&res.length>0){
PurchasereturnRequestMainNew.allSchemas.formSchema.forEach(item=>{
if(item.field == 'supplierCode'){
+ //重置
+ setV['supplierCode'] = ''
+ setV['supplierName'] = ''
+ setV['hahaha'] = ''
+ setV['poNumber'] = ''
+ setV['poLine'] = ''
+ setV['receiptNumber'] = ''
+ setV['asnNumber'] = ''
+ tableData.value = []
item.componentProps.options = res
}
})
@@ -295,8 +294,63 @@ const searchTableSuccess = async (formField, searchField, val, formRef, type, ro
const searchTableSuccessDetail = (formField, searchField, val, formRef) => {
nextTick(() => {
const setV = {}
- setV[formField] = val[0][searchField]
+ if (formField == 'poLine' || formField == 'itemCode') {
+ console.log(val)
+ setV['poLine'] = val[0]['poLine']
+ setV['poNumber'] = val[0]['poNumber']
+ setV['itemCode'] = val[0]['itemCode']
+ setV['itemName'] = val[0]['itemName']
+ setV['itemDesc1'] = val[0]['itemDesc1']
+ setV['itemDesc2'] = val[0]['itemDesc2']
+ setV['batch'] = val[0]['toBatch']
+ setV['altBatch'] = val[0]['altBatch']
+ setV['containerNumber'] = val[0]['toContainerNumber']
+ setV['receiptQty'] = val[0]['qty']
+ setV['qty'] = val[0]['qty']
+ setV['uom'] = val[0]['uom']
+ setV['supplierQty'] = val[0]['supplierQty']
+ setV['supplierUom'] = val[0]['supplierUom']
+ setV['inventoryStatus'] = val[0]['inventoryStatus']
+ // setV['fromLocationCode'] = val[0]['toLocationCode']
+ // setV['toLocationCode'] = val[0]['toLocationCode']
+ setV['fromLocationGroupCode'] = val[0]['locationGroupCode']
+ setV['toLocationGroupCode'] = null
+ setV['toWarehouseCode'] = null
+ setV['toAreaTypes'] = null
+ setV['fromAreaCode'] = val[0]['areaCode']
+ setV['toAreaCode'] = val[0]['toAreaCode']
+ setV['fromQwnerCode'] = val[0]['fromQwnerCode']
+ setV['toOwnerCode'] = val[0]['toOwnerCode']
+ setV['arriveDate'] = val[0]['arriveDate']
+ setV['produceDate'] = val[0]['produceDate']
+ setV['expireDate'] = val[0]['expireDate']
+ setV['convertRate'] = val[0]['convertRate']
+ setV['visualInspectResult'] = val[0]['visualInspectResult']
+ setV['visualInspectPhotos'] = val[0]['visualInspectPhotos']
+ setV['failedReason'] = val[0]['failedReason']
+ setV['singlePrice'] = val[0]['singlePrice']
+ setV['amount'] = val[0]['amount']
+ setV['projectCode'] = val[0]['projectCode']
+ // setV['packingNumber'] = val[0]['packingNumber']
+ // setV['inventoryBalance'] = val[0]['qty']
+ if (formField == 'itemCode') {
+ setV['batch'] = val[0]['toBatch']
+ setV['containerNumber'] = val[0]['toContainerNumber']
+ setV['containerNumber'] = val[0]['containerNumber']
+ setV['containerNumber'] = val[0]['containerNumber']
+ // setV['fromLocationCode'] = val[0]['fromLocationCode']
+ // setV['toLocationCode'] = val[0]['toLocationCode']
+ }
+ } else if (formField == 'packingNumber'){
+ setV[formField] = val[0][searchField]
+ setV['inventoryBalance'] = val[0]['qty']
+ setV['batch'] = val[0]['batch']
+ setV['fromLocationCode'] = val[0]['locationCode']
+ }
+ else {
+ setV[formField] = val[0][searchField]
+ }
formRef.setValues(setV)
})
}
@@ -453,10 +507,37 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const formRef = ref()
const openForm = async (type: string, row?: number) => {
- originTableData.value = [] // 重置明细数据
- tableData.value = [] // 重置明细数据
- isShowButton.value = true
+ isShowButton.value = true
+ if (type == 'create') {
+ originTableData.value = [] // 重置明细数据
+ tableData.value = [] // 重置明细数据
+ PurchasereturnRequestMain.allSchemas.formSchema.forEach((item) => {
+ if (item.field == 'supplierCode') {
+ item.componentProps.disabled = true
+ item.componentProps.isSearchList = true
+ }
+ if (item.field == 'asnNumber') {
+ item.componentProps.disabled = true
+ item.componentProps.isSearchList = true
+ }
+ })
+ }
+ if (type == 'update') {
+ PurchasereturnRequestMain.allSchemas.formSchema.forEach((item) => {
+ if (item.field == 'supplierCode') {
+ item.componentProps.disabled = true
+ item.componentProps.isSearchList = false
+ }
+ if (item.field == 'asnNumber') {
+ item.componentProps.disabled = true
+ item.componentProps.isSearchList = false
+ }
+ })
+ tableData.value = [{
+
+ }]
+ }
formRef.value.open(type, row)
}
@@ -594,7 +675,132 @@ const originTableData = ref([])
const searchTableRef = ref()
// 添加明细
const handleAddTable = () => {
-
+ const subTableDFata = originTableData.value.filter(
+ (item) => !tableData.value.find((item1) => item1.id == item.id)
+ )
+ if (subTableDFata.length == 0) {
+ message.warning('暂无可选择数据!')
+ return
+ }
+
+ const tableObject = {
+ // 当前页
+ currentPage: 1,
+ // 导出加载中
+ exportLoading: false,
+ // 加载中
+ loading: false,
+ // 页数
+ pageSize: subTableDFata.length,
+ params: null,
+ // 排序
+ sort: {
+ order: '', // 排序规则
+ prop: '' // 排序字段
+ },
+ // 总条数
+ total: subTableDFata.length,
+ // 表格数据
+ tableList: subTableDFata,
+ currentRow: null
+ }
+
+ const tableColumns = PurchasereturnRequestDetail.allSchemas.tableFormColumns
+ tableColumns.forEach((item) => {
+ item.width = item.table?.width || 150
+ })
+
+ searchTableRef.value.openData('采购收货记录单号', tableObject, { tableColumns }, true)
+ // searchTableRef.value.open(
+ // ('供应商信息',
+ // // _searchTableAllSchemas,
+ // // _searchTablePage, // 接口
+ // // formField,
+ // // searchField,
+ // true,//是否多选
+ // // type,
+ // // row,
+ // _searchCondition
+ // )
+ // )
+
+ // console.log(subTableDFata)
+ // const {tableObject, tableMethods } = useTable({
+ // getListApi: getPage.value // 分页接口
+ // })
+ // searchTableRef.value.open(
+ // ('供应商信息',
+ // // _searchTableAllSchemas,
+ // // _searchTablePage, // 接口
+ // // formField,
+ // // searchField,
+ // true,//是否多选
+ // // type,
+ // // row,
+ // _searchCondition
+ // )
+ // )
+ // tableData.value.push(JSON.parse(JSON.stringify(tableFormKeys)))
+ // let purchaseReceiptRecordNumber = formRef.value.formRef.formModel.purchaseReceiptRecordNumber
+ // PurchasereturnRequestDetail.allSchemas.tableFormColumns.map((item) => {
+ // item.tableForm.disabled = true
+ // if (item.field == 'remark') {
+ // item.tableForm.disabled = false
+ // }
+ // if (item.field == 'reason') {
+ // item.tableForm.disabled = false
+ // }
+ // if (item.field == 'qty') {
+ // item.tableForm.disabled = false
+ // }
+ // if(purchaseReceiptRecordNumber == ''){
+ // if (item.field == 'itemCode') {
+ // item.tableForm.isInpuFocusShow = true
+ // }
+ // if(item.field == 'poLine'){
+ // item.tableForm.isInpuFocusShow = false
+ // }
+ // }else{
+ // if (item.field == 'itemCode') {
+ // item.tableForm.isInpuFocusShow = false
+ // }
+ // if(item.field == 'poLine'){
+ // item.tableForm.isInpuFocusShow = true
+ // }
+ // }
+ // })
+}
+const onChangeForm = async (field, cur, formRef)=>{
+ console.log('onChangeForm',field, cur, formRef)
+ if(field=='supplierCode'){
+ //供应商
+ PurchasereturnRequestMainNew.allSchemas.formSchema.forEach(item=>{
+ // 物料名称赋值
+ if(item.field=='supplierCode'){
+ let setV = {}
+ setV['supplierName'] = item.componentProps.options?.find(el=>el.supplierCode==cur+'')['supplierName']
+ formRef.value.setValues(setV)
+ }
+ })
+ }else if(field == 'locationCode'){
+ // 退货库位 获取明细列表
+ let subList = await PurchasereturnRequestDetailApi.getBalancePurchaseReceiptReturn({
+ itemCode:formRef.value.formModel.itemCode,
+ fromLocationCode:formRef.value.formModel.locationCode
+ })
+
+ console.log('subList',subList)
+ if(subList&&subList.length>0){
+ tableData.value = subList.map(item=>({
+ 'batch':item['batch'],
+ 'status':item['inventoryStatus'],
+ 'inventoryBalance':item['qty'],
+ 'qty':1,
+ 'reason_type':'',
+ 'reason':''
+ }))
+ }
+ }
}
// 选择收货单明细
const chooseReceiptList = ()=>{
@@ -632,6 +838,7 @@ const searchTableSuccess1 = (formField, searchField, val, type, row) => {
if(formField=='hahaha'){
// 选择收货单明细
const setV = {}
+ setV['hahaha'] = val[0]['asnNumber']
setV['poNumber'] = val[0]['poNumber']
setV['poLine'] = val[0]['poLine']
setV['receiptNumber'] = val[0]['receiptNumber']
diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts
index 4814a83f2..3f0f6fda6 100644
--- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts
+++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMainNew/purchasereturnRequestMainNew.data.ts
@@ -134,7 +134,7 @@ export const PurchasereturnRequestMainNew = useCrudSchemas(
}
},
{
- label: '',
+ label: ' ',
field: 'hahaha',
table: {
width: 180
@@ -228,7 +228,7 @@ export const PurchasereturnRequestMainNew = useCrudSchemas(
{
label: '状态',
field: 'status',
- dictType: DICT_TYPE.REQUEST_STATUS,
+ dictType: DICT_TYPE.INVENTORY_STATUS,
dictClass: 'string',
isSearch: true,
isTable: true,
@@ -323,48 +323,18 @@ export const PurchasereturnRequestMainNew = useCrudSchemas(
)
//表单校验
export const PurchasereturnRequestMainRulesNew = reactive({
- supplierCode: [
+ itemCode: [
{ required: true, message: '请输入供应商代码', trigger: 'blur' }
],
- dueTime: [
- { required: true, message: '请选择截止时间', trigger: 'blur' }
- ],
- // purchaseReceiptRecordNumber: [
- // { required: true, message: '请输入采购收货记录单号', trigger: 'blur' }
- // ],
- carrierCode: [
- { max: 50, message: '不得超过50个字符', trigger: 'blur' },
- ],
- vehiclePlateNumber: [
- { max: 50, message: '不得超过50个字符', trigger: 'blur' },
- ],
- remark: [
- { max: 50, message: '不得超过50个字符', trigger: 'blur' }
- ],
- fromWarehouseCode: [
- { required: true, message: '请输入从仓库代码', trigger: 'blur' }
- ],
- fromAreaTypes: [
- { required: true, message: '请选择从库区类型范围', trigger: 'change' }
- ],
- departmentCode: [
- { required: true, message: '请输入部门', trigger: 'blur' }
- ],
- autoCommit: [
- { required: true, message: '请选择是否自动提交', trigger: 'change' }
- ],
- autoAgree: [
- { required: true, message: '请选择是否自动通过', trigger: 'change' }
- ],
- autoExecute: [
- { required: true, message: '请选择是否自动执行', trigger: 'change' }
- ],
- directCreateRecord: [
- { required: true, message: '请选择是否跳过任务直接生成记录', trigger: 'change' }
+ supplierCode: [
+ { required: true, message: '请输入供应商代码', trigger: 'blur' }
],
- businessType: [
- { required: true, message: '请输入业务类型', trigger: 'blur' }
+ hahaha: [
+ required
],
+ locationCode: [
+ { required: true, message: '请选择收货单明细', trigger: 'blur' }
+ ]
})
export const PurchasereturnPurchasereceiptRecordNew = useCrudSchemas(
@@ -395,9 +365,6 @@ export const PurchasereturnPurchasereceiptRecordNew = useCrudSchemas(
label: '收货单号',
field: 'receiptNumber',
sort: 'custom',
- table: {
- width: 150
- },
tableForm:{
disabled:true
},
@@ -411,9 +378,6 @@ export const PurchasereturnPurchasereceiptRecordNew = useCrudSchemas(
label: '发货单号',
field: 'asnNumber',
sort: 'custom',
- table: {
- width: 150
- },
tableForm:{
disabled:true
},
@@ -579,7 +543,7 @@ export const PurchasereturnRequestDetailNew = useCrudSchemas(reactive