相对于后面的 head 来说,这里是大图模式,在ListDto中表示使用图片的模式渲染
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 数字 | 1 | 图片数量 |
args2 | 字符 | cate | 存放在什么位置,上传图片的时候会附带到参数type中 |
args3 | 字符 | 60*60 | 图片是否需要压缩,压缩的宽高,不压缩的设置为0,比如60*0 |
args4 | 字符 | small | small,normal,big表示图片的大小三个规格,默认normal,如果要返回格式,则由dataFrom决定 |
使用方式同 image 这里表示的是小图标模式
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 数字 | 1 | 图片数量 |
args2 | 字符 | cate | 存放在什么位置,上传图片的时候会附带到参数type中 |
args3 | 字符 | 60*60 | 图片是否需要压缩,压缩的宽高,不压缩的设置为0,比如60*0 |
args4 | 字符 | arr或str | 默认值str对应字段的类型,是array类型还是string类型,如果是string类型多个之间用,隔开 |
其实可以使用image的接口,他们2个的返回格式都是一样的,wangEditor的返回格式,主要是UI上不一样,毕竟文件没法预览
存放文件夹?路径?
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | /api/app/Upload/UpImage | 表示上传的路径,默认是/api/app/Upload/UpFile,你也可以自己修改他,args1或者args3必填其中一个 |
args2 | 字符 | file | datadir |
args3 | 字符 | global_upload_file(this); | onchange函数 |
args4 | 字符 | 待定 | 为后续扩展做准备 |
小程序中的地区选择,可以配置精确度,到区还是到县
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | region | 表示地址选择的层级,可选region和sub-district |
args2 | 字符 | str | 可用值str或者arr 表示返回的数据类型,str的时候用,隔开 |
表示一个值需要从外表获取,编辑的时候如何显示? 比如fatherId,extendRole
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | cateInfo | 外表的名称,对应模板的path,或者路径,路径一定附带了/字符示例./abc.html |
args2 | 字符 | extendCates | 表示显示的数据,需要和下面2个配合,是一个当前的扩展,目标数组要配置hidden |
args3 | 字符 | id | 获取返回对象的属性,一般为id |
args4 | 字符 | name | id的友好名称显示,这里指的是外表,比如cateId,需要打开catelist页面,选择后,返回cate,则name作为友好显示,id作为实际值 |
outer的复数版本,表示可以从外部列表中选择多个,比如在创建账号的时候给他绑定多个角色,就用这个!
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | cateInfo | 外表的名称,对应模板的path,或者路径,路径一定附带了/字符示例./abc.html |
args2 | 字符 | extendCates | 表示显示的数据,需要和下面2个配合,是一个数组,目标数组要配置hidden |
args3 | 字符 | id | 获取返回对象的属性,一般为id |
args4 | 字符 | name | id的友好名称显示,这里指的是外表,比如cateId,需要打开catelist页面,选择后,返回cate,则name作为友好显示,id作为实际值 |
ListDto中用于外表的显示,比如有字段cateInfoId,对应的ExtendCateInfo要标记为outerdisplay,args2配置为extendCateInfo?.name || ‘’,否则会显示为[object object]
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | cateInfoId | 表示这个字段的值,一般不显示 |
args2 | 字符 | extendCateInfo?.name | 表示显示的名称,友好名称,需要后端支持,在前端会处理成.display |
默认的yyyy-MM-dd HH:mm:ss的格式
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | yyyy-MM-dd HH:mm:ss | 表示时间使用的格式 |
表示隐藏这个字段,一般是主键ID,或者外表链接过来的会这配置,比如需要给cate添加子项,则添加由cate那边过来
这个也适用于ListDto
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | bind | 如果不填表示隐藏,如果填写了表示页面的query中model=xxx的时候不隐藏,表示非xxx的时候隐藏,xxx的时候不隐藏 |
密码框模式
如果从query中获取到了数据,则对应的字段隐藏,注意不要配置hidden,因为查询的时候是从表单读取数据的,hidden的话是不写入到form中的,那样查询就没法获取query来的值了
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | cateid | 表示使用url中的哪个参数读取值 |
表示这个字段是只读的,一般是编辑的时候生效
如果是字符串,没有设置maxlength,默认就会变更成richtext,也可以手动强制配置
如果是字符串,设置maxlength,且设置的值大于128,默认就会变更成textarea,也可以手动强制配置
对于一些长度过长的,会被判定为textarea,或者richtext的可以使用这个强制换行成text
这个是指后台单位为分,又需要前端进行元输入的,注意小数位数为2位小数,也就是分的格式为int
表示单选,比如权限类型,一般是指固定类型的,一般不修改的那种情况,也可以表示状态等,value的值要基于这个对象的类型来确定,比如string和int
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | [{“name”:”大”,”value”:”1”},{“name”:”小”,”value”:”2”}] | 表示单选的可选值,name是显示 value是值 |
args2 | 字符 | 表示值得类型,这里是单个,跟随主类型走 |
表示多选,这个表示的是页面上的多选,需要列表显示,然后是可以多选!关键在于最后读取数据的时候,需要判断是什么格式的!
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | [{“name”:”大”,”value”:”1”},{“name”:”小”,”value”:”2”}] | 表示单选的可选值,name是显示 value是值 |
args2 | 字符 | , | 如果值类型不是数组,则返回字符串,用这个字符拼接,也就是分割字符 |
表示排序,表示字段的顺序,一般表格比较会使用这个
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 数字 | 0 | 小的排在前面,默认为0 |
这个用于表格显示,一般表示用于显示外表的数据,这个将弃用,使用outerdisplay替换
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | extendCate.name | 显示的外表链接,示例extendCate?.name表示显示cate.name或者空这个一般用于ListDto中 |
表示这个字段在表格得宽度,可以为*或者对应得数字,是表格得列的宽度的权重,这个适用于ListDto
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | 60 | 表示这个列的宽度,可以为数字也可以是*比如3*这样 |
表示基于哪个字段进行排序,这个一般是ListDto表示表格中,可以基于哪个字段进行排序查询
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | id | 表示使用id正序排序 |
args2 | 字符 | id desc | 表示使用倒叙排序 |
前端表示使用datalist作为选择数据源,前端需要把datalist的id赋值给datalistid,默认为字段name,这个规则适用于表单和QueryDto
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | [{“name”:”正常”,”value”:”1”,”selected”:true}] | JSON的字符串,也可以为空 |
args2 | 字符 | data_pro | 表示调用哪个datalist数据,表示datalist的id,和args1互斥 |
args3 | 字符 | read_pro_datalist() | 表示需要使用eval执行哪个函数,一般和args2配合使用,和args1互斥 |
主字段需要设置为daterange,其他字段需要设置hidden,在最后组合数据的时候,会基于参数生成对应的,应该要设置为可null格式
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | sdate | 表示开始时间,最后会传送yyyy-MM-dd 00:00:00的格式数据 |
args2 | 字符 | edate | 表示结束时间,如果你选择2024-08-31,最后上送的会是2024-08-31 00:00:00 |
args3 | 字符 | yyyy-MM-dd 00:00:00 | 表示时间的格式化,默认使用yyyy-MM-dd 00:00:00 |
特殊限定,限定于class的,表示禁用这个模型的哪些功能,这个一般用于ListDto,因为这些功能都在列表页面
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | add | 表示忽略新增,也就是不显示新增按钮 |
args2 | 字符 | edit | 表示忽略编辑,表示列表中没有编辑的这个选项,有些数据只能看,不需要新增和编辑 |
args3 | 字符 | del | 表示这个表没有删除,页面UI中不需要删除按钮 |
用于列表后面的菜单 比如\<a href="javascript:;" onclick="args2">\<i class="Hui-iconfont args3"></i>\args1</a>
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | 编辑 | 按钮的名称 |
args2 | 字符 | open_view(<%:=item.id%>); | onclick事件的代码 |
args3 | 字符 | Hui-iconfont-menu | 样式名称 |
args4 | 字符 | box | 默认不写,如果写box表示要方入到menubox中 |
基于条件模式的菜单,使用于Listdto中
示例: [ColumnDataType(“ifmenu”, “item.age==8”, “<a href=\"javascript:;\" onclick=\"open_window(`222`,`./index.html?path=userInfo&goid={{:=item.id}}`)\">条件2</a>“, “box”)]
数据对象就是item表示当前这行数据
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | isReady == true | if的表达式中()内的内容 |
args2 | 字符 | \<a hreaf="javascript:;" onclick="open({{:=id}})"></a> | 这里填写条件后的菜单代码,注意引用需要使用{{}} |
args3 | 字符 | box | 默认不写,如果写box表示要方入到menubox中 |
用户表格数据中的批量操作,示例<input type="button" class="btn btntool" value="args1" onclick="args2">
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | 编辑 | 按钮的名称 |
args2 | 字符 | open_view(<%:=item.id%>); | onclick事件的代码 |
args3 | 字符 | Hui-iconfont-menu | 暂未实现,预留给图标用 |
args4 | 字符 | 预留字段 |
已抛弃,使用下方的html替代,如果要显示自定义的表格,则使用这个,表示直接显示信息模板注意里面的带参使用{{:=item.name}}这样的形式
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | <div><span>{{:=item.name}}</span><span>{{:=item.desc}}</span></div> | 需要在td中显示的html代码,支持模板的写法 |
如果要显示自定义的表格,则使用这个,表示直接显示信息模板注意里面的带参使用{{:=item.name}}这样的形式
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | <div><span>{{:=item.name}}</span><span>{{:=item.desc}}</span></div> | 需要在td中显示的html代码,支持模板的写法 |
表示把某些参数穿透给子页面,比如服务->文件,则可以在服务A页的时候查看文件列表B页,在文件列表中可以直接新增文件C页,这个时候我们希望对应的服务ID直接由参数传入
也就是在打开C的时候,希望把B的参数传递给C,注意这个linkquery是放在ListDto中的Class上的,也就是和disable一样
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | 需要传递的参数 | 多个之间用,隔开,比如serviceid,ftype |
适用于表单页面,表示从另外一个表单新增数据,比如用户的收货地址,在表单的时候,打开一个新的表单,进行信息填写后,返回一个obj,这个时候是没有写入数据库的,所以在返回的时候需要显示
和outer有点像,不过回传的是一个object类型!如果是编辑的时候?需不需要上传到API表示编辑了?打开表单的时候会传递model=object这个参数过去,表示叫子表单不要做API入库操作
注意这个子模型也是需要建立对应的API的,不过不需要建立新增和编辑的接口,因为被上一级涵盖了!
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | roleInfo | 一般使用path也可以使用页面的路径 |
args2 | 字符 | id | 新增的时候无用,主要是编辑的时候,基于这个id和path去数据库查询新的数据 |
args3 | 字符 | name | 表示显示的是这个object的哪个字段,一般在编辑的时候可见 |
object的复数版本,表示一个集合,比如一个会员有多个爱好,新增的时候,打开子表单,填写多个爱好的object信息体返回,在显示的时候,如果一个字段不足以显示???是否支持多个字段联动显示?
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | roleInfo | 一般使用path也可以使用页面的路径 |
args2 | 字符 | id | 新增的时候无效,编辑的时候表示从数据库查询信息,也作为删除的key使用 |
args3 | 字符 | name | 表示显示的是这个object的哪个字段,一般在编辑的时候可见 |
字段详细说明,或者是文档,这里是做一个描点,需要使用公共函数自己实现具体的要求,一般的是项目下面的模块的某一个字段的说明,一个项目往往这个是一样的,然后就是哪个模块的哪个字段,所以有2个字段
会在title后面生成一个span class=”tapmark” onclick=”global_tap_mark(_modek,_code)”;
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | product | 一般作为模块使用,比如商品的这个模块 |
args2 | 字符 | code | 模块下的一个字段的说明,比如code这个字段的用法,案例说明等 |
作为有些表的特殊布局,就是自定义布局表格部分的内容,包括表头和表身2个部分,注意需要实现选择的功能,除非这个表用不到选择这个功能
文件存放于pasteform/template.html,就只有一个template.html页面,里面的都是模板代码
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | template_user_head | 表格的表头部分的script的id |
args2 | 字符 | template_user_body | 表格的表身部分的模板的script的id |
针对一些特殊的设定,比如textarea,有些地方我们要设置高一些
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | height:500px; | 就是style里面的内容 |
用于表格中显示switch,否则显示true/false
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | view | 当model==args1的时候才生效,如果全部要生效则标记为空 |
针对一些自定义的class,可以通过这个来配置
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | btngo | 表示这个对象要添加的class |
用于表单中,的按钮,用意是让用户点击后触发函数,global_form_button_click(this,className,name);
注意按钮的value为当前字段的value,比如当前页面的path=nginxRoute
/// <summary>
/// Http模板 表示使用Http模式的模板的内容
/// </summary>
[ColumnDataType("button")]
public string Temp1 { get; set; } = "点击导入";
则上面会生成的页面内容为
Http模板:点击导入
点击导入点击后,会调用global_form_button_click(this,’nginxRoute’,’temp1’);
注意由于返回的首单次会小写,所以是temp1而不是Temp1
用于显示单位,比如MB,KG,个等,一般在Int Long Double等Number地方后显示,也可以作为表格中显示?
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | MB | 表示这个对象的单位 |
用于文本的拆分,比如int[] long[] string[]等的显示和编辑
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | , | 表示使用什么来分割,分割后的类型看数据本身 |
args2 | 预留 | ||
args3 | 预留 | ||
args4 | 预留 |
1.列表中可编辑的对象 比如switch?
handler_switch_change(elc){
// className columnName id state
}
2.外表选择的时候,是否支持多选模式?
多选模式的时候,如何加载已经选中的,已经选中的如何删除?难不成要搞一个选定区域?
3.Int32[] Int64[] String[]
这种数据的显示和最后更新
4.表单数据的提交前的数据格式的校验!
5.daterange如何设定
单个变成多个!
6.有些数据不需要新增,和编辑 ,虽然可以使用API控制,但是在前端有这么个按钮存在,也是很突兀的,所以得处理
7.管理员拥有多个角色,这个多个角色的显示和编辑问题!
selects 可以设定返回多个
list设定显示的方式 关键在于如何每次编辑的时候不是覆盖!还是写一个单个删除的接口?
8.enum类型的显示问题?其实就是enmu变种到attribute的select!!!
9.从角色绑定权限来说,角色列表,点击权限(给这个角色绑定权限),打开的权限列表是所有的,需要绑定的勾选,不要的取消勾选
model=bind 则有一些字段这个模式下才显示
hidden.args1表示某一个模式,如果为空表示都隐藏
1.必填,如果是int的类型的,是不是只能非0,还是不生效?
2.对于menu的支持,参数因该是{{}}控制的,而不是<%%>
3.enum类型的返回,是返回值,还是对应的名称?是否支持enum转select?
4.有时候表单只是为了新增一个数据,不入库那种!outform model=outform 返回组合的 …待定
5.比如查看某一个列表—子项列表—子项添加
linkquery cateid,abcid
6.单位转化,比如后台是分,前端需要输入元 那么就是在输入的时候是元,显示是元 提交的时候是分!!!
fentoyuan 分转元 默认2位小数点
7.关于是否需要显示详情页面的问题,因为有时候表格数据是显示不全的,比如richtext,这个时候可能需要一个detail.html页面
如果要呈现,则需要对应的模型Dto的属性,生成器默认是去除的,则需要自己在Domain中添加/template/dto.html作为生成模型替换生成器默认的模型!
页面的呈现上和表单类型,把输入框等渲染成直接显示的即可!
然后再由ListDto中,添加菜单detail的支持!
8.在列表页面中,如果一个对象被标记为query,如果从参数中获取到了值,则这个查询项进行隐藏操作
9.如果列表页面的当前状态为model,则上方的搜索区域默认隐藏
10.关于引入字段说明的事情,比如一个表单100个字段,各个字段表示什么意思,一般的做法是点击对应的?然后弹出或者是跳转到某一个站点,显示这个介绍
mark由此而来
11.是否加入自模型,就是表格数据展示的样式,是否引入自定义的模板???
默认是使用内置的二次模板,如果是引用外部的化,则需要整个,也就是表头和表身都需要!
需要外部写一个html的template页面,然后使用Jquery的load加载进去!
在ListDto中,使用template进行标注,标注args1为表头样式的模板 args2为表身部分的内容
12.添加对自定义样式的支持 style class
13.添加对menubox的支持,针对很多按钮的情况
14.表单中需要特意操作的,添加函数支持 把表单的数据传递过去 由自定义函数决定执行结果!global_form_action(elc,className,name,location.search);
项目路由中的 载入模板 模板测试等!
15.搞一个占位的?有时候的排版等,需要空开一个位置
16.可以搞一个属性继承于基础属性,这样在输入的时候会好些,比如PasteMarkAttribute:ColumnDataTypeAttribute;
17.窗口的弹出大小问题,有些情况需要大的 有些情况小的 有些情况要动态的!
18.查询的select和表格的select冲突的问题!!!
19.表格的不同模式下,不同字段的显示问题!
1.添加对全选模式的支持
a.全部选择,反选,手动选择!
b.多种按钮,至于上方!还是冒出来一行新的?
c.批量操作的按钮在attributes中,率属于ListDto的Class中
批量操作的具体实现需要在公共函数中自定义实现!!!
2.是否添加前缀,比如$ ¥等!
3.path支持路径写法,比如原来的写法roleInfo
现在可以支持/api/task/roleInfo
表示不使用默认的路径/api/app/roleInfo
4.引入公共函数库,之前已经有style.less->style.css作为公共样式库
那么Js是否也需要,如果需要,那应该在pasteform文件夹之外,防止版本覆盖的问题,这个问题style.less应该也要遵守
5.index页面中,当model==bind的时候不再显示最后一列的操作,因为一般是空格的!!!
6.修改表格的外围border,解决滚动的时候表格上面和下面没有边框的问题
7.修复index页面中的select默认选中不生效的问题
1.修复Enum在Domainn内的时候找不到的情况
2.修复204返回的问题
1.添加对object的支持,也就是字段object的类型的支持
2.修复img[] 也就是多图的时候的问题
1.?是否添加splitarray,表示字符串转数组,至于转int[],long[],string[] 看类型!
2.object的编辑的时候的支持,由数据转sessionStrorge url+rand_db_key 页面打开后读取,渲染!!!
3.添加对object的默认值的支持,包括UI的显示,和向外打开的数据呈现(object可以看成是另外一个对象,包含多个属性)