Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzdst
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzdst
提交
bf0a12d0
提交
bf0a12d0
编写于
12月 04, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码 [ibz-dst,应用]
上级
33b28f2f
变更
70
显示空白字符变更
内嵌
并排
正在显示
70 个修改的文件
包含
11307 行增加
和
159 行删除
+11307
-159
en-US.ts
app_web/src/locale/lang/en-US.ts
+1
-0
zh-CN.ts
app_web/src/locale/lang/zh-CN.ts
+1
-0
dabuild_en_US.ts
app_web/src/locale/lanres/entities/dabuild/dabuild_en_US.ts
+1
-0
dabuild_zh_CN.ts
app_web/src/locale/lanres/entities/dabuild/dabuild_zh_CN.ts
+1
-0
dachart_en_US.ts
app_web/src/locale/lanres/entities/dachart/dachart_en_US.ts
+1
-0
dachart_zh_CN.ts
app_web/src/locale/lanres/entities/dachart/dachart_zh_CN.ts
+1
-0
dareport_en_US.ts
...web/src/locale/lanres/entities/dareport/dareport_en_US.ts
+1
-0
dareport_zh_CN.ts
...web/src/locale/lanres/entities/dareport/dareport_zh_CN.ts
+1
-0
dst-system_en_US.ts
...src/locale/lanres/entities/dst-system/dst-system_en_US.ts
+58
-58
dst-system_zh_CN.ts
...src/locale/lanres/entities/dst-system/dst-system_zh_CN.ts
+58
-58
exec-log_en_US.ts
...web/src/locale/lanres/entities/exec-log/exec-log_en_US.ts
+1
-0
exec-log_zh_CN.ts
...web/src/locale/lanres/entities/exec-log/exec-log_zh_CN.ts
+1
-0
exec-result_en_US.ts
...c/locale/lanres/entities/exec-result/exec-result_en_US.ts
+3
-0
exec-result_zh_CN.ts
...c/locale/lanres/entities/exec-result/exec-result_zh_CN.ts
+3
-0
rule-engine_en_US.ts
...c/locale/lanres/entities/rule-engine/rule-engine_en_US.ts
+1
-0
rule-engine_zh_CN.ts
...c/locale/lanres/entities/rule-engine/rule-engine_zh_CN.ts
+1
-0
rule-item_en_US.ts
...b/src/locale/lanres/entities/rule-item/rule-item_en_US.ts
+1
-0
rule-item_zh_CN.ts
...b/src/locale/lanres/entities/rule-item/rule-item_zh_CN.ts
+1
-0
dst-index-appmenu.ts
app_web/src/mock/app/dst-index-appmenu/dst-index-appmenu.ts
+18
-0
page-register.ts
app_web/src/pages/lite/dst-index/page-register.ts
+4
-2
router.ts
app_web/src/pages/lite/dst-index/router.ts
+76
-22
dst-system-edit-view-base.vue
...s/lite/dst-system-edit-view/dst-system-edit-view-base.vue
+1669
-0
dst-system-edit-view.less
...pages/lite/dst-system-edit-view/dst-system-edit-view.less
+26
-0
dst-system-edit-view.vue
.../pages/lite/dst-system-edit-view/dst-system-edit-view.vue
+22
-0
dst-system-grid-view-base.vue
...s/lite/dst-system-grid-view/dst-system-grid-view-base.vue
+1836
-0
dst-system-grid-view.less
...pages/lite/dst-system-grid-view/dst-system-grid-view.less
+19
-0
dst-system-grid-view.vue
.../pages/lite/dst-system-grid-view/dst-system-grid-view.vue
+24
-0
state.ts
app_web/src/store/modules/view-action/state.ts
+21
-0
dst-index-appmenu-base.vue
.../widgets/app/dst-index-appmenu/dst-index-appmenu-base.vue
+26
-0
dst-index-appmenu-model.ts
.../widgets/app/dst-index-appmenu/dst-index-appmenu-model.ts
+31
-0
default-searchform-base.vue
...ts/dabuild/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
...ts/dabuild/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/dabuild/main-grid/main-grid-model.ts
+5
-0
default-searchform-base.vue
...ts/dachart/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
...ts/dachart/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/dachart/main-grid/main-grid-model.ts
+5
-0
default-searchform-base.vue
...s/dareport/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
...s/dareport/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/dareport/main-grid/main-grid-model.ts
+5
-0
default-searchform-base.vue
...dst-system/default-searchform/default-searchform-base.vue
+767
-0
default-searchform-model.ts
...dst-system/default-searchform/default-searchform-model.ts
+36
-0
default-searchform-service.ts
...t-system/default-searchform/default-searchform-service.ts
+467
-0
default-searchform.less
...ets/dst-system/default-searchform/default-searchform.less
+47
-0
default-searchform.vue
...gets/dst-system/default-searchform/default-searchform.vue
+14
-0
main-form-base.vue
app_web/src/widgets/dst-system/main-form/main-form-base.vue
+1940
-0
main-form-model.ts
app_web/src/widgets/dst-system/main-form/main-form-model.ts
+76
-0
main-form-service.ts
...web/src/widgets/dst-system/main-form/main-form-service.ts
+473
-0
main-form.less
app_web/src/widgets/dst-system/main-form/main-form.less
+54
-0
main-form.vue
app_web/src/widgets/dst-system/main-form/main-form.vue
+14
-0
main-grid-base.vue
app_web/src/widgets/dst-system/main-grid/main-grid-base.vue
+2342
-0
main-grid-model.ts
app_web/src/widgets/dst-system/main-grid/main-grid-model.ts
+110
-0
main-grid-service.ts
...web/src/widgets/dst-system/main-grid/main-grid-service.ts
+494
-0
main-grid.less
app_web/src/widgets/dst-system/main-grid/main-grid.less
+176
-0
main-grid.vue
app_web/src/widgets/dst-system/main-grid/main-grid.vue
+14
-0
default-searchform-base.vue
...s/exec-log/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
...s/exec-log/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/exec-log/main-grid/main-grid-model.ts
+5
-0
default-searchform-base.vue
...xec-result/default-searchform/default-searchform-base.vue
+97
-0
default-searchform-model.ts
...xec-result/default-searchform/default-searchform-model.ts
+15
-0
default-searchform-service.ts
...c-result/default-searchform/default-searchform-service.ts
+12
-0
main-grid-model.ts
app_web/src/widgets/exec-result/main-grid/main-grid-model.ts
+15
-0
default-searchform-base.vue
...ule-engine/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
...ule-engine/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/rule-engine/main-grid/main-grid-model.ts
+5
-0
default-searchform-base.vue
.../rule-item/default-searchform/default-searchform-base.vue
+25
-0
default-searchform-model.ts
.../rule-item/default-searchform/default-searchform-model.ts
+5
-0
main-grid-model.ts
app_web/src/widgets/rule-item/main-grid/main-grid-model.ts
+5
-0
DABuildSearchContext.java
...cn/ibizlab/core/analysis/filter/DABuildSearchContext.java
+7
-0
h2_table.xml
ibzdst-core/src/main/resources/liquibase/h2_table.xml
+18
-18
systemResource.json
...st-core/src/main/resources/permission/systemResource.json
+1
-1
未找到文件。
app_web/src/locale/lang/en-US.ts
浏览文件 @
bf0a12d0
...
@@ -143,6 +143,7 @@ export default {
...
@@ -143,6 +143,7 @@ export default {
dstindex
:
{
dstindex
:
{
menuitem3
:
"模型"
,
menuitem3
:
"模型"
,
menuitem2
:
"数据源"
,
menuitem2
:
"数据源"
,
menuitem14
:
"系统"
,
menuitem1
:
"实体"
,
menuitem1
:
"实体"
,
menuitem9
:
"模型"
,
menuitem9
:
"模型"
,
menuitem4
:
"规则"
,
menuitem4
:
"规则"
,
...
...
app_web/src/locale/lang/zh-CN.ts
浏览文件 @
bf0a12d0
...
@@ -143,6 +143,7 @@ export default {
...
@@ -143,6 +143,7 @@ export default {
dstindex
:
{
dstindex
:
{
menuitem3
:
"模型"
,
menuitem3
:
"模型"
,
menuitem2
:
"数据源"
,
menuitem2
:
"数据源"
,
menuitem14
:
"系统"
,
menuitem1
:
"实体"
,
menuitem1
:
"实体"
,
menuitem9
:
"模型"
,
menuitem9
:
"模型"
,
menuitem4
:
"规则"
,
menuitem4
:
"规则"
,
...
...
app_web/src/locale/lanres/entities/dabuild/dabuild_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -71,6 +71,7 @@ export default {
...
@@ -71,6 +71,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_buildname_like
:
"名称(文本包含(%))"
,
n_buildname_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型名称(文本包含(%))"
,
n_modelname_like
:
"模型名称(文本包含(%))"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dabuild/dabuild_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -70,6 +70,7 @@ export default {
...
@@ -70,6 +70,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_buildname_like
:
"名称(文本包含(%))"
,
n_buildname_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型名称(文本包含(%))"
,
n_modelname_like
:
"模型名称(文本包含(%))"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dachart/dachart_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -53,6 +53,7 @@ export default {
...
@@ -53,6 +53,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_chartname_like
:
"名称(%)"
,
n_chartname_like
:
"名称(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dachart/dachart_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -52,6 +52,7 @@ export default {
...
@@ -52,6 +52,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_chartname_like
:
"名称(%)"
,
n_chartname_like
:
"名称(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dareport/dareport_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -53,6 +53,7 @@ export default {
...
@@ -53,6 +53,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_reportname_like
:
"名称(%)"
,
n_reportname_like
:
"名称(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dareport/dareport_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -52,6 +52,7 @@ export default {
...
@@ -52,6 +52,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_reportname_like
:
"名称(%)"
,
n_reportname_like
:
"名称(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/dst-system/dst-system_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -62,6 +62,64 @@ export default {
...
@@ -62,6 +62,64 @@ export default {
uiactions
:
{
uiactions
:
{
},
},
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem16
:
{
caption
:
"其它"
,
tip
:
"其它"
,
},
tbitem21
:
{
caption
:
"Export Data Model"
,
tip
:
"导出数据模型"
,
},
tbitem23
:
{
caption
:
"数据导入"
,
tip
:
"数据导入"
,
},
tbitem17
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
tbitem18
:
{
caption
:
"Help"
,
tip
:
"Help"
,
},
},
editviewtoolbar_toolbar
:
{
editviewtoolbar_toolbar
:
{
tbitem3
:
{
tbitem3
:
{
caption
:
"Save"
,
caption
:
"Save"
,
...
@@ -128,62 +186,4 @@ export default {
...
@@ -128,62 +186,4 @@ export default {
tip
:
"Help"
,
tip
:
"Help"
,
},
},
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem16
:
{
caption
:
"其它"
,
tip
:
"其它"
,
},
tbitem21
:
{
caption
:
"Export Data Model"
,
tip
:
"导出数据模型"
,
},
tbitem23
:
{
caption
:
"数据导入"
,
tip
:
"数据导入"
,
},
tbitem17
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
tbitem18
:
{
caption
:
"Help"
,
tip
:
"Help"
,
},
},
};
};
\ No newline at end of file
app_web/src/locale/lanres/entities/dst-system/dst-system_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -61,6 +61,64 @@ export default {
...
@@ -61,6 +61,64 @@ export default {
uiactions
:
{
uiactions
:
{
},
},
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem16
:
{
caption
:
"其它"
,
tip
:
"其它"
,
},
tbitem21
:
{
caption
:
"导出数据模型"
,
tip
:
"导出数据模型"
,
},
tbitem23
:
{
caption
:
"数据导入"
,
tip
:
"数据导入"
,
},
tbitem17
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
tbitem18
:
{
caption
:
"帮助"
,
tip
:
"帮助"
,
},
},
editviewtoolbar_toolbar
:
{
editviewtoolbar_toolbar
:
{
tbitem3
:
{
tbitem3
:
{
caption
:
"保存"
,
caption
:
"保存"
,
...
@@ -127,62 +185,4 @@ export default {
...
@@ -127,62 +185,4 @@ export default {
tip
:
"帮助"
,
tip
:
"帮助"
,
},
},
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem16
:
{
caption
:
"其它"
,
tip
:
"其它"
,
},
tbitem21
:
{
caption
:
"导出数据模型"
,
tip
:
"导出数据模型"
,
},
tbitem23
:
{
caption
:
"数据导入"
,
tip
:
"数据导入"
,
},
tbitem17
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
tbitem18
:
{
caption
:
"帮助"
,
tip
:
"帮助"
,
},
},
};
};
\ No newline at end of file
app_web/src/locale/lanres/entities/exec-log/exec-log_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -67,6 +67,7 @@ export default {
...
@@ -67,6 +67,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_ru_execlogname_like
:
"规则执行批次(%)"
,
n_ru_execlogname_like
:
"规则执行批次(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/exec-log/exec-log_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -66,6 +66,7 @@ export default {
...
@@ -66,6 +66,7 @@ export default {
details
:
{
details
:
{
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_ru_execlogname_like
:
"规则执行批次(%)"
,
n_ru_execlogname_like
:
"规则执行批次(%)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/exec-result/exec-result_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -85,6 +85,9 @@ export default {
...
@@ -85,6 +85,9 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_ru_execresultname_like
:
"规则执行结果描述(文本包含(%))"
,
n_ru_execresultname_like
:
"规则执行结果描述(文本包含(%))"
,
n_rulename_like
:
"规则标识(文本包含(%))"
,
n_rulename_like
:
"规则标识(文本包含(%))"
,
n_rulename_eq
:
"规则标识(=)"
,
n_ruleid_eq
:
"规则标识(=)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/exec-result/exec-result_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -84,6 +84,9 @@ export default {
...
@@ -84,6 +84,9 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_ru_execresultname_like
:
"规则执行结果描述(文本包含(%))"
,
n_ru_execresultname_like
:
"规则执行结果描述(文本包含(%))"
,
n_rulename_like
:
"规则标识(文本包含(%))"
,
n_rulename_like
:
"规则标识(文本包含(%))"
,
n_rulename_eq
:
"规则标识(=)"
,
n_ruleid_eq
:
"规则标识(=)"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/rule-engine/rule-engine_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -59,6 +59,7 @@ export default {
...
@@ -59,6 +59,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_enginename_like
:
"名称(文本包含(%))"
,
n_enginename_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_systemid_eq
:
"系统(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/rule-engine/rule-engine_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -58,6 +58,7 @@ export default {
...
@@ -58,6 +58,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_enginename_like
:
"名称(文本包含(%))"
,
n_enginename_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_systemid_eq
:
"系统(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/rule-item/rule-item_en_US.ts
浏览文件 @
bf0a12d0
...
@@ -86,6 +86,7 @@ export default {
...
@@ -86,6 +86,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_rulename_like
:
"名称(文本包含(%))"
,
n_rulename_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/locale/lanres/entities/rule-item/rule-item_zh_CN.ts
浏览文件 @
bf0a12d0
...
@@ -85,6 +85,7 @@ export default {
...
@@ -85,6 +85,7 @@ export default {
formpage1
:
"常规条件"
,
formpage1
:
"常规条件"
,
n_rulename_like
:
"名称(文本包含(%))"
,
n_rulename_like
:
"名称(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_modelname_like
:
"模型(文本包含(%))"
,
n_systemid_eq
:
"系统标识(=)"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
...
...
app_web/src/mock/app/dst-index-appmenu/dst-index-appmenu.ts
浏览文件 @
bf0a12d0
...
@@ -45,6 +45,24 @@ mock.onGet('v7/dst-indexappmenu').reply((config: any) => {
...
@@ -45,6 +45,24 @@ mock.onGet('v7/dst-indexappmenu').reply((config: any) => {
textcls
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc2'
,
appfunctag
:
'AppFunc2'
,
resourcetag
:
''
,
resourcetag
:
''
,
},
{
id
:
'36FFC4E0-AE22-4ECE-BA54-279C5AFB3442'
,
name
:
'menuitem14'
,
text
:
'系统'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'系统'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc12'
,
resourcetag
:
''
,
},
},
{
{
id
:
'b9f1d604d37a54d51660aee235359816'
,
id
:
'b9f1d604d37a54d51660aee235359816'
,
...
...
app_web/src/pages/lite/dst-index/page-register.ts
浏览文件 @
bf0a12d0
...
@@ -10,6 +10,7 @@ export const PageComponents = {
...
@@ -10,6 +10,7 @@ export const PageComponents = {
Vue
.
component
(
'meta-field-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-field-pickup-grid-view/meta-field-pickup-grid-view.vue'
));
Vue
.
component
(
'meta-field-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-field-pickup-grid-view/meta-field-pickup-grid-view.vue'
));
Vue
.
component
(
'rule-item-grid-view'
,
()
=>
import
(
'@pages/rule/rule-item-grid-view/rule-item-grid-view.vue'
));
Vue
.
component
(
'rule-item-grid-view'
,
()
=>
import
(
'@pages/rule/rule-item-grid-view/rule-item-grid-view.vue'
));
Vue
.
component
(
'dst-data-source-pickup-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-pickup-view/dst-data-source-pickup-view.vue'
));
Vue
.
component
(
'dst-data-source-pickup-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-pickup-view/dst-data-source-pickup-view.vue'
));
Vue
.
component
(
'dst-system-edit-view'
,
()
=>
import
(
'@pages/lite/dst-system-edit-view/dst-system-edit-view.vue'
));
Vue
.
component
(
'meta-model-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-model-pickup-grid-view/meta-model-pickup-grid-view.vue'
));
Vue
.
component
(
'meta-model-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-model-pickup-grid-view/meta-model-pickup-grid-view.vue'
));
Vue
.
component
(
'meta-relationship-edit-view'
,
()
=>
import
(
'@pages/lite/meta-relationship-edit-view/meta-relationship-edit-view.vue'
));
Vue
.
component
(
'meta-relationship-edit-view'
,
()
=>
import
(
'@pages/lite/meta-relationship-edit-view/meta-relationship-edit-view.vue'
));
Vue
.
component
(
'dabuild-grid-view'
,
()
=>
import
(
'@pages/analysis/dabuild-grid-view/dabuild-grid-view.vue'
));
Vue
.
component
(
'dabuild-grid-view'
,
()
=>
import
(
'@pages/analysis/dabuild-grid-view/dabuild-grid-view.vue'
));
...
@@ -23,6 +24,7 @@ export const PageComponents = {
...
@@ -23,6 +24,7 @@ export const PageComponents = {
Vue
.
component
(
'dst-data-source-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-pickup-grid-view/dst-data-source-pickup-grid-view.vue'
));
Vue
.
component
(
'dst-data-source-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-pickup-grid-view/dst-data-source-pickup-grid-view.vue'
));
Vue
.
component
(
'rule-engine-grid-view'
,
()
=>
import
(
'@pages/rule/rule-engine-grid-view/rule-engine-grid-view.vue'
));
Vue
.
component
(
'rule-engine-grid-view'
,
()
=>
import
(
'@pages/rule/rule-engine-grid-view/rule-engine-grid-view.vue'
));
Vue
.
component
(
'exec-log-grid-view'
,
()
=>
import
(
'@pages/rule/exec-log-grid-view/exec-log-grid-view.vue'
));
Vue
.
component
(
'exec-log-grid-view'
,
()
=>
import
(
'@pages/rule/exec-log-grid-view/exec-log-grid-view.vue'
));
Vue
.
component
(
'dst-system-grid-view'
,
()
=>
import
(
'@pages/lite/dst-system-grid-view/dst-system-grid-view.vue'
));
Vue
.
component
(
'rule-item-edit-view'
,
()
=>
import
(
'@pages/rule/rule-item-edit-view/rule-item-edit-view.vue'
));
Vue
.
component
(
'rule-item-edit-view'
,
()
=>
import
(
'@pages/rule/rule-item-edit-view/rule-item-edit-view.vue'
));
Vue
.
component
(
'dareport-edit-view'
,
()
=>
import
(
'@pages/analysis/dareport-edit-view/dareport-edit-view.vue'
));
Vue
.
component
(
'dareport-edit-view'
,
()
=>
import
(
'@pages/analysis/dareport-edit-view/dareport-edit-view.vue'
));
Vue
.
component
(
'meta-model-edit-view'
,
()
=>
import
(
'@pages/lite/meta-model-edit-view/meta-model-edit-view.vue'
));
Vue
.
component
(
'meta-model-edit-view'
,
()
=>
import
(
'@pages/lite/meta-model-edit-view/meta-model-edit-view.vue'
));
...
@@ -30,12 +32,12 @@ export const PageComponents = {
...
@@ -30,12 +32,12 @@ export const PageComponents = {
Vue
.
component
(
'meta-data-set-edit-view'
,
()
=>
import
(
'@pages/lite/meta-data-set-edit-view/meta-data-set-edit-view.vue'
));
Vue
.
component
(
'meta-data-set-edit-view'
,
()
=>
import
(
'@pages/lite/meta-data-set-edit-view/meta-data-set-edit-view.vue'
));
Vue
.
component
(
'dabuild-edit-view'
,
()
=>
import
(
'@pages/analysis/dabuild-edit-view/dabuild-edit-view.vue'
));
Vue
.
component
(
'dabuild-edit-view'
,
()
=>
import
(
'@pages/analysis/dabuild-edit-view/dabuild-edit-view.vue'
));
Vue
.
component
(
'meta-relationship-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
));
Vue
.
component
(
'meta-relationship-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
));
Vue
.
component
(
'dst-data-source-edit-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-edit-view/dst-data-source-edit-view.vue'
));
Vue
.
component
(
'meta-model-grid-view'
,
()
=>
import
(
'@pages/lite/meta-model-grid-view/meta-model-grid-view.vue'
));
Vue
.
component
(
'meta-model-grid-view'
,
()
=>
import
(
'@pages/lite/meta-model-grid-view/meta-model-grid-view.vue'
));
Vue
.
component
(
'dst-data-source-edit-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-edit-view/dst-data-source-edit-view.vue'
));
Vue
.
component
(
'meta-entity-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-entity-pickup-grid-view/meta-entity-pickup-grid-view.vue'
));
Vue
.
component
(
'meta-entity-pickup-grid-view'
,
()
=>
import
(
'@pages/lite/meta-entity-pickup-grid-view/meta-entity-pickup-grid-view.vue'
));
Vue
.
component
(
'rule-item-pickup-grid-view'
,
()
=>
import
(
'@pages/rule/rule-item-pickup-grid-view/rule-item-pickup-grid-view.vue'
));
Vue
.
component
(
'rule-item-pickup-grid-view'
,
()
=>
import
(
'@pages/rule/rule-item-pickup-grid-view/rule-item-pickup-grid-view.vue'
));
Vue
.
component
(
'rule-item-pickup-view'
,
()
=>
import
(
'@pages/rule/rule-item-pickup-view/rule-item-pickup-view.vue'
));
Vue
.
component
(
'meta-entity-edit-view'
,
()
=>
import
(
'@pages/lite/meta-entity-edit-view/meta-entity-edit-view.vue'
));
Vue
.
component
(
'meta-entity-edit-view'
,
()
=>
import
(
'@pages/lite/meta-entity-edit-view/meta-entity-edit-view.vue'
));
Vue
.
component
(
'rule-item-pickup-view'
,
()
=>
import
(
'@pages/rule/rule-item-pickup-view/rule-item-pickup-view.vue'
));
Vue
.
component
(
'dst-data-source-grid-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-grid-view/dst-data-source-grid-view.vue'
));
Vue
.
component
(
'dst-data-source-grid-view'
,
()
=>
import
(
'@pages/lite/dst-data-source-grid-view/dst-data-source-grid-view.vue'
));
Vue
.
component
(
'meta-field-edit-grid-view'
,
()
=>
import
(
'@pages/lite/meta-field-edit-grid-view/meta-field-edit-grid-view.vue'
));
Vue
.
component
(
'meta-field-edit-grid-view'
,
()
=>
import
(
'@pages/lite/meta-field-edit-grid-view/meta-field-edit-grid-view.vue'
));
Vue
.
component
(
'dametric-edit-view'
,
()
=>
import
(
'@pages/analysis/dametric-edit-view/dametric-edit-view.vue'
));
Vue
.
component
(
'dametric-edit-view'
,
()
=>
import
(
'@pages/analysis/dametric-edit-view/dametric-edit-view.vue'
));
...
...
app_web/src/pages/lite/dst-index/router.ts
浏览文件 @
bf0a12d0
...
@@ -299,6 +299,20 @@ const router = new Router({
...
@@ -299,6 +299,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/lite/dst-data-source-pickup-view/dst-data-source-pickup-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/dst-data-source-pickup-view/dst-data-source-pickup-view.vue'
),
},
},
{
path
:
'dstsystems/:dstsystem?/editview/:editview?'
,
meta
:
{
caption
:
'entities.dstsystem.views.editview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/lite/dst-system-edit-view/dst-system-edit-view.vue'
),
},
{
{
path
:
'metamodels/:metamodel?/pickupgridview/:pickupgridview?'
,
path
:
'metamodels/:metamodel?/pickupgridview/:pickupgridview?'
,
meta
:
{
meta
:
{
...
@@ -573,6 +587,20 @@ const router = new Router({
...
@@ -573,6 +587,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/rule/exec-log-grid-view/exec-log-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/rule/exec-log-grid-view/exec-log-grid-view.vue'
),
},
},
{
path
:
'dstsystems/:dstsystem?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.dstsystem.views.gridview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/lite/dst-system-grid-view/dst-system-grid-view.vue'
),
},
{
{
path
:
'ruleitems/:ruleitem?/editview/:editview?'
,
path
:
'ruleitems/:ruleitem?/editview/:editview?'
,
meta
:
{
meta
:
{
...
@@ -765,32 +793,32 @@ const router = new Router({
...
@@ -765,32 +793,32 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
),
},
},
{
{
path
:
'
dstdatasources/:dstdatasource?/editview/:edit
view?'
,
path
:
'
metamodels/:metamodel?/gridview/:grid
view?'
,
meta
:
{
meta
:
{
caption
:
'entities.
dstdatasource.views.edit
view.caption'
,
caption
:
'entities.
metamodel.views.grid
view.caption'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'
dstdatasources'
,
parameterName
:
'dstdatasource
'
},
{
pathName
:
'
metamodels'
,
parameterName
:
'metamodel
'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
],
],
requireAuth
:
true
,
requireAuth
:
true
,
},
},
component
:
()
=>
import
(
'@pages/lite/
dst-data-source-edit-view/dst-data-source-edit
-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/
meta-model-grid-view/meta-model-grid
-view.vue'
),
},
},
{
{
path
:
'
metamodels/:metamodel?/gridview/:grid
view?'
,
path
:
'
dstdatasources/:dstdatasource?/editview/:edit
view?'
,
meta
:
{
meta
:
{
caption
:
'entities.
metamodel.views.grid
view.caption'
,
caption
:
'entities.
dstdatasource.views.edit
view.caption'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'
metamodels'
,
parameterName
:
'metamodel
'
},
{
pathName
:
'
dstdatasources'
,
parameterName
:
'dstdatasource
'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
],
],
requireAuth
:
true
,
requireAuth
:
true
,
},
},
component
:
()
=>
import
(
'@pages/lite/
meta-model-grid-view/meta-model-grid
-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/
dst-data-source-edit-view/dst-data-source-edit
-view.vue'
),
},
},
{
{
path
:
'dstsystems/:dstsystem?/metaentities/:metaentity?/pickupgridview/:pickupgridview?'
,
path
:
'dstsystems/:dstsystem?/metaentities/:metaentity?/pickupgridview/:pickupgridview?'
,
...
@@ -836,27 +864,27 @@ const router = new Router({
...
@@ -836,27 +864,27 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/rule/rule-item-pickup-grid-view/rule-item-pickup-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/rule/rule-item-pickup-grid-view/rule-item-pickup-grid-view.vue'
),
},
},
{
{
path
:
'
ruleitems/:ruleitem?/pickupview/:pickup
view?'
,
path
:
'
dstsystems/:dstsystem?/metaentities/:metaentity?/editview/:edit
view?'
,
meta
:
{
meta
:
{
caption
:
'entities.
ruleitem.views.pickup
view.caption'
,
caption
:
'entities.
metaentity.views.edit
view.caption'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'ruleitems'
,
parameterName
:
'ruleitem'
},
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
{
pathName
:
'metaentities'
,
parameterName
:
'metaentity'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
],
requireAuth
:
true
,
requireAuth
:
true
,
},
},
component
:
()
=>
import
(
'@pages/
rule/rule-item-pickup-view/rule-item-pickup
-view.vue'
),
component
:
()
=>
import
(
'@pages/
lite/meta-entity-edit-view/meta-entity-edit
-view.vue'
),
},
},
{
{
path
:
'
dstsystems/:dstsystem?/
metaentities/:metaentity?/editview/:editview?'
,
path
:
'metaentities/:metaentity?/editview/:editview?'
,
meta
:
{
meta
:
{
caption
:
'entities.metaentity.views.editview.caption'
,
caption
:
'entities.metaentity.views.editview.caption'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'metaentities'
,
parameterName
:
'metaentity'
},
{
pathName
:
'metaentities'
,
parameterName
:
'metaentity'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
],
...
@@ -865,18 +893,18 @@ const router = new Router({
...
@@ -865,18 +893,18 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/lite/meta-entity-edit-view/meta-entity-edit-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/meta-entity-edit-view/meta-entity-edit-view.vue'
),
},
},
{
{
path
:
'
metaentities/:metaentity?/editview/:edit
view?'
,
path
:
'
ruleitems/:ruleitem?/pickupview/:pickup
view?'
,
meta
:
{
meta
:
{
caption
:
'entities.
metaentity.views.edit
view.caption'
,
caption
:
'entities.
ruleitem.views.pickup
view.caption'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'dstindex'
,
parameterName
:
'dstindex'
},
{
pathName
:
'
metaentities'
,
parameterName
:
'metaentity
'
},
{
pathName
:
'
ruleitems'
,
parameterName
:
'ruleitem
'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
{
pathName
:
'
pickupview'
,
parameterName
:
'pickup
view'
},
],
],
requireAuth
:
true
,
requireAuth
:
true
,
},
},
component
:
()
=>
import
(
'@pages/
lite/meta-entity-edit-view/meta-entity-edit
-view.vue'
),
component
:
()
=>
import
(
'@pages/
rule/rule-item-pickup-view/rule-item-pickup
-view.vue'
),
},
},
{
{
path
:
'dstdatasources/:dstdatasource?/gridview/:gridview?'
,
path
:
'dstdatasources/:dstdatasource?/gridview/:gridview?'
,
...
@@ -1146,6 +1174,19 @@ const router = new Router({
...
@@ -1146,6 +1174,19 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/lite/meta-relationship-pickup-grid-view/meta-relationship-pickup-grid-view.vue'
),
},
},
{
path
:
'/dstsystems/:dstsystem?/editview/:editview?'
,
meta
:
{
caption
:
'entities.dstsystem.views.editview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/lite/dst-system-edit-view/dst-system-edit-view.vue'
),
},
{
{
path
:
'/metamodules/:metamodule?/pickupgridview/:pickupgridview?'
,
path
:
'/metamodules/:metamodule?/pickupgridview/:pickupgridview?'
,
meta
:
{
meta
:
{
...
@@ -1643,6 +1684,19 @@ const router = new Router({
...
@@ -1643,6 +1684,19 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/analysis/dareport-grid-view/dareport-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/analysis/dareport-grid-view/dareport-grid-view.vue'
),
},
},
{
path
:
'/dstsystems/:dstsystem?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.dstsystem.views.gridview.caption'
,
info
:
''
,
parameters
:
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/lite/dst-system-grid-view/dst-system-grid-view.vue'
),
},
{
{
path
:
'/dabuilds/:dabuild?/dametrics/:dametric?/editview/:editview?'
,
path
:
'/dabuilds/:dabuild?/dametrics/:dametric?/editview/:editview?'
,
meta
:
{
meta
:
{
...
...
app_web/src/pages/lite/dst-system-edit-view/dst-system-edit-view-base.vue
0 → 100644
浏览文件 @
bf0a12d0
<
template
>
<div
class=
"view-container deeditview dst-system-edit-view"
>
<app-studioaction
:viewTitle=
"$t(model.srfCaption)"
viewName=
"dstsystemeditview"
></app-studioaction>
<card
class=
'view-card '
:disHover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srfCaption
)
}}
</span>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-save'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem7.visabled"
:disabled=
"toolBarModels.tbitem7.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem7' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem7.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem7.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem12.visabled"
:disabled=
"toolBarModels.tbitem12.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem12' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem12.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem12.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem14.visabled"
:disabled=
"toolBarModels.tbitem14.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem14' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem14.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem14.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<dropdown
v-show=
"toolBarModels.tbitem18.visabled"
trigger=
'click'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
class=
''
>
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
<icon
type=
"ios-arrow-down"
></icon>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
</tooltip>
<dropdown-menu
slot=
'list'
>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem5.visabled"
:disabled=
"toolBarModels.tbitem5.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem5' }, $event)">
<i
class=
'sx-tb-saveandclose'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem5.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem5.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'sx-tb-saveandnew'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-fast-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem24.visabled"
:disabled=
"toolBarModels.tbitem24.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem24' }, $event)">
<i
class=
'fa fa-step-backward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem24.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem25.visabled"
:disabled=
"toolBarModels.tbitem25.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem25' }, $event)">
<i
class=
'fa fa-step-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem25.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem26.visabled"
:disabled=
"toolBarModels.tbitem26.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem26' }, $event)">
<i
class=
'fa fa-fast-forward'
></i>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem26.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem22.visabled"
:disabled=
"toolBarModels.tbitem22.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem22' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem22.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.editviewtoolbar_toolbar.tbitem22.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
</dropdown-menu>
</dropdown>
</div>
</div>
<div
class=
'view-top-messages'
>
</div>
<div
class=
"content-container"
>
<div
class=
'view-body-messages'
>
</div>
<view
_form
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:autosave=
"false"
:viewtag=
"viewtag"
:showBusyIndicator=
"true"
updateAction=
"Update"
removeAction=
"Remove"
loaddraftAction=
"GetDraft"
loadAction=
"Get"
createAction=
"Create"
WFSubmitAction=
""
WFStartAction=
""
style=
''
name=
"form"
ref=
'form'
@
save=
"form_save($event)"
@
remove=
"form_remove($event)"
@
load=
"form_load($event)"
@
closeview=
"closeView($event)"
>
</view
_form
>
</div>
<div
class=
'view-bottom-messages'
>
</div>
</card>
</div>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Inject
}
from
'vue-property-decorator'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
DstSystemAuthService
from
'@/authservice/dst-system/dst-system-auth-service'
;
import
EditViewEngine
from
'@engine/view/edit-view-engine'
;
import
DstSystemUIService
from
'@/uiservice/dst-system/dst-system-ui-service'
;
@
Component
({
components
:
{
},
})
export
default
class
DstSystemEditViewBase
extends
Vue
{
/**
* 实体服务对象
*
* @type {DstSystemService}
* @memberof DstSystemEditViewBase
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
;
/**
* 实体UI服务对象
*
* @type DstSystemUIService
* @memberof DstSystemEditViewBase
*/
public
appUIService
:
DstSystemUIService
=
new
DstSystemUIService
(
this
.
$store
);
/**
* 数据变化
*
* @param {*} val
* @returns {*}
* @memberof DstSystemEditViewBase
*/
@
Emit
()
public
viewDatasChange
(
val
:
any
):
any
{
return
val
;
}
/**
* 传入视图上下文
*
* @type {string}
* @memberof DstSystemEditViewBase
*/
@
Prop
()
public
viewdata
!
:
string
;
/**
* 传入视图参数
*
* @type {string}
* @memberof DstSystemEditViewBase
*/
@
Prop
()
public
viewparam
!
:
string
;
/**
* 视图默认使用
*
* @type {boolean}
* @memberof DstSystemEditViewBase
*/
@
Prop
({
default
:
true
})
public
viewDefaultUsage
!
:
boolean
;
/**
* 视图默认使用
*
* @type {string}
* @memberof DstSystemEditViewBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof DstSystemEditViewBase
*/
public
viewtag
:
string
=
'14f8bfb549eedacb25bad2af453c5ad3'
;
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
customViewNavContexts
:
any
=
{
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
customViewParams
:
any
=
{
};
/**
* 视图模型数据
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
model
:
any
=
{
srfCaption
:
'entities.dstsystem.views.editview.caption'
,
srfTitle
:
'entities.dstsystem.views.editview.title'
,
srfSubTitle
:
'entities.dstsystem.views.editview.subtitle'
,
dataInfo
:
''
}
/**
* 视图参数变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DstSystemEditViewBase
*/
@
Watch
(
'viewparam'
,{
immediate
:
true
,
deep
:
true
})
onParamData
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
this
.
viewparams
=
{};
if
(
typeof
newVal
==
'string'
)
{
Object
.
assign
(
this
.
viewparams
,
JSON
.
parse
(
this
.
viewparam
));
}
else
{
this
.
viewparams
=
Util
.
deepCopy
(
this
.
viewparam
);
}
}
}
/**
* 处理应用上下文变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DstSystemEditViewBase
*/
@
Watch
(
'viewdata'
)
onViewData
(
newVal
:
any
,
oldVal
:
any
)
{
const
_this
:
any
=
this
;
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
engine
)
{
this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
();
_this
.
engine
.
load
();
});
}
else
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
)
{
_this
.
refresh
();
}
}
/**
* 容器模型
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_form
:
{
name
:
'form'
,
type
:
'FORM'
},
};
/**
* 视图刷新
*
* @param {*} args
* @memberof DstSystemEditViewBase
*/
public
refresh
(
args
?:
any
):
void
{
const
refs
:
any
=
this
.
$refs
;
if
(
refs
&&
refs
.
form
)
{
refs
.
form
.
refresh
();
}
}
/**
* 计数器刷新
*
* @memberof DstSystemEditViewBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 视图状态订阅对象
*
* @public
* @type {Subject<{action: string, data: any}>}
* @memberof DstSystemEditViewBase
*/
public
viewState
:
Subject
<
ViewState
>
=
new
Subject
();
/**
* 工具栏模型
*
* @type {*}
* @memberof DstSystemEditView
*/
public
toolBarModels
:
any
=
{
tbitem3
:
{
name
:
'tbitem3'
,
actiontarget
:
'NONE'
,
caption
:
'保存'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Save'
,
target
:
''
}
},
tbitem6
:
{
name
:
'tbitem6'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem7
:
{
name
:
'tbitem7'
,
actiontarget
:
'NONE'
,
caption
:
'删除并关闭'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'RemoveAndExit'
,
target
:
'SINGLEKEY'
}
},
tbitem8
:
{
name
:
'tbitem8'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem12
:
{
name
:
'tbitem12'
,
actiontarget
:
'NONE'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
tbitem13
:
{
name
:
'tbitem13'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem14
:
{
name
:
'tbitem14'
,
actiontarget
:
'NONE'
,
caption
:
'拷贝'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
target
:
'SINGLEKEY'
}
},
tbitem16
:
{
name
:
'tbitem16'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem18
:
{
name
:
'tbitem18'
,
caption
:
'其它'
,
disabled
:
false
,
type
:
'ITEMS'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem5
:
{
name
:
'tbitem5'
,
actiontarget
:
'NONE'
,
caption
:
'保存并关闭'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'SaveAndExit'
,
target
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
actiontarget
:
'NONE'
,
caption
:
'保存并新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'SaveAndNew'
,
target
:
''
}
},
tbitem23
:
{
name
:
'tbitem23'
,
actiontarget
:
'NONE'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'FirstRecord'
,
target
:
'SINGLEKEY'
}
},
tbitem24
:
{
name
:
'tbitem24'
,
actiontarget
:
'NONE'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'PrevRecord'
,
target
:
'SINGLEKEY'
}
},
tbitem25
:
{
name
:
'tbitem25'
,
actiontarget
:
'NONE'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'NextRecord'
,
target
:
'SINGLEKEY'
}
},
tbitem26
:
{
name
:
'tbitem26'
,
actiontarget
:
'NONE'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'LastRecord'
,
target
:
'SINGLEKEY'
}
},
tbitem22
:
{
name
:
'tbitem22'
,
actiontarget
:
'NONE'
,
caption
:
'帮助'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Help'
,
target
:
''
}
},
};
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof DstSystemEditViewBase
*/
public
engine
:
EditViewEngine
=
new
EditViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof DstSystemEditViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
form
:
this
.
$refs
.
form
,
p2k
:
'0'
,
keyPSDEField
:
'dstsystem'
,
majorPSDEField
:
'pssystemname'
,
isLoadDefault
:
true
,
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
navDataService
=
NavDataService
.
getInstance
(
this
.
$store
);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DstSystemEditViewBase
*/
public
serviceStateEvent
:
Subscription
|
undefined
;
/**
* 门户部件状态对象
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
@
Prop
()
public
portletState
?:
any
;
/**
* 门户部件状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DstSystemEditViewBase
*/
public
portletStateEvent
:
Subscription
|
undefined
;
/**
* 应用上下文
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
context
:
any
=
{};
/**
* 视图参数
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
viewparams
:
any
=
{};
/**
* 视图缓存数据
*
* @type {*}
* @memberof DstSystemEditViewBase
*/
public
viewCacheData
:
any
;
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof DstSystemEditViewBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 解析视图参数
*
* @public
* @memberof DstSystemEditViewBase
*/
public
parseViewParam
(
inputvalue
:
any
=
null
):
void
{
for
(
let
key
in
this
.
context
){
delete
this
.
context
[
key
];
}
if
(
this
.
$store
.
getters
.
getAppData
()
&&
this
.
$store
.
getters
.
getAppData
().
context
){
Object
.
assign
(
this
.
context
,
this
.
$store
.
getters
.
getAppData
().
context
);
}
if
(
!
this
.
viewDefaultUsage
&&
this
.
viewdata
&&
!
Object
.
is
(
this
.
viewdata
,
''
))
{
if
(
typeof
this
.
viewdata
==
'string'
)
{
Object
.
assign
(
this
.
context
,
JSON
.
parse
(
this
.
viewdata
));
}
if
(
this
.
context
&&
this
.
context
.
srfparentdename
){
Object
.
assign
(
this
.
viewparams
,{
srfparentdename
:
this
.
context
.
srfparentdename
});
}
if
(
this
.
context
&&
this
.
context
.
srfparentkey
){
Object
.
assign
(
this
.
viewparams
,{
srfparentkey
:
this
.
context
.
srfparentkey
});
}
this
.
handleCustomViewData
();
return
;
}
const
path
=
(
this
.
$route
.
matched
[
this
.
$route
.
matched
.
length
-
1
]).
path
;
const
keys
:
Array
<
any
>
=
[];
const
curReg
=
this
.
$pathToRegExp
.
pathToRegexp
(
path
,
keys
);
const
matchArray
=
curReg
.
exec
(
this
.
$route
.
path
);
let
tempValue
:
Object
=
{};
keys
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
.
name
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
this
.
$viewTool
.
formatRouteParams
(
tempValue
,
this
.
$route
,
this
.
context
,
this
.
viewparams
);
if
(
inputvalue
){
Object
.
assign
(
this
.
context
,{
'dstsystem'
:
inputvalue
});
}
//初始化视图唯一标识
Object
.
assign
(
this
.
context
,{
srfsessionid
:
this
.
$util
.
createUUID
()});
this
.
handleCustomViewData
();
//初始化导航数据
this
.
initNavDataWithRoute
();
}
/**
* 处理自定义视图数据
*
* @memberof DstSystemEditViewBase
*/
public
handleCustomViewData
(){
if
(
Object
.
keys
(
this
.
customViewNavContexts
).
length
>
0
){
Object
.
keys
(
this
.
customViewNavContexts
).
forEach
((
item
:
any
)
=>
{
let
tempContext
:
any
=
{};
let
curNavContext
:
any
=
this
.
customViewNavContexts
[
item
];
this
.
handleCustomDataLogic
(
curNavContext
,
tempContext
,
item
);
Object
.
assign
(
this
.
context
,
tempContext
);
})
}
if
(
Object
.
keys
(
this
.
customViewParams
).
length
>
0
){
Object
.
keys
(
this
.
customViewParams
).
forEach
((
item
:
any
)
=>
{
let
tempParam
:
any
=
{};
let
curNavParam
:
any
=
this
.
customViewParams
[
item
];
this
.
handleCustomDataLogic
(
curNavParam
,
tempParam
,
item
);
Object
.
assign
(
this
.
viewparams
,
tempParam
);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof DstSystemEditViewBase
*/
public
handleCustomDataLogic
(
curNavData
:
any
,
tempData
:
any
,
item
:
string
){
// 直接值直接赋值
if
(
curNavData
.
isRawValue
){
if
(
Object
.
is
(
curNavData
.
value
,
"null"
)
||
Object
.
is
(
curNavData
.
value
,
""
)){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
curNavData
.
value
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
else
{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if
(
this
.
context
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
context
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
if
(
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
}
}
/**
* 初始化导航数据(路由模式)
*
* @memberof DstSystemEditViewBase
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'dst-system-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
dstsystem
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof DstSystemEditViewBase
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'dst-system-edit-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
dstsystem
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
/**
* Vue声明周期
*
* @memberof DstSystemEditViewBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof DstSystemEditViewBase
*/
public
afterCreated
(){
let
_this
:
any
=
this
;
const
secondtag
=
_this
.
$util
.
createUUID
();
_this
.
$store
.
commit
(
'viewaction/createdView'
,
{
viewtag
:
_this
.
viewtag
,
secondtag
:
secondtag
});
_this
.
viewtag
=
secondtag
;
_this
.
parseViewParam
();
_this
.
serviceStateEvent
=
_this
.
navDataService
.
serviceState
.
subscribe
(({
action
,
name
,
data
}:{
action
:
string
,
name
:
any
,
data
:
any
})
=>
{
if
(
!
Object
.
is
(
name
,
'dst-system-edit-view'
)){
return
;
}
if
(
Object
.
is
(
action
,
'viewrefresh'
))
{
_this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
(
data
);
if
(
_this
.
engine
){
_this
.
engine
.
load
();
}
});
}
});
if
(
_this
.
portletState
){
_this
.
portletStateEvent
=
_this
.
portletState
.
subscribe
((
res
:
any
)
=>
{
if
(
!
Object
.
is
(
res
.
name
,
'DstSystemEditView'
)){
return
;
}
if
(
Object
.
is
(
res
.
action
,
'refresh'
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
){
_this
.
refresh
();
}
})
}
}
/**
* 销毁之前
*
* @memberof DstSystemEditViewBase
*/
public
beforeDestroy
()
{
this
.
$store
.
commit
(
'viewaction/removeView'
,
this
.
viewtag
);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof DstSystemEditViewBase
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* 执行mounted后的逻辑
*
* @memberof DstSystemEditViewBase
*/
public
afterMounted
(){
const
_this
:
any
=
this
;
_this
.
engineInit
();
if
(
_this
.
loadModel
&&
_this
.
loadModel
instanceof
Function
)
{
_this
.
loadModel
();
}
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemEditViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
)
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem7'
))
{
this
.
toolbar_tbitem7_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem9'
))
{
this
.
toolbar_tbitem9_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem10'
))
{
this
.
toolbar_tbitem10_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem12'
))
{
this
.
toolbar_tbitem12_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem14'
))
{
this
.
toolbar_tbitem14_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem5'
))
{
this
.
toolbar_tbitem5_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem15'
))
{
this
.
toolbar_tbitem15_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem23'
))
{
this
.
toolbar_tbitem23_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem24'
))
{
this
.
toolbar_tbitem24_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem25'
))
{
this
.
toolbar_tbitem25_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem26'
))
{
this
.
toolbar_tbitem26_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem22'
))
{
this
.
toolbar_tbitem22_click
(
null
,
''
,
$event2
);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemEditViewBase
*/
public
form_save
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'save'
,
$event
);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemEditViewBase
*/
public
form_remove
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'remove'
,
$event
);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemEditViewBase
*/
public
form_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem3_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Save
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem7_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
RemoveAndExit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem9_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndStart
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem10_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ViewWFStep
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem12_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
New
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem5_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndExit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem15_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem4_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndNew
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem23_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
FirstRecord
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem24_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
PrevRecord
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem25_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
NextRecord
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem26_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
LastRecord
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem22_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Help
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 保存
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
Save
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
// 界面行为容器对象 _this
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
save
instanceof
Function
)
{
xData
.
save
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
_this
.
$emit
(
'viewdataschange'
,
[{
...
response
.
data
}]);
});
}
else
if
(
_this
.
save
&&
_this
.
save
instanceof
Function
)
{
_this
.
save
();
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
RemoveAndExit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
removeAndExit
instanceof
Function
)
{
xData
.
removeAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
else
if
(
_this
.
removeAndExit
&&
_this
.
removeAndExit
instanceof
Function
)
{
_this
.
removeAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
}
/**
* 开始流程
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
SaveAndStart
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
wfstart
instanceof
Function
))
{
return
;
}
xData
.
wfstart
(
args
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
window
.
parent
){
window
.
parent
.
postMessage
({
...
_data
},
'*'
);
}
if
(
_this
.
viewdata
)
{
_this
.
$emit
(
'viewdataschange'
,
[{
...
_data
}]);
_this
.
$emit
(
'close'
);
}
else
if
(
this
.
$tabPageExp
)
{
this
.
$tabPageExp
.
onClose
(
this
.
$route
.
fullPath
);
}
});
}
/**
* 当前流程步骤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
ViewWFStep
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
wfsubmit
instanceof
Function
))
{
return
;
}
xData
.
wfsubmit
(
args
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
_this
.
viewdata
)
{
_this
.
$emit
(
'viewdataschange'
,
[{
...
_data
}]);
_this
.
$emit
(
'close'
);
}
else
if
(
_this
.
$tabPageExp
)
{
_this
.
$tabPageExp
.
onClose
(
_this
.
$route
.
fullPath
);
}
});
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newdata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
Copy
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
dstsystem
:
args
[
0
].
dstsystem
});
}
if
(
!
params
)
params
=
{};
Object
.
assign
(
params
,{
copymode
:
true
});
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
Object
.
assign
(
this
.
viewparams
,{
copymode
:
true
});
}
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
SaveAndExit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
saveAndExit
instanceof
Function
)
{
xData
.
saveAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
else
if
(
_this
.
saveAndExit
&&
_this
.
saveAndExit
instanceof
Function
)
{
_this
.
saveAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
Print
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
print
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
print
();
}
/**
* 保存并新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
SaveAndNew
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
saveAndNew
instanceof
Function
))
{
return
;
}
xData
.
saveAndNew
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
_this
.
$emit
(
'viewdataschange'
,
JSON
.
stringify
({
status
:
'error'
,
action
:
'saveAndNew'
}));
return
;
}
_this
.
$emit
(
'viewdataschange'
,
JSON
.
stringify
({
status
:
'success'
,
action
:
'saveAndNew'
,
data
:
response
.
data
}));
if
(
xData
.
autoLoad
instanceof
Function
)
{
xData
.
autoLoad
();
}
});
}
/**
* 第一个记录
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
FirstRecord
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
let
navDataService
:
any
=
new
NavDataService
(
this
.
$store
);
let
allNavData
:
any
=
Object
.
is
(
this
.
navModel
,
"route"
)?
navDataService
.
getPreNavDataById
(
'dst-system-edit-view'
):
navDataService
.
getPreNavDataByTag
(
_this
.
viewtag
);
if
(
allNavData
&&
allNavData
.
data
&&
allNavData
.
data
.
length
>
0
){
if
(
_this
.
parseViewParam
&&
_this
.
engine
){
_this
.
parseViewParam
(
allNavData
.
data
[
0
].
srfkey
);
_this
.
engine
.
load
();
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'请确认操作路径是否正确'
});
}
}
/**
* 上一个记录
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
PrevRecord
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
||
!
args
[
0
].
srfkey
){
return
;
}
let
_this
:
any
=
this
;
let
navDataService
:
any
=
new
NavDataService
(
this
.
$store
);
let
allNavData
:
any
=
Object
.
is
(
this
.
navModel
,
"route"
)?
navDataService
.
getPreNavDataById
(
'dst-system-edit-view'
):
navDataService
.
getPreNavDataByTag
(
_this
.
viewtag
);
if
(
allNavData
&&
allNavData
.
data
&&
allNavData
.
data
.
length
>
0
){
let
computedIndex
:
any
;
for
(
let
i
=
0
;
i
<
allNavData
.
data
.
length
;
i
++
){
if
(
allNavData
.
data
[
i
].
srfkey
===
args
[
0
].
srfkey
){
computedIndex
=
i
-
1
;
break
;
}
}
if
(
computedIndex
>=
0
){
if
(
_this
.
parseViewParam
&&
_this
.
engine
){
_this
.
parseViewParam
(
allNavData
.
data
[
computedIndex
].
srfkey
);
_this
.
engine
.
load
();
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'当前数据已经是第一条数据'
});
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'请确认操作路径是否正确'
});
}
}
/**
* 下一个记录
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
NextRecord
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
||
!
args
[
0
].
srfkey
){
return
;
}
let
_this
:
any
=
this
;
let
navDataService
:
any
=
new
NavDataService
(
this
.
$store
);
let
allNavData
:
any
=
Object
.
is
(
this
.
navModel
,
"route"
)?
navDataService
.
getPreNavDataById
(
'dst-system-edit-view'
):
navDataService
.
getPreNavDataByTag
(
_this
.
viewtag
);
if
(
allNavData
&&
allNavData
.
data
&&
allNavData
.
data
.
length
>
0
){
let
computedIndex
:
any
;
for
(
let
i
=
0
;
i
<
allNavData
.
data
.
length
;
i
++
){
if
(
allNavData
.
data
[
i
].
srfkey
===
args
[
0
].
srfkey
){
computedIndex
=
i
+
1
;
break
;
}
}
if
(
computedIndex
<
allNavData
.
data
.
length
){
if
(
_this
.
parseViewParam
&&
_this
.
engine
){
_this
.
parseViewParam
(
allNavData
.
data
[
computedIndex
].
srfkey
);
_this
.
engine
.
load
();
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'当前数据已经是最后一条数据'
});
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'请确认操作路径是否正确'
});
}
}
/**
* 最后一个记录
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
LastRecord
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
let
navDataService
:
any
=
new
NavDataService
(
this
.
$store
);
let
allNavData
:
any
=
Object
.
is
(
this
.
navModel
,
"route"
)?
navDataService
.
getPreNavDataById
(
'dst-system-edit-view'
):
navDataService
.
getPreNavDataByTag
(
_this
.
viewtag
);
if
(
allNavData
&&
allNavData
.
data
&&
allNavData
.
data
.
length
>
0
){
if
(
_this
.
parseViewParam
&&
_this
.
engine
){
_this
.
parseViewParam
(
allNavData
.
data
[
allNavData
.
data
.
length
-
1
].
srfkey
);
_this
.
engine
.
load
();
}
}
else
{
this
.
$Notice
.
warning
({
title
:
'警告'
,
desc
:
'请确认操作路径是否正确'
});
}
}
/**
* 帮助
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemEditViewBase
*/
public
Help
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'帮助未支持'
});
}
/**
* 关闭视图
*
* @param {any[]} args
* @memberof DstSystemEditViewBase
*/
public
closeView
(
args
:
any
[]):
void
{
let
_view
:
any
=
this
;
if
(
_view
.
viewdata
)
{
_view
.
$emit
(
'viewdataschange'
,
[
args
]);
_view
.
$emit
(
'close'
,
[
args
]);
}
else
if
(
_view
.
$tabPageExp
)
{
_view
.
$tabPageExp
.
onClose
(
_view
.
$route
.
fullPath
);
}
}
/**
* 销毁视图回调
*
* @memberof DstSystemEditViewBase
*/
public
destroyed
(){
this
.
afterDestroyed
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof DstSystemEditViewBase
*/
public
afterDestroyed
(){
if
(
this
.
viewDefaultUsage
){
let
localStoreLength
=
Object
.
keys
(
localStorage
);
if
(
localStoreLength
.
length
>
0
){
localStoreLength
.
forEach
((
item
:
string
)
=>
{
if
(
item
.
startsWith
(
this
.
context
.
srfsessionid
)){
localStorage
.
removeItem
(
item
);
}
})
}
if
(
Object
.
is
(
this
.
navModel
,
"tab"
)){
this
.
navDataService
.
removeNavDataByTag
(
this
.
viewtag
);
}
if
(
this
.
serviceStateEvent
)
{
this
.
serviceStateEvent
.
unsubscribe
();
}
}
// 销毁计数器定时器
if
(
this
.
counterServiceArray
&&
this
.
counterServiceArray
.
length
>
0
){
this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
destroyCounter
&&
item
.
destroyCounter
instanceof
Function
){
item
.
destroyCounter
();
}
})
}
if
(
this
.
portletStateEvent
){
this
.
portletStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './dst-system-edit-view.less';
</
style
>
\ No newline at end of file
app_web/src/pages/lite/dst-system-edit-view/dst-system-edit-view.less
0 → 100644
浏览文件 @
bf0a12d0
.view-card {
>.ivu-card-extra {
top: 5px;
right: 0px;
}
}
.dst-system-edit-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
app_web/src/pages/lite/dst-system-edit-view/dst-system-edit-view.vue
0 → 100644
浏览文件 @
bf0a12d0
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
DstSystemEditViewBase
from
'./dst-system-edit-view-base.vue'
;
import
view_form
from
'@widgets/dst-system/main-form/main-form.vue'
;
@
Component
({
components
:
{
view_form
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
if
(
!
Object
.
is
(
vm
.
navModel
,
"route"
)){
vm
.
initNavDataWithTab
(
vm
.
viewCacheData
);
}
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
fullPath
:
to
.
fullPath
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
DstSystemEditView
extends
DstSystemEditViewBase
{
}
</
script
>
\ No newline at end of file
app_web/src/pages/lite/dst-system-grid-view/dst-system-grid-view-base.vue
0 → 100644
浏览文件 @
bf0a12d0
<
template
>
<div
class=
'view-container degridview dst-system-grid-view'
>
<app-studioaction
:viewTitle=
"$t(model.srfCaption)"
viewName=
"dstsystemgridview"
></app-studioaction>
<card
class=
'view-card '
:dis-hover=
"true"
:bordered=
"false"
>
<div
slot=
'title'
class=
"header-container"
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srfCaption
)
}}
</span>
</div>
<div
class=
'view-top-messages'
>
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;padding-left: 24px'
placeholder=
"系统名称"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem3.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem4.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem6.visabled"
:disabled=
"toolBarModels.tbitem6.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem6' }, $event)">
<i
class=
'fa fa-copy'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem6.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem6.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem8.visabled"
:disabled=
"toolBarModels.tbitem8.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem8' }, $event)">
<i
class=
'fa fa-remove'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem8.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('entities.dstsystem.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem13.tip'
)
}}
</div>
</tooltip>
<span
class=
'seperator'
>
|
</span>
<dropdown
v-show=
"toolBarModels.tbitem16.visabled"
trigger=
'click'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
class=
''
>
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<icon
type=
"ios-arrow-down"
></icon>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem16.tip'
)
}}
</div>
</tooltip>
<dropdown-menu
slot=
'list'
>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem21.visabled"
:disabled=
"toolBarModels.tbitem21.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem21' }, $event)">
<i
class=
'fa fa-download'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem21.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
<dropdown-item>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-upload'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem23.tip'
)
}}
</div>
</tooltip>
</dropdown-item>
</dropdown-menu>
</dropdown>
<span
class=
'seperator'
>
|
</span>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem19.visabled"
:disabled=
"toolBarModels.tbitem19.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem19' }, $event)">
<i
class=
'fa fa-filter'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem19.tip'
)
}}
</div>
</tooltip>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
<i-button
v-show=
"toolBarModels.tbitem18.visabled"
:disabled=
"toolBarModels.tbitem18.disabled"
class=
''
v-loading:i-button
@
click=
"toolbar_click(
{ tag: 'tbitem18' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
</i-button>
<div
slot=
'content'
>
{{
$t
(
'entities.dstsystem.gridviewtoolbar_toolbar.tbitem18.tip'
)
}}
</div>
</tooltip>
</div>
</div>
</div>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
v-show=
"isExpandSearchForm"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
save=
"searchform_save($event)"
@
search=
"searchform_search($event)"
@
load=
"searchform_load($event)"
@
closeview=
"closeView($event)"
>
</view
_searchform
>
<div
class=
'view-body-messages'
>
</div>
<view
_grid
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:isSingleSelect=
"isSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
:isformDruipart=
"isformDruipart"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
:newdata=
"newdata"
:opendata=
"opendata"
name=
"grid"
ref=
'grid'
@
selectionchange=
"grid_selectionchange($event)"
@
beforeload=
"grid_beforeload($event)"
@
rowdblclick=
"grid_rowdblclick($event)"
@
remove=
"grid_remove($event)"
@
load=
"grid_load($event)"
@
closeview=
"closeView($event)"
>
</view
_grid
>
</div>
<div
class=
'view-bottom-messages'
>
</div>
</card>
</div>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Inject
}
from
'vue-property-decorator'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
DstSystemAuthService
from
'@/authservice/dst-system/dst-system-auth-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
DstSystemUIService
from
'@/uiservice/dst-system/dst-system-ui-service'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
@
Component
({
components
:
{
},
})
export
default
class
DstSystemGridViewBase
extends
Vue
{
/**
* 实体服务对象
*
* @type {DstSystemService}
* @memberof DstSystemGridViewBase
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
;
/**
* 实体UI服务对象
*
* @type DstSystemUIService
* @memberof DstSystemGridViewBase
*/
public
appUIService
:
DstSystemUIService
=
new
DstSystemUIService
(
this
.
$store
);
/**
* 数据变化
*
* @param {*} val
* @returns {*}
* @memberof DstSystemGridViewBase
*/
@
Emit
()
public
viewDatasChange
(
val
:
any
):
any
{
return
val
;
}
/**
* 传入视图上下文
*
* @type {string}
* @memberof DstSystemGridViewBase
*/
@
Prop
()
public
viewdata
!
:
string
;
/**
* 传入视图参数
*
* @type {string}
* @memberof DstSystemGridViewBase
*/
@
Prop
()
public
viewparam
!
:
string
;
/**
* 视图默认使用
*
* @type {boolean}
* @memberof DstSystemGridViewBase
*/
@
Prop
({
default
:
true
})
public
viewDefaultUsage
!
:
boolean
;
/**
* 视图默认使用
*
* @type {string}
* @memberof DstSystemGridViewBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof DstSystemGridViewBase
*/
public
viewtag
:
string
=
'aba2be52d4c2de842f461967ce08cf7d'
;
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
customViewNavContexts
:
any
=
{
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
customViewParams
:
any
=
{
};
/**
* 视图模型数据
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
model
:
any
=
{
srfCaption
:
'entities.dstsystem.views.gridview.caption'
,
srfTitle
:
'entities.dstsystem.views.gridview.title'
,
srfSubTitle
:
'entities.dstsystem.views.gridview.subtitle'
,
dataInfo
:
''
}
/**
* 视图参数变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DstSystemGridViewBase
*/
@
Watch
(
'viewparam'
,{
immediate
:
true
,
deep
:
true
})
onParamData
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
this
.
viewparams
=
{};
if
(
typeof
newVal
==
'string'
)
{
Object
.
assign
(
this
.
viewparams
,
JSON
.
parse
(
this
.
viewparam
));
}
else
{
this
.
viewparams
=
Util
.
deepCopy
(
this
.
viewparam
);
}
}
}
/**
* 处理应用上下文变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DstSystemGridViewBase
*/
@
Watch
(
'viewdata'
)
onViewData
(
newVal
:
any
,
oldVal
:
any
)
{
const
_this
:
any
=
this
;
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
engine
)
{
this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
();
_this
.
engine
.
load
();
});
}
else
if
(
!
Object
.
is
(
newVal
,
oldVal
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
)
{
_this
.
refresh
();
}
}
/**
* 容器模型
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 视图刷新
*
* @param {*} args
* @memberof DstSystemGridViewBase
*/
public
refresh
(
args
?:
any
):
void
{
const
refs
:
any
=
this
.
$refs
;
if
(
refs
&&
refs
.
grid
)
{
refs
.
grid
.
refresh
();
}
}
/**
* 计数器刷新
*
* @memberof DstSystemGridViewBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 视图状态订阅对象
*
* @public
* @type {Subject<{action: string, data: any}>}
* @memberof DstSystemGridViewBase
*/
public
viewState
:
Subject
<
ViewState
>
=
new
Subject
();
/**
* 工具栏模型
*
* @type {*}
* @memberof DstSystemGridView
*/
public
toolBarModels
:
any
=
{
tbitem3
:
{
name
:
'tbitem3'
,
actiontarget
:
'NONE'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
actiontarget
:
'NONE'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
tbitem6
:
{
name
:
'tbitem6'
,
actiontarget
:
'NONE'
,
caption
:
'拷贝'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
target
:
'SINGLEKEY'
}
},
tbitem7
:
{
name
:
'tbitem7'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem8
:
{
name
:
'tbitem8'
,
actiontarget
:
'NONE'
,
caption
:
'删除'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
}
},
tbitem9
:
{
name
:
'tbitem9'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem13
:
{
name
:
'tbitem13'
,
actiontarget
:
'NONE'
,
caption
:
'导出'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportExcel'
,
target
:
''
},
MaxRowCount
:
1000
},
tbitem10
:
{
name
:
'tbitem10'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem16
:
{
name
:
'tbitem16'
,
caption
:
'其它'
,
disabled
:
false
,
type
:
'ITEMS'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem21
:
{
name
:
'tbitem21'
,
actiontarget
:
'NONE'
,
caption
:
'导出数据模型'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportModel'
,
target
:
''
}
},
tbitem23
:
{
name
:
'tbitem23'
,
actiontarget
:
'NONE'
,
caption
:
'数据导入'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Import'
,
target
:
''
}
},
tbitem17
:
{
name
:
'tbitem17'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem19
:
{
name
:
'tbitem19'
,
actiontarget
:
'NONE'
,
caption
:
'过滤'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
}
},
tbitem18
:
{
name
:
'tbitem18'
,
actiontarget
:
'NONE'
,
caption
:
'帮助'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Help'
,
target
:
''
}
},
};
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof DstSystemGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof DstSystemGridViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
opendata
:
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
=>
{
this
.
opendata
(
args
,
fullargs
,
params
,
$event
,
xData
);
},
newdata
:
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
=>
{
this
.
newdata
(
args
,
fullargs
,
params
,
$event
,
xData
);
},
grid
:
this
.
$refs
.
grid
,
searchform
:
this
.
$refs
.
searchform
,
keyPSDEField
:
'dstsystem'
,
majorPSDEField
:
'pssystemname'
,
isLoadDefault
:
true
,
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
navDataService
=
NavDataService
.
getInstance
(
this
.
$store
);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DstSystemGridViewBase
*/
public
serviceStateEvent
:
Subscription
|
undefined
;
/**
* 门户部件状态对象
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
@
Prop
()
public
portletState
?:
any
;
/**
* 门户部件状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DstSystemGridViewBase
*/
public
portletStateEvent
:
Subscription
|
undefined
;
/**
* 应用上下文
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
context
:
any
=
{};
/**
* 视图参数
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
viewparams
:
any
=
{};
/**
* 视图缓存数据
*
* @type {*}
* @memberof DstSystemGridViewBase
*/
public
viewCacheData
:
any
;
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof DstSystemGridViewBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 解析视图参数
*
* @public
* @memberof DstSystemGridViewBase
*/
public
parseViewParam
(
inputvalue
:
any
=
null
):
void
{
for
(
let
key
in
this
.
context
){
delete
this
.
context
[
key
];
}
if
(
this
.
$store
.
getters
.
getAppData
()
&&
this
.
$store
.
getters
.
getAppData
().
context
){
Object
.
assign
(
this
.
context
,
this
.
$store
.
getters
.
getAppData
().
context
);
}
if
(
!
this
.
viewDefaultUsage
&&
this
.
viewdata
&&
!
Object
.
is
(
this
.
viewdata
,
''
))
{
if
(
typeof
this
.
viewdata
==
'string'
)
{
Object
.
assign
(
this
.
context
,
JSON
.
parse
(
this
.
viewdata
));
}
if
(
this
.
context
&&
this
.
context
.
srfparentdename
){
Object
.
assign
(
this
.
viewparams
,{
srfparentdename
:
this
.
context
.
srfparentdename
});
}
if
(
this
.
context
&&
this
.
context
.
srfparentkey
){
Object
.
assign
(
this
.
viewparams
,{
srfparentkey
:
this
.
context
.
srfparentkey
});
}
this
.
handleCustomViewData
();
return
;
}
const
path
=
(
this
.
$route
.
matched
[
this
.
$route
.
matched
.
length
-
1
]).
path
;
const
keys
:
Array
<
any
>
=
[];
const
curReg
=
this
.
$pathToRegExp
.
pathToRegexp
(
path
,
keys
);
const
matchArray
=
curReg
.
exec
(
this
.
$route
.
path
);
let
tempValue
:
Object
=
{};
keys
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
.
name
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
this
.
$viewTool
.
formatRouteParams
(
tempValue
,
this
.
$route
,
this
.
context
,
this
.
viewparams
);
if
(
inputvalue
){
Object
.
assign
(
this
.
context
,{
'dstsystem'
:
inputvalue
});
}
//初始化视图唯一标识
Object
.
assign
(
this
.
context
,{
srfsessionid
:
this
.
$util
.
createUUID
()});
this
.
handleCustomViewData
();
//初始化导航数据
this
.
initNavDataWithRoute
();
}
/**
* 处理自定义视图数据
*
* @memberof DstSystemGridViewBase
*/
public
handleCustomViewData
(){
if
(
Object
.
keys
(
this
.
customViewNavContexts
).
length
>
0
){
Object
.
keys
(
this
.
customViewNavContexts
).
forEach
((
item
:
any
)
=>
{
let
tempContext
:
any
=
{};
let
curNavContext
:
any
=
this
.
customViewNavContexts
[
item
];
this
.
handleCustomDataLogic
(
curNavContext
,
tempContext
,
item
);
Object
.
assign
(
this
.
context
,
tempContext
);
})
}
if
(
Object
.
keys
(
this
.
customViewParams
).
length
>
0
){
Object
.
keys
(
this
.
customViewParams
).
forEach
((
item
:
any
)
=>
{
let
tempParam
:
any
=
{};
let
curNavParam
:
any
=
this
.
customViewParams
[
item
];
this
.
handleCustomDataLogic
(
curNavParam
,
tempParam
,
item
);
Object
.
assign
(
this
.
viewparams
,
tempParam
);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof DstSystemGridViewBase
*/
public
handleCustomDataLogic
(
curNavData
:
any
,
tempData
:
any
,
item
:
string
){
// 直接值直接赋值
if
(
curNavData
.
isRawValue
){
if
(
Object
.
is
(
curNavData
.
value
,
"null"
)
||
Object
.
is
(
curNavData
.
value
,
""
)){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
curNavData
.
value
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
else
{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if
(
this
.
context
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
context
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
if
(
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()]
!=
null
){
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
this
.
viewparams
[(
curNavData
.
value
).
toLowerCase
()],
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
else
{
Object
.
defineProperty
(
tempData
,
item
.
toLowerCase
(),
{
value
:
null
,
writable
:
true
,
enumerable
:
true
,
configurable
:
true
});
}
}
}
}
/**
* 初始化导航数据(路由模式)
*
* @memberof DstSystemGridViewBase
*/
public
initNavDataWithRoute
(
data
:
any
=
null
,
isNew
:
boolean
=
false
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavData
({
id
:
'dst-system-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
isNew
?
null
:
this
.
context
.
dstsystem
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof DstSystemGridViewBase
*/
public
initNavDataWithTab
(
data
:
any
=
null
,
isOnlyAdd
:
boolean
=
true
,
isAlways
:
boolean
=
false
){
if
(
isAlways
||
(
this
.
viewDefaultUsage
&&
!
Object
.
is
(
this
.
navModel
,
"route"
))
){
this
.
navDataService
.
addNavDataByOnly
({
id
:
'dst-system-grid-view'
,
tag
:
this
.
viewtag
,
srfkey
:
this
.
context
.
dstsystem
,
title
:
this
.
$t
(
this
.
model
.
srfCaption
),
data
:
data
,
context
:
this
.
context
,
viewparams
:
this
.
viewparams
,
path
:
this
.
$route
.
fullPath
},
isOnlyAdd
);
}
}
/**
* Vue声明周期
*
* @memberof DstSystemGridViewBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof DstSystemGridViewBase
*/
public
afterCreated
(){
let
_this
:
any
=
this
;
const
secondtag
=
_this
.
$util
.
createUUID
();
_this
.
$store
.
commit
(
'viewaction/createdView'
,
{
viewtag
:
_this
.
viewtag
,
secondtag
:
secondtag
});
_this
.
viewtag
=
secondtag
;
_this
.
parseViewParam
();
_this
.
serviceStateEvent
=
_this
.
navDataService
.
serviceState
.
subscribe
(({
action
,
name
,
data
}:{
action
:
string
,
name
:
any
,
data
:
any
})
=>
{
if
(
!
Object
.
is
(
name
,
'dst-system-grid-view'
)){
return
;
}
if
(
Object
.
is
(
action
,
'viewrefresh'
))
{
_this
.
$nextTick
(()
=>
{
_this
.
parseViewParam
(
data
);
if
(
_this
.
engine
){
_this
.
engine
.
load
();
}
});
}
});
if
(
_this
.
portletState
){
_this
.
portletStateEvent
=
_this
.
portletState
.
subscribe
((
res
:
any
)
=>
{
if
(
!
Object
.
is
(
res
.
name
,
'DstSystemGridView'
)){
return
;
}
if
(
Object
.
is
(
res
.
action
,
'refresh'
)
&&
_this
.
refresh
&&
_this
.
refresh
instanceof
Function
){
_this
.
refresh
();
}
})
}
if
(
this
.
formDruipart
){
this
.
formDruipart
.
subscribe
((
res
:
any
)
=>
{
if
(
Object
.
is
(
res
.
action
,
'save'
)){
this
.
viewState
.
next
({
tag
:
'grid'
,
action
:
'save'
,
data
:
this
.
viewparams
});
}
if
(
Object
.
is
(
res
.
action
,
'load'
)){
const
_this
:
any
=
this
;
_this
.
engine
.
load
(
res
.
data
,
true
);
}
});
}
}
/**
* 销毁之前
*
* @memberof DstSystemGridViewBase
*/
public
beforeDestroy
()
{
this
.
$store
.
commit
(
'viewaction/removeView'
,
this
.
viewtag
);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof DstSystemGridViewBase
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* 执行mounted后的逻辑
*
* @memberof DstSystemGridViewBase
*/
public
afterMounted
(){
const
_this
:
any
=
this
;
_this
.
engineInit
();
if
(
_this
.
loadModel
&&
_this
.
loadModel
instanceof
Function
)
{
_this
.
loadModel
();
}
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
)
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem5'
))
{
this
.
toolbar_tbitem5_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
this
.
toolbar_tbitem6_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem24'
))
{
this
.
toolbar_tbitem24_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem25'
))
{
this
.
toolbar_tbitem25_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'deuiaction1'
))
{
this
.
toolbar_deuiaction1_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem8'
))
{
this
.
toolbar_tbitem8_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem13'
))
{
this
.
toolbar_tbitem13_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem11'
))
{
this
.
toolbar_tbitem11_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem21'
))
{
this
.
toolbar_tbitem21_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem23'
))
{
this
.
toolbar_tbitem23_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem18'
))
{
this
.
toolbar_tbitem18_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
)
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem3_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
New
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem4_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Edit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem5_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
View
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem6_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem24_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ToggleRowEdit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem25_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
NewRow
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_deuiaction1_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveRow
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem8_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Remove
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem13_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ExportExcel
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem11_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem21_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ExportModel
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem23_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Import
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem19_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ToggleFilter
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem18_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Help
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"DstSystem"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof DstSystemGridView
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
delete
tempContext
.
dstsystem
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
];
const
_this
:
any
=
this
;
const
openDrawer
=
(
view
:
any
,
data
:
any
)
=>
{
let
container
:
Subject
<
any
>
=
this
.
$appdrawer
.
openDrawer
(
view
,
tempContext
,
data
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
!
result
||
!
Object
.
is
(
result
.
ret
,
'OK'
))
{
return
;
}
if
(
!
xData
||
!
(
xData
.
refresh
instanceof
Function
))
{
return
;
}
xData
.
refresh
(
result
.
datas
);
});
}
const
view
:
any
=
{
viewname
:
'dst-system-edit-view'
,
height
:
0
,
width
:
0
,
title
:
this
.
$t
(
'entities.dstsystem.views.editview.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof DstSystemGridView
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
if
(
!
this
.
viewDefaultUsage
){
if
(
Object
.
is
(
this
.
navModel
,
"route"
)){
this
.
initNavDataWithRoute
(
this
.
viewCacheData
,
false
,
true
);
}
else
{
this
.
initNavDataWithTab
(
this
.
viewCacheData
,
false
,
true
);
}
}
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
];
const
_this
:
any
=
this
;
if
(
fullargs
&&
fullargs
.
copymode
){
Object
.
assign
(
data
,{
copymode
:
true
});
}
const
openDrawer
=
(
view
:
any
,
data
:
any
)
=>
{
let
container
:
Subject
<
any
>
=
this
.
$appdrawer
.
openDrawer
(
view
,
tempContext
,
data
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
!
result
||
!
Object
.
is
(
result
.
ret
,
'OK'
))
{
return
;
}
if
(
!
xData
||
!
(
xData
.
refresh
instanceof
Function
))
{
return
;
}
xData
.
refresh
(
result
.
datas
);
});
}
const
view
:
any
=
{
viewname
:
'dst-system-edit-view'
,
height
:
0
,
width
:
0
,
title
:
this
.
$t
(
'entities.dstsystem.views.editview.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newdata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
dstsystem
:
args
[
0
].
dstsystem
})
}
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 查看
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
View
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
dstsystem
:
args
[
0
].
dstsystem
})
}
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Copy
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
dstsystem
:
args
[
0
].
dstsystem
});
}
if
(
!
params
)
params
=
{};
Object
.
assign
(
params
,{
copymode
:
true
});
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
Object
.
assign
(
this
.
viewparams
,{
copymode
:
true
});
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
ToggleRowEdit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
xData
.
actualIsOpenEdit
=
!
xData
.
actualIsOpenEdit
;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
NewRow
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
const
data
:
any
=
{};
if
(
_this
.
hasOwnProperty
(
'newRow'
)
&&
_this
.
newRow
instanceof
Function
)
{
_this
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
.
newRow
&&
xData
.
newRow
instanceof
Function
)
{
xData
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newRow 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 保存行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
SaveRow
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
// 界面行为容器对象 _this
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
save
instanceof
Function
)
{
xData
.
save
();
}
else
if
(
_this
.
save
&&
_this
.
save
instanceof
Function
)
{
_this
.
save
();
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Remove
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
remove
instanceof
Function
))
{
return
;
}
xData
.
remove
(
args
);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
ExportExcel
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
exportExcel
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
exportExcel
(
$event
.
exportparms
);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Print
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
print
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
print
();
}
/**
* 导出数据模型
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
ExportModel
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'导出数据模型未支持'
});
}
/**
* 数据导入
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Import
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
importExcel
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
importExcel
(
params
);
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
ToggleFilter
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
hasOwnProperty
(
'isExpandSearchForm'
))
{
_this
.
isExpandSearchForm
=
!
_this
.
isExpandSearchForm
;
}
}
/**
* 帮助
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof DstSystemGridViewBase
*/
public
Help
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'帮助未支持'
});
}
/**
* 关闭视图
*
* @param {any[]} args
* @memberof DstSystemGridViewBase
*/
public
closeView
(
args
:
any
[]):
void
{
let
_view
:
any
=
this
;
if
(
_view
.
viewdata
)
{
_view
.
$emit
(
'viewdataschange'
,
[
args
]);
_view
.
$emit
(
'close'
,
[
args
]);
}
else
if
(
_view
.
$tabPageExp
)
{
_view
.
$tabPageExp
.
onClose
(
_view
.
$route
.
fullPath
);
}
}
/**
* 销毁视图回调
*
* @memberof DstSystemGridViewBase
*/
public
destroyed
(){
this
.
afterDestroyed
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof DstSystemGridViewBase
*/
public
afterDestroyed
(){
if
(
this
.
viewDefaultUsage
){
let
localStoreLength
=
Object
.
keys
(
localStorage
);
if
(
localStoreLength
.
length
>
0
){
localStoreLength
.
forEach
((
item
:
string
)
=>
{
if
(
item
.
startsWith
(
this
.
context
.
srfsessionid
)){
localStorage
.
removeItem
(
item
);
}
})
}
if
(
Object
.
is
(
this
.
navModel
,
"tab"
)){
this
.
navDataService
.
removeNavDataByTag
(
this
.
viewtag
);
}
if
(
this
.
serviceStateEvent
)
{
this
.
serviceStateEvent
.
unsubscribe
();
}
}
// 销毁计数器定时器
if
(
this
.
counterServiceArray
&&
this
.
counterServiceArray
.
length
>
0
){
this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
destroyCounter
&&
item
.
destroyCounter
instanceof
Function
){
item
.
destroyCounter
();
}
})
}
if
(
this
.
portletStateEvent
){
this
.
portletStateEvent
.
unsubscribe
();
}
}
/**
* 是否单选
*
* @type {boolean}
* @memberof DstSystemGridViewBase
*/
public
isSingleSelect
:
boolean
=
false
;
/**
* 是否嵌入关系界面
*
* @type {boolean}
* @memberof DstSystemGridViewBase
*/
@
Prop
({
default
:
false
})
public
isformDruipart
?:
boolean
;
/**
* 界面关系通讯对象
*
* @type {Subject<ViewState>}
* @memberof DstSystemGridViewBase
*/
@
Prop
()
public
formDruipart
?:
Subject
<
ViewState
>
;
/**
* 搜索值
*
* @type {string}
* @memberof DstSystemGridViewBase
*/
public
query
:
string
=
''
;
/**
* 是否展开搜索表单
*
* @type {boolean}
* @memberof DstSystemGridViewBase
*/
public
isExpandSearchForm
:
boolean
=
false
;
/**
* 表格行数据默认激活模式
* 0 不激活
* 1 单击激活
* 2 双击激活
*
* @type {(number | 0 | 1 | 2)}
* @memberof DstSystemGridViewBase
*/
public
gridRowActiveMode
:
number
|
0
|
1
|
2
=
2
;
/**
* 快速搜索
*
* @param {*} $event
* @memberof DstSystemGridViewBase
*/
public
onSearch
(
$event
:
any
):
void
{
const
grid
:
any
=
this
.
$refs
.
grid
;
if
(
grid
)
{
grid
.
load
(
this
.
context
,
true
);
}
}
/**
* grid 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ENTITYTEST1Usr2GridViewBase
*/
public
onSave
(
$event
:
any
)
{
this
.
$emit
(
'drdatasaved'
,
$event
);
}
/**
* 刷新数据
*
* @readonly
* @type {(number | null)}
* @memberof DstSystemGridViewBase
*/
get
refreshdata
():
number
|
null
{
return
this
.
$store
.
getters
[
'viewaction/getRefreshData'
](
this
.
viewtag
);
}
/**
* 监控数据变化
*
* @param {*} newVal
* @param {*} oldVal
* @returns
* @memberof DstSystemGridViewBase
*/
@
Watch
(
'refreshdata'
)
onRefreshData
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
===
null
||
newVal
===
undefined
)
{
return
;
}
if
(
newVal
===
0
)
{
return
;
}
const
grid
:
any
=
this
.
$refs
.
grid
;
if
(
grid
)
{
grid
.
load
({});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './dst-system-grid-view.less';
</
style
>
\ No newline at end of file
app_web/src/pages/lite/dst-system-grid-view/dst-system-grid-view.less
0 → 100644
浏览文件 @
bf0a12d0
.dst-system-grid-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
app_web/src/pages/lite/dst-system-grid-view/dst-system-grid-view.vue
0 → 100644
浏览文件 @
bf0a12d0
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
DstSystemGridViewBase
from
'./dst-system-grid-view-base.vue'
;
import
view_grid
from
'@widgets/dst-system/main-grid/main-grid.vue'
;
import
view_searchform
from
'@widgets/dst-system/default-searchform/default-searchform.vue'
;
@
Component
({
components
:
{
view_grid
,
view_searchform
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
if
(
!
Object
.
is
(
vm
.
navModel
,
"route"
)){
vm
.
initNavDataWithTab
(
vm
.
viewCacheData
);
}
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
fullPath
:
to
.
fullPath
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
DstSystemGridView
extends
DstSystemGridViewBase
{
}
</
script
>
\ No newline at end of file
app_web/src/store/modules/view-action/state.ts
浏览文件 @
bf0a12d0
...
@@ -14,6 +14,7 @@ export const viewstate: any = {
...
@@ -14,6 +14,7 @@ export const viewstate: any = {
'6e86bf4ff68dc883c7cedd90289cf139'
,
'6e86bf4ff68dc883c7cedd90289cf139'
,
'0b73baede663f44e34922b120c4eb1b5'
,
'0b73baede663f44e34922b120c4eb1b5'
,
'08ffec9daab32e20d7b560f58c5c5ede'
,
'08ffec9daab32e20d7b560f58c5c5ede'
,
'aba2be52d4c2de842f461967ce08cf7d'
,
'b8139b901aee5b9b689750315f24c19f'
,
'b8139b901aee5b9b689750315f24c19f'
,
'a4a6b127d490b6e0c0572dcf8ff1e304'
,
'a4a6b127d490b6e0c0572dcf8ff1e304'
,
'1b472dc31d7586037311b19f13ecd5b8'
,
'1b472dc31d7586037311b19f13ecd5b8'
,
...
@@ -89,6 +90,15 @@ export const viewstate: any = {
...
@@ -89,6 +90,15 @@ export const viewstate: any = {
refviews
:
[
refviews
:
[
],
],
},
},
{
viewtag
:
'14f8bfb549eedacb25bad2af453c5ad3'
,
viewmodule
:
'lite'
,
viewname
:
'DstSystemEditView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
{
viewtag
:
'17ce052423b847f488d74d3b2ba6bfdf'
,
viewtag
:
'17ce052423b847f488d74d3b2ba6bfdf'
,
viewmodule
:
'lite'
,
viewmodule
:
'lite'
,
...
@@ -105,6 +115,7 @@ export const viewstate: any = {
...
@@ -105,6 +115,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewaction
:
''
,
viewdatachange
:
false
,
viewdatachange
:
false
,
refviews
:
[
refviews
:
[
'2b6c5cbcb647db5adc94fd966aa80bfd'
,
'bf38acd2d602a0abb2021403e7da1ea7'
,
'bf38acd2d602a0abb2021403e7da1ea7'
,
],
],
},
},
...
@@ -339,6 +350,16 @@ export const viewstate: any = {
...
@@ -339,6 +350,16 @@ export const viewstate: any = {
'4425be08b70d5319481f443085373932'
,
'4425be08b70d5319481f443085373932'
,
],
],
},
},
{
viewtag
:
'aba2be52d4c2de842f461967ce08cf7d'
,
viewmodule
:
'lite'
,
viewname
:
'DstSystemGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'14f8bfb549eedacb25bad2af453c5ad3'
,
],
},
{
{
viewtag
:
'b0fc4bae7655b93b1e554b05f06029f0'
,
viewtag
:
'b0fc4bae7655b93b1e554b05f06029f0'
,
viewmodule
:
'analysis'
,
viewmodule
:
'analysis'
,
...
...
app_web/src/widgets/app/dst-index-appmenu/dst-index-appmenu-base.vue
浏览文件 @
bf0a12d0
...
@@ -599,6 +599,9 @@ export default class DstIndexBase extends Vue implements ControlInterface {
...
@@ -599,6 +599,9 @@ export default class DstIndexBase extends Vue implements ControlInterface {
case
'AppFunc10'
:
case
'AppFunc10'
:
this
.
clickAppFunc10
(
item
);
this
.
clickAppFunc10
(
item
);
return
;
return
;
case
'AppFunc12'
:
this
.
clickAppFunc12
(
item
);
return
;
case
'AppFunc9'
:
case
'AppFunc9'
:
this
.
clickAppFunc9
(
item
);
this
.
clickAppFunc9
(
item
);
return
;
return
;
...
@@ -676,6 +679,29 @@ export default class DstIndexBase extends Vue implements ControlInterface {
...
@@ -676,6 +679,29 @@ export default class DstIndexBase extends Vue implements ControlInterface {
})
})
}
}
/**
* 系统
*
* @param {*} [item={}]
* @memberof DstIndex
*/
public
clickAppFunc12
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
return
;
}
this
.
$nextTick
(
function
(){
this
.
$router
.
push
(
path
);
})
}
/**
/**
* 模型
* 模型
*
*
...
...
app_web/src/widgets/app/dst-index-appmenu/dst-index-appmenu-model.ts
浏览文件 @
bf0a12d0
...
@@ -51,6 +51,25 @@ export default class DstIndexModel {
...
@@ -51,6 +51,25 @@ export default class DstIndexModel {
appfunctag
:
'AppFunc2'
,
appfunctag
:
'AppFunc2'
,
resourcetag
:
''
,
resourcetag
:
''
,
authtag
:
'web-dstIndex-menuitem2'
,
authtag
:
'web-dstIndex-menuitem2'
,
},
{
id
:
'36FFC4E0-AE22-4ECE-BA54-279C5AFB3442'
,
name
:
'menuitem14'
,
text
:
'系统'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'系统'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'AppFunc12'
,
resourcetag
:
''
,
authtag
:
'web-dstIndex-menuitem14'
,
},
},
{
{
id
:
'b9f1d604d37a54d51660aee235359816'
,
id
:
'b9f1d604d37a54d51660aee235359816'
,
...
@@ -301,6 +320,18 @@ export default class DstIndexModel {
...
@@ -301,6 +320,18 @@ export default class DstIndexModel {
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
],
},
},
{
appfunctag
:
'AppFunc12'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'dstsystemgridview'
,
deResParameters
:
[],
routepath
:
'/dstindex/:dstindex?/dstsystems/:dstsystem?/gridview/:gridview?'
,
parameters
:
[
{
pathName
:
'dstsystems'
,
parameterName
:
'dstsystem'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
},
{
{
appfunctag
:
'AppFunc9'
,
appfunctag
:
'AppFunc9'
,
appfuncyype
:
'APPVIEW'
,
appfuncyype
:
'APPVIEW'
,
...
...
app_web/src/widgets/dabuild/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
public
data
:
any
=
{
public
data
:
any
=
{
n_buildname_like
:
null
,
n_buildname_like
:
null
,
n_modelname_like
:
null
,
n_modelname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_buildname_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_buildname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_buildname_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_buildname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型名称(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型名称(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型名称(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型名称(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/dabuild/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
prop
:
'model_name'
,
prop
:
'model_name'
,
dataType
:
'PICKUPTEXT'
,
dataType
:
'PICKUPTEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'PICKUPDATA'
,
},
]
]
}
}
...
...
app_web/src/widgets/dabuild/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -81,6 +81,11 @@ export default class MainModel {
...
@@ -81,6 +81,11 @@ export default class MainModel {
prop
:
'n_modelname_like'
,
prop
:
'n_modelname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/dachart/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
data
:
any
=
{
public
data
:
any
=
{
n_chartname_like
:
null
,
n_chartname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
,
n_chartname_like
:
new
FormItemModel
({
caption
:
'名称(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_chartname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_chartname_like
:
new
FormItemModel
({
caption
:
'名称(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_chartname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_chartname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_chartname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_chartname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_chartname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_chartname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_chartname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/dachart/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
prop
:
'chart_name'
,
prop
:
'chart_name'
,
dataType
:
'TEXT'
,
dataType
:
'TEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'TEXT'
,
},
]
]
}
}
...
...
app_web/src/widgets/dachart/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -71,6 +71,11 @@ export default class MainModel {
...
@@ -71,6 +71,11 @@ export default class MainModel {
prop
:
'n_chartname_like'
,
prop
:
'n_chartname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/dareport/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
data
:
any
=
{
public
data
:
any
=
{
n_reportname_like
:
null
,
n_reportname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
,
n_reportname_like
:
new
FormItemModel
({
caption
:
'名称(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_reportname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_reportname_like
:
new
FormItemModel
({
caption
:
'名称(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_reportname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_reportname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_reportname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_reportname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_reportname_like
.
required
,
type
:
'string'
,
message
:
'名称(%) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_reportname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_reportname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/dareport/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
prop
:
'report_name'
,
prop
:
'report_name'
,
dataType
:
'TEXT'
,
dataType
:
'TEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'TEXT'
,
},
]
]
}
}
...
...
app_web/src/widgets/dareport/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -71,6 +71,11 @@ export default class MainModel {
...
@@ -71,6 +71,11 @@ export default class MainModel {
prop
:
'n_reportname_like'
,
prop
:
'n_reportname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/dst-system/default-searchform/default-searchform-base.vue
0 → 100644
浏览文件 @
bf0a12d0
<
template
>
<i-form
:model=
"this.data"
class=
'app-search-form'
ref=
'searchform'
style=
""
>
<input
style=
"display:none;"
/>
<row>
<i-col
span=
"20"
class=
"form-content"
>
<row>
<i-col
v-show=
"detailsModel.n_pssystemname_like.visible"
:style=
"
{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'n_pssystemname_like'
:itemRules=
"this.rules.n_pssystemname_like"
class=
''
:caption=
"$t('entities.dstsystem.default_searchform.details.n_pssystemname_like')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_pssystemname_like.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.n_pssystemname_like"
@
enter=
"onEnter($event)"
:disabled=
"detailsModel.n_pssystemname_like.disabled"
type=
'text'
style=
""
>
</input-box>
</app-form-item>
</i-col>
</row>
</i-col>
<i-col
span=
"4"
class=
"search-button"
>
<row
v-show=
"Object.keys(data).length>0"
>
<i-button
class=
'search_reset'
size=
"default"
type=
"primary"
@
click=
"onSearch"
>
{{
$t
(
'app.searchButton.search'
)
}}
</i-button>
<i-button
class=
'search_reset'
size=
"default"
@
click=
"onReset"
>
{{
this
.
$t
(
'app.searchButton.reset'
)
}}
</i-button>
</row>
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
,
ViewTool
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
AppCenterService
from
"@service/app/app-center-service"
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
DefaultService
from
'./default-searchform-service'
;
import
DstSystemUIService
from
'@/uiservice/dst-system/dst-system-ui-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
@
Component
({
components
:
{
}
})
export
default
class
DefaultBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof DefaultBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof DefaultBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof DefaultBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof DefaultBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DefaultBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof DefaultBase
*/
public
getControlType
():
string
{
return
'SEARCHFORM'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof DefaultBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {DefaultService}
* @memberof DefaultBase
*/
public
service
:
DefaultService
=
new
DefaultService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {DstSystemService}
* @memberof DefaultBase
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof DefaultBase
*/
public
transformData
(
args
:
any
)
{
let
_this
:
any
=
this
;
if
(
_this
.
service
&&
_this
.
service
.
handleRequestData
instanceof
Function
&&
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)){
return
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)[
'data'
];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof DefaultBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof DefaultBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof DefaultBase
*/
public
getDatas
():
any
[]
{
return
[
this
.
data
];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof DefaultBase
*/
public
getData
():
any
{
return
this
.
data
;
}
/**
* 显示处理提示
*
* @type {boolean}
* @memberof DefaultBase
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--loaddraft
*
* @type {string}
* @memberof DefaultBase
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
/**
* 部件行为--load
*
* @type {string}
* @memberof DefaultBase
*/
@
Prop
()
public
loadAction
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof DefaultBase
*/
@
Prop
()
public
viewtag
!
:
string
;
/**
* 表单状态
*
* @type {Subject<any>}
* @memberof DefaultBase
*/
public
formState
:
Subject
<
any
>
=
new
Subject
();
/**
* 忽略表单项值变化
*
* @type {boolean}
* @memberof DefaultBase
*/
public
ignorefieldvaluechange
:
boolean
=
false
;
/**
* 数据变化
*
* @public
* @type {Subject<any>}
* @memberof DefaultBase
*/
public
dataChang
:
Subject
<
any
>
=
new
Subject
();
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof DefaultBase
*/
public
dataChangEvent
:
Subscription
|
undefined
;
/**
* 原始数据
*
* @public
* @type {*}
* @memberof DefaultBase
*/
public
oldData
:
any
=
{};
/**
* 表单数据对象
*
* @type {*}
* @memberof DefaultBase
*/
public
data
:
any
=
{
n_pssystemname_like
:
null
,
};
/**
* 详情模型集合
*
* @type {*}
* @memberof DefaultBase
*/
public
detailsModel
:
any
=
{
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
n_pssystemname_like
:
new
FormItemModel
({
caption
:
'系统名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_pssystemname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
};
/**
* 属性值规则
*
* @type {*}
* @memberof DefaultBase
*/
public
rules
:
any
=
{
n_pssystemname_like
:
[
{
type
:
'string'
,
message
:
'系统名称(文本包含(%)) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统名称(文本包含(%)) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_pssystemname_like
.
required
,
type
:
'string'
,
message
:
'系统名称(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_pssystemname_like
.
required
,
type
:
'string'
,
message
:
'系统名称(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
* 监控表单属性 n_pssystemname_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_pssystemname_like'
)
onN_pssystemname_likeChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_pssystemname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 重置表单项值
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof DefaultBase
*/
public
resetFormData
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 表单逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof DefaultBase
*/
public
formLogic
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 表单值变化
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @returns {void}
* @memberof DefaultBase
*/
public
formDataChange
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
if
(
this
.
ignorefieldvaluechange
)
{
return
;
}
this
.
resetFormData
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formLogic
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
dataChang
.
next
(
JSON
.
stringify
(
this
.
data
));
}
/**
* 表单加载完成
*
* @public
* @param {*} [data={}]
* @param {string} [action]
* @memberof DefaultBase
*/
public
onFormLoad
(
data
:
any
=
{},
action
:
string
):
void
{
this
.
setFormEnableCond
(
data
);
this
.
fillForm
(
data
,
action
);
this
.
formLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
}
/**
* 值填充
*
* @param {*} [_datas={}]
* @param {string} [action]
* @memberof DefaultBase
*/
public
fillForm
(
_datas
:
any
=
{},
action
:
string
):
void
{
this
.
ignorefieldvaluechange
=
true
;
Object
.
keys
(
_datas
).
forEach
((
name
:
string
)
=>
{
if
(
this
.
data
.
hasOwnProperty
(
name
))
{
this
.
data
[
name
]
=
_datas
[
name
];
}
});
if
(
Object
.
is
(
action
,
'loadDraft'
)){
this
.
createDefault
();
}
this
.
$nextTick
(
function
()
{
this
.
ignorefieldvaluechange
=
false
;
})
}
/**
* 设置表单项是否启用
*
* @public
* @param {*} data
* @memberof DefaultBase
*/
public
setFormEnableCond
(
data
:
any
):
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setEnableCond
(
data
.
srfuf
);
});
}
/**
* 新建默认值
* @memberof DefaultBase
*/
public
createDefault
(){
}
/**
* 重置草稿表单状态
*
* @public
* @memberof DefaultBase
*/
public
resetDraftFormStates
():
void
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
resetFields
();
}
}
/**
* 重置校验结果
*
* @memberof DefaultBase
*/
public
resetValidates
():
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setError
(
''
);
});
}
/**
* 填充校验结果 (后台)
*
* @param {any[]} fieldErrors
* @memberof DefaultBase
*/
public
fillValidates
(
fieldErrors
:
any
[]):
void
{
fieldErrors
.
forEach
((
error
:
any
)
=>
{
const
formItem
:
FormItemModel
=
this
.
detailsModel
[
error
.
field
];
if
(
!
formItem
)
{
return
;
}
this
.
$nextTick
(()
=>
{
formItem
.
setError
(
error
.
message
);
});
});
}
/**
* 表单校验状态
*
* @returns {boolean}
* @memberof DefaultBase
*/
public
formValidateStatus
():
boolean
{
const
form
:
any
=
this
.
$refs
.
searchform
;
let
validatestate
:
boolean
=
true
;
form
.
validate
((
valid
:
boolean
)
=>
{
validatestate
=
valid
?
true
:
false
;
});
return
validatestate
}
/**
* 获取全部值
*
* @returns {*}
* @memberof DefaultBase
*/
public
getValues
():
any
{
return
this
.
data
;
}
/**
* 表单项值变更
*
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof DefaultBase
*/
public
onFormItemValueChange
(
$event
:
{
name
:
string
,
value
:
any
}):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
this
.
data
[
$event
.
name
]
=
$event
.
value
;
}
/**
* 设置数据项值
*
* @param {string} name
* @param {*} value
* @returns {void}
* @memberof DefaultBase
*/
public
setDataItemValue
(
name
:
string
,
value
:
any
):
void
{
if
(
!
name
||
Object
.
is
(
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
name
))
{
return
;
}
if
(
Object
.
is
(
this
.
data
[
name
],
value
))
{
return
;
}
this
.
data
[
name
]
=
value
;
}
/**
* 分组界面行为事件
*
* @param {*} $event
* @memberof DefaultBase
*/
public
groupUIActionClick
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
const
item
:
any
=
$event
.
item
;
}
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof DefaultBase
*/
public
created
():
void
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof DefaultBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'autoload'
,
action
))
{
this
.
autoLoad
(
data
);
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
this
.
loadDraft
(
data
);
}
});
}
}
/**
* vue 生命周期
*
* @memberof DefaultBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof DefaultBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
if
(
this
.
dataChangEvent
)
{
this
.
dataChangEvent
.
unsubscribe
();
}
}
/**
* 自动加载
*
* @param {*} [arg={}]
* @returns {void}
* @memberof DefaultBase
*/
public
autoLoad
(
arg
:
any
=
{}):
void
{
if
(
arg
.
srfkey
&&
!
Object
.
is
(
arg
.
srfkey
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkey
});
this
.
load
(
arg
);
return
;
}
if
(
arg
.
srfkeys
&&
!
Object
.
is
(
arg
.
srfkeys
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkeys
});
this
.
load
(
arg
);
return
;
}
this
.
loadDraft
(
arg
);
}
/**
* 加载
*
* @public
* @param {*} [opt={}]
* @memberof DefaultBase
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loadAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
get
:
Promise
<
any
>
=
this
.
service
.
get
(
this
.
loadAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
get
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
}
}).
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
;
}
const
{
data
:
_data
}
=
response
;
this
.
$Notice
.
error
({
title
:
_data
.
title
,
desc
:
_data
.
message
});
});
}
/**
* 加载草稿
*
* @param {*} [opt={}]
* @memberof DefaultBase
*/
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.searchForm.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
let
post
:
Promise
<
any
>
=
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
errorMessage
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
errorMessage
});
}
return
;
}
const
data
=
response
.
data
;
this
.
resetDraftFormStates
();
this
.
onFormLoad
(
data
,
'loadDraft'
);
setTimeout
(()
=>
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
fields
.
forEach
((
field
:
any
)
=>
{
field
.
validateMessage
=
""
;
field
.
validateState
=
""
;
field
.
validateStatus
=
false
;
});
}
});
if
(
Object
.
is
(
mode
,
'RESET'
)){
if
(
!
this
.
formValidateStatus
())
{
return
;
}
}
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
}).
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
;
}
const
{
data
:
_data
}
=
response
;
this
.
$Notice
.
error
({
title
:
_data
.
title
,
desc
:
_data
.
message
});
});
}
/**
* 表单项更新
*
* @param {string} mode 界面行为名称
* @param {*} [data={}] 请求数据
* @param {string[]} updateDetails 更新项
* @param {boolean} [showloading] 是否显示加载状态
* @returns {void}
* @memberof DefaultBase
*/
public
updateFormItems
(
mode
:
string
,
data
:
any
=
{},
updateDetails
:
string
[],
showloading
?:
boolean
):
void
{
}
/**
* 回车事件
*
* @param {*} $event
* @memberof DefaultBase
*/
public
onEnter
(
$event
:
any
):
void
{
if
(
!
this
.
formValidateStatus
())
{
return
;
}
this
.
$emit
(
'search'
,
this
.
data
);
}
/**
* 搜索
*
* @memberof DefaultBase
*/
public
onSearch
()
{
if
(
!
this
.
formValidateStatus
())
{
return
;
}
this
.
$emit
(
'search'
,
this
.
data
);
}
/**
* 重置
*
* @memberof DefaultBase
*/
public
onReset
()
{
this
.
loadDraft
({},
'RESET'
);
}
}
</
script
>
<
style
lang=
'less'
>
@import './default-searchform.less';
</
style
>
\ No newline at end of file
app_web/src/widgets/dst-system/default-searchform/default-searchform-model.ts
0 → 100644
浏览文件 @
bf0a12d0
/**
* Default 部件模型
*
* @export
* @class DefaultModel
*/
export
default
class
DefaultModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DefaultModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'n_pssystemname_like'
,
prop
:
'pssystemname'
,
dataType
:
'TEXT'
,
},
]
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/default-searchform/default-searchform-service.ts
0 → 100644
浏览文件 @
bf0a12d0
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
DefaultModel
from
'./default-searchform-model'
;
/**
* Default 部件服务对象
*
* @export
* @class DefaultService
*/
export
default
class
DefaultService
extends
ControlService
{
/**
* 系统服务对象
*
* @type {DstSystemService}
* @memberof DefaultService
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof DefaultService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of DefaultService.
*
* @param {*} [opts={}]
* @memberof DefaultService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
DefaultModel
();
}
/**
* 远端数据
*
* @type {*}
* @memberof DefaultService
*/
private
remoteCopyData
:
any
=
{};
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof DefaultService
*/
private
doItems
(
promise
:
Promise
<
any
>
,
deKeyField
:
string
,
deName
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
data
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
item
[
deName
]
=
item
[
deKeyField
];
data
[
index
]
=
item
;
});
resolve
(
data
);
}
else
{
reject
([])
}
}).
catch
((
response
:
any
)
=>
{
reject
([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof DefaultService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
return
Promise
.
reject
([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
wfstart
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
,
true
);
context
=
this
.
handleRequestData
(
action
,
context
,
data
).
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
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFStart
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
wfsubmit
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
,
true
);
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
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFSubmit
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isWorkflow] 是否在工作流中添加数据
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isWorkflow
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
if
(
isWorkflow
){
resolve
(
response
);
}
else
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isWorkflow] 是否在工作流中修改数据
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isWorkflow
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
if
(
isWorkflow
){
resolve
(
response
);
}
else
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Get
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setRemoteCopyData
(
response
);
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setRemoteCopyData
(
response
);
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof DefaultService
*/
@
Errorlog
public
frontLogic
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
return
Promise
.
reject
({
status
:
500
,
data
:
{
title
:
'失败'
,
message
:
'系统异常'
}
});
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof DefaultService
*/
public
handleRequestData
(
action
:
string
,
context
:
any
,
data
:
any
=
{},
isMerge
:
boolean
=
false
){
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
let
requestData
:
any
=
{};
if
(
isMerge
&&
(
data
&&
data
.
viewparams
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
formItemItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
'FONTKEY'
)){
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
context
[
item
.
name
];
}
}
else
{
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
else
{
if
(
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
"FORMPART"
)){
Object
.
assign
(
requestData
,
data
[
item
.
name
]);
}
}
}
});
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
/**
* 通过属性名称获取表单项名称
*
* @param name 实体属性名称
* @memberof DefaultService
*/
public
getItemNameByDeName
(
name
:
string
)
:
string
{
let
itemName
=
name
;
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
name
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
formItemItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
prop
===
name
){
itemName
=
item
.
name
;
}
});
return
itemName
.
trim
();
}
/**
* 重写处理返回数据
*
* @param {string} action
* @param {*} response
* @memberof DefaultService
*/
public
handleResponseData
(
action
:
string
,
data
:
any
=
{},
isCreate
?:
boolean
,
codelistArray
?:
any
){
let
model
:
any
=
this
.
getMode
();
if
(
!
model
&&
model
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
item
:
any
=
{};
let
dataItems
:
any
[]
=
model
.
getDataItems
();
dataItems
.
forEach
(
dataitem
=>
{
let
val
=
data
.
hasOwnProperty
(
dataitem
.
prop
)
?
data
[
dataitem
.
prop
]
:
null
;
if
(
val
===
null
)
{
val
=
data
.
hasOwnProperty
(
dataitem
.
name
)
?
data
[
dataitem
.
name
]
:
null
;
}
if
((
isCreate
===
undefined
||
isCreate
===
null
)
&&
Object
.
is
(
dataitem
.
dataType
,
'GUID'
)
&&
Object
.
is
(
dataitem
.
name
,
'srfkey'
)
&&
(
val
&&
!
Object
.
is
(
val
,
''
))){
isCreate
=
true
;
}
item
[
dataitem
.
name
]
=
val
;
// 转化代码表
if
(
codelistArray
&&
dataitem
.
codelist
){
if
(
codelistArray
.
get
(
dataitem
.
codelist
.
tag
)
&&
codelistArray
.
get
(
dataitem
.
codelist
.
tag
).
get
(
val
)){
item
[
dataitem
.
name
]
=
codelistArray
.
get
(
dataitem
.
codelist
.
tag
).
get
(
val
);
}
}
});
item
.
srfuf
=
data
.
srfuf
?
data
.
srfuf
:
(
isCreate
?
"0"
:
"1"
);
item
=
Object
.
assign
(
data
,
item
);
return
item
;
}
/**
* 设置远端数据
*
* @param result 远端请求结果
* @memberof DefaultService
*/
public
setRemoteCopyData
(
result
:
any
){
if
(
result
&&
result
.
status
===
200
)
{
this
.
remoteCopyData
=
Util
.
deepCopy
(
result
.
data
);
}
}
/**
* 获取远端数据
*
* @memberof DefaultService
*/
public
getRemoteCopyData
(){
return
this
.
remoteCopyData
;
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/default-searchform/default-searchform.less
0 → 100644
浏览文件 @
bf0a12d0
.ivu-tabs-no-animation>.ivu-tabs-content{
padding: 0 16px;
}
.ivu-card-head{
padding: 14px 0;
}
.app-search-form {
padding: 8px 14px 0;
.ivu-form-item{
margin-bottom: 8px;
}
.search_reset {
margin-right: 12px;
margin-bottom: 8px;
}
.search-button{
text-align: right;
}
}
.app-search-form-flex {
height: 100%;
> .ivu-row {
height: 100%;
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-content {
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
}
}
.app-tabpanel-flex {
height: 100%;
> .ivu-tabs-content {
height: calc(100% - 52px);
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
// this is less
app_web/src/widgets/dst-system/default-searchform/default-searchform.vue
0 → 100644
浏览文件 @
bf0a12d0
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
DefaultBase
from
'./default-searchform-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Default
extends
DefaultBase
{
}
</
script
>
\ No newline at end of file
app_web/src/widgets/dst-system/main-form/main-form-base.vue
0 → 100644
浏览文件 @
bf0a12d0
<
template
>
<i-form
:model=
"this.data"
class=
'app-form'
ref=
'form'
id=
'dstsystem_main'
style=
""
@
on-validate=
"formItemValidate"
>
<input
style=
"display:none;"
/>
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
:uiService=
"appUIService"
:data=
"transformData(data)"
:manageContainerStatus=
"detailsModel.group1.manageContainerStatus"
:isManageContainer=
"detailsModel.group1.isManageContainer"
@
managecontainerclick=
"manageContainerClick('group1')"
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.dstsystem.main_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.pssystemid.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'pssystemid'
:itemRules=
"this.rules().pssystemid"
class=
''
:caption=
"$t('entities.dstsystem.main_form.details.pssystemid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.pssystemid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.pssystemid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.pssystemid.disabled"
type=
'text'
style=
""
>
</input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.pssystemname.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'pssystemname'
:itemRules=
"this.rules().pssystemname"
class=
''
:caption=
"$t('entities.dstsystem.main_form.details.pssystemname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.pssystemname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.pssystemname"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.pssystemname.disabled"
type=
'text'
style=
""
>
</input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.showorder.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'showorder'
:itemRules=
"this.rules().showorder"
class=
''
:caption=
"$t('entities.dstsystem.main_form.details.showorder')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.showorder.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.showorder"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.showorder.disabled"
type=
'number'
style=
""
>
</input-box>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
,
ViewTool
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
AppCenterService
from
"@service/app/app-center-service"
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
MainService
from
'./main-form-service'
;
import
DstSystemUIService
from
'@/uiservice/dst-system/dst-system-ui-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
import
schema
from
'async-validator'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
MainBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof MainBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof MainBase
*/
public
getControlType
():
string
{
return
'FORM'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof MainBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainBase
*/
public
service
:
MainService
=
new
MainService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {DstSystemService}
* @memberof MainBase
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof MainBase
*/
public
transformData
(
args
:
any
)
{
let
_this
:
any
=
this
;
if
(
_this
.
service
&&
_this
.
service
.
handleRequestData
instanceof
Function
&&
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)){
return
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)[
'data'
];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof MainBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof MainBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 视图默认使用
*
* @type {string}
* @memberof MainBase
*/
@
Inject
({
from
:
'navModel'
,
default
:
'tab'
})
public
navModel
!
:
string
;
/**
* 主键表单项名称
*
* @protected
* @type {string}
* @memberof MainBase
*/
public
formKeyItemName
:
string
=
'pssystemid'
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
* @type {DstSystemUIService}
* @memberof MainBase
*/
public
appUIService
:
DstSystemUIService
=
new
DstSystemUIService
(
this
.
$store
);
/**
* 工作流审批意见控件绑定值
*
* @memberof MainBase
*/
public
srfwfmemo
:
string
=
""
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MainBase
*/
public
getDatas
():
any
[]
{
return
[
this
.
data
];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MainBase
*/
public
getData
():
any
{
return
this
.
data
;
}
/**
* 是否默认保存
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
autosave
?:
boolean
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--submit
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
WFSubmitAction
!
:
string
;
/**
* 部件行为--start
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
WFStartAction
!
:
string
;
/**
* 部件行为--update
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
updateAction
!
:
string
;
/**
* 部件行为--remove
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
removeAction
!
:
string
;
/**
* 部件行为--loaddraft
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
/**
* 部件行为--load
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loadAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
createAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
searchAction
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
viewtag
!
:
string
;
/**
* 表单状态
*
* @type {Subject<any>}
* @memberof MainBase
*/
public
formState
:
Subject
<
any
>
=
new
Subject
();
/**
* 忽略表单项值变化
*
* @type {boolean}
* @memberof MainBase
*/
public
ignorefieldvaluechange
:
boolean
=
false
;
/**
* 数据变化
*
* @public
* @type {Subject<any>}
* @memberof MainBase
*/
public
dataChang
:
Subject
<
any
>
=
new
Subject
();
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
dataChangEvent
:
Subscription
|
undefined
;
/**
* 原始数据
*
* @public
* @type {*}
* @memberof MainBase
*/
public
oldData
:
any
=
{};
/**
* 混入表单数据对象
*
* @type {*}
* @memberof MainBase
*/
public
mixinData
:
any
=
{};
/**
* 表单项校验错误提示信息
*
* @memberof MainBase
*/
public
errorMessages
:
Array
<
any
>
=
[];
/**
* 设置表单项错误提示信息
*
* @param {*} prop 表单项字段名
* @param {*} status 校验状态
* @param {*} error 错误信息
* @memberof MainBase
*/
public
formItemValidate
(
prop
:
string
,
status
:
boolean
,
error
:
string
){
error
=
error
?
error
:
''
;
if
(
this
.
errorMessages
&&
this
.
errorMessages
.
length
>
0
){
const
index
=
this
.
errorMessages
.
findIndex
((
errorMessage
:
any
)
=>
Object
.
is
(
errorMessage
.
prop
,
prop
));
if
(
index
!=
-
1
){
this
.
errorMessages
[
index
].
error
=
error
;
}
else
{
this
.
errorMessages
.
push
({
prop
:
prop
,
error
:
error
});
}
}
else
{
this
.
errorMessages
.
push
({
prop
:
prop
,
error
:
error
});
}
}
/**
* 表单数据对象
*
* @type {*}
* @memberof MainBase
*/
public
data
:
any
=
{
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
pssystemid
:
null
,
pssystemname
:
null
,
showorder
:
null
,
dstsystem
:
null
,
};
/**
* 当前执行的行为逻辑
*
* @type {string}
* @memberof MainBase
*/
public
currentAction
:
string
=
""
;
/**
* 关系界面计数器
*
* @type {number}
* @memberof MainBase
*/
public
drcounter
:
number
=
0
;
/**
* 需要等待关系界面保存时,第一次调用save参数的备份
*
* @type {number}
* @memberof MainBase
*/
public
drsaveopt
:
any
=
{};
/**
* 表单保存回调存储对象
*
* @type {any}
* @memberof MainBase
*/
public
saveState
:
any
;
/**
* 主信息属性映射表单项名称
*
* @type {string}
* @memberof MainBase
*/
public
majorMessageField
:
string
=
"pssystemname"
;
/**
* 值规则
*
* @type {*}
* @memberof MainBase
*/
public
rules
()
:
any
{
return
{
pssystemid
:
[
{
required
:
this
.
detailsModel
.
pssystemid
.
required
,
type
:
'string'
,
message
:
'系统标识 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
pssystemid
.
required
,
type
:
'string'
,
message
:
'系统标识 值不能为空'
,
trigger
:
'blur'
},
],
pssystemname
:
[
{
required
:
this
.
detailsModel
.
pssystemname
.
required
,
type
:
'string'
,
message
:
'系统名称 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
pssystemname
.
required
,
type
:
'string'
,
message
:
'系统名称 值不能为空'
,
trigger
:
'blur'
},
],
showorder
:
[
{
required
:
this
.
detailsModel
.
showorder
.
required
,
type
:
'number'
,
message
:
'排序 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
showorder
.
required
,
type
:
'number'
,
message
:
'排序 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof MainBase
*/
public
deRules
:
any
=
{
};
/**
* 校验属性值规则
*
* @public
* @param {{ name: string }} { name }
* @memberof MainBase
*/
public
verifyDeRules
(
name
:
string
,
rule
:
any
=
this
.
deRules
,
op
:
string
=
"AND"
)
:{
isPast
:
boolean
,
infoMessage
:
string
}{
let
falg
:
any
=
{
infoMessage
:
""
};
if
(
!
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
];
let
dataValue
=
item
.
deName
?
this
.
data
[
this
.
service
.
getItemNameByDeName
(
item
.
deName
)]:
""
;
item
.
ruleInfo
=
item
.
ruleInfo
?
item
.
ruleInfo
:
this
.
$t
(
'app.formpage.valuecheckex'
);
if
((
dataValue
===
null
||
dataValue
===
undefined
||
dataValue
===
""
)
&&
(
item
.
type
!=
'GROUP'
)){
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
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
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
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
(
dataValue
,
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"
);
if
(
item
.
isNotMode
){
falg
.
isPast
=
!
falg
.
isPast
;
}
if
(
!
falg
.
isPast
)
return
falg
;
}
}
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
}
/**
* 详情模型集合
*
* @type {*}
* @memberof MainBase
*/
public
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'系统基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
isControlledContent
:
false
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.dstsystem.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
},
isManageContainer
:
false
,
showMoreModeItems
:
[]
})
,
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
})
,
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srfkey
:
new
FormItemModel
({
caption
:
'系统标识'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'系统名称'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
pssystemid
:
new
FormItemModel
({
caption
:
'系统标识'
,
detailType
:
'FORMITEM'
,
name
:
'pssystemid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
pssystemname
:
new
FormItemModel
({
caption
:
'系统名称'
,
detailType
:
'FORMITEM'
,
name
:
'pssystemname'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
showorder
:
new
FormItemModel
({
caption
:
'排序'
,
detailType
:
'FORMITEM'
,
name
:
'showorder'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
isControlledContent
:
false
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
};
/**
* 监控表单属性 srforikey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srforikey'
)
onSrforikeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srforikey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfkey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srfkey'
)
onSrfkeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfkey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfmajortext 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srfmajortext'
)
onSrfmajortextChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfmajortext'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srftempmode 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srftempmode'
)
onSrftempmodeChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srftempmode'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfuf 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srfuf'
)
onSrfufChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfuf'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfdeid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srfdeid'
)
onSrfdeidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfdeid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfsourcekey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.srfsourcekey'
)
onSrfsourcekeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfsourcekey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 pssystemid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.pssystemid'
)
onPssystemidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'pssystemid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 pssystemname 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.pssystemname'
)
onPssystemnameChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'pssystemname'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 showorder 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'data.showorder'
)
onShoworderChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'showorder'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 显示更多模式切换操作
*
* @type {string}
* @memberof MainBase
*/
public
manageContainerClick
(
name
:
string
){
let
model
=
this
.
detailsModel
[
name
];
if
(
model
.
isManageContainer
){
model
.
setManageContainerStatus
(
!
model
.
manageContainerStatus
);
model
.
showMoreModeItems
.
forEach
((
item
:
any
)
=>
{
if
(
this
.
detailsModel
[
item
].
isControlledContent
){
this
.
detailsModel
[
item
].
setVisible
(
model
.
manageContainerStatus
?
this
.
detailsModel
[
item
].
oldVisible
:
false
);
}
});
}
}
/**
* 重置表单项值
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public
resetFormData
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 置空对象
*
* @param {any[]} args
* @memberof MainBase
*/
public
ResetData
(
_datas
:
any
){
if
(
Object
.
keys
(
_datas
).
length
>
0
){
Object
.
keys
(
_datas
).
forEach
((
name
:
string
)
=>
{
if
(
this
.
data
.
hasOwnProperty
(
name
))
{
this
.
data
[
name
]
=
null
;
}
});
}
}
/**
* 表单逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public
async
formLogic
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}){
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public
checkItem
(
name
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
var
validator
=
new
schema
({[
name
]:
this
.
rules
()[
name
]});
validator
.
validate
({[
name
]:
this
.
data
[
name
]}).
then
(()
=>
{
resolve
(
true
);
})
.
catch
(()
=>
{
resolve
(
false
);
});;
})
}
/**
* 表单值变化
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @returns {void}
* @memberof MainBase
*/
public
formDataChange
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
if
(
this
.
ignorefieldvaluechange
)
{
return
;
}
this
.
resetFormData
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formLogic
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
dataChang
.
next
(
JSON
.
stringify
(
this
.
data
));
}
/**
* 表单加载完成
*
* @public
* @param {*} [data={}]
* @param {string} [action]
* @memberof MainBase
*/
public
onFormLoad
(
data
:
any
=
{},
action
:
string
):
void
{
if
(
Object
.
is
(
action
,
"save"
)
||
Object
.
is
(
action
,
"autoSave"
)
||
Object
.
is
(
action
,
"submit"
))
// 更新context的实体主键
if
(
data
.
dstsystem
){
Object
.
assign
(
this
.
context
,{
dstsystem
:
data
.
dstsystem
})
}
this
.
setFormEnableCond
(
data
);
this
.
computeButtonState
(
data
);
this
.
fillForm
(
data
,
action
);
this
.
oldData
=
{};
Object
.
assign
(
this
.
oldData
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
)));
this
.
$store
.
commit
(
'viewaction/setViewDataChange'
,
{
viewtag
:
this
.
viewtag
,
viewdatachange
:
false
});
this
.
formLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
}
/**
* 值填充
*
* @param {*} [_datas={}]
* @param {string} [action]
* @memberof MainBase
*/
public
fillForm
(
_datas
:
any
=
{},
action
:
string
):
void
{
this
.
mixinData
=
_datas
;
this
.
ignorefieldvaluechange
=
true
;
Object
.
keys
(
_datas
).
forEach
((
name
:
string
)
=>
{
if
(
this
.
data
.
hasOwnProperty
(
name
))
{
this
.
data
[
name
]
=
_datas
[
name
];
}
});
if
(
Object
.
is
(
action
,
'loadDraft'
)){
this
.
createDefault
();
}
if
(
Object
.
is
(
action
,
'load'
)){
this
.
updateDefault
();
}
this
.
$nextTick
(
function
()
{
this
.
ignorefieldvaluechange
=
false
;
})
}
/**
* 设置表单项是否启用
*
* @public
* @param {*} data
* @memberof MainBase
*/
public
setFormEnableCond
(
data
:
any
):
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setEnableCond
(
data
.
srfuf
);
});
}
/**
* 重置草稿表单状态
*
* @public
* @memberof MainBase
*/
public
resetDraftFormStates
():
void
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
resetFields
();
}
}
/**
* 重置校验结果
*
* @memberof MainBase
*/
public
resetValidates
():
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setError
(
''
);
});
}
/**
* 填充校验结果 (后台)
*
* @param {any[]} fieldErrors
* @memberof MainBase
*/
public
fillValidates
(
fieldErrors
:
any
[]):
void
{
fieldErrors
.
forEach
((
error
:
any
)
=>
{
const
formItem
:
FormItemModel
=
this
.
detailsModel
[
error
.
field
];
if
(
!
formItem
)
{
return
;
}
this
.
$nextTick
(()
=>
{
formItem
.
setError
(
error
.
message
);
});
});
}
/**
* 表单校验状态
*
* @returns {boolean}
* @memberof MainBase
*/
public
formValidateStatus
():
boolean
{
const
form
:
any
=
this
.
$refs
.
form
;
let
validatestate
:
boolean
=
true
;
form
.
validate
((
valid
:
boolean
)
=>
{
validatestate
=
valid
?
true
:
false
;
});
return
validatestate
}
/**
* 获取全部值
*
* @returns {*}
* @memberof MainBase
*/
public
getValues
():
any
{
return
this
.
data
;
}
/**
* 表单项值变更
*
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof MainBase
*/
public
onFormItemValueChange
(
$event
:
{
name
:
string
,
value
:
any
}):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
this
.
data
[
$event
.
name
]
=
$event
.
value
;
}
/**
* 编辑器行为触发
*
* @param {*} arg
* @returns {void}
* @memberof MainBase
*/
public
onFormItemActionClick
(
arg
:
any
){
if
(
arg
&&
(
arg
instanceof
Function
))
arg
();
}
/**
* 设置数据项值
*
* @param {string} name
* @param {*} value
* @returns {void}
* @memberof MainBase
*/
public
setDataItemValue
(
name
:
string
,
value
:
any
):
void
{
if
(
!
name
||
Object
.
is
(
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
name
))
{
return
;
}
if
(
Object
.
is
(
this
.
data
[
name
],
value
))
{
return
;
}
this
.
data
[
name
]
=
value
;
}
/**
* 计算表单按钮权限状态
*
* @param {*} [data] 传入数据
* @memberof MainBase
*/
public
computeButtonState
(
data
:
any
){
let
targetData
:
any
=
this
.
transformData
(
data
);
if
(
this
.
detailsModel
&&
Object
.
keys
(
this
.
detailsModel
).
length
>
0
){
Object
.
keys
(
this
.
detailsModel
).
forEach
((
name
:
any
)
=>
{
if
(
this
.
detailsModel
[
name
]
&&
this
.
detailsModel
[
name
].
uiaction
&&
this
.
detailsModel
[
name
].
uiaction
.
dataaccaction
&&
Object
.
is
(
this
.
detailsModel
[
name
].
detailType
,
"BUTTON"
)){
this
.
detailsModel
[
name
].
isPower
=
true
;
let
tempUIAction
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
detailsModel
[
name
].
uiaction
));
let
result
:
any
[]
=
ViewTool
.
calcActionItemAuthState
(
targetData
,[
tempUIAction
],
this
.
appUIService
);
this
.
detailsModel
[
name
].
visible
=
tempUIAction
.
visabled
;
this
.
detailsModel
[
name
].
disabled
=
tempUIAction
.
disabled
;
this
.
detailsModel
[
name
].
isPower
=
result
[
0
]
===
1
?
true
:
false
;
}
})
}
}
/**
* 分组界面行为事件
*
* @param {*} $event
* @memberof MainBase
*/
public
groupUIActionClick
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
const
item
:
any
=
$event
.
item
;
}
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof MainBase
*/
public
created
():
void
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'autoload'
,
action
))
{
this
.
autoLoad
(
data
);
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
this
.
loadDraft
(
data
);
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
if
(
Object
.
is
(
'remove'
,
action
))
{
this
.
remove
(
data
);
}
if
(
Object
.
is
(
'saveandexit'
,
action
))
{
this
.
saveAndExit
(
data
);
}
if
(
Object
.
is
(
'saveandnew'
,
action
))
{
this
.
saveAndNew
(
data
);
}
if
(
Object
.
is
(
'removeandexit'
,
action
))
{
this
.
removeAndExit
(
data
);
}
if
(
Object
.
is
(
'refresh'
,
action
))
{
this
.
refresh
(
data
);
}
if
(
Object
.
is
(
'panelaction'
,
action
))
{
this
.
panelAction
(
data
.
action
,
data
.
emitAction
,
data
.
data
);
}
});
}
this
.
dataChang
.
pipe
(
debounceTime
(
300
),
distinctUntilChanged
()
).
subscribe
((
data
:
any
)
=>
{
if
(
this
.
autosave
)
{
this
.
autoSave
();
}
const
state
=
!
Object
.
is
(
JSON
.
stringify
(
this
.
oldData
),
JSON
.
stringify
(
this
.
data
))
?
true
:
false
;
this
.
$store
.
commit
(
'viewaction/setViewDataChange'
,
{
viewtag
:
this
.
viewtag
,
viewdatachange
:
state
});
});
}
/**
* vue 生命周期
*
* @memberof MainBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MainBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
if
(
this
.
dataChangEvent
)
{
this
.
dataChangEvent
.
unsubscribe
();
}
}
/**
*打印
*@memberof @memberof MainBase
*/
public
print
(){
let
_this
:
any
=
this
;
_this
.
$print
({
id
:
'dstsystem_main'
,
popTitle
:
'主编辑表单'
});
}
/**
* 部件刷新
*
* @param {any} args
* @memberof MainBase
*/
public
refresh
(
args
?:
any
):
void
{
let
arg
:
any
=
{};
Object
.
assign
(
arg
,
args
?
args
[
0
]:{});
if
(
this
.
data
.
srfkey
&&
!
Object
.
is
(
this
.
data
.
srfkey
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
this
.
data
.
srfkey
});
this
.
load
(
arg
);
return
;
}
if
(
this
.
data
.
srfkeys
&&
!
Object
.
is
(
this
.
data
.
srfkeys
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
this
.
data
.
srfkeys
});
this
.
load
(
arg
);
return
;
}
}
/**
* 自动加载
*
* @param {*} [arg={}]
* @returns {void}
* @memberof MainBase
*/
public
autoLoad
(
arg
:
any
=
{}):
void
{
if
(
arg
.
srfkey
&&
!
Object
.
is
(
arg
.
srfkey
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkey
});
this
.
load
(
arg
);
return
;
}
if
(
arg
.
srfkeys
&&
!
Object
.
is
(
arg
.
srfkeys
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkeys
});
this
.
load
(
arg
);
return
;
}
this
.
loadDraft
(
arg
);
}
/**
* 加载
*
* @public
* @param {*} [opt={}]
* @memberof MainBase
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemEditView'
+
(
this
.
$t
(
'app.formpage.notconfig.loadaction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
};
let
viewparamResult
:
any
=
Object
.
assign
(
arg
,
this
.
viewparams
);
const
get
:
Promise
<
any
>
=
this
.
service
.
get
(
this
.
loadAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{
viewparams
:
viewparamResult
},
this
.
showBusyIndicator
);
get
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'load'
);
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
}
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
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
;
}
});
}
/**
* 加载草稿
*
* @param {*} [opt={}]
* @memberof MainBase
*/
public
loadDraft
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemEditView'
+
(
this
.
$t
(
'app.formpage.notconfig.loaddraftaction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
let
viewparamResult
:
any
=
Object
.
assign
(
arg
,
this
.
viewparams
);
let
post
:
Promise
<
any
>
=
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{
viewparams
:
viewparamResult
},
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
resetDraftFormStates
();
this
.
onFormLoad
(
data
,
'loadDraft'
);
this
.
data
.
pssystemid
=
null
;
data
.
dstsystem
=
null
;
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
setTimeout
(()
=>
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
fields
.
forEach
((
field
:
any
)
=>
{
field
.
validateMessage
=
""
;
field
.
validateState
=
""
;
field
.
validateStatus
=
false
;
});
}
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
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
;
}
});
}
/**
* 自动保存
*
* @param {*} [opt={}]
* @memberof MainBase
*/
public
autoSave
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
formValidateStatus
())
{
return
;
}
const
arg
:
any
=
{
...
opt
};
const
data
=
this
.
getValues
();
Object
.
assign
(
arg
,
data
);
Object
.
assign
(
arg
,{
srfmajortext
:
data
[
this
.
majorMessageField
]});
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemEditView'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
add
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'autoSave'
);
this
.
$emit
(
'save'
,
data
);
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
if
(
response
.
data
.
errorKey
)
{
if
(
Object
.
is
(
response
.
data
.
errorKey
,
"versionCheck"
))
{
this
.
$Modal
.
confirm
({
title
:
(
this
.
$t
(
'app.formpage.saveerror'
)
as
string
),
content
:
(
this
.
$t
(
'app.formpage.savecontent'
)
as
string
),
onOk
:
()
=>
{
this
.
refresh
([]);
},
onCancel
:
()
=>
{
}
});
}
else
if
(
Object
.
is
(
response
.
data
.
errorKey
,
'DupCheck'
))
{
let
errorProp
:
string
=
response
.
data
.
message
.
match
(
/
\[[
a-zA-Z
]
*
\]
/
)[
0
];
let
name
:
string
=
this
.
service
.
getNameByProp
(
errorProp
.
substr
(
1
,
errorProp
.
length
-
2
));
if
(
name
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
this
.
detailsModel
[
name
].
caption
+
" : "
+
arg
[
name
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
response
.
data
.
message
?
response
.
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
),
})
}
}
else
if
(
Object
.
is
(
response
.
data
.
errorKey
,
'DuplicateKeyException'
)){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
this
.
detailsModel
[
this
.
formKeyItemName
].
caption
+
" : "
+
arg
[
this
.
formKeyItemName
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
?
response
.
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
?
response
.
data
.
message
:(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
}
return
;
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
}
});
}
/**
* 保存
*
* @param {*} [opt={}]
* @param {boolean} [showResultInfo]
* @param {boolean} [ifStateNext] formState是否下发通知
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
save
(
opt
:
any
=
{},
showResultInfo
?:
boolean
,
ifStateNext
:
boolean
=
true
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
showResultInfo
=
showResultInfo
===
undefined
?
true
:
false
;
if
(
!
this
.
formValidateStatus
())
{
if
(
this
.
errorMessages
&&
this
.
errorMessages
.
length
>
0
)
{
let
descMessage
:
string
=
''
;
this
.
errorMessages
.
forEach
((
message
:
any
)
=>
{
descMessage
=
descMessage
+
'<p>'
+
message
.
error
+
'<p>'
;
})
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
descMessage
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.formpage.valuecheckex'
)
as
string
)
});
}
return
;
}
const
arg
:
any
=
{
...
opt
};
const
data
=
this
.
getValues
();
Object
.
assign
(
arg
,
this
.
context
);
Object
.
assign
(
arg
,
data
);
Object
.
assign
(
arg
,{
srfmajortext
:
data
[
this
.
majorMessageField
]});
if
(
ifStateNext
)
{
this
.
drcounter
=
0
;
if
(
this
.
drcounter
!==
0
){
this
.
drsaveopt
=
opt
;
this
.
formState
.
next
({
type
:
'beforesave'
,
data
:
arg
});
//先通知关系界面保存
this
.
saveState
=
resolve
;
return
;
}
}
if
(
this
.
viewparams
&&
this
.
viewparams
.
copymode
){
data
.
srfuf
=
'0'
;
}
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemEditView'
+
(
this
.
$t
(
'app.formpage.notconfig.actionname'
)
as
string
)
});
return
;
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
this
.
service
.
update
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
):
this
.
service
.
add
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
this
.
viewparams
.
copymode
=
false
;
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'save'
);
this
.
$emit
(
'save'
,
data
);
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
data
});
});
if
(
showResultInfo
)
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
data
.
srfmajortext
?
data
.
srfmajortext
:
''
)
+
' '
+
(
this
.
$t
(
'app.formpage.savesuccess'
)
as
string
)
});
}
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
if
(
response
.
data
.
errorKey
)
{
if
(
Object
.
is
(
response
.
data
.
errorKey
,
"versionCheck"
))
{
this
.
$Modal
.
confirm
({
title
:
(
this
.
$t
(
'app.formpage.saveerror'
)
as
string
),
content
:
(
this
.
$t
(
'app.formpage.savecontent'
)
as
string
),
onOk
:
()
=>
{
this
.
refresh
([]);
},
onCancel
:
()
=>
{
}
});
}
else
if
(
Object
.
is
(
response
.
data
.
errorKey
,
'DupCheck'
))
{
let
errorProp
:
string
=
response
.
data
.
message
.
match
(
/
\[[
a-zA-Z
]
*
\]
/
)[
0
];
let
name
:
string
=
this
.
service
.
getNameByProp
(
errorProp
.
substr
(
1
,
errorProp
.
length
-
2
));
if
(
name
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
this
.
detailsModel
[
name
].
caption
+
" : "
+
arg
[
name
]
+
(
this
.
$t
(
'app.commonWords.isExist'
)
as
string
)
+
'!'
,
});
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.createFailed'
)
as
string
),
desc
:
response
.
data
.
message
,
})
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
reject
(
response
);
}
return
;
}
else
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
(
this
.
$t
(
'app.commonWords.sysException'
)
as
string
)
});
reject
(
response
);
}
reject
(
response
);
});
})
}
/**
* 删除
*
* @public
* @param {*} [opt={}]
* @memberof MainBase
*/
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemEditView'
+
(
this
.
$t
(
'app.formpage.notconfig.removeaction'
)
as
string
)
});
return
;
}
const
arg
:
any
=
opt
[
0
];
const
_this
:
any
=
this
;
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
this
.
service
.
delete
(
_this
.
removeAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showResultInfo
).
then
((
response
:
any
)
=>
{
if
(
response
)
{
const
data
=
response
.
data
;
this
.
$emit
(
'remove'
,
data
);
this
.
formState
.
next
({
type
:
'remove'
,
data
:
data
});
this
.
data
.
ismodify
=
false
;
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
data
.
srfmajortext
?
data
.
srfmajortext
:
''
)
+
' '
+
(
this
.
$t
(
'app.formpage.deletesuccess'
)
as
string
)
});
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
resolve
(
response
);
}
}).
catch
((
error
:
any
)
=>
{
const
{
data
:
_data
}
=
error
;
this
.
$Notice
.
error
({
title
:
_data
.
title
,
desc
:
_data
.
message
});
reject
(
error
);
});
});
}
/**
* 工作流启动
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
wfstart
(
data
:
any
,
localdata
?:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
formData
:
any
=
this
.
getData
();
const
copyData
:
any
=
Util
.
deepCopy
(
formData
);
const
post
:
Promise
<
any
>
=
Object
.
is
(
formData
.
srfuf
,
'1'
)?
this
.
service
.
update
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
formData
,
this
.
showBusyIndicator
,
true
):
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
formData
,
this
.
showBusyIndicator
,
true
);
post
.
then
((
response
:
any
)
=>
{
const
responseData
:
any
=
response
.
data
;
let
tempResponseData
:
any
=
Util
.
deepCopy
(
response
);
this
.
service
.
handleResponse
(
'save'
,
tempResponseData
);
const
arg
:
any
=
tempResponseData
.
data
;
// 保存完成UI处理
this
.
onFormLoad
(
arg
,
'save'
);
this
.
$emit
(
'save'
,
arg
);
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
arg
});
});
// 准备工作流数据,填充未存库数据
Object
.
assign
(
arg
,
copyData
);
// 准备提交参数
if
(
this
.
viewparams
){
let
copyViewParams
:
any
=
Util
.
deepCopy
(
this
.
viewparams
);
if
(
copyViewParams
.
w
){
delete
copyViewParams
.
w
;
}
Object
.
assign
(
responseData
,
copyViewParams
);
}
Object
.
assign
(
arg
,{
viewparams
:
responseData
});
// 强制补充srfwfmemo
if
(
this
.
srfwfmemo
){
Object
.
assign
(
arg
,{
srfwfmemo
:
this
.
srfwfmemo
});
}
const
result
:
Promise
<
any
>
=
this
.
service
.
wfstart
(
_this
.
WFStartAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
localdata
);
result
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
data
){
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.starterror'
)
as
string
)
+
', '
+
response
.
data
.
message
});
}
return
;
}
this
.
$Notice
.
info
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.formpage.workflow.startsuccess'
)
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
);
});
}).
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
);
})
});
}
/**
* 工作流提交
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
wfsubmit
(
data
:
any
,
localdata
?:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
arg
:
any
=
data
[
0
];
const
copyData
:
any
=
Util
.
deepCopy
(
arg
);
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
if
(
!
arg
.
dstsystem
||
Object
.
is
(
arg
.
dstsystem
,
''
))
{
return
;
}
const
post
:
Promise
<
any
>
=
Object
.
is
(
arg
.
srfuf
,
'1'
)?
this
.
service
.
update
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
true
):
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
true
);
post
.
then
((
response
:
any
)
=>
{
const
responseData
:
any
=
response
.
data
;
let
tempResponseData
:
any
=
Util
.
deepCopy
(
response
);
this
.
service
.
handleResponse
(
'save'
,
tempResponseData
);
const
arg
:
any
=
tempResponseData
.
data
;
// 保存完成UI处理
this
.
onFormLoad
(
arg
,
'save'
);
this
.
$emit
(
'save'
,
arg
);
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
arg
});
});
// 准备工作流数据,填充未存库数据
Object
.
assign
(
arg
,
copyData
);
// 准备提交参数
if
(
this
.
viewparams
){
Object
.
assign
(
responseData
,
this
.
viewparams
);
}
Object
.
assign
(
arg
,{
viewparams
:
responseData
});
// 强制补充srfwfmemo
if
(
this
.
srfwfmemo
){
Object
.
assign
(
arg
,{
srfwfmemo
:
this
.
srfwfmemo
});
}
const
result
:
Promise
<
any
>
=
this
.
service
.
wfsubmit
(
_this
.
WFSubmitAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
localdata
);
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
.
onFormLoad
(
arg
,
'submit'
);
this
.
$store
.
dispatch
(
'viewaction/datasaved'
,
{
viewtag
:
this
.
viewtag
});
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
);
});
}).
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
);
})
})
}
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof MainBase
*/
public
panelAction
(
action
:
string
,
emitAction
:
string
,
data
:
any
=
{},
showloading
?:
boolean
):
void
{
if
(
!
action
||
(
action
&&
Object
.
is
(
action
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
const
formdata
=
this
.
getValues
();
Object
.
assign
(
arg
,
formdata
);
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
emitAction
);
this
.
$emit
(
emitAction
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
emitAction
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
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
;
}
});
}
/**
* 表单项更新
*
* @param {string} mode 界面行为名称
* @param {*} [data={}] 请求数据
* @param {string[]} updateDetails 更新项
* @param {boolean} [showloading] 是否显示加载状态
* @returns {void}
* @memberof MainBase
*/
public
updateFormItems
(
mode
:
string
,
data
:
any
=
{},
updateDetails
:
string
[],
showloading
?:
boolean
):
void
{
if
(
!
mode
||
(
mode
&&
Object
.
is
(
mode
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
mode
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
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.formpage.updateerror'
)
as
string
)
});
return
;
}
const
data
=
response
.
data
;
const
_data
:
any
=
{};
updateDetails
.
forEach
((
name
:
string
)
=>
{
if
(
!
data
.
hasOwnProperty
(
name
))
{
return
;
}
Object
.
assign
(
_data
,
{
[
name
]:
data
[
name
]
});
});
this
.
setFormEnableCond
(
_data
);
this
.
fillForm
(
_data
,
'updateFormItem'
);
this
.
formLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
this
.
dataChang
.
next
(
JSON
.
stringify
(
this
.
data
));
AppCenterService
.
notifyMessage
({
name
:
"DstSystem"
,
action
:
'appRefresh'
,
data
:
data
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'updateformitem'
,
ufimode
:
arg
.
srfufimode
,
data
:
_data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
data
.
message
});
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
;
}
});
}
/**
* 回车事件
*
* @param {*} $event
* @memberof MainBase
*/
public
onEnter
(
$event
:
any
):
void
{
}
/**
* 保存并退出
*
* @param {any[]} args
* @memberof MainBase
*/
public
saveAndExit
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
currentAction
=
"saveAndExit"
;
_this
.
save
([
arg
]).
then
((
res
)
=>
{
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
resolve
(
res
);
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 保存并新建
*
* @param {any[]} args
* @memberof MainBase
*/
public
saveAndNew
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
currentAction
=
"saveAndNew"
;
_this
.
save
([
arg
]).
then
((
res
)
=>
{
_this
.
ResetData
(
res
);
_this
.
loadDraft
({});
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 删除并退出
*
* @param {any[]} args
* @memberof MainBase
*/
public
removeAndExit
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
remove
([
arg
]).
then
((
res
)
=>
{
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
resolve
(
res
);
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 关系界面数据保存完成
*
* @param {any} $event
* @memberof MainBase
*/
public
drdatasaved
(
$event
:
any
){
let
_this
=
this
;
this
.
drcounter
--
;
if
(
this
.
drcounter
===
0
){
this
.
save
(
this
.
drsaveopt
,
undefined
,
false
).
then
((
res
)
=>
{
this
.
saveState
(
res
);
this
.
drsaveopt
=
{};
if
(
Object
.
is
(
_this
.
currentAction
,
"saveAndNew"
)){
_this
.
ResetData
(
res
);
_this
.
loadDraft
({});
}
else
if
(
Object
.
is
(
_this
.
currentAction
,
"saveAndExit"
)){
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
}
});
}
}
/**
* 新建默认值
* @memberof MainBase
*/
public
createDefault
(){
}
/**
* 更新默认值
* @memberof MainBase
*/
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
<
style
lang=
'less'
>
@import './main-form.less';
</
style
>
\ No newline at end of file
app_web/src/widgets/dst-system/main-form/main-form-model.ts
0 → 100644
浏览文件 @
bf0a12d0
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export
default
class
MainModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'srforikey'
,
},
{
name
:
'srfkey'
,
prop
:
'pssystemid'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfmajortext'
,
prop
:
'pssystemname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srftempmode'
,
},
{
name
:
'srfuf'
,
},
{
name
:
'srfdeid'
,
},
{
name
:
'srfsourcekey'
,
},
{
name
:
'pssystemid'
,
prop
:
'pssystemid'
,
dataType
:
'TEXT'
,
},
{
name
:
'pssystemname'
,
prop
:
'pssystemname'
,
dataType
:
'TEXT'
,
},
{
name
:
'showorder'
,
prop
:
'showorder'
,
dataType
:
'INT'
,
},
{
name
:
'dstsystem'
,
prop
:
'pssystemid'
,
dataType
:
'FONTKEY'
,
},
]
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/main-form/main-form-service.ts
0 → 100644
浏览文件 @
bf0a12d0
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
MainModel
from
'./main-form-model'
;
/**
* Main 部件服务对象
*
* @export
* @class MainService
*/
export
default
class
MainService
extends
ControlService
{
/**
* 系统服务对象
*
* @type {DstSystemService}
* @memberof MainService
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof MainService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of MainService.
*
* @param {*} [opts={}]
* @memberof MainService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
MainModel
();
}
/**
* 远端数据
*
* @type {*}
* @memberof MainService
*/
private
remoteCopyData
:
any
=
{};
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof MainService
*/
private
doItems
(
promise
:
Promise
<
any
>
,
deKeyField
:
string
,
deName
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
data
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
item
[
deName
]
=
item
[
deKeyField
];
data
[
index
]
=
item
;
});
resolve
(
data
);
}
else
{
reject
([])
}
}).
catch
((
response
:
any
)
=>
{
reject
([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof MainService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
return
Promise
.
reject
([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
wfstart
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
,
true
);
context
=
this
.
handleRequestData
(
action
,
context
,
data
).
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
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFStart
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
wfsubmit
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
,
true
);
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
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFSubmit
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isWorkflow] 是否在工作流中添加数据
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isWorkflow
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
Object
.
assign
(
Data
,{
pssystemid
:
data
.
pssystemid
,
srffrontuf
:
'1'
});
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
if
(
isWorkflow
){
resolve
(
response
);
}
else
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isWorkflow] 是否在工作流中修改数据
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isWorkflow
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
if
(
isWorkflow
){
resolve
(
response
);
}
else
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Get
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setRemoteCopyData
(
response
);
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
pssystemid
=
PrimaryKey
;
Data
.
dstsystem
=
PrimaryKey
;
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setRemoteCopyData
(
response
);
response
.
data
.
pssystemid
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
frontLogic
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
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
,
Data
,
isloading
);
}
else
{
return
Promise
.
reject
({
status
:
500
,
data
:
{
title
:
'失败'
,
message
:
'系统异常'
}
});
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof MainService
*/
public
handleRequestData
(
action
:
string
,
context
:
any
,
data
:
any
=
{},
isMerge
:
boolean
=
false
){
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
let
requestData
:
any
=
{};
if
(
isMerge
&&
(
data
&&
data
.
viewparams
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
formItemItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
'FONTKEY'
)){
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
context
[
item
.
name
];
}
}
else
{
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
else
{
if
(
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
"FORMPART"
)){
Object
.
assign
(
requestData
,
data
[
item
.
name
]);
}
}
}
});
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
/**
* 通过属性名称获取表单项名称
*
* @param name 实体属性名称
* @memberof MainService
*/
public
getItemNameByDeName
(
name
:
string
)
:
string
{
let
itemName
=
name
;
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
name
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
formItemItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
prop
===
name
){
itemName
=
item
.
name
;
}
});
return
itemName
.
trim
();
}
/**
* 重写处理返回数据
*
* @param {string} action
* @param {*} response
* @memberof MainService
*/
public
handleResponseData
(
action
:
string
,
data
:
any
=
{},
isCreate
?:
boolean
,
codelistArray
?:
any
){
let
model
:
any
=
this
.
getMode
();
if
(
!
model
&&
model
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
item
:
any
=
{};
let
dataItems
:
any
[]
=
model
.
getDataItems
();
dataItems
.
forEach
(
dataitem
=>
{
let
val
=
data
.
hasOwnProperty
(
dataitem
.
prop
)
?
data
[
dataitem
.
prop
]
:
null
;
if
(
val
===
null
)
{
val
=
data
.
hasOwnProperty
(
dataitem
.
name
)
?
data
[
dataitem
.
name
]
:
null
;
}
if
((
isCreate
===
undefined
||
isCreate
===
null
)
&&
Object
.
is
(
dataitem
.
dataType
,
'GUID'
)
&&
Object
.
is
(
dataitem
.
name
,
'srfkey'
)
&&
(
val
&&
!
Object
.
is
(
val
,
''
))){
isCreate
=
true
;
}
item
[
dataitem
.
name
]
=
val
;
// 转化代码表
if
(
codelistArray
&&
dataitem
.
codelist
){
if
(
codelistArray
.
get
(
dataitem
.
codelist
.
tag
)
&&
codelistArray
.
get
(
dataitem
.
codelist
.
tag
).
get
(
val
)){
item
[
dataitem
.
name
]
=
codelistArray
.
get
(
dataitem
.
codelist
.
tag
).
get
(
val
);
}
}
});
item
.
srfuf
=
data
.
srfuf
?
data
.
srfuf
:
(
isCreate
?
"0"
:
"1"
);
item
=
Object
.
assign
(
data
,
item
);
return
item
;
}
/**
* 设置远端数据
*
* @param result 远端请求结果
* @memberof MainService
*/
public
setRemoteCopyData
(
result
:
any
){
if
(
result
&&
result
.
status
===
200
)
{
this
.
remoteCopyData
=
Util
.
deepCopy
(
result
.
data
);
}
}
/**
* 获取远端数据
*
* @memberof MainService
*/
public
getRemoteCopyData
(){
return
this
.
remoteCopyData
;
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/main-form/main-form.less
0 → 100644
浏览文件 @
bf0a12d0
.ivu-tabs-no-animation>.ivu-tabs-content{
padding: 0 16px;
}
.ivu-card-head{
padding: 14px 0;
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-content {
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
}
}
.app-tabpanel-flex {
height: 100%;
> .ivu-tabs-content {
height: calc(100% - 52px);
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
.app-form {
>.ivu-row:nth-child(2) {
>.ivu-col:nth-child(1) {
>.ivu-row.app-form-group.app-group-hiddden-caption:nth-child(1) {
margin-top: 12px;
}
}
}
}
.app-form{
// 表单行间距
.app-form-item{
margin-bottom: 20px;
}
// 表单按钮margin
.app-form-button{
margin:0 6px;
}
}
// this is less
app_web/src/widgets/dst-system/main-form/main-form.vue
0 → 100644
浏览文件 @
bf0a12d0
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
MainBase
from
'./main-form-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Main
extends
MainBase
{
}
</
script
>
\ No newline at end of file
app_web/src/widgets/dst-system/main-grid/main-grid-base.vue
0 → 100644
浏览文件 @
bf0a12d0
<
template
>
<div
class=
'grid'
style=
"height:100%"
>
<i-form
style=
"height:100%;display:flex;flex-direction: column;justify-content: space-between"
>
<el-table
v-if=
"isDisplay === true"
:default-sort=
"
{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@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)"
@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.dstsystem.main_grid.nodata'
)
}}
</
template
>
<
template
v-if=
"!isSingleSelect"
>
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</
template
>
<
template
v-if=
"getColumnState('pssystemid')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'pssystemid'"
:label=
"$t('entities.dstsystem.main_grid.columns.pssystemid')"
:width=
"250"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.dstsystem.main_grid.columns.pssystemid'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
pssystemid
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('pssystemname')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'pssystemname'"
:label=
"$t('entities.dstsystem.main_grid.columns.pssystemname')"
:width=
"350"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.dstsystem.main_grid.columns.pssystemname'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
pssystemname
}}
</span>
</
template
>
</el-table-column>
</template>
<
template
v-if=
"getColumnState('showorder')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'showorder'"
:label=
"$t('entities.dstsystem.main_grid.columns.showorder')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"
{column}">
<span
class=
"column-header "
>
{{
$t
(
'entities.dstsystem.main_grid.columns.showorder'
)
}}
</span>
</
template
>
<
template
v-slot=
"{row,column,$index}"
>
<span>
{{
row
.
showorder
}}
</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"
>
<page
class=
'pull-right'
@
on-change=
"pageOnChange($event)"
@
on-page-size-change=
"onPageSizeChange($event)"
:transfer=
"true"
:total=
"totalrow"
show-sizer
:current=
"curPage"
:page-size=
"limit"
:page-size-opts=
"[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]"
show-elevator
show-total
>
<span>
<span
class=
"page-column"
>
<poptip
transfer
placement=
"top-start"
>
<i-button
icon=
"md-menu"
>
{{$t('app.gridpage.choicecolumns')}}
</i-button>
<div
slot=
"content"
>
<
template
v-for=
"col in allColumns"
>
<div
:key=
"col.name"
><el-checkbox
v-model=
"col.show"
@
change=
"onColChange()"
>
{{
$t
(
col
.
langtag
)
}}
</el-checkbox></div>
</
template
>
</div>
</poptip>
</span>
<span
class=
"page-button"
><i-button
icon=
"md-refresh"
:title=
"$t('app.gridpage.refresh')"
@
click=
"pageRefresh()"
></i-button></span>
<span>
{{$t('app.gridpage.show')}}
<span>
<
template
v-if=
"items.length === 1"
>
1
</
template
>
<
template
v-else
>
<span>
{{
(
curPage
-
1
)
*
limit
+
1
}}
-
{{
totalrow
>
curPage
*
limit
?
curPage
*
limit
:
totalrow
}}
</span>
</
template
>
</span>
{{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}
{{totalrow}}
{{$t('app.gridpage.records')}}
</span>
</span>
</page>
</row>
</i-form>
</div>
</template>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
,
Inject
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
,
ViewTool
}
from
'@/utils'
;
import
NavDataService
from
'@/service/app/navdata-service'
;
import
AppCenterService
from
"@service/app/app-center-service"
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
MainService
from
'./main-grid-service'
;
import
DstSystemUIService
from
'@/uiservice/dst-system/dst-system-ui-service'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
MainBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof MainBase
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
context
!
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof MainBase
*/
@
Prop
()
public
viewparams
!
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof MainBase
*/
public
getControlType
():
string
{
return
'GRID'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof MainBase
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainBase
*/
public
service
:
MainService
=
new
MainService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {DstSystemService}
* @memberof MainBase
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
$store
});
/**
* 转化数据
*
* @param {any} args
* @memberof MainBase
*/
public
transformData
(
args
:
any
)
{
let
_this
:
any
=
this
;
if
(
_this
.
service
&&
_this
.
service
.
handleRequestData
instanceof
Function
&&
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)){
return
_this
.
service
.
handleRequestData
(
'transform'
,
_this
.
context
,
args
)[
'data'
];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof MainBase
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof MainBase
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof MainBase
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 主信息表格列
*
* @type {string}
* @memberof MainBase
*/
public
majorInfoColName
:
string
=
"pssystemname"
;
/**
* 界面UI服务对象
*
* @type {DstSystemUIService}
* @memberof MainBase
*/
public
appUIService
:
DstSystemUIService
=
new
DstSystemUIService
(
this
.
$store
);
/**
* 界面行为模型
*
* @type {*}
* @memberof MainBase
*/
public
ActionModel
:
any
=
{
};
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public
appStateEvent
:
Subscription
|
undefined
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MainBase
*/
public
getDatas
():
any
[]
{
return
this
.
selections
;
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MainBase
*/
public
getData
():
any
{
return
this
.
selections
[
0
];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof MainBase
*/
@
Prop
()
public
opendata
:
any
;
/**
* 是否嵌入关系界面
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isformDruipart
?:
boolean
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--update
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
updateAction
!
:
string
;
/**
* 部件行为--fetch
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
fetchAction
!
:
string
;
/**
* 部件行为--remove
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
removeAction
!
:
string
;
/**
* 部件行为--load
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loadAction
!
:
string
;
/**
* 部件行为--loaddraft
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
createAction
!
:
string
;
/**
* 当前页
*
* @type {number}
* @memberof MainBase
*/
public
curPage
:
number
=
1
;
/**
* 数据
*
* @type {any[]}
* @memberof MainBase
*/
public
items
:
any
[]
=
[];
/**
* 是否支持分页
*
* @type {boolean}
* @memberof MainBase
*/
public
isEnablePagingBar
:
boolean
=
true
;
/**
* 是否禁用排序
*
* @type {boolean}
* @memberof MainBase
*/
public
isNoSort
:
boolean
=
false
;
/**
* 排序方向
*
* @type {string}
* @memberof MainBase
*/
public
minorSortDir
:
string
=
''
;
/**
* 排序字段
*
* @type {string}
* @memberof MainBase
*/
public
minorSortPSDEF
:
string
=
''
;
/**
* 分页条数
*
* @type {number}
* @memberof MainBase
*/
public
limit
:
number
=
20
;
/**
* 是否显示标题
*
* @type {boolean}
* @memberof MainBase
*/
public
isHideHeader
:
boolean
=
false
;
/**
* 是否默认选中第一条数据
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isSelectFirstDefault
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 选中数据字符串
*
* @type {string}
* @memberof MainBase
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 选中值变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@
Watch
(
'selectedData'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
selections
=
[];
if
(
this
.
selectedData
){
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
JSON
.
parse
(
this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
let
selectedItem
=
this
.
items
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
});
if
(
selectedItem
){
this
.
rowClick
(
selectedItem
);
}
});
}
}
}
/**
* 表格行数据默认激活模式
* 0 不激活
* 1 单击激活
* 2 双击激活
*
* @type {(number | 0 | 1 | 2)}
* @memberof MainBase
*/
@
Prop
({
default
:
2
})
public
gridRowActiveMode
!
:
number
;
/**
* 是否开启行编辑
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isOpenEdit
!
:
boolean
;
/**
* 实际是否开启行编辑
*
* @type {boolean}
* @memberof MainBase
*/
public
actualIsOpenEdit
:
boolean
=
this
.
isOpenEdit
;
/**
* 总条数
*
* @type {number}
* @memberof MainBase
*/
public
totalrow
:
number
=
0
;
/**
* 表格更新默认值项
*
* @memberof MainBase
*/
public
defaultUpdateItems
:
Array
<
any
>
=
[];
/**
* 选中行数据
*
* @type {any[]}
* @memberof MainBase
*/
public
selections
:
any
[]
=
[];
/**
* 拦截行选中
*
* @type {boolean}
* @memberof MainBase
*/
public
stopRowClick
:
boolean
=
false
;
/**
* 当前编辑行数据
*
* @type {boolean}
* @memberof MainBase
*/
public
curEditRowData
:
any
;
/**
* 表格是否显示
*
* @type {boolean}
* @memberof MainBase
*/
public
isDisplay
:
boolean
=
true
;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public
errorMessages
:
Array
<
any
>
=
[];
/**
* 部件刷新
*
* @param {any} args
* @memberof MainBase
*/
public
refresh
(
args
?:
any
):
void
{
this
.
load
();
}
/**
* 选项框列宽
*
* @type {number}
* @memberof AppIndex
*/
public
checkboxColWidth
:
number
=
50
;
/**
* 是否允许拖动列宽
*
* @type {boolean}
* @memberof AppEmbedPicker
*/
public
isDragendCol
:
boolean
=
true
;
/**
* 所有列成员
*
* @type {any[]}
* @memberof MainBase
*/
public
allColumns
:
any
[]
=
[
{
name
:
'pssystemid'
,
label
:
'系统标识'
,
langtag
:
'entities.dstsystem.main_grid.columns.pssystemid'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
{
name
:
'pssystemname'
,
label
:
'系统名称'
,
langtag
:
'entities.dstsystem.main_grid.columns.pssystemname'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
{
name
:
'showorder'
,
label
:
'排序'
,
langtag
:
'entities.dstsystem.main_grid.columns.showorder'
,
show
:
true
,
unit
:
'PX'
,
isEnableRowEdit
:
false
,
enableCond
:
3
,
},
]
/**
* 表格模型集合
*
* @type {*}
* @memberof MainBase
*/
public
gridItemsModel
:
any
[]
=
[];
/**
* 是否启用分组
*
* @type {boolean}
* @memberof MainBase
*/
public
isEnableGroup
:
boolean
=
false
;
/**
* 分组属性
*
* @type {string}
* @memberof MainBase
*/
public
groupAppField
:
string
=
""
;
/**
* 分组属性代码表标识
*
* @type {string}
* @memberof MainBase
*/
public
groupAppFieldCodelistTag
:
string
=
""
;
/**
* 分组属性代码表类型
*
* @type {string}
* @memberof MainBase
*/
public
groupAppFieldCodelistType
:
string
=
""
;
/**
* 分组模式
*
* @type {string}
* @memberof MainBase
*/
public
groupMode
:
string
=
"NONE"
;
/**
* 分组代码表标识
*
* @type {string}
* @memberof MainBase
*/
public
codelistTag
:
string
=
""
;
/**
* 分组代码表类型
*
* @type {string}
* @memberof MainBase
*/
public
codelistType
:
string
=
""
;
/**
* 获取界面行为权限状态
*
* @memberof MainBase
*/
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 {*}
* @memberof MainBase
*/
public
getGridRowModel
(){
return
{
srfkey
:
new
FormItemModel
(),
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof MainBase
*/
public
deRules
:
any
=
{
};
/**
* 值规则集合
*
* @type {*}
* @memberof MainBase
*/
public
rules
:
any
=
{
srfkey
:
[
{
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
:
'系统标识 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
* 表格行编辑项校验
*
* @param {string} property 属性名
* @param {*} data 行数据
* @param {number} rowIndex 行索引
* @returns Promise<any>
*
* @memberof MainBase
*/
public
validate
(
property
:
string
,
data
:
any
,
rowIndex
:
number
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$util
.
validateItem
(
property
,
data
,
this
.
rules
).
then
(()
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
null
);
resolve
(
true
);
}).
catch
(({
errors
,
fields
})
=>
{
this
.
gridItemsModel
[
rowIndex
][
property
].
setError
(
errors
[
0
].
message
);
resolve
(
false
);
});
});
}
/**
* 校验所有修改过的编辑项
*
* @returns Promise<any>
* @memberof MainBase
*/
public
async
validateAll
(){
this
.
errorMessages
=
[];
let
validateState
=
true
;
let
index
=
-
1
;
for
(
let
item
of
this
.
items
)
{
let
tempMessage
:
string
=
''
;
index
++
;
if
(
item
.
rowDataState
===
"create"
||
item
.
rowDataState
===
"update"
)
{
for
(
let
property
of
Object
.
keys
(
this
.
rules
))
{
if
(
!
await
this
.
validate
(
property
,
item
,
index
))
{
validateState
=
false
;
tempMessage
=
tempMessage
+
'<p>'
+
this
.
gridItemsModel
[
index
][
property
].
error
+
'<p>'
;
}
}
}
this
.
errorMessages
.
push
(
tempMessage
);
}
return
validateState
;
}
/**
* 表格数据加载
*
* @param {*} [arg={}]
* @memberof MainBase
*/
public
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
pageReset
){
this
.
curPage
=
1
;
}
const
arg
:
any
=
{...
opt
};
const
page
:
any
=
{};
if
(
this
.
isEnablePagingBar
)
{
Object
.
assign
(
page
,
{
page
:
this
.
curPage
-
1
,
size
:
this
.
limit
});
}
// 设置排序
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
''
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
''
))
{
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
}
Object
.
assign
(
arg
,
page
);
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
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
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
errorMessage
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
errorMessage
});
}
return
;
}
const
data
:
any
=
response
.
data
;
this
.
totalrow
=
response
.
total
;
this
.
items
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 清空selections,gridItemsModel
//this.selections = [];
this
.
gridItemsModel
=
[];
this
.
items
.
forEach
(()
=>
{
this
.
gridItemsModel
.
push
(
this
.
getGridRowModel
())});
this
.
items
.
forEach
((
item
:
any
)
=>
{
Object
.
assign
(
item
,
this
.
getActionState
(
item
));
});
this
.
$emit
(
'load'
,
this
.
items
);
// 设置默认选中
let
_this
=
this
;
setTimeout
(()
=>
{
//在导航视图中,如已有选中数据,则右侧展开已选中数据的视图,如无选中数据则默认选中第一条
if
(
_this
.
isSelectFirstDefault
){
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
){
const
refs
:
any
=
_this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
JSON
.
parse
(
_this
.
selectedData
).
forEach
((
selection
:
any
)
=>
{
let
selectedItem
=
_this
.
items
.
find
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
);
});
if
(
selectedItem
){
_this
.
rowClick
(
selectedItem
);
}
});
}
}
},
300
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
errorMessage
});
});
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.removeAction'
)
as
string
)
});
return
;
}
let
_datas
:
any
[]
=
[];
datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
record
.
srfuf
,
"0"
))
{
this
.
items
.
some
((
val
:
any
,
num
:
number
)
=>
{
if
(
JSON
.
stringify
(
val
)
==
JSON
.
stringify
(
record
)){
this
.
items
.
splice
(
num
,
1
);
this
.
gridItemsModel
.
splice
(
num
,
1
);
return
true
;
}
});
}
else
{
_datas
.
push
(
datas
[
index
]);
}
});
if
(
_datas
.
length
===
0
)
{
return
;
}
let
dataInfo
=
''
;
_datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
let
srfmajortext
=
record
.
pssystemname
;
if
(
index
<
5
)
{
if
(
!
Object
.
is
(
dataInfo
,
''
))
{
dataInfo
+=
'、'
;
}
dataInfo
+=
srfmajortext
;
}
else
{
return
false
;
}
});
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
);
}
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
);
}
const
removeData
=
()
=>
{
let
keys
:
any
[]
=
[];
_datas
.
forEach
((
data
:
any
)
=>
{
keys
.
push
(
data
.
srfkey
);
});
let
_removeAction
=
keys
.
length
>
1
?
'removeBatch'
:
this
.
removeAction
;
let
_keys
=
keys
.
length
>
1
?
keys
:
keys
[
0
]
;
const
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
const
post
:
Promise
<
any
>
=
this
.
service
.
delete
(
_removeAction
,
Object
.
assign
(
context
,{
dstsystem
:
_keys
}),
Object
.
assign
({
dstsystem
:
_keys
},{
viewparams
:
this
.
viewparams
}),
this
.
showBusyIndicator
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delDataFail'
)
as
string
)
+
','
+
response
.
info
});
return
;
}
else
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.delSuccess'
)
as
string
)
});
}
//删除items中已删除的项
_datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
this
.
gridItemsModel
.
splice
(
index
,
1
);
return
true
;
}
});
});
this
.
totalrow
-=
_datas
.
length
;
this
.
$emit
(
'remove'
,
null
);
this
.
selections
=
[];
resolve
(
response
);
}).
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
)
});
reject
(
response
);
return
;
}
reject
(
response
);
});
});
}
dataInfo
=
dataInfo
.
replace
(
/
[
null
]
/g
,
''
).
replace
(
/
[
undefined
]
/g
,
''
);
this
.
$Modal
.
confirm
({
title
:
(
this
.
$t
(
'app.commonWords.warning'
)
as
string
),
content
:
(
this
.
$t
(
'app.gridpage.confirmDel'
)
as
string
)
+
' '
+
dataInfo
+
','
+
(
this
.
$t
(
'app.gridpage.notRecoverable'
)
as
string
),
onOk
:
()
=>
{
removeData
();
},
onCancel
:
()
=>
{
}
});
return
removeData
;
}
/**
* 批量添加
*
* @param {*} [arg={}]
* @memberof MainBase
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.fetchAction'
)
as
string
)
});
return
;
}
if
(
!
arg
){
arg
=
{};
}
console
.
error
((
this
.
$t
(
'app.gridpage.notBatch'
)
as
string
));
}
/**
* 数据导入
*
* @param {*} data
* @memberof MainBase
*/
public
importExcel
(
data
:
any
=
{}):
void
{
//导入excel
const
importDataModel
:
any
=
{
}
if
(
Object
.
keys
(
importDataModel
).
length
==
0
){
this
.
$Notice
.
warning
({
'title'
:
(
this
.
$t
(
"app.utilview.warning"
)
as
string
),
'desc'
:
(
this
.
$t
(
"app.utilview.info"
)
as
string
)
});
return
;
}
const
view
:
any
=
{
viewname
:
'app-data-upload'
,
title
:
this
.
$t
(
"app.utilview.importview"
),
width
:
900
,
height
:
700
}
let
container
:
Subject
<
any
>
=
this
.
$appmodal
.
openModal
(
view
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
importDataModel
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
Object
.
is
(
result
.
ret
,
'OK'
)){
this
.
refresh
(
result
.
datas
);
}
});
}
/**
* 数据导出
*
* @param {*} data
* @memberof MainBase
*/
public
exportExcel
(
data
:
any
=
{}):
void
{
// 导出Excel
const
doExport
=
async
(
_data
:
any
)
=>
{
const
tHeader
:
Array
<
any
>
=
[];
const
filterVal
:
Array
<
any
>
=
[];
this
.
allColumns
.
forEach
((
item
:
any
)
=>
{
item
.
show
&&
item
.
label
?
tHeader
.
push
(
this
.
$t
(
item
.
langtag
))
:
""
;
item
.
show
&&
item
.
name
?
filterVal
.
push
(
item
.
name
)
:
""
;
});
const
data
=
await
this
.
formatExcelData
(
filterVal
,
_data
);
this
.
$export
.
exportExcel
().
then
((
excel
:
any
)
=>
{
excel
.
export_json_to_excel
({
header
:
tHeader
,
//表头 必填
data
,
//具体数据 必填
filename
:
"系统"
+
(
this
.
$t
(
'app.gridpage.grid'
)
as
string
),
//非必填
autoWidth
:
true
,
//非必填
bookType
:
"xlsx"
//非必填
});
});
};
const
page
:
any
=
{};
// 设置page,size
if
(
Object
.
is
(
data
.
type
,
'maxRowCount'
))
{
Object
.
assign
(
page
,
{
page
:
0
,
size
:
data
.
maxRowCount
});
}
else
if
(
Object
.
is
(
data
.
type
,
'activatedPage'
))
{
try
{
doExport
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
items
)));
}
catch
(
error
)
{
console
.
error
(
error
);
}
return
;
}
// 设置排序
if
(
!
this
.
isNoSort
&&
!
Object
.
is
(
this
.
minorSortDir
,
''
)
&&
!
Object
.
is
(
this
.
minorSortPSDEF
,
''
))
{
const
sort
:
string
=
this
.
minorSortPSDEF
+
","
+
this
.
minorSortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
}
const
arg
:
any
=
{};
Object
.
assign
(
arg
,
page
);
// 获取query,搜索表单,viewparams等父数据
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
+
','
+
response
.
info
});
return
;
}
try
{
doExport
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
catch
(
error
)
{
console
.
error
(
error
);
}
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
this
.
$Notice
.
error
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.gridpage.exportFail'
)
as
string
)
});
});
}
/**
* 导出数据格式化
*
* @param {*} filterVal
* @param {*} jsonData
* @returns {[]}
* @memberof MainBase
*/
public
async
formatExcelData
(
filterVal
:
any
,
jsonData
:
any
)
{
let
codelistColumns
:
Array
<
any
>
=
[
];
let
_this
=
this
;
for
(
const
codelist
of
codelistColumns
)
{
// 动态代码表处理
if
(
Object
.
is
(
codelist
.
codelistType
,
"DYNAMIC"
))
{
let
items
=
await
_this
.
codeListService
.
getItems
(
codelist
.
srfkey
);
jsonData
.
forEach
((
row
:
any
)
=>
{
row
[
codelist
.
name
]
=
_this
.
getCodelistValue
(
items
,
row
[
codelist
.
name
],
codelist
);
});
// 静态处理
}
else
if
(
Object
.
is
(
codelist
.
codelistType
,
"STATIC"
)){
let
items
=
await
_this
.
$store
.
getters
.
getCodeListItems
(
codelist
.
srfkey
);
jsonData
.
forEach
((
row
:
any
)
=>
{
row
[
codelist
.
name
]
=
_this
.
getCodelistValue
(
items
,
row
[
codelist
.
name
],
codelist
);
});
}
}
return
jsonData
.
map
((
v
:
any
)
=>
filterVal
.
map
((
j
:
any
)
=>
v
[
j
]))
}
/**
* 解析代码表和vlaue,设置items
*
* @public
* @param {any[]} items 代码表数据
* @param {*} value
* @returns {*}
* @memberof MainBase
*/
public
getCodelistValue
(
items
:
any
[],
value
:
any
,
codelist
:
any
,){
if
(
!
value
&&
value
!==
0
&&
value
!==
false
){
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.empty'
);
}
if
(
items
)
{
let
result
:
any
=
[];
if
(
Object
.
is
(
codelist
.
renderMode
,
"number"
)){
items
.
map
((
_item
:
any
,
index
:
number
)
=>
{
const
nValue
=
parseInt
((
value
as
any
),
10
);
const
codevalue
=
_item
.
value
;
if
((
parseInt
(
codevalue
,
10
)
&
nValue
)
>
0
){
result
.
push
(
_item
);
}
});
}
else
if
(
Object
.
is
(
codelist
.
renderMode
,
"string"
)){
const
arrayValue
:
Array
<
any
>
=
(
value
as
any
).
split
(
codelist
.
valueSeparator
);
arrayValue
.
map
((
value
:
any
,
index
:
number
)
=>
{
result
.
push
([]);
let
values
:
any
[]
=
Object
.
is
(
this
.
$util
.
typeOf
(
value
),
'number'
)
?
[
value
]
:
[...(
value
as
any
).
split
(
codelist
.
valueSeparator
)];
values
.
map
((
val
:
any
,
num
:
number
)
=>
{
const
item
=
this
.
getItem
(
items
,
val
,
codelist
);
if
(
item
){
result
[
index
].
push
(
item
);
}
});
});
}
else
{
let
values
:
any
[]
=
Object
.
is
(
this
.
$util
.
typeOf
(
value
),
'number'
)
?
[
value
]
:
[...(
value
as
any
).
split
(
codelist
.
valueSeparator
)];
values
.
map
((
value
:
any
,
index
:
number
)
=>
{
const
item
=
this
.
getItem
(
items
,
value
,
codelist
);
if
(
item
){
result
.
push
(
item
);
}
});
}
// 设置items
if
(
result
.
length
!=
0
){
return
result
.
join
(
codelist
.
valueSeparator
);
}
else
{
return
value
;
}
}
}
/**
* 获取代码项
*
* @public
* @param {any[]} items
* @param {*} value
* @returns {*}
* @memberof MainBase
*/
public
getItem
(
items
:
any
[],
value
:
any
,
codelist
:
any
):
any
{
const
arr
:
Array
<
any
>
=
items
.
filter
(
item
=>
{
return
item
.
value
==
value
});
if
(
arr
.
length
!==
1
)
{
return
undefined
;
}
if
(
Object
.
is
(
codelist
.
codelistType
,
'STATIC'
)){
return
this
.
$t
(
'codelist.'
+
codelist
.
srfkey
+
'.'
+
arr
[
0
].
value
);
}
else
{
return
arr
[
0
].
text
;
}
}
/**
* 生命周期
*
* @memberof MainBase
*/
public
created
():
void
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MainBase
*/
public
afterCreated
(){
this
.
setColState
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
,
true
);
}
if
(
Object
.
is
(
'remove'
,
action
))
{
this
.
remove
(
data
);
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
);
}
});
}
if
(
AppCenterService
&&
AppCenterService
.
getMessageCenter
()){
this
.
appStateEvent
=
AppCenterService
.
getMessageCenter
().
subscribe
(({
name
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
name
,
"DstSystem"
)){
return
;
}
if
(
Object
.
is
(
action
,
'appRefresh'
)){
this
.
refresh
([
data
]);
}
})
}
}
/**
* vue 生命周期
*
* @memberof MainBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MainBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
if
(
this
.
appStateEvent
){
this
.
appStateEvent
.
unsubscribe
();
}
}
/**
* 获取选中行胡数据
*
* @returns {any[]}
* @memberof MainBase
*/
public
getSelection
():
any
[]
{
return
this
.
selections
;
}
/**
* 行双击事件
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
rowDBLClick
(
$event
:
any
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
$event
||
this
.
actualIsOpenEdit
||
Object
.
is
(
this
.
gridRowActiveMode
,
0
))
{
return
;
}
this
.
selections
=
[];
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
refs
.
multipleTable
.
clearSelection
();
refs
.
multipleTable
.
toggleRowSelection
(
$event
);
}
this
.
$emit
(
'rowdblclick'
,
this
.
selections
);
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 合并分组行
*
* @memberof MainBase
*/
public
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
}
:
any
)
{
let
allColumns
:
Array
<
any
>
=
[
'pssystemid'
,
'pssystemname'
,
'showorder'
];
if
(
row
&&
row
.
children
)
{
if
(
columnIndex
==
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
1
,
allColumns
.
length
+
1
];
}
else
if
(
columnIndex
>
(
this
.
isSingleSelect
?
0
:
1
))
{
return
[
0
,
0
];
}
}
}
/**
* 分组方法
*
* @memberof MainBase
*/
public
group
(){
if
(
Object
.
is
(
this
.
groupMode
,
"AUTO"
)){
this
.
drawGroup
();
}
else
if
(
Object
.
is
(
this
.
groupMode
,
"CODELIST"
)){
this
.
drawCodelistGroup
();
}
}
/**
* 获取表格分组相关代码表
*
* @param {string} codelistType 代码表类型
* @param {string} codelistTag 代码表标识
* @memberof MainBase
*/
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 MainBase
*/
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
){
const
arr
:
Array
<
any
>
=
allGroupField
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupAppField
]});
if
(
Object
.
is
(
group
.
label
,
arr
[
0
].
label
)){
item
.
groupById
=
Number
((
i
+
1
)
*
100
+
(
j
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
}
else
if
(
Object
.
is
(
group
.
label
,
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
,
pssystemid
:
''
,
pssystemname
:
''
,
showorder
:
''
,
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
){
const
arr
:
Array
<
any
>
=
allGroupField
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupAppField
]});
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
arr
[
0
].
label
));
}
else
{
i
=
allGroup
.
findIndex
((
group
:
any
)
=>
Object
.
is
(
group
.
label
,
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'
),
pssystemid
:
''
,
pssystemname
:
''
,
showorder
:
''
,
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 MainBase
*/
public
drawGroup
(){
if
(
!
this
.
isEnableGroup
)
return
;
// 分组
let
allGroup
:
Array
<
any
>
=
[];
let
allGroupField
:
Array
<
any
>
=
[];
allGroupField
=
this
.
getGroupCodelist
(
this
.
groupAppFieldCodelistType
,
this
.
groupAppFieldCodelistTag
);
this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
hasOwnProperty
(
this
.
groupAppField
)){
if
(
allGroupField
&&
allGroupField
.
length
>
0
){
const
arr
:
Array
<
any
>
=
allGroupField
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupAppField
]});
allGroup
.
push
(
arr
[
0
].
label
);
}
else
{
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
(
allGroupField
&&
allGroupField
.
length
>
0
){
const
arr
:
Array
<
any
>
=
allGroupField
.
filter
((
field
:
any
)
=>
{
return
field
.
value
==
item
[
this
.
groupAppField
]});
if
(
Object
.
is
(
group
,
arr
[
0
].
label
)){
item
.
groupById
=
Number
((
groupIndex
+
1
)
*
100
+
(
itemIndex
+
1
)
*
1
);
item
.
group
=
''
;
children
.
push
(
item
);
}
}
else
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
,
pssystemid
:
''
,
pssystemname
:
''
,
showorder
:
''
,
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 MainBase
*/
public
select
(
selection
:
any
,
row
:
any
):
void
{
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 MainBase
*/
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 MainBase
*/
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 MainBase
*/
public
selectAll
(
selection
:
any
):
void
{
this
.
selections
=
[];
if
(
this
.
groupAppField
)
{
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
);
}
/**
* 行单击选中
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
rowClick
(
$event
:
any
,
ifAlways
:
boolean
=
false
):
void
{
// 分组行跳过
if
(
$event
&&
$event
.
children
){
return
;
}
if
(
!
ifAlways
&&
(
!
$event
||
this
.
actualIsOpenEdit
))
{
return
;
}
if
(
this
.
stopRowClick
)
{
this
.
stopRowClick
=
false
;
return
;
}
if
(
this
.
isSingleSelect
){
this
.
selections
=
[];
}
// 已选中则删除,没选中则添加
let
selectIndex
=
this
.
selections
.
findIndex
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
dstsystem
,
$event
.
dstsystem
);
});
if
(
Object
.
is
(
selectIndex
,
-
1
)){
this
.
selections
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
$event
)));
}
else
{
this
.
selections
.
splice
(
selectIndex
,
1
);
}
const
refs
:
any
=
this
.
$refs
;
if
(
refs
.
multipleTable
)
{
if
(
this
.
isSingleSelect
){
refs
.
multipleTable
.
clearSelection
();
refs
.
multipleTable
.
setCurrentRow
(
$event
);
}
else
{
refs
.
multipleTable
.
toggleRowSelection
(
$event
);
}
}
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 页面变化
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
pageOnChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
$event
===
this
.
curPage
)
{
return
;
}
this
.
curPage
=
$event
;
this
.
load
({});
}
/**
* 分页条数变化
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
onPageSizeChange
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
if
(
$event
===
this
.
limit
)
{
return
;
}
this
.
limit
=
$event
;
if
(
this
.
curPage
===
1
)
{
this
.
load
({});
}
}
/**
* 分页刷新
*
* @memberof MainBase
*/
public
pageRefresh
():
void
{
this
.
load
({});
}
/**
* 排序变化
*
* @param {{ column: any, prop: any, order: any }} { column, prop, order }
* @memberof MainBase
*/
public
onSortChange
({
column
,
prop
,
order
}:
{
column
:
any
,
prop
:
any
,
order
:
any
}):
void
{
const
dir
=
Object
.
is
(
order
,
'ascending'
)
?
'asc'
:
Object
.
is
(
order
,
'descending'
)
?
'desc'
:
''
;
if
(
Object
.
is
(
dir
,
this
.
minorSortDir
)
&&
Object
.
is
(
this
.
minorSortPSDEF
,
prop
))
{
return
;
}
this
.
minorSortDir
=
dir
;
this
.
minorSortPSDEF
=
prop
?
prop
:
''
;
this
.
load
({});
}
/**
* 表格行选中样式
*
* @param {{ row: any, rowIndex: any }} { row, rowIndex }
* @returns {string}
* @memberof MainBase
*/
public
onRowClassName
({
row
,
rowIndex
}:
{
row
:
any
,
rowIndex
:
any
}):
string
{
const
index
=
this
.
selections
.
findIndex
((
select
:
any
)
=>
Object
.
is
(
select
.
srfkey
,
row
.
srfkey
));
return
index
!==
-
1
?
'grid-row-select'
:
''
;
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof MainBase
*/
public
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
// this.rowClick(row, true);
$event
.
stopPropagation
();
}
/**
* 设置列状态
*
* @memberof MainBase
*/
public
setColState
()
{
const
_data
:
any
=
localStorage
.
getItem
(
'dst_system_main_grid'
);
if
(
_data
)
{
let
columns
=
JSON
.
parse
(
_data
);
columns
.
forEach
((
col
:
any
)
=>
{
let
column
=
this
.
allColumns
.
find
((
item
)
=>
Object
.
is
(
col
.
name
,
item
.
name
));
if
(
column
)
{
Object
.
assign
(
column
,
col
);
}
});
}
}
/**
* 列变化
*
* @memberof MainBase
*/
public
onColChange
()
{
localStorage
.
setItem
(
'dst_system_main_grid'
,
JSON
.
stringify
(
this
.
allColumns
));
}
/**
* 获取列状态
*
* @param {string} name
* @returns {boolean}
* @memberof MainBase
*/
public
getColumnState
(
name
:
string
):
boolean
{
let
column
=
this
.
allColumns
.
find
((
col
:
any
)
=>
Object
.
is
(
name
,
col
.
name
)
);
return
column
.
show
?
true
:
false
;
}
/**
* 表格列是否自适应布局
*
* @readonly
* @type {boolean}
* @memberof MainBase
*/
get
adaptiveState
():
boolean
{
return
!
this
.
allColumns
.
find
((
column
:
any
)
=>
column
.
show
&&
Object
.
is
(
column
.
unit
,
'STAR'
));
}
/**
* 保存
*
* @param {*} $event
* @returns {Promise<any>}
* @memberof MainBase
*/
public
async
save
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
let
_this
=
this
;
// 拷贝模式
if
(
_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
[];
}
let
successItems
:
any
=
[];
let
errorItems
:
any
=
[];
let
errorMessage
:
any
=
[];
for
(
const
item
of
_this
.
items
)
{
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.createAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.updateAction'
)
as
string
)
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
dstsystem
){
Object
.
assign
(
this
.
context
,{
dstsystem
:
item
.
dstsystem
});
}
let
response
=
await
this
.
service
.
update
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
successItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
response
.
data
)));
}
}
}
catch
(
error
)
{
errorItems
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)));
errorMessage
.
push
(
error
);
}
}
this
.
$emit
(
'save'
,
successItems
);
this
.
refresh
([]);
if
(
errorItems
.
length
===
0
&&
successItems
.
length
>
0
){
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
this
.
$t
(
'app.commonWords.saveSuccess'
)
as
string
)
});
}
else
{
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
(
"pssystemid"
);
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
;
}
/**
* 新建行
*
* @param {*} $event
* @returns {void}
* @memberof MainBase
*/
public
newRow
(
args
:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
'DstSystemGridView'
+
(
this
.
$t
(
'app.gridpage.notConfig.loaddraftAction'
)
as
string
)
});
return
;
}
let
_this
=
this
;
Object
.
assign
(
args
[
0
],{
viewparams
:
this
.
viewparams
});
let
post
:
Promise
<
any
>
=
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
args
[
0
],
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
errorMessage
)
{
this
.
$Notice
.
error
({
title
:
(
this
.
$t
(
'app.commonWords.wrong'
)
as
string
),
desc
:
response
.
errorMessage
});
}
return
;
}
const
data
=
response
.
data
;
this
.
createDefault
(
data
);
data
.
rowDataState
=
"create"
;
this
.
items
.
splice
(
0
,
0
,
data
);
_this
.
gridItemsModel
.
push
(
_this
.
getGridRowModel
());
}).
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
;
}
});
}
/**
* 表格编辑项值变更
*
* @param row 行数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof MainBase
*/
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 MainBase
*/
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 MainBase
*/
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
,
{
dstsystem
:
data
.
pssystemid
});
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
*
* @param {*} $args row 行数据,rowIndex 行索引
* @returns {void}
* @memberof MainBase
*/
public
getRowClassName
(
args
:{
row
:
any
,
rowIndex
:
number
}){
let
isSelected
=
this
.
selections
.
some
((
item
:
any
)
=>
{
return
Object
.
is
(
item
.
dstsystem
,
args
.
row
.
dstsystem
);
});
return
isSelected
?
"grid-selected-row"
:
""
;
}
/**
* 获取对应单元格class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,columnIndex 列索引
* @returns {void}
* @memberof MainBase
*/
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 MainBase
*/
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 行数据
* @memberof MainBase
*/
public
createDefault
(
row
:
any
){
}
/**
* 更新默认值
* @param {*} row 行数据
* @memberof MainBase
*/
public
updateDefault
(
row
:
any
){
}
/**
* 计算数据对象类型的默认值
* @param {string} action 行为
* @param {string} param 默认值参数
* @param {*} data 当前行数据
* @memberof MainBase
*/
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
.
pssystemid
===
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 MainBase
*/
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 MainBase
*/
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 MainBase
*/
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 MainBase
*/
public
resetGridData
(
row
:
any
,
property
:
string
,
rowIndex
:
number
)
{
if
(
this
.
actualIsOpenEdit
)
{
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './main-grid.less';
</
style
>
\ No newline at end of file
app_web/src/widgets/dst-system/main-grid/main-grid-model.ts
0 → 100644
浏览文件 @
bf0a12d0
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export
default
class
MainModel
{
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof MainGridMode
*/
public
isDEExport
:
boolean
=
false
;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainGridMode
*/
public
getDataItems
():
any
[]
{
if
(
this
.
isDEExport
){
return
[
]
}
else
{
return
[
{
name
:
'showorder'
,
prop
:
'showorder'
,
dataType
:
'INT'
,
},
{
name
:
'pssystemid'
,
prop
:
'pssystemid'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfmajortext'
,
prop
:
'pssystemname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfdataaccaction'
,
prop
:
'pssystemid'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfkey'
,
prop
:
'pssystemid'
,
dataType
:
'TEXT'
,
isEditable
:
true
},
{
name
:
'pssystemname'
,
prop
:
'pssystemname'
,
dataType
:
'TEXT'
,
},
{
name
:
'dstsystem'
,
prop
:
'pssystemid'
,
},
{
name
:
'n_pssystemname_like'
,
prop
:
'n_pssystemname_like'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'size'
,
prop
:
'size'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'query'
,
prop
:
'query'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'filter'
,
prop
:
'filter'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'page'
,
prop
:
'page'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'sort'
,
prop
:
'sort'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'srfparentdata'
,
prop
:
'srfparentdata'
,
dataType
:
'QUERYPARAM'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
]
}
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/main-grid/main-grid-service.ts
0 → 100644
浏览文件 @
bf0a12d0
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
DstSystemService
from
'@/service/dst-system/dst-system-service'
;
import
MainModel
from
'./main-grid-model'
;
/**
* Main 部件服务对象
*
* @export
* @class MainService
*/
export
default
class
MainService
extends
ControlService
{
/**
* 系统服务对象
*
* @type {DstSystemService}
* @memberof MainService
*/
public
appEntityService
:
DstSystemService
=
new
DstSystemService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof MainService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of MainService.
*
* @param {*} [opts={}]
* @memberof MainService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
MainModel
();
}
/**
* 备份原生数据
*
* @type {*}
* @memberof MainService
*/
private
copynativeData
:
any
;
/**
* 远端数据
*
* @type {*}
* @memberof MainService
*/
private
remoteCopyData
:
any
=
{};
/**
* 处理数据
*
* @public
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof MainService
*/
public
doItems
(
promise
:
Promise
<
any
>
,
deKeyField
:
string
,
deName
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
data
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
item
[
deName
]
=
item
[
deKeyField
];
data
[
index
]
=
item
;
});
resolve
(
data
);
}
else
{
reject
([])
}
}).
catch
((
response
:
any
)
=>
{
reject
([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof MainService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
return
Promise
.
reject
([])
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestDataWithUpdate
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestDataWithUpdate
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 获取数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Get
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
}
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
search
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
FetchDefault
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
setCopynativeData
(
response
.
data
);
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
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
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
//处理返回数据,补充判断标识
if
(
response
.
data
){
Object
.
assign
(
response
.
data
,{
srfuf
:
'0'
});
//仿真主键数据
response
.
data
.
pssystemid
=
Util
.
createUUID
();
}
this
.
setRemoteCopyData
(
response
);
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
frontLogic
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
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
,
Data
,
isloading
);
}
else
{
return
Promise
.
reject
({
status
:
500
,
data
:
{
title
:
'失败'
,
message
:
'系统异常'
}
});
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
/**
* 处理请求数据(修改或增加数据)
*
* @param action 行为
* @param data 数据
* @memberof MainService
*/
public
handleRequestDataWithUpdate
(
action
:
string
,
context
:
any
=
{},
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
=
{};
if
(
isMerge
&&
(
data
&&
data
.
viewparams
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
dataItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
'FONTKEY'
)){
if
(
item
&&
item
.
prop
&&
item
.
name
){
requestData
[
item
.
prop
]
=
context
[
item
.
name
];
}
}
else
{
if
(
item
&&
item
.
isEditable
&&
item
.
prop
&&
item
.
name
&&
data
.
hasOwnProperty
(
item
.
name
)){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
});
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
/**
* 处理工作流数据
*
* @param data 传入数据
* @memberof MainService
*/
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
.
dstsystem
;
//补充全量数据
requestData
=
this
.
fillNativeData
(
requestData
);
return
requestData
;
}
/**
* 补充全量数据
*
* @param {*} [data]
* @memberof MainService
*/
public
fillNativeData
(
data
:
any
){
if
(
this
.
copynativeData
&&
this
.
copynativeData
.
length
>
0
){
let
targetData
:
any
=
this
.
copynativeData
.
find
((
item
:
any
)
=>
{
return
item
.
pssystemid
===
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 MainService
*/
@
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
);
});
});
}
/**
* 设置远端数据
*
* @param result 远端请求结果
* @memberof MainService
*/
public
setRemoteCopyData
(
result
:
any
){
if
(
result
&&
result
.
status
===
200
)
{
this
.
remoteCopyData
=
Util
.
deepCopy
(
result
.
data
);
}
}
/**
* 获取远端数据
*
* @memberof MainService
*/
public
getRemoteCopyData
(){
return
this
.
remoteCopyData
;
}
/**
* 设置备份原生数据
*
* @param data 远端请求结果
* @memberof MainService
*/
public
setCopynativeData
(
data
:
any
){
this
.
copynativeData
=
Util
.
deepCopy
(
data
);
}
/**
* 获取备份原生数据
*
* @memberof MainService
*/
public
getCopynativeData
(){
return
this
.
copynativeData
;
}
}
\ No newline at end of file
app_web/src/widgets/dst-system/main-grid/main-grid.less
0 → 100644
浏览文件 @
bf0a12d0
.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
app_web/src/widgets/dst-system/main-grid/main-grid.vue
0 → 100644
浏览文件 @
bf0a12d0
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
MainBase
from
'./main-grid-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
Main
extends
MainBase
{
}
</
script
>
\ No newline at end of file
app_web/src/widgets/exec-log/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -276,6 +276,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
*/
public
data
:
any
=
{
public
data
:
any
=
{
n_ru_execlogname_like
:
null
,
n_ru_execlogname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -288,6 +289,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
formpage1
:
new
FormPageModel
({
caption
:
'常规条件'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
,
n_ru_execlogname_like
:
new
FormItemModel
({
caption
:
'规则执行批次(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_ru_execlogname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_ru_execlogname_like
:
new
FormItemModel
({
caption
:
'规则执行批次(%)'
,
detailType
:
'FORMITEM'
,
name
:
'n_ru_execlogname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -304,6 +307,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_ru_execlogname_like
.
required
,
type
:
'string'
,
message
:
'规则执行批次(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_ru_execlogname_like
.
required
,
type
:
'string'
,
message
:
'规则执行批次(%) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_ru_execlogname_like
.
required
,
type
:
'string'
,
message
:
'规则执行批次(%) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_ru_execlogname_like
.
required
,
type
:
'string'
,
message
:
'规则执行批次(%) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -318,6 +327,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_ru_execlogname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_ru_execlogname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -340,6 +361,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -417,6 +439,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/exec-log/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
...
@@ -30,6 +30,11 @@ export default class DefaultModel {
prop
:
'name'
,
prop
:
'name'
,
dataType
:
'TEXT'
,
dataType
:
'TEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'TEXT'
,
},
]
]
}
}
...
...
app_web/src/widgets/exec-log/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -86,6 +86,11 @@ export default class MainModel {
...
@@ -86,6 +86,11 @@ export default class MainModel {
prop
:
'n_ru_execlogname_like'
,
prop
:
'n_ru_execlogname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/exec-result/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -31,6 +31,34 @@
...
@@ -31,6 +31,34 @@
</app-form-item>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.n_rulename_eq.visible"
:style=
"
{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'n_rulename_eq'
:itemRules=
"this.rules.n_rulename_eq"
class=
''
:caption=
"$t('entities.execresult.default_searchform.details.n_rulename_eq')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_rulename_eq.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-picker
:formState=
"formState"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.n_rulename_eq.disabled"
name='n_rulename_eq'
deMajorField='rule_name'
deKeyField='ruleitem'
:service="service"
:acParams="{ serviceName: 'RuleItemService', interfaceName: 'FetchDefault'}"
valueitem='n_ruleid_eq'
:value="data.n_rulename_eq"
editortype=""
:pickupView="{ viewname: 'rule-item-pickup-view', title: $t('entities.ruleitem.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'ruleitems', parameterName: 'ruleitem' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
</app-form-item>
</i-col>
</i-col>
</row>
</row>
</i-col>
</i-col>
...
@@ -291,6 +319,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -291,6 +319,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
public
data
:
any
=
{
public
data
:
any
=
{
n_ru_execresultname_like
:
null
,
n_ru_execresultname_like
:
null
,
n_rulename_like
:
null
,
n_rulename_like
:
null
,
n_rulename_eq
:
null
,
n_ruleid_eq
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -305,6 +336,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -305,6 +336,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_ru_execresultname_like
:
new
FormItemModel
({
caption
:
'规则执行结果描述(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_ru_execresultname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_ru_execresultname_like
:
new
FormItemModel
({
caption
:
'规则执行结果描述(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_ru_execresultname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
n_rulename_like
:
new
FormItemModel
({
caption
:
'规则标识(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_rulename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_rulename_like
:
new
FormItemModel
({
caption
:
'规则标识(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_rulename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_rulename_eq
:
new
FormItemModel
({
caption
:
'规则标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_rulename_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_ruleid_eq
:
new
FormItemModel
({
caption
:
'规则标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_ruleid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -327,6 +364,24 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -327,6 +364,24 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_rulename_like
.
required
,
type
:
'string'
,
message
:
'规则标识(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_rulename_like
.
required
,
type
:
'string'
,
message
:
'规则标识(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_rulename_like
.
required
,
type
:
'string'
,
message
:
'规则标识(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_rulename_like
.
required
,
type
:
'string'
,
message
:
'规则标识(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_rulename_eq
:
[
{
type
:
'string'
,
message
:
'规则标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'规则标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_rulename_eq
.
required
,
type
:
'string'
,
message
:
'规则标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_rulename_eq
.
required
,
type
:
'string'
,
message
:
'规则标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
n_ruleid_eq
:
[
{
type
:
'string'
,
message
:
'规则标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'规则标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_ruleid_eq
.
required
,
type
:
'string'
,
message
:
'规则标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_ruleid_eq
.
required
,
type
:
'string'
,
message
:
'规则标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -353,6 +408,42 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -353,6 +408,42 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_rulename_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_rulename_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_rulename_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_rulename_eq'
)
onN_rulename_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_rulename_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 n_ruleid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_ruleid_eq'
)
onN_ruleid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_ruleid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -376,6 +467,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -376,6 +467,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -453,6 +547,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -453,6 +547,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/exec-result/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -35,6 +35,21 @@ export default class DefaultModel {
...
@@ -35,6 +35,21 @@ export default class DefaultModel {
prop
:
'rule_name'
,
prop
:
'rule_name'
,
dataType
:
'PICKUPTEXT'
,
dataType
:
'PICKUPTEXT'
,
},
},
{
name
:
'n_rulename_eq'
,
prop
:
'rule_name'
,
dataType
:
'PICKUPTEXT'
,
},
{
name
:
'n_ruleid_eq'
,
prop
:
'rule_id'
,
dataType
:
'PICKUP'
,
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'PICKUPDATA'
,
},
]
]
}
}
...
...
app_web/src/widgets/exec-result/default-searchform/default-searchform-service.ts
浏览文件 @
bf0a12d0
...
@@ -2,6 +2,7 @@ import { Http,Util,Errorlog } from '@/utils';
...
@@ -2,6 +2,7 @@ import { Http,Util,Errorlog } from '@/utils';
import
ControlService
from
'@/widgets/control-service'
;
import
ControlService
from
'@/widgets/control-service'
;
import
ExecResultService
from
'@/service/exec-result/exec-result-service'
;
import
ExecResultService
from
'@/service/exec-result/exec-result-service'
;
import
DefaultModel
from
'./default-searchform-model'
;
import
DefaultModel
from
'./default-searchform-model'
;
import
RuleItemService
from
'@/service/rule-item/rule-item-service'
;
/**
/**
...
@@ -41,6 +42,14 @@ export default class DefaultService extends ControlService {
...
@@ -41,6 +42,14 @@ export default class DefaultService extends ControlService {
this
.
model
=
new
DefaultModel
();
this
.
model
=
new
DefaultModel
();
}
}
/**
* 规则服务对象
*
* @type {RuleItemService}
* @memberof DefaultService
*/
public
ruleitemService
:
RuleItemService
=
new
RuleItemService
();
/**
/**
* 远端数据
* 远端数据
*
*
...
@@ -90,6 +99,9 @@ export default class DefaultService extends ControlService {
...
@@ -90,6 +99,9 @@ export default class DefaultService extends ControlService {
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
page
=
data
.
page
?
data
.
page
:
0
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
data
.
size
=
data
.
size
?
data
.
size
:
1000
;
if
(
Object
.
is
(
serviceName
,
'RuleItemService'
)
&&
Object
.
is
(
interfaceName
,
'FetchDefault'
))
{
return
this
.
doItems
(
this
.
ruleitemService
.
FetchDefault
(
JSON
.
parse
(
JSON
.
stringify
(
context
)),
data
,
isloading
),
'rule_id'
,
'ruleitem'
);
}
return
Promise
.
reject
([])
return
Promise
.
reject
([])
}
}
...
...
app_web/src/widgets/exec-result/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -126,6 +126,21 @@ export default class MainModel {
...
@@ -126,6 +126,21 @@ export default class MainModel {
prop
:
'n_rulename_like'
,
prop
:
'n_rulename_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_rulename_eq'
,
prop
:
'n_rulename_eq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_ruleid_eq'
,
prop
:
'n_ruleid_eq'
,
dataType
:
'QUERYPARAM'
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/rule-engine/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
public
data
:
any
=
{
public
data
:
any
=
{
n_enginename_like
:
null
,
n_enginename_like
:
null
,
n_modelname_like
:
null
,
n_modelname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_enginename_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_enginename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_enginename_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_enginename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/rule-engine/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
prop
:
'model_name'
,
prop
:
'model_name'
,
dataType
:
'PICKUPTEXT'
,
dataType
:
'PICKUPTEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'PICKUPDATA'
,
},
]
]
}
}
...
...
app_web/src/widgets/rule-engine/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -86,6 +86,11 @@ export default class MainModel {
...
@@ -86,6 +86,11 @@ export default class MainModel {
prop
:
'n_modelname_like'
,
prop
:
'n_modelname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
app_web/src/widgets/rule-item/default-searchform/default-searchform-base.vue
浏览文件 @
bf0a12d0
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -291,6 +291,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
public
data
:
any
=
{
public
data
:
any
=
{
n_rulename_like
:
null
,
n_rulename_like
:
null
,
n_modelname_like
:
null
,
n_modelname_like
:
null
,
n_systemid_eq
:
null
,
};
};
/**
/**
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -305,6 +306,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_rulename_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_rulename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_rulename_like
:
new
FormItemModel
({
caption
:
'名称(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_rulename_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
n_modelname_like
:
new
FormItemModel
({
caption
:
'模型(文本包含(%))'
,
detailType
:
'FORMITEM'
,
name
:
'n_modelname_like'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
n_systemid_eq
:
new
FormItemModel
({
caption
:
'系统标识(=)'
,
detailType
:
'FORMITEM'
,
name
:
'n_systemid_eq'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
required
:
false
,
disabled
:
false
,
enableCond
:
3
})
,
,
};
};
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -327,6 +330,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_modelname_like
.
required
,
type
:
'string'
,
message
:
'模型(文本包含(%)) 值不能为空'
,
trigger
:
'blur'
},
],
],
n_systemid_eq
:
[
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'系统标识(=) 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'change'
},
{
required
:
this
.
detailsModel
.
n_systemid_eq
.
required
,
type
:
'string'
,
message
:
'系统标识(=) 值不能为空'
,
trigger
:
'blur'
},
],
}
}
/**
/**
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -353,6 +362,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formDataChange
({
name
:
'n_modelname_like'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
}
/**
* 监控表单属性 n_systemid_eq 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@
Watch
(
'data.n_systemid_eq'
)
onN_systemid_eqChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'n_systemid_eq'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
/**
* 重置表单项值
* 重置表单项值
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -376,6 +397,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
}
/**
/**
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
...
@@ -453,6 +475,9 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
* @memberof DefaultBase
*/
*/
public
createDefault
(){
public
createDefault
(){
if
(
this
.
data
.
hasOwnProperty
(
'n_systemid_eq'
))
{
this
.
data
[
'n_systemid_eq'
]
=
this
.
context
[
'dstsystemid'
];
}
}
}
/**
/**
...
...
app_web/src/widgets/rule-item/default-searchform/default-searchform-model.ts
浏览文件 @
bf0a12d0
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
...
@@ -35,6 +35,11 @@ export default class DefaultModel {
prop
:
'model_name'
,
prop
:
'model_name'
,
dataType
:
'PICKUPTEXT'
,
dataType
:
'PICKUPTEXT'
,
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'system_id'
,
dataType
:
'PICKUPDATA'
,
},
]
]
}
}
...
...
app_web/src/widgets/rule-item/main-grid/main-grid-model.ts
浏览文件 @
bf0a12d0
...
@@ -96,6 +96,11 @@ export default class MainModel {
...
@@ -96,6 +96,11 @@ export default class MainModel {
prop
:
'n_modelname_like'
,
prop
:
'n_modelname_like'
,
dataType
:
'QUERYPARAM'
dataType
:
'QUERYPARAM'
},
},
{
name
:
'n_systemid_eq'
,
prop
:
'n_systemid_eq'
,
dataType
:
'QUERYPARAM'
},
{
{
name
:
'size'
,
name
:
'size'
,
...
...
ibzdst-core/src/main/java/cn/ibizlab/core/analysis/filter/DABuildSearchContext.java
浏览文件 @
bf0a12d0
...
@@ -55,6 +55,13 @@ public class DABuildSearchContext extends QueryWrapperContext<DABuild> {
...
@@ -55,6 +55,13 @@ public class DABuildSearchContext extends QueryWrapperContext<DABuild> {
this
.
getSearchCond
().
like
(
"modelname"
,
n_modelname_like
);
this
.
getSearchCond
().
like
(
"modelname"
,
n_modelname_like
);
}
}
}
}
private
String
n_systemid_eq
;
//[系统标识]
public
void
setN_systemid_eq
(
String
n_systemid_eq
)
{
this
.
n_systemid_eq
=
n_systemid_eq
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_systemid_eq
)){
this
.
getSearchCond
().
eq
(
"systemid"
,
n_systemid_eq
);
}
}
/**
/**
* 启用快速搜索
* 启用快速搜索
...
...
ibzdst-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
bf0a12d0
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<!--输出实体[DA_BUILD]数据结构 -->
<!--输出实体[DA_BUILD]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-da_build-36
-1"
>
<changeSet
author=
"
root"
id=
"tab-da_build-38
-1"
>
<createTable
tableName=
"IBZDABUILD"
>
<createTable
tableName=
"IBZDABUILD"
>
<column
name=
"BUILDID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"BUILDID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_BUILD_BUILDID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_BUILD_BUILDID"
/>
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
<!--输出实体[DA_CHART]数据结构 -->
<!--输出实体[DA_CHART]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-da_chart-18
-2"
>
<changeSet
author=
"
root"
id=
"tab-da_chart-20
-2"
>
<createTable
tableName=
"IBZDACHART"
>
<createTable
tableName=
"IBZDACHART"
>
<column
name=
"CHARTID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"CHARTID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_CHART_CHARTID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_CHART_CHARTID"
/>
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
<!--输出实体[DA_METRIC]数据结构 -->
<!--输出实体[DA_METRIC]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-da_metric-43-3"
>
<changeSet
author=
"
root
"
id=
"tab-da_metric-43-3"
>
<createTable
tableName=
"IBZDAMETRIC"
>
<createTable
tableName=
"IBZDAMETRIC"
>
<column
name=
"DA_METRICID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"DA_METRICID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_METRIC_DA_METRICID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_METRIC_DA_METRICID"
/>
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
<!--输出实体[DA_REPORT]数据结构 -->
<!--输出实体[DA_REPORT]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-da_report-20
-4"
>
<changeSet
author=
"
root"
id=
"tab-da_report-22
-4"
>
<createTable
tableName=
"IBZDAREPORT"
>
<createTable
tableName=
"IBZDAREPORT"
>
<column
name=
"REPORTID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"REPORTID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_REPORT_REPORTID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DA_REPORT_REPORTID"
/>
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
<!--输出实体[DST_DATASOURCE]数据结构 -->
<!--输出实体[DST_DATASOURCE]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-dst_datasource-2-5"
>
<changeSet
author=
"
root
"
id=
"tab-dst_datasource-2-5"
>
<createTable
tableName=
"IBZDATASOURCE"
>
<createTable
tableName=
"IBZDATASOURCE"
>
<column
name=
"DSID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"DSID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DST_DATASOURCE_DSID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DST_DATASOURCE_DSID"
/>
...
@@ -114,7 +114,7 @@
...
@@ -114,7 +114,7 @@
<!--输出实体[DST_SYSTEM]数据结构 -->
<!--输出实体[DST_SYSTEM]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-dst_system-5-6"
>
<changeSet
author=
"
root
"
id=
"tab-dst_system-5-6"
>
<createTable
tableName=
"IBZPSSYSTEM"
>
<createTable
tableName=
"IBZPSSYSTEM"
>
<column
name=
"PSSYSTEMID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"PSSYSTEMID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DST_SYSTEM_PSSYSTEMID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_DST_SYSTEM_PSSYSTEMID"
/>
...
@@ -134,7 +134,7 @@
...
@@ -134,7 +134,7 @@
<!--输出实体[RU_EXECLOG]数据结构 -->
<!--输出实体[RU_EXECLOG]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-ru_execlog-29
-7"
>
<changeSet
author=
"
root"
id=
"tab-ru_execlog-31
-7"
>
<createTable
tableName=
"IBZRULELOG"
>
<createTable
tableName=
"IBZRULELOG"
>
<column
name=
"RU_EXECLOGID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"RU_EXECLOGID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_EXECLOG_RU_EXECLOGID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_EXECLOG_RU_EXECLOGID"
/>
...
@@ -164,7 +164,7 @@
...
@@ -164,7 +164,7 @@
<!--输出实体[RU_EXECRESULT]数据结构 -->
<!--输出实体[RU_EXECRESULT]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-ru_execresult-42
-8"
>
<changeSet
author=
"
root"
id=
"tab-ru_execresult-43
-8"
>
<createTable
tableName=
"IBZRULERESULT"
>
<createTable
tableName=
"IBZRULERESULT"
>
<column
name=
"RU_EXECRESULTID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"RU_EXECRESULTID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_EXECRESULT_RU_EXECRESULT"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_EXECRESULT_RU_EXECRESULT"
/>
...
@@ -204,7 +204,7 @@
...
@@ -204,7 +204,7 @@
<!--输出实体[META_DATASET]数据结构 -->
<!--输出实体[META_DATASET]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_dataset-1-9"
>
<changeSet
author=
"
root
"
id=
"tab-meta_dataset-1-9"
>
<createTable
tableName=
"IBZDATASET"
>
<createTable
tableName=
"IBZDATASET"
>
<column
name=
"DATASETID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"DATASETID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_DATASET_DATASETID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_DATASET_DATASETID"
/>
...
@@ -226,7 +226,7 @@
...
@@ -226,7 +226,7 @@
<!--输出实体[META_ENTITY]数据结构 -->
<!--输出实体[META_ENTITY]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_entity-8-10"
>
<changeSet
author=
"
root
"
id=
"tab-meta_entity-8-10"
>
<createTable
tableName=
"IBZENTITY"
>
<createTable
tableName=
"IBZENTITY"
>
<column
name=
"ENTITYID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"ENTITYID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_ENTITY_ENTITYID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_ENTITY_ENTITYID"
/>
...
@@ -258,7 +258,7 @@
...
@@ -258,7 +258,7 @@
<!--输出实体[META_FIELD]数据结构 -->
<!--输出实体[META_FIELD]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_field-5-11"
>
<changeSet
author=
"
root
"
id=
"tab-meta_field-5-11"
>
<createTable
tableName=
"IBZFIELD"
>
<createTable
tableName=
"IBZFIELD"
>
<column
name=
"FIELDID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"FIELDID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_FIELD_FIELDID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_FIELD_FIELDID"
/>
...
@@ -322,7 +322,7 @@
...
@@ -322,7 +322,7 @@
<!--输出实体[META_MODEL]数据结构 -->
<!--输出实体[META_MODEL]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_model-18-12"
>
<changeSet
author=
"
root
"
id=
"tab-meta_model-18-12"
>
<createTable
tableName=
"IBZMODEL"
>
<createTable
tableName=
"IBZMODEL"
>
<column
name=
"MODELID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"MODELID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_MODEL_MODELID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_MODEL_MODELID"
/>
...
@@ -348,7 +348,7 @@
...
@@ -348,7 +348,7 @@
<!--输出实体[META_MODULE]数据结构 -->
<!--输出实体[META_MODULE]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_module-7-13"
>
<changeSet
author=
"
root
"
id=
"tab-meta_module-7-13"
>
<createTable
tableName=
"IBZMODULE"
>
<createTable
tableName=
"IBZMODULE"
>
<column
name=
"MODULEID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"MODULEID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_MODULE_MODULEID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_MODULE_MODULEID"
/>
...
@@ -366,7 +366,7 @@
...
@@ -366,7 +366,7 @@
<!--输出实体[META_RELATION]数据结构 -->
<!--输出实体[META_RELATION]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-meta_relation-5-14"
>
<changeSet
author=
"
root
"
id=
"tab-meta_relation-5-14"
>
<createTable
tableName=
"IBZRELATION"
>
<createTable
tableName=
"IBZRELATION"
>
<column
name=
"RELATIONID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"RELATIONID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_RELATION_RELATIONID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_META_RELATION_RELATIONID"
/>
...
@@ -398,7 +398,7 @@
...
@@ -398,7 +398,7 @@
<!--输出实体[RU_ENGINE]数据结构 -->
<!--输出实体[RU_ENGINE]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-ru_engine-26
-15"
>
<changeSet
author=
"
root"
id=
"tab-ru_engine-27
-15"
>
<createTable
tableName=
"IBZRULEENGINE"
>
<createTable
tableName=
"IBZRULEENGINE"
>
<column
name=
"ENGINEID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"ENGINEID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_ENGINE_ENGINEID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_ENGINE_ENGINEID"
/>
...
@@ -420,7 +420,7 @@
...
@@ -420,7 +420,7 @@
<!--输出实体[RU_ITEM]数据结构 -->
<!--输出实体[RU_ITEM]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"tab-ru_item-48
-16"
>
<changeSet
author=
"
root"
id=
"tab-ru_item-49
-16"
>
<createTable
tableName=
"IBZRULE"
>
<createTable
tableName=
"IBZRULE"
>
<column
name=
"RULEID"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"RULEID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_ITEM_RULEID"
/>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_RU_ITEM_RULEID"
/>
...
@@ -455,7 +455,7 @@
...
@@ -455,7 +455,7 @@
<!--输出实体[DA_BUILD]外键关系 -->
<!--输出实体[DA_BUILD]外键关系 -->
<!--输出实体[DA_CHART]外键关系 -->
<!--输出实体[DA_CHART]外键关系 -->
<!--输出实体[DA_METRIC]外键关系 -->
<!--输出实体[DA_METRIC]外键关系 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"fk-da_metric-43-17"
>
<changeSet
author=
"
root
"
id=
"fk-da_metric-43-17"
>
<addForeignKeyConstraint
baseColumnNames=
"BUILDID"
baseTableName=
"IBZDAMETRIC"
constraintName=
"DER1N_DA_METRIC_DA_BUILD_BUILD"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"BUILDID"
referencedTableName=
"IBZDABUILD"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"BUILDID"
baseTableName=
"IBZDAMETRIC"
constraintName=
"DER1N_DA_METRIC_DA_BUILD_BUILD"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"BUILDID"
referencedTableName=
"IBZDABUILD"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[DA_REPORT]外键关系 -->
<!--输出实体[DA_REPORT]外键关系 -->
...
@@ -463,7 +463,7 @@
...
@@ -463,7 +463,7 @@
<!--输出实体[DST_SYSTEM]外键关系 -->
<!--输出实体[DST_SYSTEM]外键关系 -->
<!--输出实体[RU_EXECLOG]外键关系 -->
<!--输出实体[RU_EXECLOG]外键关系 -->
<!--输出实体[RU_EXECRESULT]外键关系 -->
<!--输出实体[RU_EXECRESULT]外键关系 -->
<changeSet
author=
"
a_A_5d9d78509"
id=
"fk-ru_execresult-42
-18"
>
<changeSet
author=
"
root"
id=
"fk-ru_execresult-43
-18"
>
<addForeignKeyConstraint
baseColumnNames=
"RULEID"
baseTableName=
"IBZRULERESULT"
constraintName=
"DER1N_RU_EXECRESULT_RU_ITEM_RU"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"RULEID"
referencedTableName=
"IBZRULE"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"RULEID"
baseTableName=
"IBZRULERESULT"
constraintName=
"DER1N_RU_EXECRESULT_RU_ITEM_RU"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"RULEID"
referencedTableName=
"IBZRULE"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[META_DATASET]外键关系 -->
<!--输出实体[META_DATASET]外键关系 -->
...
...
ibzdst-core/src/main/resources/permission/systemResource.json
浏览文件 @
bf0a12d0
...
@@ -161,7 +161,7 @@
...
@@ -161,7 +161,7 @@
{
{
"appid"
:
"web"
,
"appid"
:
"web"
,
"appname"
:
"应用"
,
"appname"
:
"应用"
,
"appmenu"
:[{
"menuid"
:
"dstIndex"
,
"menuname"
:
"dstIndex"
,
"menuitem"
:[{
"id"
:
"menuitem3"
,
"name"
:
"模型"
,
"items"
:[{
"id"
:
"menuitem2"
,
"name"
:
"数据源"
},{
"id"
:
"menuitem1"
,
"name"
:
"实体"
},{
"id"
:
"menuitem9"
,
"name"
:
"模型"
}]},{
"id"
:
"menuitem4"
,
"name"
:
"规则"
,
"items"
:[{
"id"
:
"menuitem10"
,
"name"
:
"规则"
},{
"id"
:
"menuitem11"
,
"name"
:
"引擎"
},{
"id"
:
"menuitem12"
,
"name"
:
"结果"
},{
"id"
:
"menuitem13"
,
"name"
:
"日志"
}]},{
"id"
:
"menuitem5"
,
"name"
:
"分析"
,
"items"
:[{
"id"
:
"menuitem6"
,
"name"
:
"构建"
},{
"id"
:
"menuitem7"
,
"name"
:
"报表"
},{
"id"
:
"menuitem8"
,
"name"
:
"图表"
}]}]
}]
"appmenu"
:[{
"menuid"
:
"dstIndex"
,
"menuname"
:
"dstIndex"
,
"menuitem"
:[{
"id"
:
"menuitem3"
,
"name"
:
"模型"
,
"items"
:[{
"id"
:
"menuitem2"
,
"name"
:
"数据源"
},{
"id"
:
"menuitem1
4"
,
"name"
:
"系统"
},{
"id"
:
"menuitem1
"
,
"name"
:
"实体"
},{
"id"
:
"menuitem9"
,
"name"
:
"模型"
}]},{
"id"
:
"menuitem4"
,
"name"
:
"规则"
,
"items"
:[{
"id"
:
"menuitem10"
,
"name"
:
"规则"
},{
"id"
:
"menuitem11"
,
"name"
:
"引擎"
},{
"id"
:
"menuitem12"
,
"name"
:
"结果"
},{
"id"
:
"menuitem13"
,
"name"
:
"日志"
}]},{
"id"
:
"menuitem5"
,
"name"
:
"分析"
,
"items"
:[{
"id"
:
"menuitem6"
,
"name"
:
"构建"
},{
"id"
:
"menuitem7"
,
"name"
:
"报表"
},{
"id"
:
"menuitem8"
,
"name"
:
"图表"
}]}]
}]
}
}
]
]
}
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录