'manage/admin', # 列表页配置 'list' => array ( //'where' => array('group_id' => $group), # 列表页类型 table表格、article文章、pic图片、goods商品,默认是表格,除table外,其余类型需要增加layout项,用以控制展示位置,并且批量操作功能将失效,如批量删除、批量操作等,后续增加更多类型 'type' => 'table', # 是否显示序号 /* 'index' => array ( 'name' => '序号', # 固定表头,field中也支持 'fixed' => true, ), */ # 展示的字段 'field' => array ( 'id', 'name', # 实现多级表头,两个字段合并到一起展示,因vue3问题,仅支持三级表头哦 /* 'test2' => array ( 'name' => '基本资料', 'type' => 'mul', 'child' => array ( 'avatar' => 'image', 'mobile' => array ( 'type' => 'show', # 加入排序 'sort' => true, ), ), ),*/ 'avatar' => 'image', 'mobile' => array ( 'sort' => true, ), 'job', /* # 自定义展示内容 'job' => array ( //'show' => 'Dever::db("job", "test")->find("{id}")["name"]', # 气泡卡片展示 'type' => 'popover', # title 'title' => '查看更多', # 位置:top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end 'location' => 'right', 'show' => 'Dever::load("common")->show("{job}")', ),*/ 'status' => array ( 'type' => 'switch', 'show' => '{status}', 'active_value' => 1, 'inactive_value' => 2, ), 'cdate', ), # 扩展展示内容 //'expand' => 'test/common.show', /* 'type' => 'article', 'layout' => array ( array ( 'type' => 'avatar', 'value' => array ( 'image' => 'avatar', ) ), array ( 'type' => 'content', 'value' => array ( 'title' => 'name', 'description' => 'job' ) ), array ( 'type' => 'content', 'value' => array ( 'item' => array('时间', 'cdate'), ) ), ), */ /* 'type' => 'goods', 'layout' => array ( 'tag' => 'mobile', 'image' => 'avatar', 'title' => 'name', 'description' => 'job', //'icon' => 'icon', ),*/ /* 'type' => 'pic', 'layout' => array ( 'id' => 'id', 'image' => 'avatar', ),*/ # 列表页描述 //'desc' => 'test', # 列表的高度,auto和100%或者具体数值,默认是auto 'height' => 'auto', # 列表页按钮,默认是快速新增和删除 'button' => array ( '新增' => 'add', //'新增' => 'fastadd', '删除' => 'recycle',//删除到回收站 //'彻底删除' => 'delete', //'更改角色' => array('oper', 'job'), //'链接跳转' => array('link', 'https://www.baidu.com/'), //'路由跳转' => array('route', 'test/menu?test=1'), ), # 列表页每条数据的按钮,默认是快速编辑和删除 'data_button' => array ( '编辑' => 'edit', //'编辑' => 'fastedit', # 只处理某个字段,多个用逗号隔开 //'编辑' => array('fastedit', 'name'), //'编辑' => array('fastedit'), '删除' => 'recycle',//删除到回收站 //'彻底删除' => 'delete', //'操作' => array('oper', 'job'), //'接口操作' => array('api', 'api'), //'详情' => array('view', 'platform/admin?type=view&id=id'), //'链接跳转' => array('link', 'https://www.baidu.com/'), # 第三个参数可以自定义图标:https://element-plus.org/zh-CN/component/icon.html#icon-collection //'路由跳转' => array('route', 'test/menu?test=1', 'ChatLineSquare'), ), # 列表页导入 'import' => array ( ), # 列表页导出 'export' => array ( 'out' => '导出', 'manage/common.out' => '自定义导出', ), # 搜索字段 fulltext 模糊查询 'search' => array ( 'name', 'mobile', 'job' => 'group', ), # 统计 //'stat' => 'manage/common.stat', ), # 更新页配置 'update' => array ( # 更新页描述 'desc' => '', # 自定义标签 支持分栏 /* 'tab' => array ( # 不设置分栏 '基础设置' => 'name,mobile', # 设置分栏 '基础设置' => array ( array ( 'name' => 12, 'mobile' => 12, ), ), '普通设置' => 'password', '其他设置' => 'job', ), # 自定义步骤 支持分栏 设置后,tab将失效 'step' => array ( '第一步' => 'name,mobile', # 设置分栏 '第一步' => array ( array ( 'name' => 12, 'mobile' => 12, ), ), '第二步' => 'password', '提交' => 'job', ), # 自定义布局 24分栏布局,设置后,tab和step里的设置将失效 'layout' => array ( array ( 'name' => 12, 'mobile' => 12, ), array ( 'password' => 12, 'job' => 12, ), ),*/ # 要更新的字段 'field' => array ( 'name' => array ( 'type' => 'text', # 定义editor的工具栏,一般无需配置,参考wangEditor https://www.wangeditor.com/v5/toolbar-config.html#toolbarkeys,这里直接配置toolbarConfig的值 /* 'editorToolBar' => array ( 'toolbarKeys' => array ( 'headerSelect', '|', 'bold', 'italic', ), 'insertKeys' => array(), 'excludeKeys' => array(), ),*/ # 定义editor的菜单配置,一般只需要配置上传规则即可,其余也可以配置,参考wangEditor https://www.wangeditor.com/v5/menu-config.html,这里直接配置editorConfig.MENU_CONF的值 'editorMenu' => array ( # 定义上传规则,与uploadVideo一样,无需定义server 'uploadImage' => array ( # 这里传入上传规则id 'upload' => 1, # 不传则默认为file 'fieldName' => 'file', ), # 也可以直接传入上传规则,其余配置默认 'uploadVideo' => 3, ), 'maxlength' => 30, # 描述 'desc' => '', ), /* type的值 text:单行文本 set: maxlength:最大输入长度 minlength:最小输入长度 size: 大小,'large' | 'default' | 'small' password:文本密码框 textarea:多行文本 rows:多行文本的行数,默认为2 editor:编辑器 number:数字计数器 set: step:计数器步数,默认为1 min:最小值 max:最大值 precision:精度,小数点几位 position:按钮位置:left、right,不填为两端 switch:开关 set: open_color:开启颜色 close_color:关闭颜色 open_text:开启文字 close_text:关闭文字 slider:滑块 set: max:最大值 step:步数 stops:是否显示间断点 input:是否显示输入框,true/false range:是否范围选择,true/false format:格式化展示数字,这里是一个计算公式,如{a}/100,{a}为当前值变量名 radio:单选 radio_button:单选按钮样式 set: border:单选边框样式 checkbox:多选 checkbox_button:多选按钮样式 set: border:多选边框样式 min:多选限制选择数目,最小选择数目 max:多选限制选择数目,最大选择数目 tree:树形选择器 tree2:大量数据下的树形选择器,暂时不支持 cascader:级联选择器,可以做地区等 select:选择器 select_tree:选择器,多选的树形模式 set: clearable:是否可清空选择,true/false multiple:开启多选,true/false url:开启远程搜索,这里定义远程搜索的url remote:开启远程控制,这里定义远程控制的url rate:评分 set: score:是否显示分数 text:是否显示文字 date:日期,不带具体时间 date_type: dates:多个日期 year:只显示年 month:只显示月 week:只显示周 datetime:带有时间的日期 datetimerange:带有时间的日期范围 daterange:日期范围 monthrange:月份范围 set: disable_func:禁止选择方法,需要根据不同的date_type实现不同的方法,默认为不能选择今天之后的日期:return time.getTime() > Date.now() format:格式化展示,YYYY-MM-DD,参考:https://day.js.org/docs/en/display/format#list-of-all-available-formats shortcuts:默认展示的日期,值如: array ( array ( 'text' => '今天', 'func' => 'return new Date()', ), ), start_placeholder:开始日期文字描述 end_placeholder:结束日期文字描述 range_separator:日期范围文字描述 step:步数 start:开始日期 end:结束日期 default:默认日期 time:仅选择时间 step:步数 start:开始时间 end:结束时间 */ 'mobile' => array ( # 仅限编辑,值为add/edit,不填则所有有效 //'only' => 'edit', 'name' => '手机号', 'type' => 'text', 'disable' => false,//是否禁用 'placeholder' => '',//提示语 # 校验规则,如rules => true,是必填, 无rules或者rules=false,就是选填 # 参考:https://github.com/yiminghe/async-validator 'rules' => array ( # 规则1 array ( # 必填 'required' => true, # 输入后触发 'trigger' => 'blur', # 提示信息 'message' => '请输入手机号', ), # 规则2 array ( # 最小字符 //'min' => 3, # 最大字符 //'max' => 5, # 长度 'len' => 11, # 正则 'pattern' => Dever::rule('mobile', ''), 'trigger' => 'blur', # 提示信息 'message' => '手机号错误', # 验证类型 date,array,number,boolean,integer,float,url,email,enum,string 'type' => 'string', ), ), ), 'password' => array ( 'type' => 'password', # 更新时的值,始终是空的,有值才更新 'update' => '', # 对更新的值进行处理 'handle' => 'manage/common.createPwd', # 空值不允许入库 'empty' => false, 'rules' => array ( array ( # 仅限新增时必填,值为add/edit,不填则所有有效 'only' => 'add', 'required' => true, 'trigger' => 'blur', 'message' => '请输入密码', ), array ( 'min' => 6, 'max' => 18, 'trigger' => 'blur', 'message' => '密码长度不能超过18或者少于6个字符', ), ), ), 'job' => array ( 'type' => 'checkbox', # 是否开启控制功能,需要配置control //'control' => true, # 开启远程获取数据功能,这里设置接口即可,访问到api下,参考manage组件吧 //'remote' => 'manage/admin.getSystem', ), # 定义另外一个表或者方法里的字段,带有"."就是方法,调用manage/job里的upload配置,这里也可以自行配置 //'manage/job' => 'upload', 'avatar' => array ( 'type' => 'upload', # 这里传入上传规则id 'upload' => '1', # 如果上传规则是上传到云端,配置了这个将直接上传至云端,不做本地上传 'yun' => false, # 是否支持多选 'multiple' => false, # 提示 'tip' => '', ), ), # 是否开启控制功能 /* 'control' => array ( 'avatar' => array ( 'job' => 1, ), ), */ # update提交之前的操作,需要验证哪些字段唯一,多个用逗号隔开 'check' => 'mobile', # update提交之前的操作 'start' => '', # update提交之后的操作 'end' => '', ), # 详情页配置 'view' => 'common.view', );