随时项目开发,遇到越来越多的问题,目前出现了同一个模型,在不同的页面进行展示,但是展示列不同,修改模型,但是不能互相影响页面的需求
在这里区分是否是ui编辑器生成的页面和vue渲染的页面两种,
一、先记录下用ui编辑器生成的页面怎么修改
大概逻辑就是给ui编辑器生成的页面的列表组件加个唯一标识,然后在控制模型(customcol)的模型里边找到你用的这个模型(eg:nm.serve)把你要设置的属性根据sysbol == '你设置的标识' 来判断设置的具体值是什么
1、在页面管理进入ui编辑器生成的页面,给你要控制的列表增加列表标识
或者在查询模型数据——搜索pagetypel模型,这个模型是也就是存储ui编辑器创建的页面数据的那些模型,两种方式都是可以修改上边那个列表标识的。
2、设置完唯一标识,在查询模型数据——搜索customcol模型,这个模型是管理所有模型部分字段的一个模型,我理解也就是控制模型的模型,每个模型的字段都在这个里边,相当与一个简便设置的地方??包括搜索啊、列表是否展示啊、等等。用sysbol来识别设置的唯一标识,(这些是安管人家后边自己加的,我们自己那个还是用模型里边具体值判断的这些)但是如果给具体的模型字段设置了属性值,那么那个的优先级比这个高
注意:是否隐藏:是用sysbol来识别设置的唯一标识的,例如这个是否隐藏,隐藏为true,所以就是
symbol === "treeDelete" || symbol === "deviceGroup" 满足条件即为隐藏,多个条件就用||
二、非ui编辑器使用的模型生成的页面,要想控制某一列是否展示不展示,则是使用orderFiles字段来控制,也就是安管可能有两种控制方式,一个是上边那个模型那种,sysbol控制,一个是按照这个orderFiles,专门来解决我们这种非ui编辑器的吧?
就比如,组网设备管理nm.server,在设备组里边是用ui编辑器写的,要想控制设备组的组网列表的某一列是否展示,同时不影响vue写的组网设备列表,就要使用orderFiles这个属性,orderFiles为{}空对象,则是不展示这一列,这个跟王莹沟通过,说是其实在我们代码里边给他们一个我们商量好的一个值,他们去监听,也可以实现那种sysbol的方式,具体实现如下:
1、在模块管理里边,搜索你的模型,例如nm.server,这是你这个模型里边所有的字段,然后找到每个字段所属的orderField:{"symbol":"deviceGroup","deviceGroup":2,"value":2},这个的意思就是deviceGroup的顺序就是2,如果没有deviceGroup,那默认也是2;
总结是:安管里边,value就是默认值,sysbol匹配到的就是设置的特殊值,空对象{}就是不展示这个字段
上边这些感觉和vue画的那些其实是一个东西,只是vue用的display那些属性,这些安管已经不用了
crudPage模型:控制整个模型属性,我理解的是控制的是每个模型外部的那些东西,操作列和表格外部属性
网友评论