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

chitanda 发布系统代码

上级 1d3ca951
...@@ -1269,6 +1269,16 @@ ...@@ -1269,6 +1269,16 @@
"viewtag": "5de2a290b5d079445ad825f6d6418dd6", "viewtag": "5de2a290b5d079445ad825f6d6418dd6",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"incidentcustomermpickupview": {
"title": "案例客户数据多项选择视图",
"caption": "案例客户",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerMPickupView",
"viewfilename": "incident-customer-mpickup-view",
"viewtag": "5f31eceb2d615687c16eab39b11af0b9",
"memo": "系统自动添加"
},
"opportunitygridview": { "opportunitygridview": {
"title": "商机信息", "title": "商机信息",
"caption": "商机信息", "caption": "商机信息",
......
...@@ -10,6 +10,10 @@ export default { ...@@ -10,6 +10,10 @@ export default {
caption: "客户", caption: "客户",
title: "客户", title: "客户",
}, },
mpickupview: {
caption: "案例客户",
title: "案例客户数据多项选择视图",
},
pickupgridview: { pickupgridview: {
caption: "案例客户", caption: "案例客户",
title: "案例客户选择表格视图", title: "案例客户选择表格视图",
......
...@@ -9,6 +9,10 @@ export default { ...@@ -9,6 +9,10 @@ export default {
caption: "客户", caption: "客户",
title: "客户", title: "客户",
}, },
mpickupview: {
caption: "案例客户",
title: "案例客户数据多项选择视图",
},
pickupgridview: { pickupgridview: {
caption: "案例客户", caption: "案例客户",
title: "案例客户选择表格视图", title: "案例客户选择表格视图",
......
...@@ -1023,6 +1023,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1023,6 +1023,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "OpportunityCompetitorOppCompGridView", "viewname": "OpportunityCompetitorOppCompGridView",
"viewtag": "5de2a290b5d079445ad825f6d6418dd6" "viewtag": "5de2a290b5d079445ad825f6d6418dd6"
}, },
"incidentcustomermpickupview": {
"title": "案例客户数据多项选择视图",
"caption": "案例客户",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Service",
"viewname": "IncidentCustomerMPickupView",
"viewtag": "5f31eceb2d615687c16eab39b11af0b9"
},
"opportunitygridview": { "opportunitygridview": {
"title": "商机信息", "title": "商机信息",
"caption": "商机信息", "caption": "商机信息",
......
...@@ -208,6 +208,7 @@ export const PageComponents = { ...@@ -208,6 +208,7 @@ export const PageComponents = {
Vue.component('list-account-edit-view', () => import('@pages/marketing/list-account-edit-view/list-account-edit-view.vue')); Vue.component('list-account-edit-view', () => import('@pages/marketing/list-account-edit-view/list-account-edit-view.vue'));
Vue.component('entitlement-pickup-grid-view', () => import('@pages/service/entitlement-pickup-grid-view/entitlement-pickup-grid-view.vue')); Vue.component('entitlement-pickup-grid-view', () => import('@pages/service/entitlement-pickup-grid-view/entitlement-pickup-grid-view.vue'));
Vue.component('contact-grid-view', () => import('@pages/base/contact-grid-view/contact-grid-view.vue')); Vue.component('contact-grid-view', () => import('@pages/base/contact-grid-view/contact-grid-view.vue'));
Vue.component('incident-customer-mpickup-view', () => import('@pages/service/incident-customer-mpickup-view/incident-customer-mpickup-view.vue'));
Vue.component('campaign-activity-by-parent-key', () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue')); Vue.component('campaign-activity-by-parent-key', () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'));
Vue.component('price-level-pickup-grid-view', () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue')); Vue.component('price-level-pickup-grid-view', () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'));
Vue.component('ibiz-list-effective-grid-view', () => import('@pages/marketing/ibiz-list-effective-grid-view/ibiz-list-effective-grid-view.vue')); Vue.component('ibiz-list-effective-grid-view', () => import('@pages/marketing/ibiz-list-effective-grid-view/ibiz-list-effective-grid-view.vue'));
...@@ -225,8 +226,8 @@ export const PageComponents = { ...@@ -225,8 +226,8 @@ export const PageComponents = {
Vue.component('sales-order-by-parent-key', () => import('@pages/sales/sales-order-by-parent-key/sales-order-by-parent-key.vue')); Vue.component('sales-order-by-parent-key', () => import('@pages/sales/sales-order-by-parent-key/sales-order-by-parent-key.vue'));
Vue.component('product-pickup-grid-view', () => import('@pages/product/product-pickup-grid-view/product-pickup-grid-view.vue')); Vue.component('product-pickup-grid-view', () => import('@pages/product/product-pickup-grid-view/product-pickup-grid-view.vue'));
Vue.component('list-lead-quick-create-by-list', () => import('@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue')); Vue.component('list-lead-quick-create-by-list', () => import('@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue'));
Vue.component('account-info', () => import('@pages/base/account-info/account-info.vue'));
Vue.component('goal-summary-view', () => import('@pages/sales/goal-summary-view/goal-summary-view.vue')); Vue.component('goal-summary-view', () => import('@pages/sales/goal-summary-view/goal-summary-view.vue'));
Vue.component('account-info', () => import('@pages/base/account-info/account-info.vue'));
Vue.component('connection-role-grid-view', () => import('@pages/runtime/connection-role-grid-view/connection-role-grid-view.vue')); Vue.component('connection-role-grid-view', () => import('@pages/runtime/connection-role-grid-view/connection-role-grid-view.vue'));
Vue.component('incident-pickup-view', () => import('@pages/service/incident-pickup-view/incident-pickup-view.vue')); Vue.component('incident-pickup-view', () => import('@pages/service/incident-pickup-view/incident-pickup-view.vue'));
Vue.component('contact-edit-data-panel-view', () => import('@pages/base/contact-edit-data-panel-view/contact-edit-data-panel-view.vue')); Vue.component('contact-edit-data-panel-view', () => import('@pages/base/contact-edit-data-panel-view/contact-edit-data-panel-view.vue'));
......
...@@ -8744,6 +8744,20 @@ const router = new Router({ ...@@ -8744,6 +8744,20 @@ const router = new Router({
}, },
component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'), component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'),
}, },
{
path: 'incidentcustomers/:incidentcustomer?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.incidentcustomer.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/service/incident-customer-mpickup-view/incident-customer-mpickup-view.vue'),
},
{ {
path: 'campaignactivities/:campaignactivity?/byparentkey/:byparentkey?', path: 'campaignactivities/:campaignactivity?/byparentkey/:byparentkey?',
meta: { meta: {
...@@ -9524,32 +9538,32 @@ const router = new Router({ ...@@ -9524,32 +9538,32 @@ const router = new Router({
component: () => import('@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue'), component: () => import('@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue'),
}, },
{ {
path: 'accounts/:account?/info/:info?', path: 'goals/:goal?/summaryview/:summaryview?',
meta: { meta: {
caption: 'entities.account.views.info.title', caption: 'entities.goal.views.summaryview.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'central', parameterName: 'central' }, { pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' }, { pathName: 'goals', parameterName: 'goal' },
{ pathName: 'info', parameterName: 'info' }, { pathName: 'summaryview', parameterName: 'summaryview' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/base/account-info/account-info.vue'), component: () => import('@pages/sales/goal-summary-view/goal-summary-view.vue'),
}, },
{ {
path: 'goals/:goal?/summaryview/:summaryview?', path: 'accounts/:account?/info/:info?',
meta: { meta: {
caption: 'entities.goal.views.summaryview.title', caption: 'entities.account.views.info.title',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'central', parameterName: 'central' }, { pathName: 'central', parameterName: 'central' },
{ pathName: 'goals', parameterName: 'goal' }, { pathName: 'accounts', parameterName: 'account' },
{ pathName: 'summaryview', parameterName: 'summaryview' }, { pathName: 'info', parameterName: 'info' },
], ],
requireAuth: true, requireAuth: true,
}, },
component: () => import('@pages/sales/goal-summary-view/goal-summary-view.vue'), component: () => import('@pages/base/account-info/account-info.vue'),
}, },
{ {
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/pickupgridview/:pickupgridview?', path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/pickupgridview/:pickupgridview?',
......
import { Subject } from 'rxjs';
import { MPickupViewBase } from '@/studio-core';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import IncidentCustomerAuthService from '@/authservice/incident-customer/incident-customer-auth-service';
import MPickupViewEngine from '@engine/view/mpickup-view-engine';
import IncidentCustomerUIService from '@/uiservice/incident-customer/incident-customer-ui-service';
/**
* 案例客户数据多项选择视图视图基类
*
* @export
* @class IncidentCustomerMPickupViewBase
* @extends {MPickupViewBase}
*/
export class IncidentCustomerMPickupViewBase extends MPickupViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof IncidentCustomerMPickupViewBase
*/
protected appDeName: string = 'incidentcustomer';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof IncidentCustomerMPickupViewBase
*/
protected appDeKey: string = 'customerid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof IncidentCustomerMPickupViewBase
*/
protected appDeMajor: string = 'customername';
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof IncidentCustomerMPickupViewBase
*/
protected appEntityService: IncidentCustomerService = new IncidentCustomerService;
/**
* 实体权限服务对象
*
* @type IncidentCustomerUIService
* @memberof IncidentCustomerMPickupViewBase
*/
public appUIService: IncidentCustomerUIService = new IncidentCustomerUIService(this.$store);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof IncidentCustomerMPickupViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof IncidentCustomerMPickupViewBase
*/
protected model: any = {
srfCaption: 'entities.incidentcustomer.views.mpickupview.caption',
srfTitle: 'entities.incidentcustomer.views.mpickupview.title',
srfSubTitle: 'entities.incidentcustomer.views.mpickupview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof IncidentCustomerMPickupViewBase
*/
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 = '5f31eceb2d615687c16eab39b11af0b9';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof IncidentCustomerMPickupViewBase
*/
public engine: MPickupViewEngine = new MPickupViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof IncidentCustomerMPickupViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'incidentcustomer',
majorPSDEField: 'customername',
isLoadDefault: true,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerMPickupViewBase
*/
public pickupviewpanel_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'selectionchange', $event);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerMPickupViewBase
*/
public pickupviewpanel_activated($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'activated', $event);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerMPickupViewBase
*/
public pickupviewpanel_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'load', $event);
}
/**
* 添加左侧面板所有数据到右侧
*
* @memberof IncidentCustomerMPickupView
*/
public onCLickAllRight(): void {
Object.values(this.containerModel).forEach((model: any) => {
if (!Object.is(model.type, 'PICKUPVIEWPANEL')) {
return;
}
if (model.datas.length > 0) {
model.datas.forEach((data: any, index: any) => {
Object.assign(data, { srfmajortext: data['customername'] });
})
}
model.datas.forEach((item: any) => {
const index: number = this.viewSelections.findIndex((selection: any) => Object.is(item.srfkey, selection.srfkey));
if (index === -1) {
item._select = false;
this.viewSelections.push(item);
}
});
});
this.selectedData = JSON.stringify(this.viewSelections);
}
}
\ No newline at end of file
<studio-view-style2 viewName="incidentcustomermpickupview" viewTitle="案例客户数据多项选择视图" class='dempickupview incident-customer-mpickup-view'>
<div class="content-container pickup-view">
<div class="translate-contant">
<div class="center" :style="{width : !isShowButton ? '100%' : ''}">
<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>
<div v-if="isShowButton" class="translate-buttons">
<div class="buttons">
<i-button type="primary" :title="this.containerModel.view_rightbtn.text"
:disabled="this.containerModel.view_rightbtn.disabled"
@click="onCLickRight.apply(_self, arguments)">
<i class="el-icon-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_leftbtn.text"
:disabled="this.containerModel.view_leftbtn.disabled"
@click="onCLickLeft.apply(_self, arguments)">
<i class="el-icon-arrow-left"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allrightbtn.text"
@click="onCLickAllRight.apply(_self, arguments)">
<i class="el-icon-d-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allleftbtn.text"
@click="onCLickAllLeft.apply(_self, arguments)">
<i class="el-icon-d-arrow-left"></i>
</i-button>
</div>
</div>
<div v-if="isShowButton" class="right">
<div class="mpicker-select">
<div v-for="(item, index) in viewSelections" :key="index" :class="item._select ? 'select' : ''" @click="selectionsClick(item)" @dblclick="selectionsDBLClick(item)">
<span>{{item.srfmajortext}}</span>
</div>
</div>
</div>
</div>
</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="./incident-customer-mpickup-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IncidentCustomerMPickupViewBase } from './incident-customer-mpickup-view-base';
import view_pickupviewpanel from '@widgets/incident-customer/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 案例客户数据多项选择视图视图
*
* @export
* @class IncidentCustomerMPickupView
* @extends {IncidentCustomerMPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class IncidentCustomerMPickupView extends IncidentCustomerMPickupViewBase { }
</script>
...@@ -1102,6 +1102,7 @@ export const viewstate: any = { ...@@ -1102,6 +1102,7 @@ export const viewstate: any = {
'05d66c9ecb6eeb18a00a23cca19bf042', '05d66c9ecb6eeb18a00a23cca19bf042',
'e52af970c14fd89546ac8ccaecab460c', 'e52af970c14fd89546ac8ccaecab460c',
'ba34ee36c1d0de288403607e17e7eb3e', 'ba34ee36c1d0de288403607e17e7eb3e',
'5f31eceb2d615687c16eab39b11af0b9',
'0dff48c04927315f77dd70a9a2767b59', '0dff48c04927315f77dd70a9a2767b59',
], ],
}, },
...@@ -1154,6 +1155,16 @@ export const viewstate: any = { ...@@ -1154,6 +1155,16 @@ export const viewstate: any = {
'c420212fae385872d6ae89e3d237350a', 'c420212fae385872d6ae89e3d237350a',
], ],
}, },
{
viewtag: '5f31eceb2d615687c16eab39b11af0b9',
viewmodule: 'Service',
viewname: 'IncidentCustomerMPickupView',
viewaction: '',
viewdatachange: false,
refviews: [
'8dca8823a924f513bf8c52bc3d321cff',
],
},
{ {
viewtag: '5f8f689d5dccc3db6d2b74a24a8b24ef', viewtag: '5f8f689d5dccc3db6d2b74a24a8b24ef',
viewmodule: 'Sales', viewmodule: 'Sales',
...@@ -1291,6 +1302,7 @@ export const viewstate: any = { ...@@ -1291,6 +1302,7 @@ export const viewstate: any = {
'05d66c9ecb6eeb18a00a23cca19bf042', '05d66c9ecb6eeb18a00a23cca19bf042',
'e52af970c14fd89546ac8ccaecab460c', 'e52af970c14fd89546ac8ccaecab460c',
'ba34ee36c1d0de288403607e17e7eb3e', 'ba34ee36c1d0de288403607e17e7eb3e',
'5f31eceb2d615687c16eab39b11af0b9',
'0dff48c04927315f77dd70a9a2767b59', '0dff48c04927315f77dd70a9a2767b59',
], ],
}, },
......
...@@ -90,6 +90,7 @@ export default class IncidentCustomerUIServiceBase extends UIService { ...@@ -90,6 +90,7 @@ export default class IncidentCustomerUIServiceBase extends UIService {
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'incidentcustomers'}); this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'incidentcustomers'});
this.allViewMap.set('MPICKUPVIEW:',{viewname:'mpickupview',srfappde:'incidentcustomers'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'incidentcustomers'}); this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'incidentcustomers'});
} }
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import IncidentCustomerService from '@/service/incident-customer/incident-customer-service';
import MPickupViewpickupviewpanelService from './mpickup-viewpickupviewpanel-pickupviewpanel-service';
import IncidentCustomerUIService from '@/uiservice/incident-customer/incident-customer-ui-service';
import MPickupViewpickupviewpanelModel from './mpickup-viewpickupviewpanel-pickupviewpanel-model';
/**
* pickupviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
export class MPickupViewpickupviewpanelPickupviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected controlType: string = 'PICKUPVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {MPickupViewpickupviewpanelService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public service: MPickupViewpickupviewpanelService = new MPickupViewpickupviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public appEntityService: IncidentCustomerService = new IncidentCustomerService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected appDeName: string = 'incidentcustomer';
/**
* 选中数据字符串
*
* @type {string}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public selectedData?: string;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MPickupViewpickupviewpanel
*/
public getData(): any {
return {};
}
/**
* 视图名称
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public view: any = {
viewname: 'incident-customer-pickup-grid-view',
data: {},
}
/**
* 局部上下文
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public localViewParam: any = null;
/**
* 视图数据
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@Prop({default: true}) public isShowButton!: boolean;
/**
* 是否单选
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public isSingleSelect?: boolean;
/**
* 初始化完成
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
public inited: boolean = false;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public onViewDatasChange($event: any): void {
if($event.length>0){
$event.forEach((item:any,index:any) => {
let srfmajortext = item['customername'];
if(srfmajortext){
Object.assign($event[index],{srfmajortext: srfmajortext});
}
});
}
this.$emit('selectionchange', $event);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public viewDatasActivated($event: any): void {
this.$emit('activated', $event);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public onViewLoad($event: any): void {
this.$emit('load', $event);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
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 MPickupViewpickupviewpanel
*/
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 MPickupViewpickupviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* MPickupViewpickupviewpanel 部件模型
*
* @export
* @class MPickupViewpickupviewpanelModel
*/
export default class MPickupViewpickupviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'incidentcustomer',
prop: 'customerid',
},
{
name: 'customertype',
},
{
name: 'customername',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* MPickupViewpickupviewpanel 部件服务对象
*
* @export
* @class MPickupViewpickupviewpanelService
*/
export default class MPickupViewpickupviewpanelService 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="./mpickup-viewpickupviewpanel-pickupviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MPickupViewpickupviewpanelPickupviewpanelBase } from './mpickup-viewpickupviewpanel-pickupviewpanel-base';
/**
* pickupviewpanel部件
*
* @export
* @class MPickupViewpickupviewpanelPickupviewpanel
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MPickupViewpickupviewpanelPickupviewpanel extends MPickupViewpickupviewpanelPickupviewpanelBase { }
</script>
...@@ -151,6 +151,24 @@ ...@@ -151,6 +151,24 @@
<i-col v-show="detailsModel.description.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.description.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.incident.byparentkey_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.incident.byparentkey_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT">
<app-mpicker
:activeData="data"
:disabled="detailsModel.description.disabled"
:curvalue="data.description"
name="description"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:service="service"
valueitem=''
deMajorField='customername'
deKeyField='incidentcustomer'
:acParams="{ serviceName: 'IncidentCustomerService', interfaceName: 'FetchDefault'}"
:pickupView="{ viewname: 'incident-customer-mpickup-view', title: $t('entities.incidentcustomer.views.mpickupview.title'), deResParameters: [], parameters: [{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' }, { pathName: 'mpickupview', parameterName: 'mpickupview' } ], placement:'' }"
@formitemvaluechange="onFormItemValueChange($event)"
style="">
</app-mpicker>
</app-form-item> </app-form-item>
......
...@@ -140,6 +140,24 @@ ...@@ -140,6 +140,24 @@
<i-col v-show="detailsModel.description.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.description.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.incident.quickcreate_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.incident.quickcreate_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT">
<app-mpicker
:activeData="data"
:disabled="detailsModel.description.disabled"
:curvalue="data.description"
name="description"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:service="service"
valueitem=''
deMajorField='customername'
deKeyField='incidentcustomer'
:acParams="{ serviceName: 'IncidentCustomerService', interfaceName: 'FetchDefault'}"
:pickupView="{ viewname: 'incident-customer-mpickup-view', title: $t('entities.incidentcustomer.views.mpickupview.title'), deResParameters: [], parameters: [{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' }, { pathName: 'mpickupview', parameterName: 'mpickupview' } ], placement:'' }"
@formitemvaluechange="onFormItemValueChange($event)"
style="">
</app-mpicker>
</app-form-item> </app-form-item>
......
...@@ -4769,7 +4769,7 @@ ...@@ -4769,7 +4769,7 @@
<!--输出实体[INCIDENT]数据结构 --> <!--输出实体[INCIDENT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-incident-99-59"> <changeSet author="a_LAB01_e85d8801c" id="tab-incident-110-59">
<createTable tableName="INCIDENT"> <createTable tableName="INCIDENT">
<column name="LASTONHOLDTIME" remarks="" type="DATETIME"> <column name="LASTONHOLDTIME" remarks="" type="DATETIME">
</column> </column>
...@@ -4969,7 +4969,7 @@ ...@@ -4969,7 +4969,7 @@
<!--输出实体[INCIDENTCUSTOMER]数据结构 --> <!--输出实体[INCIDENTCUSTOMER]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-incidentcustomer-30-60"> <changeSet author="a_LAB01_e85d8801c" id="tab-incidentcustomer-31-60">
<createTable tableName="INCIDENTCUSTOMER"> <createTable tableName="INCIDENTCUSTOMER">
<column name="CUSTOMERID" remarks="" type="VARCHAR(60)"> <column name="CUSTOMERID" remarks="" type="VARCHAR(60)">
<constraints primaryKey="true" primaryKeyName="PK_INCIDENTCUSTOMER_CUSTOMERID"/> <constraints primaryKey="true" primaryKeyName="PK_INCIDENTCUSTOMER_CUSTOMERID"/>
...@@ -11357,43 +11357,43 @@ ...@@ -11357,43 +11357,43 @@
<addForeignKeyConstraint baseColumnNames="RESOURCESPECID" baseTableName="SERVICE" constraintName="DER1N_SERVICE__RESOURCESPEC__R" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="RESOURCESPECID" referencedTableName="RESOURCESPEC" validate="true"/> <addForeignKeyConstraint baseColumnNames="RESOURCESPECID" baseTableName="SERVICE" constraintName="DER1N_SERVICE__RESOURCESPEC__R" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="RESOURCESPECID" referencedTableName="RESOURCESPEC" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[INCIDENT]外键关系 --> <!--输出实体[INCIDENT]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-260"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-260">
<addForeignKeyConstraint baseColumnNames="PRIMARYCONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__PRIMA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PRIMARYCONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__PRIMA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-261"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-261">
<addForeignKeyConstraint baseColumnNames="RESPONSIBLECONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__RESPO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/> <addForeignKeyConstraint baseColumnNames="RESPONSIBLECONTACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTACT__RESPO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-262"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-262">
<addForeignKeyConstraint baseColumnNames="CONTRACTDETAILID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACTDETAIL" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTDETAILID" referencedTableName="CONTRACTDETAIL" validate="true"/> <addForeignKeyConstraint baseColumnNames="CONTRACTDETAILID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACTDETAIL" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTDETAILID" referencedTableName="CONTRACTDETAIL" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-263"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-263">
<addForeignKeyConstraint baseColumnNames="CONTRACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACT__CONT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTID" referencedTableName="CONTRACT" validate="true"/> <addForeignKeyConstraint baseColumnNames="CONTRACTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__CONTRACT__CONT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTRACTID" referencedTableName="CONTRACT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-264"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-264">
<addForeignKeyConstraint baseColumnNames="ENTITLEMENTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__ENTITLEMENT__E" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ENTITLEMENTID" referencedTableName="ENTITLEMENT" validate="true"/> <addForeignKeyConstraint baseColumnNames="ENTITLEMENTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__ENTITLEMENT__E" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ENTITLEMENTID" referencedTableName="ENTITLEMENT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-265"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-265">
<addForeignKeyConstraint baseColumnNames="EXISTINGCASE" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__EXIS" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/> <addForeignKeyConstraint baseColumnNames="EXISTINGCASE" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__EXIS" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-266"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-266">
<addForeignKeyConstraint baseColumnNames="MASTERID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__MAST" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/> <addForeignKeyConstraint baseColumnNames="MASTERID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__MAST" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-267"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-267">
<addForeignKeyConstraint baseColumnNames="PARENTCASEID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__PARE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PARENTCASEID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__INCIDENT__PARE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-268"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-268">
<addForeignKeyConstraint baseColumnNames="PRODUCTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__PRODUCT__PRODU" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRODUCTID" referencedTableName="PRODUCT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PRODUCTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__PRODUCT__PRODU" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRODUCTID" referencedTableName="PRODUCT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-269"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-269">
<addForeignKeyConstraint baseColumnNames="FIRSTRESPONSEBYKPIID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SLAKPIINSTANCE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAKPIINSTANCEID" referencedTableName="SLAKPIINSTANCE" validate="true"/> <addForeignKeyConstraint baseColumnNames="FIRSTRESPONSEBYKPIID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SLAKPIINSTANCE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAKPIINSTANCEID" referencedTableName="SLAKPIINSTANCE" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-271"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-271">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/> <addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__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-incident-99-272"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-272">
<addForeignKeyConstraint baseColumnNames="SUBJECTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SUBJECT__SUBJE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SUBJECTID" referencedTableName="SUBJECT" validate="true"/> <addForeignKeyConstraint baseColumnNames="SUBJECTID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__SUBJECT__SUBJE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SUBJECTID" referencedTableName="SUBJECT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-incident-99-273"> <changeSet author="a_LAB01_e85d8801c" id="fk-incident-110-273">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__TRANSACTIONCUR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/> <addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="INCIDENT" constraintName="DER1N_INCIDENT__TRANSACTIONCUR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[INCIDENTCUSTOMER]外键关系 --> <!--输出实体[INCIDENTCUSTOMER]外键关系 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册