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

jackwang 部署微服务应用

上级 76883f15
......@@ -20,7 +20,7 @@
"memo": ""
},
"hrlegaldashboardview": {
"title": "法人数据看板视图",
"title": "法人数据看板",
"caption": "法人信息",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Base",
......@@ -29,6 +29,16 @@
"viewtag": "18769b2868ba1e27d9392575c10d6bfa",
"memo": ""
},
"hroperationunitv_002": {
"title": "运营单位信息编辑",
"caption": "运营单位",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitV_002",
"viewfilename": "hroperation-unit-v-002",
"viewtag": "26838780ace211d1714a2887e9039888",
"memo": ""
},
"hroperationunitgridview": {
"title": "运营单位",
"caption": "运营单位",
......@@ -120,7 +130,7 @@
"memo": "系统自动添加"
},
"hrlegalv_002": {
"title": "法人编辑视图",
"title": "法人预览",
"caption": "法人",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
......@@ -140,7 +150,7 @@
"memo": ""
},
"hrlegalv_001": {
"title": "法人快速新建",
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Base",
......@@ -169,16 +179,36 @@
"viewtag": "b932c0eb66409c638c29ee27ba4fda37",
"memo": "系统自动添加"
},
"hroperationunitoptionview": {
"title": "运营单位快速新建",
"caption": "运营单位快速新建",
"hroperationunittabexpview": {
"title": "运营单位",
"caption": "运营单位",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitTabExpView",
"viewfilename": "hroperation-unit-tab-exp-view",
"viewtag": "bf8512a46ea22c59413ae598a88eda3a",
"memo": ""
},
"hroperationunitv_001": {
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitOptionView",
"viewfilename": "hroperation-unit-option-view",
"viewname": "HROperationUnitV_001",
"viewfilename": "hroperation-unit-v-001",
"viewtag": "d32b549b3c49b790b092eca97d1de2c1",
"memo": ""
},
"hroperationunitdashboardview": {
"title": "运营单位信息看板",
"caption": "运营单位",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitDashboardView",
"viewfilename": "hroperation-unit-dashboard-view",
"viewtag": "e249cd84a7d955affe21832bbe41c40a",
"memo": ""
},
"hrlegaleditview": {
"title": "法人编辑视图",
"caption": "法人",
......
......@@ -21,7 +21,7 @@ export default {
views: {
dashboardview: {
caption: "法人信息",
title: "法人数据看板视图",
title: "法人数据看板",
},
gridview: {
caption: "法人",
......@@ -29,11 +29,11 @@ export default {
},
v_002: {
caption: "法人",
title: "法人编辑视图",
title: "法人预览",
},
v_001: {
caption: "快速新建",
title: "法人快速新建",
title: "快速新建",
},
editview: {
caption: "法人",
......
......@@ -20,7 +20,7 @@ export default {
views: {
dashboardview: {
caption: "法人信息",
title: "法人数据看板视图",
title: "法人数据看板",
},
gridview: {
caption: "法人",
......@@ -28,11 +28,11 @@ export default {
},
v_002: {
caption: "法人",
title: "法人编辑视图",
title: "法人预览",
},
v_001: {
caption: "快速新建",
title: "法人快速新建",
title: "快速新建",
},
editview: {
caption: "法人",
......
......@@ -16,6 +16,10 @@ export default {
orgcode: "组织编码",
},
views: {
v_002: {
caption: "运营单位",
title: "运营单位信息编辑",
},
gridview: {
caption: "运营单位",
title: "运营单位",
......@@ -24,9 +28,17 @@ export default {
caption: "运营单位",
title: "运营单位信息编辑",
},
optionview: {
caption: "运营单位快速新建",
title: "运营单位快速新建",
tabexpview: {
caption: "运营单位",
title: "运营单位",
},
v_001: {
caption: "快速新建",
title: "快速新建",
},
dashboardview: {
caption: "运营单位",
title: "运营单位信息看板",
},
},
main_form: {
......@@ -54,6 +66,33 @@ export default {
uiactions: {
},
},
if_001_form: {
details: {
group1: "运营单位信息",
druipart1: "",
grouppanel1: "地址",
druipart2: "",
grouppanel2: "联系信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "运营单位标识",
srfmajortext: "运营单位名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
operationunitname: "运营单位名称",
operationunittype: "运营单位类型",
orgcode: "组织编码",
shortname: "组织简称",
showorder: "排序号",
memo: "备注",
operationunitid: "运营单位标识",
},
uiactions: {
},
},
ef_001_form: {
details: {
group1: "运营单位信息",
......@@ -108,10 +147,36 @@ export default {
tip: "关闭",
},
},
tabexpviewtoolbar_toolbar: {
tbitem1_ff_003: {
caption: "编辑",
tip: "编辑",
},
tbitem1_remove_sep: {
caption: "",
tip: "",
},
tbitem1_remove: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
tbitem1_ff_002: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
......
......@@ -15,6 +15,10 @@ export default {
orgcode: "组织编码",
},
views: {
v_002: {
caption: "运营单位",
title: "运营单位信息编辑",
},
gridview: {
caption: "运营单位",
title: "运营单位",
......@@ -23,9 +27,17 @@ export default {
caption: "运营单位",
title: "运营单位信息编辑",
},
optionview: {
caption: "运营单位快速新建",
title: "运营单位快速新建",
tabexpview: {
caption: "运营单位",
title: "运营单位",
},
v_001: {
caption: "快速新建",
title: "快速新建",
},
dashboardview: {
caption: "运营单位",
title: "运营单位信息看板",
},
},
main_form: {
......@@ -53,6 +65,33 @@ export default {
uiactions: {
},
},
if_001_form: {
details: {
group1: "运营单位信息",
druipart1: "",
grouppanel1: "地址",
druipart2: "",
grouppanel2: "联系信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "运营单位标识",
srfmajortext: "运营单位名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
operationunitname: "运营单位名称",
operationunittype: "运营单位类型",
orgcode: "组织编码",
shortname: "组织简称",
showorder: "排序号",
memo: "备注",
operationunitid: "运营单位标识",
},
uiactions: {
},
},
ef_001_form: {
details: {
group1: "运营单位信息",
......@@ -107,11 +146,37 @@ export default {
tip: "关闭",
},
},
tabexpviewtoolbar_toolbar: {
tbitem1_ff_003: {
caption: "编辑",
tip: "编辑",
},
tbitem1_remove_sep: {
caption: "",
tip: "",
},
tbitem1_remove: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem22: {
caption: "关闭",
tip: "关闭",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
tbitem1_ff_002: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
......
......@@ -24,13 +24,21 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "0d8ac739134947cc5f6545d4041024de"
},
"hrlegaldashboardview": {
"title": "法人数据看板视图",
"title": "法人数据看板",
"caption": "法人信息",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Base",
"viewname": "HRLegalDashboardView",
"viewtag": "18769b2868ba1e27d9392575c10d6bfa"
},
"hroperationunitv_002": {
"title": "运营单位信息编辑",
"caption": "运营单位",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitV_002",
"viewtag": "26838780ace211d1714a2887e9039888"
},
"hroperationunitgridview": {
"title": "运营单位",
"caption": "运营单位",
......@@ -104,7 +112,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "90f2bd2f58c482b25a1e1db0f8e4ca26"
},
"hrlegalv_002": {
"title": "法人编辑视图",
"title": "法人预览",
"caption": "法人",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
......@@ -120,7 +128,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "9559258a9c3ac118e15ead941b780682"
},
"hrlegalv_001": {
"title": "法人快速新建",
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Base",
......@@ -143,14 +151,30 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "HREmployeeEditView",
"viewtag": "b932c0eb66409c638c29ee27ba4fda37"
},
"hroperationunitoptionview": {
"title": "运营单位快速新建",
"caption": "运营单位快速新建",
"hroperationunittabexpview": {
"title": "运营单位",
"caption": "运营单位",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitTabExpView",
"viewtag": "bf8512a46ea22c59413ae598a88eda3a"
},
"hroperationunitv_001": {
"title": "快速新建",
"caption": "快速新建",
"viewtype": "DEOPTVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitOptionView",
"viewname": "HROperationUnitV_001",
"viewtag": "d32b549b3c49b790b092eca97d1de2c1"
},
"hroperationunitdashboardview": {
"title": "运营单位信息看板",
"caption": "运营单位",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Base",
"viewname": "HROperationUnitDashboardView",
"viewtag": "e249cd84a7d955affe21832bbe41c40a"
},
"hrlegaleditview": {
"title": "法人编辑视图",
"caption": "法人",
......
......@@ -6,7 +6,7 @@ import PortalViewEngine from '@engine/view/portal-view-engine';
import HRLegalUIService from '@/uiservice/hrlegal/hrlegal-ui-service';
/**
* 法人数据看板视图视图基类
* 法人数据看板视图基类
*
* @export
* @class HRLegalDashboardViewBase
......
<studio-view-style2 viewName="hrlegaldashboardview" viewTitle="法人数据看板视图" class='deportalview hrlegal-dashboard-view'>
<studio-view-style2 viewName="hrlegaldashboardview" viewTitle="法人数据看板" class='deportalview hrlegal-dashboard-view'>
<view_dashboard
:viewState="viewState"
:viewparams="viewparams"
......
......@@ -6,7 +6,7 @@ import { HRLegalDashboardViewBase } from './hrlegal-dashboard-view-base';
import view_dashboard from '@widgets/hrlegal/board-001-dashboard/board-001-dashboard.vue';
/**
* 法人数据看板视图视图
* 法人数据看板视图
*
* @export
* @class HRLegalDashboardView
......
......@@ -6,7 +6,7 @@ import OptionViewEngine from '@engine/view/option-view-engine';
import HRLegalUIService from '@/uiservice/hrlegal/hrlegal-ui-service';
/**
* 法人快速新建视图基类
* 快速新建视图基类
*
* @export
* @class HRLegalV_001Base
......
<studio-view-style2 viewName="hrlegalv_001" viewTitle="法人快速新建" class='deoptview hrlegal-v-001'>
<studio-view-style2 viewName="hrlegalv_001" viewTitle="快速新建" class='deoptview hrlegal-v-001'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
......
......@@ -6,7 +6,7 @@ import { HRLegalV_001Base } from './hrlegal-v-001-base';
import view_form from '@widgets/hrlegal/ef-001-form/ef-001-form.vue';
/**
* 法人快速新建视图
* 快速新建视图
*
* @export
* @class HRLegalV_001
......
......@@ -6,7 +6,7 @@ import EditViewEngine from '@engine/view/edit-view-engine';
import HRLegalUIService from '@/uiservice/hrlegal/hrlegal-ui-service';
/**
* 法人编辑视图视图基类
* 法人预览视图基类
*
* @export
* @class HRLegalV_002Base
......
<studio-view-style2 viewName="hrlegalv_002" viewTitle="法人编辑视图" class='deeditview hrlegal-v-002 from-dashboard-style'>
<studio-view-style2 viewName="hrlegalv_002" viewTitle="法人预览" class='deeditview hrlegal-v-002 from-dashboard-style'>
<view_form
:viewState="viewState"
:viewparams="viewparams"
......
......@@ -6,7 +6,7 @@ import { HRLegalV_002Base } from './hrlegal-v-002-base';
import view_form from '@widgets/hrlegal/if-001-form/if-001-form.vue';
/**
* 法人编辑视图视图
* 法人预览视图
*
* @export
* @class HRLegalV_002
......
import { Subject } from 'rxjs';
import { DashboardViewBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import HROperationUnitAuthService from '@/authservice/hroperation-unit/hroperation-unit-auth-service';
import PortalViewEngine from '@engine/view/portal-view-engine';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* 运营单位信息看板视图基类
*
* @export
* @class HROperationUnitDashboardViewBase
* @extends {DashboardViewBase}
*/
export class HROperationUnitDashboardViewBase extends DashboardViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HROperationUnitDashboardViewBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HROperationUnitDashboardViewBase
*/
protected appDeKey: string = 'operationunitid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HROperationUnitDashboardViewBase
*/
protected appDeMajor: string = 'operationunitname';
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof HROperationUnitDashboardViewBase
*/
protected appEntityService: HROperationUnitService = new HROperationUnitService;
/**
* 实体权限服务对象
*
* @type HROperationUnitUIService
* @memberof HROperationUnitDashboardViewBase
*/
public appUIService: HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HROperationUnitDashboardViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HROperationUnitDashboardViewBase
*/
protected model: any = {
srfCaption: 'entities.hroperationunit.views.dashboardview.caption',
srfTitle: 'entities.hroperationunit.views.dashboardview.title',
srfSubTitle: 'entities.hroperationunit.views.dashboardview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HROperationUnitDashboardViewBase
*/
protected containerModel: any = {
view_dashboard: { name: 'dashboard', type: 'DASHBOARD' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'e249cd84a7d955affe21832bbe41c40a';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HROperationUnitDashboardViewBase
*/
public engine: PortalViewEngine = new PortalViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HROperationUnitDashboardViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
dashboard: this.$refs.dashboard,
keyPSDEField: 'hroperationunit',
majorPSDEField: 'operationunitname',
isLoadDefault: true,
});
}
/**
* dashboard 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitDashboardViewBase
*/
public dashboard_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('dashboard', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hroperationunitdashboardview" viewTitle="运营单位信息看板" class='deportalview hroperation-unit-dashboard-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="./hroperation-unit-dashboard-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HROperationUnitDashboardViewBase } from './hroperation-unit-dashboard-view-base';
import view_dashboard from '@widgets/hroperation-unit/board-001-dashboard/board-001-dashboard.vue';
/**
* 运营单位信息看板视图
*
* @export
* @class HROperationUnitDashboardView
* @extends {HROperationUnitDashboardViewBase}
*/
@Component({
components: {
view_dashboard,
}
})
@VueLifeCycleProcessing()
export default class HROperationUnitDashboardView extends HROperationUnitDashboardViewBase { }
</script>
......@@ -103,8 +103,9 @@ export class HROperationUnitGridViewBase extends GridViewBase {
* @memberof HROperationUnitGridView
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-file-text-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '', class: '' } },
tbitem1_ff_002: { name: 'tbitem1_ff_002', caption: '新建', 'isShowCaption': true, 'isShowIcon': true, tooltip: '新建', iconcls: 'fa fa-user-plus', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'FF_002', target: 'NONE', class: '' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem4: { name: 'tbitem4', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', iconcls: 'fa fa-edit', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY', class: '' } },
tbitem6: { name: 'tbitem6', caption: '拷贝', 'isShowCaption': true, 'isShowIcon': true, tooltip: '拷贝', iconcls: 'fa fa-copy', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Copy', target: 'SINGLEKEY', class: '' } },
......@@ -172,8 +173,8 @@ export class HROperationUnitGridViewBase extends GridViewBase {
* @memberof HROperationUnitGridViewBase
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
if (Object.is($event.tag, 'tbitem1_ff_002')) {
this.toolbar_tbitem1_ff_002_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
......@@ -181,12 +182,6 @@ export class HROperationUnitGridViewBase extends GridViewBase {
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, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
......@@ -297,7 +292,7 @@ export class HROperationUnitGridViewBase extends GridViewBase {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem1_ff_002_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -314,7 +309,8 @@ export class HROperationUnitGridViewBase extends GridViewBase {
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"HROperationUnit");
const curUIService:HROperationUnitUIService = new HROperationUnitUIService();
curUIService.HROperationUnit_FF_002(datas,contextJO, paramJO, $event, xData,this,"HROperationUnit");
}
/**
......@@ -373,62 +369,6 @@ export class HROperationUnitGridViewBase extends GridViewBase {
this.Copy(datas, contextJO,paramJO, $event, xData,this,"HROperationUnit");
}
/**
* 逻辑事件
*
* @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,"HROperationUnit");
}
/**
* 逻辑事件
*
* @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,"HROperationUnit");
}
/**
* 逻辑事件
*
......@@ -566,16 +506,28 @@ export class HROperationUnitGridViewBase extends GridViewBase {
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const _data: any = { w: (new Date().getTime()) };
Object.assign(_data, data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, _data);
this.$router.push(routePath);
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);
});
}
openIndexViewTab(data);
const view: any = {
viewname: 'hroperation-unit-v-001',
height: 0,
width: 600,
title: this.$t('entities.hroperationunit.views.v_001.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......@@ -600,7 +552,7 @@ export class HROperationUnitGridViewBase extends GridViewBase {
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
......@@ -611,26 +563,6 @@ export class HROperationUnitGridViewBase extends GridViewBase {
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HROperationUnitGridViewBase
*/
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 视图处理逻辑不存在,请添加!' });
}
}
/**
* 编辑
*
......@@ -685,42 +617,6 @@ export class HROperationUnitGridViewBase extends GridViewBase {
Object.assign(this.viewparams,{copymode:true});
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HROperationUnitGridViewBase
*/
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 HROperationUnitGridViewBase
*/
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 视图处理逻辑不存在,请添加!' });
}
}
/**
* 删除
*
......
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import HROperationUnitAuthService from '@/authservice/hroperation-unit/hroperation-unit-auth-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* 运营单位视图基类
*
* @export
* @class HROperationUnitTabExpViewBase
* @extends {TabExpViewBase}
*/
export class HROperationUnitTabExpViewBase extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HROperationUnitTabExpViewBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HROperationUnitTabExpViewBase
*/
protected appDeKey: string = 'operationunitid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HROperationUnitTabExpViewBase
*/
protected appDeMajor: string = 'operationunitname';
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof HROperationUnitTabExpViewBase
*/
protected appEntityService: HROperationUnitService = new HROperationUnitService;
/**
* 实体权限服务对象
*
* @type HROperationUnitUIService
* @memberof HROperationUnitTabExpViewBase
*/
public appUIService: HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HROperationUnitTabExpViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HROperationUnitTabExpViewBase
*/
protected model: any = {
srfCaption: 'entities.hroperationunit.views.tabexpview.caption',
srfTitle: 'entities.hroperationunit.views.tabexpview.title',
srfSubTitle: 'entities.hroperationunit.views.tabexpview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HROperationUnitTabExpViewBase
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof HROperationUnitTabExpView
*/
public toolBarModels: any = {
tbitem1_ff_003: { name: 'tbitem1_ff_003', caption: '编辑', 'isShowCaption': true, 'isShowIcon': true, tooltip: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'FF_003', target: 'SINGLEKEY', class: '' } },
tbitem1_remove_sep: { name: 'tbitem1_remove_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem1_remove: { name: 'tbitem1_remove', caption: '删除并关闭', 'isShowCaption': true, 'isShowIcon': true, tooltip: '删除并关闭', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'SINGLEKEY', class: '' } },
tbitem2: { name: 'tbitem2', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem22: { name: 'tbitem22', 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 = 'bf8512a46ea22c59413ae598a88eda3a';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HROperationUnitTabExpViewBase
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HROperationUnitTabExpViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'hroperationunit',
majorPSDEField: 'operationunitname',
isLoadDefault: true,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitTabExpViewBase
*/
public toolbar_click($event: any, $event2?: any): void {
if (Object.is($event.tag, 'tbitem1_ff_003')) {
this.toolbar_tbitem1_ff_003_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem1_remove')) {
this.toolbar_tbitem1_remove_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem22')) {
this.toolbar_tbitem22_click(null, '', $event2);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_ff_003_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:HROperationUnitUIService = new HROperationUnitUIService();
curUIService.HROperationUnit_FF_003(datas,contextJO, paramJO, $event, xData,this,"HROperationUnit");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem1_remove_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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:HROperationUnitUIService = new HROperationUnitUIService();
curUIService.HROperationUnit_Remove(datas,contextJO, paramJO, $event, xData,this,"HROperationUnit");
}
/**
* 逻辑事件
*
* @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 = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Exit(datas, contextJO,paramJO, $event, xData,this,"HROperationUnit");
}
/**
* 关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof HROperationUnitTabExpViewBase
*/
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="hroperationunittabexpview" viewTitle="运营单位" class='detabexpview hroperation-unit-tab-exp-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_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="./hroperation-unit-tab-exp-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HROperationUnitTabExpViewBase } from './hroperation-unit-tab-exp-view-base';
import view_tabexppanel from '@widgets/hroperation-unit/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.vue';
/**
* 运营单位视图
*
* @export
* @class HROperationUnitTabExpView
* @extends {HROperationUnitTabExpViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class HROperationUnitTabExpView extends HROperationUnitTabExpViewBase { }
</script>
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import HROperationUnitAuthService from '@/authservice/hroperation-unit/hroperation-unit-auth-service';
import OptionViewEngine from '@engine/view/option-view-engine';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* 快速新建视图基类
*
* @export
* @class HROperationUnitV_001Base
* @extends {OptionViewBase}
*/
export class HROperationUnitV_001Base extends OptionViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HROperationUnitV_001Base
*/
protected appDeName: string = 'hroperationunit';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HROperationUnitV_001Base
*/
protected appDeKey: string = 'operationunitid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HROperationUnitV_001Base
*/
protected appDeMajor: string = 'operationunitname';
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof HROperationUnitV_001Base
*/
protected appEntityService: HROperationUnitService = new HROperationUnitService;
/**
* 实体权限服务对象
*
* @type HROperationUnitUIService
* @memberof HROperationUnitV_001Base
*/
public appUIService: HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HROperationUnitV_001Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HROperationUnitV_001Base
*/
protected model: any = {
srfCaption: 'entities.hroperationunit.views.v_001.caption',
srfTitle: 'entities.hroperationunit.views.v_001.title',
srfSubTitle: 'entities.hroperationunit.views.v_001.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HROperationUnitV_001Base
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
view_okbtn: { name: 'okbtn', type: 'button', text: '确定', disabled: true },
view_cancelbtn: { name: 'cancelbtn', type: 'button', text: '取消', disabled: false },
view_leftbtn: { name: 'leftbtn', type: 'button', text: '左移', disabled: true },
view_rightbtn: { name: 'rightbtn', type: 'button', text: '右移', disabled: true },
view_allleftbtn: { name: 'allleftbtn', type: 'button', text: '全部左移', disabled: true },
view_allrightbtn: { name: 'allrightbtn', type: 'button', text: '全部右移', disabled: true },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'd32b549b3c49b790b092eca97d1de2c1';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HROperationUnitV_001Base
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HROperationUnitV_001Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hroperationunit',
majorPSDEField: 'operationunitname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_001Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_001Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_001Base
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hroperationunitv_001" viewTitle="快速新建" class='deoptview hroperation-unit-v-001'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</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>
<template slot="footer">
<div class="option-view-footer-actions">
<i-button type='primary' @click="onClickOk.apply(_self, arguments)">{{ containerModel.view_okbtn.text }}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel.apply(_self, arguments)">{{ containerModel.view_cancelbtn.text }}</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
<template src="./hroperation-unit-v-001.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HROperationUnitV_001Base } from './hroperation-unit-v-001-base';
import view_form from '@widgets/hroperation-unit/ef-001-form/ef-001-form.vue';
/**
* 快速新建视图
*
* @export
* @class HROperationUnitV_001
* @extends {HROperationUnitV_001Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HROperationUnitV_001 extends HROperationUnitV_001Base { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import HROperationUnitAuthService from '@/authservice/hroperation-unit/hroperation-unit-auth-service';
import EditViewEngine from '@engine/view/edit-view-engine';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* 运营单位信息编辑视图基类
*
* @export
* @class HROperationUnitV_002Base
* @extends {EditViewBase}
*/
export class HROperationUnitV_002Base extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof HROperationUnitV_002Base
*/
protected appDeName: string = 'hroperationunit';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof HROperationUnitV_002Base
*/
protected appDeKey: string = 'operationunitid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof HROperationUnitV_002Base
*/
protected appDeMajor: string = 'operationunitname';
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof HROperationUnitV_002Base
*/
protected appEntityService: HROperationUnitService = new HROperationUnitService;
/**
* 实体权限服务对象
*
* @type HROperationUnitUIService
* @memberof HROperationUnitV_002Base
*/
public appUIService: HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof HROperationUnitV_002Base
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof HROperationUnitV_002Base
*/
protected model: any = {
srfCaption: 'entities.hroperationunit.views.v_002.caption',
srfTitle: 'entities.hroperationunit.views.v_002.title',
srfSubTitle: 'entities.hroperationunit.views.v_002.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof HROperationUnitV_002Base
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '26838780ace211d1714a2887e9039888';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof HROperationUnitV_002Base
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof HROperationUnitV_002Base
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'hroperationunit',
majorPSDEField: 'operationunitname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_002Base
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_002Base
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof HROperationUnitV_002Base
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="hroperationunitv_002" viewTitle="运营单位信息编辑" class='deeditview hroperation-unit-v-002 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="./hroperation-unit-v-002.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HROperationUnitV_002Base } from './hroperation-unit-v-002-base';
import view_form from '@widgets/hroperation-unit/if-001-form/if-001-form.vue';
/**
* 运营单位信息编辑视图
*
* @export
* @class HROperationUnitV_002
* @extends {HROperationUnitV_002Base}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class HROperationUnitV_002 extends HROperationUnitV_002Base { }
</script>
......@@ -7,16 +7,20 @@ export const PageComponents = {
Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'));
Vue.component('hrlegal-v-002', () => import('@pages/base/hrlegal-v-002/hrlegal-v-002.vue'));
Vue.component('hrorg-address-edit-view', () => import('@pages/base/hrorg-address-edit-view/hrorg-address-edit-view.vue'));
Vue.component('hroperation-unit-tab-exp-view', () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue'));
Vue.component('hrorg-contact-grid-view', () => import('@pages/base/hrorg-contact-grid-view/hrorg-contact-grid-view.vue'));
Vue.component('hrorg-address-grid-view', () => import('@pages/base/hrorg-address-grid-view/hrorg-address-grid-view.vue'));
Vue.component('hrorganization-edit-view', () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'));
Vue.component('hroperation-unit-v-001', () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue'));
Vue.component('hroperation-unit-grid-view', () => import('@pages/base/hroperation-unit-grid-view/hroperation-unit-grid-view.vue'));
Vue.component('hremployee-edit-view', () => import('@pages/human-resource/hremployee-edit-view/hremployee-edit-view.vue'));
Vue.component('hremployee-grid-view', () => import('@pages/human-resource/hremployee-grid-view/hremployee-grid-view.vue'));
Vue.component('hrlegal-tab-exp-view', () => import('@pages/base/hrlegal-tab-exp-view/hrlegal-tab-exp-view.vue'));
Vue.component('hrorg-contact-v-001', () => import('@pages/base/hrorg-contact-v-001/hrorg-contact-v-001.vue'));
Vue.component('hrorg-address-v-001', () => import('@pages/base/hrorg-address-v-001/hrorg-address-v-001.vue'));
Vue.component('hroperation-unit-dashboard-view', () => import('@pages/base/hroperation-unit-dashboard-view/hroperation-unit-dashboard-view.vue'));
Vue.component('hrlegal-dashboard-view', () => import('@pages/base/hrlegal-dashboard-view/hrlegal-dashboard-view.vue'));
Vue.component('hroperation-unit-v-002', () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'));
Vue.component('hrlegal-v-001', () => import('@pages/base/hrlegal-v-001/hrlegal-v-001.vue'));
}
};
\ No newline at end of file
......@@ -201,6 +201,20 @@ const router = new Router({
},
component: () => import('@pages/base/hrorg-address-edit-view/hrorg-address-edit-view.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/tabexpview/:tabexpview?',
meta: {
caption: 'entities.hroperationunit.views.tabexpview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/hrorgcontacts/:hrorgcontact?/gridview/:gridview?',
meta: {
......@@ -303,6 +317,20 @@ const router = new Router({
},
component: () => import('@pages/base/hrorganization-edit-view/hrorganization-edit-view.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/v_001/:v_001?',
meta: {
caption: 'entities.hroperationunit.views.v_001.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'v_001', parameterName: 'v_001' },
],
requireAuth: true,
},
component: () => import('@pages/base/hroperation-unit-v-001/hroperation-unit-v-001.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/gridview/:gridview?',
meta: {
......@@ -447,6 +475,20 @@ const router = new Router({
},
component: () => import('@pages/base/hrorg-address-v-001/hrorg-address-v-001.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/dashboardview/:dashboardview?',
meta: {
caption: 'entities.hroperationunit.views.dashboardview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'dashboardview', parameterName: 'dashboardview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hroperation-unit-dashboard-view/hroperation-unit-dashboard-view.vue'),
},
{
path: 'hrlegals/:hrlegal?/dashboardview/:dashboardview?',
meta: {
......@@ -461,6 +503,20 @@ const router = new Router({
},
component: () => import('@pages/base/hrlegal-dashboard-view/hrlegal-dashboard-view.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/v_002/:v_002?',
meta: {
caption: 'entities.hroperationunit.views.v_002.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'v_002', parameterName: 'v_002' },
],
requireAuth: true,
},
component: () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'),
},
{
path: 'hrlegals/:hrlegal?/v_001/:v_001?',
meta: {
......
......@@ -34,6 +34,17 @@ export const viewstate: any = {
'9420eeffff765c2a6e4ac27dfae7fb2d',
],
},
{
viewtag: '26838780ace211d1714a2887e9039888',
viewmodule: 'Base',
viewname: 'HROperationUnitV_002',
viewaction: '',
viewdatachange: false,
refviews: [
'7692fb3c8e0208004f100d2da5db17e0',
'3110aca6f6c27996e9874cfb924c569f',
],
},
{
viewtag: '286e8ac9eca7b6eb8058fde93995db10',
viewmodule: 'Base',
......@@ -41,7 +52,8 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'28aca0d4ad43b8ef609172d9be9359c7',
'bf8512a46ea22c59413ae598a88eda3a',
'd32b549b3c49b790b092eca97d1de2c1',
],
},
{
......@@ -174,6 +186,38 @@ export const viewstate: any = {
refviews: [
],
},
{
viewtag: 'bf8512a46ea22c59413ae598a88eda3a',
viewmodule: 'Base',
viewname: 'HROperationUnitTabExpView',
viewaction: '',
viewdatachange: false,
refviews: [
'28aca0d4ad43b8ef609172d9be9359c7',
'e249cd84a7d955affe21832bbe41c40a',
'53de2c13a619e20769cdc9dbfa10e1a5',
'2b64c322042da1808776304d21c90e45',
],
},
{
viewtag: 'd32b549b3c49b790b092eca97d1de2c1',
viewmodule: 'Base',
viewname: 'HROperationUnitV_001',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: 'e249cd84a7d955affe21832bbe41c40a',
viewmodule: 'Base',
viewname: 'HROperationUnitDashboardView',
viewaction: '',
viewdatachange: false,
refviews: [
'26838780ace211d1714a2887e9039888',
],
},
{
viewtag: 'e50ad3e1883bafa2d6f264d44ca8ff89',
viewmodule: 'Base',
......
......@@ -89,9 +89,12 @@ export default class HROperationUnitUIServiceBase extends UIService {
* @memberof HROperationUnitUIServiceBase
*/
public initViewMap(){
this.allViewMap.set(':',{viewname:'v_002',srfappde:'hroperationunits'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'hroperationunits'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'hroperationunits'});
this.allViewMap.set(':',{viewname:'optionview',srfappde:'hroperationunits'});
this.allViewMap.set(':',{viewname:'tabexpview',srfappde:'hroperationunits'});
this.allViewMap.set(':',{viewname:'v_001',srfappde:'hroperationunits'});
this.allViewMap.set(':',{viewname:'dashboardview',srfappde:'hroperationunits'});
}
/**
......@@ -110,6 +113,235 @@ export default class HROperationUnitUIServiceBase extends UIService {
public initDeMainStateOPPrivsMap(){
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HROperationUnit_FF_003(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hroperationunit: '%hroperationunit%' });
Object.assign(params, { operationunitid: '%hroperationunit%' });
Object.assign(params, { operationunitname: '%operationunitname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'editview', parameterName: 'editview' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
return null;
}
openIndexViewTab(data);
}
/**
* 打开主信息
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HROperationUnit_FF_001(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hroperationunit: '%hroperationunit%' });
Object.assign(params, { operationunitid: '%hroperationunit%' });
Object.assign(params, { operationunitname: '%operationunitname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
return null;
}
openIndexViewTab(data);
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HROperationUnit_FF_002(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'NONE';
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
];
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = actionContext.$appdrawer.openDrawer(view, context,data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const _this: any = actionContext;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
if (this.HROperationUnit_FF_001 && this.HROperationUnit_FF_001 instanceof Function) {
this.HROperationUnit_FF_001(result.datas[0],context,params, $event, xData,actionContext);
}
return result.datas;
});
}
const view: any = {
viewname: 'hroperation-unit-v-001',
height: 0,
width: 600,
title: actionContext.$t('entities.hroperationunit.views.v_001.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async HROperationUnit_Remove(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { hroperationunit: '%hroperationunit%' });
Object.assign(params, { operationunitid: '%hroperationunit%' });
Object.assign(params, { operationunitname: '%operationunitname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
actionContext.closeView(null);
const backend = () => {
const curService:HROperationUnitService = new HROperationUnitService();
curService.Remove(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '删除并关闭成功!' });
const _this: any = actionContext;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return response;
});
};
backend();
}
/**
* 获取指定数据的重定向页面
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import BOARD_001Service from './board-001-dashboard-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
import UtilService from '@/utilservice/util-service';
/**
* dashboard部件基类
*
* @export
* @class MainControlBase
* @extends {BOARD_001DashboardBase}
*/
export class BOARD_001DashboardBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof BOARD_001DashboardBase
*/
protected controlType: string = 'DASHBOARD';
/**
* 建构部件服务对象
*
* @type {BOARD_001Service}
* @memberof BOARD_001DashboardBase
*/
public service: BOARD_001Service = new BOARD_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof BOARD_001DashboardBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof BOARD_001DashboardBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 是否支持看板定制
*
* @public
* @type {(boolean)}
* @memberof BOARD_001
*/
@Prop() public isEnableCustomized!:boolean;
/**
* 是否已有看板定制
*
* @public
* @type {(boolean)}
* @memberof BOARD_001
*/
public isHasCustomized:boolean = false;
/**
* 模型数据
*
* @public
* @type {(*)}
* @memberof BOARD_001
*/
public modelDta:any;
/**
* modleId
*
* @type {string}
* @memberof BOARD_001
*/
public modelId:string = "dashboard_hroperationunit_board_001";
/**
* 建构功能服务对象
*
* @type {UtilService}
* @memberof BOARD_001
*/
public utilService:UtilService = new UtilService();
/**
* 功能服务名称
*
* @type {string}
* @memberof BOARD_001
*/
public utilServiceName:string = "";
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof BOARD_001
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof BOARD_001
*/
public getData(): any {
return {};
}
/**
* vue 生命周期
*
* @memberof BOARD_001
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof BOARD_001
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
if (Object.is('load', action)) {
this.loadModel();
}
});
}
}
/**
* 动态设计水平列数
*
* @memberof BOARD_001
*/
public layoutColNum:number = 12;
/**
* 动态设计单元格高度,80px
*
* @memberof BOARD_001
*/
public layoutRowH:number = 80;
/**
* 通知状态
*
* @memberof BOARD_001
*/
public notifyState(){
this.$nextTick(() =>{
if (this.isHasCustomized) {
if (this.modelDta && this.modelDta.length > 0) {
this.modelDta.forEach((item: any) => {
this.viewState.next({
tag: item.portletCodeName,
action: "load",
data: JSON.parse(JSON.stringify(this.viewparams))
});
});
}
} else {
if (this.viewState) {
const refs: any = this.$refs;
Object.keys(refs).forEach((name: string) => {
this.viewState.next({
tag: name,
action: "load",
data: JSON.parse(JSON.stringify(this.viewparams))
});
});
}
}
})
}
/**
* 加载布局与数据模型
*
* @memberof BOARD_001
*/
public loadModel(){
if(this.isEnableCustomized){
this.utilService.getService(this.utilServiceName).then((service:any) =>{
service.loadModelData(JSON.parse(JSON.stringify(this.context)),{modelid:this.modelId,utilServiceName:this.utilServiceName}).then((res:any) =>{
if(res && res.status == 200){
const data:any = res.data;
if(data && data.length >0){
this.isHasCustomized = true;
this.modelDta = data;
this.$forceUpdate();
}else{
this.isHasCustomized = false;
}
this.notifyState();
}else{
console.error("加载面板模型异常");
this.isHasCustomized = false;
this.notifyState();
}
}).catch((error:any)=>{
console.error("加载面板模型异常");
console.error(error);
this.isHasCustomized = false;
this.notifyState();
});
})
}else{
this.notifyState();
}
}
/**
* 处理私人定制按钮
*
* @memberof BOARD_001
*/
public handleClick(){
const view:any ={
viewname: 'app-portal-design',
title: (this.$t('app.dashBoard.handleClick.title')),
width: 1600,
placement: 'DRAWER_RIGHT'
}
const viewparam:any ={
modelid:this.modelId,
utilServiceName:this.utilServiceName,
appdeName:'HROperationUnit'
}
const appdrawer = this.$appdrawer.openDrawer(view, JSON.parse(JSON.stringify(this.context)), viewparam);
appdrawer.subscribe((result: any) => {
if(Object.is(result.ret,'OK')){
this.loadModel();
}
});
}
/**
* vue 生命周期
*
* @memberof BOARD_001
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof BOARD_001
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* BOARD_001 部件模型
*
* @export
* @class BOARD_001Model
*/
export default class BOARD_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof BOARD_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* BOARD_001 部件服务对象
*
* @export
* @class BOARD_001Service
*/
export default class BOARD_001Service extends ControlService {
}
\ No newline at end of file
<div class='dashboard'>
<row v-if="isEnableCustomized">
<app-build @handleClick="handleClick.apply(_self, arguments)"></app-build>
</row>
<row v-if="!isHasCustomized">
<i-col :md="{ span: 24, offset: 0 }">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<div class='portlet-container dashboard-viewdashboard-container1 portlet-container-no-border' :style="{}">
<row>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet1
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="0"
:width="0"
name="dashboard_sysportlet1"
ref='dashboard_sysportlet1'
@closeview="closeView($event)">
</view_dashboard_sysportlet1>
</span>
</card>
</div>
</i-col>
</row>
</div>
</span>
</card>
</i-col>
</row>
<row v-if="isHasCustomized" style="width: 100%;min-height: calc(100% - 40px);">
<div class="portlet-container" style="position: relative;width:100%;">
<template v-for="(item, index) of modelDta">
<div :key="index" :style="{zIndex: 10, position: 'absolute', height: item.h*layoutRowH + 'px', width: `calc(100% / ${layoutColNum} * ${item.w})`,top: item.y*layoutRowH + 'px', left: `calc(100% / ${layoutColNum} * ${item.x})`}">
<component :key="$util.createUUID()" :is="item.componentName" :name="item.portletCodeName" :context="JSON.parse(JSON.stringify(context))" :viewDefaultUsage="false" :isAdaptiveSize="true" :viewState="viewState"></component>
</div>
</template>
</div>
</row>
</div>
\ No newline at end of file
<template src="./board-001-dashboard.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { BOARD_001DashboardBase } from './board-001-dashboard-base';
import view_dashboard_sysportlet1 from '@widgets/hroperation-unit/part-v-001-portlet/part-v-001-portlet.vue';
/**
* dashboard部件
*
* @export
* @class BOARD_001Dashboard
* @extends {BOARD_001DashboardBase}
*/
@Component({
components: {
view_dashboard_sysportlet1,
}
})
@VueLifeCycleProcessing()
export default class BOARD_001Dashboard extends BOARD_001DashboardBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import EF_001Service from './ef-001-form-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {EF_001EditFormBase}
*/
export class EF_001EditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {EF_001Service}
* @memberof EF_001EditFormBase
*/
public service: EF_001Service = new EF_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof EF_001EditFormBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof EF_001EditFormBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 界面UI服务对象
*
* @type {HROperationUnitUIService}
* @memberof EF_001EditFormBase
*/
public appUIService:HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
operationunitname: null,
operationunittype: null,
orgcode: null,
shortname: null,
showorder: null,
operationunitid: null,
hroperationunit:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public rules: any = {
}
/**
* 属性值规则
*
* @type {*}
* @memberof EF_001Base
*/
public deRules:any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof EF_001EditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '运营单位信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hroperationunit.ef_001_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '运营单位标识', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '运营单位名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunitname: new FormItemModel({ caption: '运营单位名称', detailType: 'FORMITEM', name: 'operationunitname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunittype: new FormItemModel({ caption: '运营单位类型', detailType: 'FORMITEM', name: 'operationunittype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
orgcode: new FormItemModel({ caption: '组织编码', detailType: 'FORMITEM', name: 'orgcode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
shortname: new FormItemModel({ caption: '组织简称', detailType: 'FORMITEM', name: 'shortname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
showorder: new FormItemModel({ caption: '排序号', detailType: 'FORMITEM', name: 'showorder', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunitid: new FormItemModel({ caption: '运营单位标识', detailType: 'FORMITEM', name: 'operationunitid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ No newline at end of file
/**
* EF_001 部件模型
*
* @export
* @class EF_001Model
*/
export default class EF_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof EF_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'operationunitid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'operationunitname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'operationunitname',
prop: 'operationunitname',
dataType: 'TEXT',
},
{
name: 'operationunittype',
prop: 'operationunittype',
dataType: 'INHERIT',
},
{
name: 'orgcode',
prop: 'orgcode',
dataType: 'INHERIT',
},
{
name: 'shortname',
prop: 'shortname',
dataType: 'INHERIT',
},
{
name: 'showorder',
prop: 'showorder',
dataType: 'INHERIT',
},
{
name: 'operationunitid',
prop: 'operationunitid',
dataType: 'GUID',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import EF_001Model from './ef-001-form-model';
/**
* EF_001 部件服务对象
*
* @export
* @class EF_001Service
*/
export default class EF_001Service extends ControlService {
/**
* 运营单位服务对象
*
* @type {HROperationUnitService}
* @memberof EF_001Service
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof EF_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of EF_001Service.
*
* @param {*} [opts={}]
* @memberof EF_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new EF_001Model();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof EF_001Service
*/
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 EF_001Service
*/
@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 EF_001Service
*/
@Errorlog
public wfstart(action: string,context: any = {},data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data);
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 EF_001Service
*/
@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]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@Errorlog
public add(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.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 EF_001Service
*/
@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]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@Errorlog
public update(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.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 EF_001Service
*/
@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.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EF_001Service
*/
@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.operationunitid = PrimaryKey;
Data.hroperationunit = 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) => {
response.data.operationunitid = 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 EF_001Service
*/
@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 EF_001Service
*/
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];
}
}
});
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 EF_001Service
*/
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();
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='hroperationunit_ef_001' style="">
<input style="display:none;" />
<row >
<i-col class="form-layout-container" v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hroperationunit.ef_001_form.details.group1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.operationunitname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='operationunitname' :itemRules="this.rules.operationunitname" class='' :caption="$t('entities.hroperationunit.ef_001_form.details.operationunitname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.operationunitname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.operationunitname"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.operationunitname.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.operationunittype.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='operationunittype' :itemRules="this.rules.operationunittype" class='' :caption="$t('entities.hroperationunit.ef_001_form.details.operationunittype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.operationunittype.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.operationunittype"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.operationunittype.disabled"
valueType="string"
tag='CL_HR_0001'
codelistType='STATIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.orgcode.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='orgcode' :itemRules="this.rules.orgcode" class='' :caption="$t('entities.hroperationunit.ef_001_form.details.orgcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgcode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.orgcode"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.orgcode.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.shortname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='shortname' :itemRules="this.rules.shortname" class='' :caption="$t('entities.hroperationunit.ef_001_form.details.shortname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.shortname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.shortname"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.shortname.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.showorder.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='showorder' :itemRules="this.rules.showorder" class='' :caption="$t('entities.hroperationunit.ef_001_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>
\ No newline at end of file
<template src="./ef-001-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { EF_001EditFormBase } from './ef-001-form-base';
/**
* form部件
*
* @export
* @class EF_001EditForm
* @extends {EF_001EditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class EF_001EditForm extends EF_001EditFormBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import IF_001Service from './if-001-form-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {IF_001EditFormBase}
*/
export class IF_001EditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {IF_001Service}
* @memberof IF_001EditFormBase
*/
public service: IF_001Service = new IF_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof IF_001EditFormBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof IF_001EditFormBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 界面UI服务对象
*
* @type {HROperationUnitUIService}
* @memberof IF_001EditFormBase
*/
public appUIService:HROperationUnitUIService = new HROperationUnitUIService(this.$store);
/**
* 关系界面数量
*
* @protected
* @type {number}
* @memberof IF_001EditFormBase
*/
protected drCount: number = 2;
/**
* 表单数据对象
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
operationunitname: null,
operationunittype: null,
orgcode: null,
shortname: null,
showorder: null,
memo: null,
operationunitid: null,
hroperationunit:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public rules: any = {
}
/**
* 属性值规则
*
* @type {*}
* @memberof IF_001Base
*/
public deRules:any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof IF_001EditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '运营单位信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hroperationunit.if_001_form', extractMode: 'ITEM', details: [] } }),
druipart1: new FormDRUIPartModel({ caption: '', detailType: 'DRUIPART', name: 'druipart1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
grouppanel1: new FormGroupPanelModel({ caption: '地址', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hroperationunit.if_001_form', extractMode: 'ITEM', details: [] } }),
druipart2: new FormDRUIPartModel({ caption: '', detailType: 'DRUIPART', name: 'druipart2', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
grouppanel2: new FormGroupPanelModel({ caption: '联系信息', detailType: 'GROUPPANEL', name: 'grouppanel2', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.hroperationunit.if_001_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '运营单位标识', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '运营单位名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunitname: new FormItemModel({ caption: '运营单位名称', detailType: 'FORMITEM', name: 'operationunitname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunittype: new FormItemModel({ caption: '运营单位类型', detailType: 'FORMITEM', name: 'operationunittype', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
orgcode: new FormItemModel({ caption: '组织编码', detailType: 'FORMITEM', name: 'orgcode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
shortname: new FormItemModel({ caption: '组织简称', detailType: 'FORMITEM', name: 'shortname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
showorder: new FormItemModel({ caption: '排序号', detailType: 'FORMITEM', name: 'showorder', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
memo: new FormItemModel({ caption: '备注', detailType: 'FORMITEM', name: 'memo', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
operationunitid: new FormItemModel({ caption: '运营单位标识', detailType: 'FORMITEM', name: 'operationunitid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ No newline at end of file
/**
* IF_001 部件模型
*
* @export
* @class IF_001Model
*/
export default class IF_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof IF_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'operationunitid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'operationunitname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'operationunitname',
prop: 'operationunitname',
dataType: 'TEXT',
},
{
name: 'operationunittype',
prop: 'operationunittype',
dataType: 'INHERIT',
},
{
name: 'orgcode',
prop: 'orgcode',
dataType: 'INHERIT',
},
{
name: 'shortname',
prop: 'shortname',
dataType: 'INHERIT',
},
{
name: 'showorder',
prop: 'showorder',
dataType: 'INHERIT',
},
{
name: 'memo',
prop: 'memo',
dataType: 'INHERIT',
},
{
name: 'operationunitid',
prop: 'operationunitid',
dataType: 'GUID',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import IF_001Model from './if-001-form-model';
/**
* IF_001 部件服务对象
*
* @export
* @class IF_001Service
*/
export default class IF_001Service extends ControlService {
/**
* 运营单位服务对象
*
* @type {HROperationUnitService}
* @memberof IF_001Service
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof IF_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of IF_001Service.
*
* @param {*} [opts={}]
* @memberof IF_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new IF_001Model();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof IF_001Service
*/
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 IF_001Service
*/
@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 IF_001Service
*/
@Errorlog
public wfstart(action: string,context: any = {},data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data);
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 IF_001Service
*/
@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]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@Errorlog
public add(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.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 IF_001Service
*/
@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]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@Errorlog
public update(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.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 IF_001Service
*/
@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.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof IF_001Service
*/
@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.operationunitid = PrimaryKey;
Data.hroperationunit = 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) => {
response.data.operationunitid = 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 IF_001Service
*/
@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 IF_001Service
*/
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];
}
}
});
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 IF_001Service
*/
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();
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='hroperationunit_if_001' style="">
<input style="display:none;" />
<row >
<i-col class="form-layout-container" v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hroperationunit.if_001_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.operationunitname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='operationunitname' :itemRules="this.rules.operationunitname" class='' :caption="$t('entities.hroperationunit.if_001_form.details.operationunitname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.operationunitname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.operationunitname"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.operationunitname.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.operationunittype.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='operationunittype' :itemRules="this.rules.operationunittype" class='' :caption="$t('entities.hroperationunit.if_001_form.details.operationunittype')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.operationunittype.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.operationunittype"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.operationunittype.disabled"
valueType="string"
tag='CL_HR_0001'
codelistType='STATIC'
placeholder='请选择...'
/>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.orgcode.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='orgcode' :itemRules="this.rules.orgcode" class='' :caption="$t('entities.hroperationunit.if_001_form.details.orgcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgcode.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.orgcode"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.orgcode.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.shortname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='shortname' :itemRules="this.rules.shortname" class='' :caption="$t('entities.hroperationunit.if_001_form.details.shortname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.shortname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.shortname"
@enter="onEnter($event)"
unit=""
:disabled="detailsModel.shortname.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.showorder.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 6, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='showorder' :itemRules="this.rules.showorder" class='' :caption="$t('entities.hroperationunit.if_001_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>
<i-col class="form-layout-container" v-show="detailsModel.memo.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='memo' :itemRules="this.rules.memo" class='' :caption="$t('entities.hroperationunit.if_001_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='memo' :value="data.memo" dataType="INHERIT" :precision="0"
:data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hroperationunit.if_001_form.details.grouppanel1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.druipart1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-druipart
:formState="formState"
:isForbidLoad="this.data.srfuf === '0'"
paramItem='hroperationunit'
:parentdata='{"srfparentdename":"HROPERATIONUNIT","SRFPARENTTYPE":"CUSTOM"}'
:parameters="[
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='hroperationunit'
parentName="HROperationUnit"
refviewtype='DEGRIDVIEW9'
refreshitems=''
:ignorefieldvaluechange="ignorefieldvaluechange"
viewname='hrorg-address-v-001'
:data="JSON.stringify(this.data)"
@drdatasaved="drdatasaved($event)"
style="overflow: auto;">
</app-form-druipart>
</i-col>
</row>
</app-form-group>
</i-col>
<i-col class="form-layout-container" v-show="detailsModel.grouppanel2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.grouppanel2" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hroperationunit.if_001_form.details.grouppanel2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="1" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.grouppanel2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col class="form-layout-container" v-show="detailsModel.druipart2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-druipart
:formState="formState"
:isForbidLoad="this.data.srfuf === '0'"
paramItem='hroperationunit'
:parentdata='{"srfparentdename":"HROPERATIONUNIT","SRFPARENTTYPE":"CUSTOM"}'
:parameters="[
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='hroperationunit'
parentName="HROperationUnit"
refviewtype='DEGRIDVIEW9'
refreshitems=''
:ignorefieldvaluechange="ignorefieldvaluechange"
viewname='hrorg-contact-v-001'
:data="JSON.stringify(this.data)"
@drdatasaved="drdatasaved($event)"
style="overflow: auto;">
</app-form-druipart>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
<template src="./if-001-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IF_001EditFormBase } from './if-001-form-base';
/**
* form部件
*
* @export
* @class IF_001EditForm
* @extends {IF_001EditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class IF_001EditForm extends IF_001EditFormBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import PART_V_001Service from './part-v-001-portlet-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
import { Environment } from '@/environments/environment';
/**
* dashboard_sysportlet1部件基类
*
* @export
* @class MainControlBase
* @extends {PART_V_001PortletBase}
*/
export class PART_V_001PortletBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof PART_V_001PortletBase
*/
protected controlType: string = 'PORTLET';
/**
* 建构部件服务对象
*
* @type {PART_V_001Service}
* @memberof PART_V_001PortletBase
*/
public service: PART_V_001Service = new PART_V_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof PART_V_001PortletBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof PART_V_001PortletBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 长度
*
* @type {number}
* @memberof PART_V_001
*/
@Prop() public height?: number;
/**
* 宽度
*
* @type {number}
* @memberof PART_V_001
*/
@Prop() public width?: number;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof PART_V_001Base
*/
@Prop({default: false})public isAdaptiveSize!: boolean;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof PART_V_001Base
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof PART_V_001Base
*/
public getData(): any {
return {};
}
/**
* 获取高度
*
* @returns {any[]}
* @memberof PART_V_001Base
*/
get getHeight(): any{
if(!this.$util.isEmpty(this.height) && !this.$util.isNumberNaN(this.height)){
if(this.height == 0){
return 'auto';
} else {
return this.height+'px';
}
} else {
return 'auto';
}
}
/**
* vue 生命周期
*
* @memberof PART_V_001Base
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof PART_V_001Base
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
const refs: any = this.$refs;
Object.keys(refs).forEach((_name: string) => {
this.viewState.next({ tag: _name, action: action, data: data });
});
});
}
}
/**
* vue 生命周期
*
* @memberof PART_V_001Base
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof PART_V_001Base
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
/**
* PART_V_001 部件模型
*
* @export
* @class PART_V_001Model
*/
export default class PART_V_001Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof PART_V_001Model
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* PART_V_001 部件服务对象
*
* @export
* @class PART_V_001Service
*/
export default class PART_V_001Service extends ControlService {
}
<div class='portlet part-v-001 ' :style="{}">
<div class="portlet-without-title">
<hroperation-unit-v-002 :viewUsage="4" :viewdata="JSON.stringify(context)" :viewDefaultUsage="false" ></hroperation-unit-v-002>
</div>
</div>
<template src="./part-v-001-portlet.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { PART_V_001PortletBase } from './part-v-001-portlet-base';
/**
* dashboard_sysportlet1部件
*
* @export
* @class PART_V_001Portlet
* @extends {PART_V_001PortletBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class PART_V_001Portlet extends PART_V_001PortletBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, TabExpPanelControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import TabExpViewtabexppanelService from './tab-exp-viewtabexppanel-tabexppanel-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
export class TabExpViewtabexppanelTabexppanelBase extends TabExpPanelControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected controlType: string = 'TABEXPPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabexppanelService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public service: TabExpViewtabexppanelService = new TabExpViewtabexppanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof TabExpViewtabexppanel
*/
protected isInit: any = {
tabviewpanel: true ,
tabviewpanel2: false ,
tabviewpanel3: false ,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanel
*/
protected activatedTabViewPanel: string = 'tabviewpanel';
/**
* 组件创建完毕
*
* @protected
* @memberof TabExpViewtabexppanel
*/
protected ctrlCreated(): void {
//设置分页导航srfparentdename和srfparentkey
if (this.context.hroperationunit) {
Object.assign(this.context, { srfparentdename: 'HROperationUnit', srfparentkey: this.context.hroperationunit });
}
super.ctrlCreated();
}
}
\ No newline at end of file
/**
* TabExpViewtabexppanel 部件模型
*
* @export
* @class TabExpViewtabexppanelModel
*/
export default class TabExpViewtabexppanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabexppanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import TabExpViewtabexppanelModel from './tab-exp-viewtabexppanel-tabexppanel-model';
/**
* TabExpViewtabexppanel 部件服务对象
*
* @export
* @class TabExpViewtabexppanelService
*/
export default class TabExpViewtabexppanelService extends ControlService {
/**
* 运营单位服务对象
*
* @type {HROperationUnitService}
* @memberof TabExpViewtabexppanelService
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof TabExpViewtabexppanelService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of TabExpViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof TabExpViewtabexppanelService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new TabExpViewtabexppanelModel();
}
}
\ No newline at end of file
<div class='tabviewpanel'>
<tabs :value="activatedTabViewPanel" :animated="false" class='tabexppanel' name='tabexpviewtabexppanel' @on-click="tabPanelClick($event)">
<tab-pane :index="0" name='tabviewpanel' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-info-circle',
style:{
'margin-right' : '2px'
}
}),
h('span', '预览'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel"
name="tabviewpanel"
ref='tabviewpanel'
:expActive="activatedTabViewPanel === 'tabviewpanel'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel>
</tab-pane>
<tab-pane :index="1" name='tabviewpanel2' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-th-large',
style:{
'margin-right' : '2px'
}
}),
h('span', '地址'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel2
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel2"
name="tabviewpanel2"
ref='tabviewpanel2'
:expActive="activatedTabViewPanel === 'tabviewpanel2'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel2>
</tab-pane>
<tab-pane :index="2" name='tabviewpanel3' tab='tabexpviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-skyatlas',
style:{
'margin-right' : '2px'
}
}),
h('span', '联系信息'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel3
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel3"
name="tabviewpanel3"
ref='tabviewpanel3'
:expActive="activatedTabViewPanel === 'tabviewpanel3'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel3>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabexppanel-tabexppanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabexppanelTabexppanelBase } from './tab-exp-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/hroperation-unit/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/hroperation-unit/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/hroperation-unit/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class TabExpViewtabexppanelTabexppanel
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
view_tabviewpanel3,
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabexppanelTabexppanel extends TabExpViewtabexppanelTabexppanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import TabExpViewtabviewpanelService from './tab-exp-viewtabviewpanel-tabviewpanel-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
export class TabExpViewtabviewpanelTabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanelService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public service: TabExpViewtabviewpanelService = new TabExpViewtabviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel 部件模型
*
* @export
* @class TabExpViewtabviewpanelModel
*/
export default class TabExpViewtabviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel 部件服务对象
*
* @export
* @class TabExpViewtabviewpanelService
*/
export default class TabExpViewtabviewpanelService extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hroperation-unit-dashboard-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanelTabviewpanelBase } from './tab-exp-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class TabExpViewtabviewpanelTabviewpanel
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanelTabviewpanel extends TabExpViewtabviewpanelTabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import TabExpViewtabviewpanel2Service from './tab-exp-viewtabviewpanel2-tabviewpanel-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
export class TabExpViewtabviewpanel2TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel2Service}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public service: TabExpViewtabviewpanel2Service = new TabExpViewtabviewpanel2Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel2
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel2
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel2
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel2
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel2
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel2
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel2
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel2 部件模型
*
* @export
* @class TabExpViewtabviewpanel2Model
*/
export default class TabExpViewtabviewpanel2Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2Model
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel2 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel2Service
*/
export default class TabExpViewtabviewpanel2Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrorg-address-grid-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel2-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel2TabviewpanelBase } from './tab-exp-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class TabExpViewtabviewpanel2Tabviewpanel
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel2Tabviewpanel extends TabExpViewtabviewpanel2TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import HROperationUnitService from '@/service/hroperation-unit/hroperation-unit-service';
import TabExpViewtabviewpanel3Service from './tab-exp-viewtabviewpanel3-tabviewpanel-service';
import HROperationUnitUIService from '@/uiservice/hroperation-unit/hroperation-unit-ui-service';
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
export class TabExpViewtabviewpanel3TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel3Service}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public service: TabExpViewtabviewpanel3Service = new TabExpViewtabviewpanel3Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROperationUnitService}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public appEntityService: HROperationUnitService = new HROperationUnitService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected appDeName: string = 'hroperationunit';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel3
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel3
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel3
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel3
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel3
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel3
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel3
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* TabExpViewtabviewpanel3 部件模型
*
* @export
* @class TabExpViewtabviewpanel3Model
*/
export default class TabExpViewtabviewpanel3Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3Model
*/
public getDataItems(): any[] {
return [
{
name: 'updatedate',
},
{
name: 'createman',
},
{
name: 'updateman',
},
{
name: 'hroperationunit',
prop: 'operationunitid',
},
{
name: 'createdate',
},
{
name: 'operationunitname',
},
{
name: 'organizationtype',
},
{
name: 'orglevel',
},
{
name: 'showorder',
},
{
name: 'operationunittype',
},
{
name: 'shortname',
},
{
name: 'memo',
},
{
name: 'orgcode',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* TabExpViewtabviewpanel3 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel3Service
*/
export default class TabExpViewtabviewpanel3Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<hrorg-contact-grid-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
@closeview="closeView($event)"
/>
</div>
\ No newline at end of file
<template src="./tab-exp-viewtabviewpanel3-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel3TabviewpanelBase } from './tab-exp-viewtabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class TabExpViewtabviewpanel3Tabviewpanel
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel3Tabviewpanel extends TabExpViewtabviewpanel3TabviewpanelBase { }
</script>
......@@ -66,7 +66,7 @@
<!--输出实体[HRLEGAL]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-hrlegal-73-4">
<changeSet author="a_LAB01_e85d8801c" id="tab-hrlegal-81-4">
<createTable tableName="LEGAL">
<column name="LEGALNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -182,7 +182,7 @@
<!--输出实体[HROPERATIONUNIT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-hroperationunit-21-9">
<changeSet author="a_LAB01_e85d8801c" id="tab-hroperationunit-51-9">
<createTable tableName="OPERATIONUNIT">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册