JS增强中,如何增加过滤条件,让列表按照指定条件过滤后显示

晚风

1.JS增强中,如何增加过滤条件,让列表按照指定条件过滤后显示,还要保证翻页正常;想通过JS增强来实现,能否给个实现例子代码

initOption() {

   console.log('initOption执行\n');

   const userStore = useFun.useUserStoreWithOut();

   const user = userStore.user;

   const userNumber = user.userNumber;

   userLoginRoleId = String(user.loginRoleId);


   // 重置列表,防止缓存

   allowCabinetCodes = [];

   const _this = this;


   // 异步请求用户管辖的柜子编码

   useFun.requestApi('post', '/jeelowcode/dbform-data/list/1913206459306897409', {

     data: {

       manager_ids: userNumber

     }

   }).then(res => {

     if (res && res.records && Array.isArray(res.records)) {

       // 按你日志格式提取柜子编码

       allowCabinetCodes = res.records.map(item => item.cabinet_code || '');

       console.log('用户可访问柜子编码:', allowCabinetCodes);


       // 非管理员角色,追加多值搜索条件(按逗号拼接)

       if (userLoginRoleId !== '1' && userLoginRoleId !== '154') {

         _this.tableSearch.value.cabinet_code = allowCabinetCodes.join(',');

       } else {

         // 管理员清空条件,查询全部

         _this.tableSearch.value.cabinet_code = '';

       }


       // 刷新表格,让后端按条件过滤

       useFun.refreshChange();

     }

   }).catch(err => {

     // 删除了不存在的 useFun.msgError,只保留控制台日志

     console.error('查询权限柜子失败', err);

   })

 }

2.SQl增强,列表可以直接过滤,但是点搜索就报错

SELECT * FROM ym_hcm_im_bottle_qrcodes

WHERE

(

#{jeelowcode_user_id} IN (

   SELECT id FROM system_users WHERE login_role_id IN (1,154)

)

OR

(

   #{jeelowcode_user_id} IN (

       SELECT id FROM system_users WHERE login_role_id = 150

   )

   AND

   cabinet_code IN (

       SELECT DISTINCT c.cabinet_code

       FROM system_users su

       JOIN ym_hcm_rm_cabinets c

       ON FIND_IN_SET(TRIM(su.user_number), c.manager_ids)

       WHERE su.id = #{jeelowcode_user_id}

   )

)

)

AND #{jeelowcode_auto_where};

回答3

晚风

SQl增强,列表可以直接过滤,翻页正常,就是不能搜索,一搜索就系统开小差

写回答

扫码关注

微信公众号二维码