Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fuyue82
o2oa
提交
60e94fda
o2oa
项目概览
fuyue82
/
o2oa
与 Fork 源项目一致
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
60e94fda
编写于
10月 18, 2021
作者:
U
unknown
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
内容管理分类增加数据映射配置
上级
06e1e25b
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
530 addition
and
7 deletion
+530
-7
o2web/source/x_component_cms_ColumnManager/CategoryExplorer.js
.../source/x_component_cms_ColumnManager/CategoryExplorer.js
+23
-4
o2web/source/x_component_cms_ColumnManager/lp/en.js
o2web/source/x_component_cms_ColumnManager/lp/en.js
+24
-1
o2web/source/x_component_cms_ColumnManager/lp/zh-cn.js
o2web/source/x_component_cms_ColumnManager/lp/zh-cn.js
+24
-1
o2web/source/x_component_cms_ColumnManager/widget/$ProjectionEditor/default/css.wcss
...s_ColumnManager/widget/$ProjectionEditor/default/css.wcss
+208
-0
o2web/source/x_component_cms_ColumnManager/widget/$ProjectionEditor/default/del.png
...ms_ColumnManager/widget/$ProjectionEditor/default/del.png
+0
-0
o2web/source/x_component_cms_ColumnManager/widget/ProjectionEditor.js
.../x_component_cms_ColumnManager/widget/ProjectionEditor.js
+250
-0
o2web/source/x_component_query_Query/Statement.js
o2web/source/x_component_query_Query/Statement.js
+1
-1
未找到文件。
o2web/source/x_component_cms_ColumnManager/CategoryExplorer.js
浏览文件 @
60e94fda
...
...
@@ -2415,6 +2415,7 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
this
.
contentNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
app
.
css
.
propertyContentNode
}).
inject
(
this
.
node
);
this
.
contentNode
.
setStyle
(
"
overflow
"
,
"
auto
"
);
this
.
contentAreaNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
app
.
css
.
propertyContentAreaNode
}).
inject
(
this
.
contentNode
);
...
...
@@ -2422,9 +2423,9 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
this
.
setContentHeight
();
this
.
setContentHeightFun
=
this
.
setContentHeight
.
bind
(
this
);
this
.
app
.
addEvent
(
"
resize
"
,
this
.
setContentHeightFun
);
MWF
.
require
(
"
MWF.widget.ScrollBar
"
,
function
(){
new
MWF
.
widget
.
ScrollBar
(
this
.
contentNode
,
{
"
indent
"
:
false
});
}.
bind
(
this
));
//
MWF.require("MWF.widget.ScrollBar", function(){
//
new MWF.widget.ScrollBar(this.contentNode, {"indent": false});
//
}.bind(this));
},
reload
:
function
(
category
){
if
(
category
)
this
.
category
=
category
;
...
...
@@ -2488,6 +2489,8 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
);
this
.
viewerSetting
.
category
=
this
.
category
;
this
.
viewerSetting
.
load
();
this
.
createProjectionContentNode
();
},
saveProcessApp
:
function
(
appId
,
appName
){
...
...
@@ -2645,7 +2648,7 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
createPropertyContentNode
:
function
(){
this
.
propertyContentNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
{
"
overflow
"
:
"
hidden
"
}}).
inject
(
this
.
contentAreaNode
);
this
.
propertyContentNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
{
"
overflow
"
:
"
hidden
"
,
"
max-width
"
:
"
900px
"
}}).
inject
(
this
.
contentAreaNode
);
var
html
=
"
<table cellspacing='0' cellpadding='0' border='0' width='95%' align='center'>
"
;
html
+=
"
<tr><td class='formTitle'>
"
+
this
.
app
.
lp
.
category
.
idLabel
+
"
</td><td id='formCategoryId' class='formValue'>
"
+
this
.
category
.
data
.
id
+
"
</td></tr>
"
;
...
...
@@ -2670,6 +2673,7 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
var
lp
=
this
.
app
.
lp
;
this
.
typeSelect
=
new
MDomItem
(
this
.
propertyContentNode
.
getElement
(
"
#formCategoryType
"
),
{
type
:
"
select
"
,
style
:
this
.
app
.
css
.
processSelect
,
value
:
this
.
category
.
data
.
documentType
||
lp
.
documentTypeSelectValue
[
0
],
selectValue
:
lp
.
documentTypeSelectValue
,
selectText
:
lp
.
documentTypeSelectText
,
...
...
@@ -2684,6 +2688,7 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
var
sendNotifyValue
=
o2
.
typeOf
(
this
.
category
.
data
.
sendNotify
)
===
"
boolean
"
?
this
.
category
.
data
.
sendNotify
:
true
;
this
.
sendNotify
=
new
MDomItem
(
this
.
propertyContentNode
.
getElement
(
"
#formCategorySendNotify
"
),
{
type
:
"
select
"
,
style
:
this
.
app
.
css
.
processSelect
,
value
:
sendNotifyValue
.
toString
(),
selectValue
:
lp
.
sendNotifySelectValue
,
selectText
:
lp
.
sendNotifySelectText
,
...
...
@@ -2735,6 +2740,20 @@ MWF.xApplication.cms.ColumnManager.CategoryExplorer.CategoryProperty = new Class
//this.sortInput = new MWF.xApplication.cms.ColumnManager.Input(this.propertyContentNode.getElement("#formApplicationSort"), this.data.appInfoSeq, this.app.css.formInput);
//this.typeInput = new MWF.xApplication.cms.ColumnManager.Input(this.propertyContentNode.getElement("#formApplicationType"), this.data.applicationCategory, this.app.css.formInput);
},
createProjectionContentNode
:
function
(){
this
.
projectionContentNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
{
"
overflow
"
:
"
hidden
"
}}).
inject
(
this
.
contentAreaNode
);
this
.
projectionContentNode
.
set
(
"
html
"
,
"
<div></div><div></div>
"
);
MWF
.
xDesktop
.
requireApp
(
"
cms.ColumnManager
"
,
"
widget.ProjectionEditor
"
,
function
(){
var
projection
=
new
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
.
ProjectionEditor
(
this
.
projectionContentNode
,
this
.
category
.
data
.
projection
,
{
"
onChange
"
:
function
(){
alert
(
JSON
.
encode
(
projection
.
getData
()));
}.
bind
(
this
),
"
category
"
:
this
.
category
.
data
.
id
});
projection
.
load
();
}.
bind
(
this
));
}
});
...
...
o2web/source/x_component_cms_ColumnManager/lp/en.js
浏览文件 @
60e94fda
...
...
@@ -286,5 +286,28 @@ MWF.xApplication.cms.ColumnManager.LP = {
"
checkDraftSelectText
"
:
[
"
New interface check draft
"
,
"
New interface does not check draft
"
],
"
showAllDocumentSelectText
"
:
[
"
Show all document views
"
,
"
Hide all document views
"
],
"
selectRelateFormNotice
"
:
"
Please select the related form of the view to be pasted
"
"
selectRelateFormNotice
"
:
"
Please select the related form of the view to be pasted
"
,
"
projectionTitle
"
:
"
Mapping business data
"
,
"
projectionActionNode_add
"
:
"
Add mapping entry
"
,
"
projectionActionNode_modify
"
:
"
Modify the mapping entry
"
,
"
projectionDataName
"
:
"
Name
"
,
"
projectionPath
"
:
"
Path
"
,
"
projectionType
"
:
"
Type
"
,
"
projectionInputError
"
:
"
Please enter the data name and data path
"
,
"
projectionTypeCountError
"
:
"
{type} type data mapping entries, up to {count} allowed.
"
,
"
projectionSameNameError
"
:
"
Same data name already exists
"
,
"
projectionDeleteItemTitle
"
:
"
Delete mapping confirmation
"
,
"
projectionDeleteItem
"
:
"
Are you sure you want to delete the data mapping entry named
\"
{name}
\"
and path
\"
{path}
\"
?
"
,
"
projectionRunActionNode
"
:
"
Run data mapping immediately
"
,
"
projectionRunTitle
"
:
"
Execute confirmation immediately
"
,
"
projectionRunText
"
:
"
Execute mapping confirmation
"
,
"
projectionRunSuccess
"
:
"
Data mapping has been executed
"
,
"
projectionRunError
"
:
"
No need to perform data mapping
"
,
"
mapping
"
:
"
Mapping
"
,
"
mappingData
"
:
"
Mapping Data
"
,
"
dataName
"
:
"
Name
"
,
"
dataPath
"
:
"
Path
"
,
"
dataType
"
:
"
Type
"
};
\ No newline at end of file
o2web/source/x_component_cms_ColumnManager/lp/zh-cn.js
浏览文件 @
60e94fda
...
...
@@ -286,5 +286,28 @@ MWF.xApplication.cms.ColumnManager.LP = {
"
checkDraftSelectText
"
:
[
"
新建界面检查草稿
"
,
"
新建界面不检查草稿
"
],
"
showAllDocumentSelectText
"
:
[
"
显示所有文档视图
"
,
"
隐藏所有文档视图
"
],
"
selectRelateFormNotice
"
:
"
请选择需粘贴视图的关联表单
"
"
selectRelateFormNotice
"
:
"
请选择需粘贴视图的关联表单
"
,
"
projectionTitle
"
:
"
映射业务数据
"
,
"
projectionActionNode_add
"
:
"
添加映射条目
"
,
"
projectionActionNode_modify
"
:
"
修改映射条目
"
,
"
projectionDataName
"
:
"
数据名称
"
,
"
projectionPath
"
:
"
数据路径
"
,
"
projectionType
"
:
"
数据类型
"
,
"
projectionInputError
"
:
"
请输入数据名称和数据路径
"
,
"
projectionTypeCountError
"
:
"
{type}类型的数据映射条目,最多允许{count}条。
"
,
"
projectionSameNameError
"
:
"
相同的数据名称已存在
"
,
"
projectionDeleteItemTitle
"
:
"
删除数据映射条目确认
"
,
"
projectionDeleteItem
"
:
"
您确定要删除名为“{name}”,路径为“{path}”的数据映射条目吗?
"
,
"
projectionRunActionNode
"
:
"
立即运行数据映射
"
,
"
projectionRunTitle
"
:
"
立即执行确认
"
,
"
projectionRunText
"
:
"
请确认立即执行数据映射
"
,
"
projectionRunSuccess
"
:
"
数据映射已开始执行
"
,
"
projectionRunError
"
:
"
不需要执行数据映射
"
,
"
mapping
"
:
"
映射
"
,
"
mappingData
"
:
"
映射业务数据
"
,
"
dataName
"
:
"
数据名称
"
,
"
dataPath
"
:
"
数据路径
"
,
"
dataType
"
:
"
数据类型
"
};
\ No newline at end of file
o2web/source/x_component_cms_ColumnManager/widget/$ProjectionEditor/default/css.wcss
0 → 100644
浏览文件 @
60e94fda
{
"titleNode": {
"overflow": "hidden",
"margin": "20px 0px 10px 0px",
"height": "40px",
"color": "#888",
"font-size": "16px",
"line-height": "40px",
"clear": "both",
"border-bottom": "1px solid #ccc"
},
"projectionTable": {
"width": "100%",
"border-top": "1px solid #cccccc",
"border-left": "1px solid #cccccc"
},
"projectionTableTitle": {
"border-right": "1px solid #cccccc",
"border-bottom": "1px solid #cccccc",
"height": "24px",
"line-height": "24px",
"background-color": "#fff",
"color": "#da7429",
"font-weight": "normal",
"font-size": "14px"
},
"projectionTableTd": {
"border-right": "1px solid #cccccc",
"border-bottom": "1px solid #cccccc",
"height": "24px",
"cursor": "pointer",
"line-height": "24px"
},
"actionNode": {
"width": "80%",
"margin": "10px auto",
"background-color": "#FFF",
"padding": "4px 14px",
"border": "1px solid #ccc",
"border-radius": "3px",
"font-size": "12px",
"color": "#888",
"cursor": "pointer",
"text-align": "center"
},
"projectionItemInput": {
"border": "0px",
"height": "20px",
"width": "98%",
"line-height": "20px"
},
"projectionItemSelect": {
"height": "20px",
"border": "0px",
"line-height": "20px"
},
"projectionItemAction": {
"height": "24px",
"width": "24px",
"cursor": "pointer",
"background": "url("+"../x_component_process_ProcessDesigner/widget/$ProjectionEditor/default/del.png) no-repeat center center"
},
"projectionTableTr": {
"background-color": "#ffffff"
},
"projectionTableTr_selected": {
"background-color": "#e4eef9"
},
"selectNode": {
"margin": "0px",
"padding": "5px",
"background-color": "#F6F6F6",
"overflow": "hidden"
},
"downNode": {
"height": "24px",
"background": "url("+"../x_component_process_ProcessDesigner/widget/$SerialEditor/default/down.png) no-repeat center center"
},
"itemNode": {
"height": "18px",
"line-height": "18px",
"padding": "2px 5px",
"margin": "2px",
"background": "#F6F6F6",
"float": "left",
"border": "1px solid #CCC",
"cursor": "pointer",
"color": "#333"
},
"itemNode_over": {
"background": "#616161",
"color": "#FFF"
},
"itemIconNode": {
"float": "right",
"width": "16px",
"height": "18px",
"background": "url("+"../x_component_process_ProcessDesigner/widget/$SerialEditor/default/flag.png) no-repeat center right"
},
"itemIconNode_over": {
"background": "url("+"../x_component_process_ProcessDesigner/widget/$SerialEditor/default/flag_over.png) no-repeat center right"
},
"itemTextNode": {
"margin-right": "16px"
},
"showNode": {
"overflow": "hidden",
"padding": "5px 5px",
"min-height": "24px",
"background-color": "#F6F6F6",
"border-top": "0px solid #999"
},
"previewNode": {
"min-height": "20px",
"line-height": "20px",
"background-color": "#F6F6F6",
"overflow": "hidden"
},
"propertyNode":{
"margin": "0px 0px 10px 0px",
"padding": "5px",
"background": "#F6F6F6",
"overflow": "hidden",
"border-top": "1px solid #CCC",
"border-bottom": "1px solid #CCC"
},
"selectedItemNode": {
"height": "20px",
"line-height": "20px",
"margin": "2px",
"background": "#FFF",
"float": "left",
"border": "1px solid #999",
"border-radius": "6px",
"cursor": "pointer",
"color": "#333",
"box-shadow": "1px 1px 3px #666"
},
"selectedItemTextNode": {
"float": "left",
"height": "20px",
"padding": "0px 2px 0px 5px",
},
"selectedItemCloseNode": {
"float": "right",
"height": "20px",
"width": "14px",
"background": "url("+"../x_component_process_ProcessDesigner/widget/$SerialEditor/default/delete.png) no-repeat center center"
},
"selectedItemNode_over": {
"background": "#F1F1F1",
"box-shadow": "1px 1px 2px #999"
},
"selectedItemNode_check": {
"background": "#e1e9ff",
"box-shadow": "0px 0px 3px #999 inset"
},
"itemPropertyNode": {
"overflow": "hidden",
"dispaly": "none"
},
"propertyTitleNode": {
"width": "70px",
"font-weight": "bold",
"font-size": "12px",
"min-height": "24px",
"line-height": "24px",
"margin-left": "5px",
"float": "left"
},
"propertyInputDivNode": {
"margin-left": "75px",
"min-height": "24px",
"line-height": "24px",
"border-bottom": "1px dashed #CCC"
},
"propertyInputNode": {
"width": "97%",
"border-top": "1px solid #DDD",
"border-left": "1px solid #DDD",
"border-bottom": "1px solid #EEE",
"border-right": "1px solid #EEE"
},
"scriptNode": {
"height": "200px"
},
"lineNode": {
"overflow": "hidden",
"border-bottom": "1px dashed #CCC",
}
}
\ No newline at end of file
o2web/source/x_component_cms_ColumnManager/widget/$ProjectionEditor/default/del.png
0 → 100644
浏览文件 @
60e94fda
593 字节
o2web/source/x_component_cms_ColumnManager/widget/ProjectionEditor.js
0 → 100644
浏览文件 @
60e94fda
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
=
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
||
{};
MWF
.
xDesktop
.
requireApp
(
"
cms.ColumnManager
"
,
"
lp.
"
+
o2
.
language
,
null
,
false
);
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
.
ProjectionEditor
=
new
Class
({
Implements
:
[
Options
,
Events
],
Extends
:
MWF
.
widget
.
Common
,
options
:
{
"
style
"
:
"
default
"
,
"
maxTypeCount
"
:
{
"
string
"
:
4
,
"
long
"
:
2
,
"
dateTime
"
:
5
}
},
initialize
:
function
(
node
,
text
,
options
){
this
.
setOptions
(
options
);
this
.
node
=
$
(
node
);
this
.
data
=
(
text
)
?
JSON
.
decode
(
text
)
:
[];
this
.
name
=
node
.
get
(
"
name
"
);
this
.
path
=
"
../x_component_cms_ColumnManager/widget/$ProjectionEditor/
"
;
this
.
cssPath
=
"
../x_component_cms_ColumnManager/widget/$ProjectionEditor/
"
+
this
.
options
.
style
+
"
/css.wcss
"
;
this
.
_loadCss
();
this
.
selectedItems
=
[];
this
.
items
=
{};
},
getData
:
function
(){
return
this
.
data
;
},
load
:
function
(){
this
.
node
.
set
(
"
html
"
,
this
.
getHtml
());
this
.
node
.
setStyles
({
"
margin
"
:
"
0px 40px
"
});
this
.
titleNode
=
this
.
node
.
getFirst
(
"
div
"
).
setStyles
(
this
.
css
.
titleNode
).
set
(
"
text
"
,
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionTitle
);
// this.titleNode = new Element("div", {"styles": this.css.titleNode}).inject(this.node);
// this.titleNode.set("text", MWF.xApplication.cms.ColumnManager.LP.projectionTitle);
this
.
contentNode
=
this
.
titleNode
.
getNext
();
this
.
tableArea
=
this
.
contentNode
.
getLast
(
"
div
"
);
this
.
actionNode
=
this
.
tableArea
.
getPrevious
().
setStyles
(
this
.
css
.
actionNode
).
set
(
"
text
"
,
"
↓
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionActionNode_add
);
var
inputs
=
this
.
node
.
getElements
(
"
input
"
);
this
.
nameInput
=
inputs
[
0
];
this
.
pathInput
=
inputs
[
1
];
this
.
typeSelect
=
this
.
node
.
getElement
(
"
select
"
);
// this.tableArea = new Element("div", {"styles": {"overflow": "hidden"}}).inject(this.node);
var
html
=
"
<table cellspacing='0' cellpadding='3px' width='100%' border='0'><tr>
"
+
"
<th>
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionDataName
+
"
</th>
"
+
"
<th>
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionPath
+
"
</th>
"
+
"
<th>
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionType
+
"
</th>
"
+
"
<th></th>
"
+
"
</tr></table>
"
;
this
.
tableArea
.
set
(
"
html
"
,
html
);
this
.
table
=
this
.
tableArea
.
getElement
(
"
table
"
).
setStyles
(
this
.
css
.
projectionTable
);
this
.
tableArea
.
getElements
(
"
th
"
).
setStyles
(
this
.
css
.
projectionTableTitle
);
this
.
loadProjectionList
();
this
.
actionNode
.
addEvent
(
"
click
"
,
this
.
changeProjectionItem
.
bind
(
this
));
// this.runAction = new Element("div", {"styles": this.css.actionNode, "text": MWF.xApplication.cms.ColumnManager.LP.projectionRunActionNode}).inject(this.node);
// this.runAction.addEvent("click", function(e){
// var _self = this;
// MWF.xDesktop.confirm("infor", e, MWF.xApplication.cms.ColumnManager.LP.projectionRunTitle, MWF.xApplication.cms.ColumnManager.LP.projectionRunText, 300, 120, function(){
// _self.runProjection();
// this.close();
// }, function(){
// this.close();
// }, null, null, "o2");
//
// }.bind(this));
},
getHtml
:
function
(){
var
html
=
'
<div>
'
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
mappingData
+
'
</div>
'
+
'
<div style="max-width: 800px;margin-bottom: 40px;">
'
+
'
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="editTable">
'
+
'
<tr>
'
+
'
<td class="editTableTitle">
'
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
dataName
+
'
:</td>
'
+
'
<td class="editTableValue"><input type="text" value="" class="editTableInput" style="width:90%;"/></td>
'
+
// ' </tr>'+
// ' <tr>'+
'
<td class="editTableTitle">
'
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
dataPath
+
'
:</td>
'
+
'
<td class="editTableValue"><input type="text" value="" class="editTableInput" style="width:90%;"/></td>
'
+
// '</tr>'+
// '<tr>'+
'
<td class="editTableTitle">
'
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
dataType
+
'
:</td>
'
+
'
<td class="editTableValue"><select>
'
+
'
<option value="string">string</option>
'
+
'
<option value="long">long</option>
'
+
'
<option value="datetime">dateTime</option>
'
+
'
</select></td>
'
+
'
</tr>
'
+
'
</table>
'
+
'
<div></div>
'
+
'
<div></div>
'
+
'
<div>
'
;
return
html
;
},
runProjection
:
function
(){
o2
.
Actions
.
load
(
"
x_cms_assemble_control
"
).
CategoryInfoAction
.
executeProjection
(
this
.
options
.
category
,
null
,
function
(
json
){
if
(
json
.
data
.
value
){
o2
.
xDesktop
.
notice
(
"
success
"
,
{
x
:
"
right
"
,
y
:
"
top
"
},
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionRunSuccess
,
this
.
node
);
}
else
{
o2
.
xDesktop
.
notice
(
"
error
"
,
{
x
:
"
right
"
,
y
:
"
top
"
},
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionRunError
,
this
.
node
);
}
});
},
changeProjectionItem
:
function
(){
if
(
this
.
currentItem
)
{
this
.
modifyProjectionItem
();
}
else
{
this
.
addProjectionItem
();
}
},
checkItemData
:
function
(
name
,
path
,
type
){
if
(
!
name
||
!
path
){
o2
.
xDesktop
.
notice
(
"
error
"
,
{
x
:
"
right
"
,
y
:
"
top
"
},
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionInputError
,
this
.
node
);
return
false
;
}
var
count
=
0
;
for
(
var
i
=
0
;
i
<
this
.
data
.
length
;
i
++
){
if
(
this
.
data
[
i
].
type
===
type
)
count
++
;
if
(
count
>=
this
.
options
.
maxTypeCount
[
type
]){
var
txt
=
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionTypeCountError
;
txt
=
txt
.
replace
(
/{type}/g
,
type
);
txt
=
txt
.
replace
(
/{count}/g
,
this
.
options
.
maxTypeCount
[
type
]);
o2
.
xDesktop
.
notice
(
"
error
"
,
{
x
:
"
right
"
,
y
:
"
top
"
},
txt
,
this
.
node
);
return
false
;
}
if
(
this
.
data
[
i
].
name
===
name
&&
(
!
this
.
currentItem
||
this
.
data
[
i
]
!=
this
.
currentItem
.
data
))
{
o2
.
xDesktop
.
notice
(
"
error
"
,
{
x
:
"
right
"
,
y
:
"
top
"
},
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionSameNameError
,
this
.
node
);
return
false
;
}
}
return
true
;
},
modifyProjectionItem
:
function
(){
var
name
=
this
.
nameInput
.
get
(
"
value
"
);
var
path
=
this
.
pathInput
.
get
(
"
value
"
);
var
type
=
this
.
typeSelect
.
options
[
this
.
typeSelect
.
selectedIndex
].
value
;
if
(
this
.
checkItemData
(
name
,
path
,
type
)){
this
.
currentItem
.
data
.
name
=
name
;
this
.
currentItem
.
data
.
path
=
path
;
this
.
currentItem
.
data
.
type
=
type
;
this
.
currentItem
.
refresh
();
this
.
currentItem
.
unSelected
();
this
.
fireEvent
(
"
change
"
);
this
.
fireEvent
(
"
modifyItem
"
);
}
},
addProjectionItem
:
function
(){
var
name
=
this
.
nameInput
.
get
(
"
value
"
);
var
path
=
this
.
pathInput
.
get
(
"
value
"
);
var
type
=
this
.
typeSelect
.
options
[
this
.
typeSelect
.
selectedIndex
].
value
;
if
(
this
.
checkItemData
(
name
,
path
,
type
)){
var
o
=
{
"
name
"
:
name
,
"
path
"
:
path
,
"
type
"
:
type
};
this
.
data
.
push
(
o
);
new
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
.
ProjectionEditor
.
Item
(
o
,
this
);
this
.
fireEvent
(
"
change
"
);
this
.
fireEvent
(
"
addItem
"
);
}
},
loadProjectionList
:
function
(){
this
.
data
.
each
(
function
(
d
){
new
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
.
ProjectionEditor
.
Item
(
d
,
this
);
}.
bind
(
this
));
}
});
MWF
.
xApplication
.
cms
.
ColumnManager
.
widget
.
ProjectionEditor
.
Item
=
new
Class
({
initialize
:
function
(
data
,
editor
){
this
.
editor
=
editor
;
this
.
data
=
data
;
this
.
table
=
this
.
editor
.
table
;
this
.
css
=
this
.
editor
.
css
;
this
.
load
();
},
load
:
function
(){
this
.
tr
=
new
Element
(
'
tr
'
).
inject
(
this
.
table
);
var
td
=
this
.
tr
.
insertCell
().
setStyles
(
this
.
css
.
projectionTableTd
).
set
(
"
text
"
,
this
.
data
.
name
);
td
=
this
.
tr
.
insertCell
().
setStyles
(
this
.
css
.
projectionTableTd
).
set
(
"
text
"
,
this
.
data
.
path
);
td
=
this
.
tr
.
insertCell
().
setStyles
(
this
.
css
.
projectionTableTd
).
set
(
"
text
"
,
this
.
data
.
type
);
td
=
this
.
tr
.
insertCell
().
setStyles
(
this
.
css
.
projectionTableTd
);
this
.
delAction
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
projectionItemAction
}).
inject
(
td
);
this
.
setEvent
();
},
setEvent
:
function
(){
this
.
delAction
.
addEvent
(
"
click
"
,
function
(
e
){
var
txt
=
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionDeleteItem
;
txt
=
txt
.
replace
(
/{name}/g
,
this
.
data
.
name
);
txt
=
txt
.
replace
(
/{path}/g
,
this
.
data
.
path
);
var
_self
=
this
;
MWF
.
xDesktop
.
confirm
(
"
infor
"
,
e
,
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionDeleteItemTitle
,
txt
,
300
,
120
,
function
(){
_self
.
destroy
();
this
.
close
();
},
function
(){
this
.
close
();
},
null
,
null
,
"
o2
"
);
}.
bind
(
this
));
this
.
tr
.
addEvents
({
"
click
"
:
function
(){
if
(
this
.
editor
.
currentItem
)
this
.
editor
.
currentItem
.
unSelected
();
this
.
selected
();
}.
bind
(
this
)
})
},
selected
:
function
(){
this
.
editor
.
currentItem
=
this
;
this
.
tr
.
setStyles
(
this
.
css
.
projectionTableTr_selected
);
this
.
editor
.
nameInput
.
set
(
"
value
"
,
this
.
data
.
name
);
this
.
editor
.
pathInput
.
set
(
"
value
"
,
this
.
data
.
path
);
var
ops
=
this
.
editor
.
typeSelect
.
options
;
for
(
var
i
=
0
;
i
<
ops
.
length
;
i
++
){
if
(
ops
[
i
].
value
===
this
.
data
.
type
){
ops
[
i
].
set
(
"
selected
"
,
true
);
break
;
}
}
this
.
editor
.
actionNode
.
set
(
"
text
"
,
"
↓
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionActionNode_modify
);
},
unSelected
:
function
(){
this
.
editor
.
currentItem
=
null
;
this
.
tr
.
setStyles
(
this
.
css
.
projectionTableTr
);
this
.
editor
.
actionNode
.
set
(
"
text
"
,
"
↓
"
+
MWF
.
xApplication
.
cms
.
ColumnManager
.
LP
.
projectionActionNode_add
);
},
refresh
:
function
(){
var
tds
=
this
.
tr
.
getElements
(
"
td
"
);
tds
[
0
].
set
(
"
text
"
,
this
.
data
.
name
);
tds
[
1
].
set
(
"
text
"
,
this
.
data
.
path
);
tds
[
2
].
set
(
"
text
"
,
this
.
data
.
type
);
},
destroy
:
function
(){
this
.
tr
.
destroy
();
this
.
editor
.
data
.
erase
(
this
.
data
);
this
.
editor
.
fireEvent
(
"
change
"
);
this
.
editor
.
fireEvent
(
"
deleteItem
"
);
o2
.
release
(
this
);
}
});
o2web/source/x_component_query_Query/Statement.js
浏览文件 @
60e94fda
...
...
@@ -524,7 +524,7 @@ MWF.xApplication.query.Query.Statement = MWF.QStatement = new Class({
// var excelName = this.statementJson.name + "(" + start + "-" + end + ").xlsx";
var
excelName
=
this
.
statementJson
.
name
+
"
.xlsx
"
;
var
excelName
=
this
.
statementJson
.
name
;
var
p
=
this
.
currentPage
;
var
d
=
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录