Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
d4ed2061
提交
d4ed2061
编写于
11月 07, 2022
作者:
Mosher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
delete:删除脏文件
上级
1a6396d9
变更
22
隐藏空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
0 行增加
和
1551 行删除
+0
-1551
appendparam-node.ts
app_Web/src/logic/ui-logic/logic-node/appendparam-node.ts
+0
-54
begin-node.ts
app_Web/src/logic/ui-logic/logic-node/begin-node.ts
+0
-19
bindparam-node.ts
app_Web/src/logic/ui-logic/logic-node/bindparam-node.ts
+0
-50
copyparam-node.ts
app_Web/src/logic/ui-logic/logic-node/copyparam-node.ts
+0
-53
deaction-node.ts
app_Web/src/logic/ui-logic/logic-node/deaction-node.ts
+0
-106
debugparam-node.ts
app_Web/src/logic/ui-logic/logic-node/debugparam-node.ts
+0
-47
dedataset-node.ts
app_Web/src/logic/ui-logic/logic-node/dedataset-node.ts
+0
-75
delogic-node.ts
app_Web/src/logic/ui-logic/logic-node/delogic-node.ts
+0
-65
deuiaction-node.ts
app_Web/src/logic/ui-logic/logic-node/deuiaction-node.ts
+0
-73
end-node.ts
app_Web/src/logic/ui-logic/logic-node/end-node.ts
+0
-63
index.ts
app_Web/src/logic/ui-logic/logic-node/index.ts
+0
-21
logic-node-base.ts
app_Web/src/logic/ui-logic/logic-node/logic-node-base.ts
+0
-90
msgbox-node.ts
app_Web/src/logic/ui-logic/logic-node/msgbox-node.ts
+0
-71
plugin-node.ts
app_Web/src/logic/ui-logic/logic-node/plugin-node.ts
+0
-26
prepareparam-node.ts
app_Web/src/logic/ui-logic/logic-node/prepareparam-node.ts
+0
-362
rawcode-node.ts
app_Web/src/logic/ui-logic/logic-node/rawcode-node.ts
+0
-50
renewparam-node.ts
app_Web/src/logic/ui-logic/logic-node/renewparam-node.ts
+0
-52
resetparam-node.ts
app_Web/src/logic/ui-logic/logic-node/resetparam-node.ts
+0
-52
sortparam-node.ts
app_Web/src/logic/ui-logic/logic-node/sortparam-node.ts
+0
-50
throw-exception-node.ts
...Web/src/logic/ui-logic/logic-node/throw-exception-node.ts
+0
-33
viewctrl-fire-event.ts
app_Web/src/logic/ui-logic/logic-node/viewctrl-fire-event.ts
+0
-77
viewctrl-invoke-node.ts
...Web/src/logic/ui-logic/logic-node/viewctrl-invoke-node.ts
+0
-62
未找到文件。
app_Web/src/logic/ui-logic/logic-node/appendparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
/**
* 附加到数组参数节点
*
* @export
* @class AppendParamNode
* @extends {LogicNodeBase}
*/
export
class
UILogicAppendParamNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @static
* @param {IPSDEAppendParamLogic} logicNode 逻辑节点
* @param {UIActionContext} actionContext 逻辑上下文
* @memberof AppDeLogicAppendParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onAppendParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
?.
message
?
error
?.
message
:
'发生未知错误!'
}
`);
}
}
/**
* 附加到数组
*
* @param {IPSDEAppendParamLogic} logicNode
* @param {UIActionContext} actionContext
* @memberof AppDeLogicAppendParamNode
*/
public onAppendParam(logicNode: ILogicNode, actionContext: UIActionContext) {
// 源数据
const srcParam: any = actionContext.getParam(logicNode.srcParam as string);
// 目标数据
const dstParam: any = actionContext.getParam(logicNode.dstParam as string);
// 源属性
const srcFieldName: string = (logicNode.srcFieldName as string).toLowerCase();
let objParam: any;
if (srcFieldName) {
// objParam = srcParam.get(srcFieldName);
objParam = srcParam.getReal();
} else {
objParam = srcParam.getReal();
}
dstParam.append(logicNode.dstIndex, objParam, logicNode.srcIndex, logicNode.srcSize);
actionContext.bindLastReturnParam(null);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/begin-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic/logic-node"
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
export
class
UILogicBeginNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @static
* @param {IPSDELogicNode} logicNode 逻辑节点
* @param {ActionContext} actionContext 逻辑上下文
* @memberof AppDeLogicBeginNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// 默认设置当前逻辑返回结果为当前默认输入参数
actionContext
.
setResult
(
actionContext
.
defaultParam
.
getReal
());
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/bindparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
export
class
UILogicBindParamNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @param {IPSDEUIBindParamLogic} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof AppUILogicBindParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onBindParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
?.
message
?
error
?.
message
:
'发生未知错误!'
}
`);
}
}
/**
* 处理参数
*
* @param {IPSDEUIBindParamLogic} logicNode 节点模型数据
* @param {UIActionContext} actionContext 逻辑上下文
* @memberof AppUILogicBindParamNode
*/
public onBindParam(logicNode: ILogicNode, actionContext: UIActionContext) {
if (!logicNode || !logicNode.dstParam || !logicNode.srcParam) {
throw new Error(`
操作参数或者源参数缺失!
`);
}
try {
// 源数据
const srcParam: any = actionContext.getParam(logicNode.srcParam);
// 目标数据
const dstParam: any = actionContext.getParam(logicNode.dstParam);
// 源属性
const srcFieldName: string = logicNode.srcFieldName ? logicNode.srcFieldName.toLowerCase() : '';
if (srcFieldName) {
dstParam.bind(srcParam.get(srcFieldName));
} else {
dstParam.bind(srcParam.getReal());
}
actionContext.bindLastReturnParam(null);
} catch (error: any) {
throw new Error(`
逻辑参数
$
{
logicNode
.
dstParam
}
$
{
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`);
}
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/copyparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
/**
* 拷贝参数节点
*
* @export
* @class UILogicCopyParamNode
* @extends {UILogicNodeBase}
*/
export
class
UILogicCopyParamNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicCopyParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onCopyParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
"发生未知错误!"
}
`
);
}
}
/**
* 处理参数
*
* @param {ILogicNode} logicNode 节点模型数据
* @param {UIActionContext} actionContext 逻辑上下文
* @memberof UILogicCopyParamNode
*/
public
onCopyParam
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
if
(
!
logicNode
||
!
logicNode
.
dstParam
||
!
logicNode
.
srcParam
)
{
throw
new
Error
(
`操作参数或者源参数缺失!`
);
}
try
{
// 源数据
const
srcParam
:
any
=
actionContext
.
getParam
(
logicNode
.
srcParam
);
// 目标数据
const
dstParam
:
any
=
actionContext
.
getParam
(
logicNode
.
dstParam
);
srcParam
.
copyTo
(
dstParam
);
actionContext
.
bindLastReturnParam
(
null
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑参数
${
logicNode
.
dstParam
}${
error
&&
error
.
message
?
error
.
message
:
"发生未知错误!"
}
`
);
}
}
}
app_Web/src/logic/ui-logic/logic-node/deaction-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
/**
* 实体行为调用节点
*
* @export
* @class AppUILogicDeactionNode
*/
export
class
UILogicDeActionNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof AppUILogicDeactionNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleDEAction
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理实体行为
*
* @private
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof AppUILogicDeactionNode
*/
private
async
handleDEAction
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// const dstEntity = logicNode.getDstPSAppDataEntity();
// const deAction = await getDstPSAppDEAction(logicNode);
// const dstParam = actionContext.getParam((logicNode.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// if (!Object.is(dstParam.logicParamType, UILogicParamType.entityListParam) && !Object.is(dstParam.logicParamType, UILogicParamType.entityParam)) {
// throw new Error(`实体行为操作参数只能为数据对象变量类型或者数据对象列表类型`);
// }
// const retParam = actionContext.getParam((logicNode.getRetPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// if (dstEntity && deAction && dstParam) {
// try {
// const service = await DataServiceHelp.getInstance().getService(dstEntity);
// const getTempContext = (data: any) => {
// const tempContext = Util.deepCopy(actionContext.context);
// if (data) {
// Object.assign(tempContext, data);
// }
// return tempContext;
// }
// // 数据对象变量类型
// if (Object.is(dstParam.logicParamType, UILogicParamType.entityParam)) {
// const tempContext = getTempContext(dstParam.getReal());
// const res = await service.execute(deAction.codeName, tempContext, dstParam.getReal() ? dstParam.getReal() : {});
// if (res && res.ok && res.data) {
// if (retParam) {
// retParam.bind(res.data);
// }
// actionContext.bindLastReturnParam(res.data);
// } else {
// throw new Error(`执行实体行为失败`);
// }
// } else {
// // 数据对象列表类型
// if (dstParam.getReal() && (dstParam.getReal().length > 0)) {
// if (dstParam.getReal().length > 20) {
// throw new Error(`操作数据量超过20条,建议使用后台处理逻辑`);
// }
// let promises: any[] = [];
// dstParam.getReal().forEach((item: any) => {
// const tempContext = getTempContext(item);
// promises.push(service.execute(deAction.codeName, tempContext, item ? item : {}));
// })
// const resArray = await Promise.all(promises);
// if (resArray && resArray.length > 0) {
// const resultArray: any[] = [];
// resArray.forEach((res: any) => {
// if (res && res.ok && res.data) {
// resultArray.push(res.data);
// }
// })
// if (retParam) {
// retParam.bind(resultArray);
// }
// actionContext.bindLastReturnParam(resultArray);
// } else {
// throw new Error(`执行实体行为失败`);
// }
// } else {
// if (retParam) {
// retParam.bind([]);
// }
// actionContext.bindLastReturnParam([]);
// }
// }
// } catch (error: any) {
// throw new Error(`${error.message ? error.message : error.data?.message ? error.data.message : '执行实体行为失败'}`);
// }
// } else {
// throw new Error(`执行实体行为所需参数不足`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/debugparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 调试逻辑参数节点
*
* @export
* @class UILogicDebugParamNode
*/
export
class
UILogicDebugParamNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicDebugParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
handleDebugParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
?.
message
?
error
?.
message
:
'发生未知错误!'
}
`);
}
}
/**
* 处理调试逻辑参数
*
* @private
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @memberof UILogicDebugParamNode
*/
private handleDebugParam(logicNode: ILogicNode, actionContext: UIActionContext) {
// if (logicNode.getDstPSDEUILogicParam()) {
// const dstParamValue = actionContext.getParam(logicNode.getDstPSDEUILogicParam()?.codeName as string).getReal();
// actionContext.bindLastReturnParam(null);
// console.log(`
逻辑节点
$
{
logicNode
.
name
}
操作参数值
:
`, dstParamValue);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/dedataset-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
/**
* 实体数据集节点
*
* @export
* @class UILogicDataSetNode
* @extends {AppUILogicNodeBase}
*/
export
class
UILogicDataSetNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @static
* @param {ILogicNode} logicNode 逻辑节点
* @param {ActionContext} actionContext 逻辑上下文
* @memberof UILogicDataSetNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleDataSet
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
?.
message
?
error
?.
message
:
'发生未知错误!'
}
`);
}
}
/**
* 处理实体数据集
*
* @private
* @param {ILogicNode} logicNode
* @param {ActionContext} actionContext
* @memberof UILogicDataSetNode
*/
private async handleDataSet(logicNode: ILogicNode, actionContext: UIActionContext) {
// const dstEntity = logicNode.getDstPSAppDataEntity();
// await dstEntity?.fill();
// const dstDataSet = logicNode.getDstPSAppDEDataSet();
// // 过滤器
// const dstParamModel = logicNode.getDstPSDEUILogicParam();
// const dstParam = actionContext.getParam(dstParamModel?.codeName as string);
// if (!dstParamModel || !Object.is(dstParam.logicParamType, UILogicParamType.filterParam)) {
// throw new Error(`
传入参数
$
{
dstParamModel
?.
codeName
}
类型不正确,必须为过滤器对象
`);
// }
// if (dstEntity && dstDataSet) {
// try {
// const service = await DataServiceHelp.getInstance().getService(dstEntity);
// const res = await service.execute(dstDataSet.codeName, actionContext.context, dstParam.getReal() ? dstParam.getReal() : {});
// if (res && res.ok && res.data) {
// // 返回值绑定逻辑参数对象
// if (logicNode.getRetPSDEUILogicParam()) {
// const retParam = actionContext.getParam(logicNode.getRetPSDEUILogicParam()?.codeName as string);
// retParam.bind(res.data);
// }
// actionContext.bindLastReturnParam(res.data);
// } else {
// throw new Error(`
查询实体数据集失败
`);
// }
// } catch (error: any) {
// throw new Error(`
$
{
error
.
message
?
error
.
message
:
error
.
data
?.
message
?
error
.
data
.
message
:
'查询实体数据集失败'
}
`);
// }
// } else {
// throw new Error(`
查询实体数据集参数不足
`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/delogic-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 实体处理逻辑节点
*
* @export
* @class UILogicNodeBase
*/
export
class
UILogicDeLogicNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicDeLogicNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleDELogic
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
?.
message
?
error
?.
message
:
'发生未知错误!'
}
`);
}
}
/**
* 处理实体处理逻辑
*
* @private
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicDeLogicNode
*/
private async handleDELogic(logicNode: ILogicNode, actionContext: UIActionContext) {
// const dstEntity = logicNode.getDstPSAppDataEntity();
// const deLogicCodeName = logicNode.getDstPSAppDELogic()?.codeName;
// const dstParam = actionContext.getParam((logicNode.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// const retParam = actionContext.getParam((logicNode.getRetPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// if (dstEntity && dstParam && deLogicCodeName) {
// try {
// const service = await DataServiceHelp.getInstance().getService(dstEntity);
// const result = await service['executeAppDELogic'](deLogicCodeName, actionContext.context, dstParam.getReal() ? dstParam.getReal() : {});
// if (result) {
// if(retParam){
// retParam.bind(result);
// }
// actionContext.bindLastReturnParam(result);
// return retParam;
// } else {
// throw new Error(`
调用实体处理逻辑异常
`);
// }
// } catch (error: any) {
// throw new Error(`
调用实体处理逻辑异常
$
{
error
?.
message
?
error
.
message
:
''
}
`);
// }
// } else {
// throw new Error(`
调用实体处理逻辑参数不足
`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/deuiaction-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 实体界面行为调用节点
*
* @export
* @class AppUILogicDeUIActionNode
*/
export
class
UILogicDeUIActionNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof AppUILogicDeUIActionNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleDEUIAction
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
)
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理界面行为
*
* @private
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @memberof AppUILogicDeUIActionNode
*/
private
async
handleDEUIAction
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// const data = actionContext.defaultParam.getReal();
// const { context, viewparams } = actionContext;
// const additionalParam = actionContext.additionalParam;
// const dstEntity = logicNode.getDstPSAppDataEntity();
// const dstUIAction = await getDstPSAppDEUIAction(logicNode);
// if (dstEntity && dstUIAction) {
// try {
// const targetUIService = await UIServiceHelp.getInstance().getService(dstEntity,{context});
// await targetUIService.loaded();
// const result = await targetUIService.excuteAction(
// dstUIAction.uIActionTag,
// [data],
// context,
// viewparams,
// additionalParam?.$event,
// actionContext.getParam(actionContext.activeCtrlParamName).getReal(),
// actionContext.getParam(actionContext.activeContainerParamName).getReal(),
// additionalParam?.parentDeName,
// );
// const dstParam = actionContext.getParam((logicNode.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// if (result && result.ok && result.result) {
// dstParam.bind(Array.isArray(result?.result) ? result.result[0] : result.result);
// actionContext.bindLastReturnParam(Array.isArray(result?.result) ? result.result[0] : result.result);
// }
// return dstParam;
// } catch (error: any) {
// throw new Error(`调用实体行为异常${error?.message ? error.message : ''}`);
// }
// } else {
// throw new Error(`调用界面行为参数不足`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/end-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
LogicReturnType
}
from
"@/logic/const/logic-return-type"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
/**
* 结束节点
*
* @export
* @class EndNode
*/
export
class
UILogicEndNode
extends
UILogicNodeBase
{
/**
* 执行节点
*
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @return {*}
* @memberof EndNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
handleEndNode
(
logicNode
,
actionContext
);
console
.
log
(
`已完成执行
${
logicNode
?.
name
}
节点,操作参数数据如下
:
`);
if (actionContext.paramsMap && (actionContext.paramsMap.size > 0)) {
for (let [key, value] of actionContext.paramsMap) {
console.log(`
$
{
key
}
:`
,
value
.
getReal
());
}
}
return
{
nextNodes
:
[],
actionContext
};
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理结束节点
*
* @private
* @param {IPSDEEndLogic} logicNode
* @param {UIActionContext} actionContext
* @memberof EndNode
*/
private
handleEndNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
const
strReturnType
:
string
=
logicNode
.
returnType
as
string
;
if
(
Object
.
is
(
strReturnType
,
LogicReturnType
.
NONEVALUE
)
||
Object
.
is
(
strReturnType
,
LogicReturnType
.
NULLVALUE
))
{
actionContext
.
setResult
(
null
);
}
else
if
(
Object
.
is
(
strReturnType
,
LogicReturnType
.
SRCVALUE
))
{
actionContext
.
setResult
(
logicNode
.
returnRawValue
);
}
else
if
(
Object
.
is
(
strReturnType
,
LogicReturnType
.
BREAK
))
{
actionContext
.
setResult
(
LogicReturnType
.
BREAK
);
}
else
if
(
Object
.
is
(
strReturnType
,
LogicReturnType
.
LOGICPARAM
)
||
Object
.
is
(
strReturnType
,
LogicReturnType
.
LOGICPARAMFIELD
))
{
const
returnParam
=
actionContext
.
getParam
(
logicNode
.
returnParam
as
string
);
if
(
Object
.
is
(
strReturnType
,
LogicReturnType
.
LOGICPARAM
))
{
actionContext
.
setResult
(
returnParam
.
getReal
());
}
else
{
actionContext
.
setResult
(
returnParam
.
get
(
logicNode
.
dstFieldName
));
}
}
else
{
throw
new
Error
(
`无法识别的返回值类型
${
strReturnType
}
`
);
}
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/index.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
export
{
UILogicAppendParamNode
}
from
'./appendparam-node'
;
export
{
UILogicBeginNode
}
from
'./begin-node'
;
export
{
UILogicBindParamNode
}
from
'./bindparam-node'
;
export
{
UILogicCopyParamNode
}
from
'./copyparam-node'
;
export
{
UILogicDeActionNode
}
from
'./deaction-node'
;
export
{
UILogicDebugParamNode
}
from
'./debugparam-node'
;
export
{
UILogicDataSetNode
}
from
'./dedataset-node'
;
export
{
UILogicDeLogicNode
}
from
'./delogic-node'
;
export
{
UILogicDeUIActionNode
}
from
'./deuiaction-node'
;
export
{
UILogicEndNode
}
from
'./end-node'
;
export
{
UILogicNodeBase
}
from
'./logic-node-base'
;
export
{
UILogicMsgboxNode
}
from
'./msgbox-node'
;
export
{
UILogicPluginNode
}
from
'./plugin-node'
;
export
{
UILogicPrepareParamNode
}
from
'./prepareparam-node'
;
export
{
UILogicRawCodeNode
}
from
'./rawcode-node'
;
export
{
UILogicReNewParamNode
}
from
'./renewparam-node'
;
export
{
UILogicResetParamNode
}
from
'./resetparam-node'
;
export
{
UILogicSortParamNode
}
from
'./sortparam-node'
;
export
{
UILogicThrowExceptionNode
}
from
'./throw-exception-node'
;
export
{
UILogicViewctrlFireEventNode
}
from
'./viewctrl-fire-event'
;
export
{
UILogicViewctrlInvokeNode
}
from
'./viewctrl-invoke-node'
;
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/logic-node-base.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
Util
,
Verify
}
from
"@/utils"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
/**
* 处理逻辑节点基类
*
* @export
* @class UILogicNodeBase
*/
export
class
UILogicNodeBase
{
constructor
()
{}
/**
* 根据处理链接计算后续逻辑节点
*
* @param {*} logicNode
* @param {UIActionContext} actionContext
* @return {*}
* @memberof LogicNodeBase
*/
public
computeNextNodes
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
console
.
log
(
`已完成执行
${
logicNode
?.
name
}
节点,操作参数数据如下
:
`)
if (actionContext.paramsMap && (actionContext.paramsMap.size > 0)) {
for (let [key, value] of actionContext.paramsMap) {
console.log(`
$
{
key
}
:`
,
Util
.
deepCopy
(
value
.
getReal
()));
}
}
let
result
:
any
=
{
nextNodes
:
[],
actionContext
};
if
(
logicNode
&&
logicNode
.
logicLinks
&&
logicNode
.
logicLinks
.
length
>
0
)
{
for
(
let
logicLink
of
logicNode
.
logicLinks
)
{
let
nextNode
=
logicLink
.
dstLogicNode
;
// 没有连接条件组或有条件组且满足条件组时执行下一个节点
if
(
!
logicLink
.
dstLogicNode
||
this
.
computeCond
(
logicLink
.
linkGroupCond
||
[],
actionContext
))
{
// console.log(`即将执行${nextNode?}节点`);
console
.
log
(
'执行下一节点'
);
result
.
nextNodes
.
push
(
nextNode
);
}
}
}
return
result
;
}
/**
* 计算是否通过逻辑连接
*
* @param {} logicLinkCond
* @return {*}
* @memberof UILogicNodeBase
*/
public
computeCond
(
logicLinkCond
:
any
,
actionContext
:
UIActionContext
):
any
{
if
(
logicLinkCond
.
logicType
==
'GROUP'
)
{
const
logicLinkGroupCond
=
logicLinkCond
const
childConds
:
any
=
logicLinkGroupCond
.
getPSDELogicLinkConds
();
if
(
childConds
?.
length
>
0
)
{
// return Verify.logicForEach(
// childConds,
// (item: any) => {
// return this.computeCond(item, actionContext);
// },
// logicLinkGroupCond.groupOP,
// !!logicLinkGroupCond.notMode,
// );
}
}
else
{
if
(
logicLinkCond
.
logicType
==
'SINGLE'
)
{
const
logicLinkSingleCond
=
logicLinkCond
let
dstValue
=
actionContext
.
getParam
(
logicLinkSingleCond
?.
getDstLogicParam
?.()?.
codeName
as
string
);
if
(
logicLinkSingleCond
.
dstFieldName
)
{
dstValue
=
dstValue
.
get
(
logicLinkSingleCond
.
dstFieldName
.
toLowerCase
());
}
let
targetValue
;
if
(
logicLinkSingleCond
.
paramType
)
{
switch
(
logicLinkSingleCond
.
paramType
)
{
case
'CURTIME'
:
targetValue
=
Util
.
dateFormat
(
new
Date
(),
'YYYY-MM-DD'
);
break
;
default
:
targetValue
=
logicLinkSingleCond
.
paramValue
;
}
}
else
{
targetValue
=
logicLinkSingleCond
.
paramValue
;
}
return
Verify
.
testCond
(
dstValue
,
logicLinkSingleCond
.
condOP
,
targetValue
)
}
}
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/msgbox-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
Subject
}
from
'rxjs'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 消息弹窗节点
*
* @export
* @class UILogicMsgboxNode
*/
export
class
UILogicMsgboxNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicMsgboxNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
// return new Promise<void>((resolve) => {
// let msgBoxParam: any = actionContext.getParam((logicNode.getMsgBoxParam() as IPSDEUILogicParam)?.codeName);
// const data = msgBoxParam?.getReal();
// const options = {
// type: logicNode.msgBoxType?.toLowerCase(),
// title: data?.title ? data.title : logicNode.title ? eval('`' + logicNode.title + '`') : '消息',
// content: data?.message ? data.message : logicNode.message ? eval('`' + logicNode.message + '`') : '',
// buttonType: logicNode.buttonsType?.toLowerCase(),
// showMode: logicNode.showMode?.toLowerCase(),
// showClose: false,
// mask: true,
// maskClosable: true
// };
// const subject: Subject<any> | null = AppMessageBoxService.getInstance().open(options);
// const subscription = subject?.subscribe((result: any) => {
// resolve(this.handleResponse(logicNode, actionContext, options, result));
// subscription!.unsubscribe();
// subject.complete();
// })
// });
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理响应
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @param {string} result 响应结果
* @memberof UILogicMsgboxNode
*/
public
handleResponse
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
,
options
:
any
,
result
:
string
)
{
// const { buttonsType } = logicNode;
// if (!Object.is(buttonsType, 'YESNO') && !Object.is(buttonsType, 'YESNOCANCEL') && !Object.is(buttonsType, 'OK') && !Object.is(buttonsType, 'OKCANCEL')) {
// throw new Error(`${buttonsType}未实现`);
// }
// let msgBoxParam: any = actionContext.getParam((logicNode.getMsgBoxParam() as IPSDEUILogicParam)?.codeName);
// if (msgBoxParam){
// msgBoxParam.bind(result);
// }
// actionContext.bindLastReturnParam(result);
// return this.computeNextNodes(logicNode, actionContext);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/plugin-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 前端扩展插件调用节点
*
* @export
* @class UILogicPluginNode
*/
export
class
UILogicPluginNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicPluginNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}
前端扩展插件类型暂未实现!`
);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/prepareparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
"@/interface/logic"
;
import
{
UIActionContext
}
from
"../uiaction-context"
;
import
{
UILogicNodeBase
}
from
"./logic-node-base"
;
/**
* 准备处理参数节点
*
* @export
* @class UILogicPrepareParamNode
*/
export
class
UILogicPrepareParamNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicPrepareParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
handleParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
"发生未知错误!"
}
`
);
}
}
/**
* 处理参数
*
* @param {IPSDELogicNode} logicNode 节点模型数据
* @param {ActionContext} actionContext 逻辑上下文
* @memberof UILogicPrepareParamNode
*/
public
handleParam
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// if (!logicNode || !logicNode.getPSDEUILogicNodeParams()) {
// return;
// }
try
{
// for (let logicNodeParam of logicNode.getPSDEUILogicNodeParams() as any[]) {
// // 设置变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.SETPARAMVALUE)) {
// this.onSetParamValue(logicNodeParam, actionContext);
// }
// // 重置变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.RESETPARAM)) {
// this.onResetParam(logicNodeParam, actionContext);
// }
// // 拷贝变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.COPYPARAM)) {
// this.onCopyParam(logicNodeParam, actionContext);
// }
// // 绑定参数
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.BINDPARAM)) {
// this.onBindParam(logicNodeParam, actionContext);
// }
// // 重新建立变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.RENEWPARAM)) {
// this.onRenewParam(logicNodeParam, actionContext);
// }
// // 附加到数组变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.APPENDPARAM)) {
// this.onAppendParam(logicNodeParam, actionContext);
// }
// // 排序数组变量
// if (Object.is(logicNodeParam.paramAction, UILogicParamValueType.SORTPARAM)) {
// this.onSortParam(logicNodeParam, actionContext);
// }
// }
}
catch
(
error
:
any
)
{
throw
new
Error
(
`
${
error
&&
error
.
message
?
error
.
message
:
"发生未知错误!"
}
`
);
}
}
/**
* 设置参数(根据配置把源逻辑参数的值赋给目标逻辑参数)
*
* @param {any} logicNodeParam 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicPrepareParamNode
*/
public
onSetParamValue
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 源类型参数/目标逻辑参数/目标属性缺一跳过不做处理
// if (!logicNodeParam.getDstPSDEUILogicParam() || !logicNodeParam.srcValueType) {
// throw new Error(`逻辑参数${logicNodeParam.name}源类型参数或者目标逻辑参数缺失`);
// }
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 无值类型
// if (Object.is(logicNodeParam.srcValueType, "NONEVALUE")) {
// if (logicNodeParam.dstFieldName) {
// dstParam.reset(logicNodeParam.dstFieldName.toLowerCase());
// } else {
// dstParam.bind(undefined);
// }
// } else {
// const result = this.computeTargetParam(logicNodeParam, actionContext);
// if (logicNodeParam.dstFieldName) {
// dstParam.set(logicNodeParam.dstFieldName.toLowerCase(), result);
// } else {
// dstParam.bind(result);
// }
// }
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 重置变量
*
* @param {any} logicNodeParam
* @param {ActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onResetParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// dstParam.resetAll();
// } catch (error: any) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 拷贝变量
*
* @param {any} logicNodeParam
* @param {ActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onCopyParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 源数据
// const srcParam: any = actionContext.getParam(
// (logicNodeParam.getSrcPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// srcParam.copyTo(dstParam);
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 绑定参数
*
* @param {any} logicNodeParam
* @param {ActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onBindParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 源数据
// const srcParam: any = actionContext.getParam(
// (logicNodeParam.getSrcPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 源属性
// const srcFieldName: string = logicNodeParam.srcFieldName?.toLowerCase?.();
// if (srcFieldName) {
// dstParam.bind(srcParam.get(srcFieldName));
// } else {
// dstParam.bind(srcParam.getReal());
// }
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 重新建立变量
*
* @param {any} logicNodeParam
* @param {UIActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onRenewParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 目标参数
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// dstParam.renew();
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 附加到数组变量
*
* @param {any} logicNodeParam
* @param {UIActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onAppendParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 源数据
// const srcParam: any = actionContext.getParam(
// (logicNodeParam.getSrcPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 源属性
// const srcFieldName: string = logicNodeParam.srcFieldName?.toLowerCase?.();
// let objParam: any;
// if (srcFieldName) {
// objParam = srcParam.get(srcFieldName);
// } else {
// objParam = srcParam.getReal();
// }
// dstParam.append(logicNodeParam.dstIndex, objParam, logicNodeParam.srcIndex, logicNodeParam.srcSize);
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 排序数组变量
*
* @param {any} logicNodeParam
* @param {UIActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onSortParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// try {
// // 目标数据
// const dstParam: any = actionContext.getParam(
// (logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 目标属性
// const dstFieldName: string = logicNodeParam.dstFieldName?.toLowerCase?.();
// if (!dstFieldName) {
// throw new Error(`逻辑参数${logicNodeParam.name}未指定设置排序属性`);
// }
// dstParam.sort(dstFieldName, logicNodeParam.dstSortDir);
// } catch (error) {
// throw new Error(
// `逻辑参数${logicNodeParam.name}${error && error.message ? error.message : "发生未知错误!"}`
// );
// }
}
/**
* 计算目标值
*
* @param {any} logicNodeParam 节点参数
* @param {ActionContext} actionContext 逻辑上下文
* @memberof UILogicPrepareParamNode
*/
public
computeTargetParam
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
// let targetValue: any;
// // 源数据
// const srcParam: any = actionContext.getParam(
// (logicNodeParam.getSrcPSDEUILogicParam() as IPSDEUILogicParam)?.codeName
// );
// // 源属性
// try {
// const srcFieldName: string = logicNodeParam?.srcFieldName?.toLowerCase();
// switch (logicNodeParam.srcValueType) {
// case "SRCDLPARAM": // 源逻辑参数
// case "WEBCONTEXT": // 网页请求上下文
// case "VIEWPARAM": // 当前视图参数
// targetValue = srcParam.get(srcFieldName) ? srcParam.get(srcFieldName) : null;
// break;
// case "APPLICATION": // 系统全局对象
// case "SESSION": // 用户全局对象
// case "APPDATA": // 应用上下文
// case "DATACONTEXT": // 数据上下文
// const { context } = actionContext;
// targetValue = context[srcFieldName];
// break;
// case "ENVPARAM": // 当前环境参数
// const Environment = AppServiceBase.getInstance().getAppEnvironment();
// targetValue = Environment[srcFieldName];
// break;
// case "EXPRESSION": // 计算式
// targetValue = this.computeExpRessionValue(logicNodeParam, actionContext);
// break;
// case "SRCVALUE": // 直接值
// targetValue = logicNodeParam?.srcValue;
// break;
// case "NULLVALUE": // 空值(NULL)
// targetValue = null;
// break;
// default:
// throw new Error(`源值类型${logicNodeParam.srcValueType}暂未支持`);
// }
// return targetValue;
// } catch (error) {
// throw new Error(`${error && error.message ? error.message : "发生未知错误!"}`);
// }
}
/**
* 计算表达式值
*
* @param {any} logicNodeParam 节点参数
* @param {ActionContext} actionContext 逻辑上下文
* @memberof UILogicPrepareParamNode
*/
private
computeExpRessionValue
(
logicNodeParam
:
any
,
actionContext
:
UIActionContext
)
{
let
expression
:
string
=
logicNodeParam
?.
expression
;
let
data
:
any
=
actionContext
.
defaultParam
.
getReal
();
let
{
context
}
=
actionContext
;
if
(
!
expression
)
{
throw
new
Error
(
`表达式不能为空`
);
}
try
{
expression
=
this
.
translateExpression
(
expression
);
return
eval
(
expression
);
}
catch
(
error
)
{
throw
new
Error
(
`表达式计算异常:
${
error
}
`
);
}
}
/**
* 解析表达式
*
* @param {string} expression 表达式
* @memberof UILogicPrepareParamNode
*/
private
translateExpression
(
expression
:
string
):
string
{
if
(
expression
.
indexOf
(
"${"
)
!=
-
1
&&
expression
.
indexOf
(
"}"
)
!=
-
1
)
{
const
start
:
number
=
expression
.
indexOf
(
"${"
);
const
end
:
number
=
expression
.
indexOf
(
"}"
);
const
contentStr
:
string
=
expression
.
slice
(
start
+
2
,
end
);
expression
=
expression
.
replace
(
expression
.
slice
(
start
,
end
+
1
),
`data.
${
contentStr
}
`
);
return
this
.
translateExpression
(
expression
);
}
return
expression
;
}
}
app_Web/src/logic/ui-logic/logic-node/rawcode-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 直接前台代码节点
*
* @export
* @class UILogicRawCodeNode
*/
export
class
UILogicRawCodeNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicRawCodeNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
handleRawCode
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处置直接执行代码
*
* @private
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @memberof UILogicRawCodeNode
*/
private
handleRawCode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// let data: any = actionContext.defaultParam.getReal();
// let { context } = actionContext;
// if (logicNode && logicNode.code) {
// eval(logicNode?.code);
// } else {
// throw new Error('无代码片段');
// }
// actionContext.bindLastReturnParam(null);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/renewparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 重新建立参数节点
*
* @export
* @class UILogicReNewParamNode
*/
export
class
UILogicReNewParamNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicReNewParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onRenewParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理参数
*
* @param {ILogicNode} logicNode 节点模型数据
* @param {UIActionContext} actionContext 逻辑上下文
* @memberof UILogicReNewParamNode
*/
public
onRenewParam
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// if (!logicNode || !logicNode.getDstPSDEUILogicParam()) {
// throw new Error(`操作参数缺失!`);
// }
// try {
// // 目标数据
// const dstParam: any = actionContext.getParam((logicNode.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// dstParam.renew();
// actionContext.bindLastReturnParam(null);
// } catch (error: any) {
// throw new Error(`逻辑参数${logicNode.getDstPSDEUILogicParam()?.name}${error && error.message ? error.message : '发生未知错误!'}`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/resetparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 重置参数节点
*
* @export
* @class UILogicResetParamNode
*/
export
class
UILogicResetParamNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicResetParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onResetParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理参数
*
* @param {IPSDELogicNode} logicNode 节点模型数据
* @param {ActionContext} actionContext 逻辑上下文
* @memberof UILogicResetParamNode
*/
public
onResetParam
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// if (!logicNode || !logicNode.getDstPSDEUILogicParam()) {
// throw new Error(`操作参数缺失!`);
// }
// try {
// // 目标数据
// const dstParam: any = actionContext.getParam((logicNode.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// dstParam.resetAll();
// actionContext.bindLastReturnParam(null);
// } catch (error: any) {
// throw new Error(`逻辑参数${logicNode.getDstPSDEUILogicParam()?.name}${error && error.message ? error.message : '发生未知错误!'}`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/sortparam-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 排序数组参数节点
*
* @export
* @class UILogicSortParamNode
*/
export
class
UILogicSortParamNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicSortParamNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
this
.
onSortParam
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 排序数组变量
*
* @param {ILogicNode} logicNodeParam
* @param {UIActionContext} actionContext
* @memberof UILogicPrepareParamNode
*/
public
onSortParam
(
logicNodeParam
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// // 目标数据
// const dstParam: any = actionContext.getParam((logicNodeParam.getDstPSDEUILogicParam() as IPSDEUILogicParam)?.codeName);
// // 目标属性
// const dstFieldName: string = logicNodeParam.dstFieldName?.toLowerCase?.();
// if (!dstFieldName) {
// throw new Error(`逻辑参数${logicNodeParam.name}未指定设置排序属性`);
// }
// dstParam.sort(dstFieldName, logicNodeParam.dstSortDir);
// actionContext.bindLastReturnParam(null);
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/throw-exception-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 抛出异常节点
*
* @export
* @class UILogicThrowExceptionNode
*/
export
class
UILogicThrowExceptionNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicThrowExceptionNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// actionContext.actionContainer.$throw(logicNode.errorInfo);
// actionContext.bindLastReturnParam(null);
// console.log(`已完成执行${logicNode?.name}节点,操作参数数据如下:`);
// if (actionContext.paramsMap && (actionContext.paramsMap.size > 0)) {
// for (let [key, value] of actionContext.paramsMap) {
// console.log(`${key}:`, value.getReal());
// }
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/viewctrl-fire-event.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 视图部件事件触发节点
*
* @export
* @class UILogicViewctrlFireEventNode
*/
export
class
UILogicViewctrlFireEventNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicViewctrlFireEventNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleViewCtrFireEvent
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理视图部件触发事件
*
* @private
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @memberof UILogicViewctrlFireEventNode
*/
private
async
handleViewCtrFireEvent
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// // 事件名称
// const eventName = logicNode.eventName;
// // 事件参数
// const eventParam = logicNode.getEventParam();
// // 触发对象
// const fireCtrl = logicNode.getFireCtrl();
// if (!eventName || !eventParam || !fireCtrl) {
// throw new Error(`触发对象、事件名称或者事件参数缺失`);
// }
// // 触发UI对象
// const fireUICtrl = actionContext.getParam(fireCtrl.codeName).getReal();
// // 事件参数
// const eventArgs = actionContext.getParam(eventParam.codeName).getReal();
// if (!fireUICtrl) {
// throw new Error(`获取触发对象异常`);
// }
// try {
// // 自身触发
// fireUICtrl.$emit(eventName, eventArgs);
// // 如果是部件,需向视图抛出
// if (fireUICtrl.controlInstance) {
// fireUICtrl.ctrlEvent({
// controlname: fireUICtrl.controlInstance.name,
// action: eventName,
// data: eventArgs
// })
// }
// // 如果是视图,需向外抛出
// if (fireUICtrl.viewInstance) {
// fireUICtrl.$emit('view-event', { viewName: fireUICtrl.viewCodeName, action: eventName, data: eventArgs });
// }
// actionContext.bindLastReturnParam(null);
// } catch (error:any) {
// throw new Error(`视图部件事件触发未执行成功!`);
// }
}
}
\ No newline at end of file
app_Web/src/logic/ui-logic/logic-node/viewctrl-invoke-node.ts
已删除
100644 → 0
浏览文件 @
1a6396d9
import
{
ILogicNode
}
from
'@/interface/logic'
;
import
{
UIActionContext
}
from
'../uiaction-context'
;
import
{
UILogicNodeBase
}
from
'./logic-node-base'
;
/**
* 视图部件调用节点
*
* @export
* @class UILogicViewctrlInvokeNode
*/
export
class
UILogicViewctrlInvokeNode
extends
UILogicNodeBase
{
constructor
()
{
super
();
}
/**
* 执行节点
*
* @param {ILogicNode} logicNode 逻辑节点模型数据
* @param {UIActionContext} actionContext 界面逻辑上下文
* @memberof UILogicViewctrlInvokeNode
*/
public
async
executeNode
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
try
{
await
this
.
handleViewCtrlInvoke
(
logicNode
,
actionContext
);
return
this
.
computeNextNodes
(
logicNode
,
actionContext
);
}
catch
(
error
:
any
)
{
throw
new
Error
(
`逻辑节点
${
logicNode
.
name
}${
error
&&
error
.
message
?
error
.
message
:
'发生未知错误!'
}
`
);
}
}
/**
* 处理视图部件调用
*
* @private
* @param {ILogicNode} logicNode
* @param {UIActionContext} actionContext
* @memberof UILogicViewctrlInvokeNode
*/
private
async
handleViewCtrlInvoke
(
logicNode
:
ILogicNode
,
actionContext
:
UIActionContext
)
{
// const invokeCtrl = logicNode.getInvokeCtrl()?.codeName;
// const invokeMethod = logicNode.invokeMethod;
// const invokeParam = logicNode.getInvokeParam()?.codeName;
// if (!invokeCtrl || !invokeMethod) {
// throw new Error(`界面对象或者调用方法缺失`);
// }
// const invokeUICtrl = actionContext.getParam(invokeCtrl).getReal();
// if (invokeUICtrl[invokeMethod] && invokeUICtrl[invokeMethod] instanceof Function) {
// try {
// const result = await invokeUICtrl[invokeMethod]();
// if (invokeParam) {
// actionContext.getParam(invokeParam).bind(result);
// }
// actionContext.bindLastReturnParam(result);
// } catch (error:any) {
// throw new Error(`${invokeCtrl}界面对象调用${invokeMethod}方法发生异常`);
// }
// } else {
// throw new Error(`${invokeCtrl}界面对象不存在${invokeMethod}方法`);
// }
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录