diff --git a/src/api/wms/business/inputBlur.ts b/src/api/wms/business/inputBlur.ts index 393f0dae1..d656865a9 100644 --- a/src/api/wms/business/inputBlur.ts +++ b/src/api/wms/business/inputBlur.ts @@ -23,7 +23,9 @@ const { t } = useI18n() // 国际化 * FormBlur 表格失去焦点时候获取焦点 */ export const tableFormBlurVer = async (headerItem, val, row, index, routeName, formRef, detailData, tableData, callback) => { - if (headerItem.tableForm.searchPage && headerItem.tableForm.verificationParams) { + + try { + if (headerItem?.tableForm?.searchPage && headerItem?.tableForm?.verificationParams) { if (val && isString(val)) { if (val.indexOf(',') > -1) { message.alert('该输入框只能输入一条数据') @@ -202,97 +204,111 @@ export const tableFormBlurVer = async (headerItem, val, row, index, routeName, f } callback(list.value) }) + } } + } catch { + message.warning('暂无数据') + row[headerItem.field] = '' + return } } export const FormBlur = async (field, val, routeName, formRef, detailData, formSchema, callback) => { - if (formSchema.searchPage && formSchema.verificationParams) { - //获取data.ts参数信息 - const searchCondition = formSchema?.searchCondition || [] - //获取失去焦点参数信息 - const verificationParams = formSchema?.verificationParams || - [] - console.log('走新方法啦') - // searchCondition = [...searchCondition, ...verificationParams] + const setV = {} + setV[field] = '' + try { + if (formSchema.searchPage && formSchema.verificationParams) { + //获取data.ts参数信息 + const searchCondition = formSchema?.searchCondition || [] + //获取失去焦点参数信息 + const verificationParams = formSchema?.verificationParams || + [] + console.log('走新方法啦') + // searchCondition = [...searchCondition, ...verificationParams] - if (val && isString(val)) { - const setV = {} - setV[field] = '' - let params = {} - const _searchCondition = {} - const filters: any[] = [] - if (searchCondition && searchCondition.length > 0) { - // 转换筛选条件所需 - for (let i = 0; i < searchCondition.length; i++) { - // searchCondition.forEach((item) => { - // 查询条件为主表某字段,需要赋值主表数据,数据来源是详情的,赋值需要从row中获取 - if (searchCondition[i].isMainValue) { - _searchCondition[searchCondition[i].key] = formRef.formModel[ - searchCondition[i].value - ] - ? formRef.formModel[searchCondition[i].value] - : detailData - ? detailData[searchCondition[i].value] - : // : row - // ? row[searchCondition[i].value] - '' - // 是否含有空参数情况 - let isNull = false - if ( - _searchCondition[searchCondition[i].key] == '' || - _searchCondition[searchCondition[i].key] == undefined - ) { - isNull = true - } - if (isNull) { - message.warning( - searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' - ) - formRef.setValues(setV) - return + if (val && isString(val)) { + + let params = {} + const _searchCondition = {} + const filters: any[] = [] + if (searchCondition && searchCondition.length > 0) { + // 转换筛选条件所需 + for (let i = 0; i < searchCondition.length; i++) { + // searchCondition.forEach((item) => { + // 查询条件为主表某字段,需要赋值主表数据,数据来源是详情的,赋值需要从row中获取 + if (searchCondition[i].isMainValue) { + _searchCondition[searchCondition[i].key] = formRef.formModel[ + searchCondition[i].value + ] + ? formRef.formModel[searchCondition[i].value] + : detailData + ? detailData[searchCondition[i].value] + : // : row + // ? row[searchCondition[i].value] + '' + // 是否含有空参数情况 + let isNull = false + if ( + _searchCondition[searchCondition[i].key] == '' || + _searchCondition[searchCondition[i].key] == undefined + ) { + isNull = true + } + if (isNull) { + message.warning( + searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' + ) + formRef.setValues(setV) + return + } + filters.push({ + action: searchCondition[i].action || '==', + column: searchCondition[i].key, + value: formRef.formModel[searchCondition[i].value] + }) } - filters.push({ - action: searchCondition[i].action || '==', - column: searchCondition[i].key, - value: formRef.formModel[searchCondition[i].value] - }) - } - // else if (searchCondition[i].isTableRowValue) { - // if (searchCondition[i].required) { - // if (row[searchCondition[i].value] == '' || row[searchCondition[i].value] == undefined) { - // message.warning( - // searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' - // ) - // return - // } - // } - // row[searchCondition[i].value] - // //查询当前table表数据的值 - // _searchCondition[searchCondition[i].key] = row[searchCondition[i].value] - // } - else { - // 扩展 转换为筛选条件进行查询 - if (searchCondition[i].isSearch) { - if (searchCondition[i].isFormModel) { - //用formModel中的值 - if (searchCondition[i].required) { - if ( - formRef.formModel[searchCondition[i].value] == '' || - formRef.formModel[searchCondition[i].value] == undefined - ) { - message.warning( - searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' - ) - formRef.setValues(setV) - return + // else if (searchCondition[i].isTableRowValue) { + // if (searchCondition[i].required) { + // if (row[searchCondition[i].value] == '' || row[searchCondition[i].value] == undefined) { + // message.warning( + // searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' + // ) + // return + // } + // } + // row[searchCondition[i].value] + // //查询当前table表数据的值 + // _searchCondition[searchCondition[i].key] = row[searchCondition[i].value] + // } + else { + // 扩展 转换为筛选条件进行查询 + if (searchCondition[i].isSearch) { + if (searchCondition[i].isFormModel) { + //用formModel中的值 + if (searchCondition[i].required) { + if ( + formRef.formModel[searchCondition[i].value] == '' || + formRef.formModel[searchCondition[i].value] == undefined + ) { + message.warning( + searchCondition[i].message ? searchCondition[i].message : '前置条件未选择!' + ) + formRef.setValues(setV) + return + } } + filters.push({ + action: searchCondition[i].action || '==', + column: searchCondition[i].key, + value: formRef.formModel[searchCondition[i].value] + }) + } else { + filters.push({ + action: searchCondition[i].action || '==', + column: searchCondition[i].key, + value: searchCondition[i].value + }) } - filters.push({ - action: searchCondition[i].action || '==', - column: searchCondition[i].key, - value: formRef.formModel[searchCondition[i].value] - }) } else { filters.push({ action: searchCondition[i].action || '==', @@ -300,87 +316,86 @@ export const FormBlur = async (field, val, routeName, formRef, detailData, formS value: searchCondition[i].value }) } - } else { - filters.push({ - action: searchCondition[i].action || '==', - column: searchCondition[i].key, - value: searchCondition[i].value - }) } } } - } - if (verificationParams && verificationParams.length > 0) { - // 转换筛选条件所需 - for (let i = 0; i < verificationParams.length; i++) { - // 扩展 转换为筛选条件进行查询 - if (verificationParams[i].isSearch) { - if (verificationParams[i].isFormModel) { - filters.push({ - action: verificationParams[i].action, - column: verificationParams[i].key, - value: formRef.formModel[verificationParams[i].value] - ? formRef.formModel[verificationParams[i].value] - : val.trim() - }) + if (verificationParams && verificationParams.length > 0) { + // 转换筛选条件所需 + for (let i = 0; i < verificationParams.length; i++) { + // 扩展 转换为筛选条件进行查询 + if (verificationParams[i].isSearch) { + if (verificationParams[i].isFormModel) { + filters.push({ + action: verificationParams[i].action, + column: verificationParams[i].key, + value: formRef.formModel[verificationParams[i].value] + ? formRef.formModel[verificationParams[i].value] + : val.trim() + }) + } else { + filters.push({ + action: verificationParams[i].action, + column: verificationParams[i].key, + value: verificationParams[i].value + }) + } } else { - filters.push({ - action: verificationParams[i].action, - column: verificationParams[i].key, - value: verificationParams[i].value - }) + _searchCondition[verificationParams[i].key] = verificationParams[i].value } - } else { - _searchCondition[verificationParams[i].key] = verificationParams[i].value } } - } - console.log(filters) - if (filters.length > 0) { - _searchCondition.isSearch = true - _searchCondition.filters = filters - } - console.log(4545, _searchCondition) - const obj = { - by: 'ASC', - pageNo: 1, - pageSize: 20 - } - console.log(888, _searchCondition) - params = { - isSearch: _searchCondition.isSearch, - filters: _searchCondition.filters, - ...obj - } - // console.log(333,params) - if (!formSchema?.multiple && val.indexOf(',') > -1) { - message.alert('该输入框只能输入一条数据') - formRef.setValues(setV) - return - } - await formSchema.searchPage(params).then((res) => { - const arr1 = val.split(',') - const list = ref([]) - list.value = res?.list?.length > 0 ? res.list.slice(0, 1) : [] - if (list.value?.length == 0) { - message.alert('暂无数据') - formRef.setValues(setV) - return + console.log(filters) + if (filters.length > 0) { + _searchCondition.isSearch = true + _searchCondition.filters = filters } - if (arr1.length != list.value.length) { - const arr2 = list.value.map((item) => item.code) - const str = [ - ...arr1.filter((item) => !arr2.includes(item)), - ...arr2.filter((item) => !arr1.includes(item)) - ].join(',') - message.alert('代码' + str + '没有找到对应数据') + console.log(4545, _searchCondition) + const obj = { + by: 'ASC', + pageNo: 1, + pageSize: 20 + } + console.log(888, _searchCondition) + params = { + isSearch: _searchCondition.isSearch, + filters: _searchCondition.filters, + ...obj + } + // console.log(333,params) + if (!formSchema?.multiple && val.indexOf(',') > -1) { + message.alert('该输入框只能输入一条数据') formRef.setValues(setV) return } - callback(list.value) - }) + await formSchema.searchPage(params).then((res) => { + const arr1 = val.split(',') + const list = ref([]) + list.value = res?.list?.length > 0 ? res.list.slice(0, 1) : [] + if (list.value?.length == 0) { + message.alert('暂无数据') + formRef.setValues(setV) + return + } + if (arr1.length != list.value.length) { + const arr2 = list.value.map((item) => item.code) + const str = [ + ...arr1.filter((item) => !arr2.includes(item)), + ...arr2.filter((item) => !arr1.includes(item)) + ].join(',') + message.alert('代码' + str + '没有找到对应数据') + formRef.setValues(setV) + return + } + callback(list.value) + }) + } } + } catch { + message.alert('暂无数据') + formRef.setValues(setV) + return } + } diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 1cc45251d..e3f56a694 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -20,6 +20,7 @@ @onChange="onChange" @onBlur="onBlur" @onEnter="onEnter" + @onFocus="onFocus" >