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

xignzi006 发布系统代码

上级 c31fbb2b
...@@ -359,6 +359,16 @@ ...@@ -359,6 +359,16 @@
"viewtag": "1d3b94223a5d3f8ab1d2fe334c8c4afd", "viewtag": "1d3b94223a5d3f8ab1d2fe334c8c4afd",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"multipickdataac": {
"title": "客户、联系人",
"caption": "客户、联系人",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Base",
"viewname": "MultiPickDataAC",
"viewfilename": "multi-pick-data-ac",
"viewtag": "1d816f2c0db6c1a75aeea21468a90462",
"memo": "系统自动添加"
},
"productpricelevelproprilveditview": { "productpricelevelproprilveditview": {
"title": "产品价目表项", "title": "产品价目表项",
"caption": "价目表项", "caption": "价目表项",
......
...@@ -13,6 +13,10 @@ export default { ...@@ -13,6 +13,10 @@ export default {
userdate2: "用户时间2", userdate2: "用户时间2",
}, },
views: { views: {
ac: {
caption: "客户、联系人",
title: "客户、联系人",
},
acgrid: { acgrid: {
caption: "客户、联系人", caption: "客户、联系人",
title: "客户、联系人", title: "客户、联系人",
......
...@@ -12,6 +12,10 @@ export default { ...@@ -12,6 +12,10 @@ export default {
userdate2: "用户时间2", userdate2: "用户时间2",
}, },
views: { views: {
ac: {
caption: "客户、联系人",
title: "客户、联系人",
},
acgrid: { acgrid: {
caption: "客户、联系人", caption: "客户、联系人",
title: "客户、联系人", title: "客户、联系人",
......
...@@ -295,6 +295,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -295,6 +295,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "AccountInfo_Account", "viewname": "AccountInfo_Account",
"viewtag": "1d3b94223a5d3f8ab1d2fe334c8c4afd" "viewtag": "1d3b94223a5d3f8ab1d2fe334c8c4afd"
}, },
"multipickdataac": {
"title": "客户、联系人",
"caption": "客户、联系人",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Base",
"viewname": "MultiPickDataAC",
"viewtag": "1d816f2c0db6c1a75aeea21468a90462"
},
"productpricelevelproprilveditview": { "productpricelevelproprilveditview": {
"title": "产品价目表项", "title": "产品价目表项",
"caption": "价目表项", "caption": "价目表项",
......
import { Subject } from 'rxjs';
import { PickupViewBase } from '@/studio-core';
import MultiPickDataService from '@/service/multi-pick-data/multi-pick-data-service';
import PickupViewEngine from '@engine/view/pickup-view-engine';
/**
* 客户、联系人视图基类
*
* @export
* @class MultiPickDataACBase
* @extends {PickupViewBase}
*/
export class MultiPickDataACBase extends PickupViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof MultiPickDataACBase
*/
protected appDeName: string = 'multipickdata';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof MultiPickDataACBase
*/
protected appDeKey: string = 'pickdataid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof MultiPickDataACBase
*/
protected appDeMajor: string = 'pickdataname';
/**
* 实体服务对象
*
* @type {MultiPickDataService}
* @memberof MultiPickDataACBase
*/
protected appEntityService: MultiPickDataService = new MultiPickDataService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof MultiPickDataACBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof MultiPickDataACBase
*/
protected model: any = {
srfCaption: 'entities.multipickdata.views.ac.caption',
srfTitle: 'entities.multipickdata.views.ac.title',
srfSubTitle: 'entities.multipickdata.views.ac.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof MultiPickDataACBase
*/
protected containerModel: any = {
view_pickupviewpanel: { name: 'pickupviewpanel', type: 'PICKUPVIEWPANEL' },
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 = '1d816f2c0db6c1a75aeea21468a90462';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof MultiPickDataACBase
*/
public engine: PickupViewEngine = new PickupViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof MultiPickDataACBase
*/
public engineInit(): void {
this.engine.init({
view: this,
pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'multipickdata',
majorPSDEField: 'pickdataname',
isLoadDefault: true,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof MultiPickDataACBase
*/
public pickupviewpanel_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'selectionchange', $event);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof MultiPickDataACBase
*/
public pickupviewpanel_activated($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'activated', $event);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof MultiPickDataACBase
*/
public pickupviewpanel_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="multipickdataac" viewTitle="客户、联系人" class='depickupview multi-pick-data-ac'>
<div class="content-container pickup-view">
<view_pickupviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
name="pickupviewpanel"
ref='pickupviewpanel'
@selectionchange="pickupviewpanel_selectionchange($event)"
@activated="pickupviewpanel_activated($event)"
@load="pickupviewpanel_load($event)"
@closeview="closeView($event)">
</view_pickupviewpanel>
</div>
<template slot="footer">
<div v-if="isShowButton" :style="{ textAlign: 'right' }">
<i-button type="primary" :disabled="this.viewSelections.length > 0 ? false : true" @click="onClickOk.apply(_self, arguments)">{{this.containerModel.view_okbtn.text}}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel.apply(_self, arguments)">{{this.containerModel.view_cancelbtn.text}}</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
<template src="./multi-pick-data-ac.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MultiPickDataACBase } from './multi-pick-data-ac-base';
import view_pickupviewpanel from '@widgets/multi-pick-data/acpickupviewpanel-pickupviewpanel/acpickupviewpanel-pickupviewpanel.vue';
/**
* 客户、联系人视图
*
* @export
* @class MultiPickDataAC
* @extends {MultiPickDataACBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class MultiPickDataAC extends MultiPickDataACBase { }
</script>
...@@ -82,6 +82,7 @@ export const PageComponents = { ...@@ -82,6 +82,7 @@ export const PageComponents = {
Vue.component('invoice-info-view', () => import('@pages/finance/invoice-info-view/invoice-info-view.vue')); Vue.component('invoice-info-view', () => import('@pages/finance/invoice-info-view/invoice-info-view.vue'));
Vue.component('connection-role-edit-view', () => import('@pages/runtime/connection-role-edit-view/connection-role-edit-view.vue')); Vue.component('connection-role-edit-view', () => import('@pages/runtime/connection-role-edit-view/connection-role-edit-view.vue'));
Vue.component('contact-by-account', () => import('@pages/base/contact-by-account/contact-by-account.vue')); Vue.component('contact-by-account', () => import('@pages/base/contact-by-account/contact-by-account.vue'));
Vue.component('multi-pick-data-ac', () => import('@pages/base/multi-pick-data-ac/multi-pick-data-ac.vue'));
Vue.component('ibiz-list-summary', () => import('@pages/marketing/ibiz-list-summary/ibiz-list-summary.vue')); Vue.component('ibiz-list-summary', () => import('@pages/marketing/ibiz-list-summary/ibiz-list-summary.vue'));
Vue.component('lead-competitor-grid-view', () => import('@pages/sales/lead-competitor-grid-view/lead-competitor-grid-view.vue')); Vue.component('lead-competitor-grid-view', () => import('@pages/sales/lead-competitor-grid-view/lead-competitor-grid-view.vue'));
Vue.component('campaign-quick-create-view', () => import('@pages/marketing/campaign-quick-create-view/campaign-quick-create-view.vue')); Vue.component('campaign-quick-create-view', () => import('@pages/marketing/campaign-quick-create-view/campaign-quick-create-view.vue'));
......
...@@ -2548,6 +2548,20 @@ const router = new Router({ ...@@ -2548,6 +2548,20 @@ const router = new Router({
}, },
component: () => import('@pages/base/contact-by-account/contact-by-account.vue'), component: () => import('@pages/base/contact-by-account/contact-by-account.vue'),
}, },
{
path: 'multipickdata/:multipickdata?/ac/:ac?',
meta: {
caption: 'entities.multipickdata.views.ac.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'multipickdata', parameterName: 'multipickdata' },
{ pathName: 'ac', parameterName: 'ac' },
],
requireAuth: true,
},
component: () => import('@pages/base/multi-pick-data-ac/multi-pick-data-ac.vue'),
},
{ {
path: 'ibizlists/:ibizlist?/summary/:summary?', path: 'ibizlists/:ibizlist?/summary/:summary?',
meta: { meta: {
......
...@@ -321,6 +321,16 @@ export const viewstate: any = { ...@@ -321,6 +321,16 @@ export const viewstate: any = {
'7d00f63c306adf3537efeabb3326095d', '7d00f63c306adf3537efeabb3326095d',
], ],
}, },
{
viewtag: '1d816f2c0db6c1a75aeea21468a90462',
viewmodule: 'Base',
viewname: 'MultiPickDataAC',
viewaction: '',
viewdatachange: false,
refviews: [
'30f3fc1e50e20f8330c255ae85dca393',
],
},
{ {
viewtag: '2100f4eccfde24bb1307d636c396d51f', viewtag: '2100f4eccfde24bb1307d636c396d51f',
viewmodule: 'Product', viewmodule: 'Product',
...@@ -1299,7 +1309,7 @@ export const viewstate: any = { ...@@ -1299,7 +1309,7 @@ export const viewstate: any = {
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'30f3fc1e50e20f8330c255ae85dca393', '1d816f2c0db6c1a75aeea21468a90462',
], ],
}, },
{ {
......
...@@ -79,6 +79,7 @@ export default class MultiPickDataUIServiceBase extends UIService { ...@@ -79,6 +79,7 @@ export default class MultiPickDataUIServiceBase extends UIService {
* @memberof MultiPickDataUIServiceBase * @memberof MultiPickDataUIServiceBase
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set(':',{viewname:'ac',srfappde:'multipickdata'});
this.allViewMap.set(':',{viewname:'acgrid',srfappde:'multipickdata'}); this.allViewMap.set(':',{viewname:'acgrid',srfappde:'multipickdata'});
} }
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import MultiPickDataService from '@/service/multi-pick-data/multi-pick-data-service';
import ACpickupviewpanelService from './acpickupviewpanel-pickupviewpanel-service';
import ACpickupviewpanelModel from './acpickupviewpanel-pickupviewpanel-model';
/**
* pickupviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {ACpickupviewpanelPickupviewpanelBase}
*/
export class ACpickupviewpanelPickupviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof ACpickupviewpanelPickupviewpanelBase
*/
protected controlType: string = 'PICKUPVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {ACpickupviewpanelService}
* @memberof ACpickupviewpanelPickupviewpanelBase
*/
public service: ACpickupviewpanelService = new ACpickupviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {MultiPickDataService}
* @memberof ACpickupviewpanelPickupviewpanelBase
*/
public appEntityService: MultiPickDataService = new MultiPickDataService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof ACpickupviewpanelPickupviewpanelBase
*/
protected appDeName: string = 'multipickdata';
/**
* 选中数据字符串
*
* @type {string}
* @memberof ACpickupviewpanel
*/
@Prop() public selectedData?: string;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ACpickupviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ACpickupviewpanel
*/
public getData(): any {
return {};
}
/**
* 视图名称
*
* @type {*}
* @memberof ACpickupviewpanel
*/
public view: any = {
viewname: 'multi-pick-data-acgrid',
data: {},
}
/**
* 局部上下文
*
* @type {*}
* @memberof ACpickupviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public localViewParam: any = null;
/**
* 视图数据
*
* @type {*}
* @memberof ACpickupviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof ACpickupviewpanel
*/
@Prop({default: true}) public isShowButton!: boolean;
/**
* 是否单选
*
* @type {boolean}
* @memberof ACpickupviewpanel
*/
@Prop() public isSingleSelect?: boolean;
/**
* 初始化完成
*
* @type {boolean}
* @memberof ACpickupviewpanel
*/
public inited: boolean = false;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof ACpickupviewpanel
*/
public onViewDatasChange($event: any): void {
if($event.length>0){
$event.forEach((item:any,index:any) => {
let srfmajortext = item['pickdataname'];
if(srfmajortext){
Object.assign($event[index],{srfmajortext: srfmajortext});
}
});
}
this.$emit('selectionchange', $event);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof ACpickupviewpanel
*/
public viewDatasActivated($event: any): void {
this.$emit('activated', $event);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof ACpickupviewpanel
*/
public onViewLoad($event: any): void {
this.$emit('load', $event);
}
/**
* vue 生命周期
*
* @memberof ACpickupviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof ACpickupviewpanel
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
if (Object.is('load', action)) {
this.viewdata = JSON.stringify(this.context);
this.viewparam = JSON.stringify(Object.assign(data, this.viewparams));
this.inited = true;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof ACpickupviewpanel
*/
public initNavParam(){
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);
}
/**
* vue 生命周期
*
* @memberof ACpickupviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ACpickupviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* ACpickupviewpanel 部件模型
*
* @export
* @class ACpickupviewpanelModel
*/
export default class ACpickupviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ACpickupviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'multipickdata',
prop: 'pickdataid',
},
{
name: 'pickdataname',
},
{
name: 'pickdatainfo',
},
{
name: 'pickdatatype',
},
{
name: 'userdata',
},
{
name: 'userdata2',
},
{
name: 'userdata3',
},
{
name: 'userdata4',
},
{
name: 'userdate',
},
{
name: 'userdate2',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* ACpickupviewpanel 部件服务对象
*
* @export
* @class ACpickupviewpanelService
*/
export default class ACpickupviewpanelService extends ControlService {
}
\ No newline at end of file
<div class='pickupviewpanel'>
<component
v-if="inited && view.viewname && !Object.is(view.viewname, '')"
:is="view.viewname"
class="viewcontainer3"
:viewdata="viewdata"
:viewparam="viewparam"
:viewDefaultUsage="false"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
@viewdataschange="onViewDatasChange.apply(_self, arguments)"
@viewdatasactivated="viewDatasActivated.apply(_self, arguments)"
@viewload="onViewLoad.apply(_self, arguments)">
</component>
</div>
\ No newline at end of file
<template src="./acpickupviewpanel-pickupviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ACpickupviewpanelPickupviewpanelBase } from './acpickupviewpanel-pickupviewpanel-base';
/**
* pickupviewpanel部件
*
* @export
* @class ACpickupviewpanelPickupviewpanel
* @extends {ACpickupviewpanelPickupviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class ACpickupviewpanelPickupviewpanel extends ACpickupviewpanelPickupviewpanelBase { }
</script>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
valueitem='' valueitem=''
:value="data.owneridyominame" :value="data.owneridyominame"
editortype="" editortype=""
:pickupView="{ viewname: 'multi-pick-data-acgrid', title: $t('entities.multipickdata.views.acgrid.title'), deResParameters: [], parameters: [{ pathName: 'multipickdata', parameterName: 'multipickdata' }, { pathName: 'acgrid', parameterName: 'acgrid' } ], placement:'' }" :pickupView="{ viewname: 'multi-pick-data-ac', title: $t('entities.multipickdata.views.ac.title'), deResParameters: [], parameters: [{ pathName: 'multipickdata', parameterName: 'multipickdata' }, { pathName: 'ac', parameterName: 'ac' } ], placement:'' }"
style="" style=""
@formitemvaluechange="onFormItemValueChange($event)"> @formitemvaluechange="onFormItemValueChange($event)">
</app-picker> </app-picker>
......
...@@ -6462,7 +6462,7 @@ ...@@ -6462,7 +6462,7 @@
<!--输出实体[MULTIPICKDATA]数据结构 --> <!--输出实体[MULTIPICKDATA]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-multipickdata-32-77"> <changeSet author="a_LAB01_e85d8801c" id="tab-multipickdata-36-77">
<createTable tableName="MULTIPICKDATA"> <createTable tableName="MULTIPICKDATA">
<column name="PICKDATAID" remarks="" type="VARCHAR(60)"> <column name="PICKDATAID" remarks="" type="VARCHAR(60)">
<constraints primaryKey="true" primaryKeyName="PK_MULTIPICKDATA_PICKDATAID"/> <constraints primaryKey="true" primaryKeyName="PK_MULTIPICKDATA_PICKDATAID"/>
...@@ -10317,7 +10317,7 @@ ...@@ -10317,7 +10317,7 @@
<!--输出实体[TASK]数据结构 --> <!--输出实体[TASK]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-task-58-118"> <changeSet author="a_LAB01_e85d8801c" id="tab-task-59-118">
<createTable tableName="TASK"> <createTable tableName="TASK">
<column name="WORKFLOWCREATED" remarks="" type="INT"> <column name="WORKFLOWCREATED" remarks="" type="INT">
</column> </column>
...@@ -11893,13 +11893,13 @@ ...@@ -11893,13 +11893,13 @@
<addForeignKeyConstraint baseColumnNames="PARENTSUBJECT" baseTableName="SUBJECT" constraintName="DER1N_SUBJECT__SUBJECT__PARENT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SUBJECTID" referencedTableName="SUBJECT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PARENTSUBJECT" baseTableName="SUBJECT" constraintName="DER1N_SUBJECT__SUBJECT__PARENT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SUBJECTID" referencedTableName="SUBJECT" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[TASK]外键关系 --> <!--输出实体[TASK]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-task-58-416"> <changeSet author="a_LAB01_e85d8801c" id="fk-task-59-416">
<addForeignKeyConstraint baseColumnNames="SERVICEID" baseTableName="TASK" constraintName="DER1N_TASK__SERVICE__SERVICEID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SERVICEID" referencedTableName="SERVICE" validate="true"/> <addForeignKeyConstraint baseColumnNames="SERVICEID" baseTableName="TASK" constraintName="DER1N_TASK__SERVICE__SERVICEID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SERVICEID" referencedTableName="SERVICE" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-task-58-417"> <changeSet author="a_LAB01_e85d8801c" id="fk-task-59-417">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="TASK" constraintName="DER1N_TASK__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/> <addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="TASK" constraintName="DER1N_TASK__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-task-58-418"> <changeSet author="a_LAB01_e85d8801c" id="fk-task-59-418">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="TASK" constraintName="DER1N_TASK__TRANSACTIONCURRENC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/> <addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="TASK" constraintName="DER1N_TASK__TRANSACTIONCURRENC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[TEAM]外键关系 --> <!--输出实体[TEAM]外键关系 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册