Remove unused online editor modules
This commit is contained in:
@@ -1,140 +0,0 @@
|
||||
import type { FormDataFilter } from '#/components/form-design/store/formDesignStore';
|
||||
|
||||
import { getFormDataListApi } from '#/api/online-dev/form-data-api';
|
||||
|
||||
/** 根据 formFilters 与当前表单值构建列表 API 查询参数 */
|
||||
export function buildFormDataFilterParams(
|
||||
filters: FormDataFilter[],
|
||||
modelValue: Record<string, any>,
|
||||
): Record<string, any> {
|
||||
const params: Record<string, any> = {};
|
||||
|
||||
for (const filter of filters) {
|
||||
if (!filter.sourceField || !filter.targetField) continue;
|
||||
|
||||
const sourceValue = modelValue[filter.sourceField];
|
||||
|
||||
if (filter.filterType === 'null') {
|
||||
params[`${filter.targetField}__null`] = 'true';
|
||||
continue;
|
||||
}
|
||||
if (filter.filterType === 'not_null') {
|
||||
params[`${filter.targetField}__not_null`] = 'true';
|
||||
continue;
|
||||
}
|
||||
|
||||
if (
|
||||
sourceValue === undefined ||
|
||||
sourceValue === null ||
|
||||
sourceValue === ''
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (filter.filterType) {
|
||||
case 'eq': {
|
||||
params[filter.targetField] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'gt': {
|
||||
params[`${filter.targetField}__gt`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'gte': {
|
||||
params[`${filter.targetField}__gte`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'in': {
|
||||
const values = Array.isArray(sourceValue)
|
||||
? sourceValue.join(',')
|
||||
: sourceValue;
|
||||
params[`filter_${filter.targetField}`] = values;
|
||||
break;
|
||||
}
|
||||
case 'like': {
|
||||
params[`${filter.targetField}__like`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'lt': {
|
||||
params[`${filter.targetField}__lt`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'lte': {
|
||||
params[`${filter.targetField}__lte`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
case 'ne': {
|
||||
params[`${filter.targetField}__ne`] = sourceValue;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
/** 将 formFilters 转为 FormDataList.initialFilters 格式 */
|
||||
export function buildFormSelectorInitialFilters(
|
||||
filters: FormDataFilter[],
|
||||
modelValue: Record<string, any>,
|
||||
): Record<string, { type: string; value: any }> {
|
||||
const result: Record<string, { type: string; value: any }> = {};
|
||||
|
||||
for (const filter of filters) {
|
||||
if (!filter.sourceField || !filter.targetField) continue;
|
||||
|
||||
const sourceValue = modelValue[filter.sourceField];
|
||||
|
||||
if (filter.filterType === 'null') {
|
||||
result[filter.targetField] = { type: 'null', value: true };
|
||||
continue;
|
||||
}
|
||||
if (filter.filterType === 'not_null') {
|
||||
result[filter.targetField] = { type: 'not_null', value: true };
|
||||
continue;
|
||||
}
|
||||
|
||||
if (
|
||||
sourceValue === undefined ||
|
||||
sourceValue === null ||
|
||||
sourceValue === ''
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const type =
|
||||
filter.filterType === 'in' ? 'in' : filter.filterType || 'eq';
|
||||
result[filter.targetField] = { type, value: sourceValue };
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/** 分页拉取全部表单数据(用于一对多关联自动填充) */
|
||||
export async function fetchAllFormDataPages(
|
||||
formCode: string,
|
||||
filterParams: Record<string, any>,
|
||||
pageSize = 500,
|
||||
): Promise<Record<string, any>[]> {
|
||||
const allItems: Record<string, any>[] = [];
|
||||
let page = 1;
|
||||
let total = Number.POSITIVE_INFINITY;
|
||||
|
||||
while (allItems.length < total) {
|
||||
const res = await getFormDataListApi(formCode, {
|
||||
...filterParams,
|
||||
page,
|
||||
pageSize,
|
||||
});
|
||||
const items = res?.items || [];
|
||||
total = res?.total ?? items.length;
|
||||
allItems.push(...items);
|
||||
if (items.length < pageSize) break;
|
||||
page += 1;
|
||||
}
|
||||
|
||||
return allItems;
|
||||
}
|
||||
Reference in New Issue
Block a user