VEITOOL 框架开发文档(TP版)
官方文档
官网
登录
关于框架
免责声明
开发规范
安装部署
目录结构
配置信息
后端开发
前端开发
系统常量
基础配置
依赖框架
构建命令
基础模块
控制器类
权限控制
全局函数
常用方法
单页模式
主框组件
构建组件
搜索渲染
数据字典
VEITOOL文档系统
数据字典
::: center !16 本项内容均为 !!#ff0000 v2.0.1!! 版本新增功能属性! ::: ## 数据结构 该功能主要是针对于快速实现下拉选项,以及方便选项数据的调用渲染和统一管理而增加。字典数据结构为多维数组,每个字典编码键对应一组字典数据,其结构为: ``` js "DICT_KEY": [ //DICT_KEY 字典编码 { "id": 1, "name": "字典项名", "value": "字典项值", "pid": "上级ID", "pids": "所有上级ID串,逗号隔开。无则留空" }, { "id": 2, "name": "字典项名2", "value": "字典项值2", "pid": "上级ID", "pids": "所有上级ID串,逗号隔开。无则留空" }, ... ] ``` 其中必须有的两个字段:`name`、`value`,当为树形结构时,必须有字段:`pid`。 ## 子页中下拉项渲染 字典数据在第一次访问框架主页时,和主菜单、用户数据一并加载缓存于本地页面中。 在异步请求得到的子模板页中系统会对含有属性 `v-dict="KEY"` 的标签自动调用 `admin.vDict()` 方法进行渲染,并且在子页的 `layui.use()` 逻辑中可通过方法:`admin.getDict('字典编码')` 随时、随处获取对应的字典数据。其在模板页中的渲染模式有两种: 1. SELECT 标签形式 `
请选择
` 2. DIV 标签形式 `
` 其中`options` 属性请参照第三方扩展:
xm-Select
该扩展可以轻松实现下拉树,以及单选、多选等功能 ``` html
请选择1
请选择2
请选择3
组织4
搜索
全部
``` ## 弹窗中下拉项渲染 弹窗中如果调用了字典,需要在弹窗业务完成后再单独执行一下字典渲染方法即可: ``` js admin.open({ type: 1, bid: 'test_items', btn: ['保存', '取消'], area: ['600px','600px'], title: '页面', shadeClose: false, success: function(lay,index){ layui.buildItems.build({ gid: gid, bid: 'project168_items', map: map_root + 'system.upload/', data: [ {name:"id",type:"hidden"}, {name:"title",type:"text",title:"名称",value:"",verify:"required",must:true,placeholder:"请输入名称",affix:"clear"}, {name:"organ",type:"html",title:"组织",html:'
',must:true}, //v2.2.0开始支持 url 动态获取数据渲染 其中属性 initValue="初始选定值" 为 v2.3.3 新增 {name:"organ",type:"html",title:"组织",html:'
请选择1
'}, {name:"organ",type:"html",title:"组织",html:'
请选择2
'}, ] }); //admin.vDict(lay) //这里在弹窗构建完成后对其执行字典数据渲染 admin.vDict(lay,{"ABCD":"/admin/index/index?do=json2"}); //v2.2.0开始支持 url动态获取数据渲染 //admin.vDict(lay,{"ABCD":{ali:'支付宝3',wechat:'微信4'}); //指定对象数据进行渲染 //admin.vDict(lay,{"ABCD":[{'value':'ali','name':'支付宝2'},{'value':'wechat','name':'微信2'}]); //指定数组对象进行渲染 form.val('test_items_form',{pay:'ali'}); //这里的赋值须放在渲染的后面 } }); ```