Browse Source

供应商代码,物料代码,包装,规格,输入框可以输入

master_hella_20240701
zhang_li 3 months ago
parent
commit
286ce5bf6f
  1. 4
      src/api/wms/balance/index.ts
  2. 530
      src/api/wms/business/business.ts
  3. 5
      src/api/wms/customeritem/index.ts
  4. 5
      src/api/wms/itembasic/index.ts
  5. 4
      src/api/wms/itempackage/index.ts
  6. 5
      src/api/wms/packageunit/index.ts
  7. 5
      src/api/wms/productionlineitem/index.ts
  8. 6
      src/api/wms/supplier/index.ts
  9. 6
      src/api/wms/supplieritem/index.ts
  10. 48
      src/components/BasicForm/src/BasicForm.vue
  11. 10
      src/components/Form/src/Form.vue
  12. 54
      src/components/TableForm/src/TableForm.vue
  13. 1
      src/views/wms/basicDataManage/itemManage/itemwarehouse/itemwarehouse.data.ts
  14. 1
      src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts
  15. 1
      src/views/wms/basicDataManage/systemSetting/supplierUser/supplierUser.data.ts
  16. 12
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts
  17. 2
      src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue
  18. 1
      src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts
  19. 2
      src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
  20. 1
      src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts
  21. 1
      src/views/wms/inventoryjobManage/transferissue/transferissueRequestMain/transferissueRequestMain.data.ts
  22. 1
      src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts
  23. 1
      src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts
  24. 1
      src/views/wms/issueManage/productionreturn/productionreturnRequestMain/productionreturnRequestMain.data.ts
  25. 1
      src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts
  26. 1
      src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts
  27. 2
      src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
  28. 1
      src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts
  29. 1
      src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts
  30. 1
      src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts
  31. 2
      src/views/wms/productionManage/productionplan/productionMain/index.vue
  32. 15
      src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue
  33. 1
      src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts
  34. 17
      src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue
  35. 1
      src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts
  36. 15
      src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue
  37. 1
      src/views/wms/productionManage/productionplan/productionMainPredictSparePart/productionMainPredictSparePart.data.ts
  38. 3
      src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts
  39. 1
      src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts
  40. 2
      src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts
  41. 2
      src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts
  42. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/demandforecastingMain.data.ts
  43. 1
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts
  44. 3
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

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

@ -190,3 +190,7 @@ export const getBalanceByBusinessTypeByItemType = async (params) => {
return await request.get({ url: `/wms/balance/pageBusinessTypeToBalance`, params }) return await request.get({ url: `/wms/balance/pageBusinessTypeToBalance`, params })
} }
} }
// 根据code获取数据列表
export const getBalanceItemListByCodes = async (data) => {
  return await request.get({ url: `/wms/balance/listByCodes?itemCode=` +( data.itemCode?data.itemCode:'') +  '&batch='+(data.batch?data.batch:'')  +  '&locationCode='+(data.locationCode?data.locationCode:'' )  +  '&packingNumber='+(data.packingNumber?data.packingNumber:'') +  '&warehouseCode='+(data.warehouseCode?data.warehouseCode:'')   })
}

530
src/api/wms/business/business.ts

@ -0,0 +1,530 @@
// 获取供应商列表
import { getSupplierListByCodes, importTemplate } from '@/api/wms/supplier'
// 获取物料列表
import { getItemListByCodes } from '@/api/wms/itembasic'
// 获取供应商物料列表
import { getSupplierItemListByCodes } from '@/api/wms/supplieritem'
// 获取生产线物料
import { getProductionLineCodelistByCodes } from '@/api/wms/productionlineitem'
// 获取包装规格
import { getPackageunitListByCodes } from '@/api/wms/packageunit'
// 获取物料包装规格
import { getItemPackageunitListByCodes } from '@/api/wms/itempackage'
// 获取客户物料
import { getCustomerItemListByCodes } from '@/api/wms/customeritem'
// 获取库存余额
import { getBalanceItemListByCodes } from '@/api/wms/balance'
import { isString } from 'min-dash'
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
/**
*
* tableFormBlur
* FormBlur
*/
export const tableFormBlurVer = async (headerItem, val, row, index,routeName,formRef,detailData,tableData,callback) => {
if (
headerItem.field == 'fromPackingNumber' ||
headerItem.field == 'packingNumber' ||
headerItem.field == 'itemCode' ||
headerItem.field == 'packUnit' ||
headerItem.field == 'secondPackUnit' ||
headerItem.field == 'fromPackUnit' ||
headerItem.field == 'toPackUnit'||
headerItem.field == 'toPackUnit'||
headerItem.field == 'supplierItemCode'
) {
let searchField = headerItem.field
let pageApi = ref()
let params = ref()
if (val && isString(val)) {
// const obj = props.tableAllSchemas.tableFormColumns.find((item) => item.field == headerItem.field)
if (val.indexOf(',') > -1) {
message.alert('该输入框只能输入一条数据')
row[headerItem.field] = ''
return
}
// 校验
let params = ref({})
let searchCondition1 = headerItem.tableForm.searchCondition //获取data.ts参数信息
// 循环参数设置参数为key:value格式
if (searchCondition1 && searchCondition1.length > 0) {
for (let i = 0; i < searchCondition1.length; i++) {
if (searchCondition1[i].isMainValue) {
params.value[searchCondition1[i].key] = formRef.formModel[
searchCondition1[i].value
]
? formRef.formModel[searchCondition1[i].value]
: detailData
? detailData[searchCondition1[i].value]
: row
? row[searchCondition1[i].value]
: ''
// 是否含有空参数情况
let isNull = false
if (
params.value[searchCondition1[i].key] == '' ||
params.value[searchCondition1[i].key] == undefined
) {
isNull = true
}
if (isNull) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
row[headerItem.field] = ''
return
}
} else {
// 扩展 转换为筛选条件进行查询
if (searchCondition1[i].isSearch) {
if (searchCondition1[i].isFormModel) {
//用formModel中的值
if (searchCondition1[i].required) {
if (
formRef.formModel[searchCondition1[i].value] == '' ||
formRef.formModel[searchCondition1[i].value] == undefined
) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
row[headerItem.field] = ''
return
}
}
}
} else {
params.value[searchCondition1[i].key] = searchCondition1[i].value
}
}
}
}
params.value[headerItem.field] = val?.trim()
// 判断改包装号是否已经添加
const seen = new Set()
const repeatCode = new Set()
let arr = tableData.map((item) => item[headerItem.field]?.trim())
arr.forEach((item) => {
if (seen.has(item)) {
repeatCode.add(item)
} else {
seen.add(item)
}
})
const arr1 = Array.from(repeatCode)
if (arr1.length > 0) {
message.warning(`${arr1.join(',')}${t('ts.已经存在')}`)
row[headerItem.field] = ''
return
}
if (
headerItem.field == 'fromPackingNumber' ||
headerItem.field == 'packingNumber' ||
headerItem.field == 'itemCode'
) {
// 业务
// 采购退货申请,制品拆解,调拨出库,报废出库申请,合格转隔离,隔离转合格,隔离转报废,合格转报废,报废转隔离,库存移动申请,库存修改申请
if (
routeName == 'PurchasereturnRequestMain' ||
routeName == 'ProductdismantleRequestMain' ||
routeName == 'TransferissueRequestMain' ||
routeName == 'ScrapRequestMain' ||
routeName == 'OktoholdRequestMain' ||
routeName == 'HoldtookRequestMain' ||
routeName == 'HoldtoscrapRequestMain' ||
routeName == 'OktoscrapRequestMain' ||
routeName == 'ScraptoholdRequestMain' ||
routeName == 'InventorymoveRequestMain' ||
routeName == 'InventorychangeRequestMain'
) {
//合格转隔离,隔离转合格,隔离转报废,合格转报废,报废转隔离,库存移动申请参数稍有不同
if (
routeName == 'OktoholdRequestMain' ||
routeName == 'HoldtookRequestMain' ||
routeName == 'HoldtoscrapRequestMain' ||
routeName == 'OktoscrapRequestMain' ||
routeName == 'ScraptoholdRequestMain' ||
routeName == 'InventorymoveRequestMain' ||
routeName == 'InventorychangeRequestMain'
) {
searchField = 'packingNumber'
params.value.packingNumber = val?.trim()
}
pageApi.value = getBalanceItemListByCodes
} else if (
routeName == 'RepleinshRequestMain' ||
routeName == 'IssueRequestMain' ||
routeName == 'InventoryinitRequestMain'
) {
// 补料申请业务
pageApi.value = getItemListByCodes
searchField = 'code'
params.value.codes = val?.trim()
} else if (
routeName == 'ProductionMainAssemble' ||
routeName == 'ProductionMainASparePart' ||
routeName == 'ProductionMainPredictSparePart' ||
routeName == 'ProductreceiptRequestMain' ||
routeName == 'ProductreceiptRequestMainA' ||
routeName == 'ProductreceiptscrapRequestMain' ||
routeName == 'ProductscrapRequestMain'
) {
// 装配计划,裝配备件计划,预备产件计划,预生产收货申请,装配收货申请,报修收货申请,制品报废申请
pageApi.value = getProductionLineCodelistByCodes
params.value.productionLineCode=
formRef.formModel.productionLine || formRef.formModel.productionLineCode || row.productionLine || row.productionLineCode,
params.value.itemCodes=val?.trim()
}
} else if (
headerItem.field == 'packUnit' ||
headerItem.field == 'secondPackUnit' ||
headerItem.field == 'fromPackUnit' ||
headerItem.field == 'toPackUnit'
) {
searchField = 'packUnit'
//包装规格
// 预生产收货申请,装配收货申请,报修收货申请,客户退货申请,计划外入库,计划外出库,翻包申请
if (
routeName == 'ProductreceiptRequestMain' ||
routeName == 'ProductreceiptRequestMainA' ||
routeName == 'ProductreceiptscrapRequestMain' ||
routeName == 'CustomerreturnRequestMain' ||
routeName == 'UnplannedreceiptRequestMain' ||
routeName == 'UnplannedissueJobMain' ||
routeName == 'PackageoverRequestMain'
) {
params.value.itemCode= row.itemCode
params.value.packUnit= val?.trim()
pageApi.value = getItemPackageunitListByCodes
}
} else if (
headerItem.field == 'supplierItemCode'
) {
// 生产退料申请,隔离退料申请
if (
routeName == 'ProductionreturnRequestMain' ||
routeName == 'ProductionreturnRequestMainNo'
) {
searchField = 'supplierCode'
params.value.itemCodes= row.itemCode
params.value.supplierCode= val?.trim()
pageApi.value = getSupplierItemListByCodes
}
}
const list = ref()
// 调取包装接口
await pageApi.value(params.value).then(async (res) => {
list.value = res ? res : []
// 只查一条数据,多条数据查询默认显示不存在
if (res.length == 1) {
callback(searchField,list.value)
} else {
message.alert('代码' + row[headerItem.field] + '没有找到对应数据')
row[headerItem.field] = ''
return
}
})
}
}
}
export const FormBlur = async (formField, val,routeName,formRef,detailData,formSchema,callback) => {
let pageApi = ref()
let params = ref()
console.log(1111,val)
let setV = {}
setV[formField] = ''
if (val && isString(val)) {
if (
formField == 'supplierCode' ||
formField == 'itemCode' ||
formField == 'productItemCode' ||
formField == 'componentItemCode' ||
formField == 'packUnit' ||
formField == 'inPackUnit' ||
formField == 'fromPackingNumber'
) {
let searchField = 'code'
if (formField == 'supplierCode') {
params.value = val?.trim()
pageApi.value = getSupplierListByCodes
} else if (
formField == 'itemCode' ||
formField == 'productItemCode' ||
formField == 'componentItemCode'
) {
// 销售价格单
if (routeName == 'Saleprice') {
console.log(22222,formRef.formModel.customerCode)
params.value = {
customerCode: formRef.formModel.customerCode,
itemCodes: val?.trim()
}
pageApi.value = getCustomerItemListByCodes
searchField = 'itemCode'
}else if (routeName == 'ProductscrapRequestMain') {
// 制品报废申请
params.value = {
productionLineCode:
detailData.productionLine || detailData.productionLineCode,
itemCodes: val?.trim()
}
pageApi.value = getProductionLineCodelistByCodes
searchField = 'itemCode'
}else {
// params.value = val.trim()
searchField = 'code'
params.value={
codes:val?.trim()
}
pageApi.value = getItemListByCodes
}
} else if (formField == 'packUnit') {
if(routeName == 'Itemwarehouse'||routeName == 'Callmaterials'){//物料仓库默认配置,叫料标签
searchField = 'packUnit'
params.value = {
itemCode: formRef.formModel.itemCode,
packUnit: val?.trim()
}
pageApi.value = getItemPackageunitListByCodes
}else{
params.value = val?.trim()
pageApi.value = getPackageunitListByCodes
}
} else if (formField == 'inPackUnit') {
params.value = {
itemCode: formRef.formModel.itemCode,
packUnit: val.trim()
}
pageApi.value = getItemPackageunitListByCodes
} else if (formField == 'fromPackingNumber') {
params.value = {
packingNumber: val?.trim()
}
pageApi.value = getBalanceItemListByCodes
}
let obj = {}
let searchCondition1 = formSchema.find((item) => item.field == formField).componentProps
.searchCondition //获取data.ts参数信息
// 循环参数设置参数为key:value格式
if (searchCondition1 && searchCondition1.length > 0) {
for (let i = 0; i < searchCondition1.length; i++) {
if (searchCondition1[i].isMainValue) {
obj[searchCondition1[i].key] = formRef.formModel[searchCondition1[i].value]
? formRef.formModel[searchCondition1[i].value]
: detailData
? detailData[searchCondition1[i].value]
: ''
// 是否含有空参数情况
let isNull = false
if (obj[searchCondition1[i].key] == '' || obj[searchCondition1[i].key] == undefined) {
isNull = true
}
if (isNull) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
return
}
} else {
// 扩展 转换为筛选条件进行查询
if (searchCondition1[i].isSearch) {
if (searchCondition1[i].isFormModel) {
//用formModel中的值
if (searchCondition1[i].required) {
if (
formRef.formModel[searchCondition1[i].value] == '' ||
formRef.formModel[searchCondition1[i].value] == undefined
) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
return
}
}
}
} else {
obj[searchCondition1[i].key] = searchCondition1[i].value
}
}
}
}
let obj1 = formSchema.find((item) => item.field == formField)
if (!obj1.componentProps.multiple && val.indexOf(',') > -1) {
message.alert('该输入框只能输入一条数据')
formRef.setValues(setV)
return
}
await pageApi.value(params.value).then((res) => {
let arr1 = val.split(',')
let list = ref([])
list.value = res
if (list.value?.length == 0) {
message.alert('暂无数据')
formRef.setValues(setV)
return
}
if (arr1.length != list.value.length) {
let arr2 = list.value.map((item) => item.code)
let str = [
...arr1.filter((item) => !arr2.includes(item)),
...arr2.filter((item) => !arr1.includes(item))
].join(',')
message.alert('代码' + str + '没有找到对应数据')
formRef.setValues(setV)
return
}
console.log(23232323)
// emit('searchTableSuccess', formField, searchField, list.value, formRef.value, 'form')
callback(searchField,list.value)
})
}
}
}
// 根据下方输入框失去焦点校验信息
export const getListByBottonInput = async (headerItem, val,row,routeName,formRef,detailData,tableData,callback) => {
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
}
let searchCondition1 = headerItem.tableForm.searchCondition //获取data.ts参数信息
console.log(98888,searchCondition1)
// 循环参数设置参数为key:value格式
if (searchCondition1 && searchCondition1.length > 0) {
for (let i = 0; i < searchCondition1.length; i++) {
if (searchCondition1[i].isMainValue) {
params.value[searchCondition1[i].key] = formRef.formModel[
searchCondition1[i].value
]
? formRef.formModel[searchCondition1[i].value]
: detailData
? detailData[searchCondition1[i].value]
: ''
// 是否含有空参数情况
let isNull = false
if (
params.value[searchCondition1[i].key] == '' ||
params.value[searchCondition1[i].key] == undefined
) {
isNull = true
}
if (isNull) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
return
}
} else if (searchCondition1[i].isTableRowValue) {
if (searchCondition1[i].required) {
if (row[searchCondition1[i].value] == '' || row[searchCondition1[i].value] == undefined) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
return
}
}
row[searchCondition1[i].value]
//查询当前table表数据的值
params.value[searchCondition1[i].key] = row[searchCondition1[i].value]
} else {
// 扩展 转换为筛选条件进行查询
if (searchCondition1[i].isSearch) {
if (searchCondition1[i].isFormModel) {
//用formModel中的值
if (searchCondition1[i].required) {
if (
formRef.formModel[searchCondition1[i].value] == '' ||
formRef.formModel[searchCondition1[i].value] == undefined
) {
message.warning(
searchCondition1[i].message ? searchCondition1[i].message : '前置条件未选择!'
)
return
}
}
}else {
params.value[searchCondition1[i].key] = searchCondition1[i].value
}
} else {
params.value[searchCondition1[i].key] = searchCondition1[i].value
}
}
}
}
console.log(788,params.value)
await pageApi.value(params.value).then(async (res) => {
list.value = res ? res : []
let arr1 = val.split(',').map(item=>item.trim())
console.log(res)
console.log(arr1)
if (arr1.length != res.length) {
let arr2 = res.map((item) => item[field])
console.log(arr2)
let str = [
...arr1.filter((item) => !arr2.includes(item)),
...arr2.filter((item) => !arr1.includes(item))
].join(',')
console.log(str)
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)
}
})
}

5
src/api/wms/customeritem/index.ts

@ -73,3 +73,8 @@ export const getPageBusinessTypeToItemCode = async (params) => {
return await request.get({ url: `/wms/customeritem/pageBusinessTypeToItemCode`, params }) return await request.get({ url: `/wms/customeritem/pageBusinessTypeToItemCode`, params })
} }
} }
// 根据code获取数据列表
export const getCustomerItemListByCodes = async (data) => {
return await request.get({ url: `/wms/customeritem/listByCodes?itemCodes=` + data.itemCodes + '&customerCode='+data.customerCode + '&businessType='+(data.businessType?data.businessType:'') })
}

5
src/api/wms/itembasic/index.ts

@ -114,3 +114,8 @@ export const selectConfigToItembasic = async (params) => {
export const getQueryItemCodeInfo = async (data) => { export const getQueryItemCodeInfo = async (data) => {
return await request.post({ url: 'wms/itembasic/queryItemCodeInfo', data }) return await request.post({ url: 'wms/itembasic/queryItemCodeInfo', data })
} }
// 根据code获取数据列表
export const getItemListByCodes = async (params) => {
return await request.get({ url: `/wms/itembasic/listByCodes`,params})
}

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

@ -86,3 +86,7 @@ export const exportItempackaging = async (params) => {
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/itempackage/get-import-template' }) return request.download({ url: '/wms/itempackage/get-import-template' })
} }
// 根据code获取数据列表
export const getItemPackageunitListByCodes = async (data) => {
return await request.get({ url: `/wms/itempackage/listByCodes?itemCode=` + data.itemCode + '&packUnit='+data.packUnit})
}

5
src/api/wms/packageunit/index.ts

@ -69,3 +69,8 @@ export const exportPackageunit = async (params) => {
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/packageunit/get-import-template' }) return request.download({ url: '/wms/packageunit/get-import-template' })
} }
// 根据code获取数据列表
export const getPackageunitListByCodes = async (codes: string) => {
return await request.get({ url: `/wms/packageunit/listByCodes?codes=` + codes })
}

5
src/api/wms/productionlineitem/index.ts

@ -67,3 +67,8 @@ export const exportProductionlineitem = async (params) => {
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/productionlineitem/get-import-template' }) return request.download({ url: '/wms/productionlineitem/get-import-template' })
} }
export const getProductionLineCodelistByCodes = (data) => {
return request.get({ url: `/wms/productionlineitem/listByCodes?productionLineCode=`+data.productionLineCode +'&itemCodes='+data.itemCodes})
}

6
src/api/wms/supplier/index.ts

@ -93,3 +93,9 @@ export const exportSupplierSCP = async (params) => {
export const importTemplate = () => { export const importTemplate = () => {
return request.download({ url: '/wms/supplier/get-import-template' }) return request.download({ url: '/wms/supplier/get-import-template' })
} }
// 根据code获取数据列表
export const getSupplierListByCodes = async (codes: string) => {
return await request.get({ url: `/wms/supplier/listByCodes?codes=` + codes })
}

6
src/api/wms/supplieritem/index.ts

@ -100,3 +100,9 @@ export const selectItembasicTypeToSupplieritem = async (params) => {
export const getDefaultLocationCode = async(data: SupplieritemVO)=> { export const getDefaultLocationCode = async(data: SupplieritemVO)=> {
return await request.post({ url: `/wms/supplieritem/getDefaultLocationCode`, data }) return await request.post({ url: `/wms/supplieritem/getDefaultLocationCode`, data })
} }
// 根据code获取数据列表
export const getSupplierItemListByCodes = async (data) => {
return await request.get({ url: `/wms/supplieritem/listByCodes?supplierCode=`+data.supplierCode +'&itemCodes='+data.itemCodes })
}

48
src/components/BasicForm/src/BasicForm.vue

@ -99,6 +99,8 @@
@tableFormSelectOnBlur="tableFormSelectOnBlur" @tableFormSelectOnBlur="tableFormSelectOnBlur"
@formFormDateChange="formFormDateChange" @formFormDateChange="formFormDateChange"
@clearInput='clearInput' @clearInput='clearInput'
@batchAdd="batchAdd"
:routeName="routeName"
> >
<template v-slot="{row}"> <template v-slot="{row}">
<slot :row="row"></slot> <slot :row="row"></slot>
@ -132,9 +134,8 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import ButtonBase from '@/components/XButton/src/ButtonBase.vue' import ButtonBase from '@/components/XButton/src/ButtonBase.vue'
import TableForm from '@/components/TableForm/src/TableForm.vue' import TableForm from '@/components/TableForm/src/TableForm.vue'
import TableFormCountPlan from '@/components/TableFormCountPlan/src/TableFormCountPlan.vue' import TableFormCountPlan from '@/components/TableFormCountPlan/src/TableFormCountPlan.vue'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { debounce } from 'lodash-es'
import { tableFormBlurVer,FormBlur,getListByBottonInput } from '@/api/wms/business/business'
const props = defineProps({ const props = defineProps({
// //
basicFormWidth: { basicFormWidth: {
@ -338,7 +339,11 @@ const formRef = ref() // 表单 Ref
const formSchema = ref(props.formAllSchemas?.formSchema) const formSchema = ref(props.formAllSchemas?.formSchema)
const tableAllSchemas = ref(props.tableAllSchemas) const tableAllSchemas = ref(props.tableAllSchemas)
const tableFormRules = ref(props.tableFormRules) const tableFormRules = ref(props.tableFormRules)
console.log(111,formSchema) const route = useRoute() //
const routeName = ref('')
routeName.value = route.name
const isExecute = ref(true)//true
console.log(44332322, routeName.value)
// - // -
// const buttondata = [ // const buttondata = [
@ -760,9 +765,40 @@ const onChange = (field, cur) => {
* @param field 当前操作字段 * @param field 当前操作字段
* @param e * @param e
*/ */
const onBlur = (field, e) => { const onBlur = async (field, e) => {
isExecute.value = false
await FormBlur(field, e,routeName.value,formRef.value,props.detailData,formSchema.value,(searchField, list)=>{
emit('searchTableSuccess', field, searchField, list, formRef.value, 'form')
})
isExecute.value = true
emit('onBlur', field, e) emit('onBlur', field, e)
} }
//
const batchAdd = async (val) => {
const row = {}
tableAllSchemas.value.tableFormColumns.forEach((item) => {
row[item.field] = item.default ? item.default : ''
})
const headerItem = tableAllSchemas.value.tableColumns.find((item) => item.field == props.fieldTableColumn)
await getListByBottonInput(headerItem, val,row,routeName.value,formRef.value,props.detailData,props.tableData,(list)=>{
emit('searchTableSuccess',headerItem.field,'itemCode',list, formRef.value,'tableForm',row)
})
}
const inputStringBlur = async (headerItem, val, row, index) => {
// isExecute.value = false
await tableFormBlurVer(headerItem,val,row,index,routeName.value,formRef.value,props.detailData,props.tableData,(searchField, list)=>{
emit('searchTableSuccess',headerItem.field,searchField,list, formRef.value,'tableForm',row,'blur',index)
})
// isExecute.value = true
}
/** /**
* 回车事件 * 回车事件
* @param field 当前操作字段 * @param field 当前操作字段
@ -791,9 +827,7 @@ const buttonOperationClick = (row, label, index)=> {
emit("buttonOperationClick", row, label, index); emit("buttonOperationClick", row, label, index);
} }
const inputStringBlur = (headerItem, row, index)=> {
emit("inputStringBlur", headerItem, row, index);
}
defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handleAddTable,changeDialogWidth}) // open defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handleAddTable,changeDialogWidth}) // open
</script> </script>

10
src/components/Form/src/Form.vue

@ -269,7 +269,10 @@ export default defineComponent({
// //
emit('onEnter',item.field,formModel.value[item.field],event) emit('onEnter',item.field,formModel.value[item.field],event)
} }
}} v-slots={{ }}
onBlur={(e)=>{onBlur(item.field, e)}}
v-slots={{
suffix: () => ( suffix: () => (
<ElButton type="text" icon={CircleClose} style="color:var(--el-button-text-color)" onClick={()=>{ <ElButton type="text" icon={CircleClose} style="color:var(--el-button-text-color)" onClick={()=>{
if(Array.isArray(formModel.value[item.field])){ if(Array.isArray(formModel.value[item.field])){
@ -318,7 +321,10 @@ export default defineComponent({
// //
emit('onEnter',item.field,formModel.value[item.field],event) emit('onEnter',item.field,formModel.value[item.field],event)
} }
}} disabled={item?.componentProps?.enterSearch?false:true} v-slots={{ }}
onBlur={(e)=>{onBlur(item.field,formModel.value[item.field])}}
disabled={item?.componentProps?.enterSearch?false:true} v-slots={{
suffix: () => ( suffix: () => (
<ElButton type="text" icon={CircleClose} style="color:var(--el-button-text-color)" onClick={()=>{ <ElButton type="text" icon={CircleClose} style="color:var(--el-button-text-color)" onClick={()=>{
if(Array.isArray(formModel.value[item.field])){ if(Array.isArray(formModel.value[item.field])){

54
src/components/TableForm/src/TableForm.vue

@ -66,9 +66,9 @@
clearable clearable
:type="headerItem?.tableForm?.inputType" :type="headerItem?.tableForm?.inputType"
:placeholder="t(`ts.${headerItem?.tableForm?.placeholder || '请输入' + headerItem.label}`).replace('ts.','')" :placeholder="t(`ts.${headerItem?.tableForm?.placeholder || '请输入' + headerItem.label}`).replace('ts.','')"
:disabled="headerItem?.tableForm?.disabled ? true: headerItem?.tableForm?.isInpuFocusShow ? true : false" :disabled="disabledInput(headerItem)"
style="flex:1" style="flex:1"
@blur="inputStringBlur(headerItem.field, row[headerItem.field], row)" @blur="inputStringBlur(headerItem, row[headerItem.field], row,index)"
/> />
<Icon icon="ep:circle-close" v-if="headerItem?.tableForm?.isInpuFocusShow && headerItem?.tableForm?.disabled&& headerItem?.tableForm?.clearable" style='position:absolute;right:50px;cursor: pointer;' @click="clearInput(headerItem.field,row,index)"/> <Icon icon="ep:circle-close" v-if="headerItem?.tableForm?.isInpuFocusShow && headerItem?.tableForm?.disabled&& headerItem?.tableForm?.clearable" style='position:absolute;right:50px;cursor: pointer;' @click="clearInput(headerItem.field,row,index)"/>
<el-button :key="headerItem.field+$index+'button'" v-if="headerItem?.tableForm?.isInpuFocusShow" @click="inpuFocus(headerItem,row,index)"><Icon icon="ep:search" size="14"/></el-button> <el-button :key="headerItem.field+$index+'button'" v-if="headerItem?.tableForm?.isInpuFocusShow" @click="inpuFocus(headerItem,row,index)"><Icon icon="ep:search" size="14"/></el-button>
@ -333,6 +333,10 @@
<Icon icon="ep:delete" color="#409eff" size="26" style="cursor: pointer;" /> <Icon icon="ep:delete" color="#409eff" size="26" style="cursor: pointer;" />
<div>{{t('ts.批量删除')}}</div> <div>{{t('ts.批量删除')}}</div>
</div> </div>
<div class="p-12px" v-if="routeName == 'PurchaseMain'||routeName == 'ProductionMain'||routeName == 'ZZBJDeliverPlanMain'||routeName == 'DeliverPlanMain'||routeName == 'DeliverRequestMain'||routeName == 'ZZBJDeliverRequestMain'||routeName == 'UnplannedissueRequestMain'||routeName == 'UnplannedreceiptRequestMain'">
<el-input v-model="keyWord" style="width: 240px" placeholder="回车自动添加"/>
<el-button type="primary" style="margin-left: 10px" @click="batchAdd">{{t('批量添加')}}</el-button>
</div>
</div> </div>
</div> </div>
</template> </template>
@ -408,7 +412,13 @@ const props = defineProps({
tableFormRules: { tableFormRules: {
type: Object, type: Object,
default: null default: null
} },
//
routeName: {
type: String,
required: false,
default: ''
},
}) })
// //
const emit = defineEmits([ const emit = defineEmits([
@ -426,7 +436,8 @@ const emit = defineEmits([
'inputStringBlur', 'inputStringBlur',
'tableFormSelectOnBlur', 'tableFormSelectOnBlur',
'formFormDateChange', 'formFormDateChange',
'clearInput' 'clearInput',
'batchAdd'
]) ])
// | type = radio | type = select // | type = radio | type = select
const initSelectOptions = (item) => { const initSelectOptions = (item) => {
@ -528,8 +539,8 @@ const inpuFocus = (headerItem, row, index)=>{
} }
// input // input
const inputStringBlur = (field, val,row) => { const inputStringBlur = (headerItem, val,row,index) => {
emit('inputStringBlur', field, val,row) emit('inputStringBlur', headerItem, val,row,index)
} }
const clearInput= (field, row, index) => { const clearInput= (field, row, index) => {
emit('clearInput',field, row, index) emit('clearInput',field, row, index)
@ -548,10 +559,39 @@ const showTableData = ()=>{
return props.tableData return props.tableData
} }
} }
const keyWord = ref('')
console.log(9999,props.tableFields)
const batchAdd = ()=>{
console.log(keyWord.value)
let field = ''
const itemCodeFields = props.tableFields.find(item=>item.field == 'itemCode')
const supplierFields = props.tableFields.find(item=>item.field == 'supplierCode')
if(itemCodeFields){
field = itemCodeFields.field
}else {
if(itemCodeFields){
field = supplierFields.field
}
}
console.log(field)
emit('batchAdd',keyWord.value)
}
const disabledInput=(headerItem)=>{
if(headerItem.tableForm?.isInpuFocusShow){
if(headerItem.tableForm?.enterSearch){
return false
}else{
return true
}
}else{
return headerItem?.tableForm?.disabled || true
}
}
// setup // setup
defineExpose({ defineExpose({
TableBaseComponents_Ref, TableBaseComponents_Ref,
validateForm validateForm,
keyWord
}) })
</script> </script>

1
src/views/wms/basicDataManage/itemManage/itemwarehouse/itemwarehouse.data.ts

@ -86,6 +86,7 @@ export const Itemwarehouse = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料包装代码', // 输入框占位文本 searchListPlaceholder: '请选择物料包装代码', // 输入框占位文本
searchField: 'packUnit', // 查询弹窗赋值字段 searchField: 'packUnit', // 查询弹窗赋值字段

1
src/views/wms/basicDataManage/labelManage/callmaterials/callmaterials.data.ts

@ -78,6 +78,7 @@ export const Callmaterials = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearch:true, isSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本 searchListPlaceholder: '请选择包装规格', // 输入框占位文本

1
src/views/wms/basicDataManage/systemSetting/supplierUser/supplierUser.data.ts

@ -125,6 +125,7 @@ export const SupplierUser = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, isSearchList: true,
searchListPlaceholder: '请选供应商信息', searchListPlaceholder: '请选供应商信息',
searchField: 'code', searchField: 'code',

12
src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts

@ -1290,8 +1290,8 @@ export const CustomerReturnRequestDetailLabel = useCrudSchemas(reactive<CrudSche
} }
}, },
{ {
label: '包装数量', label: '包装规格',
field: 'packQty', field: 'packUnit',
sort: 'custom', sort: 'custom',
table: { table: {
width: 150 width: 150
@ -1322,6 +1322,7 @@ export const CustomerReturnRequestDetailLabel = useCrudSchemas(reactive<CrudSche
} }
}, },
tableForm: { tableForm: {
enterSearch:true,
disabled: true, disabled: true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装', searchListPlaceholder: '请选择包装',
@ -1346,16 +1347,13 @@ export const CustomerReturnRequestDetailLabel = useCrudSchemas(reactive<CrudSche
isForm: true isForm: true
}, },
{ {
label: '包装规格', label: '包装数量',
field: 'packUnit', field: 'packQty',
dictClass: 'string', dictClass: 'string',
isTable: true, isTable: true,
sort: 'custom', sort: 'custom',
table: { table: {
width: 150, width: 150,
componentProps: {
disabled: true
}
}, },
tableForm:{ tableForm:{
disabled:true disabled:true

2
src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/index.vue

@ -189,7 +189,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
row['fromLocationCode'] = val[0]['locationCode'] row['fromLocationCode'] = val[0]['locationCode']
row['itemCode'] = val[0]['itemCode'] row['itemCode'] = val[0]['itemCode']
row['uom'] = val[0]['uom'] row['uom'] = val[0]['uom']
}else if(formField == 'packQty'){ }else if(formField == 'packUnit'){
row['packUnit'] = val[0]['packUnit'] row['packUnit'] = val[0]['packUnit']
row['packQty'] = val[0]['packQty'] row['packQty'] = val[0]['packQty']
}else if(formField == 'toLocationCode') { }else if(formField == 'toLocationCode') {

1
src/views/wms/inventoryjobManage/inventoryinitial/inventoryinitRequestMain/inventoryinitRequestMain.data.ts

@ -394,6 +394,7 @@ export const InventoryinitRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'code', searchField: 'code',

2
src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts

@ -561,6 +561,7 @@ export const PackageoverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 120 width: 120
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本 searchListPlaceholder: '请选择包装规格', // 输入框占位文本
@ -609,6 +610,7 @@ export const PackageoverRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 120 width: 120
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装规格', // 输入框占位文本 searchListPlaceholder: '请选择包装规格', // 输入框占位文本

1
src/views/wms/inventoryjobManage/scrap/scrapRequestMain/scrapRequestMain.data.ts

@ -480,6 +480,7 @@ export const ScrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装号', searchListPlaceholder: '请选择包装号',
searchField: 'packingNumber', searchField: 'packingNumber',

1
src/views/wms/inventoryjobManage/transferissue/transferissueRequestMain/transferissueRequestMain.data.ts

@ -619,6 +619,7 @@ export const TransferissueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择包装号', searchListPlaceholder: '请选择包装号',
searchField: 'packingNumber', searchField: 'packingNumber',

1
src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts

@ -1495,6 +1495,7 @@ export const UnplannedreceiptRequestDetailLabel = useCrudSchemas(reactive<CrudSc
} }
}, },
tableForm: { tableForm: {
enterSearch:true,
disabled: true, disabled: true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装', searchListPlaceholder: '请选择包装',

1
src/views/wms/issueManage/issue/issueRequestMain/issueRequestMain.data.ts

@ -763,6 +763,7 @@ export const IssueRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
sortSearchDefault:2, sortSearchDefault:2,
sortTableDefault:3, sortTableDefault:3,
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本

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

@ -1130,6 +1130,7 @@ export const ProductionreturnRequestDetailLabel = useCrudSchemas(reactive<CrudSc
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'supplierCode', // 查询弹窗赋值字段 searchField: 'supplierCode', // 查询弹窗赋值字段

1
src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/productionreturnRequestMainNo.data.ts

@ -616,6 +616,7 @@ export const ProductionreturnRequestDetailNoLabel = useCrudSchemas(reactive<Crud
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'supplierCode', // 查询弹窗赋值字段 searchField: 'supplierCode', // 查询弹窗赋值字段

1
src/views/wms/issueManage/repleinsh/repleinshRequestMain/repleinshRequestMain.data.ts

@ -606,6 +606,7 @@ export const RepleinshRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段

2
src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts

@ -383,6 +383,7 @@ export const InventorychangeRequestDetail = useCrudSchemas(reactive<CrudSchema[]
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择从包装号', searchListPlaceholder: '请选择从包装号',
searchField: 'packingNumber', searchField: 'packingNumber',
@ -400,6 +401,7 @@ export const InventorychangeRequestDetail = useCrudSchemas(reactive<CrudSchema[]
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择从包装号', searchListPlaceholder: '请选择从包装号',
searchField: 'packingNumber', searchField: 'packingNumber',

1
src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/inventorymoveRequestMain.data.ts

@ -545,6 +545,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>(
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, // 开启查询弹窗 isInpuFocusShow: true, // 开启查询弹窗
searchListPlaceholder: '请选择从包装号', searchListPlaceholder: '请选择从包装号',
searchField: 'packingNumber', searchField: 'packingNumber',

1
src/views/wms/productionManage/processproduction/processproductionRequest/processproductionRequestMain.data.ts

@ -53,6 +53,7 @@ export const ProcessproductionRequestMain = useCrudSchemas(reactive<CrudSchema[]
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段

1
src/views/wms/productionManage/productdismantle/productdismantleRequestMain/productdismantleRequestMain.data.ts

@ -605,6 +605,7 @@ export const ProductdismantleRequestDetaila = useCrudSchemas(reactive<CrudSchema
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装号', searchListPlaceholder: '请选择包装号',
searchField: 'packingNumber', searchField: 'packingNumber',

2
src/views/wms/productionManage/productionplan/productionMain/index.vue

@ -118,7 +118,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
// console.log(err); // console.log(err);
// }) // })
if(formField=='itemCode'){ if(formField=='itemCode'){
row[formField] = val[0][searchField] // row[formField] = val[0][searchField]
val.forEach(item=>{ val.forEach(item=>{
if(tableData.value.find(item1=>item1['id'] == item['id'])) return if(tableData.value.find(item1=>item1['id'] == item['id'])) return
const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item})) const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item}))

15
src/views/wms/productionManage/productionplan/productionMainAssemble/index.vue

@ -107,14 +107,15 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
nextTick(async() => { nextTick(async() => {
if (type == 'tableForm') { if (type == 'tableForm') {
// //
await ItemBasicApi.getItembasicPage({ // await ItemBasicApi.getItembasicPage({
code: row['itemCode'] // code: row['itemCode']
}).then(res => { // }).then(res => {
row['uom'] = res?.list[0].uom // row['uom'] = res?.list[0].uom
}).catch(err =>{ // }).catch(err =>{
console.log(err); // console.log(err);
}) // })
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
row['uom'] = val[0]['uom']
} else { } else {
const setV = {} const setV = {}
if(formField == 'workshop'){ if(formField == 'workshop'){

1
src/views/wms/productionManage/productionplan/productionMainAssemble/productionMainAssemble.data.ts

@ -626,6 +626,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段

17
src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/index.vue

@ -106,15 +106,16 @@ const updataTableColumns = (val) => {
const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => {
nextTick(async() => { nextTick(async() => {
if (type == 'tableForm') { if (type == 'tableForm') {
// // //
await ItemBasicApi.getItembasicPage({ // await ItemBasicApi.getItembasicPage({
code: row['itemCode'] // code: row['itemCode']
}).then(res => { // }).then(res => {
row['uom'] = res?.list[0].uom // row['uom'] = res?.list[0].uom
}).catch(err =>{ // }).catch(err =>{
console.log(err); // console.log(err);
}) // })
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
row['uom'] = val[0]['uom']
} else { } else {
const setV = {} const setV = {}
if(formField == 'workshop'){ if(formField == 'workshop'){

1
src/views/wms/productionManage/productionplan/productionMainAssembleSparePart/productionMainAssembleSparePart.data.ts

@ -626,6 +626,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段

15
src/views/wms/productionManage/productionplan/productionMainPredictSparePart/index.vue

@ -107,14 +107,15 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
nextTick(async() => { nextTick(async() => {
if (type == 'tableForm') { if (type == 'tableForm') {
// //
await ItemBasicApi.getItembasicPage({ // await ItemBasicApi.getItembasicPage({
code: row['itemCode'] // code: row['itemCode']
}).then(res => { // }).then(res => {
row['uom'] = res?.list[0].uom // row['uom'] = res?.list[0].uom
}).catch(err =>{ // }).catch(err =>{
console.log(err); // console.log(err);
}) // })
row[formField] = val[0][searchField] row[formField] = val[0][searchField]
row['uom'] = val[0]['uom']
} else { } else {
const setV = {} const setV = {}
if(formField == 'workshop'){ if(formField == 'workshop'){

1
src/views/wms/productionManage/productionplan/productionMainPredictSparePart/productionMainPredictSparePart.data.ts

@ -627,6 +627,7 @@ export const ProductionDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段

3
src/views/wms/productionManage/productreceipt/productreceiptRequestMain/productreceiptRequestMain.data.ts

@ -820,6 +820,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
width: 150 width: 150
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode', searchField: 'itemCode',
@ -1808,6 +1809,7 @@ export const ProductreceiptRequestLabel = useCrudSchemas(reactive<CrudSchema[]>(
} }
}, },
tableForm: { tableForm: {
enterSearch:true,
disabled: true, disabled: true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装', searchListPlaceholder: '请选择包装',
@ -1876,6 +1878,7 @@ export const ProductreceiptRequestLabel = useCrudSchemas(reactive<CrudSchema[]>(
} }
}, },
tableForm: { tableForm: {
enterSearch:true,
disabled: true, disabled: true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装', searchListPlaceholder: '请选择包装',

1
src/views/wms/productionManage/productreceiptAssemble/productreceiptAssembleRequestMain/productreceiptAssembleRequestMain.data.ts

@ -821,6 +821,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}, },
sortTableDefault:1003, sortTableDefault:1003,
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode', searchField: 'itemCode',

2
src/views/wms/productionManage/productreceiptscrap/productreceiptscrapRequestMain/productreceiptscrapRequestMain.data.ts

@ -778,6 +778,7 @@ export const ProductreceiptRequestDetail = useCrudSchemas(reactive<CrudSchema[]>
}, },
sortTableDefault:1003, sortTableDefault:1003,
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', searchListPlaceholder: '请选择物料代码',
searchField: 'itemCode', searchField: 'itemCode',
@ -1789,6 +1790,7 @@ export const ProductreceiptRequestLabel = useCrudSchemas(reactive<CrudSchema[]>(
} }
}, },
tableForm: { tableForm: {
enterSearch:true,
disabled: true, disabled: true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择包装', searchListPlaceholder: '请选择包装',

2
src/views/wms/productionManage/productscrap/productscrapRequestMain/productscrapRequestMain.data.ts

@ -634,6 +634,7 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段
@ -653,6 +654,7 @@ export const ProductscrapRequestDetail = useCrudSchemas(reactive<CrudSchema[]>([
} }
}, },
tableForm:{ tableForm:{
enterSearch:true,
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择物料代码', // 输入框占位文本 searchListPlaceholder: '请选择物料代码', // 输入框占位文本
searchField: 'itemCode', // 查询弹窗赋值字段 searchField: 'itemCode', // 查询弹窗赋值字段

1
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/demandforecastingMain.data.ts

@ -35,6 +35,7 @@ export const DemandforecastingMain = useCrudSchemas(reactive<CrudSchema[]>([
form: { form: {
labelMessage: '影响明细中物料代码,需在供应商物料中维护', labelMessage: '影响明细中物料代码,需在供应商物料中维护',
componentProps: { componentProps: {
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段

1
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts

@ -417,6 +417,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
width: 150 width: 150
}, },
tableForm:{ tableForm:{
disabled:true,
multiple:true,//多选 multiple:true,//多选
isInpuFocusShow: true, isInpuFocusShow: true,
searchListPlaceholder: '请选择供应商物料', searchListPlaceholder: '请选择供应商物料',

3
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/supplierinvoiceRequestMain.data.ts

@ -161,7 +161,8 @@ export const SupplierinvoiceRequestMain = useCrudSchemas(reactive<CrudSchema[]>(
isSearch: true, isSearch: true,
form: { form: {
// labelMessage: '信息提示说明!!!', // labelMessage: '信息提示说明!!!',
componentProps: { componentProps: {    
enterSearch:true,
isSearchList: true, // 开启查询弹窗 isSearchList: true, // 开启查询弹窗
searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
searchField: 'code', // 查询弹窗赋值字段 searchField: 'code', // 查询弹窗赋值字段

Loading…
Cancel
Save