Files
qhmes/jeecgboot-vue3/src/views/mes/material/materialQuery.util.ts

53 lines
1.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Jeecg QueryGenerator 模糊查询工具:
* - 普通字段:值两侧加 * 转为 LIKE
* - 关键字多字段 OR走 superQueryParams
*/
/** 给指定字符串查询字段追加 *value*(已含 * 则不重复处理) */
export function applyJeecgLikeQuery(params: Recordable, fields: string[]): Recordable {
if (!params || !fields?.length) {
return params;
}
for (const field of fields) {
const raw = params[field];
if (raw == null || raw === '') {
continue;
}
const text = String(raw).trim();
if (!text || text.includes('*')) {
continue;
}
params[field] = `*${text}*`;
}
return params;
}
/** 构造多字段 OR 模糊高级查询参数 */
export function buildOrLikeSuperQuery(fields: string[], keyword: string): {
superQueryMatchType: string;
superQueryParams: string;
} | null {
const kw = keyword?.trim();
if (!kw || !fields?.length) {
return null;
}
const conditions = fields.map((field) => ({
field,
rule: 'like',
val: kw,
}));
return {
superQueryMatchType: 'or',
superQueryParams: encodeURI(JSON.stringify(conditions)),
};
}
/** 密炼物料文本查询字段 */
export const MIXER_MATERIAL_LIKE_FIELDS = ['materialCode', 'materialName', 'erpCode', 'materialDesc', 'aliasName'];
/** 胶料文本查询字段(已去掉胶料编码) */
//update-begin---author:jiangxh ---date:20260729 for【选料弹窗】胶料关键字查询去掉编码-----------
export const RUBBER_MATERIAL_LIKE_FIELDS = ['materialName', 'erpCode', 'aliasName', 'shortName'];
//update-end---author:jiangxh ---date:20260729 for【选料弹窗】胶料关键字查询去掉编码-----------