Browse Source

失去焦点校验

hella_online_20240829
zhang_li 5 months ago
parent
commit
07a325765f
  1. 424
      src/components/BasicForm/src/BasicForm.vue
  2. 17
      src/views/wms/basicDataManage/itemManage/bom/bom.data.ts

424
src/components/BasicForm/src/BasicForm.vue

@ -7,9 +7,7 @@
:vLoading="formLoading" :vLoading="formLoading"
@updateFullscreen="updateFullscreen" @updateFullscreen="updateFullscreen"
> >
<div style="overflow-y: auto" :style="{ 'max-height': formHeight }">
<div
style="overflow-y: auto;" :style="{'max-height':formHeight}">
<Form <Form
ref="formRef" ref="formRef"
:rules="rules" :rules="rules"
@ -24,8 +22,12 @@
@onEnter="onEnter" @onEnter="onEnter"
> >
<template #crontab="formSchema1" v-if="fromeWhere == 'countPlan'"> <template #crontab="formSchema1" v-if="fromeWhere == 'countPlan'">
<crontab
<crontab v-model="formSchema1.crontab" :disabled="formSchema?.find(item=>item.field == 'crontab')?.componentProps?.disabled "/> v-model="formSchema1.crontab"
:disabled="
formSchema?.find((item) => item.field == 'crontab')?.componentProps?.disabled
"
/>
</template> </template>
<template #type="formSchema" v-if="fromeWhere == 'countPlan'"> <template #type="formSchema" v-if="fromeWhere == 'countPlan'">
<el-select <el-select
@ -44,7 +46,7 @@
<el-select <el-select
v-model="formSchema.type" v-model="formSchema.type"
placeholder="选择盘点范围类型" placeholder="选择盘点范围类型"
@change="selectChangeDetail('type', $event,formSchema)" @change="selectChangeDetail('type', $event, formSchema)"
v-if="isDetail" v-if="isDetail"
> >
<el-option <el-option
@ -60,7 +62,7 @@
v-model="formSchema.value" v-model="formSchema.value"
placeholder="选择盘点范围值" placeholder="选择盘点范围值"
multiple multiple
v-if="isDetail&& formTypeDetail =='Select'" v-if="isDetail && formTypeDetail == 'Select'"
> >
<el-option <el-option
v-for="dict in countPlanAllList" v-for="dict in countPlanAllList"
@ -69,14 +71,14 @@
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
<el-input v-model="formSchema.value" v-if="isDetail && formTypeDetail =='InputString'"/> <el-input v-model="formSchema.value" v-if="isDetail && formTypeDetail == 'InputString'" />
</template> </template>
</Form> </Form>
<div class="table" v-if="isBusiness && formType == 'create' && fromeWhere != 'countPlan'"> <div class="table" v-if="isBusiness && formType == 'create' && fromeWhere != 'countPlan'">
<TableForm <TableForm
ref="tableFormRef" ref="tableFormRef"
class="w-[100%]" class="w-[100%]"
:maxHeight = "490" :maxHeight="490"
:tableFields="tableAllSchemas.tableFormColumns" :tableFields="tableAllSchemas.tableFormColumns"
:tableData="tableData" :tableData="tableData"
:tableFormRules="tableFormRules" :tableFormRules="tableFormRules"
@ -99,12 +101,12 @@
@inputNumberChange="inputNumberChange" @inputNumberChange="inputNumberChange"
@tableFormSelectOnBlur="tableFormSelectOnBlur" @tableFormSelectOnBlur="tableFormSelectOnBlur"
@formFormDateChange="formFormDateChange" @formFormDateChange="formFormDateChange"
@clearInput='clearInput' @clearInput="clearInput"
@batchAdd="batchAdd" @batchAdd="batchAdd"
:routeName="routeName" :routeName="routeName"
@visibleChange='visibleChange' @visibleChange="visibleChange"
> >
<template v-slot="{row}"> <template v-slot="{ row }">
<slot :row="row"></slot> <slot :row="row"></slot>
</template> </template>
</TableForm> </TableForm>
@ -122,13 +124,16 @@
/> />
</div> </div>
</div> </div>
<template #footer > <template #footer>
<slot name="foorter"></slot> <slot name="foorter"></slot>
<ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" /> <ButtonBase :Butttondata="Butttondata" @button-base-click="buttonBaseClick" />
</template> </template>
</Dialog> </Dialog>
<SearchTable ref="searchTableRef" :showSearchTableQueryFields="showSearchTableQueryFields" @searchTableSuccess="searchTableSuccess" > <SearchTable
ref="searchTableRef"
:showSearchTableQueryFields="showSearchTableQueryFields"
@searchTableSuccess="searchTableSuccess"
>
<template v-for="name in Object.keys($slots)" :key="name" #[name]> <template v-for="name in Object.keys($slots)" :key="name" #[name]>
<slot :name="name"></slot> <slot :name="name"></slot>
</template> </template>
@ -140,9 +145,10 @@ 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 { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { tableFormBlurVer,FormBlur,getListByBottonInput } from '@/api/wms/business/business' import { tableFormBlurVer, FormBlur, getListByBottonInput } from '@/api/wms/business/business'
import { isString } from 'min-dash' import { isString } from 'min-dash'
const props = defineProps({ const props = defineProps({
// //
basicFormWidth: { basicFormWidth: {
@ -155,9 +161,9 @@ const props = defineProps({
default: true default: true
}, },
// -- // --
isShowReduceButtonSelection:{ isShowReduceButtonSelection: {
type: Boolean, type: Boolean,
default: false, default: false
}, },
// tableForm // tableForm
isShowReduceButton: { isShowReduceButton: {
@ -290,13 +296,13 @@ const props = defineProps({
default: null default: null
}, },
// //
isOpenSearchTable:{ isOpenSearchTable: {
type: Boolean, type: Boolean,
required: false, required: false,
default: false default: false
}, },
fieldTableColumn:{ fieldTableColumn: {
type: String, type: String,
required: false, required: false,
default: '' default: ''
@ -306,36 +312,32 @@ const props = defineProps({
formField:form中对应的field, formField:form中对应的field,
tableField:searchtable中对应的field, tableField:searchtable中对应的field,
}]*/ }]*/
sumFormDataField:{ sumFormDataField: {
type: Array, type: Array,
required: false, required: false,
default: null default: null
}, },
sumFormDataByForm:{ sumFormDataByForm: {
type:Function, type: Function,
required: false, required: false,
default: null default: null
}, },
sumFormDataByTableCustom:{ sumFormDataByTableCustom: {
type:Function, type: Function,
required: false, required: false,
default: null default: null
}, },
showSearchTableQueryFields:{ showSearchTableQueryFields: {
type: Array, type: Array,
required: false, required: false,
default: [] default: []
}, },
byCodespageApi: { //
type: Function, isJiaoyan: {
required: true, type: Boolean,
default: null required: false,
}, // default: false
byCodesParams: { }
type: Object,
required: true,
default: null
} //
}) })
const { t } = useI18n() // const { t } = useI18n() //
@ -347,8 +349,8 @@ if (props.basicFormWidth) {
dialogWidth.value = props.isBusiness ? '60%' : '40%' dialogWidth.value = props.isBusiness ? '60%' : '40%'
} }
const formHeight = ref('60vh') const formHeight = ref('60vh')
const updateFullscreen = (isFullscreen)=>{ const updateFullscreen = (isFullscreen) => {
formHeight.value = isFullscreen?'auto':'60vh' formHeight.value = isFullscreen ? 'auto' : '60vh'
} }
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
@ -363,7 +365,7 @@ const tableFormRules = ref(props.tableFormRules)
const route = useRoute() // const route = useRoute() //
const routeName = ref('') const routeName = ref('')
routeName.value = route.name routeName.value = route.name
const isExecute = ref(true)//true const isExecute = ref(true) //true
// - // -
// const buttondata = [ // const buttondata = [
@ -396,7 +398,7 @@ const opensearchTable = (
multiple, multiple,
type, type,
row, row,
isConcatDetailSchemas=false, isConcatDetailSchemas = false,
searchDetailSchemas: any searchDetailSchemas: any
) => { ) => {
const _searchCondition = {} const _searchCondition = {}
@ -404,7 +406,7 @@ const opensearchTable = (
if (searchCondition && searchCondition.length > 0) { if (searchCondition && searchCondition.length > 0) {
// //
let filters: any[] = [] let filters: any[] = []
for (var i=0; i< searchCondition.length; i++ ) { for (var i = 0; i < searchCondition.length; i++) {
// searchCondition.forEach((item) => { // searchCondition.forEach((item) => {
// row // row
if (searchCondition[i].isMainValue) { if (searchCondition[i].isMainValue) {
@ -417,17 +419,24 @@ const opensearchTable = (
: '' : ''
// //
let isNull = false let isNull = false
if (_searchCondition[searchCondition[i].key] == '' || _searchCondition[searchCondition[i].key] == undefined) { if (
_searchCondition[searchCondition[i].key] == '' ||
_searchCondition[searchCondition[i].key] == undefined
) {
isNull = true isNull = true
} }
if (isNull) { if (isNull) {
message.warning(searchCondition[i].message?searchCondition[i].message:'前置条件未选择!') message.warning(
searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!'
)
return return
} }
}else if(searchCondition[i].isTableRowValue){ } else if (searchCondition[i].isTableRowValue) {
if(searchCondition[i].required){ if (searchCondition[i].required) {
if (row[searchCondition[i].value] == '' ||row[searchCondition[i].value] == undefined) { if (row[searchCondition[i].value] == '' || row[searchCondition[i].value] == undefined) {
message.warning(searchCondition[i].message?searchCondition[i].message:'前置条件未选择!') message.warning(
searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!'
)
return return
} }
} }
@ -439,9 +448,14 @@ const opensearchTable = (
if (searchCondition[i].isSearch) { if (searchCondition[i].isSearch) {
if (searchCondition[i].isFormModel) { if (searchCondition[i].isFormModel) {
//formModel //formModel
if(searchCondition[i].required){ if (searchCondition[i].required) {
if (formRef.value.formModel[searchCondition[i].value] == '' ||formRef.value.formModel[searchCondition[i].value] == undefined) { if (
message.warning(searchCondition[i].message?searchCondition[i].message:'前置条件未选择!') formRef.value.formModel[searchCondition[i].value] == '' ||
formRef.value.formModel[searchCondition[i].value] == undefined
) {
message.warning(
searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!'
)
return return
} }
} }
@ -450,14 +464,13 @@ const opensearchTable = (
column: searchCondition[i].key, column: searchCondition[i].key,
value: formRef.value.formModel[searchCondition[i].value] value: formRef.value.formModel[searchCondition[i].value]
}) })
}else{ } else {
filters.push({ filters.push({
action: searchCondition[i].action, action: searchCondition[i].action,
column: searchCondition[i].key, column: searchCondition[i].key,
value: searchCondition[i].value value: searchCondition[i].value
}) })
} }
} else { } else {
_searchCondition[searchCondition[i].key] = searchCondition[i].value _searchCondition[searchCondition[i].key] = searchCondition[i].value
} }
@ -488,50 +501,76 @@ const opensearchTable = (
} }
// searchTable // searchTable
const changeDialogWidth = (width)=>{ const changeDialogWidth = (width) => {
searchTableRef.value.changeDialogWidth(width) searchTableRef.value.changeDialogWidth(width)
} }
const hiddenSearchTableFilterButton = ()=>{ const hiddenSearchTableFilterButton = () => {
searchTableRef.value.hiddenFilterButton() searchTableRef.value.hiddenFilterButton()
} }
const clearSearchInput = (field)=>{ const clearSearchInput = (field) => {
emit('clearSearchInput',field) emit('clearSearchInput', field)
} }
const sumFormDataByTable = () => { const sumFormDataByTable = () => {
if(props.sumFormDataField){ if (props.sumFormDataField) {
const sumObject = {} const sumObject = {}
props.sumFormDataField.forEach(sumItem=>{ props.sumFormDataField.forEach((sumItem) => {
sumObject[sumItem?.formField]= props.tableData.reduce((prev, item) => prev + item[sumItem?.tableField],0) sumObject[sumItem?.formField] = props.tableData.reduce(
(prev, item) => prev + item[sumItem?.tableField],
0
)
}) })
nextTick(()=>{ nextTick(() => {
formRef.value.setValues(sumObject) formRef.value.setValues(sumObject)
}) })
} }
} }
watch(()=>props.tableData,() => { watch(
() => props.tableData,
() => {
sumFormDataByTable() sumFormDataByTable()
if(props?.sumFormDataByTableCustom&&unref(formRef)?.formModel&&props.tableData){ if (props?.sumFormDataByTableCustom && unref(formRef)?.formModel && props.tableData) {
props?.sumFormDataByTableCustom(formRef,unref(formRef)?.formModel,props.tableData) props?.sumFormDataByTableCustom(formRef, unref(formRef)?.formModel, props.tableData)
} }
},
},{ {
deep:true deep: true
}) }
)
let originFormModel = {} let originFormModel = {}
const updateOriginFormModel = (data)=>{ const updateOriginFormModel = (data) => {
originFormModel = JSON.parse(JSON.stringify(data)) originFormModel = JSON.parse(JSON.stringify(data))
} }
const sumFormDataHandle1 = ()=>{ const sumFormDataHandle1 = () => {
emit('sumFormDataHandle',formRef,unref(formRef)?.formModel,props.tableData,formType.value,originFormModel,updateOriginFormModel) emit(
'sumFormDataHandle',
formRef,
unref(formRef)?.formModel,
props.tableData,
formType.value,
originFormModel,
updateOriginFormModel
)
} }
watch(()=>unref(formRef)?.formModel,async () => { watch(
if(props?.sumFormDataByForm&&unref(formRef)?.formModel){ () => unref(formRef)?.formModel,
props?.sumFormDataByForm(formRef,unref(formRef)?.formModel,props.tableData,formType.value,originFormModel,updateOriginFormModel,sumFormDataHandle1) async () => {
if (props?.sumFormDataByForm && unref(formRef)?.formModel) {
props?.sumFormDataByForm(
formRef,
unref(formRef)?.formModel,
props.tableData,
formType.value,
originFormModel,
updateOriginFormModel,
sumFormDataHandle1
)
} }
},{ },
deep:true {
}) deep: true
}
)
// //
// val row // val row
@ -540,11 +579,17 @@ const searchTableSuccess = (formField, searchField, val, type, row) => {
} }
/** 打开弹窗 */ /** 打开弹窗 */
const open = async (type: string, row?: any, masterParmas?: any, titleName?: any, alltitleName?: any) => { const open = async (
type: string,
row?: any,
masterParmas?: any,
titleName?: any,
alltitleName?: any
) => {
dialogVisible.value = true dialogVisible.value = true
if(alltitleName){ if (alltitleName) {
dialogTitle.value = alltitleName dialogTitle.value = alltitleName
}else if (titleName) { } else if (titleName) {
dialogTitle.value = t('action.' + titleName) dialogTitle.value = t('action.' + titleName)
} else { } else {
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
@ -574,22 +619,25 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any
} }
// //
const handleAddTable = () => { const handleAddTable = () => {
if(props.isOpenSearchTable){ if (props.isOpenSearchTable) {
const tableFormKeys = {} const tableFormKeys = {}
tableAllSchemas.value.tableFormColumns.forEach(item => { tableAllSchemas.value.tableFormColumns.forEach((item) => {
tableFormKeys[item.field] = item.default ? item.default : '' tableFormKeys[item.field] = item.default ? item.default : ''
}) })
if(props.fieldTableColumn!=''){ if (props.fieldTableColumn != '') {
inpuFocus(tableAllSchemas.value.tableFormColumns.find(item=>item.field==props.fieldTableColumn),tableFormKeys,0) inpuFocus(
tableAllSchemas.value.tableFormColumns.find((item) => item.field == props.fieldTableColumn),
tableFormKeys,
0
)
} }
}else{ } else {
emit('handleAddTable') emit('handleAddTable')
} }
} }
/** 弹窗按钮 */ /** 弹窗按钮 */
let Butttondata:any = [] let Butttondata: any = []
if (props.isShowFooterButtton) { if (props.isShowFooterButtton) {
Butttondata = [ Butttondata = [
defaultButtons.formSaveBtn(null), // defaultButtons.formSaveBtn(null), //
@ -604,7 +652,7 @@ if (props.footButttondata) {
const buttonBaseClick = (val) => { const buttonBaseClick = (val) => {
// //
if (props.footButttondata) { if (props.footButttondata) {
emit('footButtonClick',val) emit('footButtonClick', val)
} }
// //
else if (val == 'save') { else if (val == 'save') {
@ -708,15 +756,15 @@ const emit = defineEmits([
'visibleChange' 'visibleChange'
]) ])
const visibleChange = (field, val, row, index) => { const visibleChange = (field, val, row, index) => {
emit('visibleChange',field, val, row, index) emit('visibleChange', field, val, row, index)
} }
// //
const formSelectChange = (field, val, row) => { const formSelectChange = (field, val, row) => {
emit('formSelectChange', field, val, row) emit('formSelectChange', field, val, row)
} }
// //
const formFormDateChange = (field, val,row, index) => { const formFormDateChange = (field, val, row, index) => {
emit('formFormDateChange', field, val,row, index) emit('formFormDateChange', field, val, row, index)
} }
const formSelectvVisibleChange = (field, val, row) => { const formSelectvVisibleChange = (field, val, row) => {
emit('formSelectvVisibleChange', field, val, row) emit('formSelectvVisibleChange', field, val, row)
@ -753,14 +801,11 @@ const handleTableSelect = (row, column, event) => {
// //
const handleDeleteTable = (row, index) => { const handleDeleteTable = (row, index) => {
emit('handleDeleteTable', row, index,formRef.value) emit('handleDeleteTable', row, index, formRef.value)
} }
// //
const inpuFocus = (headerItem, row, index) => { const inpuFocus = (headerItem, row, index) => {
emit('inpuFocus', headerItem, row, index) emit('inpuFocus', headerItem, row, index)
opensearchTable( opensearchTable(
@ -778,7 +823,7 @@ const inpuFocus = (headerItem, row, index) => {
) )
} }
const clearInput = (field, row, index) => { const clearInput = (field, row, index) => {
emit('clearInput',field, row, index) emit('clearInput', field, row, index)
} }
/** /**
* 监听改变事件 * 监听改变事件
@ -796,48 +841,31 @@ const onChange = (field, cur) => {
*/ */
const onBlur = async (field, e) => { const onBlur = async (field, e) => {
isExecute.value = false isExecute.value = false
if (
field == 'supplierCode' || let formSchemaObj = formSchema.value.find((item) => item.field == field)?.componentProps
field == 'itemCode' || if (formSchemaObj?.enterSearch) {
field == 'productItemCode' || if (formSchemaObj.verificationPage) {
field == 'componentItemCode' ||
field == 'packUnit' ||
field == 'inPackUnit' ||
field == 'fromPackingNumber'
) {
await FormBlur(
field,
e,
routeName.value,
formRef.value,
props.detailData,
formSchema.value,
(searchField, list) => {
emit('searchTableSuccess', field, searchField, list, formRef.value, 'form')
}
)
} else {
let formSchemaObj = formSchema.value.find((item) => item.field == field)
let searchCondition1 = formSchema.value.find((item) => item.field == field).componentProps let searchCondition1 = formSchema.value.find((item) => item.field == field).componentProps
.searchCondition //data.ts .searchCondition //data.ts
if (formSchemaObj?.componentProps?.enterSearch) { let verificationParams = formSchema.value.find((item) => item.field == field).componentProps
.verificationParams //
console.log('走新方法啦')
if (e && isString(e)) { if (e && isString(e)) {
let setV = {} let setV = {}
setV[field] = '' setV[field] = ''
let obj = {} let params = {}
console.log(233,searchCondition1)
// keyvalue // keyvalue
if (searchCondition1 && searchCondition1.length > 0) { if (searchCondition1 && searchCondition1.length > 0) {
for (let i = 0; i < searchCondition1.length; i++) { for (let i = 0; i < searchCondition1.length; i++) {
if (searchCondition1[i].isMainValue) { if (searchCondition1[i].isMainValue) {
obj[searchCondition1[i].key] = formRef.value.formModel[searchCondition1[i].value] params[searchCondition1[i].key] = formRef.value.formModel[searchCondition1[i].value]
? formRef.value.formModel[searchCondition1[i].value] ? formRef.value.formModel[searchCondition1[i].value]
: props.detailData : props.detailData
? props.detailData[searchCondition1[i].value] ? props.detailData[searchCondition1[i].value]
: '' : ''
// //
let isNull = false let isNull = false
if (obj[searchCondition1[i].key] == '' || obj[searchCondition1[i].key] == undefined) { if (params[searchCondition1[i].key] == '' || params[searchCondition1[i].key] == undefined) {
isNull = true isNull = true
} }
if (isNull) { if (isNull) {
@ -865,29 +893,30 @@ console.log(233,searchCondition1)
} }
} }
} }
obj[searchCondition1[i].key] = searchCondition1[i].value params[searchCondition1[i].key] = searchCondition1[i].value
} else { } else {
obj[searchCondition1[i].key] = searchCondition1[i].value params[searchCondition1[i].key] = searchCondition1[i].value
}
} }
} }
} }
// keyvalue
if (verificationParams && verificationParams.length > 0) {
for (let i = 0; i < verificationParams.length; i++) {
params[verificationParams[i].key] = e?.trim()
} }
if (!formSchemaObj?.componentProps.multiple && e.indexOf(',') > -1) { }
console.log(333,params)
if (!formSchemaObj?.multiple && e.indexOf(',') > -1) {
message.alert('该输入框只能输入一条数据') message.alert('该输入框只能输入一条数据')
formRef.value.setValues(setV) formRef.value.setValues(setV)
return return
} }
if (props.byCodespageApi) { await formSchemaObj.verificationPage(params).then((res) => {
let params = {}
if (props.byCodesParams) {
params = { ...props.byCodesParams, ...obj, codes: e }
} else {
params = { ...obj, codes: e }
}
await props.byCodespageApi(params).then((res) => {
let arr1 = e.split(',') let arr1 = e.split(',')
let list = ref([]) let list = ref([])
list.value = res list.value = res
console.log(222, list.value)
if (list.value?.length == 0) { if (list.value?.length == 0) {
message.alert('暂无数据') message.alert('暂无数据')
formRef.value.setValues(setV) formRef.value.setValues(setV)
@ -903,58 +932,118 @@ console.log(233,searchCondition1)
formRef.value.setValues(setV) formRef.value.setValues(setV)
return return
} }
emit( // emit('searchTableSuccess', formField, searchField, list.value, formRef.value, 'form')
'searchTableSuccess', // callback(list.value)
})
// emit(
// 'onBlur',
// field,
// e,
// formSchemaObj.componentProps.searchField,
// formSchemaObj,
// formRef.value,
// 'form',
// obj
// )
}
} else {
if (
field == 'supplierCode' ||
field == 'itemCode' ||
field == 'productItemCode' ||
field == 'componentItemCode' ||
field == 'packUnit' ||
field == 'inPackUnit' ||
field == 'fromPackingNumber'
) {
await FormBlur(
field, field,
searchCondition1.searchField, e,
list, routeName.value,
formRef.value, formRef.value,
'form' props.detailData,
formSchema.value,
(searchField, list) => {
emit('searchTableSuccess', field, searchField, list, formRef.value, 'form')
}
) )
}) return
} }
} }
} else { } else {
emit('onBlur', field, e) emit('onBlur', field, e)
} }
}
isExecute.value = true isExecute.value = true
emit('onBlur', field, e)
} }
// //
const batchAdd = async (val) => { const batchAdd = async (val) => {
const row = {} const row = {}
tableAllSchemas.value.tableFormColumns.forEach((item) => { tableAllSchemas.value.tableFormColumns.forEach((item) => {
row[item.field] = item.default ? item.default : '' row[item.field] = item.default ? item.default : ''
}) })
const headerItem = tableAllSchemas.value.tableColumns.find((item) => item.field == props.fieldTableColumn) 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)=>{ await getListByBottonInput(
emit('searchTableSuccess',headerItem.field,'itemCode',list, formRef.value,'tableForm',row) 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) => { const inputStringBlur = async (headerItem, val, row, index) => {
// isExecute.value = false // isExecute.value = false
await tableFormBlurVer(headerItem,val,row,index,routeName.value,formRef.value,props.detailData,props.tableData,(searchField, list)=>{ await tableFormBlurVer(
emit('searchTableSuccess',headerItem.field,searchField,list, formRef.value,'tableForm',row,'blur',index) 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 // isExecute.value = true
} }
/** /**
* 回车事件 * 回车事件
* @param field 当前操作字段 * @param field 当前操作字段
* @param e * @param e
*/ */
const onEnter = (field,value, e) => { const onEnter = (field, value, e) => {
emit('onEnter', field,value, e) emit('onEnter', field, value, e)
} }
// //
@ -962,23 +1051,30 @@ const selectChange = (field, val) => {
emit('selectChange', field, val) emit('selectChange', field, val)
} }
// //
const selectChangeDetail = (field, val,formSchema) => { const selectChangeDetail = (field, val, formSchema) => {
formSchema.value = '' formSchema.value = ''
emit('selectChangeDetail', field, val) emit('selectChangeDetail', field, val)
} }
const tableFormChange = (field, val, row) => { const tableFormChange = (field, val, row) => {
emit('tableFormChange', field, val, row) emit('tableFormChange', field, val, row)
} }
const buttonOperationClick = (row, label, index)=> { const buttonOperationClick = (row, label, index) => {
emit("buttonOperationClick", row, label, index); emit('buttonOperationClick', row, label, index)
} }
defineExpose({
defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handleAddTable,changeDialogWidth,searchTableRef,tableFormRef}) // open open,
formRef,
opensearchTable,
dialogVisible,
formLoading,
handleAddTable,
changeDialogWidth,
searchTableRef,
tableFormRef
}) // open
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.table { .table {
@ -1007,8 +1103,8 @@ defineExpose({ open, formRef, opensearchTable, dialogVisible, formLoading ,handl
::v-deep(.el-icon) { ::v-deep(.el-icon) {
display: block; display: block;
}button }
.button { button .button {
> div { > div {
display: flex; display: flex;
align-items: center; align-items: center;

17
src/views/wms/basicDataManage/itemManage/bom/bom.data.ts

@ -32,6 +32,11 @@ export const Bom = useCrudSchemas(reactive<CrudSchema[]>([
searchTitle: '物料基础信息', // 查询弹窗标题 searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.selectItembasicPageToFgAndSemibasicPage, // 查询弹窗所需分页方法 searchPage: ItembasicApi.selectItembasicPageToFgAndSemibasicPage, // 查询弹窗所需分页方法
verificationPage: ItembasicApi.getItemListByCodes, // 失去焦点校验输入框的数据内容存在
verificationParams: [{
key: 'codes',
value: '',
}], // 失去焦点校验参数
} }
} }
}, },
@ -53,6 +58,11 @@ export const Bom = useCrudSchemas(reactive<CrudSchema[]>([
searchTitle: '物料基础信息', // 查询弹窗标题 searchTitle: '物料基础信息', // 查询弹窗标题
searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类
searchPage: ItembasicApi.selectTypeToItembasic, // 查询弹窗所需分页方法 searchPage: ItembasicApi.selectTypeToItembasic, // 查询弹窗所需分页方法
verificationPage: ItembasicApi.getItemListByCodes, // 失去焦点校验输入框的数据内容存在
verificationParams: [{
key: 'codes',
value: '',
}], // 失去焦点校验参数
} }
} }
}, },
@ -105,7 +115,12 @@ export const Bom = useCrudSchemas(reactive<CrudSchema[]>([
key: 'available', key: 'available',
value: 'TRUE', value: 'TRUE',
isMainValue: false isMainValue: false
}] }],
verificationPage: ProcessApi.getProcessByCodes, // 失去焦点校验输入框的数据内容存在
verificationParams: [{
key: 'codes',
value: '',
}], // 失去焦点校验参数
} }
} }
}, },

Loading…
Cancel
Save