|
|
@ -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 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|