Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
功
功能演示系统
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
示例
功能演示系统
提交
f373a009
提交
f373a009
编写于
11月 25, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tony001 发布系统代码 [后台服务,演示应用]
上级
147693ff
变更
15
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
359 行增加
和
1584 行删除
+359
-1584
guide-borrow-form-form-base.vue
...ok/guide-borrow-form-form/guide-borrow-form-form-base.vue
+5
-6
lnternal-func-list-list-base.vue
.../lnternal-func-list-list/lnternal-func-list-list-base.vue
+20
-20
main-grid-base.vue
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
+21
-7
main-grid-model.ts
app_Web/src/widgets/ibizorder/main-grid/main-grid-model.ts
+15
-0
proivate-table-grid-base.vue
...bizorder/proivate-table-grid/proivate-table-grid-base.vue
+263
-1248
proivate-table-grid-model.ts
...bizorder/proivate-table-grid/proivate-table-grid-model.ts
+7
-29
proivate-table-grid-service.ts
...zorder/proivate-table-grid/proivate-table-grid-service.ts
+2
-95
proivate-table-grid.less
...ts/ibizorder/proivate-table-grid/proivate-table-grid.less
+1
-176
proivate-table-grid.vue
...ets/ibizorder/proivate-table-grid/proivate-table-grid.vue
+1
-1
ProivateTable.json
...eb/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json
+5
-0
IBIZOrderProivatePluginGridView.json
...PPS/Web/PSAPPDEVIEWS/IBIZOrderProivatePluginGridView.json
+5
-0
PSSYSAPP.json
.../resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
+6
-0
PSSYSAPP.simple.json
...ces/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.simple.json
+6
-0
h2_table.xml
demo-core/src/main/resources/liquibase/h2_table.xml
+1
-1
view.xml
demo-core/src/main/resources/liquibase/view.xml
+1
-1
未找到文件。
app_Web/src/widgets/ibizbook/guide-borrow-form-form/guide-borrow-form-form-base.vue
浏览文件 @
f373a009
...
@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -1378,7 +1378,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/
*/
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
loadAction
){
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView'
+
(
this
.
$t
(
'app.formpage.notconfig.loadaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView
_layout
'
+
(
this
.
$t
(
'app.formpage.notconfig.loadaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
...
@@ -1425,7 +1425,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -1425,7 +1425,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
*/
*/
public
async
loadDraft
(
opt
:
any
=
{}):
Promise
<
any
>
{
public
async
loadDraft
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
)
{
if
(
!
this
.
loaddraftAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView'
+
(
this
.
$t
(
'app.formpage.notconfig.loaddraftaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView
_layout
'
+
(
this
.
$t
(
'app.formpage.notconfig.loaddraftaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{
...
opt
}
;
const
arg
:
any
=
{
...
opt
}
;
...
@@ -1495,7 +1495,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -1495,7 +1495,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView
_layout
'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
return
;
}
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
...
@@ -1603,7 +1603,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -1603,7 +1603,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView
_layout
'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
return
;
}
}
Object
.
assign
(
arg
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
arg
,
{
viewparams
:
this
.
viewparams
});
...
@@ -1695,7 +1695,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -1695,7 +1695,7 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
if
(
!
this
.
removeAction
){
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView'
+
(
this
.
$t
(
'app.formpage.notconfig.removeaction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOKWizardView
_layout
'
+
(
this
.
$t
(
'app.formpage.notconfig.removeaction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
opt
[
0
];
const
arg
:
any
=
opt
[
0
];
...
@@ -2135,5 +2135,4 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
...
@@ -2135,5 +2135,4 @@ export default class GuideBorrowFormBase extends Vue implements ControlInterface
<
style
lang=
'less'
>
<
style
lang=
'less'
>
@import './guide-borrow-form-form.less';
@import './guide-borrow-form-form.less';
</
style
>
de-borrow-form-form.less';
</
style
>
</
style
>
\ No newline at end of file
app_Web/src/widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list-base.vue
浏览文件 @
f373a009
...
@@ -46,11 +46,11 @@
...
@@ -46,11 +46,11 @@
<span
class=
"quick-toolbar"
>
<span
class=
"quick-toolbar"
>
<div
class=
'toolbar-container'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled"
:disabled=
"usr4listview_layout
list_quicktoolbarModels.deuiaction1.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i-button
v-show=
"
listviewlist_quicktoolbarModels.deuiaction1.visabled"
:disabled=
"listview
list_quicktoolbarModels.deuiaction1.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i
class=
'fa fa-file-text-o'
></i>
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_quicktoolbar_toolbar.deuiaction1.caption')}}
</span>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
listview
list_quicktoolbar_toolbar.deuiaction1.caption')}}
</span>
</i-button>
</i-button>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_quicktoolbar_toolbar.deuiaction1.tip')}}
</div>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
listview
list_quicktoolbar_toolbar.deuiaction1.tip')}}
</div>
</tooltip>
</tooltip>
</div>
</div>
</span>
</span>
...
@@ -61,18 +61,18 @@
...
@@ -61,18 +61,18 @@
<span
class=
"batch-toolbar"
>
<span
class=
"batch-toolbar"
>
<div
class=
'toolbar-container'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled"
:disabled=
"usr4listview_layout
list_batchtoolbarModels.deuiaction1.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i-button
v-show=
"
listviewlist_batchtoolbarModels.deuiaction1.visabled"
:disabled=
"listview
list_batchtoolbarModels.deuiaction1.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"
>
<i
class=
'fa fa-edit'
></i>
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_batchtoolbar_toolbar.deuiaction1.caption')}}
</span>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
listview
list_batchtoolbar_toolbar.deuiaction1.caption')}}
</span>
</i-button>
</i-button>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_batchtoolbar_toolbar.deuiaction1.tip')}}
</div>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
listview
list_batchtoolbar_toolbar.deuiaction1.tip')}}
</div>
</tooltip>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"
usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled"
:disabled=
"usr4listview_layout
list_batchtoolbarModels.deuiaction2.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"
>
<i-button
v-show=
"
listviewlist_batchtoolbarModels.deuiaction2.visabled"
:disabled=
"listview
list_batchtoolbarModels.deuiaction2.disabled"
class=
''
v-button-loading:i-button
@
click=
"list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"
>
<i
class=
'fa fa-remove'
></i>
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_batchtoolbar_toolbar.deuiaction2.caption')}}
</span>
<span
class=
'caption'
>
{{$t('entities.ibizbook.
listview
list_batchtoolbar_toolbar.deuiaction2.caption')}}
</span>
</i-button>
</i-button>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
usr4listview_layout
list_batchtoolbar_toolbar.deuiaction2.tip')}}
</div>
<div
slot=
'content'
>
{{$t('entities.ibizbook.
listview
list_batchtoolbar_toolbar.deuiaction2.tip')}}
</div>
</tooltip>
</tooltip>
</div>
</div>
</span>
</span>
...
@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
Usr4ListView_layout
Base
* @memberof IBIZBOOK
ListView
Base
*/
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
const
_this
:
any
=
this
;
...
@@ -402,7 +402,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -402,7 +402,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
Usr4ListView_layout
Base
* @memberof IBIZBOOK
ListView
Base
*/
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
if
(
args
.
length
===
0
)
{
...
@@ -428,7 +428,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -428,7 +428,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOK
Usr4ListView_layout
Base
* @memberof IBIZBOOK
ListView
Base
*/
*/
public
Remove
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
public
Remove
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
const
_this
:
any
=
this
;
...
@@ -624,9 +624,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -624,9 +624,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
* 工具栏模型
*
*
* @type {*}
* @type {*}
* @memberof IBIZBOOK
Usr4ListView_layout
* @memberof IBIZBOOK
ListView
*/
*/
public
usr4listview_layout
list_quicktoolbarModels
:
any
=
{
public
listview
list_quicktoolbarModels
:
any
=
{
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
};
};
...
@@ -636,9 +636,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -636,9 +636,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型
* 工具栏模型
*
*
* @type {*}
* @type {*}
* @memberof IBIZBOOK
Usr4ListView_layout
* @memberof IBIZBOOK
ListView
*/
*/
public
usr4listview_layout
list_batchtoolbarModels
:
any
=
{
public
listview
list_batchtoolbarModels
:
any
=
{
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
deuiaction1
:
{
name
:
'deuiaction1'
,
actiontarget
:
'NONE'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
deuiaction2
:
{
name
:
'deuiaction2'
,
actiontarget
:
'NONE'
,
caption
:
'删除'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
}
},
deuiaction2
:
{
name
:
'deuiaction2'
,
actiontarget
:
'NONE'
,
caption
:
'删除'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
}
},
...
@@ -861,7 +861,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -861,7 +861,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
*/
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
public
async
load
(
opt
:
any
=
{}):
Promise
<
any
>
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.fetchAction'
)
as
string
)
});
return
;
return
;
}
}
const
arg
:
any
=
{...
opt
};
const
arg
:
any
=
{...
opt
};
...
@@ -991,7 +991,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -991,7 +991,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.removeAction'
)
as
string
)
});
return
;
return
;
}
}
if
(
datas
.
length
===
0
)
{
if
(
datas
.
length
===
0
)
{
...
@@ -1096,7 +1096,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -1096,7 +1096,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.createAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
@@ -1104,7 +1104,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
...
@@ -1104,7 +1104,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZBOOK
Usr4ListView_layout
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
desc
:
'IBIZBOOK
ListView
'
+
(
this
.
$t
(
'app.list.notConfig.updateAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
ibizbook
){
if
(
item
.
ibizbook
){
...
...
app_Web/src/widgets/ibizorder/main-grid/main-grid-base.vue
浏览文件 @
f373a009
...
@@ -319,7 +319,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -319,7 +319,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZOrder
Pickup
GridViewBase
* @memberof IBIZOrder
SF1
GridViewBase
*/
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
if
(
args
.
length
===
0
)
{
...
@@ -462,6 +462,20 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -462,6 +462,20 @@ export default class MainBase extends Vue implements ControlInterface {
return
this
.
selections
[
0
];
return
this
.
selections
[
0
];
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
opendata
:
any
;
/**
/**
* 是否嵌入关系界面
* 是否嵌入关系界面
...
@@ -996,7 +1010,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -996,7 +1010,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
fetchAction
)
{
if
(
!
this
.
fetchAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
"IBIZOrder
Pickup
GridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
desc
:
"IBIZOrder
SF1
GridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
});
});
return
;
return
;
}
}
...
@@ -1125,7 +1139,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1125,7 +1139,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
removeAction
)
{
if
(
!
this
.
removeAction
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
@@ -1239,7 +1253,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -1239,7 +1253,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
return
;
}
}
if
(
!
arg
){
if
(
!
arg
){
...
@@ -2170,7 +2184,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2170,7 +2184,7 @@ export default class MainBase extends Vue implements ControlInterface {
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
!
this
.
createAction
)
{
if
(
!
this
.
createAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2179,7 +2193,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2179,7 +2193,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
)
{
if
(
!
this
.
updateAction
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
...
@@ -2255,7 +2269,7 @@ export default class MainBase extends Vue implements ControlInterface {
...
@@ -2255,7 +2269,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
this
.
loaddraftAction
){
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrder
Pickup
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
desc
:
'IBIZOrder
SF1
GridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
});
return
;
return
;
}
}
...
...
app_Web/src/widgets/ibizorder/main-grid/main-grid-model.ts
浏览文件 @
f373a009
...
@@ -105,6 +105,21 @@ export default class MainModel {
...
@@ -105,6 +105,21 @@ export default class MainModel {
prop
:
'n_ibizordername_like'
,
prop
:
'n_ibizordername_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_orderstate_eq'
,
prop
:
'n_orderstate_eq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_ordertime_gt'
,
prop
:
'n_ordertime_gt'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_ordertime_lt'
,
prop
:
'n_ordertime_lt'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_Web/src/widgets/ibizorder/proivate-table-grid/proivate-table-grid-base.vue
浏览文件 @
f373a009
<
template
>
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<div
:class=
"
{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<i-form>
<input
style=
"display:none;"
/>
<div
:style=
"
{ height: isEnablePagingBar
&&
items.length > 0 ? 'calc(100% - 50px)' : '100%', overflow: 'auto' }">
<el-table
v-if=
"isDisplay === true"
<app-vue-pivottable
:datas=
"items"
:allColumns=
"allColumns"
></app-vue-pivottable>
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
</div>
@sort-change="onSortChange($event)"
:border="isDragendCol"
:highlight-current-row ="isSingleSelect"
:row-class-name="getRowClassName"
:cell-class-name="getCellClassName"
max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'"
@row-click="rowClick($event)"
@cell-click="cellClick"
@select-all="selectAll($event)"
@select="select"
@row-class-name="onRowClassName($event)"
@row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template
slot=
"empty"
>
{{
$t
(
'entities.ibizorder.proivatetable_grid.nodata'
)
}}
</
template
>
<
template
v-if=
"!isSingleSelect"
>
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</
template
>
<
template
v-if=
"getColumnState('ibizorderid')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibizorderid'"
:label=
"$t('entities.ibizorder.proivatetable_grid.columns.ibizorderid')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.ibizorder.proivatetable_grid.columns.ibizorderid'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
ibizorderid
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('ibizcustomername')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'ibizcustomername'"
:label=
"$t('entities.ibizorder.proivatetable_grid.columns.ibizcustomername')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.ibizorder.proivatetable_grid.columns.ibizcustomername'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
ibizcustomername
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"adaptiveState"
>
<el-table-column></el-table-column>
</
template
>
</el-table>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<row
class=
'grid-pagination'
v-show=
"items.length > 0"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
...
@@ -69,6 +21,8 @@
...
@@ -69,6 +21,8 @@
</div>
</div>
</poptip>
</poptip>
</span>
</span>
<span
v-if=
"selections.length > 0"
class=
"batch-toolbar"
>
</span>
<span
class=
"page-button"
><i-button
icon=
"md-refresh"
:title=
"$t('app.gridpage.refresh')"
@
click=
"pageRefresh()"
></i-button></span>
<span
class=
"page-button"
><i-button
icon=
"md-refresh"
:title=
"$t('app.gridpage.refresh')"
@
click=
"pageRefresh()"
></i-button></span>
<span>
<span>
{{$t('app.gridpage.show')}}
{{$t('app.gridpage.show')}}
...
@@ -88,7 +42,7 @@
...
@@ -88,7 +42,7 @@
</i-form>
</i-form>
</div>
</div>
</template>
</template>
// 基于 @CONTROL/表格/CONTROL-BASE.vue.ftl 生成
// 基于 @CONTROL/表格
(透视表)
/CONTROL-BASE.vue.ftl 生成
<
script
lang=
'tsx'
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
CreateElement
}
from
'vue'
;
...
@@ -102,7 +56,6 @@ import ProivateTableService from './proivate-table-grid-service';
...
@@ -102,7 +56,6 @@ import ProivateTableService from './proivate-table-grid-service';
import
IBIZOrderUIService
from
'@/uiservice/ibizorder/ibizorder-ui-service'
;
import
IBIZOrderUIService
from
'@/uiservice/ibizorder/ibizorder-ui-service'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
@
Component
({
...
@@ -280,53 +233,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -280,53 +233,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 代码表服务对象
* 代码表服务对象
*
*
* @type {CodeListService}
* @type {CodeListService}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
codeListService
:
CodeListService
=
new
CodeListService
();
public
codeListService
:
CodeListService
=
new
CodeListService
();
/**
* 主信息表格列
*
* @type {string}
* @memberof ProivateTableBase
*/
public
majorInfoColName
:
string
=
""
;
/**
* 界面UI服务对象
*
* @type {IBIZOrderUIService}
* @memberof ProivateTableBase
*/
public
appUIService
:
IBIZOrderUIService
=
new
IBIZOrderUIService
();
/**
* 界面行为模型
*
* @type {*}
* @memberof ProivateTableBase
*/
public
actionModel
:
any
=
{
};
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ProivateTableBase
*/
public
appStateEvent
:
Subscription
|
undefined
;
/**
/**
* 获取多项数据
* 获取多项数据
*
*
* @returns {any[]}
* @returns {any[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getDatas
():
any
[]
{
public
getDatas
():
any
[]
{
return
this
.
selections
;
return
this
.
selections
;
...
@@ -336,7 +256,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -336,7 +256,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 获取单项树
* 获取单项树
*
*
* @returns {*}
* @returns {*}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getData
():
any
{
public
getData
():
any
{
return
this
.
selections
[
0
];
return
this
.
selections
[
0
];
...
@@ -346,30 +266,22 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -346,30 +266,22 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 打开新建数据视图
* 打开新建数据视图
*
*
* @type {any}
* @type {any}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
newdata
:
any
;
@
Prop
()
public
newdata
:
any
;
/**
/**
* 打开编辑数据视图
* 打开编辑数据视图
*
*
* @type {any}
* @type {any}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
opendata
:
any
;
@
Prop
()
public
opendata
:
any
;
/**
* 是否嵌入关系界面
*
* @type {boolean}
* @memberof ProivateTableBase
*/
@
Prop
({
default
:
false
})
public
isformDruipart
?:
boolean
;
/**
/**
* 显示处理提示
* 显示处理提示
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
...
@@ -377,7 +289,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -377,7 +289,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--update
* 部件行为--update
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
updateAction
!
:
string
;
@
Prop
()
public
updateAction
!
:
string
;
...
@@ -385,7 +297,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -385,7 +297,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--fetch
* 部件行为--fetch
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
fetchAction
!
:
string
;
@
Prop
()
public
fetchAction
!
:
string
;
...
@@ -393,7 +305,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -393,7 +305,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--remove
* 部件行为--remove
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
removeAction
!
:
string
;
@
Prop
()
public
removeAction
!
:
string
;
...
@@ -401,7 +313,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -401,7 +313,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--load
* 部件行为--load
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
loadAction
!
:
string
;
@
Prop
()
public
loadAction
!
:
string
;
...
@@ -409,7 +321,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -409,7 +321,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--loaddraft
* 部件行为--loaddraft
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
@
Prop
()
public
loaddraftAction
!
:
string
;
...
@@ -417,7 +329,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -417,7 +329,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 部件行为--create
* 部件行为--create
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
createAction
!
:
string
;
@
Prop
()
public
createAction
!
:
string
;
...
@@ -425,7 +337,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -425,7 +337,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 当前页
* 当前页
*
*
* @type {number}
* @type {number}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
curPage
:
number
=
1
;
public
curPage
:
number
=
1
;
...
@@ -433,7 +345,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -433,7 +345,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 数据
* 数据
*
*
* @type {any[]}
* @type {any[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
items
:
any
[]
=
[];
public
items
:
any
[]
=
[];
...
@@ -441,7 +353,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -441,7 +353,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否支持分页
* 是否支持分页
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
isEnablePagingBar
:
boolean
=
true
;
public
isEnablePagingBar
:
boolean
=
true
;
...
@@ -449,7 +361,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -449,7 +361,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否禁用排序
* 是否禁用排序
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
isNoSort
:
boolean
=
false
;
public
isNoSort
:
boolean
=
false
;
...
@@ -457,7 +369,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -457,7 +369,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 排序方向
* 排序方向
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
minorSortDir
:
string
=
''
;
public
minorSortDir
:
string
=
''
;
...
@@ -465,7 +377,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -465,7 +377,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 排序字段
* 排序字段
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
minorSortPSDEF
:
string
=
''
;
public
minorSortPSDEF
:
string
=
''
;
...
@@ -473,7 +385,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -473,7 +385,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 分页条数
* 分页条数
*
*
* @type {number}
* @type {number}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
limit
:
number
=
20
;
public
limit
:
number
=
20
;
...
@@ -481,7 +393,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -481,7 +393,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否显示标题
* 是否显示标题
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
isHideHeader
:
boolean
=
false
;
public
isHideHeader
:
boolean
=
false
;
...
@@ -489,7 +401,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -489,7 +401,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否默认选中第一条数据
* 是否默认选中第一条数据
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
({
default
:
false
})
public
isSelectFirstDefault
!
:
boolean
;
@
Prop
({
default
:
false
})
public
isSelectFirstDefault
!
:
boolean
;
...
@@ -497,7 +409,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -497,7 +409,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否单选
* 是否单选
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
@
Prop
()
public
isSingleSelect
?:
boolean
;
...
@@ -505,16 +417,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -505,16 +417,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 选中数据字符串
* 选中数据字符串
*
*
* @type {string}
* @type {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
()
public
selectedData
?:
string
;
@
Prop
()
public
selectedData
?:
string
;
/**
* 动态代码表集合
*
* @type {*}
* @memberof ProivateTable
*/
public
dCodeList
:
any
=
{};
/**
/**
* 选中值变化
* 选中值变化
*
*
* @param {*} newVal
* @param {*} newVal
* @param {*} oldVal
* @param {*} oldVal
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Watch
(
'selectedData'
)
@
Watch
(
'selectedData'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
...
@@ -542,7 +462,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -542,7 +462,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 2 双击激活
* 2 双击激活
*
*
* @type {(number | 0 | 1 | 2)}
* @type {(number | 0 | 1 | 2)}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
({
default
:
2
})
public
gridRowActiveMode
!
:
number
;
@
Prop
({
default
:
2
})
public
gridRowActiveMode
!
:
number
;
...
@@ -550,7 +470,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -550,7 +470,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 是否开启行编辑
* 是否开启行编辑
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
@
Prop
({
default
:
false
})
public
isOpenEdit
!
:
boolean
;
@
Prop
({
default
:
false
})
public
isOpenEdit
!
:
boolean
;
...
@@ -558,7 +478,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -558,7 +478,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 实际是否开启行编辑
* 实际是否开启行编辑
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
actualIsOpenEdit
:
boolean
=
this
.
isOpenEdit
;
public
actualIsOpenEdit
:
boolean
=
this
.
isOpenEdit
;
...
@@ -566,22 +486,15 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -566,22 +486,15 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 总条数
* 总条数
*
*
* @type {number}
* @type {number}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
totalrow
:
number
=
0
;
public
totalrow
:
number
=
0
;
/**
* 表格更新默认值项
*
* @memberof ProivateTableBase
*/
public
defaultUpdateItems
:
Array
<
any
>
=
[];
/**
/**
* 选中行数据
* 选中行数据
*
*
* @type {any[]}
* @type {any[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
selections
:
any
[]
=
[];
public
selections
:
any
[]
=
[];
...
@@ -589,18 +502,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -589,18 +502,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 拦截行选中
* 拦截行选中
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
stopRowClick
:
boolean
=
false
;
public
stopRowClick
:
boolean
=
false
;
/**
* 当前编辑行数据
*
* @type {boolean}
* @memberof ProivateTableBase
*/
public
curEditRowData
:
any
;
...
@@ -608,25 +513,17 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -608,25 +513,17 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 表格是否显示
* 表格是否显示
*
*
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
isDisplay
:
boolean
=
true
;
public
isDisplay
:
boolean
=
true
;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof ProivateTableBase
*/
public
errorMessages
:
Array
<
any
>
=
[];
/**
/**
* 部件刷新
* 部件刷新
*
*
* @param {any} args
* @param {any
[]
} args
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
refresh
(
args
?:
any
):
void
{
public
refresh
(
args
:
any
[]
):
void
{
this
.
load
();
this
.
load
();
}
}
...
@@ -634,23 +531,23 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -634,23 +531,23 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 选项框列宽
* 选项框列宽
*
*
* @type {number}
* @type {number}
* @memberof
AppIndex
* @memberof
ProivateTable
*/
*/
public
checkboxColWidth
:
number
=
50
;
public
checkboxColWidth
:
number
=
35
;
/**
/**
* 是否允许拖动列宽
* 是否允许拖动列宽
*
*
* @type {boolean}
* @type {boolean}
* @memberof
AppEmbedPicker
* @memberof
ProivateTable
*/
*/
public
isDragendCol
:
boolean
=
tru
e
;
public
isDragendCol
:
boolean
=
fals
e
;
/**
/**
* 所有列成员
* 所有列成员
*
*
* @type {any[]}
* @type {any[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
allColumns
:
any
[]
=
[
public
allColumns
:
any
[]
=
[
{
{
...
@@ -658,18 +555,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -658,18 +555,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
label
:
'订单标识'
,
label
:
'订单标识'
,
langtag
:
'entities.ibizorder.proivatetable_grid.columns.ibizorderid'
,
langtag
:
'entities.ibizorder.proivatetable_grid.columns.ibizorderid'
,
show
:
true
,
show
:
true
,
unit
:
'PX'
,
util
:
'PX'
,
isEnableRowEdit
:
false
,
render
:
(
val
:
any
)
=>
{
enableCond
:
3
,
return
this
.
renderColValue
(
'ibizorderid'
,
val
);
}
},
},
{
{
name
:
'ibizcustomername'
,
name
:
'ibizcustomername'
,
label
:
'客户名称'
,
label
:
'客户名称'
,
langtag
:
'entities.ibizorder.proivatetable_grid.columns.ibizcustomername'
,
langtag
:
'entities.ibizorder.proivatetable_grid.columns.ibizcustomername'
,
show
:
true
,
show
:
true
,
unit
:
'PX'
,
util
:
'PX'
,
isEnableRowEdit
:
false
,
render
:
(
val
:
any
)
=>
{
enableCond
:
3
,
return
this
.
renderColValue
(
'ibizcustomername'
,
val
);
}
},
},
]
]
...
@@ -677,83 +576,55 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -677,83 +576,55 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 表格模型集合
* 表格模型集合
*
*
* @type {*}
* @type {*}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
gridItemsModel
:
any
[]
=
[];
public
gridItemsModel
:
any
[]
=
[];
/**
/**
* 是否启用分组
* 绘制列值
*
* @type {boolean}
* @memberof ProivateTableBase
*/
public
isEnableGroup
:
boolean
=
false
;
/**
* 分组属性
*
* @type {string}
* @memberof ProivateTableBase
*/
public
groupAppField
:
string
=
""
;
/**
* 分组属性代码表标识
*
* @type {string}
* @memberof ProivateTableBase
*/
public
groupAppFieldCodelistTag
:
string
=
""
;
/**
* 分组属性代码表类型
*
* @type {string}
* @memberof ProivateTableBase
*/
public
groupAppFieldCodelistType
:
string
=
""
;
/**
* 分组模式
*
*
* @type {
string
}
* @type {
*
}
* @memberof P
roivateTableBas
e
* @memberof P
ivotTabl
e
*/
*/
public
groupMode
:
string
=
"NONE"
;
public
renderColValue
(
name
:
string
,
value
:
any
)
{
return
value
;
}
/**
/**
*
分组代码表标识
*
获取代码项
*
*
* @
type {string}
* @
public
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
codelistTag
:
string
=
""
;
public
getCodeListItem
(
codelist
:
any
,
val
:
any
)
{
for
(
let
i
=
0
;
i
<
codelist
.
items
.
length
;
i
++
)
{
if
(
Object
.
is
(
codelist
.
items
[
i
].
value
,
val
))
{
return
codelist
.
items
[
i
].
text
;
}
}
return
codelist
.
emptytext
;
}
/**
/**
*
分组代码表类型
*
准备动态代码表数据集合
*
*
* @type {string}
* @memberof ProivateTable
* @memberof ProivateTableBase
*/
*/
public
codelistType
:
string
=
""
;
public
async
readyDCodelist
()
{
let
keys
:
string
[]
=
[
];
for
(
let
key
of
keys
)
{
let
items
=
await
this
.
codeListService
.
getItems
(
'UserRealName'
);
this
.
dCodeList
[
key
]
=
items
;
}
/**
* 获取界面行为权限状态
*
* @memberof ProivateTableBase
*/
public
getActionState
(
data
:
any
){
let
tempActionModel
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
actionModel
));
let
targetData
:
any
=
this
.
transformData
(
data
);
ViewTool
.
calcActionItemAuthState
(
targetData
,
tempActionModel
,
this
.
appUIService
);
return
tempActionModel
;
}
}
/**
/**
* 获取表格行模型
* 获取表格行模型
*
*
* @type {*}
* @type {*}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getGridRowModel
(){
public
getGridRowModel
(){
return
{
return
{
...
@@ -765,24 +636,13 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -765,24 +636,13 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 属性值规则
* 属性值规则
*
*
* @type {*}
* @type {*}
* @memberof ProivateTableBase
* @memberof ProivateTable
*/
public
deRules
(){
return
{
};
}
/**
* 值规则集合
*
* @type {*}
* @memberof ProivateTableBase
*/
*/
public
rules
(){
public
rules
(){
return
{
return
{
srfkey
:
[
srfkey
:
[
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
`
${
this
.
$t
(
'entities.ibizorder.proivatetable_grid.columns.srfkey'
)}${
this
.
$t
(
'app.commonWords.valueNotEmpty'
)}
`
,
trigger
:
'change'
},
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
'订单标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
`
${
this
.
$t
(
'entities.ibizorder.proivatetable_grid.columns.srfkey'
)}${
this
.
$t
(
'app.commonWords.valueNotEmpty'
)}
`
,
trigger
:
'blur'
},
{
required
:
false
,
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
return
(
rule
.
required
&&
(
value
===
null
||
value
===
undefined
||
value
===
""
))
?
false
:
true
;},
message
:
'订单标识 值不能为空'
,
trigger
:
'blur'
},
],
],
}
}
}
}
...
@@ -795,15 +655,15 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -795,15 +655,15 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* @param {number} rowIndex 行索引
* @param {number} rowIndex 行索引
* @returns Promise<any>
* @returns Promise<any>
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
()).
then
(()
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
()
as
any
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
resolve
(
true
);
}).
catch
((
{
errors
,
fields
}
)
=>
{
}).
catch
((
res
:
any
)
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
res
.
errors
[
0
].
message
);
resolve
(
false
);
resolve
(
false
);
});
});
});
});
...
@@ -813,24 +673,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -813,24 +673,20 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 校验所有修改过的编辑项
* 校验所有修改过的编辑项
*
*
* @returns Promise<any>
* @returns Promise<any>
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
async
validateAll
(){
public
async
validateAll
(){
this
.
errorMessages
=
[];
let
validateState
=
true
;
let
validateState
=
true
;
let
index
=
-
1
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
)
{
for
(
let
item
of
this
.
items
){
let
tempMessage
:
string
=
''
;
index
++
;
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
)
{
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
)
{
for
(
let
property
of
Object
.
keys
(
this
.
rules
()))
{
for
(
let
property
of
Object
.
keys
(
this
.
rules
()
as
any
))
{
if
(
!
await
this
.
validate
(
property
,
item
,
index
))
{
if
(
!
await
this
.
validate
(
property
,
item
,
index
))
{
validateState
=
false
;
validateState
=
false
;
tempMessage
=
tempMessage
+
'<p>'
+
this
.
gridItemsModel
[
index
][
property
].
error
+
'<p>'
;
}
}
}
}
}
}
this
.
errorMessages
.
push
(
tempMessage
);
}
}
return
validateState
;
return
validateState
;
}
}
...
@@ -839,128 +695,76 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -839,128 +695,76 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 表格数据加载
* 表格数据加载
*
*
* @param {*} [arg={}]
* @param {*} [arg={}]
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
async
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
Promise
<
any
>
{
public
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
)
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'IBIZOrderProivatePluginGridView视图表格fetchAction参数未配置'
});
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
"IBIZOrderProivatePluginGridView"
+
(
this
.
$t
(
"app.gridpage.notConfig.fetchAction"
)
as
string
),
});
return
;
return
;
}
}
if
(
pageReset
)
{
if
(
pageReset
)
{
this
.
curPage
=
1
;
this
.
curPage
=
1
;
}
}
const
arg
:
any
=
{
...
opt
};
const
arg
:
any
=
{
...
opt
};
const
page
:
any
=
{};
const
page
:
any
=
{};
if
(
this
.
isEnablePagingBar
)
{
if
(
this
.
isEnablePagingBar
)
{
Object
.
assign
(
page
,
{
page
:
this
.
curPage
-
1
,
size
:
this
.
limit
});
Object
.
assign
(
page
,
{
page
:
this
.
curPage
-
1
,
size
:
this
.
limit
});
}
}
// 设置排序
// 设置排序
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
""
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
""
))
{
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
''
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
''
))
{
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
Object
.
assign
(
page
,
{
sort
:
sort
});
}
}
// 清空selections
if
(
this
.
selections
&&
this
.
selections
.
length
>
0
)
{
this
.
selections
=
[];
this
.
$emit
(
"selectionchange"
,
this
.
selections
);
}
Object
.
assign
(
arg
,
page
);
Object
.
assign
(
arg
,
page
);
const
parentdata
:
any
=
{};
const
parentdata
:
any
=
{};
this
.
$emit
(
"beforeload"
,
parentdata
);
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:
{};
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:{};
Object
.
assign
(
tempViewParams
,
Util
.
deepCopy
(
this
.
viewparams
));
Object
.
assign
(
tempViewParams
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
)));
Object
.
assign
(
arg
,
{
viewparams
:
tempViewParams
});
Object
.
assign
(
arg
,{
viewparams
:
tempViewParams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
if
(
!
(
await
this
.
handleCtrlEvents
(
'onbeforeload'
,
{
context
:
tempContext
,
viewparams
:
arg
})))
{
post
.
then
((
response
:
any
)
=>
{
return
;
}
try
{
const
response
=
await
this
.
service
.
search
(
this
.
fetchAction
,
tempContext
,
arg
,
this
.
showBusyIndicator
);
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
// 加载失败
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloaderror'
,
{
data
:
response
.
data
?
response
.
data
:
[]
})))
{
return
;
}
if
(
response
.
data
&&
response
.
data
.
message
)
{
if
(
response
.
data
&&
response
.
data
.
message
)
{
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
response
.
data
.
message
,
});
}
}
return
response
;
}
// 加载成功
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloadsuccess'
,
{
data
:
response
.
data
,
context
:
tempContext
,
viewparams
:
arg
})))
{
return
;
return
;
}
}
const
data
:
any
=
response
.
data
;
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections,gridItemsModel
// 清空selections,gridItemsModel
//
this.selections = [];
this
.
selections
=
[];
this
.
gridItemsModel
=
[];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
());
this
.
$emit
(
'load'
,
this
.
items
);
});
this
.
items
.
forEach
((
item
:
any
)
=>
{
Object
.
assign
(
item
,
this
.
getActionState
(
item
));
});
this
.
$emit
(
"load"
,
this
.
items
);
// 设置默认选中
// 设置默认选中
let
_this
=
this
;
let
_this
=
this
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
//在导航视图中,如已有选中数据,则右侧展开已选中数据的视图,如无选中数据则默认选中第一条
if
(
_this
.
isSelectFirstDefault
){
if
(
_this
.
isSelectFirstDefault
)
{
_this
.
rowClick
(
_this
.
items
[
0
]);
if
(
_this
.
selections
&&
_this
.
selections
.
length
>
0
)
{
_this
.
selections
.
forEach
((
select
:
any
)
=>
{
const
index
=
_this
.
items
.
findIndex
((
item
:
any
)
=>
Object
.
is
(
item
.
srfkey
,
select
.
srfkey
));
if
(
index
!=
-
1
)
{
_this
.
rowClick
(
_this
.
items
[
index
]);
}
});
}
else
{
_this
.
rowClick
(
this
.
items
[
0
]);
}
}
}
if
(
_this
.
selectedData
)
{
if
(
_this
.
selectedData
)
{
const
refs
:
any
=
_this
.
$refs
;
const
refs
:
any
=
_this
.
$refs
;
if
(
refs
.
multipleTable
)
{
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
refs
.
multipleTable
.
clearSelection
();
JSON
.
parse
(
_this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
JSON
.
parse
(
_this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
let
selectedItem
=
_this
.
items
.
find
((
item
:
any
)
=>
{
let
selectedItem
=
_this
.
items
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
});
});
if
(
selectedItem
)
{
if
(
selectedItem
)
{
_this
.
rowClick
(
selectedItem
);
_this
.
rowClick
(
selectedItem
);
}
}
});
});
}
}
}
}
},
300
);
},
300
);
return
response
;
}).
catch
((
response
:
any
)
=>
{
}
catch
(
response
:
any
)
{
// 加载失败
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloaderror'
,
{
data
:
response
&&
response
.
data
?
response
.
data
:
[]
})))
{
return
;
}
if
(
response
&&
response
.
status
===
401
)
{
if
(
response
&&
response
.
status
===
401
)
{
return
response
;
return
;
}
}
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
&&
response
.
data
.
message
?
response
.
data
.
message
:
""
});
title
:
this
.
$t
(
"app.commonWords.wrong"
)
as
string
,
desc
:
response
.
data
&&
response
.
data
.
message
?
response
.
data
.
message
:
""
,
});
});
return
response
;
}
}
}
/**
/**
...
@@ -968,19 +772,16 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -968,19 +772,16 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {any[]} datas
* @param {any[]} datas
* @returns {Promise<any>}
* @returns {Promise<any>}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
)
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'IBIZOrderProivatePluginGridView视图表格removeAction参数未配置'
});
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderProivatePluginGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
return
;
}
}
let
_datas
:
any
[]
=
[];
let
_datas
:
any
[]
=
[];
datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
record
.
srfuf
,
"0"
)
)
{
if
(
!
record
.
srfkey
)
{
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
items
.
splice
(
num
,
1
);
...
@@ -988,7 +789,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -988,7 +789,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
return
true
;
return
true
;
}
}
});
});
}
else
{
}
else
{
_datas
.
push
(
datas
[
index
]);
_datas
.
push
(
datas
[
index
]);
}
}
});
});
...
@@ -1009,12 +810,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1009,12 +810,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
});
});
if
(
_datas
.
length
<
5
)
{
if
(
_datas
.
length
<
5
)
{
dataInfo
=
dataInfo
+
'
'
+
(
this
.
$t
(
'app.gridpage.totle'
)
as
string
)
+
_datas
.
length
+
(
this
.
$t
(
'app.gridpage.records'
)
as
string
)
+
(
this
.
$t
(
'app.gridpage.data'
)
as
string
)
;
dataInfo
=
dataInfo
+
'
共'
+
_datas
.
length
+
'条数据'
;
}
else
{
}
else
{
dataInfo
=
' ... '
+
(
this
.
$t
(
'app.gridpage.totle'
)
as
string
)
+
_datas
.
length
+
(
this
.
$t
(
'app.gridpage.records'
)
as
string
)
+
(
this
.
$t
(
'app.gridpage.data'
)
as
string
)
;
dataInfo
=
dataInfo
+
'...'
+
' 共'
+
_datas
.
length
+
'条数据'
;
}
}
const
removeData
=
async
()
=>
{
const
removeData
=
()
=>
{
let
keys
:
any
[]
=
[];
let
keys
:
any
[]
=
[];
_datas
.
forEach
((
data
:
any
)
=>
{
_datas
.
forEach
((
data
:
any
)
=>
{
keys
.
push
(
data
.
srfkey
);
keys
.
push
(
data
.
srfkey
);
...
@@ -1022,23 +823,17 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1022,23 +823,17 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
let
_removeAction
=
keys
.
length
>
1
?
'removeBatch'
:
this
.
removeAction
;
let
_removeAction
=
keys
.
length
>
1
?
'removeBatch'
:
this
.
removeAction
;
let
_keys
=
keys
.
length
>
1
?
keys
:
keys
[
0
]
;
let
_keys
=
keys
.
length
>
1
?
keys
:
keys
[
0
]
;
const
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
const
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
try
{
const
post
:
Promise
<
any
>
=
this
.
service
.
delete
(
_removeAction
,
Object
.
assign
(
context
,{
ibizorder
:
_keys
}),
Object
.
assign
({
ibizorder
:
_keys
},{
viewparams
:
this
.
viewparams
}),
this
.
showBusyIndicator
);
if
(
!
(
await
this
.
handleCtrlEvents
(
'onbeforeremove'
,
{
data
:
_keys
})))
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
return
;
post
.
then
((
response
:
any
)
=>
{
}
const
response
:
any
=
await
this
.
service
.
delete
(
_removeAction
,
Object
.
assign
(
context
,{
ibizorder
:
_keys
}),
Object
.
assign
({
ibizorder
:
_keys
},{
viewparams
:
this
.
viewparams
}),
this
.
showBusyIndicator
);
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
!
(
await
this
.
handleCtrlEvents
(
'onremoveerror'
,
{
data
:
_keys
})))
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'删除数据失败,'
+
response
.
info
});
return
;
}
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delDataFail'
)
as
string
)
+
','
+
response
.
info
});
return
;
}
if
(
!
(
await
this
.
handleCtrlEvents
(
'onremovesuccess'
,
{
data
:
response
.
data
})))
{
return
;
return
;
}
else
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'删除成功!'
});
}
}
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delSuccess'
)
as
string
)
});
//删除items中已删除的项
//删除items中已删除的项
console
.
log
(
this
.
items
);
_datas
.
forEach
((
data
:
any
)
=>
{
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
...
@@ -1051,26 +846,25 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1051,26 +846,25 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
this
.
totalrow
-=
_datas
.
length
;
this
.
totalrow
-=
_datas
.
length
;
this
.
$emit
(
'remove'
,
null
);
this
.
$emit
(
'remove'
,
null
);
this
.
selections
=
[];
this
.
selections
=
[];
return
response
;
resolve
(
response
)
;
}
catch
(
response
:
any
)
{
}).
catch
((
response
:
any
)
=>
{
if
(
!
(
await
this
.
handleCtrlEvents
(
'onremoveerror'
,
{
data
:
response
?
response
.
data
:
[]
}))
)
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
return
;
}
}
if
(
response
&&
response
.
status
!=
200
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
&&
response
.
data
.
message
?
response
.
data
.
message
:
""
});
return
response
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
}
reject
(
response
);
return
response
;
return
;
}
}
reject
(
response
);
});
});
}
}
dataInfo
=
dataInfo
.
replace
(
/
[
null
]
/g
,
''
).
replace
(
/
[
undefined
]
/g
,
''
);
dataInfo
=
dataInfo
.
replace
(
/
[
null
]
/g
,
''
).
replace
(
/
[
undefined
]
/g
,
''
);
this
.
$Modal
.
confirm
({
this
.
$Modal
.
confirm
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
)
,
title
:
'警告'
,
content
:
(
this
.
$t
(
'app.gridpage.confirmDel'
)
as
string
)
+
' '
+
dataInfo
+
','
+
(
this
.
$t
(
'app.gridpage.notRecoverable'
)
as
string
)
,
content
:
'确认要删除 '
+
dataInfo
+
',删除操作将不可恢复?'
,
onOk
:
()
=>
{
onOk
:
()
=>
{
removeData
();
removeData
();
},
},
...
@@ -1084,24 +878,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1084,24 +878,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 批量添加
* 批量添加
*
*
* @param {*} [arg={}]
* @param {*} [arg={}]
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderProivatePluginGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'IBIZOrderProivatePluginGridView视图表格fetchAction参数未配置'
});
return
;
return
;
}
}
if
(
!
arg
){
if
(
!
arg
){
arg
=
{};
arg
=
{};
}
}
console
.
error
(
(
this
.
$t
(
'app.gridpage.notBatch'
)
as
string
)
);
console
.
error
(
"批量添加未实现"
);
}
}
/**
/**
* 数据导入
* 数据导入
*
*
* @param {*} data
* @param {*} data
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
importExcel
(
data
:
any
=
{}):
void
{
public
importExcel
(
data
:
any
=
{}):
void
{
//导入excel
//导入excel
...
@@ -1139,7 +933,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1139,7 +933,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 数据导出
* 数据导出
*
*
* @param {*} data
* @param {*} data
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
exportExcel
(
data
:
any
=
{}):
void
{
public
exportExcel
(
data
:
any
=
{}):
void
{
// 导出Excel
// 导出Excel
...
@@ -1155,7 +949,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1155,7 +949,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
excel
.
export_json_to_excel
({
excel
.
export_json_to_excel
({
header
:
tHeader
,
//表头 必填
header
:
tHeader
,
//表头 必填
data
,
//具体数据 必填
data
,
//具体数据 必填
filename
:
"订单
"
+
(
this
.
$t
(
'app.gridpage.grid'
)
as
string
)
,
//非必填
filename
:
"订单
表"
,
//非必填
autoWidth
:
true
,
//非必填
autoWidth
:
true
,
//非必填
bookType
:
"xlsx"
//非必填
bookType
:
"xlsx"
//非必填
});
});
...
@@ -1184,13 +978,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1184,13 +978,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
const
parentdata
:
any
=
{};
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
parentdata
);
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:{};
Object
.
assign
(
tempViewParams
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
)));
Object
.
assign
(
arg
,{
viewparams
:
tempViewParams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
+
'
,'
+
response
.
info
});
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'数据导出失败
,'
+
response
.
info
});
return
;
return
;
}
}
try
{
try
{
...
@@ -1202,7 +993,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1202,7 +993,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
if
(
response
&&
response
.
status
===
401
)
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
return
;
}
}
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'数据导出失败'
});
});
});
}
}
...
@@ -1213,7 +1004,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1213,7 +1004,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* @param {*} filterVal
* @param {*} filterVal
* @param {*} jsonData
* @param {*} jsonData
* @returns {[]}
* @returns {[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
async
formatExcelData
(
filterVal
:
any
,
jsonData
:
any
)
{
public
async
formatExcelData
(
filterVal
:
any
,
jsonData
:
any
)
{
let
codelistColumns
:
Array
<
any
>
=
[
let
codelistColumns
:
Array
<
any
>
=
[
...
@@ -1245,10 +1036,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1245,10 +1036,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* @param {any[]} items 代码表数据
* @param {any[]} items 代码表数据
* @param {*} value
* @param {*} value
* @returns {*}
* @returns {*}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getCodelistValue
(
items
:
any
[],
value
:
any
,
codelist
:
any
,){
public
getCodelistValue
(
items
:
any
[],
value
:
any
,
codelist
:
any
,){
if
(
!
value
&&
value
!==
0
&&
value
!==
false
){
if
(
!
value
){
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.empty'
);
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.empty'
);
}
}
if
(
items
)
{
if
(
items
)
{
...
@@ -1298,7 +1089,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1298,7 +1089,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* @param {any[]} items
* @param {any[]} items
* @param {*} value
* @param {*} value
* @returns {*}
* @returns {*}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getItem
(
items
:
any
[],
value
:
any
,
codelist
:
any
):
any
{
public
getItem
(
items
:
any
[],
value
:
any
,
codelist
:
any
):
any
{
const
arr
:
Array
<
any
>
=
items
.
filter
(
item
=>
{
return
item
.
value
==
value
});
const
arr
:
Array
<
any
>
=
items
.
filter
(
item
=>
{
return
item
.
value
==
value
});
...
@@ -1315,7 +1106,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1315,7 +1106,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 生命周期
* 生命周期
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
created
():
void
{
public
created
():
void
{
this
.
afterCreated
();
this
.
afterCreated
();
...
@@ -1324,9 +1115,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1324,9 +1115,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 执行created后的逻辑
* 执行created后的逻辑
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
afterCreated
(){
public
afterCreated
(){
this
.
readyDCodelist
();
this
.
setColState
();
this
.
setColState
();
if
(
this
.
viewState
)
{
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
...
@@ -1334,7 +1126,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1334,7 +1126,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
return
;
return
;
}
}
if
(
Object
.
is
(
'load'
,
action
))
{
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
,
true
);
this
.
load
(
data
);
}
}
if
(
Object
.
is
(
'remove'
,
action
))
{
if
(
Object
.
is
(
'remove'
,
action
))
{
this
.
remove
(
data
);
this
.
remove
(
data
);
...
@@ -1344,22 +1136,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1344,22 +1136,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
}
}
});
});
}
}
if
(
AppCenterService
&&
AppCenterService
.
getMessageCenter
()){
this
.
appStateEvent
=
AppCenterService
.
getMessageCenter
().
subscribe
(({
name
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
name
,
"IBIZOrder"
)){
return
;
}
if
(
Object
.
is
(
action
,
'appRefresh'
)){
this
.
refresh
([
data
]);
}
})
}
}
}
/**
/**
* vue 生命周期
* vue 生命周期
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
destroyed
()
{
public
destroyed
()
{
this
.
afterDestroy
();
this
.
afterDestroy
();
...
@@ -1368,22 +1150,19 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1368,22 +1150,19 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 执行destroyed后的逻辑
* 执行destroyed后的逻辑
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
afterDestroy
()
{
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
this
.
viewStateEvent
.
unsubscribe
();
}
}
if
(
this
.
appStateEvent
){
this
.
appStateEvent
.
unsubscribe
();
}
}
}
/**
/**
* 获取选中行胡数据
* 获取选中行胡数据
*
*
* @returns {any[]}
* @returns {any[]}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getSelection
():
any
[]
{
public
getSelection
():
any
[]
{
return
this
.
selections
;
return
this
.
selections
;
...
@@ -1394,13 +1173,9 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1394,13 +1173,9 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {*} $event
* @param {*} $event
* @returns {void}
* @returns {void}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
rowDBLClick
(
$event
:
any
):
void
{
public
rowDBLClick
(
$event
:
any
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
$event
||
this
.
actualIsOpenEdit
||
Object
.
is
(
this
.
gridRowActiveMode
,
0
))
{
if
(
!
$event
||
this
.
actualIsOpenEdit
||
Object
.
is
(
this
.
gridRowActiveMode
,
0
))
{
return
;
return
;
}
}
...
@@ -1418,342 +1193,45 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1418,342 +1193,45 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
}
}
/**
/**
* 合并分组行
* 复选框数据选中
*
*
* @memberof ProivateTableBase
* @param {*} $event
* @returns {void}
* @memberof ProivateTable
*/
*/
public
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
}
:
any
)
{
public
select
(
$event
:
any
):
void
{
let
allColumns
:
Array
<
any
>
=
[
'ibizorderid'
,
'ibizcustomername'
];
if
(
!
$event
)
{
if
(
row
&&
row
.
children
)
{
return
;
if
(
columnIndex
==
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
1
,
allColumns
.
length
+
1
];
}
else
if
(
columnIndex
>
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
0
,
0
];
}
}
}
this
.
selections
=
[];
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
$event
))];
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
}
/**
/**
*
分组方法
*
复选框数据全部选中
*
*
* @memberof ProivateTableBase
* @param {*} $event
* @memberof ProivateTable
*/
*/
public
group
(){
public
selectAll
(
$event
:
any
):
void
{
if
(
Object
.
is
(
this
.
groupMode
,
"AUTO"
)){
if
(
!
$event
)
{
this
.
drawGroup
();
return
;
}
else
if
(
Object
.
is
(
this
.
groupMode
,
"CODELIST"
)){
this
.
drawCodelistGroup
();
}
}
}
/**
* 获取表格分组相关代码表
*
* @param {string} codelistType 代码表类型
* @param {string} codelistTag 代码表标识
* @memberof ProivateTableBase
*/
public
getGroupCodelist
(
codelistType
:
string
,
codelistTag
:
string
){
let
codelist
:
Array
<
any
>
=
[];
// 动态代码表
if
(
Object
.
is
(
codelistType
,
"DYNAMIC"
))
{
this
.
codeListService
.
getItems
(
codelistTag
).
then
((
res
:
any
)
=>
{
codelist
=
res
;
}).
catch
((
error
:
any
)
=>
{
});
// 静态代码表
}
else
if
(
Object
.
is
(
codelistType
,
"STATIC"
)){
codelist
=
this
.
$store
.
getters
.
getCodeListItems
(
codelistTag
);
}
return
codelist
;
}
/**
* 根据分组代码表绘制分组列表
*
* @memberof ProivateTableBase
*/
public
drawCodelistGroup
(){
if
(
!
this
.
isEnableGroup
)
return
;
// 分组
let
allGroup
:
Array
<
any
>
=
[];
let
allGroupField
:
Array
<
any
>
=
[];
let
groupTree
:
Array
<
any
>
=
[];
allGroup
=
this
.
getGroupCodelist
(
this
.
codelistType
,
this
.
codelistTag
);
allGroupField
=
this
.
getGroupCodelist
(
this
.
groupAppFieldCodelistType
,
this
.
groupAppFieldCodelistTag
);
if
(
allGroup
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
allGroup
.
forEach
((
group
:
any
,
i
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
j
:
number
)
=>
{
if
(
allGroupField
&&
allGroupField
.
length
>
0
){
if
(
Object
.
is
(
group
.
label
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
i
+
1
)
*
100
+
(
j
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
}
else
if
(
Object
.
is
(
group
.
value
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
i
+
1
)
*
100
+
(
j
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
});
const
tree
:
any
=
{
groupById
:
Number
((
i
+
1
)
*
100
),
group
:
group
.
label
,
ibizorderid
:
''
,
ibizcustomername
:
''
,
children
:
children
}
groupTree
.
push
(
tree
);
});
let
child
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
let
i
:
number
=
0
;
if
(
allGroupField
&&
allGroupField
.
length
>
0
){
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
item
[
this
.
groupAppField
]));
}
else
{
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
value
,
item
[
this
.
groupAppField
]));
}
if
(
i
<
0
){
item
.
groupById
=
Number
((
allGroup
.
length
+
1
)
*
100
+
(
index
+
1
)
*
1
);
item
.
group
=
''
;
child
.
push
(
item
);
}
if
(
i
<
0
){
item
.
groupById
=
Number
((
allGroup
.
length
+
1
)
*
100
+
(
index
+
1
)
*
1
);
item
.
group
=
''
;
child
.
push
(
item
);
}
})
const
Tree
:
any
=
{
groupById
:
Number
((
allGroup
.
length
+
1
)
*
100
),
group
:
this
.
$t
(
'app.gridpage.other'
),
ibizorderid
:
''
,
ibizcustomername
:
''
,
children
:
child
}
if
(
child
&&
child
.
length
>
0
){
groupTree
.
push
(
Tree
);
}
this
.
items
=
groupTree
;
if
(
this
.
actualIsOpenEdit
)
{
for
(
let
i
=
0
;
i
<
this
.
items
.
length
;
i
++
)
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
());
}
}
}
/**
* 绘制分组
*
* @memberof ProivateTableBase
*/
public
drawGroup
(){
if
(
!
this
.
isEnableGroup
)
return
;
// 分组
let
allGroup
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
hasOwnProperty
(
this
.
groupAppField
)){
allGroup
.
push
(
item
[
this
.
groupAppField
]);
}
});
let
groupTree
:
Array
<
any
>
=
[];
allGroup
=
[...
new
Set
(
allGroup
)];
if
(
allGroup
.
length
==
0
){
console
.
warn
(
"分组数据无效"
);
}
// 组装数据
allGroup
.
forEach
((
group
:
any
,
groupIndex
:
number
)
=>
{
let
children
:
Array
<
any
>
=
[];
this
.
items
.
forEach
((
item
:
any
,
itemIndex
:
number
)
=>
{
if
(
Object
.
is
(
group
,
item
[
this
.
groupAppField
])){
item
.
groupById
=
Number
((
groupIndex
+
1
)
*
100
+
(
itemIndex
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
});
group
=
group
?
group
:
this
.
$t
(
'app.gridpage.other'
);
const
tree
:
any
=
{
groupById
:
Number
((
groupIndex
+
1
)
*
100
),
group
:
group
,
ibizorderid
:
''
,
ibizcustomername
:
''
,
children
:
children
,
}
groupTree
.
push
(
tree
);
});
this
.
items
=
groupTree
;
if
(
this
.
actualIsOpenEdit
)
{
for
(
let
i
=
0
;
i
<
this
.
items
.
length
;
i
++
)
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
());
}
}
}
/**
* 单个复选框选中
*
* @param {*} selection 所有选中行数据
* @param {*} row 当前选中行数据
* @memberof ProivateTableBase
*/
public
select
(
selection
:
any
,
row
:
any
):
void
{
// 选中事件
this
.
handleCtrlEvents
(
'onselectionchange'
,
{
data
:
[
row
]
}).
then
((
result
:
boolean
)
=>
{
if
(
!
result
)
{
return
;
}
if
(
this
.
groupAppField
)
{
let
isContain
:
boolean
=
selection
.
some
((
item
:
any
)
=>
{
return
item
==
row
;
})
// 是否选中当前行,选中为true,否则为false
if
(
isContain
)
{
// 当前行为分组行
if
(
row
.
children
&&
row
.
children
.
length
>
0
)
{
this
.
toggleSelection
(
row
.
children
,
true
);
row
.
children
.
forEach
((
children
:
any
)
=>
{
this
.
selections
.
push
(
children
);
});
}
else
{
this
.
selections
.
push
(
row
);
}
}
else
{
if
(
row
.
children
&&
row
.
children
.
length
>
0
)
{
this
.
toggleSelection
(
row
.
children
,
false
);
this
.
selections
=
this
.
computeCheckedData
(
this
.
selections
,
row
.
children
);
}
else
{
this
.
selections
=
this
.
computeCheckedData
(
this
.
selections
,
row
);
}
}
this
.
selections
=
[...
new
Set
(
this
.
selections
)]
}
else
{
if
(
!
selection
)
{
return
;
}
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
selection
))];
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
});
}
/**
* 计算当前选中数据
*
* @param {*} selectionArray 所有选中行数据
* @param {*} cancelData 被取消选中行数据,分组行为数组,非分组行为对象
* @memberof ProivateTableBase
*/
public
computeCheckedData
(
selectionArray
:
any
[],
cancelData
:
Array
<
any
>
|
any
)
{
let
targetArray
:
Array
<
any
>
=
[];
// 分组行
if
(
Array
.
isArray
(
cancelData
))
{
if
(
selectionArray
&&
selectionArray
.
length
>
0
)
{
selectionArray
.
forEach
((
selection
:
any
)
=>
{
let
tempFlag
:
boolean
=
true
;
cancelData
.
forEach
((
child
:
any
)
=>
{
if
(
selection
.
groupById
===
child
.
groupById
){
tempFlag
=
false
;
}
})
if
(
tempFlag
)
targetArray
.
push
(
selection
);
})
}
}
else
{
// 非分组行
if
(
selectionArray
&&
selectionArray
.
length
>
0
)
{
selectionArray
.
forEach
((
selection
:
any
)
=>
{
let
tempFlag
:
boolean
=
true
;
if
(
selection
.
groupById
===
cancelData
.
groupById
){
tempFlag
=
false
;
}
if
(
tempFlag
)
targetArray
.
push
(
selection
);
})
}
}
return
targetArray
;
}
/**
* 设置非分组行checkbox选中状态
*
* @param {*} rows 选中数据数组
* @param {boolean} flag 是否选中
* @memberof ProivateTableBase
*/
public
toggleSelection
(
rows
?:
any
,
flag
?:
boolean
)
{
if
(
rows
)
{
rows
.
forEach
((
row
:
any
)
=>
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
row
,
flag
);
});
}
else
{
(
this
.
$refs
.
multipleTable
as
any
).
clearSelection
();
}
}
/**
* 复选框数据全部选中
*
* @param {*} $event
* @memberof ProivateTableBase
*/
public
selectAll
(
selection
:
any
):
void
{
this
.
selections
=
[];
this
.
selections
=
[];
if
(
this
.
groupAppField
)
{
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
$event
))];
let
flag
:
boolean
=
true
;
if
(
selection
&&
selection
.
length
===
this
.
items
.
length
)
{
selection
.
forEach
((
element
:
any
)
=>
{
if
(
element
.
children
)
{
this
.
toggleSelection
(
element
.
children
,
flag
);
element
.
children
.
forEach
((
children
:
any
)
=>
{
this
.
selections
.
push
(
children
);
});
}
else
{
flag
=
false
;
}
});
}
else
{
flag
=
false
;
}
if
(
!
flag
)
{
this
.
toggleSelection
();
}
}
else
{
if
(
!
selection
)
{
return
;
}
this
.
selections
=
[...
JSON
.
parse
(
JSON
.
stringify
(
selection
))];
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
}
/**
* 单元格单击隐藏提示框
*
* @memberof MainBase
*/
public
cellClick
()
{
let
el
:
any
=
document
.
getElementsByClassName
(
'el-tooltip__popper'
)[
0
];
if
(
el
)
{
el
.
style
.
display
=
'none'
;
}
}
/**
/**
* 行单击选中
* 行单击选中
*
*
* @param {*} $event
* @param {*} $event
* @returns {void}
* @returns {void}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
rowClick
(
$event
:
any
,
ifAlways
:
boolean
=
false
):
void
{
public
rowClick
(
$event
:
any
,
ifAlways
:
boolean
=
false
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
ifAlways
&&
(
!
$event
||
this
.
actualIsOpenEdit
))
{
if
(
!
ifAlways
&&
(
!
$event
||
this
.
actualIsOpenEdit
))
{
return
;
return
;
}
}
...
@@ -1793,7 +1271,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1793,7 +1271,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {*} $event
* @param {*} $event
* @returns {void}
* @returns {void}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
pageOnChange
(
$event
:
any
):
void
{
public
pageOnChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
if
(
!
$event
)
{
...
@@ -1811,7 +1289,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1811,7 +1289,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {*} $event
* @param {*} $event
* @returns {void}
* @returns {void}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
onPageSizeChange
(
$event
:
any
):
void
{
public
onPageSizeChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
if
(
!
$event
)
{
...
@@ -1829,7 +1307,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1829,7 +1307,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 分页刷新
* 分页刷新
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
pageRefresh
():
void
{
public
pageRefresh
():
void
{
this
.
load
({});
this
.
load
({});
...
@@ -1839,7 +1317,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1839,7 +1317,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* 排序变化
* 排序变化
*
*
* @param {{ column: any, prop: any, order: any }} { column, prop, order }
* @param {{ column: any, prop: any, order: any }} { column, prop, order }
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
onSortChange
({
column
,
prop
,
order
}:
{
column
:
any
,
prop
:
any
,
order
:
any
}):
void
{
public
onSortChange
({
column
,
prop
,
order
}:
{
column
:
any
,
prop
:
any
,
order
:
any
}):
void
{
const
dir
=
Object
.
is
(
order
,
'ascending'
)
?
'asc'
:
Object
.
is
(
order
,
'descending'
)
?
'desc'
:
''
;
const
dir
=
Object
.
is
(
order
,
'ascending'
)
?
'asc'
:
Object
.
is
(
order
,
'descending'
)
?
'desc'
:
''
;
...
@@ -1856,7 +1334,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1856,7 +1334,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {{ row: any, rowIndex: any }} { row, rowIndex }
* @param {{ row: any, rowIndex: any }} { row, rowIndex }
* @returns {string}
* @returns {string}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
onRowClassName
({
row
,
rowIndex
}:
{
row
:
any
,
rowIndex
:
any
}):
string
{
public
onRowClassName
({
row
,
rowIndex
}:
{
row
:
any
,
rowIndex
:
any
}):
string
{
const
index
=
this
.
selections
.
findIndex
((
select
:
any
)
=>
Object
.
is
(
select
.
srfkey
,
row
.
srfkey
));
const
index
=
this
.
selections
.
findIndex
((
select
:
any
)
=>
Object
.
is
(
select
.
srfkey
,
row
.
srfkey
));
...
@@ -1871,18 +1349,16 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1871,18 +1349,16 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
* @param {*} row
* @param {*} row
* @param {*} tag
* @param {*} tag
* @param {*} $event
* @param {*} $event
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
public
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
// this.rowClick(row, true);
this
.
cellClick
();
$event
.
stopPropagation
();
$event
.
stopPropagation
();
}
}
/**
/**
* 设置列状态
* 设置列状态
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
setColState
()
{
public
setColState
()
{
const
_data
:
any
=
localStorage
.
getItem
(
'ibizorder_proivatetable_grid'
);
const
_data
:
any
=
localStorage
.
getItem
(
'ibizorder_proivatetable_grid'
);
...
@@ -1900,7 +1376,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1900,7 +1376,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
/**
/**
* 列变化
* 列变化
*
*
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
onColChange
()
{
public
onColChange
()
{
localStorage
.
setItem
(
'ibizorder_proivatetable_grid'
,
JSON
.
stringify
(
this
.
allColumns
));
localStorage
.
setItem
(
'ibizorder_proivatetable_grid'
,
JSON
.
stringify
(
this
.
allColumns
));
...
@@ -1911,7 +1387,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1911,7 +1387,7 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {string} name
* @param {string} name
* @returns {boolean}
* @returns {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getColumnState
(
name
:
string
):
boolean
{
public
getColumnState
(
name
:
string
):
boolean
{
let
column
=
this
.
allColumns
.
find
((
col
:
any
)
=>
let
column
=
this
.
allColumns
.
find
((
col
:
any
)
=>
...
@@ -1925,10 +1401,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1925,10 +1401,10 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @readonly
* @readonly
* @type {boolean}
* @type {boolean}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
get
adaptiveState
():
boolean
{
get
adaptiveState
():
boolean
{
return
!
this
.
allColumns
.
find
((
column
:
any
)
=>
column
.
show
&&
Object
.
is
(
column
.
u
nit
,
'STAR'
));
return
!
this
.
allColumns
.
find
((
column
:
any
)
=>
column
.
show
&&
Object
.
is
(
column
.
u
til
,
'STAR'
));
}
}
/**
/**
...
@@ -1936,63 +1412,36 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -1936,63 +1412,36 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
*
*
* @param {*} $event
* @param {*} $event
* @returns {Promise<any>}
* @returns {Promise<any>}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
let
_this
=
this
;
let
_this
=
this
;
// 拷贝模式
if
(
!
await
this
.
validateAll
()){
if
(
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
_this
.
viewparams
&&
_this
.
viewparams
.
copymode
&&
Object
.
is
(
_this
.
viewparams
.
copymode
,
'true'
)
&&
_this
.
items
&&
_this
.
items
.
length
>
0
)
{
for
(
const
item
of
_this
.
items
)
{
item
.
rowDataState
=
'create'
;
}
}
if
(
_this
.
items
&&
_this
.
items
.
length
>
0
)
{
for
(
const
item
of
_this
.
items
)
{
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
))
{
_this
.
updateDefault
(
item
);
}
}
}
if
(
!
await
this
.
validateAll
())
{
if
(
this
.
errorMessages
&&
this
.
errorMessages
.
length
>
0
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
this
.
errorMessages
[
0
]
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.rulesException'
)
as
string
)
});
}
return
[];
return
[];
}
}
let
successItems
:
any
=
[];
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
let
errorMessage
:
any
=
[];
if
(
!
(
await
this
.
handleCtrlEvents
(
'onbeforesave'
,
{
data
:
_this
.
items
})))
{
return
;
}
for
(
const
item
of
_this
.
items
)
{
for
(
const
item
of
_this
.
items
)
{
try
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
))
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
)
{
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderProivatePluginGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'IBIZOrderProivatePluginGridView视图表格createAction参数未配置'
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
tempContext
,
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
)
{
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderProivatePluginGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'IBIZOrderProivatePluginGridView视图表格updateAction参数未配置'
});
}
else
{
}
else
{
Object
.
assign
(
item
,
{
viewparams
:
this
.
viewparams
});
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
const
tempContext
=
Util
.
deepCopy
(
this
.
context
);
if
(
item
.
ibizorder
){
if
(
item
.
ibizorder
){
Object
.
assign
(
t
empContext
,
{
ibizorder
:
item
.
ibizorder
});
Object
.
assign
(
t
his
.
context
,{
ibizorder
:
item
.
ibizorder
});
}
}
let
response
=
await
this
.
service
.
update
(
this
.
updateAction
,
tempContext
,
item
,
this
.
showBusyIndicator
);
let
response
=
await
this
.
service
.
add
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
}
}
...
@@ -2003,209 +1452,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -2003,209 +1452,24 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
}
}
this
.
$emit
(
'save'
,
successItems
);
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
&&
successItems
.
length
>
0
){
if
(
errorItems
.
length
===
0
){
if
(
!
(
await
this
.
handleCtrlEvents
(
'onsavesuccess'
,
{
data
:
successItems
})))
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'保存成功!'
});
return
;
}
else
{
}
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.commonWords.saveSuccess'
)
as
string
)
});
this
.
$Notice
.
error
({
title
:
'保存失败'
,
desc
:
item
.
majorentityname
+
'保存失败!'
});
}
else
{
console
.
error
(
errorMessage
[
index
]);
if
(
!
(
await
this
.
handleCtrlEvents
(
'onsaveerror'
,
{
data
:
errorItems
})))
{
return
;
}
errorItems
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
errorMessage
[
index
]
&&
errorMessage
[
index
].
data
)
{
if
(
Object
.
is
(
errorMessage
[
index
].
data
.
errorKey
,
'DupCheck'
))
{
let
errorProp
:
string
=
errorMessage
[
index
].
data
.
message
.
match
(
/
\[[
a-zA-Z
]
*
\]
/
)[
0
];
let
name
:
string
=
errorProp
?
this
.
service
.
getNameByProp
(
errorProp
.
substr
(
1
,
errorProp
.
length
-
2
))
:
''
;
if
(
name
)
{
let
desc
:
any
=
this
.
allColumns
.
find
((
column
:
any
)
=>
{
return
Object
.
is
(
column
.
name
,
name
);
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
(
desc
?
desc
.
label
:
''
)
+
" : "
+
item
[
name
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
errorMessage
[
index
].
data
.
message
?
errorMessage
[
index
].
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
});
}
}
else
if
(
Object
.
is
(
errorMessage
[
index
].
data
.
errorKey
,
'DuplicateKeyException'
)){
let
name
:
string
=
this
.
service
.
getNameByProp
(
"ibizorderid"
);
if
(
name
){
let
desc
:
any
=
this
.
allColumns
.
find
((
column
:
any
)
=>
{
return
Object
.
is
(
column
.
name
,
name
);
});
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
(
desc
?
desc
.
label
:
''
)
+
" : "
+
item
[
name
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
),
desc
:
errorMessage
[
index
].
data
.
message
?
errorMessage
[
index
].
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
});
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
),
desc
:
(
item
[
this
.
majorInfoColName
]?
item
[
this
.
majorInfoColName
]:
""
)
+
(
this
.
$t
(
'app.commonWords.saveFailed'
)
as
string
)
+
'!'
});
}
});
});
}
}
return
successItems
;
return
successItems
;
}
}
/**
* 新建行
*
* @param {*} $event
* @returns {void}
* @memberof ProivateTableBase
*/
public
async
newRow
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
Promise
<
any
>
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'IBIZOrderProivatePluginGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
let
_this
=
this
;
Object
.
assign
(
args
[
0
],
{
viewparams
:
Util
.
deepCopy
(
this
.
viewparams
)
});
try
{
// 加载草稿之前
if
(
!
(
await
this
.
handleCtrlEvents
(
'onbeforeloaddraft'
,
{
data
:
args
[
0
]
})))
{
return
;
}
const
response
=
await
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
Util
.
deepCopy
(
this
.
context
),
args
[
0
],
this
.
showBusyIndicator
);
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
// 加载草稿失败
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloaddrafterror'
,
{
data
:
response
.
data
?
response
.
data
:
{}
})))
{
return
;
}
if
(
response
.
data
&&
response
.
data
.
message
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
response
;
}
// 加载草稿成功
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloaddraftsuccess'
,
{
data
:
response
.
data
})))
{
return
;
}
const
data
=
response
.
data
;
this
.
createDefault
(
data
);
data
.
rowDataState
=
"create"
;
this
.
items
.
splice
(
0
,
0
,
data
);
_this
.
gridItemsModel
.
push
(
_this
.
getGridRowModel
());
return
response
;
}
catch
(
response
:
any
)
{
// 加载草稿失败
if
(
!
(
await
this
.
handleCtrlEvents
(
'onloaddrafterror'
,
{
data
:
response
.
data
?
response
.
data
:
{}
})))
{
return
;
}
if
(
response
&&
response
.
status
===
401
)
{
return
response
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
}
}
/**
* 表格编辑项值变更
*
* @param row 行数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof ProivateTableBase
*/
public
onGridItemValueChange
(
row
:
any
,
$event
:
{
name
:
string
,
value
:
any
},
rowIndex
:
number
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
row
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
row
[
$event
.
name
]
=
$event
.
value
;
this
.
gridEditItemChange
(
row
,
$event
.
name
,
$event
.
value
,
rowIndex
);
}
/**
* 表格编辑项值变化
*
* @public
* @param row 行数据
* @param property 列编辑项名
* @param row 列编辑项值
* @returns {void}
* @memberof ProivateTableBase
*/
public
gridEditItemChange
(
row
:
any
,
property
:
string
,
value
:
any
,
rowIndex
:
number
){
row
.
rowDataState
=
row
.
rowDataState
?
row
.
rowDataState
:
"update"
;
if
(
Object
.
is
(
row
.
rowDataState
,
"update"
)){
if
(
this
.
defaultUpdateItems
.
includes
(
property
)){
row
.
hasUpdated
=
true
;
}
}
this
.
curEditRowData
=
row
;
this
.
resetGridData
(
row
,
property
,
rowIndex
);
this
.
validate
(
property
,
row
,
rowIndex
);
}
/**
* 表格编辑项更新
*
* @param {string} mode 界面行为名称
* @param {*} [data={}] 请求数据
* @param {string[]} updateDetails 更新项
* @param {boolean} [showloading] 是否显示加载状态
* @returns {void}
* @memberof ProivateTableBase
*/
public
updateGridEditItem
(
mode
:
string
,
data
:
any
=
{},
updateDetails
:
string
[],
showloading
?:
boolean
):
void
{
if
(
!
mode
||
(
mode
&&
Object
.
is
(
mode
,
''
)))
{
return
;
}
let
tempContext
:
any
=
this
.
$util
.
deepCopy
(
this
.
context
);
Object
.
is
(
tempContext
,
{
ibizorder
:
data
.
ibizorderid
});
const
arg
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
mode
,
JSON
.
parse
(
JSON
.
stringify
(
tempContext
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.gridpage.formitemFailed'
)
as
string
)
});
return
;
}
const
_data
:
any
=
response
.
data
;
if
(
!
_data
){
return
;
}
updateDetails
.
forEach
((
name
:
string
)
=>
{
if
(
!
_data
.
hasOwnProperty
(
name
))
{
return
;
}
data
[
name
]
=
_data
[
name
];
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
return
;
}
});
}
/**
/**
* 获取对应行class
* 获取对应行class
*
*
* @param {*} $args row 行数据,rowIndex 行索引
* @param {*} $args row 行数据,rowIndex 行索引
* @returns {void}
* @returns {void}
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
getRowClassName
(
args
:{
row
:
any
,
rowIndex
:
number
}){
public
getRowClassName
(
args
:{
row
:
any
,
rowIndex
:
number
}){
let
isSelected
=
this
.
selections
.
some
((
item
:
any
)
=>
{
let
isSelected
=
this
.
selections
.
some
((
item
:
any
)
=>
{
...
@@ -2214,261 +1478,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
...
@@ -2214,261 +1478,12 @@ export default class ProivateTableBase extends Vue implements ControlInterface {
return
isSelected
?
"grid-selected-row"
:
""
;
return
isSelected
?
"grid-selected-row"
:
""
;
}
}
/**
* 获取对应单元格class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,columnIndex 列索引
* @returns {void}
* @memberof ProivateTableBase
*/
public
getCellClassName
(
args
:{
row
:
any
,
column
:
any
,
rowIndex
:
number
,
columnIndex
:
number
}){
let
className
:
string
=
''
;
if
(
args
.
column
.
property
){
let
col
=
this
.
allColumns
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
args
.
column
.
property
,
item
.
name
);
})
if
(
col
!==
undefined
){
if
(
col
.
isEnableRowEdit
&&
this
.
actualIsOpenEdit
){
className
+=
'edit-cell '
;
}
}
else
{
className
+=
'info-cell'
;
}
}
if
(
this
.
groupAppField
&&
args
.
columnIndex
===
0
&&
!
this
.
isSingleSelect
)
{
if
(
args
.
row
.
children
&&
args
.
row
.
children
.
length
>
0
)
{
className
+=
this
.
computeGroupRow
(
args
.
row
.
children
,
args
.
row
);
}
}
return
className
;
}
/**
* 计算分组行checkbox选中样式
*
* @param {*} rows 当前分组行下的所有数据
* @returns {*} currentRow 当前分组行
* @memberof ProivateTableBase
*/
public
computeGroupRow
(
rows
:
any
[],
currentRow
:
any
)
{
let
count
:
number
=
0
;
this
.
selections
.
forEach
((
select
:
any
)
=>
{
rows
.
forEach
((
row
:
any
)
=>
{
if
(
row
.
groupById
===
select
.
groupById
)
{
count
++
;
}
})
})
if
(
count
===
rows
.
length
)
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
currentRow
,
true
);
return
'cell-select-all '
;
}
else
if
(
count
!==
0
&&
count
<
rows
.
length
)
{
return
'cell-indeterminate '
}
else
if
(
count
===
0
)
{
(
this
.
$refs
.
multipleTable
as
any
).
toggleRowSelection
(
currentRow
,
false
);
return
''
;
}
}
/**
/**
* 新建默认值
* 新建默认值
* @param {*} row 行数据
* @param {*} row 行数据
* @memberof ProivateTable
Base
* @memberof ProivateTable
*/
*/
public
createDefault
(
row
:
any
){
public
createDefault
(
row
:
any
){
}
}
/**
* 更新默认值
* @param {*} row 行数据
* @memberof ProivateTableBase
*/
public
updateDefault
(
row
:
any
){
}
/**
* 计算数据对象类型的默认值
* @param {string} action 行为
* @param {string} param 默认值参数
* @param {*} data 当前行数据
* @memberof ProivateTableBase
*/
public
computeDefaultValueWithParam
(
action
:
string
,
param
:
string
,
data
:
any
){
if
(
Object
.
is
(
action
,
"UPDATE"
)){
const
nativeData
:
any
=
this
.
service
.
getCopynativeData
();
if
(
nativeData
&&
(
nativeData
instanceof
Array
)
&&
nativeData
.
length
>
0
){
let
targetData
:
any
=
nativeData
.
find
((
item
:
any
)
=>
{
return
item
.
ibizorderid
===
data
.
srfkey
;
})
if
(
targetData
){
return
targetData
[
param
]?
targetData
[
param
]:
null
;
}
else
{
return
null
;
}
}
else
{
return
null
;
}
}
else
{
return
this
.
service
.
getRemoteCopyData
()[
param
]?
this
.
service
.
getRemoteCopyData
()[
param
]:
null
;
}
}
/**
* 校验属性值规则
*
* @public
* @param {{ name: string }} { name }
* @memberof ProivateTableBase
*/
public
verifyDeRules
(
name
:
string
,
rule
:
any
=
this
.
deRules
(),
op
:
string
=
"AND"
,
value
:
any
)
:{
isPast
:
boolean
}{
let
falg
:
any
=
{};
if
(
!
rule
||
!
rule
[
name
]){
return
falg
;
}
let
opValue
=
op
==
'AND'
?
true
:
false
;
let
startOp
=
(
val
:
boolean
)
=>
{
if
(
falg
.
isPast
){
if
(
opValue
){
falg
.
isPast
=
falg
.
isPast
&&
val
;
}
else
{
falg
.
isPast
=
falg
.
isPast
||
val
;
}
}
else
{
falg
.
isPast
=
val
;
}
}
for
(
let
i
=
0
;
i
<
rule
[
name
].
length
;
i
++
)
{
let
item
:
any
=
rule
[
name
][
i
];
if
((
value
===
null
||
value
===
undefined
||
value
===
""
)
&&
(
item
.
type
!=
'GROUP'
)){
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
value
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
curEditRowData
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
value
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
value
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
value
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
value
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
,
value
)
if
(
item
.
isNotMode
){
falg
.
isPast
=
!
falg
.
isPast
;
}
}
};
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
value
&&
value
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
}
/**
* 工作流提交
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof ProivateTableBase
*/
public
async
submitbatch
(
data
:
any
,
localdata
:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
arg
:
any
=
data
;
const
result
:
Promise
<
any
>
=
this
.
service
.
submitbatch
(
_this
.
WFSubmitAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
localdata
,
this
.
showBusyIndicator
);
result
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
data
){
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.submiterror'
)
as
string
)
+
', '
+
response
.
data
.
message
});
}
return
;
}
this
.
$Notice
.
info
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.submitsuccess'
)
as
string
)
});
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
reject
(
response
);
return
;
}
reject
(
response
);
});
})
}
/**
* 获取表格列禁用状态
*
* @memberof ProivateTableBase
*/
public
getColumnDisabled
(
data
:
any
,
name
:
string
){
if
(
this
.
allColumns
||
Array
.
isArray
(
this
.
allColumns
)){
const
curColumn
:
any
=
this
.
allColumns
.
find
((
item
:
any
)
=>
{
return
item
.
name
===
name
;
})
if
(
curColumn
.
hasOwnProperty
(
'enableCond'
)){
return
data
.
srfuf
==
1
?
(
curColumn
.
enableCond
&
2
)
!==
2
:
(
curColumn
.
enableCond
&
1
)
!==
1
}
else
{
return
false
;
}
}
}
/**
* 重置表格项值
*
* @param {*} row 当前行
* @param {string} property 属性名
* @param {number} rowIndex 行下标
* @memberof ProivateTableBase
*/
public
resetGridData
(
row
:
any
,
property
:
string
,
rowIndex
:
number
)
{
if
(
this
.
actualIsOpenEdit
)
{
}
}
}
}
</
script
>
</
script
>
\ No newline at end of file
<
style
lang=
'less'
>
@import './proivate-table-grid.less';
</
style
>
\ No newline at end of file
app_Web/src/widgets/ibizorder/proivate-table-grid/proivate-table-grid-model.ts
浏览文件 @
f373a009
// 基于 @CONTROL/表格/MODEL.ts.ftl 生成
// 基于 @CONTROL/表格
(透视表)
/MODEL.ts.ftl 生成
/**
/**
* ProivateTable 部件模型
* ProivateTable 部件模型
*
*
...
@@ -83,33 +83,27 @@ export default class ProivateTableModel {
...
@@ -83,33 +83,27 @@ export default class ProivateTableModel {
{
{
name
:
'size'
,
name
:
'size'
,
prop
:
'size'
,
prop
:
'size'
dataType
:
'QUERYPARAM'
},
},
{
{
name
:
'query'
,
name
:
'query'
,
prop
:
'query'
,
prop
:
'query'
dataType
:
'QUERYPARAM'
},
},
{
{
name
:
'filter'
,
name
:
'filter'
,
prop
:
'filter'
,
prop
:
'filter'
dataType
:
'QUERYPARAM'
},
},
{
{
name
:
'page'
,
name
:
'page'
,
prop
:
'page'
,
prop
:
'page'
dataType
:
'QUERYPARAM'
},
},
{
{
name
:
'sort'
,
name
:
'sort'
,
prop
:
'sort'
,
prop
:
'sort'
dataType
:
'QUERYPARAM'
},
},
{
{
name
:
'srfparentdata'
,
name
:
'srfparentdata'
,
prop
:
'srfparentdata'
,
prop
:
'srfparentdata'
dataType
:
'QUERYPARAM'
},
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
{
...
@@ -117,22 +111,6 @@ export default class ProivateTableModel {
...
@@ -117,22 +111,6 @@ export default class ProivateTableModel {
prop
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
dataType
:
'TEXT'
,
},
},
// 预置工作流数据字段
{
name
:
'srfprocessdefinitionkey'
,
prop
:
'srfprocessdefinitionkey'
,
dataType
:
'TEXT'
},
{
name
:
'srftaskdefinitionkey'
,
prop
:
'srftaskdefinitionkey'
,
dataType
:
'TEXT'
},
{
name
:
'srftaskid'
,
prop
:
'srftaskid'
,
dataType
:
'TEXT'
}
]
]
}
}
}
}
...
...
app_Web/src/widgets/ibizorder/proivate-table-grid/proivate-table-grid-service.ts
浏览文件 @
f373a009
// 基于 @CONTROL/表格/SERVICE.ts.ftl 生成
// 基于 @CONTROL/表格
(透视表)
/SERVICE.ts.ftl 生成
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
ControlService
from
'@/widgets/control-service'
;
import
IBIZOrderService
from
'@/service/ibizorder/ibizorder-service'
;
import
IBIZOrderService
from
'@/service/ibizorder/ibizorder-service'
;
...
@@ -217,7 +217,7 @@ export default class ProivateTableService extends ControlService {
...
@@ -217,7 +217,7 @@ export default class ProivateTableService extends ControlService {
result
.
then
((
response
)
=>
{
result
.
then
((
response
)
=>
{
//处理返回数据,补充判断标识
//处理返回数据,补充判断标识
if
(
response
.
data
){
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
Object
.
assign
(
response
.
data
,{
srfuf
:
0
});
}
}
resolve
(
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
}).
catch
(
response
=>
{
...
@@ -360,99 +360,6 @@ export default class ProivateTableService extends ControlService {
...
@@ -360,99 +360,6 @@ export default class ProivateTableService extends ControlService {
}
}
return
{
context
:
tempContext
,
data
:
requestData
};
return
{
context
:
tempContext
,
data
:
requestData
};
}
}
/**
* 处理工作流数据
*
* @param data 传入数据
* @memberof ProivateTableService
*/
public
handleWFData
(
data
:
any
,
isMerge
:
boolean
=
false
){
let
model
:
any
=
this
.
getMode
();
if
(
!
model
&&
model
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
dataItems
:
any
[]
=
model
.
getDataItems
();
let
requestData
:
any
=
{};
dataItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
prop
){
if
(
item
.
dataType
){
if
(
!
Object
.
is
(
item
.
dataType
,
'QUERYPARAM'
)){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
else
{
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
});
if
(
isMerge
&&
(
data
.
viewparams
&&
Object
.
keys
(
data
.
viewparams
).
length
>
0
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
// 删除前端srffrontuf标识
if
(
requestData
.
hasOwnProperty
(
'srffrontuf'
)){
delete
requestData
.
srffrontuf
;
}
//补充工作流所需主键
requestData
.
srfkey
=
data
.
ibizorder
;
//补充全量数据
requestData
=
this
.
fillNativeData
(
requestData
);
return
requestData
;
}
/**
* 补充全量数据
*
* @param {*} [data]
* @memberof ProivateTableService
*/
public
fillNativeData
(
data
:
any
){
if
(
this
.
copynativeData
&&
this
.
copynativeData
.
length
>
0
){
let
targetData
:
any
=
this
.
copynativeData
.
find
((
item
:
any
)
=>
{
return
item
.
ibizorderid
===
data
.
srfkey
;
})
data
=
Object
.
assign
(
targetData
,
data
);
return
data
;
}
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof ProivateTableService
*/
@
Errorlog
public
submitbatch
(
action
:
string
,
context
:
any
=
{},
data
:
any
,
localdata
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
[];
if
(
data
&&
data
.
length
>
0
){
data
.
forEach
((
item
:
any
)
=>
{
let
data
:
any
=
this
.
handleWFData
(
item
,
true
);
tempData
.
push
(
data
);
});
}
context
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
).
context
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
context
,
tempData
,
localdata
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
wfSubmitBatch
(
context
,
tempData
,
localdata
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
/**
* 设置远端数据
* 设置远端数据
*
*
...
...
app_Web/src/widgets/ibizorder/proivate-table-grid/proivate-table-grid.less
浏览文件 @
f373a009
// 基于 @CONTROL/表格/CONTROL.less.ftl 生成
// 基于 @CONTROL/表格(透视表)/CONTROL.less.ftl 生成
.grid {
flex-grow: 1;
height: 100%;
overflow: auto;
.el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/
width : 10px !important; /*高宽分别对应横竖滚动条的尺寸*/
height: 10px !important;
}
.el-table__body-wrapper::-webkit-scrollbar-thumb {
/*滚动条颜色*/
border-radius : 10px !important;
background-color: #cecece !important;
}
.el-table__body-wrapper::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
background : #ededed !important;
border-radius: 10px !important;
}
/*表格文字过长省略*/
.el-table th>.cell, .el-table td>.cell{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
}
.el-table-column--selection .cell {
padding-left: 0px;
padding-right: 0px;
}
.app-column-link, .app-format-data{
display: inline;
}
.el-table {
height: 100%;
display:flex;
flex-direction: column;
justify-content: flex-start;
.el-table__row{
.grid-uiaction-divider {
padding:0 10px 0 10px;
border-left: 1px #b3b3b3 solid;
}
.grid-first-uiaction {
padding:0 10px 0 10px;
}
}
.quick-toolbar{
display: inline-block;
button{
background: #ebf3fb;
color: #2575ca;
border: 0;
}
}
.el-tooltip{
.ivu-form-item{
margin-bottom: unset !important;
}
}
.el-table__body .edit-cell{
padding:0;
.app-form-item{
margin-top: 20px;
margin-bottom: 20px;
}
}
.el-table__header-wrapper{
min-height: 45px;
max-height: 100px;
height: auto;
}
.el-table__footer-wrapper{
min-height: 45px;
max-height: 100px;
height: auto;
}
}
.grid-pagination {
height: 50px;
padding: 6px 0px;
.page-button {
button {
padding: 0;
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
}
}
.page-column {
position: absolute;
left: 0;
}
.batch-toolbar{
position: absolute;
left: 105px;
>.toolbar-container{
button {
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
margin-top: 0;
margin-bottom: 0;
}
}
}
}
}
.ivu-modal-content{
.footer{
.ivu-row{
text-align: right;
}
}
}
.cell-indeterminate {
>div>label {
>span {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:before {
content: "";
position: absolute;
display: block;
background-color: #fff;
height: 2px;
transform: scale(.5);
left: 0;
right: 0;
top: 5px;
}
}
>span.is-checked {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:after {
border: 0px;
}
}
}
}
.cell-select-all {
>div>label {
>span {
.el-checkbox__inner {
background-color: #409eff;
border-color: #409eff;
}
.el-checkbox__inner:after {
box-sizing: content-box;
content: "";
border: 1px solid #fff;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
position: absolute;
top: 1px;
transform: rotate(45deg) scaleY(1);
width: 3px;
transition: transform .15s ease-in .05s;
transform-origin: center;
}
}
}
}
// this is less
// this is less
app_Web/src/widgets/ibizorder/proivate-table-grid/proivate-table-grid.vue
浏览文件 @
f373a009
...
@@ -3,7 +3,7 @@ import { Component } from 'vue-property-decorator';
...
@@ -3,7 +3,7 @@ import { Component } from 'vue-property-decorator';
import
ProivateTableBase
from
'./proivate-table-grid-base.vue'
;
import
ProivateTableBase
from
'./proivate-table-grid-base.vue'
;
// 基于 @CONTROL/表格/CONTROL.vue.ftl 生成
// 基于 @CONTROL/表格
(透视表)
/CONTROL.vue.ftl 生成
@
Component
({
@
Component
({
components
:
{
components
:
{
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json
浏览文件 @
f373a009
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
"aggMode"
:
"NONE"
,
"aggMode"
:
"NONE"
,
"codeName"
:
"ProivateTable"
,
"codeName"
:
"ProivateTable"
,
"columnEnableLink"
:
2
,
"columnEnableLink"
:
2
,
"controlStyle"
:
"PivotTable"
,
"controlType"
:
"GRID"
,
"controlType"
:
"GRID"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json"
,
"getFetchPSControlAction"
:
{
"getFetchPSControlAction"
:
{
...
@@ -147,6 +148,10 @@
...
@@ -147,6 +148,10 @@
},
},
"allowEmpty"
:
true
"allowEmpty"
:
true
}
],
}
],
"getPSSysPFPlugin"
:
{
"pluginType"
:
"GRID_RENDER"
,
"pluginCode"
:
"PivotTable"
},
"pagingSize"
:
20
,
"pagingSize"
:
20
,
"getRemovePSControlAction"
:
{
"getRemovePSControlAction"
:
{
"actionName"
:
"Remove"
,
"actionName"
:
"Remove"
,
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZOrderProivatePluginGridView.json
浏览文件 @
f373a009
...
@@ -1018,6 +1018,7 @@
...
@@ -1018,6 +1018,7 @@
"aggMode"
:
"NONE"
,
"aggMode"
:
"NONE"
,
"codeName"
:
"ProivateTable"
,
"codeName"
:
"ProivateTable"
,
"columnEnableLink"
:
2
,
"columnEnableLink"
:
2
,
"controlStyle"
:
"PivotTable"
,
"controlType"
:
"GRID"
,
"controlType"
:
"GRID"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json"
,
"dynaModelFilePath"
:
"PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZOrder/PSGRIDS/ProivateTable.json"
,
"getFetchPSControlAction"
:
{
"getFetchPSControlAction"
:
{
...
@@ -1250,6 +1251,10 @@
...
@@ -1250,6 +1251,10 @@
},
},
"allowEmpty"
:
true
"allowEmpty"
:
true
}
],
}
],
"getPSSysPFPlugin"
:
{
"pluginType"
:
"GRID_RENDER"
,
"pluginCode"
:
"PivotTable"
},
"pagingSize"
:
20
,
"pagingSize"
:
20
,
"getRemovePSControlAction"
:
{
"getRemovePSControlAction"
:
{
"actionName"
:
"Remove"
,
"actionName"
:
"Remove"
,
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.json
浏览文件 @
f373a009
...
@@ -4149,6 +4149,12 @@
...
@@ -4149,6 +4149,12 @@
"pluginType"
:
"EDITFORM_RENDER"
,
"pluginType"
:
"EDITFORM_RENDER"
,
"refMode"
:
"CONTROL"
,
"refMode"
:
"CONTROL"
,
"refTag"
:
"FORM"
"refTag"
:
"FORM"
},
{
"name"
:
"表格(透视表)"
,
"pluginCode"
:
"PivotTable"
,
"pluginType"
:
"GRID_RENDER"
,
"refMode"
:
"CONTROL"
,
"refTag"
:
"GRID"
},
{
},
{
"name"
:
"视图数量"
,
"name"
:
"视图数量"
,
"pluginCode"
:
"PFPlugin8"
,
"pluginCode"
:
"PFPlugin8"
,
...
...
demo-boot/src/main/resources/static/remotemodel/PSSYSAPPS/Web/PSSYSAPP.simple.json
浏览文件 @
f373a009
...
@@ -103,6 +103,12 @@
...
@@ -103,6 +103,12 @@
"pluginType"
:
"EDITFORM_RENDER"
,
"pluginType"
:
"EDITFORM_RENDER"
,
"refMode"
:
"CONTROL"
,
"refMode"
:
"CONTROL"
,
"refTag"
:
"FORM"
"refTag"
:
"FORM"
},
{
"name"
:
"表格(透视表)"
,
"pluginCode"
:
"PivotTable"
,
"pluginType"
:
"GRID_RENDER"
,
"refMode"
:
"CONTROL"
,
"refTag"
:
"GRID"
},
{
},
{
"name"
:
"视图数量"
,
"name"
:
"视图数量"
,
"pluginCode"
:
"PFPlugin8"
,
"pluginCode"
:
"PFPlugin8"
,
...
...
demo-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
f373a009
...
@@ -340,7 +340,7 @@
...
@@ -340,7 +340,7 @@
<!--输出实体[IBIZORDER]数据结构 -->
<!--输出实体[IBIZORDER]数据结构 -->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizorder-70
4
-14"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"tab-ibizorder-70
6
-14"
>
<createTable
tableName=
"T_IBIZORDER"
>
<createTable
tableName=
"T_IBIZORDER"
>
<column
name=
"TP"
remarks=
""
type=
"TEXT(1048576)"
>
<column
name=
"TP"
remarks=
""
type=
"TEXT(1048576)"
>
</column>
</column>
...
...
demo-core/src/main/resources/liquibase/view.xml
浏览文件 @
f373a009
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
</createView>
</createView>
</changeSet>
</changeSet>
<!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"view-ibizorder-70
4
-8"
runOnChange=
"true"
>
<changeSet
author=
"a_LAB01_df847bdfd"
id=
"view-ibizorder-70
6
-8"
runOnChange=
"true"
>
<createView
fullDefinition=
"false"
replaceIfExists=
"true"
viewName=
"V_IBIZORDER"
>
<createView
fullDefinition=
"false"
replaceIfExists=
"true"
viewName=
"V_IBIZORDER"
>
<![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]>
<![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]>
</createView>
</createView>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录