<?xml version="1.0" encoding="UTF-8"?>
|
<ViewConfig>
|
<Arguments/>
|
<Context/>
|
<Model>
|
<DataType name="dtURL">
|
<Property name="creationType">com.fzzy.sys.entity.SysUrl</Property>
|
<PropertyDef name="id">
|
<Property></Property>
|
</PropertyDef>
|
<PropertyDef name="name">
|
<Property></Property>
|
<Property name="label">菜单名称</Property>
|
<Property name="required">true</Property>
|
</PropertyDef>
|
<PropertyDef name="icon">
|
<Property></Property>
|
<Property name="label">图标</Property>
|
</PropertyDef>
|
<PropertyDef name="order">
|
<Property name="dataType">int</Property>
|
<Property name="label">顺序优先级</Property>
|
</PropertyDef>
|
<PropertyDef name="parentId">
|
<Property></Property>
|
<Property name="label">父节点ID</Property>
|
</PropertyDef>
|
<PropertyDef name="target">
|
<Property></Property>
|
<Property name="label">打开方式</Property>
|
</PropertyDef>
|
<PropertyDef name="url">
|
<Property></Property>
|
<Property name="label">菜单连接</Property>
|
<Property name="required">true</Property>
|
</PropertyDef>
|
<Reference name="children">
|
<Property name="dataProvider">sys.urlPR#listUrl</Property>
|
<Property name="dataType">[SELF]</Property>
|
<Property name="parameter">$${this.id}</Property>
|
</Reference>
|
</DataType>
|
</Model>
|
<View layout="padding:10;regionPadding:10">
|
<ClientEvent name="onReady">
|
addRoot = function(){
|
var list = view.get("#dsMain").getData();
|
var currEntity = view.get("#dataTree.currentEntity");
|
var currNode = view.get("#dataTree.currentNode");
|
var newEntity={};
|
if(!currEntity){
|
list.insert();
|
}else{
|
if(currEntity.get("parentId")){
|
newEntity = currNode.get("parent.data").createBrother({});
|
}else{
|
newEntity = currEntity.createBrother({"parentId":null});
|
}
|
view.get("#dataTree").set('currentEntity', newEntity);
|
}
|
view.get("#dialog").set("caption","添加根节点");
|
view.get("#dialog").show();
|
}
|

|
addData = function(){
|
var node = view.get("#dataTree.currentNode");
|
var entity = view.get("#dataTree.currentEntity");
|
var sonList=entity.get("children");
|
var newEntity;
|
if(entity.get("parentId")){
|
dorado.widget.NotifyTipManager.notify("请选择根节点创建子节点!");
|
return;
|
}else{
|
newEntity = entity.createChild('children', {parentId: entity.get('id')});
|
}
|

|
if (!node.get('expanded')) {
|
node.expand();
|
}
|
view.get("#dataTree").set('currentEntity', newEntity);
|
view.get("#dialog").set("caption","添加子节点");
|
view.get("#dialog").show();
|
}
|

|
updateData = function(){
|
view.get("#dialog").set("caption","编辑节点");
|
view.get("#dialog").show();
|
}
|
</ClientEvent>
|
<Property name="packages">font-awesome,css-common</Property>
|
<DataSet id="dsMain">
|
<Property name="dataProvider">sys.urlPR#listUrl</Property>
|
<Property name="dataType">[dtURL]</Property>
|
</DataSet>
|
<ToolBar>
|
<ToolBarLabel>
|
<Property name="text">菜单栏:</Property>
|
</ToolBarLabel>
|
<ToolBarButton>
|
<ClientEvent name="onClick">addRoot();
|
</ClientEvent>
|
<Property name="caption">新增主菜单</Property>
|
<Property name="iconClass">fa fa-plus</Property>
|
<Property name="exClassName">toolbar-button</Property>
|
</ToolBarButton>
|
<ToolBarButton>
|
<ClientEvent name="onClick">addData();</ClientEvent>
|
<Property name="caption">新增子菜单</Property>
|
<Property name="iconClass">fa fa-plus-circle</Property>
|
<Property name="exClassName">toolbar-button</Property>
|
</ToolBarButton>
|
<ToolBarButton>
|
<ClientEvent name="onClick">updateData();
|
</ClientEvent>
|
<Property name="caption">菜单修改</Property>
|
<Property name="iconClass">fa fa-pencil</Property>
|
<Property name="exClassName">toolbar-button-warm</Property>
|
</ToolBarButton>
|
<ToolBarButton>
|
<ClientEvent name="onClick">var currentNode = view.get("#dataTree.currentNode");
|
currentNode.expand();
|
if(currentNode.get("hasChild")){
|
dorado.MessageBox.alert("请先删除所有子节点!");
|
return;
|
}
|
var currentEntity = view.get("#dataTree.currentEntity");
|
view.get("#ajaxDel").set("parameter",currentEntity).execute(function(){
|
currentEntity.remove();
|
});</ClientEvent>
|
<Property name="caption">菜单删除</Property>
|
<Property name="iconClass">fa fa-minus</Property>
|
<Property name="exClassName">toolbar-button-warn</Property>
|
</ToolBarButton>
|
</ToolBar>
|
<DataTreeGrid id="dataTree">
|
<Property name="currentNodeDataPath">CURRENT_NODE</Property>
|
<Property name="dataSet">dsMain</Property>
|
<Property name="treeColumn">name</Property>
|
<BindingConfigs>
|
<BindingConfig>
|
<Property name="childrenProperty">children</Property>
|
<Property name="labelProperty">name</Property>
|
<Property name="name">children</Property>
|
<Property name="iconClass">fa fa-folder-open-o</Property>
|
<Property name="expandLevel">3</Property>
|
<BindingConfig>
|
<Property name="childrenProperty">children</Property>
|
<Property name="labelProperty">name</Property>
|
<Property name="name">children</Property>
|
<Property name="iconClass">fa fa-folder-o</Property>
|
</BindingConfig>
|
</BindingConfig>
|
</BindingConfigs>
|
<Columns>
|
<DataColumn>
|
<Property name="name">name</Property>
|
<Property name="property">name</Property>
|
<Property name="readOnly">true</Property>
|
<Editor/>
|
</DataColumn>
|
<DataColumn>
|
<Property name="name">url</Property>
|
<Property name="property">url</Property>
|
<Property name="readOnly">true</Property>
|
<Editor/>
|
</DataColumn>
|
</Columns>
|
</DataTreeGrid>
|
<Dialog id="dialog">
|
<Property name="width">500</Property>
|
<Buttons>
|
<Button>
|
<ClientEvent name="onClick">var currentEntity = view.get("#dataTree.currentEntity");
|

|
view.get("#ajaxUpdate").set("parameter",currentEntity).execute(function(result){
|
view.get("#dialog").hide();
|
view.get("#dataTree").set("currentEntity",result);
|
});</ClientEvent>
|
<Property name="caption">保存</Property>
|
<Property name="width">100</Property>
|
<Property name="iconClass">fa fa-check</Property>
|
</Button>
|
<Button>
|
<ClientEvent name="onClick">view.get("#dataTree.currentEntity").cancel();
|
view.get("#dialog").hide();
|
</ClientEvent>
|
<Property name="caption">取消</Property>
|
<Property name="iconClass">fa fa-times</Property>
|
<Property name="width">100</Property>
|
</Button>
|
</Buttons>
|
<Children>
|
<AutoForm>
|
<Property name="dataSet">dsMain</Property>
|
<Property name="dataPath">!CURRENT_NODE</Property>
|
<Property name="cols">*</Property>
|
<Property name="labelWidth">100</Property>
|
<Property name="labelAlign">right</Property>
|
<AutoFormElement>
|
<Property name="name">name</Property>
|
<Property name="property">name</Property>
|
<Editor/>
|
</AutoFormElement>
|
<AutoFormElement>
|
<Property name="name">url</Property>
|
<Property name="property">url</Property>
|
<Editor/>
|
</AutoFormElement>
|
<AutoFormElement>
|
<Property name="name">icon</Property>
|
<Property name="property">icon</Property>
|
<Editor/>
|
</AutoFormElement>
|
<AutoFormElement>
|
<Property name="name">order</Property>
|
<Property name="property">order</Property>
|
<Editor/>
|
</AutoFormElement>
|
<AutoFormElement id="parentId">
|
<Property name="name">parentId</Property>
|
<Property name="property">parentId</Property>
|
<Property name="readOnly">true</Property>
|
<Editor/>
|
</AutoFormElement>
|
<AutoFormElement>
|
<Property name="name">target</Property>
|
<Property name="property">target</Property>
|
<Editor/>
|
</AutoFormElement>
|
</AutoForm>
|
</Children>
|
<Tools/>
|
</Dialog>
|
<AjaxAction id="ajaxUpdate">
|
<Property name="service">sys.urlPR#updateData</Property>
|
</AjaxAction>
|
<AjaxAction id="ajaxDel">
|
<Property name="confirmMessage">确定要删除数据么?</Property>
|
<Property name="service">sys.urlPR#delData</Property>
|
</AjaxAction>
|
</View>
|
</ViewConfig>
|