Browse Source

失去焦点

hella_online_20240829
zhang_li 4 months ago
parent
commit
5a144e5fdf
  1. 149
      src/api/wms/business/business.ts
  2. 4
      src/api/wms/location/index.ts
  3. 6
      src/components/TableForm/src/TableForm.vue
  4. 48
      src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts

149
src/api/wms/business/business.ts

@ -384,52 +384,15 @@ export const FormBlur = async (formField, val,routeName,formRef,detailData,formS
}
// 根据下方输入框失去焦点校验信息
export const getListByBottonInput = async (headerItem, val,row,routeName,formRef,detailData,tableData,callback) => {
let pageApi = ref()
export const getListByBottonInput = async (headerItem, val, row, routeName, formRef, detailData, tableData, callback) => {
let tableFormSchemaObj = headerItem?.tableForm
console.log(333,tableFormSchemaObj)
if (tableFormSchemaObj.searchPage && tableFormSchemaObj.verificationParams) {
let params = ref({})
let list = ref([])
let field = 'itemCode'
// scp采购订单
if(!val)return;
if (routeName == 'PurchaseMain') {
pageApi.value = getSupplierItemListByCodes
params.value = {
supplierCode: formRef.formModel.supplierCode,
itemCodes: val?.trim(),
available: true
}
} else if (routeName == 'ProductionMain') {
pageApi.value = getProductionLineCodelistByCodes
params.value = {
productionLineCode: formRef.formModel.productionLine,
itemCodes: val?.trim()
}
} else if (
routeName == 'ZZBJDeliverPlanMain' ||
routeName == 'DeliverPlanMain' ||
routeName == 'DeliverRequestMain' ||
routeName == 'ZZBJDeliverRequestMain'
) {
// 自制备件发货计划,发货计划,成品发货申请,自制备件发货申请
pageApi.value = getCustomerItemListByCodes
params.value = {
customerCode: formRef.formModel.customerCode,
itemCodes: val?.trim()
}
}
// else if (routeName == 'UnplannedissueRequestMain') {
// // 计划外出库
// pageApi.value = getBalanceItemListByCodes
// params.value = {
// packingNumber: val?.trim()
// }
// field = 'packingNumber'
// }
else {
params.value.codes = val?.trim()
pageApi.value = getItemListByCodes
}
console.log(3344)
let searchCondition1 = headerItem.tableForm.searchCondition //获取data.ts参数信息
let verificationParams = headerItem.tableForm.verificationParams //获取data.ts参数信息
// 循环参数设置参数为key:value格式
if (searchCondition1 && searchCondition1.length > 0) {
for (let i = 0; i < searchCondition1.length; i++) {
@ -483,7 +446,7 @@ export const getListByBottonInput = async (headerItem, val,row,routeName,formRef
return
}
}
}else {
} else {
params.value[searchCondition1[i].key] = searchCondition1[i].value
}
} else {
@ -492,9 +455,92 @@ export const getListByBottonInput = async (headerItem, val,row,routeName,formRef
}
}
}
console.log(999, verificationParams)
if (verificationParams && verificationParams.length > 0) {
for (let i = 0; i < verificationParams.length; i++) {
params.value[verificationParams[i].key] = val
}
}
await tableFormSchemaObj.verificationPage(params.value).then(async (res) => {
list.value = res ? res : []
let arr1 = val.split(',').map(item => item.trim())
if (arr1.length != res.length) {
let arr2 = res.map((item) => item[field])
let str = [
...arr1.filter((item) => !arr2.includes(item)),
...arr2.filter((item) => !arr1.includes(item))
].join(',')
message.alert('代码' + str + '没有找到对应数据')
return
} else {
let repeatCode = []
if (tableData.length > 0) {
tableData.forEach((item) => {
const findIndex = arr1.findIndex(valItem => valItem == item[field])
if (findIndex > -1) {
arr1.splice(findIndex, 1)
repeatCode.push(item.itemCode)
}
})
}
if (repeatCode.length > 0) {
message.warning(`${t('ts.代码')}${repeatCode.join(',')}${t('ts.已经存在')}`);
return;
}
callback(list.value)
}
})
return
} else {
let pageApi = ref()
let params = ref({})
let list = ref([])
let field = 'itemCode'
// scp采购订单
if (!val) return;
if (routeName == 'PurchaseMain') {
pageApi.value = getSupplierItemListByCodes
params.value = {
supplierCode: formRef.formModel.supplierCode,
itemCodes: val?.trim(),
available: true
}
} else if (routeName == 'ProductionMain') {
pageApi.value = getProductionLineCodelistByCodes
params.value = {
productionLineCode: formRef.formModel.productionLine,
itemCodes: val?.trim()
}
} else if (
routeName == 'ZZBJDeliverPlanMain' ||
routeName == 'DeliverPlanMain' ||
routeName == 'DeliverRequestMain' ||
routeName == 'ZZBJDeliverRequestMain'
) {
// 自制备件发货计划,发货计划,成品发货申请,自制备件发货申请
pageApi.value = getCustomerItemListByCodes
params.value = {
customerCode: formRef.formModel.customerCode,
itemCodes: val?.trim()
}
}
// else if (routeName == 'UnplannedissueRequestMain') {
// // 计划外出库
// pageApi.value = getBalanceItemListByCodes
// params.value = {
// packingNumber: val?.trim()
// }
// field = 'packingNumber'
// }
else {
params.value.codes = val?.trim()
pageApi.value = getItemListByCodes
}
await pageApi.value(params.value).then(async (res) => {
list.value = res ? res : []
let arr1 = val.split(',').map(item=>item.trim())
let arr1 = val.split(',').map(item => item.trim())
if (arr1.length != res.length) {
let arr2 = res.map((item) => item[field])
let str = [
@ -505,20 +551,23 @@ export const getListByBottonInput = async (headerItem, val,row,routeName,formRef
return
} else {
let repeatCode = []
if(tableData.length > 0){
if (tableData.length > 0) {
tableData.forEach((item) => {
const findIndex = arr1.findIndex(valItem=>valItem==item[field])
if(findIndex > -1){
arr1.splice(findIndex,1)
const findIndex = arr1.findIndex(valItem => valItem == item[field])
if (findIndex > -1) {
arr1.splice(findIndex, 1)
repeatCode.push(item.itemCode)
}
})
}
if(repeatCode.length>0){
if (repeatCode.length > 0) {
message.warning(`${t('ts.代码')}${repeatCode.join(',')}${t('ts.已经存在')}`);
return;
}
callback(list.value)
}
})
}
}

4
src/api/wms/location/index.ts

@ -136,3 +136,7 @@ export const selectConfigToLocation = async (params) => {
return request.get({ url: `/wms/location/pageConfigToLocation`, params })
}
}
// 根据code获取数据列表
export const getLocationByCodes = async (params) => {
return await request.get({ url: `/wms/location/listByCodes`, params })
}

6
src/components/TableForm/src/TableForm.vue

@ -402,6 +402,8 @@
<div
class="p-12px"
v-if="
isShowTableFormSearch||
routeName == 'PurchaseMain' ||
routeName == 'PurchaseMain' ||
routeName == 'ProductionMain' ||
routeName == 'ZZBJDeliverPlanMain' ||
@ -501,6 +503,10 @@ const props = defineProps({
default: ''
}
})
const isShowTableFormSearch = ref(false)
console.log(33333,props.tableFields)
isShowTableFormSearch.value =props.tableFields.some(item=>item.isShowTableFormSearch)
//
const emit = defineEmits([
'tableSelectionChange',

48
src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts

@ -155,7 +155,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
searchCondition: [{
key: 'available',
value: 'TRUE',
},{
}, {
key: 'itemCode',
value: 'itemCode',
message: "请选择物料代码",
@ -195,7 +195,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
searchCondition: [{
key: 'available',
value: 'TRUE',
},{
}, {
key: 'itemCode',
value: 'itemCode',
message: "请选择物料代码",
@ -210,7 +210,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
isFormModel: true,
required: true,
message: '请选择物料代码',
isBlurParams:true,//是否是失去焦点的方法的参数
isBlurParams: true,//是否是失去焦点的方法的参数
}], // 失去焦点校验参数
}
}
@ -304,7 +304,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
enterSearch:true,
enterSearch: true,
isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择库区代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
@ -440,7 +440,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
activeValue: 'TRUE'
}
},
isTable:false
isTable: false
},
{
label: '超过高储是否允许叫料',
@ -456,7 +456,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
activeValue: 'TRUE'
}
},
isTable:false
isTable: false
},
{
label: '优先空库位',
@ -623,7 +623,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
},
table: {
width: 150
} ,
},
form: {
component: 'DatePicker',
componentProps: {
@ -642,7 +642,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
},
table: {
width: 150
} ,
},
form: {
component: 'DatePicker',
componentProps: {
@ -704,7 +704,7 @@ export const Itemarea = useCrudSchemas(reactive<CrudSchema[]>([
sort: 'custom',
table: {
width: 120
} ,
},
},
{
label: '操作',
@ -744,8 +744,8 @@ export const ItemareaDetail = useCrudSchemas(reactive<CrudSchema[]>([
label: '库位代码',
field: 'locationCode',
sort: 'custom',
tableForm:{
multiple:true,//多选
tableForm: {
multiple: true,//多选
isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
@ -756,18 +756,28 @@ export const ItemareaDetail = useCrudSchemas(reactive<CrudSchema[]>([
key: 'available',
value: 'TRUE',
isMainValue: false
},{
}, {
key: 'areaCode',
value: 'areaCode',
message: '请选择区域代码!',
isMainValue: true
}]
}],
verificationParams: [{
key: 'codes',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}],
verificationPage: LocationApi.getLocationByCodes, // 校验数去焦点输入是否正确的方法
isShowTableFormSearch: true, //
},
form: {
// labelMessage: '信息提示说明!!!',
componentProps: {
isSearchList: true, // 开启查询弹窗
multiple:true,//多选
multiple: true,//多选
searchListPlaceholder: '请选择库位代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段
searchTitle: '库位基础信息', // 查询弹窗标题
@ -777,11 +787,19 @@ export const ItemareaDetail = useCrudSchemas(reactive<CrudSchema[]>([
key: 'available',
value: 'TRUE',
isMainValue: false
},{
}, {
key: 'areaCode',
value: 'areaCode',
message: '请选择区域代码!',
isMainValue: true
}],
verificationParams: [{
key: 'code',
action: '==',
value: '',
isMainValue: false,
isSearch: true,
isFormModel: true,
}]
}
}

Loading…
Cancel
Save