提交 ec762b48 编写于 作者: ibizdev's avatar ibizdev

lab_gzf 部署微服务应用

上级 8fece82b
......@@ -19,6 +19,16 @@
"viewtag": "3d676a12800fca23bec463d5c5217413",
"memo": "系统自动添加"
},
"eamlocationtypegridview": {
"title": "功能位置类型表格视图",
"caption": "功能位置类型",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationTypeGridView",
"viewfilename": "eamlocation-type-grid-view",
"viewtag": "4c95ec14aa2de5370d9d81f7d85f4bd5",
"memo": ""
},
"eamlocationstatemodeleditview": {
"title": "功能位置状态模型编辑视图",
"caption": "功能位置状态模型",
......@@ -39,6 +49,16 @@
"viewtag": "9e9b3600ba892d31757bacef1dcc9458",
"memo": ""
},
"eamlocationinfo_mainview": {
"title": "功能位置编辑视图",
"caption": "功能位置",
"viewtype": "DEEDITVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationInfo_MainView",
"viewfilename": "eamlocation-info-main-view",
"viewtag": "a82c591e524f7289432a30a5ccfa8908",
"memo": ""
},
"eamlocationstatepickupview": {
"title": "功能位置状态数据选择视图",
"caption": "功能位置状态",
......@@ -49,6 +69,16 @@
"viewtag": "a9f7eb2645c6505a232a0a13742c42a7",
"memo": "系统自动添加"
},
"eamlocationchildgridview": {
"title": "功能位置表格视图",
"caption": "功能位置",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationChildGridView",
"viewfilename": "eamlocation-child-grid-view",
"viewtag": "b24fce391aeca43222a1017b50ba40e2",
"memo": ""
},
"eamlocationstatemodellineeditview": {
"title": "功能位置状态模型明细编辑视图",
"caption": "功能位置状态模型明细",
......@@ -79,6 +109,26 @@
"viewtag": "bb8b4b03a77ed63b8eb4ef3d62b669a6",
"memo": "系统自动添加"
},
"eamlocationsummaryview": {
"title": "功能位置数据看板视图",
"caption": "功能位置",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationSummaryView",
"viewfilename": "eamlocation-summary-view",
"viewtag": "cc29cbcb0398aa069d4b05f3469f0377",
"memo": ""
},
"eamlocationinfoview": {
"title": "功能位置信息",
"caption": "功能位置",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationInfoView",
"viewfilename": "eamlocation-info-view",
"viewtag": "d3466c5c60a573062d543896976bf68c",
"memo": ""
},
"appindexview": {
"title": "应用首页视图",
"caption": "资产管理",
......@@ -89,6 +139,16 @@
"viewtag": "D44132B9-5261-4008-A146-6287A80D5D31",
"memo": ""
},
"eamlocationtypeeditview": {
"title": "功能位置类型编辑视图",
"caption": "功能位置类型",
"viewtype": "DEEDITVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationTypeEditView",
"viewfilename": "eamlocation-type-edit-view",
"viewtag": "dd09755644dcf1e57c062b4e08e4ce3a",
"memo": "系统自动添加"
},
"eamlocationstatemodellinegridview": {
"title": "功能位置状态模型明细表格视图",
"caption": "功能位置状态模型明细",
......@@ -99,6 +159,16 @@
"viewtag": "ecd1ec6299b5b24e2004fa15c4eef92d",
"memo": "系统自动添加"
},
"eamlocationgridview": {
"title": "功能位置表格视图",
"caption": "功能位置",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationGridView",
"viewfilename": "eamlocation-grid-view",
"viewtag": "eee617336f6dc6e5e97835d6309fd452",
"memo": ""
},
"eamlocationstategridview": {
"title": "功能位置状态信息",
"caption": "功能位置状态",
......
......@@ -54,6 +54,14 @@ export default class AppColumnLink extends Vue {
*/
@Prop({default:{}}) public viewparams?:any;
/**
* 局部导航参数
*
* @type {any}
* @memberof AppColumnLink
*/
@Prop() public localParam!:any;
/**
* 应用实体主键属性名称
*
......@@ -281,6 +289,11 @@ export default class AppColumnLink extends Vue {
// 合并表单参数
arg.param = this.viewparams ? JSON.parse(JSON.stringify(this.viewparams)) : {};
arg.context = this.context ? JSON.parse(JSON.stringify(this.context)) : {};
// 附加参数处理
if (this.localParam && Object.keys(this.localParam).length >0) {
let _param = this.$util.computedNavData(this.data,arg.param,arg.param,JSON.parse(JSON.stringify(this.localParam)));
Object.assign(arg.param,_param);
}
return true;
}
......
<template>
<textarea :id="id"></textarea>
<div :class="editorClass">
<textarea :id="id"></textarea>
</div>
</template>
<script lang = 'ts'>
import { Vue, Component, Prop, Model, Watch } from 'vue-property-decorator';
......@@ -19,6 +21,7 @@ import 'tinymce/plugins/codesample';
import 'tinymce/plugins/code';
import 'tinymce/plugins/fullscreen';
import 'tinymce/plugins/preview';
import 'tinymce/plugins/fullscreen';
import 'tinymce/icons/default/icons.min.js';
const tinymceCode:any = tinymce;
......@@ -191,6 +194,20 @@ export default class AppRichTextEditor extends Vue {
*/
public isNeedInit:boolean = false;
/**
* 上传的图片id与类型集合
* @type {string}
* @memberof AppRichTextEditor
*/
public imgsrc: Array<any> = [];
/**
* 编辑器样式类
* @type {string}
* @memberof AppRichTextEditor
*/
public editorClass: string = 'app-rich-text-editor';
/**
* 生命周期
*
......@@ -238,8 +255,31 @@ export default class AppRichTextEditor extends Vue {
*/
public mounted() {
this.init();
const ele: any = this.isDrawer(this.$el);
let index: number = ele.style.transform.indexOf('translateX');
if(index >= 0) {
let num: string = ele.style.transform.substring(index + 12, index + 15);
this.editorClass = this.editorClass + (-parseInt(num));
}
}
/**
* 是否抽屉打开
*
* @memberof AppRichTextEditor
*/
public isDrawer(ele: any): any {
let pele: any = ele.parentNode;
if(!pele) {
return false;
}
if(pele.className.indexOf('studio-drawer-content') >= 0) {
return pele;
}
return this.isDrawer(pele);
}
/**
* 生命周期:销毁富文本
*
......@@ -259,6 +299,10 @@ export default class AppRichTextEditor extends Vue {
@Watch('value', { immediate: true, deep: true })
oncurrentContent(newval: any, val: any) {
const content: any = this.editor ? this.editor.getContent() : undefined;
const url = this.downloadUrl.substring(3);
if(newval) {
newval = newval.replace(/\{(\d+)\.(bmp|jpg|jpeg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp)\}/g, `${url}/$1`);
}
if (!Object.is(newval,content)) {
this.init();
}
......@@ -292,8 +336,8 @@ export default class AppRichTextEditor extends Vue {
height: richtexteditor.height,
min_height: 400,
branding: false,
plugins: ['link', 'paste', 'table', 'image', 'codesample', 'code', 'fullscreen', 'preview', 'quickbars'],
toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | link image',
plugins: ['link', 'paste', 'table', 'image', 'codesample', 'code', 'fullscreen', 'preview', 'quickbars', 'fullscreen'],
toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | link image | preview code fullscreen',
quickbars_insert_toolbar: false,
quickbars_selection_toolbar: 'forecolor fontsizeselect fontselect',
codesample_languages: [
......@@ -316,7 +360,16 @@ export default class AppRichTextEditor extends Vue {
setup: (editor: any) => {
richtexteditor.editor = editor;
editor.on('blur', () => {
const content = editor.getContent();
let content = editor.getContent();
const url = richtexteditor.downloadUrl.substring(3);
let newContent: string = "";
const imgsrc = richtexteditor.imgsrc;
if(imgsrc && imgsrc.length > 0){
imgsrc.forEach((item: any)=>{
newContent = content.replace(url+"/"+item.id,"{"+item.id+item.type+"}");
content = newContent;
});
}
richtexteditor.$emit('change', content);
});
},
......@@ -335,6 +388,8 @@ export default class AppRichTextEditor extends Vue {
}
this.uploadUrl = _url;
richtexteditor.uploadFile(_url, formData).subscribe((file: any) => {
const item: any = { id: file.fileid, type: file.ext };
richtexteditor.imgsrc.push(item);
let downloadUrl = richtexteditor.downloadUrl;
if (file.filename) {
const id: string = file.fileid;
......@@ -438,4 +493,22 @@ export default class AppRichTextEditor extends Vue {
.tox-statusbar__text-container{
display: none !important;
}
.app-rich-text-editor-100 {
.tox-fullscreen {
height: 100% !important;
transform: translateX(100%);
}
.tox-blocker {
transform: translateX(100%);
}
}
.app-rich-text-editor-200 {
.tox-fullscreen {
height: 100% !important;
transform: translateX(200%);
}
.tox-blocker {
transform: translateX(200%);
}
}
</style>
\ No newline at end of file
......@@ -61,4 +61,12 @@ export interface EAMLocationType {
* @memberof EAMLocationType
*/
eamlocationstatemodelid?: any;
/**
* 功能位置状态模型
*
* @returns {*}
* @memberof EAMLocationType
*/
eamlocationstatemodelname?: any;
}
\ No newline at end of file
......@@ -69,4 +69,36 @@ export interface EAMLocation {
* @memberof EAMLocation
*/
peamlocationid?: any;
/**
* 功能位置状态标识
*
* @returns {*}
* @memberof EAMLocation
*/
eamlocationstateid?: any;
/**
* 上级位置
*
* @returns {*}
* @memberof EAMLocation
*/
peamlocationname?: any;
/**
* 功能位置类型
*
* @returns {*}
* @memberof EAMLocation
*/
eamlocationtypename?: any;
/**
* 功能位置状态
*
* @returns {*}
* @memberof EAMLocation
*/
eamlocationstatename?: any;
}
\ No newline at end of file
......@@ -129,6 +129,8 @@ export default {
menuitem1: "功能位置",
menuitem6: "功能位置状态管理",
menuitem7: "功能位置状态模型管理",
menuitem8: "功能位置类型",
menuitem9: "功能位置",
menuitem2: "资产管理",
menuitem3: "维护申请",
menuitem4: "工单管理",
......
......@@ -129,6 +129,8 @@ export default {
menuitem1: "功能位置",
menuitem6: "功能位置状态管理",
menuitem7: "功能位置状态模型管理",
menuitem8: "功能位置类型",
menuitem9: "功能位置",
menuitem2: "资产管理",
menuitem3: "维护申请",
menuitem4: "工单管理",
......
......@@ -8,5 +8,108 @@ export default {
updateman: "更新人",
updatedate: "更新时间",
eamlocationstatemodelid: "功能位置状态模型标识",
eamlocationstatemodelname: "功能位置状态模型",
},
views: {
gridview: {
caption: "功能位置类型",
title: "功能位置类型表格视图",
},
editview: {
caption: "功能位置类型",
title: "功能位置类型编辑视图",
},
},
main_form: {
details: {
group1: "功能位置类型基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置类型标识",
srfmajortext: "功能位置类型名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationtypeid: "功能位置类型标识",
eamlocationtypename: "功能位置类型名称",
eamlocationstatemodelname: "功能位置状态模型",
eamlocationstatemodelid: "功能位置状态模型标识",
},
uiactions: {
},
},
main_grid: {
columns: {
eamlocationtypeid: "功能位置类型标识",
eamlocationtypename: "功能位置类型名称",
eamlocationstatemodelname: "功能位置状态模型",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem5: {
caption: "New",
tip: "New",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "Edit",
tip: "Edit {0}",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem2: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem1: {
caption: "关闭",
tip: "关闭",
},
},
};
\ No newline at end of file
......@@ -7,5 +7,108 @@ export default {
updateman: "更新人",
updatedate: "更新时间",
eamlocationstatemodelid: "功能位置状态模型标识",
eamlocationstatemodelname: "功能位置状态模型",
},
views: {
gridview: {
caption: "功能位置类型",
title: "功能位置类型表格视图",
},
editview: {
caption: "功能位置类型",
title: "功能位置类型编辑视图",
},
},
main_form: {
details: {
group1: "功能位置类型基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置类型标识",
srfmajortext: "功能位置类型名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationtypeid: "功能位置类型标识",
eamlocationtypename: "功能位置类型名称",
eamlocationstatemodelname: "功能位置状态模型",
eamlocationstatemodelid: "功能位置状态模型标识",
},
uiactions: {
},
},
main_grid: {
columns: {
eamlocationtypeid: "功能位置类型标识",
eamlocationtypename: "功能位置类型名称",
eamlocationstatemodelname: "功能位置状态模型",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem5: {
caption: "新建",
tip: "新建",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "编辑",
tip: "编辑",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "拷贝",
tip: "拷贝",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "导出",
tip: "导出",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "过滤",
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem2: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem1: {
caption: "关闭",
tip: "关闭",
},
},
};
\ No newline at end of file
......@@ -9,5 +9,200 @@ export default {
updatedate: "更新时间",
eamlocationtypeid: "功能位置类型标识",
peamlocationid: "上级功能位置标识",
eamlocationstateid: "功能位置状态标识",
peamlocationname: "上级位置",
eamlocationtypename: "功能位置类型",
eamlocationstatename: "功能位置状态",
},
views: {
info_mainview: {
caption: "功能位置",
title: "功能位置编辑视图",
},
childgridview: {
caption: "功能位置",
title: "功能位置表格视图",
},
summaryview: {
caption: "功能位置",
title: "功能位置数据看板视图",
},
infoview: {
caption: "功能位置",
title: "功能位置信息",
},
gridview: {
caption: "功能位置",
title: "功能位置表格视图",
},
},
info_main_form: {
details: {
group1: "功能位置基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置标识",
srfmajortext: "功能位置名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
peamlocationname: "上级位置",
},
uiactions: {
},
},
main_form: {
details: {
group1: "功能位置基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置标识",
srfmajortext: "功能位置名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationid: "功能位置标识",
},
uiactions: {
},
},
childgrid_grid: {
columns: {
peamlocationname: "上级位置",
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
},
uiactions: {
},
},
main_grid: {
columns: {
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
peamlocationname: "上级位置",
eamlocationstatename: "功能位置状态",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
childgridviewtoolbar_toolbar: {
tbitem5: {
caption: "New",
tip: "New",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "Edit",
tip: "Edit {0}",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem2: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem1: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem5: {
caption: "New",
tip: "New",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "Edit",
tip: "Edit {0}",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
......@@ -8,5 +8,200 @@ export default {
updatedate: "更新时间",
eamlocationtypeid: "功能位置类型标识",
peamlocationid: "上级功能位置标识",
eamlocationstateid: "功能位置状态标识",
peamlocationname: "上级位置",
eamlocationtypename: "功能位置类型",
eamlocationstatename: "功能位置状态",
},
views: {
info_mainview: {
caption: "功能位置",
title: "功能位置编辑视图",
},
childgridview: {
caption: "功能位置",
title: "功能位置表格视图",
},
summaryview: {
caption: "功能位置",
title: "功能位置数据看板视图",
},
infoview: {
caption: "功能位置",
title: "功能位置信息",
},
gridview: {
caption: "功能位置",
title: "功能位置表格视图",
},
},
info_main_form: {
details: {
group1: "功能位置基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置标识",
srfmajortext: "功能位置名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
peamlocationname: "上级位置",
},
uiactions: {
},
},
main_form: {
details: {
group1: "功能位置基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "功能位置标识",
srfmajortext: "功能位置名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
eamlocationid: "功能位置标识",
},
uiactions: {
},
},
childgrid_grid: {
columns: {
peamlocationname: "上级位置",
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
},
uiactions: {
},
},
main_grid: {
columns: {
eamlocationid: "功能位置标识",
eamlocationname: "功能位置名称",
eamlocationtypename: "功能位置类型",
peamlocationname: "上级位置",
eamlocationstatename: "功能位置状态",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
childgridviewtoolbar_toolbar: {
tbitem5: {
caption: "新建",
tip: "新建",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "编辑",
tip: "编辑",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "拷贝",
tip: "拷贝",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "导出",
tip: "导出",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "过滤",
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem2: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem1: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem5: {
caption: "新建",
tip: "新建",
},
seperator1: {
caption: "",
tip: "",
},
tbitem2: {
caption: "编辑",
tip: "编辑",
},
seperator2: {
caption: "",
tip: "",
},
tbitem1: {
caption: "拷贝",
tip: "拷贝",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem16: {
caption: "-",
tip: "",
},
tbitem3: {
caption: "导出",
tip: "导出",
},
tbitem17: {
caption: "-",
tip: "",
},
tbitem10: {
caption: "过滤",
tip: "过滤",
},
},
};
\ No newline at end of file
......@@ -117,6 +117,42 @@ mock.onGet('v7/app-index-viewappmenu').reply((config: any) => {
textcls: '',
appfunctag: '_2',
resourcetag: '',
},
{
id: '6B6D828E-5B2A-4DF2-B437-0DDD328DAD7D',
name: 'menuitem8',
text: '功能位置类型',
type: 'MENUITEM',
counterid: '',
tooltip: '功能位置类型',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_4',
resourcetag: '',
},
{
id: '6E2E7A7B-EDEF-460B-84A7-A2777BDD996E',
name: 'menuitem9',
text: '功能位置',
type: 'MENUITEM',
counterid: '',
tooltip: '功能位置',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_5',
resourcetag: '',
},
],
},
......
......@@ -114,16 +114,165 @@ mock.onGet(new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})\/select$/)).repl
console.groupEnd();
return [status, _items];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// Create
mock.onPost(new RegExp(/^\/eamlocations\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: Create");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas[0]);
console.groupEnd();
console.groupEnd();
return [status, mockDatas[0]];
});
// Update
mock.onPut(new RegExp(/^\/eamlocations\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: Update");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.eamlocationid, tempValue.eamlocationid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['eamlocationid'] == tempValue['eamlocationid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// GetDraft
mock.onGet(new RegExp(/^\/eamlocations\/getdraft$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: GetDraft");
console.table({url:config.url, method: config.method, data:config.data});
// GetDraft
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// CheckKey
mock.onPost(new RegExp(/^\/eamlocations\/?([a-zA-Z0-9\-\;]{0,35})\/checkkey$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: CheckKey");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})\/checkkey$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.eamlocationid, tempValue.eamlocationid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['eamlocationid'] == tempValue['eamlocationid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// Save
mock.onPost(new RegExp(/^\/eamlocations\/?([a-zA-Z0-9\-\;]{0,35})\/save$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: Save");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})\/save$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.eamlocationid, tempValue.eamlocationid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['eamlocationid'] == tempValue['eamlocationid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// FetchDefault
mock.onGet(new RegExp(/^\/eamlocations\/select$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/eamlocations\/fetchdefault$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
......@@ -138,7 +287,7 @@ mock.onGet(new RegExp(/^\/eamlocations\/select$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/eamlocations\/select(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/eamlocations\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -173,3 +322,59 @@ mock.onGet(new RegExp(/^\/eamlocations\/select(\?[\w-./?%&=,]*)*$/)).reply((conf
// URI参数传递情况未实现
// URI参数传递情况未实现
// Remove
mock.onDelete(new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: Remove");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.eamlocationid, tempValue.eamlocationid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
// Get
mock.onGet(new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:eamlocation 方法: Get");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['eamlocationid'];
const matchArray:any = new RegExp(/^\/eamlocations\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.eamlocationid, tempValue.eamlocationid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
......@@ -23,6 +23,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "EAMLocationStateModelPickupView",
"viewtag": "3d676a12800fca23bec463d5c5217413"
},
"eamlocationtypegridview": {
"title": "功能位置类型表格视图",
"caption": "功能位置类型",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationTypeGridView",
"viewtag": "4c95ec14aa2de5370d9d81f7d85f4bd5"
},
"eamlocationstatemodeleditview": {
"title": "功能位置状态模型编辑视图",
"caption": "功能位置状态模型",
......@@ -39,6 +47,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "EAMLocationStateModelGridView",
"viewtag": "9e9b3600ba892d31757bacef1dcc9458"
},
"eamlocationinfo_mainview": {
"title": "功能位置编辑视图",
"caption": "功能位置",
"viewtype": "DEEDITVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationInfo_MainView",
"viewtag": "a82c591e524f7289432a30a5ccfa8908"
},
"eamlocationstatepickupview": {
"title": "功能位置状态数据选择视图",
"caption": "功能位置状态",
......@@ -47,6 +63,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "EAMLocationStatePickupView",
"viewtag": "a9f7eb2645c6505a232a0a13742c42a7"
},
"eamlocationchildgridview": {
"title": "功能位置表格视图",
"caption": "功能位置",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationChildGridView",
"viewtag": "b24fce391aeca43222a1017b50ba40e2"
},
"eamlocationstatemodellineeditview": {
"title": "功能位置状态模型明细编辑视图",
"caption": "功能位置状态模型明细",
......@@ -71,6 +95,22 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "EAMLocationStateModelPickupGridView",
"viewtag": "bb8b4b03a77ed63b8eb4ef3d62b669a6"
},
"eamlocationsummaryview": {
"title": "功能位置数据看板视图",
"caption": "功能位置",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationSummaryView",
"viewtag": "cc29cbcb0398aa069d4b05f3469f0377"
},
"eamlocationinfoview": {
"title": "功能位置信息",
"caption": "功能位置",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationInfoView",
"viewtag": "d3466c5c60a573062d543896976bf68c"
},
"appindexview": {
"title": "应用首页视图",
"caption": "资产管理",
......@@ -79,6 +119,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "AppIndexView",
"viewtag": "D44132B9-5261-4008-A146-6287A80D5D31"
},
"eamlocationtypeeditview": {
"title": "功能位置类型编辑视图",
"caption": "功能位置类型",
"viewtype": "DEEDITVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationTypeEditView",
"viewtag": "dd09755644dcf1e57c062b4e08e4ce3a"
},
"eamlocationstatemodellinegridview": {
"title": "功能位置状态模型明细表格视图",
"caption": "功能位置状态模型明细",
......@@ -87,6 +135,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "EAMLocationStateModelLineGridView",
"viewtag": "ecd1ec6299b5b24e2004fa15c4eef92d"
},
"eamlocationgridview": {
"title": "功能位置表格视图",
"caption": "功能位置",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Location",
"viewname": "EAMLocationGridView",
"viewtag": "eee617336f6dc6e5e97835d6309fd452"
},
"eamlocationstategridview": {
"title": "功能位置状态信息",
"caption": "功能位置状态",
......
......@@ -2,13 +2,21 @@ export const PageComponents = {
install(Vue: any, opt: any) {
Vue.component('eamlocation-state-model-pickup-grid-view', () => import('@pages/location/eamlocation-state-model-pickup-grid-view/eamlocation-state-model-pickup-grid-view.vue'));
Vue.component('eamlocation-state-model-line-edit-view', () => import('@pages/location/eamlocation-state-model-line-edit-view/eamlocation-state-model-line-edit-view.vue'));
Vue.component('eamlocation-state-edit-view', () => import('@pages/location/eamlocation-state-edit-view/eamlocation-state-edit-view.vue'));
Vue.component('eamlocation-child-grid-view', () => import('@pages/location/eamlocation-child-grid-view/eamlocation-child-grid-view.vue'));
Vue.component('eamlocation-info-view', () => import('@pages/location/eamlocation-info-view/eamlocation-info-view.vue'));
Vue.component('eamlocation-state-grid-view', () => import('@pages/location/eamlocation-state-grid-view/eamlocation-state-grid-view.vue'));
Vue.component('eamlocation-state-model-line-grid-view', () => import('@pages/location/eamlocation-state-model-line-grid-view/eamlocation-state-model-line-grid-view.vue'));
Vue.component('eamlocation-type-edit-view', () => import('@pages/location/eamlocation-type-edit-view/eamlocation-type-edit-view.vue'));
Vue.component('eamlocation-state-pickup-view', () => import('@pages/location/eamlocation-state-pickup-view/eamlocation-state-pickup-view.vue'));
Vue.component('eamlocation-state-model-pickup-view', () => import('@pages/location/eamlocation-state-model-pickup-view/eamlocation-state-model-pickup-view.vue'));
Vue.component('eamlocation-info-main-view', () => import('@pages/location/eamlocation-info-main-view/eamlocation-info-main-view.vue'));
Vue.component('eamlocation-summary-view', () => import('@pages/location/eamlocation-summary-view/eamlocation-summary-view.vue'));
Vue.component('eamlocation-grid-view', () => import('@pages/location/eamlocation-grid-view/eamlocation-grid-view.vue'));
Vue.component('eamlocation-edit-view', () => import('@pages/location/eamlocation-edit-view/eamlocation-edit-view.vue'));
Vue.component('eamlocation-type-grid-view', () => import('@pages/location/eamlocation-type-grid-view/eamlocation-type-grid-view.vue'));
Vue.component('eamlocation-state-edit-view', () => import('@pages/location/eamlocation-state-edit-view/eamlocation-state-edit-view.vue'));
Vue.component('eamlocation-state-model-grid-view', () => import('@pages/location/eamlocation-state-model-grid-view/eamlocation-state-model-grid-view.vue'));
Vue.component('eamlocation-state-pickup-grid-view', () => import('@pages/location/eamlocation-state-pickup-grid-view/eamlocation-state-pickup-grid-view.vue'));
Vue.component('eamlocation-state-model-pickup-view', () => import('@pages/location/eamlocation-state-model-pickup-view/eamlocation-state-model-pickup-view.vue'));
Vue.component('eamlocation-state-pickup-view', () => import('@pages/location/eamlocation-state-pickup-view/eamlocation-state-pickup-view.vue'));
Vue.component('eamlocation-state-model-edit-view', () => import('@pages/location/eamlocation-state-model-edit-view/eamlocation-state-model-edit-view.vue'));
}
};
\ No newline at end of file
<studio-view-style2 viewName="eamlocationchildgridview" viewTitle="功能位置表格视图" class='degridview eamlocation-child-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="功能位置名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<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>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
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>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-child-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationChildGridViewBase } from './eamlocation-child-grid-view-base';
import view_grid from '@widgets/eamlocation/child-grid-grid/child-grid-grid.vue';
import view_searchform from '@widgets/eamlocation/default-searchform/default-searchform.vue';
/**
* 功能位置表格视图视图
*
* @export
* @class EAMLocationChildGridView
* @extends {EAMLocationChildGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationChildGridView extends EAMLocationChildGridViewBase { }
</script>
<studio-view-style2 viewName="eamlocationgridview" viewTitle="功能位置表格视图" class='degridview eamlocation-grid-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="功能位置名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<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>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
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>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationGridViewBase } from './eamlocation-grid-view-base';
import view_grid from '@widgets/eamlocation/main-grid/main-grid.vue';
import view_searchform from '@widgets/eamlocation/default-searchform/default-searchform.vue';
/**
* 功能位置表格视图视图
*
* @export
* @class EAMLocationGridView
* @extends {EAMLocationGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationGridView extends EAMLocationGridViewBase { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import EAMLocationService from '@/service/eamlocation/eamlocation-service';
import EAMLocationAuthService from '@/authservice/eamlocation/eamlocation-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import EAMLocationUIService from '@/uiservice/eamlocation/eamlocation-ui-service';
/**
* 功能位置编辑视图视图基类
*
* @export
* @class EAMLocationInfo_MainViewBase
* @extends {EditViewBase}
*/
export class EAMLocationInfo_MainViewBase extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof EAMLocationInfo_MainViewBase
*/
protected appDeName: string = 'eamlocation';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof EAMLocationInfo_MainViewBase
*/
protected appDeKey: string = 'eamlocationid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof EAMLocationInfo_MainViewBase
*/
protected appDeMajor: string = 'eamlocationname';
/**
* 实体服务对象
*
* @type {EAMLocationService}
* @memberof EAMLocationInfo_MainViewBase
*/
protected appEntityService: EAMLocationService = new EAMLocationService;
/**
* 实体权限服务对象
*
* @type EAMLocationUIService
* @memberof EAMLocationInfo_MainViewBase
*/
public appUIService: EAMLocationUIService = new EAMLocationUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof EAMLocationInfo_MainViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof EAMLocationInfo_MainViewBase
*/
protected model: any = {
srfCaption: 'entities.eamlocation.views.info_mainview.caption',
srfTitle: 'entities.eamlocation.views.info_mainview.title',
srfSubTitle: 'entities.eamlocation.views.info_mainview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof EAMLocationInfo_MainViewBase
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'a82c591e524f7289432a30a5ccfa8908';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof EAMLocationInfo_MainViewBase
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof EAMLocationInfo_MainViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'eamlocation',
majorPSDEField: 'eamlocationname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationInfo_MainViewBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationInfo_MainViewBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationInfo_MainViewBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="eamlocationinfo_mainview" viewTitle="功能位置编辑视图" class='deeditview eamlocation-info-main-view from-dashboard-style'>
<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>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-info-main-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationInfo_MainViewBase } from './eamlocation-info-main-view-base';
import view_form from '@widgets/eamlocation/info-main-form/info-main-form.vue';
/**
* 功能位置编辑视图视图
*
* @export
* @class EAMLocationInfo_MainView
* @extends {EAMLocationInfo_MainViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationInfo_MainView extends EAMLocationInfo_MainViewBase { }
</script>
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import EAMLocationService from '@/service/eamlocation/eamlocation-service';
import EAMLocationAuthService from '@/authservice/eamlocation/eamlocation-auth-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import EAMLocationUIService from '@/uiservice/eamlocation/eamlocation-ui-service';
/**
* 功能位置信息视图基类
*
* @export
* @class EAMLocationInfoViewBase
* @extends {TabExpViewBase}
*/
export class EAMLocationInfoViewBase extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof EAMLocationInfoViewBase
*/
protected appDeName: string = 'eamlocation';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof EAMLocationInfoViewBase
*/
protected appDeKey: string = 'eamlocationid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof EAMLocationInfoViewBase
*/
protected appDeMajor: string = 'eamlocationname';
/**
* 实体服务对象
*
* @type {EAMLocationService}
* @memberof EAMLocationInfoViewBase
*/
protected appEntityService: EAMLocationService = new EAMLocationService;
/**
* 实体权限服务对象
*
* @type EAMLocationUIService
* @memberof EAMLocationInfoViewBase
*/
public appUIService: EAMLocationUIService = new EAMLocationUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof EAMLocationInfoViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof EAMLocationInfoViewBase
*/
protected model: any = {
srfCaption: 'entities.eamlocation.views.infoview.caption',
srfTitle: 'entities.eamlocation.views.infoview.title',
srfSubTitle: 'entities.eamlocation.views.infoview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof EAMLocationInfoViewBase
*/
protected containerModel: any = {
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'd3466c5c60a573062d543896976bf68c';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof EAMLocationInfoViewBase
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof EAMLocationInfoViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'eamlocation',
majorPSDEField: 'eamlocationname',
isLoadDefault: true,
});
}
}
\ No newline at end of file
<studio-view-style2 viewName="eamlocationinfoview" viewTitle="功能位置信息" class='detabexpview eamlocation-info-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<view_tabexppanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
name="tabexppanel"
ref='tabexppanel'
@closeview="closeView($event)">
</view_tabexppanel>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-info-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationInfoViewBase } from './eamlocation-info-view-base';
import view_tabexppanel from '@widgets/eamlocation/info-viewtabexppanel-tabexppanel/info-viewtabexppanel-tabexppanel.vue';
/**
* 功能位置信息视图
*
* @export
* @class EAMLocationInfoView
* @extends {EAMLocationInfoViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationInfoView extends EAMLocationInfoViewBase { }
</script>
import { Subject } from 'rxjs';
import { DashboardViewBase } from '@/studio-core';
import EAMLocationService from '@/service/eamlocation/eamlocation-service';
import EAMLocationAuthService from '@/authservice/eamlocation/eamlocation-auth-service';
import PortalViewEngine from '@engine/view/portal-view-engine';
import EAMLocationUIService from '@/uiservice/eamlocation/eamlocation-ui-service';
/**
* 功能位置数据看板视图视图基类
*
* @export
* @class EAMLocationSummaryViewBase
* @extends {DashboardViewBase}
*/
export class EAMLocationSummaryViewBase extends DashboardViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof EAMLocationSummaryViewBase
*/
protected appDeName: string = 'eamlocation';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof EAMLocationSummaryViewBase
*/
protected appDeKey: string = 'eamlocationid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof EAMLocationSummaryViewBase
*/
protected appDeMajor: string = 'eamlocationname';
/**
* 实体服务对象
*
* @type {EAMLocationService}
* @memberof EAMLocationSummaryViewBase
*/
protected appEntityService: EAMLocationService = new EAMLocationService;
/**
* 实体权限服务对象
*
* @type EAMLocationUIService
* @memberof EAMLocationSummaryViewBase
*/
public appUIService: EAMLocationUIService = new EAMLocationUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof EAMLocationSummaryViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof EAMLocationSummaryViewBase
*/
protected model: any = {
srfCaption: 'entities.eamlocation.views.summaryview.caption',
srfTitle: 'entities.eamlocation.views.summaryview.title',
srfSubTitle: 'entities.eamlocation.views.summaryview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof EAMLocationSummaryViewBase
*/
protected containerModel: any = {
view_dashboard: { name: 'dashboard', type: 'DASHBOARD' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'cc29cbcb0398aa069d4b05f3469f0377';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof EAMLocationSummaryViewBase
*/
public engine: PortalViewEngine = new PortalViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof EAMLocationSummaryViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
dashboard: this.$refs.dashboard,
keyPSDEField: 'eamlocation',
majorPSDEField: 'eamlocationname',
isLoadDefault: true,
});
}
/**
* dashboard 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationSummaryViewBase
*/
public dashboard_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('dashboard', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="eamlocationsummaryview" viewTitle="功能位置数据看板视图" class='deportalview eamlocation-summary-view'>
<view_dashboard
:viewState="viewState"
:viewparams="viewparams"
:context="JSON.parse(JSON.stringify(context))"
:isEnableCustomized = "false"
name="dashboard"
ref='dashboard'
@load="dashboard_load($event)"
@closeview="closeView($event)">
</view_dashboard>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-summary-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationSummaryViewBase } from './eamlocation-summary-view-base';
import view_dashboard from '@widgets/eamlocation/main-info-dashboard/main-info-dashboard.vue';
/**
* 功能位置数据看板视图视图
*
* @export
* @class EAMLocationSummaryView
* @extends {EAMLocationSummaryViewBase}
*/
@Component({
components: {
view_dashboard,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationSummaryView extends EAMLocationSummaryViewBase { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import EAMLocationTypeService from '@/service/eamlocation-type/eamlocation-type-service';
import EAMLocationTypeAuthService from '@/authservice/eamlocation-type/eamlocation-type-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import EAMLocationTypeUIService from '@/uiservice/eamlocation-type/eamlocation-type-ui-service';
/**
* 功能位置类型编辑视图视图基类
*
* @export
* @class EAMLocationTypeEditViewBase
* @extends {EditViewBase}
*/
export class EAMLocationTypeEditViewBase extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof EAMLocationTypeEditViewBase
*/
protected appDeName: string = 'eamlocationtype';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof EAMLocationTypeEditViewBase
*/
protected appDeKey: string = 'eamlocationtypeid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof EAMLocationTypeEditViewBase
*/
protected appDeMajor: string = 'eamlocationtypename';
/**
* 实体服务对象
*
* @type {EAMLocationTypeService}
* @memberof EAMLocationTypeEditViewBase
*/
protected appEntityService: EAMLocationTypeService = new EAMLocationTypeService;
/**
* 实体权限服务对象
*
* @type EAMLocationTypeUIService
* @memberof EAMLocationTypeEditViewBase
*/
public appUIService: EAMLocationTypeUIService = new EAMLocationTypeUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof EAMLocationTypeEditViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof EAMLocationTypeEditViewBase
*/
protected model: any = {
srfCaption: 'entities.eamlocationtype.views.editview.caption',
srfTitle: 'entities.eamlocationtype.views.editview.title',
srfSubTitle: 'entities.eamlocationtype.views.editview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof EAMLocationTypeEditViewBase
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_form: { name: 'form', type: 'FORM' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof EAMLocationTypeEditView
*/
public toolBarModels: any = {
tbitem2: { name: 'tbitem2', caption: '保存并关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '保存并关闭', iconcls: 'sx-tb-saveandclose', icon: '../sasrfex/images/default/icon_saveandclose.png', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '', class: '' } },
tbitem1: { name: 'tbitem1', caption: '关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Exit', target: '', class: '' } },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'dd09755644dcf1e57c062b4e08e4ce3a';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof EAMLocationTypeEditViewBase
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof EAMLocationTypeEditViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'eamlocationtype',
majorPSDEField: 'eamlocationtypename',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationTypeEditViewBase
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem2')) {
this.toolbar_tbitem2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1')) {
this.toolbar_tbitem1_click(null, '', $event2);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationTypeEditViewBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationTypeEditViewBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof EAMLocationTypeEditViewBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem2_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,"EAMLocationType");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_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.Exit(datas, contextJO,paramJO, $event, xData,this,"EAMLocationType");
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof EAMLocationTypeEditViewBase
*/
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 EAMLocationTypeEditViewBase
*/
public Exit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
this.closeView(args);
if(window.parent){
window.parent.postMessage([{ ...args }],'*');
}
}
}
\ No newline at end of file
<studio-view-style2 viewName="eamlocationtypeeditview" viewTitle="功能位置类型编辑视图" class='deeditview eamlocation-type-edit-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<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>
</studio-view-style2>
\ No newline at end of file
<template src="./eamlocation-type-edit-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EAMLocationTypeEditViewBase } from './eamlocation-type-edit-view-base';
import view_form from '@widgets/eamlocation-type/main-form/main-form.vue';
/**
* 功能位置类型编辑视图视图
*
* @export
* @class EAMLocationTypeEditView
* @extends {EAMLocationTypeEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class EAMLocationTypeEditView extends EAMLocationTypeEditViewBase { }
</script>
......@@ -281,7 +281,16 @@ div::-webkit-scrollbar-thumb {
>.el-table__row:hover {
>td {
background-color: var(--view-background-color-tint);
// color: var(--view-font-color-active);
background-color: rgba(var(--view-background-color-active-rgb), 0.5);
}
}
>.el-table__row.current-row {
>td {
color: var(--view-font-color-active);
background-color: var(--view-background-color-active);
}
}
}
......
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册