Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
PS
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBizPOC_20003
PS
提交
9d812313
提交
9d812313
编写于
4月 08, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
c4c3ce23
变更
9
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
281 行增加
和
6 行删除
+281
-6
ps_en_US.ts
app_Web/src/locale/lanres/ps/ps_en_US.ts
+8
-0
ps_zh_CN.ts
app_Web/src/locale/lanres/ps/ps_zh_CN.ts
+8
-0
pss.ts
app_Web/src/mock/entity/pss/pss.ts
+38
-0
psgrid-view-base.vue
app_Web/src/pages/module/psgrid-view/psgrid-view-base.vue
+40
-0
ps-service-base.ts
app_Web/src/service/ps/ps-service-base.ts
+16
-0
xd-logic-base.ts
app_Web/src/service/ps/xd-logic-base.ts
+87
-0
xd-logic.ts
app_Web/src/service/ps/xd-logic.ts
+22
-0
ps-ui-service-base.ts
app_Web/src/uiservice/ps/ps-ui-service-base.ts
+56
-0
config.xml
config.xml
+6
-6
未找到文件。
app_Web/src/locale/lanres/ps/ps_en_US.ts
浏览文件 @
9d812313
...
...
@@ -46,6 +46,14 @@ export default {
},
},
gridviewtoolbar_toolbar
:
{
tbitem1_xd
:
{
caption
:
"下单"
,
tip
:
"tbitem1_xd"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
"tbitem2"
,
},
tbitem3
:
{
caption
:
"New"
,
tip
:
"tbitem3"
,
...
...
app_Web/src/locale/lanres/ps/ps_zh_CN.ts
浏览文件 @
9d812313
...
...
@@ -45,6 +45,14 @@ export default {
},
},
gridviewtoolbar_toolbar
:
{
tbitem1_xd
:
{
caption
:
'下单'
,
tip
:
'下单'
,
},
tbitem2
:
{
caption
:
'-'
,
tip
:
''
,
},
tbitem3
:
{
caption
:
'新建'
,
tip
:
'新建'
,
...
...
app_Web/src/mock/entity/pss/pss.ts
浏览文件 @
9d812313
...
...
@@ -60,6 +60,44 @@ mock.onPost(new RegExp(/^\/ps\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any)
console
.
groupEnd
();
return
[
status
,
mockDatas
[
0
]];
});
// XD
mock
.
onPost
(
new
RegExp
(
/^
\/
ps
\/?([
a-zA-Z0-9
\-\;]{0,35})\/
xd$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:ps 方法: XD"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'psid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
ps
\/([
a-zA-Z0-9
\-\;]{1,35})\/
xd$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.psid, tempValue.psid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'psid'
]
==
tempValue
[
'psid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// GetDraft
mock
.
onGet
(
new
RegExp
(
/^
\/
ps
\/
getdraft$/
)).
reply
((
config
:
any
)
=>
{
...
...
app_Web/src/pages/module/psgrid-view/psgrid-view-base.vue
浏览文件 @
9d812313
...
...
@@ -13,6 +13,13 @@
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem1_xd.visabled"
:disabled=
"toolBarModels.tbitem1_xd.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem1_xd' }, $event)">
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'ps.gridviewtoolbar_toolbar.tbitem1_xd.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'ps.gridviewtoolbar_toolbar.tbitem1_xd.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'ps.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
...
...
@@ -317,6 +324,9 @@ export default class PSGridViewBase extends Vue {
* @memberof PSGridView
*/
public
toolBarModels
:
any
=
{
tbitem1_xd
:
{
name
:
'tbitem1_xd'
,
caption
:
'下单'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'XD'
,
target
:
'SINGLEKEY'
}
},
tbitem2
:
{
name
:
'tbitem2'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem3
:
{
name
:
'tbitem3'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
...
...
@@ -507,6 +517,9 @@ export default class PSGridViewBase extends Vue {
* @memberof PSGridViewBase
*/
protected
toolbar_click
(
$event
:
any
,
$event2
?:
any
)
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_xd'
))
{
this
.
toolbar_tbitem1_xd_click
(
$event
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_click
(
$event
,
''
,
$event2
);
}
...
...
@@ -649,6 +662,33 @@ export default class PSGridViewBase extends Vue {
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
protected
toolbar_tbitem1_xd_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
// 界面行为
const
curUIService
:
PSUIService
=
new
PSUIService
();
curUIService
.
PS_XD
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"PS"
);
}
/**
* 逻辑事件
*
...
...
app_Web/src/service/ps/ps-service-base.ts
浏览文件 @
9d812313
import
{
Http
,
Util
}
from
'@/utils'
;
import
EntityService
from
'../entity-service'
;
import
XDLogic
from
'@/service/ps/xd-logic'
;
...
...
@@ -96,6 +97,21 @@ export default class PSServiceBase extends EntityService {
}
/**
* XD接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PSServiceBase
*/
public
async
XD
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
appLogic
:
XDLogic
=
new
XDLogic
();
const
result
=
await
appLogic
.
onExecute
(
context
,
data
,
isloading
?
true
:
false
);
return
{
status
:
200
,
data
:
result
};
}
/**
* GetDraft接口方法
*
...
...
app_Web/src/service/ps/xd-logic-base.ts
0 → 100644
浏览文件 @
9d812313
import
{
Verify
}
from
'@/utils/verify/verify'
;
/**
* 下单
*
* @export
* @class XDLogicBase
*/
export
default
class
XDLogicBase
{
/**
* 名称
*
* @memberof XDLogicBase
*/
private
name
:
string
=
"XD"
;
/**
* 唯一标识
*
* @memberof XDLogicBase
*/
private
id
:
string
=
"ACDDC51E-15B7-4939-BF9A-F8AFF9CACEE6"
;
/**
* 默认参数名称
*
* @memberof XDLogicBase
*/
private
defaultParamName
:
string
=
"Default"
;
/**
* Creates an instance of XDLogicBase.
*
* @param {*} [opts={}]
* @memberof XDLogicBase
*/
constructor
(
opts
:
any
=
{})
{
}
/**
* 计算0节点结果
*
* @param params 传入参数
*/
public
compute0Cond
(
params
:
any
):
boolean
{
return
true
;
}
/**
* 执行逻辑
*
* @param context 应用上下文
* @param params 传入参数
*/
public
onExecute
(
context
:
any
,
params
:
any
,
isloading
:
boolean
){
return
this
.
executeBegin
(
context
,
params
,
isloading
);
}
/**
* 开始
*
* @param params 传入参数
*/
private
async
executeBegin
(
context
:
any
,
params
:
any
,
isloading
:
boolean
){
//开始节点
if
(
this
.
compute0Cond
(
params
)){
return
this
.
executeDeaction1
(
context
,
params
,
isloading
);
}
}
/**
* HEALTHCHECK
*
* @param context 应用上下文
* @param params 传入参数
*/
private
async
executeDeaction1
(
context
:
any
,
params
:
any
,
isloading
:
boolean
){
// 行为处理节点
}
}
\ No newline at end of file
app_Web/src/service/ps/xd-logic.ts
0 → 100644
浏览文件 @
9d812313
import
{
Http
,
Util
}
from
'@/utils'
;
import
XDLogicBase
from
'./xd-logic-base'
;
/**
* 下单
*
* @export
* @class XDLogic
*/
export
default
class
XDLogic
extends
XDLogicBase
{
/**
* Creates an instance of XDLogic
*
* @param {*} [opts={}]
* @memberof XDLogic
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_Web/src/uiservice/ps/ps-ui-service-base.ts
浏览文件 @
9d812313
...
...
@@ -158,6 +158,62 @@ export default class PSUIServiceBase extends UIService {
backend
();
}
/**
* 下单
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
PS_XD
(
args
:
any
[],
context
:
any
=
{},
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
_this
:
any
=
actionContext
;
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
ps
:
'%ps%'
});
Object
.
assign
(
params
,
{
psid
:
'%ps%'
});
Object
.
assign
(
params
,
{
psname
:
'%psname%'
});
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
const
backend
=
()
=>
{
const
curService
:
PSService
=
new
PSService
();
curService
.
XD
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'下单成功!'
});
const
_this
:
any
=
actionContext
;
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 获取指定数据的重定向页面
...
...
config.xml
浏览文件 @
9d812313
...
...
@@ -40,14 +40,14 @@
mvn install
cd ..
mvn install
cd ps-
boot
mvn clean package
cd ps-
app/ps-app-web
mvn clean package
-Pprod
echo
'
echo
"
$para1
"'
>
apppasswd.sh
chmod -R 777 *
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
mkdir -p /ibiz/nodes/node1/
F2F47711-2592-4F2B-9C54-F0722AEA90D5
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
scp -r ./target/ps
.jar root@172.16.102.61:/ibiz/nodes/node1/F2F47711-2592-4F2B-9C54-F0722AEA90D5
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
ps -ef | grep
'
/ibiz/nodes/node1/
F2F47711-2592-4F2B-9C54-F0722AEA90D5
'
| tr -s
'
'
|cut -d
'
'
-f2,8,9 | grep -v grep | grep
'
jar
'
| cut -d
'
'
-f1|xargs --no-run-if-empty kill -9
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node1/
F2F47711-2592-4F2B-9C54-F0722AEA90D5/ps.jar
>>
/ibiz/nodes/node1/F2F47711-2592-4F2B-9C54-F0722AEA90D5/ps_apips 服务
-`date --date=
'
0 days ago
'
+%Y-%m-%d`.log 2
>&
1
&"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
mkdir -p /ibiz/nodes/node1/
7B163728-8A01-45A9-862D-13C620F053F6
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
scp -r ./target/ps
-app-web.jar root@172.16.102.61:/ibiz/nodes/node1/7B163728-8A01-45A9-862D-13C620F053F6
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
ps -ef | grep
'
/ibiz/nodes/node1/
7B163728-8A01-45A9-862D-13C620F053F6
'
| tr -s
'
'
|cut -d
'
'
-f2,8,9 | grep -v grep | grep
'
jar
'
| cut -d
'
'
-f1|xargs --no-run-if-empty kill -9
"
setsid env SSH_ASKPASS=
'
./apppasswd.sh
'
DISPLAY=
'
none:0
'
ssh root@172.16.102.61
"
source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node1/
7B163728-8A01-45A9-862D-13C620F053F6/ps-app-web.jar
>>
/ibiz/nodes/node1/7B163728-8A01-45A9-862D-13C620F053F6/ps_appps 应用
-`date --date=
'
0 days ago
'
+%Y-%m-%d`.log 2
>&
1
&"
</command>
</hudson.tasks.Shell>
</builders>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录