Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ghsby
o2oa
提交
cce4823c
o2oa
项目概览
ghsby
/
o2oa
落后 Fork 源项目 2880 个版本
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
1
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,发现更多精彩内容 >>
提交
cce4823c
编写于
12月 16, 2020
作者:
蔡
蔡祥熠
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'wrdp' into 'develop'
Wrdp See merge request o2oa/o2oa!2533
上级
759eceb2
568ab686
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
311 addition
and
31 deletion
+311
-31
o2web/source/x_component_portal_PageDesigner/Module/Calendar/default/css.wcss
...nent_portal_PageDesigner/Module/Calendar/default/css.wcss
+1
-1
o2web/source/x_component_process_Xform/$Input.js
o2web/source/x_component_process_Xform/$Input.js
+38
-11
o2web/source/x_component_process_Xform/Checkbox.js
o2web/source/x_component_process_Xform/Checkbox.js
+10
-2
o2web/source/x_component_process_Xform/DatagridMobile.js
o2web/source/x_component_process_Xform/DatagridMobile.js
+107
-2
o2web/source/x_component_process_Xform/DatagridPC.js
o2web/source/x_component_process_Xform/DatagridPC.js
+109
-5
o2web/source/x_component_process_Xform/Div.js
o2web/source/x_component_process_Xform/Div.js
+1
-1
o2web/source/x_component_process_Xform/Documenteditor.js
o2web/source/x_component_process_Xform/Documenteditor.js
+27
-1
o2web/source/x_component_process_Xform/Form.js
o2web/source/x_component_process_Xform/Form.js
+14
-4
o2web/source/x_component_service_AgentDesigner/sample/sync2todo_UnifiedWorkbench.js
...ervice_AgentDesigner/sample/sync2todo_UnifiedWorkbench.js
+4
-4
未找到文件。
o2web/source/x_component_portal_PageDesigner/Module/Calendar/default/css.wcss
浏览文件 @
cce4823c
...
...
@@ -48,7 +48,7 @@
"display": "inline-block",
"height": "18px"
},
"
person
fieldIcon": {
"
text
fieldIcon": {
"background": "url("+"../x_component_process_FormDesigner/Module/Calendar/default/icon/calendar.png) center center no-repeat",
"width": "18px",
"height": "18px",
...
...
o2web/source/x_component_process_Xform/$Input.js
浏览文件 @
cce4823c
...
...
@@ -263,7 +263,15 @@ MWF.xApplication.process.Xform.$Input = MWF.APP$Input = new Class(
this
.
loadDescription
();
}
},
/**
* @summary 判断组件是否只读.
* @example
* var readonly = this.form.get('subject').isReadonly();
* @return {Boolean} 是否只读.
*/
isReadonly
:
function
(){
return
!!
(
this
.
readonly
||
this
.
json
.
isReadonly
);
},
getTextData
:
function
(){
//var value = this.node.get("value");
//var text = this.node.get("text");
...
...
@@ -284,13 +292,24 @@ MWF.xApplication.process.Xform.$Input = MWF.APP$Input = new Class(
return
!
data
||
!
data
.
trim
();
},
/**
* 该方法和 this.data.{fieldName} 在绝大部分的时候效果一样。区别如下:<br/>
* 当使用异步函数生成器(Promise)为组件赋值的时候,getData立即获取数据,可能返回修改前的值,当Promise执行完成以后,会返回修改后的值。<br/>
* this.data.{fieldName} 立即获取数据,可能获取到异步函数生成器,当Promise执行完成以后,会返回修改后的值。<br/>
* {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0#EggIl|具体差异请查看链接}
* 在脚本中使用 this.data[fieldName] 也可以获取组件值。
* 区别如下:<br/>
* 1、当使用Promise的时候<br/>
* 使用异步函数生成器(Promise)为组件赋值的时候,用getData方法立即获取数据,可能返回修改前的值,当Promise执行完成以后,会返回修改后的值。<br/>
* this.data[fieldName] 立即获取数据,可能获取到异步函数生成器,当Promise执行完成以后,会返回修改后的值。<br/>
* {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0#EggIl|具体差异请查看链接}<br/>
* 2、当表单上没有对应组件的时候,可以使用this.data[fieldName]获取值,但是this.form.get('fieldName')无法获取到组件。
* @summary 获取组件值。
* @example
* var data = this.form.get('subject').getData(); //没有使用promise的情况
* @example
* var data = this.form.get('fieldName').getData(); //没有使用promise的情况、
* @example
* //如果无法确定表单上是否有组件,需要判断
* var data;
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* data = this.form.get('fieldName').getData();
* }else{
* data = this.data['fieldName']; //直接从数据中获取字段值
* }
* @example
* //使用Promise的情况
* var field = this.form.get("fieldName");
...
...
@@ -321,12 +340,20 @@ MWF.xApplication.process.Xform.$Input = MWF.APP$Input = new Class(
resetData
:
function
(){
this
.
setData
(
this
.
getValue
());
},
/**当参数为Promise的时候,请查看文档: {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0|使用Promise处理表单异步}
/**当参数为Promise的时候,请参考文档: {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0|使用Promise处理表单异步}<br/>
* 当表单上没有对应组件的时候,可以使用this.data[fieldName] = data赋值。
* @summary 为组件赋值。
*
@param data{String|Promise} .
*
@example
* @param data{String|Promise} .
* @example
* this.form.get("fieldName").setData("test"); //赋文本值
* @example
* @example
* //如果无法确定表单上是否有组件,需要判断
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* this.form.get('fieldName').setData( data );
* }else{
* this.data['fieldName'] = data;
* }
* @example
* //使用Promise
* var field = this.form.get("fieldName");
* var dict = new this.Dict("test"); //test为数据字典名称
...
...
o2web/source/x_component_process_Xform/Checkbox.js
浏览文件 @
cce4823c
...
...
@@ -301,9 +301,17 @@ MWF.xApplication.process.Xform.Checkbox = MWF.APPCheckbox = new Class(
resetData
:
function
(){
this
.
setData
(
this
.
getValue
());
},
/**
/**
当参数为Promise的时候,请查看文档: {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0|使用Promise处理表单异步}
* @summary 为字段赋值,并且使值对应的选项选中。
* @param data{String} .
* @param data{String|Promise} .
* @example
* this.form.get("fieldName").setData("test"); //赋文本值
* @example
* //使用Promise
* var field = this.form.get("fieldName");
* var dict = new this.Dict("test"); //test为数据字典名称
* var promise = dict.get("tools", true); //异步使用数据字典的get方法时返回Promise,参数true表示异步
* field.setData( promise );
*/
setData
:
function
(
data
){
return
this
.
_setValue
(
data
,
"
__setData
"
);
...
...
o2web/source/x_component_process_Xform/DatagridMobile.js
浏览文件 @
cce4823c
MWF
.
xDesktop
.
requireApp
(
"
process.Xform
"
,
"
$Module
"
,
null
,
false
);
MWF
.
xApplication
.
process
.
Xform
.
DatagridMobile
=
new
Class
({
/** @class process.DatagridMobile 数据网格组件(移动端)。
* @example
* //可以在脚本中获取该组件
* //方法1:
* var attachment = this.form.get("name"); //获取组件
* //方法2
* var attachment = this.target; //在组件事件脚本中获取
* @extends MWF.xApplication.process.Xform.$Module
* @hideconstructor
*/
MWF
.
xApplication
.
process
.
Xform
.
DatagridMobile
=
new
Class
(
/** @lends MWF.xApplication.process.Xform.DatagridMobile# */
{
Implements
:
[
Events
],
Extends
:
MWF
.
APP$Module
,
isEdit
:
false
,
...
...
@@ -25,6 +37,7 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
this
.
createMobileTable
();
this
.
editable
=
(
!
this
.
readonly
);
if
(
this
.
editable
)
this
.
editable
=
this
.
form
.
Macro
.
exec
(((
this
.
json
.
editableScript
)
?
this
.
json
.
editableScript
.
code
:
""
),
this
);
//this.editable = false;
...
...
@@ -1331,9 +1344,43 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
if
(
this
.
table
)
this
.
table
.
setStyle
(
"
display
"
,
"
none
"
);
}
},
/**
* @summary 重置数据网格的值为默认值或置空。
* @example
* this.form.get('fieldName').resetData();
*/
resetData
:
function
(){
this
.
setData
(
this
.
_getValue
());
},
/**当参数为Promise的时候,请查看文档: {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0|使用Promise处理表单异步}<br/>
* 当表单上没有对应组件的时候,可以使用this.data[fieldName] = data赋值。
* @summary 为数据网格赋值。
* @param data{DatagridData|Promise|Array} 必选,数组或Promise.
* @example
* this.form.get("fieldName").setData([]); //赋空值
* @example
* //如果无法确定表单上是否有组件,需要判断
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* this.form.get('fieldName').setData( data );
* }else{
* this.data['fieldName'] = data;
* }
*@example
* //使用Promise
* var field = this.form.get("fieldName");
* var promise = new Promise(function(resolve, reject){ //发起异步请求
* var oReq = new XMLHttpRequest();
* oReq.addEventListener("load", function(){ //绑定load事件
* resolve(oReq.responseText);
* });
* oReq.open("GET", "/data.json"); //假设数据存放在data.json
* oReq.send();
* });
* promise.then( function(){
* var data = field.getData(); //此时由于异步请求已经执行完毕,getData方法获得data.json的值
* })
* field.setData( promise );
*/
setData
:
function
(
data
){
if
(
!
data
){
data
=
this
.
_getValue
();
...
...
@@ -1459,10 +1506,24 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
},
/**
* @summary 获取总计数据.
* @example
* var totalObject = this.form.get('fieldName').getTotal();
* @return {Object} 总计数据
*/
getTotal
:
function
(){
this
.
_loadTotal
();
return
this
.
totalResaults
;
},
/**
* @summary 判断数据网格是否为空.
* @example
* if( this.form.get('fieldName').isEmpty() ){
* this.form.notice('至少需要添加一条数据', 'warn');
* }
* @return {Boolean} 是否为空
*/
isEmpty
:
function
(){
var
data
=
this
.
getData
();
if
(
!
data
)
return
true
;
...
...
@@ -1472,6 +1533,42 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
}
return
false
;
},
/**
* 在脚本中使用 this.data[fieldName] 也可以获取组件值。
* 区别如下:<br/>
* 1、当使用Promise的时候<br/>
* 使用异步函数生成器(Promise)为组件赋值的时候,用getData方法立即获取数据,可能返回修改前的值,当Promise执行完成以后,会返回修改后的值。<br/>
* this.data[fieldName] 立即获取数据,可能获取到异步函数生成器,当Promise执行完成以后,会返回修改后的值。<br/>
* {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0#EggIl|具体差异请查看链接}<br/>
* 2、当表单上没有对应组件的时候,可以使用this.data[fieldName]获取值,但是this.form.get('fieldName')无法获取到组件。
* @summary 获取数据网格数据.
* @example
* var data = this.form.get('fieldName').getData();
*@example
* //如果无法确定表单上是否有组件,需要判断
* var data;
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* data = this.form.get('fieldName').getData();
* }else{
* data = this.data['fieldName']; //直接从数据中获取字段值
* }
* @example
* //使用Promise
* var field = this.form.get("fieldName");
* var promise = new Promise(function(resolve, reject){ //发起异步请求
* var oReq = new XMLHttpRequest();
* oReq.addEventListener("load", function(){ //绑定load事件
* resolve(oReq.responseText);
* });
* oReq.open("GET", "/data.json"); //假设数据存放在data.json
* oReq.send();
* });
* promise.then( function(){
* var data = field.getData(); //此时由于异步请求已经执行完毕,getData方法获得data.json的值
* })
* field.setData( promise );
* @return {DatagridData}
*/
getData
:
function
(){
if
(
this
.
editable
!=
false
){
if
(
this
.
isEdit
)
this
.
_completeLineEdit
();
...
...
@@ -1629,7 +1726,15 @@ MWF.xApplication.process.Xform.DatagridMobile = new Class({
}
return
true
;
},
/**
* @summary 根据组件的校验设置进行校验。
* @param {String} routeName - 可选,路由名称.
* @example
* if( !this.form.get('fieldName').validation() ){
* return false;
* }
* @return {Boolean} 是否通过校验
*/
validation
:
function
(
routeName
,
opinion
){
if
(
this
.
isEdit
){
if
(
!
this
.
editValidation
()){
...
...
o2web/source/x_component_process_Xform/DatagridPC.js
浏览文件 @
cce4823c
/**
* 数据网格数据结构.
* @typedef {Object} DatagridData
* @property {Array} data - 数据网格列表数据
* @property {Object} total - 统计数据
* @example
* {
"data": [ //数据网格条目
{
"datagrid_datagrid$Title": { //数据网格第1列title标识
"org_20": { //数据网格第1列字段标识
"distinguishedName": "张三@bf007525-99a3-4178-a474-32865bdddec8@I",
"id": "bf007525-99a3-4178-a474-32865bdddec8",
"name": "张三",
"person": "0c828550-d8ab-479e-9880-09a59332f1ed",
"unit": "9e6ce205-86f6-4d84-96e1-83147567aa8d",
"unitLevelName": "兰德纵横/市场营销部",
"unitName": "市场营销部"
}
},
"datagrid_datagrid$Title_1": { //数据网格第2列title标识
"number": "111" //数据网格第2列字段标识和值
},
"datagrid_datagrid$Title_2": { //数据网格第3列title标识
"textfield_2": "杭州" //数据网格第3列字段标识和值
},
"datagrid_datagrid$Title_3": { //数据网格第4列title标识
"attachment_1": [ //数据网格第4列字段标识
{
"activityName": "拟稿",
"extension": "jpg",
"id": "9514758e-9e28-4bfe-87d7-824f2811f173",
"lastUpdateTime": "2020-12-09 21:48:03",
"length": 452863.0,
"name": "111.jpg",
"person": "李四@lisi@P"
}
]
}
},
...
],
"total": { //统计数据,列title设置了总计
"datagrid_datagrid$Title_1": "333", //总计列1
"datagrid_datagrid$Title_2": "2" //总计列2
}
}
*/
MWF
.
xDesktop
.
requireApp
(
"
process.Xform
"
,
"
$Module
"
,
null
,
false
);
/** @class process.
Button
数据网格组件(PC端)。
/** @class process.
DatagridPC
数据网格组件(PC端)。
* @example
* //可以在脚本中获取该组件
* //方法1:
...
...
@@ -1121,9 +1169,34 @@ MWF.xApplication.process.Xform.DatagridPC = new Class(
resetData
:
function
(){
this
.
setData
(
this
.
_getValue
());
},
/**
/**当参数为Promise的时候,请查看文档: {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0|使用Promise处理表单异步}<br/>
* 当表单上没有对应组件的时候,可以使用this.data[fieldName] = data赋值。
* @summary 为数据网格赋值。
* @param data{Array} - 必选,数组.
* @param data{DatagridData|Promise|Array} 必选,数组或Promise.
* @example
* this.form.get("fieldName").setData([]); //赋空值
* @example
* //如果无法确定表单上是否有组件,需要判断
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* this.form.get('fieldName').setData( data );
* }else{
* this.data['fieldName'] = data;
* }
*@example
* //使用Promise
* var field = this.form.get("fieldName");
* var promise = new Promise(function(resolve, reject){ //发起异步请求
* var oReq = new XMLHttpRequest();
* oReq.addEventListener("load", function(){ //绑定load事件
* resolve(oReq.responseText);
* });
* oReq.open("GET", "/data.json"); //假设数据存放在data.json
* oReq.send();
* });
* promise.then( function(){
* var data = field.getData(); //此时由于异步请求已经执行完毕,getData方法获得data.json的值
* })
* field.setData( promise );
*/
setData
:
function
(
data
){
if
(
!
data
){
...
...
@@ -1233,11 +1306,42 @@ MWF.xApplication.process.Xform.DatagridPC = new Class(
}
return
false
;
},
/**
* 在脚本中使用 this.data[fieldName] 也可以获取组件值。
* 区别如下:<br/>
* 1、当使用Promise的时候<br/>
* 使用异步函数生成器(Promise)为组件赋值的时候,用getData方法立即获取数据,可能返回修改前的值,当Promise执行完成以后,会返回修改后的值。<br/>
* this.data[fieldName] 立即获取数据,可能获取到异步函数生成器,当Promise执行完成以后,会返回修改后的值。<br/>
* {@link https://www.yuque.com/o2oa/ixsnyt/ws07m0#EggIl|具体差异请查看链接}<br/>
* 2、当表单上没有对应组件的时候,可以使用this.data[fieldName]获取值,但是this.form.get('fieldName')无法获取到组件。
* @summary 获取数据网格数据.
*
@example
* @example
* var data = this.form.get('fieldName').getData();
* @return {Object} - 格式如下{ data : [] }.
*@example
* //如果无法确定表单上是否有组件,需要判断
* var data;
* if( this.form.get('fieldName') ){ //判断表单是否有无对应组件
* data = this.form.get('fieldName').getData();
* }else{
* data = this.data['fieldName']; //直接从数据中获取字段值
* }
* @example
* //使用Promise
* var field = this.form.get("fieldName");
* var promise = new Promise(function(resolve, reject){ //发起异步请求
* var oReq = new XMLHttpRequest();
* oReq.addEventListener("load", function(){ //绑定load事件
* resolve(oReq.responseText);
* });
* oReq.open("GET", "/data.json"); //假设数据存放在data.json
* oReq.send();
* });
* promise.then( function(){
* var data = field.getData(); //此时由于异步请求已经执行完毕,getData方法获得data.json的值
* })
* field.setData( promise );
* @return {DatagridData}
*/
getData
:
function
(){
if
(
this
.
editable
!=
false
){
...
...
o2web/source/x_component_process_Xform/Div.js
浏览文件 @
cce4823c
MWF
.
xDesktop
.
requireApp
(
"
process.Xform
"
,
"
$Module
"
,
null
,
false
);
/** @class process.
Button
容器组件。
/** @class process.
Div
容器组件。
* @example
* //可以在脚本中获取该组件
* //方法1:
...
...
o2web/source/x_component_process_Xform/Documenteditor.js
浏览文件 @
cce4823c
MWF
.
xDesktop
.
requireApp
(
"
process.Xform
"
,
"
$Module
"
,
null
,
false
);
MWF
.
xApplication
.
process
.
Xform
.
Documenteditor
=
MWF
.
APPDocumenteditor
=
new
Class
({
/** @class process.Documenteditor 公文编辑器。
* @example
* //可以在脚本中获取该组件
* //方法1:
* var attachment = this.form.get("name"); //获取组件
* //方法2
* var attachment = this.target; //在组件事件脚本中获取
* @extends MWF.xApplication.process.Xform.$Module
* @hideconstructor
*/
MWF
.
xApplication
.
process
.
Xform
.
Documenteditor
=
MWF
.
APPDocumenteditor
=
new
Class
(
/** @lends MWF.xApplication.process.Xform.Documenteditor# */
{
Extends
:
MWF
.
APP$Module
,
options
:
{
"
moduleEvents
"
:
[
"
load
"
,
"
queryLoad
"
,
"
beforeLoad
"
,
"
postLoad
"
,
"
afterLoad
"
,
"
loadPage
"
],
...
...
@@ -42,6 +54,9 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
this
.
active
();
}
},
/**激活板式文件编辑
* 设置了延迟加载的时候,可以通过这个方法来激活
*/
active
:
function
(){
this
.
_loadModuleEvents
();
if
(
this
.
fireEvent
(
"
queryLoad
"
)){
...
...
@@ -2482,6 +2497,9 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
_loadValue
:
function
(){
var
data
=
this
.
_getBusinessData
();
},
/**重新计算板式文件的所有字段,当字段是脚本时可以使用该方法立即更新
*/
reload
:
function
(){
this
.
resetData
();
},
...
...
@@ -2509,6 +2527,8 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
if
(
typeOf
(
data
)
!==
"
object
"
)
return
true
;
return
!
data
.
filetext
||
data
.
filetext
===
this
.
json
.
defaultValue
.
filetext
;
},
/*获取板式文件数据,返回Object
*/
getData
:
function
(){
//if (this.editMode){
...
...
@@ -2592,6 +2612,8 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
tmpdiv
.
destroy
();
}
},
/**设置
*/
setData
:
function
(
data
,
diffFiletext
){
if
(
data
){
this
.
data
=
data
;
...
...
@@ -2898,6 +2920,8 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
}
return
node
;
},
/*将板式文件内容以html形式输出
*/
getDocumentHtml
:
function
(){
var
tmpNode
=
this
.
contentNode
.
getFirst
().
getFirst
().
clone
(
true
);
var
htmlNode
=
tmpNode
.
getLast
();
...
...
@@ -2922,6 +2946,8 @@ MWF.xApplication.process.Xform.Documenteditor = MWF.APPDocumenteditor = new Cla
tmpNode
.
destroy
();
return
"
<html xmlns:v=
\"
urn:schemas-microsoft-com:vml
\"
><head><meta charset=
\"
UTF-8
\"
/></head><body>
"
+
htmlStr
+
"
</body></html>
"
;
},
/*将板式文件转换成附件,转换的文件名和格式等信息与配置有关
* */
toWord
:
function
(
callback
,
name
){
var
docNmae
=
name
||
""
;
...
...
o2web/source/x_component_process_Xform/Form.js
浏览文件 @
cce4823c
...
...
@@ -1422,14 +1422,21 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class({
if
(
data
.
signalStack
&&
data
.
signalStack
.
length
)
{
var
activityUsers
=
[];
data
.
signalStack
.
each
(
function
(
stack
)
{
var
id
s
=
[];
var
id
List
=
[];
if
(
stack
.
splitExecute
)
{
id
s
=
stack
.
splitExecute
.
splitValueList
||
[];
id
List
=
stack
.
splitExecute
.
splitValueList
||
[];
}
if
(
stack
.
manualExecute
)
{
id
s
=
stack
.
manualExecute
.
identities
||
[];
id
List
=
stack
.
manualExecute
.
identities
||
[];
}
var
count
=
0
;
var
ids
=
[];
idList
.
each
(
function
(
i
){
var
cn
=
o2
.
name
.
cn
(
i
);
if
(
!
ids
.
contains
(
cn
)
){
ids
.
push
(
cn
)
}
});
if
(
ids
.
length
>
8
)
{
count
=
ids
.
length
;
ids
=
ids
.
slice
(
0
,
8
);
...
...
@@ -1449,7 +1456,10 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class({
data
.
properties
.
nextManualList
.
each
(
function
(
a
)
{
var
ids
=
[];
a
.
taskIdentityList
.
each
(
function
(
i
)
{
ids
.
push
(
o2
.
name
.
cn
(
i
))
var
cn
=
o2
.
name
.
cn
(
i
);
if
(
!
ids
.
contains
(
cn
)
){
ids
.
push
(
cn
)
}
});
var
t
=
"
<b>
"
+
MWF
.
xApplication
.
process
.
Xform
.
LP
.
nextActivity
+
"
</b><span style='color: #ea621f'>
"
+
a
.
activityName
+
"
</span>;<b>
"
+
MWF
.
xApplication
.
process
.
Xform
.
LP
.
nextUser
+
"
</b><span style='color: #ea621f'>
"
+
ids
.
join
(
"
,
"
)
+
"
</span>
"
;
activityUsers
.
push
(
t
);
...
...
o2web/source/x_component_service_AgentDesigner/sample/sync2todo_UnifiedWorkbench.js
浏览文件 @
cce4823c
...
...
@@ -16,11 +16,11 @@ print("----发送待办开始---------");
//var Read_Service_URL ='http://10.11.198.224:9083/UnifiedWorkbench/ProcessReadService';
//WSDL http://10.11.198.224:9083/UnifiedWorkbench/ProcessReadService/ProcessReadService.wsdl
var
Todo_Service_URL
=
'
http://
10.11.198.209:9083
/UnifiedWorkbench/ProcessTaskService
'
;
var
Read_Service_URL
=
'
http://
10.11.198.209:9083
/UnifiedWorkbench/ProcessReadService
'
;
var
Todo_Service_URL
=
'
http://
hostname
/UnifiedWorkbench/ProcessTaskService
'
;
var
Read_Service_URL
=
'
http://
hostname
/UnifiedWorkbench/ProcessReadService
'
;
var
Project_Name
=
'
安徽智和
'
;
var
Project_Password
=
'
ahzh
'
;
var
Project_Name
=
'
测试
'
;
var
Project_Password
=
'
password
'
;
function
getServerHost
(){
return
"
http://zhtest.ah.unicom.local
"
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录