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

Mosher 发布系统代码 [后台服务,演示应用]

上级 e3750ee1
<template> <template>
<div class="view-container decustomview ibizbookcustom-view"> <div v-if="!isLayoutLoadding" class="app-view-layout ibizbookcustom-view" :style="{height: '100%', width: '100%', overflow: 'auto'}">
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="ibizbookcustomview"></app-studioaction> <app-standard-container name="page_container" :layoutModelDetails="layoutModelDetails">
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :padding="0" :bordered="false"> </app-standard-container>
</div>
<div class='view-top-messages'>
<app-alert-group position='TOP' :context="context" :viewparam="viewparams" infoGroup='VMGroup85' viewname='ibizbookcustomview'></app-alert-group> </div>
<div class="content-container">
</div>
</card>
</div>
</template> </template>
<script lang='tsx'> <script lang='tsx'>
...@@ -22,6 +15,7 @@ import IBIZBOOKAuthService from '@/authservice/ibizbook/ibizbook-auth-service'; ...@@ -22,6 +15,7 @@ import IBIZBOOKAuthService from '@/authservice/ibizbook/ibizbook-auth-service';
import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service'; import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service';
import { PanelContainerModel, PanelRawitemModel, PanelFieldModel, PanelControlModel, PanelButtonModel, PanelUserControlModel, PanelTabPanelModel, PanelTabPageModel, PanelCtrlPosModel} from '@/model/panel-detail';
@Component({ @Component({
...@@ -213,6 +207,181 @@ export default class IBIZBOOKCustomViewBase extends Vue { ...@@ -213,6 +207,181 @@ export default class IBIZBOOKCustomViewBase extends Vue {
*/ */
public viewState: Subject<ViewState> = new Subject(); public viewState: Subject<ViewState> = new Subject();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public rootLayoutDetailNames: string[] = [ 'page_container' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public layoutItems:any = {
page_container:{ name: 'page_container', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:[] , dataRegionType: 'INHERIT' }
};
/**
* 视图布局是否加载
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public isLayoutLoadding: boolean = true;
/**
* 视图布局数据
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public layoutData:any = {};
/**
* 视图布局面板模型对象
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
/**
* 初始化布局项
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public async initLayoutItem(layoutModelItem: any, index: number = 0) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!index) {
await layoutModelDetail.load(this.context, this.viewparams);
this.layoutData[name] = layoutModelDetail.getData();
this.$set(this.layoutData, name, layoutModelDetail.getData());
this.$set(this.layoutModelDetails, name, layoutModelDetail);
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);
this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key],index);
}
}
}
}
}
/**
* 处理值改变
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/**
* 获取按钮行为xData
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
* @public
* @memberof IBIZBOOKCustomViewBase
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
}
/** /**
...@@ -531,11 +700,14 @@ export default class IBIZBOOKCustomViewBase extends Vue { ...@@ -531,11 +700,14 @@ export default class IBIZBOOKCustomViewBase extends Vue {
*/ */
public afterMounted(){ public afterMounted(){
const _this: any = this; const _this: any = this;
_this.engineInit(); _this.initLayout().then((result: any) => {
if (_this.loadModel && _this.loadModel instanceof Function) { _this.isLayoutLoadding = false;
_this.loadModel(); _this.engineInit();
} if (_this.loadModel && _this.loadModel instanceof Function) {
_this.loadModel();
}
})
} }
......
.ibizbookcustom-view{ .ibizbookcustom-view {
position: relative; display: block;
} }
<template> <template>
<div v-if="!isLayoutLoadding" class="app-view-layout ibizbookusr2-medit-view9" :style="{height: '100%', width: '100%','display': 'flex', 'flex-direction': 'column'}"> <div class="view-container demeditview9 ibizbookusr2-medit-view9">
<app-standard-container name="page_container" :layoutModelDetails="layoutModelDetails"> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="ibizbookusr2meditview9"></app-studioaction>
<template #container_grid1> <card class='view-card view-no-caption view-no-toolbar' :disHover="true" :padding="0" :bordered="false">
<app-simpleflex-container name="container_grid1" :layoutModelDetails="layoutModelDetails">
<template #container1>
<app-simpleflex-container name="container1" :layoutModelDetails="layoutModelDetails"> <div class='view-top-messages'>
<template #view_pagecaption> <app-alert-group position='TOP' :context="context" :viewparam="viewparams" infoGroup='VMGroup35' viewname='ibizbookusr2meditview9'></app-alert-group> </div>
<app-preset-caption name="view_pagecaption" :layoutModelDetails="layoutModelDetails">实体多表单编辑视图</app-preset-caption> <div class="content-container">
</template> <view_meditviewpanel
</app-simpleflex-container> :viewState="viewState"
</template> :viewparams="viewparams"
</app-simpleflex-container> :context="context"
</template> :showBusyIndicator="true"
<template #container2> :saveRefView="saveRefView"
<app-standard-container name="container2" :layoutModelDetails="layoutModelDetails"> @viewdatadirty="onViewDataDirty"
<template #meditviewpanel> @drdatasaved="onDRDataSaved"
<app-ctrl-pos name="meditviewpanel" :layoutModelDetails="layoutModelDetails"> updateAction=""
<view_meditviewpanel removeAction="Remove"
:viewState="viewState" loaddraftAction="GetDraft"
:viewparams="viewparams" loadAction=""
:context="context" createAction=""
:showBusyIndicator="true" fetchAction="FetchDefault"
:saveRefView="saveRefView" name="meditviewpanel"
@viewdatadirty="onViewDataDirty" ref='meditviewpanel'
@drdatasaved="onDRDataSaved" @closeview="closeView($event)">
updateAction="" </view_meditviewpanel>
removeAction="Remove" </div>
loaddraftAction="GetDraft" </card>
loadAction="" </div>
createAction=""
fetchAction="FetchDefault"
name="meditviewpanel"
ref='meditviewpanel'
@closeview="closeView($event)">
</view_meditviewpanel>
</app-ctrl-pos>
</template>
</app-standard-container>
</template>
</app-standard-container>
</div>
</template> </template>
<script lang='tsx'> <script lang='tsx'>
...@@ -52,7 +40,6 @@ import IBIZBOOKAuthService from '@/authservice/ibizbook/ibizbook-auth-service'; ...@@ -52,7 +40,6 @@ import IBIZBOOKAuthService from '@/authservice/ibizbook/ibizbook-auth-service';
import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service'; import IBIZBOOKUIService from '@/uiservice/ibizbook/ibizbook-ui-service';
import { PanelContainerModel, PanelRawitemModel, PanelFieldModel, PanelControlModel, PanelButtonModel, PanelUserControlModel, PanelTabPanelModel, PanelTabPageModel, PanelCtrlPosModel} from '@/model/panel-detail';
@Component({ @Component({
...@@ -222,7 +209,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue { ...@@ -222,7 +209,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue {
*/ */
public containerModel: any = { public containerModel: any = {
view_meditviewpanel: { name: 'meditviewpanel', type: 'MULTIEDITVIEWPANEL' }, view_meditviewpanel: { name: 'meditviewpanel', type: 'MULTIEDITVIEWPANEL' },
view_searchbar: { name: 'searchbar', type: 'SEARCHBAR' },
}; };
/** /**
...@@ -250,186 +236,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue { ...@@ -250,186 +236,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue {
*/ */
public viewState: Subject<ViewState> = new Subject(); public viewState: Subject<ViewState> = new Subject();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public rootLayoutDetailNames: string[] = [ 'page_container' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public layoutItems:any = {
view_pagecaption:{ name: 'view_pagecaption', caption: '页面标题', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , fieldState: '0', },
container1:{ name: 'container1', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'SIMPLEFLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:12, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_grid1', panel: this , details:['view_pagecaption'] , dataRegionType: 'INHERIT' },
container_grid1:{ name: 'container_grid1', caption: '栅格容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'SIMPLEFLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'page_container', panel: this , details:['container1'] , dataRegionType: 'INHERIT' },
meditviewpanel:{ name: 'meditviewpanel', caption: '多表单面板', isShowCaption: true, sysCss: '', itemType: 'CTRLPOS', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container2', panel: this },
container2:{ name: 'container2', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'page_container', panel: this , details:['meditviewpanel'] , dataRegionType: 'INHERIT' },
page_container:{ name: 'page_container', caption: '', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_grid1','container2'] , dataRegionType: 'INHERIT' }
};
/**
* 视图布局是否加载
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public isLayoutLoadding: boolean = true;
/**
* 视图布局数据
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public layoutData:any = {};
/**
* 视图布局面板模型对象
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
/**
* 初始化布局项
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public async initLayoutItem(layoutModelItem: any, index: number = 0) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!index) {
await layoutModelDetail.load(this.context, this.viewparams);
this.layoutData[name] = layoutModelDetail.getData();
this.$set(this.layoutData, name, layoutModelDetail.getData());
this.$set(this.layoutModelDetails, name, layoutModelDetail);
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);
this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key],index);
}
}
}
}
}
/**
* 处理值改变
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/**
* 获取按钮行为xData
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
* @public
* @memberof IBIZBOOKUsr2MEditView9Base
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
}
...@@ -749,13 +555,11 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue { ...@@ -749,13 +555,11 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue {
*/ */
public afterMounted(){ public afterMounted(){
const _this: any = this; const _this: any = this;
_this.initLayout().then((result: any) => { _this.engineInit();
_this.isLayoutLoadding = false; if (_this.loadModel && _this.loadModel instanceof Function) {
_this.engineInit(); _this.loadModel();
if (_this.loadModel && _this.loadModel instanceof Function) { }
_this.loadModel(); if(this.formDruipart){
}
if(this.formDruipart){
this.formDruipart.subscribe((res) =>{ this.formDruipart.subscribe((res) =>{
if(Object.is(res.action,'save')){ if(Object.is(res.action,'save')){
this.viewState.next({ tag:'meditviewpanel', action: 'save', data: this.viewparams }); this.viewState.next({ tag:'meditviewpanel', action: 'save', data: this.viewparams });
...@@ -771,7 +575,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue { ...@@ -771,7 +575,6 @@ export default class IBIZBOOKUsr2MEditView9Base extends Vue {
this.viewState.next({ tag: 'meditviewpanel', action: 'load', data: this.viewparams }); this.viewState.next({ tag: 'meditviewpanel', action: 'load', data: this.viewparams });
} }
})
} }
......
.ibizbookusr2-medit-view9 { .ibizbookusr2-medit-view9{
display: block; position: relative;
}
.ibizbookusr2-medit-view9{
display: block;
} }
...@@ -3,11 +3,9 @@ import { Component } from 'vue-property-decorator'; ...@@ -3,11 +3,9 @@ import { Component } from 'vue-property-decorator';
import IBIZBOOKUsr2MEditView9Base from './ibizbookusr2-medit-view9-base.vue'; import IBIZBOOKUsr2MEditView9Base from './ibizbookusr2-medit-view9-base.vue';
import view_meditviewpanel from '@widgets/ibizbook/main-multieditviewpanel/main-multieditviewpanel.vue'; import view_meditviewpanel from '@widgets/ibizbook/main-multieditviewpanel/main-multieditviewpanel.vue';
import view_searchbar from '@widgets/ibizbook/-searchbar/-searchbar.vue';
@Component({ @Component({
components: { components: {
view_meditviewpanel, view_meditviewpanel,
view_searchbar,
}, },
beforeRouteEnter: (to: any, from: any, next: any) => { beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => { next((vm: any) => {
......
<template> <template>
<div class="view-container dewfdynaactionview ibizsample0021-wfdyna-action-view"> <div v-if="!isLayoutLoadding" class="app-view-layout ibizsample0021-wfdyna-action-view" :style="{height: '100%', width: '100%', overflow: 'auto'}">
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="ibizsample0021wfdynaactionview"></app-studioaction> <app-standard-container name="page_container" :layoutModelDetails="layoutModelDetails">
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :padding="0" :bordered="false"> <template #container_grid1>
<div class="content-container"> <app-simpleflex-container name="container_grid1" :layoutModelDetails="layoutModelDetails">
<component <template #container1>
:is="activeForm.name" <app-simpleflex-container name="container1" :layoutModelDetails="layoutModelDetails">
:viewState="viewState" <template #view_pagecaption>
:viewparams="viewparams" <app-preset-caption name="view_pagecaption" :layoutModelDetails="layoutModelDetails">订单工作流动态操作视图</app-preset-caption>
:context="context" </template>
:autosave="false" </app-simpleflex-container>
:viewtag="viewtag" </template>
:showBusyIndicator="activeForm.showBusyIndicator" </app-simpleflex-container>
:updateAction="activeForm.updateAction" </template>
:removeAction="activeForm.removeAction" <template #container2>
:loaddraftAction="activeForm.loaddraftAction" <app-standard-container name="container2" :layoutModelDetails="layoutModelDetails">
:loadAction="activeForm.loadAction" <template #form>
:createAction="activeForm.createAction" <app-ctrl-pos name="form" :layoutModelDetails="layoutModelDetails">
:WFSubmitAction="activeForm.WFSubmitAction" <view_form
:WFStartAction="activeForm.WFStartAction" :viewState="viewState"
name="form" :viewparams="viewparams"
ref='form'> :context="context"
</component> :autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@closeview="closeView($event)">
</view_form>
</app-ctrl-pos>
</template>
</app-standard-container>
</template>
</app-standard-container>
</div> </div>
<card dis-hover :bordered="false" class='footer'>
<row style=" text-align: right ">
<i-button type='primary' @click="onClickOk">{{ $t("app.commonWords.ok") }}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel">{{ $t("app.commonWords.cancel") }}</i-button>
</row>
</card>
</card>
</div>
</template> </template>
<script lang='tsx'> <script lang='tsx'>
...@@ -43,6 +53,7 @@ import IBIZSample0021AuthService from '@/authservice/ibizsample0021/ibizsample00 ...@@ -43,6 +53,7 @@ import IBIZSample0021AuthService from '@/authservice/ibizsample0021/ibizsample00
import IBIZSample0021UIService from '@/uiservice/ibizsample0021/ibizsample0021-ui-service'; import IBIZSample0021UIService from '@/uiservice/ibizsample0021/ibizsample0021-ui-service';
import { PanelContainerModel, PanelRawitemModel, PanelFieldModel, PanelControlModel, PanelButtonModel, PanelUserControlModel, PanelTabPanelModel, PanelTabPageModel, PanelCtrlPosModel} from '@/model/panel-detail';
@Component({ @Component({
...@@ -255,6 +266,186 @@ export default class IBIZSample0021WFDynaActionViewBase extends Vue { ...@@ -255,6 +266,186 @@ export default class IBIZSample0021WFDynaActionViewBase extends Vue {
*/ */
public viewState: Subject<ViewState> = new Subject(); public viewState: Subject<ViewState> = new Subject();
/**
* 视图布局顶级成员名称
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public rootLayoutDetailNames: string[] = [ 'page_container' ];
/**
* 视图布局面板项模型对象
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public layoutItems:any = {
view_pagecaption:{ name: 'view_pagecaption', caption: '页面标题', isShowCaption: false, sysCss: '', itemType: 'FIELD', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container1', panel: this , fieldState: '0', },
container1:{ name: 'container1', caption: '面板容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'SIMPLEFLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:12, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container_grid1', panel: this , details:['view_pagecaption'] , dataRegionType: 'INHERIT' },
container_grid1:{ name: 'container_grid1', caption: '栅格容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'SIMPLEFLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'page_container', panel: this , details:['container1'] , dataRegionType: 'INHERIT' },
form:{ name: 'form', caption: '表单部件', isShowCaption: true, sysCss: '', itemType: 'CTRLPOS', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'container2', panel: this },
container2:{ name: 'container2', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:-1, flexParams:{align:'',dir:'',vAlign:''}, parentName: 'page_container', panel: this , details:['form'] , dataRegionType: 'INHERIT' },
page_container:{ name: 'page_container', caption: '容器', titleBarCloseMode: 0, isShowCaption: false, sysCss: '', itemType: 'CONTAINER', itemStyle: 'DEFAULT', visible: true, disabled: false, layout:'FLEX', layoutPos:'', layoutHeight:0, heightMode:'', layoutWidth:0, widthMode:'', spacingBottom:'', spacingLeft:'', spacingRight:'', spacingTop:'', hAlignSelf:'', vAlignSelf:'', flexGrow:0, flexParams:{align:'',dir:'',vAlign:''}, panel: this , details:['container_grid1','container2'] , dataRegionType: 'INHERIT' }
};
/**
* 视图布局是否加载
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public isLayoutLoadding: boolean = true;
/**
* 视图布局数据
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public layoutData:any = {};
/**
* 视图布局面板模型对象
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public layoutModelDetails:any = {};
/**
* 初始化布局
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public async initLayout() {
if (this.rootLayoutDetailNames.length > 0) {
for (let i = 0; i < this.rootLayoutDetailNames.length; i++) {
const name = this.rootLayoutDetailNames[i];
const rootItem = this.layoutItems[name];
if (!rootItem) {
return;
}
await this.initLayoutItem(rootItem);
}
}
return true;
}
/**
* 初始化布局项
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public async initLayoutItem(layoutModelItem: any, index: number = 0) {
const { name } = layoutModelItem;
const layoutModelDetail = Util.getLayoutItemInstance(layoutModelItem);
if (!index) {
await layoutModelDetail.load(this.context, this.viewparams);
this.layoutData[name] = layoutModelDetail.getData();
this.$set(this.layoutData, name, layoutModelDetail.getData());
this.$set(this.layoutModelDetails, name, layoutModelDetail);
} else {
layoutModelDetail.setIndex(index);
await layoutModelDetail.load(this.context, this.viewparams);
this.$set(this.layoutModelDetails, `${name}_${index}`, layoutModelDetail);
this.$set(this.layoutData, `${name}_${index}`, layoutModelDetail.getData());
}
if (layoutModelDetail && layoutModelDetail.details) {
if (layoutModelDetail.dataRegionType === 'MULTIDATA') {
const multiData = layoutModelDetail.getData();
if (multiData && multiData.length > 0) {
for (let i = 0; i < multiData.length; i++) {
for (let j = 0; j < layoutModelDetail.details.length; j++) {
const key = layoutModelDetail.details[j];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key], i);
}
}
}
}
} else {
for (let i = 0; i < layoutModelDetail.details.length; i++) {
const key = layoutModelDetail.details[i];
if (this.layoutItems[key]) {
await this.initLayoutItem(this.layoutItems[key],index);
}
}
}
}
}
/**
* 处理值改变
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public handleValueChange($event: { name: string, value: any }) {
if (!$event || !$event.name || Object.is($event.name, '') || !this.layoutData.hasOwnProperty($event.name)) {
return;
}
this.layoutData[$event.name] = $event.value;
}
/**
* 获取按钮行为xData
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public getButtonXData(name: string): any {
let xData = null;
let curLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((layoutModel: any) => {
if (layoutModel.name == name) {
curLayoutModel = layoutModel;
}
})
// 获取数据容器
if (curLayoutModel) {
const getDataArea = (cLayoutModel: any): any => {
let dataArea = null;
let parentLayoutModel = null;
Object.values(this.layoutModelDetails).forEach((pLayoutModel: any) => {
if (pLayoutModel.name == cLayoutModel.parentName) {
parentLayoutModel = pLayoutModel;
if (parentLayoutModel.dataRegionType == 'SINGLEDATA' || parentLayoutModel.dataRegionType == 'MULTIDATA') {
dataArea = parentLayoutModel;
}
}
})
if (!dataArea && parentLayoutModel) {
dataArea = getDataArea(parentLayoutModel);
}
return dataArea;
}
xData = getDataArea(curLayoutModel);
}
// 获取当前视图
if (!xData) {
xData = this;
}
return xData;
}
/**
* 处理按钮点击
*
* @public
* @memberof IBIZSample0021WFDynaActionViewBase
*/
public handleButtonClick(name: string, $event?: any) {
const datas: any[] = [this.layoutData];
const xData: any = this.getButtonXData(name);
const paramJO: any = {};
const contextJO: any = {};
const _this: any = this;
}
/** /**
...@@ -573,12 +764,15 @@ export default class IBIZSample0021WFDynaActionViewBase extends Vue { ...@@ -573,12 +764,15 @@ export default class IBIZSample0021WFDynaActionViewBase extends Vue {
*/ */
public afterMounted(){ public afterMounted(){
const _this: any = this; const _this: any = this;
_this.engineInit(); _this.initLayout().then((result: any) => {
if (_this.loadModel && _this.loadModel instanceof Function) { _this.isLayoutLoadding = false;
_this.loadModel(); _this.engineInit();
} if (_this.loadModel && _this.loadModel instanceof Function) {
this.viewState.next({ tag: "form", action: "autoload", data: {srfkey:this.context.ibizsample0021} }); _this.loadModel();
}
this.viewState.next({ tag: "form", action: "autoload", data: {srfkey:this.context.ibizsample0021} });
})
} }
......
.ibizsample0021-wfdyna-action-view{ .ibizsample0021-wfdyna-action-view {
position: relative; display: block;
} }
...@@ -79,11 +79,11 @@ export default class GridViewLoadUILogicBase { ...@@ -79,11 +79,11 @@ export default class GridViewLoadUILogicBase {
protected logicNodes: ILogicNode[] = [ protected logicNodes: ILogicNode[] = [
{ codeName: 'Begin', name: '开始', logicNodeType: 'BEGIN', logicLinks: [ { name: '连接名称', dstLogicNode: 'BINDPARAM1', } ] } { codeName: 'Begin', name: '开始', logicNodeType: 'BEGIN', logicLinks: [ { name: '连接名称', dstLogicNode: 'BINDPARAM1', } ] },
{ codeName: 'BINDPARAM1', name: '绑定当前搜索表单', logicNodeType: 'BINDPARAM', dstParam: 'searchForm', srcParam: 'view', srcFieldName: 'searchForm', logicLinks: [ { name: '连接名称', dstLogicNode: 'VIEWCTRLINVOKE1', } ] } { codeName: 'BINDPARAM1', name: '绑定当前搜索表单', logicNodeType: 'BINDPARAM', dstParam: 'searchForm', srcParam: 'view', srcFieldName: 'searchForm', logicLinks: [ { name: '连接名称', dstLogicNode: 'VIEWCTRLINVOKE1', } ] },
{ codeName: 'VIEWCTRLINVOKE1', name: '视图部件调用', logicNodeType: 'VIEWCTRLINVOKE', dstParam: 'viewParam', srcParam: 'searchForm', logicLinks: [ { name: '连接名称', dstLogicNode: 'VIEWCTRLINVOKE2', } ] } { codeName: 'VIEWCTRLINVOKE1', name: '视图部件调用', logicNodeType: 'VIEWCTRLINVOKE', dstParam: 'viewParam', srcParam: 'searchForm', logicLinks: [ { name: '连接名称', dstLogicNode: 'VIEWCTRLINVOKE2', } ] },
{ codeName: 'END1', name: '结束', logicNodeType: 'END', returnType: 'NONEVALUE', returnRawValue: '', } { codeName: 'END1', name: '结束', logicNodeType: 'END', returnType: 'NONEVALUE', returnRawValue: '', },
{ codeName: 'VIEWCTRLINVOKE2', name: '视图部件调用', logicNodeType: 'VIEWCTRLINVOKE', dstParam: 'viewParam', srcParam: 'grid', logicLinks: [ { name: '连接名称', dstLogicNode: 'END1', } ] } { codeName: 'VIEWCTRLINVOKE2', name: '视图部件调用', logicNodeType: 'VIEWCTRLINVOKE', dstParam: 'viewParam', srcParam: 'grid', logicLinks: [ { name: '连接名称', dstLogicNode: 'END1', } ] },
]; ];
public beforeExecute(args: any, context: any = {}, params: any = {}, public beforeExecute(args: any, context: any = {}, params: any = {},
......
...@@ -35,9 +35,9 @@ export default class OpenYuQueUILogicBase { ...@@ -35,9 +35,9 @@ export default class OpenYuQueUILogicBase {
protected logicNodes: ILogicNode[] = [ protected logicNodes: ILogicNode[] = [
{ codeName: 'Begin', name: '开始', logicNodeType: 'BEGIN', logicLinks: [ { name: '连接名称', dstLogicNode: 'DEUIACTION1', } ] } { codeName: 'Begin', name: '开始', logicNodeType: 'BEGIN', logicLinks: [ { name: '连接名称', dstLogicNode: 'DEUIACTION1', } ] },
{ codeName: 'END1', name: '结束', logicNodeType: 'END', returnType: 'NONEVALUE', returnRawValue: '', } { codeName: 'END1', name: '结束', logicNodeType: 'END', returnType: 'NONEVALUE', returnRawValue: '', },
{ codeName: 'DEUIACTION1', name: '界面行为', logicNodeType: 'DEUIACTION', dstParam: 'Default', logicLinks: [ { name: '连接名称', dstLogicNode: 'END1', } ] } { codeName: 'DEUIACTION1', name: '界面行为', logicNodeType: 'DEUIACTION', dstParam: 'Default', logicLinks: [ { name: '连接名称', dstLogicNode: 'END1', } ] },
]; ];
public beforeExecute(args: any, context: any = {}, params: any = {}, public beforeExecute(args: any, context: any = {}, params: any = {},
......
...@@ -590,7 +590,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -590,7 +590,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -626,7 +626,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -626,7 +626,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZAPPEDITORGridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -69,11 +69,6 @@ export default class Usr4Model { ...@@ -69,11 +69,6 @@ export default class Usr4Model {
prop: 'n_ibizbookname_like', prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
......
...@@ -19,17 +19,37 @@ ...@@ -19,17 +19,37 @@
"getPSDEViewId" : "621af848e45cfa22f4e35363132223de", "getPSDEViewId" : "621af848e45cfa22f4e35363132223de",
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"codeName" : "Layoutpanel", "codeName" : "Layoutpanel",
"controlStyle" : "APPDECUSTOMVIEW",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "TABLE_24COL",
"logicName" : "自定义视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSAppDataEntity" : { "getPSAppDataEntity" : {
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
}, },
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "page_container",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
}
} ],
"layoutBodyOnly" : true, "layoutBodyOnly" : true,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : true "useDefaultLayout" : false,
"modelid" : "01998BC8-AF5A-46BD-BA0A-4E87605B3F52",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"title" : "实体自定义视图", "title" : "实体自定义视图",
"getTitlePSLanguageRes" : { "getTitlePSLanguageRes" : {
......
...@@ -796,18 +796,109 @@ ...@@ -796,18 +796,109 @@
"getPSDEViewCodeName" : "WFDynaActionView", "getPSDEViewCodeName" : "WFDynaActionView",
"getPSDEViewId" : "19a3720def6d047565e10cc1c13ad528", "getPSDEViewId" : "19a3720def6d047565e10cc1c13ad528",
"getPSViewLayoutPanel" : { "getPSViewLayoutPanel" : {
"getAllPSPanelFields" : [ {
"id" : "view_pagecaption"
} ],
"codeName" : "Layoutpanel", "codeName" : "Layoutpanel",
"controlStyle" : "APPDEWFDYNAACTIONVIEW",
"controlType" : "VIEWLAYOUTPANEL", "controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "TABLE_24COL",
"logicName" : "工作流动态操作视图",
"name" : "layoutpanel", "name" : "layoutpanel",
"getPSAppDataEntity" : { "getPSAppDataEntity" : {
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZSample0021.json" "path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZSample0021.json"
}, },
"getPSControlParam" : { }, "getPSControlParam" : { },
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRootPSPanelItems" : [ {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "page_container",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "栅格容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container_grid1",
"getPSLayout" : {
"layout" : "SIMPLEFLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSPanelItems" : [ {
"caption" : "面板容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container1",
"getPSLayout" : {
"layout" : "SIMPLEFLEX"
},
"getPSLayoutPos" : {
"grow" : 12,
"layout" : "SIMPLEFLEX"
},
"getPSPanelItems" : [ {
"caption" : "页面标题",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "view_pagecaption",
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "view_pagecaption",
"predefinedType" : "VIEW_PAGECAPTION",
"renderMode" : "HEADING1",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "SIMPLEFLEX"
},
"hidden" : false,
"showCaption" : false
} ]
} ]
}, {
"caption" : "容器",
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "container2",
"getPSLayout" : {
"layout" : "FLEX"
},
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"getPSPanelItems" : [ {
"caption" : "表单部件",
"itemStyle" : "DEFAULT",
"itemType" : "CTRLPOS",
"name" : "form",
"getPSLayoutPos" : {
"grow" : -1,
"layout" : "FLEX"
},
"showCaption" : true
} ]
} ]
} ],
"layoutBodyOnly" : true, "layoutBodyOnly" : true,
"layoutPanel" : true, "layoutPanel" : true,
"useDefaultLayout" : true "useDefaultLayout" : false,
"modelid" : "097A58CF-B640-4092-B2A4-75A59BE2E1D3",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
}, },
"title" : "订单工作流动态操作视图", "title" : "订单工作流动态操作视图",
"viewStyle" : "DEFAULT", "viewStyle" : "DEFAULT",
......
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 --> <!--输出实体[IBIZBOOK]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-152-7"> <changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-156-7">
<createTable tableName="T_IBIZBOOK"> <createTable tableName="T_IBIZBOOK">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)"> <column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column> </column>
...@@ -340,7 +340,7 @@ ...@@ -340,7 +340,7 @@
<!--输出实体[IBIZORDER]数据结构 --> <!--输出实体[IBIZORDER]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizorder-178-14"> <changeSet author="a_LAB01_df847bdfd" id="tab-ibizorder-180-14">
<createTable tableName="T_IBIZORDER"> <createTable tableName="T_IBIZORDER">
<column name="TP" remarks="" type="TEXT(1048576)"> <column name="TP" remarks="" type="TEXT(1048576)">
</column> </column>
...@@ -1160,7 +1160,7 @@ ...@@ -1160,7 +1160,7 @@
<!--输出实体[IBIZSAMPLE0021]数据结构 --> <!--输出实体[IBIZSAMPLE0021]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizsample0021-21-39"> <changeSet author="a_LAB01_df847bdfd" id="tab-ibizsample0021-27-39">
<createTable tableName="T_IBIZSAMPLE0021"> <createTable tableName="T_IBIZSAMPLE0021">
<column name="IBIZSAMPLE0021ID" remarks="" type="VARCHAR(100)"> <column name="IBIZSAMPLE0021ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBIZSAMPLE0021_IBIZSAMPLE00"/> <constraints primaryKey="true" primaryKeyName="PK_IBIZSAMPLE0021_IBIZSAMPLE00"/>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</createView> </createView>
</changeSet> </changeSet>
<!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步--> <!--输出实体[IBIZORDER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet author="a_LAB01_df847bdfd" id="view-ibizorder-178-8" runOnChange="true"> <changeSet author="a_LAB01_df847bdfd" id="view-ibizorder-180-8" runOnChange="true">
<createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZORDER"> <createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZORDER">
<![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]> <![CDATA[ SELECT t1.[AMOUNT], t1.[CREATEDATE], t1.[CREATEMAN], t1.[DETAILNUM], t1.[IBIZCUSTOMERID], t11.[IBIZCUSTOMERNAME], t1.[IBIZORDERID], t1.[IBIZORDERNAME], t1.[MEMO], t1.[ORDERSTATE], t1.[ORDERTIME], t1.[ORDERTYPE], t1.[ORDERUID], t1.[UPDATEDATE], t1.[UPDATEMAN], t1.[WFINSTANCEID], t1.[WFSTATE], t1.[WFSTEP] FROM [T_IBIZORDER] t1 LEFT JOIN T_IBIZCUSTOMER t11 ON t1.IBIZCUSTOMERID = t11.IBIZCUSTOMERID ]]>
</createView> </createView>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册