Foxtable(狐表)用户栏目Web开发 → [求助]订单系统,移动端,如何控制权限?


  共有376人关注过本帖树形打印复制链接

主题:[求助]订单系统,移动端,如何控制权限?

帅哥哟,离线,有人找我吗?
libo8284
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
[求助]订单系统,移动端,如何控制权限?  发帖心情 Post By:2020/6/15 10:25:00 [只看该作者]

周老师好,请教一下,订单系统(移动端)如何控制不同页面的访问权限?

我试了一下,好像PC端的那种权限控制,移动端没有

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:2098 积分:17572 威望:0 精华:19 注册:2008/9/2 10:09:00
  发帖心情 Post By:2020/6/15 20:37:00 [只看该作者]

权限方面的控制,一般在PC端实现起来比较方便。移动端毕竟屏幕太小了,不好操作。
PC端和移动端可以用同一个后台数据库的,pc端做了权限控制之后,在移动端同样可以使用。
当然,你也可以参考PC端的做法,在移动端做权限管理。

 回到顶部
帅哥哟,离线,有人找我吗?
libo8284
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
  发帖心情 Post By:2020/6/15 21:53:00 [只看该作者]

感谢周老师指导。

我的总体思路是,PC端用foxtable发布版(是以班长飞船的企业级框架为基础开发),PC端的功能最全。

移动端作为辅助,主要是让员工在企业微信上接收信息、查询数据,以及相对简单的数据输入,也让领导能在手机上能查看信息(他们可没时间盯着电脑)

权限控制,我的大致思路如下,请周老师指导一下,看看是否可行:

1)登录账号就是企业微信的账号,存入$.cookie('user');

2)根据企业微信账号,从后台数据库,获得人员的角色;

3)根据人员角色,获得角色具备权限的移动端模块;

4)由3)部获得的移动端模块数组,再设置对应模块的可见性,$("#模块名" ).css("display", "none")。

 回到顶部
帅哥哟,离线,有人找我吗?
libo8284
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
  发帖心情 Post By:2020/6/15 22:03:00 [只看该作者]

周老师,请教一下

上述第3)步,我用下述代码,获得了员工所具备的模块

$.getJSON('./dataListTj',{    
tablename:'SYS_用户管理',
cols:'角色集合',
tj:"员工编号='" + $.cookie('user') + "'"
},function(data1){
$.getJSON('./dataListTj',{    
tablename:'ZL_移动版模块权限',
cols:'模块',
tj:"角色编号='" + data1[0].角色集合 + "'"
},function(data2){

});
});

服务器返回的JSON数组如下:

  1. [{模块: "工作安排PC"}, {模块: "工作安排WX"}]
    1. 0:{模块: "工作安排PC"}
      1. 模块:"工作安排PC"
    2. 1:{模块: "工作安排WX"}
      1. 模块:"工作安排WX"


我想把这个JSON数组转成一个只包含值的字符串数组,如下:

["工作安排PC","工作安排WX"]

我看教程上的stringify方法,转成的字符串,包含了键名

请问应该如何转?

 回到顶部
帅哥哟,离线,有人找我吗?
libo8284
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
  发帖心情 Post By:2020/6/15 22:35:00 [只看该作者]

上面的问题搞定了,用下面的代码    
var list=[];
for(var j=0;j<data2.length;j++){
list.push(data2[j].模块)
}
[此贴子已经被作者于2020/6/15 22:35:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
libo8284
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
  发帖心情 Post By:2020/6/15 23:43:00 [只看该作者]

周老师,请指导一下

最后一步,控制tabs的显示,$("#模块名" ).css("display", "none")没有起作用

然后,我尝试用,$(".easyui-layout").tabs('getTab',"工作安排PC").panel('options').tab.hide(),也没有起作用

html的代码如下:
<div id="page_1">
<div title="工作安排PC"  ic>
<div class="easyui-layout" id="工作安排PC" fit=true>
<div region="north" height=50 border=false style="padding:10px;text-align: center">
<div id="table1_tool" class="m-buttongroup"></div>
</div>
<div region="center" border=false>
<div id="table1"></div>
</div>
</div>
</div>
<div title="工作安排WX" id="工作安排WX" ic>
<div class="easyui-layout" fit=true>
<div region="north" height=218 border=false style="padding:5px">
<form id="form_con" style="padding:10px">
<div style="float:left;margin:3px 5px"><input id="table2_jhbh" name="计划编号"></div>
<div style="float:left;margin:3px 5px"><input id="table2_zy" name="专业"></div>
<div style="float:left;margin:3px 5px"><input id="table2_fl" name="分类"></div>
<div style="float:left;margin:3px 5px"><input id="table2_rwmc" name="任务名称"></div>
<div style="float:left;margin:3px 5px"><input id="table2_czbl" name="产值比例"></div>
<div style="float:left;margin:3px 5px"><input id="table2_zrr" name="责任人"></div>
<div style="float:left;margin:3px 5px"><input id="table2_ksrq" name="开始日期"></div>
<div style="float:left;margin:3px 5px"><input id="table2_wcrq" name="完成日期"></div>
<div style="float:left;margin:3px 5px"><input id="table2_rwjz" name="任务进展"></div>
</form>
<div id="form_bt" class="m-buttongroup m-buttongroup-justified" style="width: 100%"></div>
</div>
<div region="center" border=false>
<div id="table2"></div>
</div>
</div>
</div>
</div>

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:2098 积分:17572 威望:0 精华:19 注册:2008/9/2 10:09:00
  发帖心情 Post By:2020/6/16 10:12:00 [只看该作者]

tabs本身是没有隐藏面板的方法的,而且,panel里的有些方法在tabs中无效,包括关闭面板、销毁面板等。
有两种方式可实现你需要的效果:

第一种,改隐藏为禁用。这个非常简单,tabs有现成的方法:
$('#page_1').tabs('disableTab','工作安排PC')

第二种,在使用tabs面板之前,将用户无权操作的选项先移除,然后再生成tabs选项卡
$('#page_1').find('div[title=工作安排PC]').remove().end().tabs()

 回到顶部
帅哥哟,离线,有人找我吗?
libo8284
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:586 威望:0 精华:0 注册:2020/5/8 22:46:00
  发帖心情 Post By:2020/6/16 10:30:00 [只看该作者]

收到,谢谢周老师指点

 回到顶部