|
//表单工具文件
|
/**
|
* 通用高级查询表单数据收集函数
|
* @param {Array} formItems - 表单配置项数组
|
* @param {Object} formData - 表单数据对象
|
* @returns {Object} - 收集的表单数据
|
*/
|
export const collectFormDataForHighQuery = (formItems, formData) => {
|
const data = {};
|
|
// 遍历表单配置收集数据
|
formItems.forEach(item => {
|
// 收集基础字段
|
data[item.prop] = formData.value[item.prop] || '';
|
|
// 收集过滤模式字段
|
if (item.highSelectAttrs && item.highSelectAttrs.prop) {
|
const filterModeProp = item.highSelectAttrs.prop;
|
data[filterModeProp] = formData.value[filterModeProp] || '';
|
}
|
});
|
|
return data;
|
}
|
|
/**
|
* 重置高级查询的过滤模式
|
* @param formItems - 表单配置项数组
|
* @param formData - 表单数据对象
|
*/
|
export const onResetForHighSelect = (formItems, formData) => {
|
// 遍历所有表单字段
|
formItems.forEach(item => {
|
// 检查字段是否有高级查询的过滤模式配置
|
if (item.highSelectAttrs && item.highSelectAttrs.prop) {
|
const filterModeProp = item.highSelectAttrs.prop;
|
const options = item.highSelectAttrs.options || [];
|
|
// 如果存在选项,则设置为第一个选项的值
|
if (options.length > 0) {
|
// 假设选项格式为 { value, label } 或类似结构
|
const firstValue = options[0].value !== undefined ? options[0].value : options[0];
|
formData.value[filterModeProp] = firstValue;
|
}
|
}
|
});
|
}
|
|
/**
|
* 重置高级查询
|
* @param formItems - 表单配置项数组
|
* @param formData - 表单数据对象
|
*/
|
export const onResetForHighQuery = (formItems, formData) => {
|
// 1. 清空所有基础字段(不包含过滤模式字段)
|
const baseFields = formItems.reduce((acc, item) => {
|
acc[item.prop] = '';
|
return acc;
|
}, {});
|
|
// 2. 应用基础字段初始值
|
formData.value = { ...baseFields };
|
}
|