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

jackwang 部署微服务应用

上级 a7e916e5
......@@ -30,7 +30,7 @@
"memo": ""
},
"hromhierarchycatgridview": {
"title": "结构层次类别表格视图",
"title": "组织层次结构",
"caption": "结构层次类别",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Base",
......
......@@ -146,6 +146,7 @@ export default {
menuitem12: "空缺职位",
menuitem13: "所有职位",
menuitem14: "无效职位",
menuitem8: "测试",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......
......@@ -146,6 +146,7 @@ export default {
menuitem12: "空缺职位",
menuitem13: "所有职位",
menuitem14: "无效职位",
menuitem8: "测试",
bottom_exp: "底部内容",
footer_left: "底部左侧",
footer_center: "底部中间",
......
......@@ -12,7 +12,7 @@ export default {
views: {
gridview: {
caption: "结构层次类别",
title: "结构层次类别表格视图",
title: "组织层次结构",
},
v_002: {
caption: "结构层次类别",
......
......@@ -11,7 +11,7 @@ export default {
views: {
gridview: {
caption: "结构层次类别",
title: "结构层次类别表格视图",
title: "组织层次结构",
},
v_002: {
caption: "结构层次类别",
......
......@@ -67,6 +67,15 @@ export default {
uiactions: {
},
},
grid_001_grid: {
columns: {
organizationname: "组织名称",
pomhierarchyname: "上级组织",
showorder: "排序号",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
......
......@@ -66,6 +66,15 @@ export default {
uiactions: {
},
},
grid_001_grid: {
columns: {
organizationname: "组织名称",
pomhierarchyname: "上级组织",
showorder: "排序号",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
......
......@@ -211,7 +211,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-signal',
icon: '',
textcls: '',
appfunctag: '_6',
appfunctag: '_7',
resourcetag: '',
},
{
......@@ -229,7 +229,7 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
iconcls: 'fa fa-sitemap',
icon: '',
textcls: '',
appfunctag: '_5',
appfunctag: '_6',
resourcetag: '',
},
{
......@@ -321,6 +321,24 @@ mock.onGet('v7/pimappmenu').reply((config: any) => {
textcls: '',
appfunctag: '',
resourcetag: '',
},
{
id: 'ED02F38F-5988-4458-95BB-75F91E922110',
name: 'menuitem8',
text: '测试',
type: 'MENUITEM',
counterid: '',
tooltip: '测试',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_5',
resourcetag: '',
},
],
},
......
......@@ -32,7 +32,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "0d8ac739134947cc5f6545d4041024de"
},
"hromhierarchycatgridview": {
"title": "结构层次类别表格视图",
"title": "组织层次结构",
"caption": "结构层次类别",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Base",
......
......@@ -9,7 +9,7 @@ import CodeListService from "@service/app/codelist-service";
/**
* 结构层次类别表格视图视图基类
* 组织层次结构视图基类
*
* @export
* @class HROMHierarchyCatGridViewBase
......
<studio-view-style2 viewName="hromhierarchycatgridview" viewTitle="结构层次类别表格视图" class='degridview hromhierarchy-cat-grid-view'>
<studio-view-style2 viewName="hromhierarchycatgridview" viewTitle="组织层次结构" class='degridview hromhierarchy-cat-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" placeholder="名称" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
......
......@@ -7,7 +7,7 @@ import view_grid from '@widgets/hromhierarchy-cat/main-grid/main-grid.vue';
import view_searchform from '@widgets/hromhierarchy-cat/default-searchform/default-searchform.vue';
/**
* 结构层次类别表格视图视图
* 组织层次结构视图
*
* @export
* @class HROMHierarchyCatGridView
......
......@@ -3,7 +3,7 @@
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { HROMHierarchyGridViewBase } from './hromhierarchy-grid-view-base';
import view_grid from '@widgets/hromhierarchy/main-grid/main-grid.vue';
import view_grid from '@widgets/hromhierarchy/grid-001-grid/grid-001-grid.vue';
import view_searchform from '@widgets/hromhierarchy/default-searchform/default-searchform.vue';
/**
......
......@@ -18,12 +18,12 @@ export const PageComponents = {
Vue.component('hroperation-unit-v-002', () => import('@pages/base/hroperation-unit-v-002/hroperation-unit-v-002.vue'));
Vue.component('hrlegal-edit-view', () => import('@pages/base/hrlegal-edit-view/hrlegal-edit-view.vue'));
Vue.component('hrorganization-pickup-view', () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'));
Vue.component('hromhierarchy-edit-view', () => import('@pages/base/hromhierarchy-edit-view/hromhierarchy-edit-view.vue'));
Vue.component('hrorganization-grid-view', () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue'));
Vue.component('hromhierarchy-edit-view', () => import('@pages/base/hromhierarchy-edit-view/hromhierarchy-edit-view.vue'));
Vue.component('hromhierarchy-cat-edit-view', () => import('@pages/base/hromhierarchy-cat-edit-view/hromhierarchy-cat-edit-view.vue'));
Vue.component('hrlegal-grid-view', () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'));
Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'));
Vue.component('hrorg-contact-edit-view', () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'));
Vue.component('hromhierarchy-tree-exp-view', () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'));
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('hroperation-unit-tab-exp-view', () => import('@pages/base/hroperation-unit-tab-exp-view/hroperation-unit-tab-exp-view.vue'));
Vue.component('hromhierarchy-cat-v-002', () => import('@pages/base/hromhierarchy-cat-v-002/hromhierarchy-cat-v-002.vue'));
......
......@@ -446,27 +446,27 @@ const router = new Router({
component: () => import('@pages/base/hrorganization-pickup-view/hrorganization-pickup-view.vue'),
},
{
path: 'hromhierarchycats/:hromhierarchycat?/hromhierarchies/:hromhierarchy?/editview/:editview?',
path: 'hrorganizations/:hrorganization?/gridview/:gridview?',
meta: {
caption: 'entities.hromhierarchy.views.editview.title',
caption: 'entities.hrorganization.views.gridview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hrorganizations', parameterName: 'hrorganization' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hromhierarchy-edit-view/hromhierarchy-edit-view.vue'),
component: () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue'),
},
{
path: 'hromhierarchies/:hromhierarchy?/editview/:editview?',
path: 'hromhierarchycats/:hromhierarchycat?/hromhierarchies/:hromhierarchy?/editview/:editview?',
meta: {
caption: 'entities.hromhierarchy.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'editview', parameterName: 'editview' },
],
......@@ -475,18 +475,18 @@ const router = new Router({
component: () => import('@pages/base/hromhierarchy-edit-view/hromhierarchy-edit-view.vue'),
},
{
path: 'hrorganizations/:hrorganization?/gridview/:gridview?',
path: 'hromhierarchies/:hromhierarchy?/editview/:editview?',
meta: {
caption: 'entities.hrorganization.views.gridview.title',
caption: 'entities.hromhierarchy.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrorganizations', parameterName: 'hrorganization' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorganization-grid-view/hrorganization-grid-view.vue'),
component: () => import('@pages/base/hromhierarchy-edit-view/hromhierarchy-edit-view.vue'),
},
{
path: 'hromhierarchycats/:hromhierarchycat?/editview/:editview?',
......@@ -503,91 +503,91 @@ const router = new Router({
component: () => import('@pages/base/hromhierarchy-cat-edit-view/hromhierarchy-cat-edit-view.vue'),
},
{
path: 'hrlegals/:hrlegal?/gridview/:gridview?',
path: 'hroperationunits/:hroperationunit?/hrorgcontacts/:hrorgcontact?/editview/:editview?',
meta: {
caption: 'entities.hrlegal.views.gridview.title',
caption: 'entities.hrorgcontact.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'),
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
},
{
path: 'hromhierarchycats/:hromhierarchycat?/hromhierarchies/:hromhierarchy?/treeexpview/:treeexpview?',
path: 'hrlegals/:hrlegal?/hrorgcontacts/:hrorgcontact?/editview/:editview?',
meta: {
caption: 'entities.hromhierarchy.views.treeexpview.title',
caption: 'entities.hrorgcontact.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'treeexpview', parameterName: 'treeexpview' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'),
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
},
{
path: 'hromhierarchies/:hromhierarchy?/treeexpview/:treeexpview?',
path: 'hrorgcontacts/:hrorgcontact?/editview/:editview?',
meta: {
caption: 'entities.hromhierarchy.views.treeexpview.title',
caption: 'entities.hrorgcontact.views.editview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'treeexpview', parameterName: 'treeexpview' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'),
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
},
{
path: 'hroperationunits/:hroperationunit?/hrorgcontacts/:hrorgcontact?/editview/:editview?',
path: 'hromhierarchycats/:hromhierarchycat?/hromhierarchies/:hromhierarchy?/treeexpview/:treeexpview?',
meta: {
caption: 'entities.hrorgcontact.views.editview.title',
caption: 'entities.hromhierarchy.views.treeexpview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hroperationunits', parameterName: 'hroperationunit' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'treeexpview', parameterName: 'treeexpview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
component: () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'),
},
{
path: 'hrlegals/:hrlegal?/hrorgcontacts/:hrorgcontact?/editview/:editview?',
path: 'hromhierarchies/:hromhierarchy?/treeexpview/:treeexpview?',
meta: {
caption: 'entities.hrorgcontact.views.editview.title',
caption: 'entities.hromhierarchy.views.treeexpview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'treeexpview', parameterName: 'treeexpview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
component: () => import('@pages/base/hromhierarchy-tree-exp-view/hromhierarchy-tree-exp-view.vue'),
},
{
path: 'hrorgcontacts/:hrorgcontact?/editview/:editview?',
path: 'hrlegals/:hrlegal?/gridview/:gridview?',
meta: {
caption: 'entities.hrorgcontact.views.editview.title',
caption: 'entities.hrlegal.views.gridview.title',
info:'',
parameters: [
{ pathName: 'pim', parameterName: 'pim' },
{ pathName: 'hrorgcontacts', parameterName: 'hrorgcontact' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'hrlegals', parameterName: 'hrlegal' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/hrorg-contact-edit-view/hrorg-contact-edit-view.vue'),
component: () => import('@pages/base/hrlegal-grid-view/hrlegal-grid-view.vue'),
},
{
path: 'hrlegals/:hrlegal?/v_002/:v_002?',
......
......@@ -149,6 +149,7 @@ export const viewstate: any = {
'9559258a9c3ac118e15ead941b780682',
'0d8ac739134947cc5f6545d4041024de',
'41036146909ab3f28ff59b80370514b2',
'188f3997d02da7fc34bac190ccd439e6',
'114f056047eddd92374e982356e59852',
],
},
......
......@@ -15,16 +15,18 @@ export class PIMBase extends Vue {
if (item) {
let judge = true;
switch (item.appfunctag) {
case '_5':
this.click_5(item); break;
case '_6':
this.click_6(item); break;
case '_3':
this.click_3(item); break;
case '_2':
this.click_2(item); break;
case '_4':
this.click_4(item); break;
case '_6':
this.click_6(item); break;
case '_7':
this.click_7(item); break;
case '_5':
this.click_5(item); break;
default:
judge = false;
console.warn('未指定应用功能');
......@@ -41,7 +43,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}]
* @memberof PIM
*/
public click_5(item: any = {}) {
public click_6(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -133,7 +135,7 @@ export class PIMBase extends Vue {
* @param {*} [item={}]
* @memberof PIM
*/
public click_6(item: any = {}) {
public click_7(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
......@@ -149,6 +151,29 @@ export class PIMBase extends Vue {
this.$router.push(path);
})
}
/**
* 组织层次结构
*
* @param {*} [item={}]
* @memberof PIM
*/
public click_5(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 绘制内容
......
......@@ -231,7 +231,7 @@ export default class PIMModel {
iconcls: 'fa fa-signal',
icon: '',
textcls: '',
appfunctag: '_6',
appfunctag: '_7',
appfuncyype: 'APPVIEW',
viewname: 'hromhierarchy-cat-grid-view',
resourcetag: '',
......@@ -252,7 +252,7 @@ export default class PIMModel {
iconcls: 'fa fa-sitemap',
icon: '',
textcls: '',
appfunctag: '_5',
appfunctag: '_6',
appfuncyype: 'APPVIEW',
viewname: 'hrorganization-grid-view',
resourcetag: '',
......@@ -351,6 +351,27 @@ export default class PIMModel {
appfunctag: '',
resourcetag: '',
}
,
{
id: 'ED02F38F-5988-4458-95BB-75F91E922110',
name: 'menuitem8',
text: '测试',
type: 'MENUITEM',
counterid: '',
tooltip: '测试',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: '_5',
appfuncyype: 'APPVIEW',
viewname: 'hromhierarchy-grid-view',
resourcetag: '',
}
,
],
}
......@@ -448,7 +469,7 @@ export default class PIMModel {
*/
private funcs: any[] = [
{
appfunctag: '_5',
appfunctag: '_6',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hrorganizationgridview',
......@@ -496,7 +517,7 @@ export default class PIMModel {
],
},
{
appfunctag: '_6',
appfunctag: '_7',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hromhierarchycatgridview',
......@@ -507,6 +528,18 @@ export default class PIMModel {
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_5',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'hromhierarchygridview',
deResParameters: [],
routepath: '/pim/:pim?/hromhierarchies/:hromhierarchy?/gridview/:gridview?',
parameters: [
{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
];
/**
......
......@@ -35,7 +35,7 @@
<app-form-group :model="detailsModel.grouppanel1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.hromhierarchycat.ef_001_form.details.grouppanel1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="true" >
<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="{'height': '600px !important',}" :lg="{ span: 24, offset: 0 }">
<i-col class="form-layout-container" v-show="detailsModel.druipart1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-druipart
:formState="formState"
......@@ -57,7 +57,7 @@
viewname='hromhierarchy-tree-exp-view'
:data="JSON.stringify(this.data)"
@drdatasaved="drdatasaved($event)"
style="height:600px;overflow: auto;">
style="overflow: auto;">
</app-form-druipart>
</i-col>
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, GridControlBase } from '@/studio-core';
import HROMHierarchyService from '@/service/hromhierarchy/hromhierarchy-service';
import GRID_001Service from './grid-001-grid-service';
import HROMHierarchyUIService from '@/uiservice/hromhierarchy/hromhierarchy-ui-service';
import { FormItemModel } from '@/model/form-detail';
/**
* grid部件基类
*
* @export
* @class GridControlBase
* @extends {GRID_001GridBase}
*/
export class GRID_001GridBase extends GridControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof GRID_001GridBase
*/
protected controlType: string = 'GRID';
/**
* 建构部件服务对象
*
* @type {GRID_001Service}
* @memberof GRID_001GridBase
*/
public service: GRID_001Service = new GRID_001Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {HROMHierarchyService}
* @memberof GRID_001GridBase
*/
public appEntityService: HROMHierarchyService = new HROMHierarchyService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof GRID_001GridBase
*/
protected appDeName: string = 'hromhierarchy';
/**
* 界面UI服务对象
*
* @type {HROMHierarchyUIService}
* @memberof GRID_001Base
*/
public appUIService:HROMHierarchyUIService = new HROMHierarchyUIService(this.$store);
/**
* 界面行为模型
*
* @type {*}
* @memberof GRID_001Base
*/
public ActionModel: any = {
};
/**
* 本地缓存标识
*
* @protected
* @type {string}
* @memberof GRID_001Base
*/
protected localStorageTag: string = 'hromhierarchy_grid_001_grid';
/**
* 所有列成员
*
* @type {any[]}
* @memberof GRID_001GridBase
*/
public allColumns: any[] = [
{
name: 'organizationname',
label: '组织名称',
langtag: 'entities.hromhierarchy.grid_001_grid.columns.organizationname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'pomhierarchyname',
label: '上级组织',
langtag: 'entities.hromhierarchy.grid_001_grid.columns.pomhierarchyname',
show: true,
util: 'PX',
isEnableRowEdit: true,
},
{
name: 'showorder',
label: '排序号',
langtag: 'entities.hromhierarchy.grid_001_grid.columns.showorder',
show: true,
util: 'PX',
isEnableRowEdit: true,
},
]
/**
* 获取表格行模型
*
* @type {*}
* @memberof GRID_001GridBase
*/
public getGridRowModel(){
return {
pomhierarchyid: new FormItemModel(),
pomhierarchyname: new FormItemModel(),
showorder: new FormItemModel(),
srfkey: new FormItemModel(),
}
}
/**
* 属性值规则
*
* @type {*}
* @memberof GRID_001GridBase
*/
public rules: any = {
pomhierarchyid: [
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '值不能为空', trigger: 'change' },
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '值不能为空', trigger: 'blur' },
],
pomhierarchyname: [
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '上级组织 值不能为空', trigger: 'change' },
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '上级组织 值不能为空', trigger: 'blur' },
],
showorder: [
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '排序号 值不能为空', trigger: 'change' },
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '排序号 值不能为空', trigger: 'blur' },
],
srfkey: [
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '组织层次结构标识 值不能为空', trigger: 'change' },
{ required: false, validator: (rule:any, value:any, callback:any) => { return (rule.required && (value === null || value === undefined || value === "")) ? false : true;}, message: '组织层次结构标识 值不能为空', trigger: 'blur' },
],
}
/**
* 获取对应列class
*
* @type {*}
* @memberof GRID_001Base
*/
public hasRowEdit: any = {
'organizationname':false,
'pomhierarchyname':true,
'showorder':true,
};
/**
* 获取对应列class
*
* @param {*} $args row 行数据,column 列数据,rowIndex 行索引,列索引
* @returns {void}
* @memberof GRID_001Base
*/
public getCellClassName(args: {row: any, column: any, rowIndex: number, columnIndex: number}): any {
return ( this.hasRowEdit[args.column.property] && this.actualIsOpenEdit ) ? "edit-cell" : "info-cell";
}
/**
* 导出数据格式化
*
* @param {*} filterVal
* @param {*} jsonData
* @param {any[]} [codelistColumns=[]]
* @returns {Promise<any>}
* @memberof GRID_001GridBase
*/
public async formatExcelData(filterVal: any, jsonData: any, codelistColumns?: any[]): Promise<any> {
return super.formatExcelData(filterVal, jsonData, [
]);
}
}
\ No newline at end of file
/**
* GRID_001 部件模型
*
* @export
* @class GRID_001Model
*/
export default class GRID_001Model {
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof GRID_001GridMode
*/
public isDEExport: boolean = false;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof GRID_001GridMode
*/
public getDataItems(): any[] {
if(this.isDEExport){
return [
]
}else{
return [
{
name: 'hromhierarchycatid',
prop: 'hromhierarchycatid',
dataType: 'PICKUP',
},
{
name: 'pomhierarchyid',
prop: 'pomhierarchyid',
dataType: 'PICKUP',
isEditable:true
},
{
name: 'organizationname',
prop: 'organizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'organizationid',
prop: 'organizationid',
dataType: 'PICKUP',
},
{
name: 'pomhierarchyname',
prop: 'pomhierarchyname',
dataType: 'PICKUPTEXT',
isEditable:true
},
{
name: 'showorder',
prop: 'showorder',
dataType: 'BIGINT',
isEditable:true
},
{
name: 'srfmajortext',
prop: 'organizationname',
dataType: 'PICKUPTEXT',
},
{
name: 'srfdataaccaction',
prop: 'omhierarchyid',
dataType: 'GUID',
},
{
name: 'srfkey',
prop: 'omhierarchyid',
dataType: 'GUID',
isEditable:true
},
{
name: 'hromhierarchy',
prop: 'omhierarchyid',
},
{
name:'size',
prop:'size'
},
{
name:'query',
prop:'query'
},
{
name:'filter',
prop:'filter'
},
{
name:'page',
prop:'page'
},
{
name:'sort',
prop:'sort'
},
{
name:'srfparentdata',
prop:'srfparentdata'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import HROMHierarchyService from '@/service/hromhierarchy/hromhierarchy-service';
import GRID_001Model from './grid-001-grid-model';
/**
* GRID_001 部件服务对象
*
* @export
* @class GRID_001Service
*/
export default class GRID_001Service extends ControlService {
/**
* 组织层次结构服务对象
*
* @type {HROMHierarchyService}
* @memberof GRID_001Service
*/
public appEntityService: HROMHierarchyService = new HROMHierarchyService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof GRID_001Service
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of GRID_001Service.
*
* @param {*} [opts={}]
* @memberof GRID_001Service
*/
constructor(opts: any = {}) {
super(opts);
this.model = new GRID_001Model();
}
/**
* 处理数据
*
* @public
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
public doItems(promise: Promise<any>, deKeyField: string, deName: string): Promise<any> {
return new Promise((resolve, reject) => {
promise.then((response: any) => {
if (response && response.status === 200) {
const data = response.data;
data.forEach((item:any,index:number) =>{
item[deName] = item[deKeyField];
data[index] = item;
});
resolve(data);
} else {
reject([])
}
}).catch((response: any) => {
reject([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof GRID_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;
if (Object.is(serviceName, 'HROMHierarchyService') && Object.is(interfaceName, 'FetchDefault')) {
return this.doItems(this.appEntityService.FetchDefault(JSON.parse(JSON.stringify(context)), data, isloading), 'omhierarchyid', 'hromhierarchy');
}
return Promise.reject([])
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.Remove(Context,Data, isloading);
}
result.then((response) => {
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data,isloading);
}else{
result =_appEntityService.Update(Context,Data,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 获取数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public get(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.Get(Context,Data, isloading);
}
result.then((response) => {
//处理返回数据,补充判断标识
if(response.data){
Object.assign(response.data,{srfuf:0});
}
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public search(action: string,context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.FetchDefault(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GRID_001Service
*/
@Errorlog
public loadDraft(action: string, context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
result = this.appEntityService.GetDraft(Context,Data, isloading);
}
result.then((response) => {
//处理返回数据,补充判断标识
if(response.data){
Object.assign(response.data,{srfuf:'0'});
//仿真主键数据
response.data.omhierarchyid = Util.createUUID();
}
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 GRID_001Service
*/
@Errorlog
public frontLogic(action:string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any)=>{
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
} else {
return Promise.reject({ status: 500, data: { title: '失败', message: '系统异常' } });
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
})
}
/**
* 处理请求数据(修改或增加数据)
*
* @param action 行为
* @param data 数据
* @memberof GRID_001Service
*/
public handleRequestDataWithUpdate(action: string,context:any ={},data: any = {},isMerge:boolean = false){
let model: any = this.getMode();
if (!model && model.getDataItems instanceof Function) {
return data;
}
let dataItems: any[] = model.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
dataItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop && item.name ){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0)) ){
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};
}
}
\ No newline at end of file
<div :class="{ 'grid': true, 'show-paging-bar': isEnablePagingBar, 'hidden-paging-bar': !isEnablePagingBar }">
<i-form>
<el-table v-if="isDisplay === true"
:default-sort="{ prop: minorSortPSDEF, order: Object.is(minorSortDir, 'ASC') ? 'ascending' : Object.is(minorSortDir, 'DESC') ? 'descending' : '' }"
@sort-change="onSortChange($event)"
:border="isDragendCol"
:highlight-current-row ="isSingleSelect"
:row-class-name="getRowClassName.bind(_self)"
:cell-class-name="getCellClassName.bind(_self)"
size="mini"
stripe
@row-click="rowClick($event)"
@select-all="selectAll($event)"
@select="select($event)"
@row-class-name="onRowClassName($event)"
@row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty">
无数据
<span class="quick-toolbar">
</span>
</template>
<template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
</template>
<template v-if="getColumnState('organizationname')">
<el-table-column show-overflow-tooltip :prop="'organizationname'" :label="$t('entities.hromhierarchy.grid_001_grid.columns.organizationname')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hromhierarchy.grid_001_grid.columns.organizationname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.organizationname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('pomhierarchyname')">
<el-table-column show-overflow-tooltip :prop="'pomhierarchyname'" :label="$t('entities.hromhierarchy.grid_001_grid.columns.pomhierarchyname')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hromhierarchy.grid_001_grid.columns.pomhierarchyname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template v-if="actualIsOpenEdit">
<app-form-item :error="gridItemsModel[$index][column.property].error">
<app-picker
:formState="viewState"
:data="row"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="row.srfuf === 1 ? (3 & 2) !== 2 : (3 & 1) !== 1"
name='pomhierarchyname'
deMajorField='organizationname'
deKeyField='hromhierarchy'
:service="service"
:acParams="{ serviceName: 'HROMHierarchyService', interfaceName: 'FetchDefault'}"
valueitem='pomhierarchyid'
:value="row[column.property]"
editortype=""
:pickupView="{ viewname: 'hromhierarchy-pickup-view', title: $t('entities.hromhierarchy.views.pickupview.title'), deResParameters: [{ pathName: 'hromhierarchycats', parameterName: 'hromhierarchycat' }, ], parameters: [{ pathName: 'hromhierarchies', parameterName: 'hromhierarchy' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
</app-picker>
</app-form-item>
</template>
<template v-if="!actualIsOpenEdit">
<app-span name='pomhierarchyname' editorType="PICKER" :value="row.pomhierarchyname" dataType="PICKUPTEXT" precision="0" ></app-span>
</template>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('showorder')">
<el-table-column show-overflow-tooltip :prop="'showorder'" :label="$t('entities.hromhierarchy.grid_001_grid.columns.showorder')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.hromhierarchy.grid_001_grid.columns.showorder')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<template v-if="actualIsOpenEdit">
<app-form-item :error="gridItemsModel[$index][column.property].error">
<input-box
:disabled="row.srfuf === 1 ? (3 & 2) !== 2 : (3 & 1) !== 1"
v-model="row[column.property]"
style=""
type="text"
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</input-box>
</app-form-item>
</template>
<template v-if="!actualIsOpenEdit">
<app-span name='showorder' editorType="TEXTBOX" :value="row.showorder" dataType="BIGINT" precision="0" ></app-span>
</template>
</template>
</el-table-column>
</template>
<template v-if="adaptiveState">
<el-table-column></el-table-column>
</template>
</el-table>
<row class='grid-pagination' v-show="items.length > 0">
<page class='pull-right' @on-change="pageOnChange($event)"
@on-page-size-change="onPageSizeChange($event)"
:transfer="true" :total="totalRecord"
show-sizer :current="curPage" :page-size="limit"
:page-size-opts="[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]" show-elevator show-total>
<span>
<span class="page-column">
<poptip transfer placement="top-start">
<i-button icon="md-menu">{{$t('app.gridpage.choicecolumns')}}</i-button>
<div slot="content">
<template v-for="col in allColumns">
<div :key="col.name"><el-checkbox v-model="col.show" @change="onColChange()">{{$t(col.langtag)}}</el-checkbox></div>
</template>
</div>
</poptip>
</span>
<span v-if="selections.length > 0" class="batch-toolbar">
</span>
<span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
<span>
{{$t('app.gridpage.show')}}&nbsp;
<span>
<template v-if="items.length === 1">
1
</template>
<template v-else>
<span>{{(curPage - 1) * limit + 1}}&nbsp;-&nbsp;{{totalRecord > curPage * limit ? curPage * limit : totalRecord}}</span>
</template>
</span>&nbsp;
{{$t('app.gridpage.records')}},{{$t('app.gridpage.totle')}}&nbsp;{{totalRecord}}&nbsp;{{$t('app.gridpage.records')}}
</span>
</span>
</page>
</row>
</i-form>
</div>
\ No newline at end of file
<template src="./grid-001-grid.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { GRID_001GridBase } from './grid-001-grid-base';
/**
* grid部件
*
* @export
* @class GRID_001Grid
* @extends {GRID_001GridBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class GRID_001Grid extends GRID_001GridBase { }
</script>
......@@ -112,7 +112,7 @@
<!--输出实体[HROMHIERARCHY]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-hromhierarchy-31-6">
<changeSet author="a_LAB01_e85d8801c" id="tab-hromhierarchy-44-6">
<createTable tableName="OMHIERARCHY">
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
......@@ -140,7 +140,7 @@
<!--输出实体[HROMHIERARCHYCAT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-hromhierarchycat-28-7">
<changeSet author="a_LAB01_e85d8801c" id="tab-hromhierarchycat-36-7">
<createTable tableName="OMHIERARCHYCAT">
<column name="OMHIERARCHYCATID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_HROMHIERARCHYCAT_OMHIERARCH"/>
......@@ -305,13 +305,13 @@
<!--输出实体[HRLEGAL]外键关系 -->
<!--输出实体[HROMHIERARCHYPURPOSE]外键关系 -->
<!--输出实体[HROMHIERARCHY]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-31-14">
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-44-14">
<addForeignKeyConstraint baseColumnNames="HROMHIERARCHYCATID" baseTableName="OMHIERARCHY" constraintName="DER1N_HROMHIERARCHY_HROMHIERAR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="OMHIERARCHYCATID" referencedTableName="OMHIERARCHYCAT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-31-15">
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-44-15">
<addForeignKeyConstraint baseColumnNames="POMHIERARCHYID" baseTableName="OMHIERARCHY" constraintName="DER1N_OMHIERARCHY_OMHIERARCHY_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="OMHIERARCHYID" referencedTableName="OMHIERARCHY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-31-16">
<changeSet author="a_LAB01_e85d8801c" id="fk-hromhierarchy-44-16">
<addForeignKeyConstraint baseColumnNames="ORGANIZATIONID" baseTableName="OMHIERARCHY" constraintName="DER1N_OMHIERARCHY_ORGANIZATION" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGANIZATIONID" referencedTableName="ORGANIZATION" validate="true"/>
</changeSet>
<!--输出实体[HROMHIERARCHYCAT]外键关系 -->
......
......@@ -89,7 +89,7 @@
{
"appid":"PIM",
"appname":"基础管理",
"appmenu":[{"menuid":"PIM", "menuname":"PIM", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" , "items":[{ "id":"menuitem3" , "name":"设置" }]},{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem1" , "name":"菜单项" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem5" , "name":"人员" , "items":[{ "id":"menuitem15" , "name":"员工信息" }]},{ "id":"menuitem2" , "name":"组织" , "items":[{ "id":"menuitem4" , "name":"法人" },{ "id":"menuitem6" , "name":"运营单位" },{ "id":"menuitem7" , "name":"组织层次结构" },{ "id":"menuitem9" , "name":"所有组织" },{ "id":"menuitem10" , "name":"职位" , "items":[{ "id":"menuitem11" , "name":"有效职位" },{ "id":"menuitem12" , "name":"空缺职位" },{ "id":"menuitem13" , "name":"所有职位" },{ "id":"menuitem14" , "name":"无效职位" }]}]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] }]
"appmenu":[{"menuid":"PIM", "menuname":"PIM", "menuitem":[{ "id":"user_menus" , "name":"用户菜单" , "items":[{ "id":"menuitem3" , "name":"设置" }]},{ "id":"top_menus" , "name":"顶部菜单" , "items":[{ "id":"menuitem1" , "name":"菜单项" }]},{ "id":"left_exp" , "name":"左侧菜单" , "items":[{ "id":"menuitem5" , "name":"人员" , "items":[{ "id":"menuitem15" , "name":"员工信息" }]},{ "id":"menuitem2" , "name":"组织" , "items":[{ "id":"menuitem4" , "name":"法人" },{ "id":"menuitem6" , "name":"运营单位" },{ "id":"menuitem7" , "name":"组织层次结构" },{ "id":"menuitem9" , "name":"所有组织" },{ "id":"menuitem10" , "name":"职位" , "items":[{ "id":"menuitem11" , "name":"有效职位" },{ "id":"menuitem12" , "name":"空缺职位" },{ "id":"menuitem13" , "name":"所有职位" },{ "id":"menuitem14" , "name":"无效职位" },{ "id":"menuitem8" , "name":"测试" }]}]}]},{ "id":"bottom_exp" , "name":"底部内容" },{ "id":"footer_left" , "name":"底部左侧" },{ "id":"footer_center" , "name":"底部中间" },{ "id":"footer_right" , "name":"底部右侧" }] }]
}
]
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册