简单的数据字典前端实现

最近因为业务需求,需要用到数据字典,于是自己动手写了个简单的前端实现,在这里记录一下,以备以后查看。

首先说说思路,把数据字典所有数据取出来,拼成json字符串,发送到前台,由前台解析成json对象,并应用到各个页面。

json字符串格式是这样的:

[
    {
        "groupName":  {
                        "typeCode1": "typeText1",
                        "typeCode2": "typeText2",
                        "typeCode3": "typeText3"
        },
        "groupName": {
                        "typeCode1": "typeText1",
                        "typeCode2": "typeText2",
                        "typeCode3": "typeText3"
        }
    }
]

java端取数据拼字符串代码:

    @Transactional(readOnly = true)
	public String getAllTypeGroup() {
        //获取数据字典中所有数据
		List<TSTypegroup> typeGroups = this.commonDao.loadAll(TSTypegroup.class);

		StringBuffer dic = new StringBuffer();
		dic.append("{");
		for (int j = 0; j < typeGroups.size(); j++) {
			TSTypegroup typeGroup = typeGroups.get(j);
			if (j==0){
				dic.append("\"").append(typeGroup.getTypegroupcode()).append("\": {");
				List<TSType> tsTypes = typeGroup.getTSTypes();
				for (int i = 0; i < tsTypes.size(); i++) {
					TSType tsType =  tsTypes.get(i);
					if (i==0){
						dic.append("\"").append(tsType.getTypecode()).append("\": \"").append(tsType.getTypename()).append("\"");
					}else {
						dic.append(",\"").append(tsType.getTypecode()).append("\": \"").append(tsType.getTypename()).append("\"");
					}
				}
				dic.append("}");
			}else {
				dic.append(",\"").append(typeGroup.getTypegroupcode()).append("\": {");
				List<TSType> tsTypes = typeGroup.getTSTypes();
				for (int i = 0; i < tsTypes.size(); i++) {
					TSType tsType =  tsTypes.get(i);
					if (i==0){
						dic.append("\"").append(tsType.getTypecode()).append("\": \"").append(tsType.getTypename()).append("\"");
					}else {
						dic.append(",\"").append(tsType.getTypecode()).append("\": \"").append(tsType.getTypename()).append("\"");
					}
				}
				dic.append("}");
			}
		}
		dic.append("}");
		return dic.toString();
	}

json字符串拼接好后,在登陆时将他传递到后台主界面中,主界面接收后台数据并处理成数据字典对象:

var dic = $.parseJSON('${dicList}');

子界面调用父页面数据字典:

//数据字典对象
    var dic = parent.dic;

数据字典的使用:

//根据字典code获取到字典数据
var TSType = dic['saleMethod'];
//根据当前需要转换的code获取到文本值
return TSType[value];

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值