CRM的dev(六)--在JS中如何获取到用户id对应的角色用户名

时间:2022-06-07 07:23:44

在CRM系统的查看功能时候,查看的时候,数据库里面加载的数据全是对应用户,对应状态的数字结果:1,2,3,4
显示出来是这个样子:
CRM的dev(六)--在JS中如何获取到用户id对应的角色用户名
需要在查看的时候,让1,2,3,4显示成对应的用户角色:
需要在JS代码中如下操作:
【分析】:
1–先获取到对应的input里面的id的值;
2–对应的值需要进行角色名字的转换;
3–将转换后的数据进行填充;

我们需要在Controller里面添加如下的用户id和用户名的对应关系的转换:

/**
* 加载返回用户id&username对应关系
* @return
*/

@ResponseBody
@RequestMapping(value = "/idmapping" ,method = RequestMethod.POST )
public R querySysUserIdMapping() {

Map<String, String> idmapping = new HashMap<>();
List<SysUserVO> list = sysUserService.queryList(new HashMap<>());
for(SysUserVO vo : list){
idmapping.put(StringUtil.getString(vo.getId()), vo.getUserName());
}

return R.ok().put("idmapping", idmapping);
}

然后在Ajax的Columns字段下面加上这样的function:

onBeforeLoad: function(param){//加载客户信息id&statusValue对应关系
$.ajax({
url: ctx+'/sys/user/idmapping',
type: 'post',
contentType: "application/json",
dataType: "json",
success: function (data){
idmap = data.idmapping;
}
});
},

然后在具体的查看业务的JS部分加上:

//查看当前行信息
$('#customerlook').bind("click", function(){
//清除表单内容
$('#customerfm').form('clear');
//已选择节点
var row = $('#customerdg').datagrid('getSelected');
if (row){
//填充信息
$('#customershowtrdlg').dialog('open').dialog('center').dialog('setTitle','查看客户信息');
$('#customershowtrfm').form('load',row);
//--------------------------------对应角色的获取与填充
//获取创建人id
var show_create_id=$('#show_create_id').val();
var show_modifier_id=$('#show_modifier_id').val();
var show_checker_id=$('#show_checker_id').val();
//转换成中文
var screateid=idmap[show_create_id];
var smodifierid=idmap[show_modifier_id];
var scheckerid=idmap[show_checker_id];
//数据填充加载
$("#show_create_id").textbox("setValue", screateid);
$("#show_modifier_id").textbox("setValue", smodifierid);
$("#show_checker_id").textbox("setValue", scheckerid);
}else {
$.messager.alert('提示信息','请选择一条记录!','info');
}
});

到这里基本大功告成~欧耶~
改好后的查看截图:
CRM的dev(六)--在JS中如何获取到用户id对应的角色用户名