Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fuyue82
o2oa
提交
8704196a
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,发现更多精彩内容 >>
提交
8704196a
编写于
10月 14, 2020
作者:
U
unknown
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
查询设计中允许使用视图
上级
4eaa5bbf
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
1119 addition
and
779 deletion
+1119
-779
o2web/source/x_component_query_StatementDesigner/$Statement/column.html
..._component_query_StatementDesigner/$Statement/column.html
+4
-90
o2web/source/x_component_query_StatementDesigner/$Statement/view.html
.../x_component_query_StatementDesigner/$Statement/view.html
+19
-241
o2web/source/x_component_query_StatementDesigner/Property.js
o2web/source/x_component_query_StatementDesigner/Property.js
+20
-0
o2web/source/x_component_query_StatementDesigner/Statement.js
...b/source/x_component_query_StatementDesigner/Statement.js
+4
-0
o2web/source/x_component_query_StatementDesigner/widget/$PersonSelector/default/css.wcss
...StatementDesigner/widget/$PersonSelector/default/css.wcss
+0
-134
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/css.wcss
...ery_StatementDesigner/widget/$ViewFilter/default/css.wcss
+60
-0
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/down.png
...ery_StatementDesigner/widget/$ViewFilter/default/down.png
+0
-0
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/icon/addPerson.png
...entDesigner/widget/$ViewFilter/default/icon/addPerson.png
+0
-0
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/icon/delete1.png
...ementDesigner/widget/$ViewFilter/default/icon/delete1.png
+0
-0
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/icon/error.png
...atementDesigner/widget/$ViewFilter/default/icon/error.png
+0
-0
o2web/source/x_component_query_StatementDesigner/widget/PersonSelector.js
...omponent_query_StatementDesigner/widget/PersonSelector.js
+0
-314
o2web/source/x_component_query_StatementDesigner/widget/ViewFilter.js
.../x_component_query_StatementDesigner/widget/ViewFilter.js
+1012
-0
未找到文件。
o2web/source/x_component_query_StatementDesigner/$Statement/column.html
浏览文件 @
8704196a
...
...
@@ -32,105 +32,19 @@
<div
style=
"border-top: 1px solid #999; margin-top:10px"
>
<div
style=
"background-color: #EEE; height:24px; line-height: 24px; text-align: center; font-weight: bold"
>
数据
</div>
<div
class=
"MWFDataData"
id=
"text{$.pid}dataDataEditor"
>
<div
style=
"display:text{($.vtype=='process')?'block':'none'}"
id=
"text{$.pid}dataPathSelectedProcessArea"
class=
"text{$.vid}dataPathSelectedProcessArea"
>
<table
width=
"100%"
border=
"0"
cellpadding=
"5"
cellspacing=
"0"
class=
"editTable"
>
<tr>
<td
class=
"editTableTitle"
>
选择数据:
</td>
<td
class=
"editTableValue"
><select
id=
"text{$.pid}dataPathSelected"
onchange=
" var v=this.options[this.selectedIndex].value; if (v){var n = $('text{$.pid}viewColumnPathInput'); n.set('value', v); n.focus();} "
>
<option
value=
""
selected
>
(请选择)
</option>
<option
value=
"$work.title"
>
标题
</option>
<option
value=
"$work.startTime"
>
创建时间
</option>
<option
value=
"$work.startTimeMonth"
>
创建月份
</option>
<option
value=
"$work.completedTime"
>
完成时间
</option>
<option
value=
"$work.completedTimeMonth"
>
完成月份
</option>
<option
value=
"$work.creatorPerson"
>
拟稿人
</option>
<option
value=
"$work.creatorIdentity"
>
拟稿人身份
</option>
<option
value=
"$work.creatorUnit"
>
拟稿组织
</option>
<option
value=
"$work.creatorUnitLevelName"
>
拟稿组织层级
</option>
<option
value=
"$work.application"
>
应用ID
</option>
<option
value=
"$work.applicationName"
>
应用名称
</option>
<option
value=
"$work.applicationAlias"
>
应用别名
</option>
<option
value=
"$work.process"
>
流程ID
</option>
<option
value=
"$work.processName"
>
流程名称
</option>
<option
value=
"$work.processAlias"
>
流程别名
</option>
<option
value=
"$work.serial"
>
编号
</option>
<option
value=
"$work.activityType"
>
活动类型
</option>
<option
value=
"$work.activityName"
>
活动名称
</option>
<option
value=
"$work.activityArrivedTime"
>
活动到达时间
</option>
<option
value=
"$work.workId"
>
工作ID
</option>
<option
value=
"$work.workCompletedId"
>
已完成工作ID
</option>
<option
value=
"$work.job"
>
JOB的ID(job)
</option>
<option
value=
"$work.completed"
>
是否已完成(completed)
</option>
</select></td>
</tr>
</table>
</div>
<div
style=
"display:text{($.vtype=='cms')?'block':'none'}"
id=
"text{$.pid}dataPathSelectedCMSArea"
class=
"text{$.vid}dataPathSelectedCMSArea"
>
<table
width=
"100%"
border=
"0"
cellpadding=
"5"
cellspacing=
"0"
class=
"editTable"
>
<tr>
<td
class=
"editTableTitle"
>
选择数据:
</td>
<td
class=
"editTableValue"
><select
id=
"text{$.pid}dataPathSelectedCMS"
onchange=
"var v=this.options[this.selectedIndex].value; if (v){var n = $('text{$.pid}viewColumnPathInput'); n.set('value', v); n.focus();} "
>
<option
value=
""
selected
>
(请选择)
</option>
<option
value=
"$document.title"
>
标题
</option>
<option
value=
"$document.publishTime"
>
发布时间
</option>
<option
value=
"$document.creatorPerson"
>
拟稿人
</option>
<option
value=
"$document.creatorIdentity"
>
拟稿人身份
</option>
<option
value=
"$document.creatorUnitName"
>
拟稿组织
</option>
<option
value=
"$document.creatorTopUnitName"
>
拟稿顶级组织
</option>
<option
value=
"$document.appId"
>
栏目ID
</option>
<option
value=
"$document.appName"
>
栏目名称
</option>
<option
value=
"$document.categoryId"
>
分类ID
</option>
<option
value=
"$document.categoryName"
>
分类名称
</option>
<option
value=
"$document.categoryAlias"
>
分类别名
</option>
<option
value=
"$document.id"
>
文档ID
</option>
</select></td>
</tr>
</table>
</div>
<table
width=
"100%"
border=
"0"
cellpadding=
"5"
cellspacing=
"0"
class=
"editTable"
>
<tr>
<td
class=
"editTableTitle"
>
数据路径:
</td>
<td
class=
"editTableValue"
><input
onkeypress=
"$('text{$.pid}dataPathSelected').getElement('option').set('selected', true); $('text{$.pid}dataPathSelectedCMS').getElement('option').set('selected', true)"
id=
"text{$.pid}viewColumnPathInput"
type=
"text"
name=
"path"
value=
"text{$.path}"
class=
"editTableInput"
/></td>
<td
class=
"editTableValue"
>
<input
onkeypress=
"$('text{$.pid}dataPathSelected').getElement('option').set('selected', true); $('text{$.pid}dataPathSelectedCMS').getElement('option').set('selected', true)"
id=
"text{$.pid}viewColumnPathInput"
type=
"text"
name=
"path"
value=
"text{$.path}"
class=
"editTableInput"
/>
<div
style=
"line-height: 20px;color:#999;"
>
注:指该列相对单条数据的路径。比如 0,title,或 0.title
</div>
</td>
</tr>
</table>
</div>
</div>
<div
style=
"border-top: 1px solid #999; margin-top:10px"
>
<!-- <div class="MWFColumnExport" id="text{$.pid}columnExportEditor">-->
<!-- <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">-->
<!-- <tr>-->
<!-- <td class="editTableTitle">排序:</td>-->
<!-- <td class="editTableValue"><select name="orderType" onchange="-->
<!-- var node = $(this).getParent('table').getElement('.MWFColumnExportNumberOrder');-->
<!-- if(this.options[this.selectedIndex].value==='none'){-->
<!-- node.hide();-->
<!-- node.getElements('input')[1].click();-->
<!-- }else{-->
<!-- node.setStyle('display','table-row');-->
<!-- }-->
<!-- ">-->
<!-- <option value="none" text{(($.orderType)!='asc' && ($.orderType)!='desc') ?'selected':''}>无</option>-->
<!-- <option value="asc" text{($.orderType)=='asc' ?'selected':''}>升序</option>-->
<!-- <option value="desc" text{($.orderType)=='desc' ?'selected':''}>降序</option>-->
<!-- </select></td>-->
<!-- </tr>-->
<!-- <tr class="MWFColumnExportNumberOrder" style="display: text{(($.orderType)!='asc' && ($.orderType)!='desc') ?'none':'table-row'}">-->
<!-- <td class="editTableTitle">转换成数字排序:</td>-->
<!-- <td class="editTableValue">-->
<!-- <input class="MWFWorkDataCheck" name="numberOrder" type="radio" value="true" text{($.numberOrder)===true?'checked':''}/>是-->
<!-- <input class="MWFWorkDataCheck" name="numberOrder" type="radio" value="false" text{($.numberOrder)!==true?'checked':''}/>否-->
<!-- </td>-->
<!-- </tr>-->
<!-- <tr class="MWFColumnExportGroup">-->
<!-- <td class="editTableTitle">分类:</td>-->
<!-- <td class="editTableValue">-->
<!-- <input class="MWFWorkDataCheck" name="groupEntry" type="radio" value="true" text{($.groupEntry)===true?'checked':''}/>是-->
<!-- <input class="MWFWorkDataCheck" name="groupEntry" type="radio" value="false" text{($.groupEntry)!==true?'checked':''}/>否-->
<!-- </td>-->
<!-- </tr>-->
<!-- </table>-->
<!-- </div>-->
<table
width=
"100%"
border=
"0"
cellpadding=
"5"
cellspacing=
"0"
class=
"editTable"
>
<tr
class=
"MWFColumnExportHide"
>
<td
class=
"editTableTitle"
>
隐藏:
</td>
...
...
o2web/source/x_component_query_StatementDesigner/$Statement/view.html
浏览文件 @
8704196a
此差异已折叠。
点击以展开。
o2web/source/x_component_query_StatementDesigner/Property.js
浏览文件 @
8704196a
...
...
@@ -40,5 +40,25 @@ MWF.xApplication.query.StatementDesigner.Property = MWF.SDProperty = new Class({
}
else
{
this
.
propertyContent
.
setStyle
(
"
display
"
,
"
block
"
);
}
},
loadViewFilter
:
function
()
{
var
nodes
=
this
.
propertyContent
.
getElements
(
"
.MWFViewFilter
"
);
//var filtrData = this.view.data.data.filterList;
var
customData
=
this
.
view
.
data
.
data
.
customFilterList
;
nodes
.
each
(
function
(
node
)
{
MWF
.
xDesktop
.
requireApp
(
"
query.StatementDesigner
"
,
"
widget.ViewFilter
"
,
function
()
{
var
_slef
=
this
;
new
MWF
.
xApplication
.
query
.
StatementDesigner
.
widget
.
ViewFilter
(
node
,
this
.
view
.
designer
,
{
// "filtrData": filtrData,
"
customData
"
:
customData
},
{
"
onChange
"
:
function
(
ids
)
{
var
data
=
this
.
getData
();
// _slef.changeJsonDate(["data", "filterList"], data.data);
_slef
.
changeJsonDate
([
"
data
"
,
"
customFilterList
"
],
data
.
customData
);
}
});
}.
bind
(
this
));
}.
bind
(
this
));
}
});
\ No newline at end of file
o2web/source/x_component_query_StatementDesigner/Statement.js
浏览文件 @
8704196a
...
...
@@ -7,6 +7,7 @@ MWF.xDesktop.requireApp("query.StatementDesigner", "lp."+MWF.language, null, fal
MWF
.
xDesktop
.
requireApp
(
"
query.StatementDesigner
"
,
"
Property
"
,
null
,
false
);
MWF
.
xDesktop
.
requireApp
(
"
query.ViewDesigner
"
,
"
View
"
,
null
,
false
);
o2
.
require
(
"
o2.widget.JavascriptEditor
"
,
null
,
false
);
o2
.
require
(
"
o2.widget.UUID
"
,
null
,
false
);
MWF
.
xApplication
.
query
.
StatementDesigner
.
Statement
=
new
Class
({
Extends
:
MWF
.
widget
.
Common
,
...
...
@@ -774,6 +775,9 @@ MWF.xApplication.query.StatementDesigner.View = new Class({
},
parseData
:
function
(){
this
.
json
=
this
.
data
;
if
(
!
this
.
json
.
id
){
this
.
json
.
id
=
(
new
o2
.
widget
.
UUID
).
id
;
}
if
(
!
this
.
json
.
data
||
!
this
.
json
.
data
.
events
){
var
url
=
"
../x_component_query_StatementDesigner/$Statement/view.json
"
;
MWF
.
getJSON
(
url
,
{
...
...
o2web/source/x_component_query_StatementDesigner/widget/$PersonSelector/default/css.wcss
已删除
100644 → 0
浏览文件 @
4eaa5bbf
{
"node": {
"min-height": "24px",
"overflow": "hidden",
"margin-right": "26px"
},
"addPersonNode": {
"float": "right",
"height": "24px",
"width": "24px",
"cursor": "pointer",
"background": "url("+"../x_component_process_ProcessDesigner/widget/$PersonSelector/default/icon/addPerson.png) center center no-repeat"
},
"dutyMaskNode": {
"background-color": "#666",
"opacity": 0.6,
"z-index":1000
},
"dutyInputArea": {
"height": "510px",
"width": "355px",
"background-color": "#FFF",
"overflow": "hidden",
"border": "3px solid #666",
"border-radius": "10px",
"box-shadow": "0px 0px 15px #666",
"position": "absolute",
"z-index":1001
},
"dutyTitleNode": {
"height": "30px",
"background-color": "#EEE",
"border-bottom": "1px solid #CCC"
},
"dutyTitleTextNode": {
"margin-right": "30px",
"height": "30px",
"padding": "0px 10px",
"color": "#666",
"font-weight": "bold",
"font-size": "14px",
"line-height": "30px"
},
"dutyTitleActionNode": {
"width": "30px",
"height": "30px",
"float": "right",
"background": "url("+"../x_component_Organization/Selector/$Selector/default/icon/close.png) no-repeat center center",
"cursor": "pointer"
},
"dutyContentNode": {
"overflow": "hidden",
"height": "410px",
"padding": "12px"
},
"dutyContentAreaNode": {
"height": "410px"
},
"dutyActionNode": {
"height": "40px",
"width": "310px",
"margin": "auto"
},
"dutyOkActionNode": {
"width": "150px",
"height": "30px",
"background": "url("+"../x_component_Organization/Selector/$Selector/default/icon/editOk_bg.png) no-repeat center center",
"border": "0px",
"color": "#FFF",
"font-size": "18px",
"padding-left": "35px",
"border-radius": "4px",
"cursor": "pointer"
},
"dutyCancelActionNode": {
"width": "100px",
"height": "30px",
"background": "url("+"../x_component_Organization/Selector/$Selector/default/icon/editCancel_bg.png) no-repeat center center",
"border": "0px",
"color": "#FFF",
"font-size": "18px",
"padding-left": "20px",
"border-radius": "4px",
"margin-left": "10px",
"cursor": "pointer"
},
"dutyTextNode": {
"color": "#444",
"font-size": "14px",
"font-weight": "bold",
"height": "26px",
"margin-bottom": "6px",
"line-height": "26px"
},
"dutyReferenceAreaNode": {
"height": "28px",
"padding": "4px 0px 0px 0px",
"overflow": "hidden"
},
"dutyReferenceItemNode":{
"margin": "0px 4px 4px 0px",
"height": "24px",
"line-height": "24px",
"border": "1px solid #CCC",
"border-radius": "4px",
"background": "#f3f4ff",
"color": "#666",
"float": "left",
"cursor": "pointer",
"font-size": "14px",
"padding": "0px 10px"
},
"dutyReferenceItemNode_over": {
"background": "#e7eaff",
"border": "1px solid #999",
"color": "#666",
},
"dutyReferenceItemNode_down": {
"background": "#626ca6",
"border": "1px solid #FFF",
"color": "#FFF",
},
"dutyScriptAreaNode": {
"height": "316px",
"padding": "10px 0px"
},
"dutyScriptNode": {
"height": "316px",
"border": "1px solid #EEE"
}
}
\ No newline at end of file
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/css.wcss
0 → 100644
浏览文件 @
8704196a
{
"inputAreaNode": {
"overflow": "hidden",
"margin": "5px"
},
"actionAreaNode": {
"height": "20px",
"background": "#EEE",
"border-top": "1px solid #CCC",
"border-bottom": "1px solid #CCC",
"cursor": "pointer"
},
"actionNode": {
"height": "20px",
"background": "url("+"../x_component_process_ViewDesigner/widget/$ViewFilter/default/down.png) no-repeat center -2px"
},
"verificationNode": {
"background-color": "#fbe8e8",
"color": "#ff0000",
"height": "24px",
"line-height": "24px"
},
"verificationTextNode": {
"background": "url("+"../x_component_process_ViewDesigner/widget/$ViewFilter/default/icon/error.png) no-repeat 5px center",
"padding-left": "26px"
},
"itemNode": {
"cursor": "pointer",
"height": "24px",
"margin": "2px 4px",
"background-color": "#f4f7fe",
"border": "1px solid #999999"
},
"itemNode_current": {
"cursor": "pointer",
"height": "24px",
"margin": "2px 4px",
"background-color": "#e1e9ff",
"border": "1px solid #999999"
},
"itemDeleteNode": {
"width": "20px",
"height": "24px",
"float": "right",
"background": "url("+"../x_component_process_ViewDesigner/widget/$ViewFilter/default/icon/delete1.png) no-repeat center center",
"cursor": "pointer"
},
"itemContentNode": {
"padding-left": "5px",
"padding-right": "3px",
"margin-right": "20px",
"height": "24px",
"line-height": "24px",
"overflow": "hidden",
"text-overflow": "ellipsis",
"white-space": "nowrap"
}
}
\ No newline at end of file
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/down.png
0 → 100644
浏览文件 @
8704196a
854 字节
o2web/source/x_component_query_StatementDesigner/widget/$
PersonSelecto
r/default/icon/addPerson.png
→
o2web/source/x_component_query_StatementDesigner/widget/$
ViewFilte
r/default/icon/addPerson.png
浏览文件 @
8704196a
文件已移动
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/icon/delete1.png
0 → 100644
浏览文件 @
8704196a
214 字节
o2web/source/x_component_query_StatementDesigner/widget/$ViewFilter/default/icon/error.png
0 → 100644
浏览文件 @
8704196a
701 字节
o2web/source/x_component_query_StatementDesigner/widget/PersonSelector.js
已删除
100644 → 0
浏览文件 @
4eaa5bbf
MWF
.
xApplication
.
query
.
StatDesigner
=
MWF
.
xApplication
.
query
.
StatDesigner
||
{};
MWF
.
xApplication
.
query
.
StatDesigner
.
widget
=
MWF
.
xApplication
.
query
.
StatDesigner
.
widget
||
{};
MWF
.
require
(
"
MWF.xAction.org.express.RestActions
"
,
null
,
false
);
MWF
.
require
(
"
MWF.widget.Identity
"
,
null
,
false
);
MWF
.
xApplication
.
query
.
StatDesigner
.
widget
.
PersonSelector
=
new
Class
({
Implements
:
[
Options
,
Events
],
Extends
:
MWF
.
widget
.
Common
,
options
:
{
"
style
"
:
"
default
"
,
"
type
"
:
"
identity
"
,
"
names
"
:
[]
},
initialize
:
function
(
node
,
app
,
options
){
this
.
setOptions
(
options
);
this
.
node
=
$
(
node
);
this
.
app
=
app
;
this
.
path
=
"
../x_component_query_ViewDesigner/widget/$PersonSelector/
"
;
this
.
cssPath
=
"
../x_component_query_ViewDesigner/widget/$PersonSelector/
"
+
this
.
options
.
style
+
"
/css.wcss
"
;
this
.
_loadCss
();
this
.
identitys
=
[];
this
.
restActions
=
new
MWF
.
xAction
.
org
.
express
.
RestActions
();
this
.
name
=
this
.
node
.
get
(
"
name
"
);
this
.
load
();
},
load
:
function
(
data
){
this
.
node
.
setStyles
(
this
.
css
.
node
);
this
.
createAddNode
();
this
.
loadIdentitys
();
},
loadIdentitys
:
function
(){
var
explorer
=
{
"
actions
"
:
this
.
restActions
,
"
app
"
:
{
"
lp
"
:
this
.
app
.
lp
}
};
if
(
this
.
options
.
names
){
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
duty
"
){
var
dutys
=
JSON
.
decode
(
this
.
options
.
names
);
dutys
.
each
(
function
(
d
){
var
dutyItem
=
new
MWF
.
widget
.
Duty
(
d
,
this
.
node
,
explorer
,
true
,
function
(
e
){
var
_self
=
this
;
var
text
=
this
.
selector
.
app
.
lp
.
deleteDutyText
.
replace
(
/{duty}/g
,
this
.
data
.
name
);
this
.
selector
.
app
.
confirm
(
"
warm
"
,
e
,
this
.
selector
.
app
.
lp
.
deleteDutyTitle
,
text
,
300
,
120
,
function
(){
_self
.
selector
.
fireEvent
(
"
removeDuty
"
,
[
_self
]);
this
.
close
();
},
function
(){
this
.
close
();
});
e
.
stopPropagation
();
});
dutyItem
.
selector
=
this
;
dutyItem
.
explorer
=
explorer
;
this
.
identitys
.
push
(
dutyItem
);
}.
bind
(
this
));
}
else
{
this
.
options
.
names
.
each
(
function
(
name
){
MWF
.
require
(
"
MWF.widget.Identity
"
,
function
(){
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
identity
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Identity
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
department
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Department
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
company
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Company
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
person
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Person
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
application
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Application
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
process
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Process
({
"
name
"
:
name
.
name
,
"
id
"
:
name
.
id
},
this
.
node
,
explorer
));
}.
bind
(
this
));
}.
bind
(
this
));
}
}
},
createAddNode
:
function
(){
this
.
addNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
addPersonNode
}).
inject
(
this
.
node
,
"
before
"
);
this
.
addNode
.
addEvent
(
"
click
"
,
function
(
e
){
var
selecteds
=
[];
this
.
identitys
.
each
(
function
(
id
){
selecteds
.
push
(
id
.
data
.
id
)});
var
explorer
=
{
"
actions
"
:
this
.
restActions
,
"
app
"
:
{
"
lp
"
:
this
.
app
.
lp
}
};
var
options
=
{
"
type
"
:
this
.
options
.
type
,
"
count
"
:
(
this
.
options
.
type
.
toLowerCase
()
==
"
duty
"
)?
1
:
0
,
"
values
"
:
selecteds
,
"
zIndex
"
:
20000
,
"
onComplete
"
:
function
(
items
){
this
.
identitys
=
[];
if
(
this
.
options
.
type
.
toLowerCase
()
!=
"
duty
"
)
this
.
node
.
empty
();
MWF
.
require
(
"
MWF.widget.Identity
"
,
function
(){
items
.
each
(
function
(
item
){
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
identity
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Identity
(
item
.
data
,
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
department
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Department
(
item
.
data
,
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
company
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Company
(
item
.
data
,
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
person
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Person
(
item
.
data
,
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
application
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Application
(
item
.
data
,
this
.
node
,
explorer
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
process
"
)
this
.
identitys
.
push
(
new
MWF
.
widget
.
Process
(
item
.
data
,
this
.
node
,
explorer
));
}.
bind
(
this
));
if
(
this
.
options
.
type
.
toLowerCase
()
==
"
duty
"
)
{
items
.
each
(
function
(
item
){
new
MWF
.
xApplication
.
query
.
StatDesigner
.
widget
.
PersonSelector
.
DutyInput
(
this
,
item
.
data
,
this
.
node
,
explorer
,
20000
);
}.
bind
(
this
));
}
this
.
fireEvent
(
"
change
"
,
[
this
.
identitys
]);
}.
bind
(
this
));
}.
bind
(
this
)
};
var
selector
=
new
MWF
.
OrgSelector
(
this
.
app
.
content
,
options
);
}.
bind
(
this
));
}
});
MWF
.
xApplication
.
query
.
StatDesigner
.
widget
.
PersonSelector
.
DutyInput
=
Class
({
Implements
:
[
Events
],
initialize
:
function
(
selector
,
data
,
node
,
explorer
,
zIndex
){
this
.
itemNode
=
$
(
node
);
this
.
data
=
data
;
this
.
isNew
=
false
;
this
.
selector
=
selector
;
this
.
css
=
this
.
selector
.
css
;
this
.
app
=
this
.
selector
.
app
;
this
.
explorer
=
explorer
;
this
.
zIndex
=
zIndex
;
this
.
selector
.
identitys
=
[];
this
.
load
();
},
load
:
function
(){
this
.
css
.
dutyMaskNode
[
"
z-index
"
]
=
this
.
zIndex
;
this
.
app
.
content
.
mask
({
"
destroyOnHide
"
:
true
,
"
style
"
:
this
.
css
.
dutyMaskNode
});
this
.
node
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyInputArea
});
this
.
titleNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyTitleNode
}).
inject
(
this
.
node
);
this
.
titleActionNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyTitleActionNode
}).
inject
(
this
.
titleNode
);
this
.
titleTextNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyTitleTextNode
,
"
text
"
:
this
.
app
.
lp
.
dutyInputTitle
}).
inject
(
this
.
titleNode
);
this
.
contentNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyContentNode
}).
inject
(
this
.
node
);
this
.
loadContent
();
this
.
actionNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyActionNode
}).
inject
(
this
.
node
);
this
.
actionNode
.
setStyle
(
"
text-align
"
,
"
center
"
);
this
.
loadAction
();
this
.
node
.
setStyle
(
"
z-index
"
,
this
.
zIndex
.
toInt
()
+
1
);
this
.
node
.
inject
(
this
.
app
.
content
);
this
.
node
.
position
({
relativeTo
:
this
.
app
.
content
,
position
:
"
center
"
,
edge
:
"
center
"
});
var
size
=
this
.
app
.
content
.
getSize
();
var
nodeSize
=
this
.
node
.
getSize
();
this
.
node
.
makeDraggable
({
"
handle
"
:
this
.
titleNode
,
"
limit
"
:
{
"
x
"
:
[
0
,
size
.
x
-
nodeSize
.
x
],
"
y
"
:
[
0
,
size
.
y
-
nodeSize
.
y
]
}
});
this
.
setEvent
();
},
setEvent
:
function
(){
if
(
this
.
titleActionNode
){
this
.
titleActionNode
.
addEvent
(
"
click
"
,
function
(){
this
.
selector
.
fireEvent
(
"
cancel
"
);
this
.
close
();}.
bind
(
this
));
}
this
.
okActionNode
.
addEvent
(
"
click
"
,
function
(){
this
.
selectDuty
();
this
.
close
();
}.
bind
(
this
));
this
.
cancelActionNode
.
addEvent
(
"
click
"
,
function
(){
this
.
selector
.
fireEvent
(
"
cancel
"
);
this
.
close
();}.
bind
(
this
));
},
selectDuty
:
function
(){
var
code
=
this
.
scriptEditor
.
editor
.
editor
.
getValue
();
this
.
data
.
code
=
code
;
if
(
!
this
.
item
){
var
dutyItem
=
new
MWF
.
widget
.
Duty
(
this
.
data
,
this
.
itemNode
,
this
.
explorer
,
true
,
function
(
e
){
var
_self
=
this
;
var
text
=
this
.
selector
.
app
.
lp
.
deleteDutyText
.
replace
(
/{duty}/g
,
this
.
data
.
name
);
this
.
selector
.
app
.
confirm
(
"
warm
"
,
e
,
this
.
selector
.
app
.
lp
.
deleteDutyTitle
,
text
,
300
,
120
,
function
(){
_self
.
selector
.
fireEvent
(
"
removeDuty
"
,
[
_self
]);
this
.
close
();
},
function
(){
this
.
close
();
});
e
.
stopPropagation
();
});
dutyItem
.
selector
=
this
.
selector
;
dutyItem
.
explorer
=
this
.
explorer
;
this
.
selector
.
identitys
.
push
(
dutyItem
);
this
.
selector
.
fireEvent
(
"
change
"
,
[
this
.
selector
.
identitys
]);
}
else
{
this
.
selector
.
identitys
.
push
(
this
.
item
);
this
.
selector
.
fireEvent
(
"
change
"
,
[
this
.
selector
.
identitys
]);
}
},
"
close
"
:
function
(){
this
.
node
.
destroy
();
this
.
app
.
content
.
unmask
();
MWF
.
release
(
this
);
delete
this
;
},
loadAction
:
function
(){
this
.
okActionNode
=
new
Element
(
"
button
"
,
{
"
styles
"
:
this
.
css
.
dutyOkActionNode
,
"
text
"
:
"
确 定
"
}).
inject
(
this
.
actionNode
);
this
.
cancelActionNode
=
new
Element
(
"
button
"
,
{
"
styles
"
:
this
.
css
.
dutyCancelActionNode
,
"
text
"
:
"
取 消
"
}).
inject
(
this
.
actionNode
);
},
loadContent
:
function
(){
this
.
contentAreaNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyContentAreaNode
}).
inject
(
this
.
contentNode
);
var
text
=
this
.
app
.
lp
.
dutyInput
.
replace
(
/{duty}/g
,
this
.
data
.
name
);
this
.
textNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyTextNode
,
"
text
"
:
text
}).
inject
(
this
.
contentAreaNode
);
this
.
referenceAreaNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyReferenceAreaNode
}).
inject
(
this
.
contentAreaNode
);
this
.
scriptAreaNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyScriptAreaNode
}).
inject
(
this
.
contentAreaNode
);
this
.
createScriptNode
();
this
.
createReference
(
this
.
app
.
lp
.
creatorCompany
,
"
return this.workContext.getWork().creatorCompany
"
);
this
.
createReference
(
this
.
app
.
lp
.
creatorDepartment
,
"
return this.workContext.getWork().creatorDepartment
"
);
this
.
createReference
(
this
.
app
.
lp
.
currentCompany
,
"
return this.workContext.getTask().company
"
);
this
.
createReference
(
this
.
app
.
lp
.
currentDepartment
,
"
return this.workContext.getTask().department
"
);
},
createScriptNode
:
function
(){
this
.
scriptNode
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyScriptNode
}).
inject
(
this
.
scriptAreaNode
);
MWF
.
xDesktop
.
requireApp
(
"
query.ProcessDesigner
"
,
"
widget.ScriptText
"
,
function
(){
this
.
scriptEditor
=
new
MWF
.
xApplication
.
query
.
ProcessDesigner
.
widget
.
ScriptText
(
this
.
scriptNode
,
""
,
this
.
app
,
{
"
height
"
:
316
,
"
maskNode
"
:
this
.
app
.
content
,
"
maxObj
"
:
this
.
app
.
content
//"onChange": function(code){
// _self.data[node.get("name")] = code;
//}
});
this
.
scriptEditor
.
loadEditor
(
function
(){
if
(
this
.
data
.
code
)
this
.
scriptEditor
.
editor
.
editor
.
setValue
(
this
.
data
.
code
);
}.
bind
(
this
));
}.
bind
(
this
));
},
createReference
:
function
(
text
,
code
){
var
node
=
new
Element
(
"
div
"
,
{
"
styles
"
:
this
.
css
.
dutyReferenceItemNode
}).
inject
(
this
.
referenceAreaNode
);
node
.
set
(
"
text
"
,
text
);
node
.
store
(
"
code
"
,
code
);
var
css
=
this
.
css
.
dutyReferenceItemNode
;
var
overcss
=
this
.
css
.
dutyReferenceItemNode_over
;
var
downcss
=
this
.
css
.
dutyReferenceItemNode_down
;
var
_self
=
this
;
node
.
addEvents
({
"
mouseover
"
:
function
(){
this
.
setStyles
(
overcss
);},
"
mouseout
"
:
function
(){
this
.
setStyles
(
css
);},
"
mousedown
"
:
function
(){
this
.
setStyles
(
downcss
);},
"
mouseup
"
:
function
(){
this
.
setStyles
(
overcss
);},
"
click
"
:
function
(){
var
code
=
this
.
retrieve
(
"
code
"
);
var
value
=
_self
.
scriptEditor
.
editor
.
editor
.
getValue
();
if
(
!
value
){
_self
.
scriptEditor
.
editor
.
editor
.
setValue
(
code
);
}
else
{
value
=
value
+
"
\n
"
+
code
;
_self
.
scriptEditor
.
editor
.
editor
.
setValue
(
value
);
}
}
});
}
});
MWF
.
widget
.
Duty
=
new
Class
({
Extends
:
MWF
.
widget
.
Department
,
setEvent
:
function
(){
this
.
node
.
addEvent
(
"
click
"
,
function
(){
this
.
modifyDuty
();
}.
bind
(
this
));
},
modifyDuty
:
function
(){
var
dutyInput
=
new
MWF
.
xApplication
.
query
.
ProcessDesigner
.
widget
.
PersonSelector
.
DutyInput
(
this
.
selector
,
this
.
data
,
this
.
selector
.
node
,
this
.
explorer
,
20000
);
dutyInput
.
item
=
this
;
}
});
o2web/source/x_component_query_StatementDesigner/widget/ViewFilter.js
0 → 100644
浏览文件 @
8704196a
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录