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

xignzi006 发布系统代码

上级 42abb8f5
......@@ -1339,6 +1339,16 @@
"viewtag": "6e18ac74e5685439110f9b4e534ee005",
"memo": "系统自动添加"
},
"competitormpickupview": {
"title": "竞争对手数据多项选择视图",
"caption": "竞争对手",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "CompetitorMPickupView",
"viewfilename": "competitor-mpickup-view",
"viewtag": "6e4d0f1bad865b9d56325f829c6076f6",
"memo": "系统自动添加"
},
"opportunitypickupgridview": {
"title": "商机选择表格视图",
"caption": "商机",
......@@ -2439,6 +2449,16 @@
"viewtag": "cab8702dc3d6cc283eb40a1e07fa72ba",
"memo": ""
},
"leadmpickupview": {
"title": "潜在顾客数据多项选择视图",
"caption": "潜在顾客",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "LeadMPickupView",
"viewfilename": "lead-mpickup-view",
"viewtag": "cb1041432c36510ea42ab61a406baba2",
"memo": "系统自动添加"
},
"connectionrolepickupview": {
"title": "连接角色数据选择视图",
"caption": "连接角色",
......
......@@ -96,6 +96,10 @@ export default {
caption: "竞争对手",
title: "竞争对手选择表格视图",
},
mpickupview: {
caption: "竞争对手",
title: "竞争对手数据多项选择视图",
},
edit_datapanelview: {
caption: "竞争对手",
title: "头部信息编辑",
......
......@@ -95,6 +95,10 @@ export default {
caption: "竞争对手",
title: "竞争对手选择表格视图",
},
mpickupview: {
caption: "竞争对手",
title: "竞争对手数据多项选择视图",
},
edit_datapanelview: {
caption: "竞争对手",
title: "头部信息编辑",
......
......@@ -217,6 +217,10 @@ export default {
caption: "潜在顾客",
title: "潜在顾客编辑视图",
},
mpickupview: {
caption: "潜在顾客",
title: "潜在顾客数据多项选择视图",
},
qualification: {
caption: "授予资格",
title: "授予资格",
......
......@@ -216,6 +216,10 @@ export default {
caption: "潜在顾客",
title: "潜在顾客编辑视图",
},
mpickupview: {
caption: "潜在顾客",
title: "潜在顾客数据多项选择视图",
},
qualification: {
caption: "授予资格",
title: "授予资格",
......
......@@ -1079,6 +1079,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "AccountEditView",
"viewtag": "6e18ac74e5685439110f9b4e534ee005"
},
"competitormpickupview": {
"title": "竞争对手数据多项选择视图",
"caption": "竞争对手",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "CompetitorMPickupView",
"viewtag": "6e4d0f1bad865b9d56325f829c6076f6"
},
"opportunitypickupgridview": {
"title": "商机选择表格视图",
"caption": "商机",
......@@ -1959,6 +1967,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "GoalQuickCreateView",
"viewtag": "cab8702dc3d6cc283eb40a1e07fa72ba"
},
"leadmpickupview": {
"title": "潜在顾客数据多项选择视图",
"caption": "潜在顾客",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "LeadMPickupView",
"viewtag": "cb1041432c36510ea42ab61a406baba2"
},
"connectionrolepickupview": {
"title": "连接角色数据选择视图",
"caption": "连接角色",
......
......@@ -144,6 +144,7 @@ export const PageComponents = {
Vue.component('opportunity-competitor-edit-comp-opp-view', () => import('@pages/sales/opportunity-competitor-edit-comp-opp-view/opportunity-competitor-edit-comp-opp-view.vue'));
Vue.component('lead-pickup-grid-view', () => import('@pages/sales/lead-pickup-grid-view/lead-pickup-grid-view.vue'));
Vue.component('opportunity-pickup-view', () => import('@pages/sales/opportunity-pickup-view/opportunity-pickup-view.vue'));
Vue.component('competitor-mpickup-view', () => import('@pages/sales/competitor-mpickup-view/competitor-mpickup-view.vue'));
Vue.component('ibiz-list-option-view', () => import('@pages/marketing/ibiz-list-option-view/ibiz-list-option-view.vue'));
Vue.component('contact-info-abstract', () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue'));
Vue.component('account-edit-data-panel', () => import('@pages/base/account-edit-data-panel/account-edit-data-panel.vue'));
......@@ -168,11 +169,12 @@ export const PageComponents = {
Vue.component('ibiz-list-quick-create', () => import('@pages/marketing/ibiz-list-quick-create/ibiz-list-quick-create.vue'));
Vue.component('opportunity-product-opp-opp-pro-grid-view', () => import('@pages/sales/opportunity-product-opp-opp-pro-grid-view/opportunity-product-opp-opp-pro-grid-view.vue'));
Vue.component('contact-tab-exp-view', () => import('@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'));
Vue.component('lead-mpickup-view', () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'));
Vue.component('product-association-grid-view', () => import('@pages/product/product-association-grid-view/product-association-grid-view.vue'));
Vue.component('transaction-currency-grid-view', () => import('@pages/base/transaction-currency-grid-view/transaction-currency-grid-view.vue'));
Vue.component('appointment-quick-create', () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'));
Vue.component('account-by-parent-key', () => import('@pages/base/account-by-parent-key/account-by-parent-key.vue'));
Vue.component('incident-customer-pickup-grid-view', () => import('@pages/service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view.vue'));
Vue.component('account-by-parent-key', () => import('@pages/base/account-by-parent-key/account-by-parent-key.vue'));
Vue.component('campaign-response-edit-view', () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'));
Vue.component('campaign-info', () => import('@pages/marketing/campaign-info/campaign-info.vue'));
Vue.component('product-summary-view', () => import('@pages/product/product-summary-view/product-summary-view.vue'));
......
......@@ -6391,6 +6391,20 @@ const router = new Router({
},
component: () => import('@pages/sales/opportunity-pickup-view/opportunity-pickup-view.vue'),
},
{
path: 'competitors/:competitor?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.competitor.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'competitors', parameterName: 'competitor' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/competitor-mpickup-view/competitor-mpickup-view.vue'),
},
{
path: 'ibizlists/:ibizlist?/optionview/:optionview?',
meta: {
......@@ -7529,6 +7543,81 @@ const router = new Router({
},
component: () => import('@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'),
},
{
path: 'accounts/:account?/contacts/:contact?/leads/:lead?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.lead.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'),
},
{
path: 'contacts/:contact?/leads/:lead?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.lead.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'),
},
{
path: 'campaigns/:campaign?/leads/:lead?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.lead.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'),
},
{
path: 'accounts/:account?/leads/:lead?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.lead.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'),
},
{
path: 'leads/:lead?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.lead.views.mpickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'),
},
{
path: 'products/:product?/productassociations/:productassociation?/gridview/:gridview?',
meta: {
......@@ -7587,32 +7676,32 @@ const router = new Router({
component: () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'),
},
{
path: 'accounts/:account?/byparentkey/:byparentkey?',
path: 'incidentcustomers/:incidentcustomer?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.account.views.byparentkey.title',
caption: 'entities.incidentcustomer.views.pickupgridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-by-parent-key/account-by-parent-key.vue'),
component: () => import('@pages/service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view.vue'),
},
{
path: 'incidentcustomers/:incidentcustomer?/pickupgridview/:pickupgridview?',
path: 'accounts/:account?/byparentkey/:byparentkey?',
meta: {
caption: 'entities.incidentcustomer.views.pickupgridview.title',
caption: 'entities.account.views.byparentkey.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'incidentcustomers', parameterName: 'incidentcustomer' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
],
requireAuth: true,
},
component: () => import('@pages/service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view.vue'),
component: () => import('@pages/base/account-by-parent-key/account-by-parent-key.vue'),
},
{
path: 'campaignresponses/:campaignresponse?/editview/:editview?',
......
......@@ -507,6 +507,11 @@ export class ListLeadByListBase extends GridViewBase {
let localContext:any = null;
let localViewParam:any =null;
let batchAddPSAppViews:Array<any>=[];
batchAddPSAppViews=[
{view:{viewname:'lead-mpickup-view',height: 0,width: 0,title: '潜在顾客数据多项选择视图'},
res:['Lead'],
'resAppKey':'entity2id'}
];
if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){
this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' });
return;
......
import { Subject } from 'rxjs';
import { MPickupViewBase } from '@/studio-core';
import CompetitorService from '@/service/competitor/competitor-service';
import MPickupViewEngine from '@engine/view/mpickup-view-engine';
/**
* 竞争对手数据多项选择视图视图基类
*
* @export
* @class CompetitorMPickupViewBase
* @extends {MPickupViewBase}
*/
export class CompetitorMPickupViewBase extends MPickupViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected appDeName: string = 'competitor';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected appDeKey: string = 'competitorid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected appDeMajor: string = 'competitorname';
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof CompetitorMPickupViewBase
*/
protected appEntityService: CompetitorService = new CompetitorService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorMPickupViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorMPickupViewBase
*/
protected model: any = {
srfCaption: 'entities.competitor.views.mpickupview.caption',
srfTitle: 'entities.competitor.views.mpickupview.title',
srfSubTitle: 'entities.competitor.views.mpickupview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorMPickupViewBase
*/
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 = '6e4d0f1bad865b9d56325f829c6076f6';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorMPickupViewBase
*/
public engine: MPickupViewEngine = new MPickupViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorMPickupViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'competitor',
majorPSDEField: 'competitorname',
isLoadDefault: true,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public pickupviewpanel_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'selectionchange', $event);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public pickupviewpanel_activated($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'activated', $event);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public pickupviewpanel_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'load', $event);
}
/**
* 添加左侧面板所有数据到右侧
*
* @memberof CompetitorMPickupView
*/
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['competitorname'] });
})
}
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="competitormpickupview" viewTitle="竞争对手数据多项选择视图" class='dempickupview competitor-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="./competitor-mpickup-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorMPickupViewBase } from './competitor-mpickup-view-base';
import view_pickupviewpanel from '@widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 竞争对手数据多项选择视图视图
*
* @export
* @class CompetitorMPickupView
* @extends {CompetitorMPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class CompetitorMPickupView extends CompetitorMPickupViewBase { }
</script>
......@@ -451,6 +451,14 @@ export class LeadCompetitorCompetitorGridViewBase extends GridViewBase {
let localContext:any = null;
let localViewParam:any =null;
let batchAddPSAppViews:Array<any>=[];
batchAddPSAppViews=[
{view:{viewname:'lead-mpickup-view',height: 0,width: 0,title: '潜在顾客数据多项选择视图'},
res:['Lead'],
'resAppKey':'entityid'},
{view:{viewname:'competitor-mpickup-view',height: 0,width: 0,title: '竞争对手数据多项选择视图'},
res:['Competitor'],
'resAppKey':'entity2id'}
];
if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){
this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' });
return;
......
......@@ -451,6 +451,14 @@ export class LeadCompetitorLeadGridViewBase extends GridViewBase {
let localContext:any = null;
let localViewParam:any =null;
let batchAddPSAppViews:Array<any>=[];
batchAddPSAppViews=[
{view:{viewname:'lead-mpickup-view',height: 0,width: 0,title: '潜在顾客数据多项选择视图'},
res:['Lead'],
'resAppKey':'entityid'},
{view:{viewname:'competitor-mpickup-view',height: 0,width: 0,title: '竞争对手数据多项选择视图'},
res:['Competitor'],
'resAppKey':'entity2id'}
];
if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){
this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' });
return;
......
import { Subject } from 'rxjs';
import { MPickupViewBase } from '@/studio-core';
import LeadService from '@/service/lead/lead-service';
import MPickupViewEngine from '@engine/view/mpickup-view-engine';
/**
* 潜在顾客数据多项选择视图视图基类
*
* @export
* @class LeadMPickupViewBase
* @extends {MPickupViewBase}
*/
export class LeadMPickupViewBase extends MPickupViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected appDeName: string = 'lead';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected appDeKey: string = 'leadid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected appDeMajor: string = 'fullname';
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof LeadMPickupViewBase
*/
protected appEntityService: LeadService = new LeadService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LeadMPickupViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LeadMPickupViewBase
*/
protected model: any = {
srfCaption: 'entities.lead.views.mpickupview.caption',
srfTitle: 'entities.lead.views.mpickupview.title',
srfSubTitle: 'entities.lead.views.mpickupview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LeadMPickupViewBase
*/
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 = 'cb1041432c36510ea42ab61a406baba2';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LeadMPickupViewBase
*/
public engine: MPickupViewEngine = new MPickupViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof LeadMPickupViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'lead',
majorPSDEField: 'fullname',
isLoadDefault: true,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public pickupviewpanel_selectionchange($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'selectionchange', $event);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public pickupviewpanel_activated($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'activated', $event);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public pickupviewpanel_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('pickupviewpanel', 'load', $event);
}
/**
* 添加左侧面板所有数据到右侧
*
* @memberof LeadMPickupView
*/
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['fullname'] });
})
}
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="leadmpickupview" viewTitle="潜在顾客数据多项选择视图" class='dempickupview lead-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="./lead-mpickup-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LeadMPickupViewBase } from './lead-mpickup-view-base';
import view_pickupviewpanel from '@widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 潜在顾客数据多项选择视图视图
*
* @export
* @class LeadMPickupView
* @extends {LeadMPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class LeadMPickupView extends LeadMPickupViewBase { }
</script>
......@@ -529,6 +529,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'cb1041432c36510ea42ab61a406baba2',
'8d3e0363ae4532310000143fd6d61aae',
],
},
......@@ -808,6 +809,8 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'6e4d0f1bad865b9d56325f829c6076f6',
'cb1041432c36510ea42ab61a406baba2',
'3bcf50e94ca826894b625ce946d9d8c8',
],
},
......@@ -1244,6 +1247,16 @@ export const viewstate: any = {
'29bfcd628ab25e297248ff0524d12908',
],
},
{
viewtag: '6e4d0f1bad865b9d56325f829c6076f6',
viewmodule: 'Sales',
viewname: 'CompetitorMPickupView',
viewaction: '',
viewdatachange: false,
refviews: [
'3de13dd6914e2465d23dab68ccea5cae',
],
},
{
viewtag: '6e866e05730d8c3e03f150a33225307d',
viewmodule: 'Sales',
......@@ -1298,6 +1311,8 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'6e4d0f1bad865b9d56325f829c6076f6',
'cb1041432c36510ea42ab61a406baba2',
'3bcf50e94ca826894b625ce946d9d8c8',
],
},
......@@ -2270,6 +2285,16 @@ export const viewstate: any = {
'a17a40c513ec2011425e9d26b6591214',
],
},
{
viewtag: 'cb1041432c36510ea42ab61a406baba2',
viewmodule: 'Sales',
viewname: 'LeadMPickupView',
viewaction: '',
viewdatachange: false,
refviews: [
'7d00f63c306adf3537efeabb3326095d',
],
},
{
viewtag: 'cb6b4a9ddcaced093574bfde38b54723',
viewmodule: 'Runtime',
......
......@@ -82,6 +82,7 @@ export default class CompetitorUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'optionview',srfappde:'competitors'});
this.allViewMap.set(':',{viewname:'info_abstract',srfappde:'competitors'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'competitors'});
this.allViewMap.set('MPICKUPVIEW:',{viewname:'mpickupview',srfappde:'competitors'});
this.allViewMap.set(':',{viewname:'edit_datapanelview',srfappde:'competitors'});
this.allViewMap.set(':',{viewname:'summary',srfappde:'competitors'});
this.allViewMap.set(':',{viewname:'info',srfappde:'competitors'});
......
......@@ -95,6 +95,7 @@ export default class LeadUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'info_company',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'dashboardview',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'info_detail',srfappde:'leads'});
this.allViewMap.set('MPICKUPVIEW:',{viewname:'mpickupview',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'qualification',srfappde:'leads'});
}
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import CompetitorService from '@/service/competitor/competitor-service';
import MPickupViewpickupviewpanelService from './mpickup-viewpickupviewpanel-pickupviewpanel-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 {CompetitorService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public appEntityService: CompetitorService = new CompetitorService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected appDeName: string = 'competitor';
/**
* 选中数据字符串
*
* @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: 'competitor-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['competitorname'];
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: 'entityimage',
},
{
name: 'createdate',
},
{
name: 'updatedate',
},
{
name: 'address2_shippingmethodcode',
},
{
name: 'address2_country',
},
{
name: 'address2_telephone2',
},
{
name: 'winpercentage',
},
{
name: 'address1_shippingmethodcode',
},
{
name: 'referenceinfourl',
},
{
name: 'address2_latitude',
},
{
name: 'versionnumber',
},
{
name: 'address2_county',
},
{
name: 'importsequencenumber',
},
{
name: 'address2_telephone3',
},
{
name: 'traversedpath',
},
{
name: 'address1_city',
},
{
name: 'reportedrevenue_base',
},
{
name: 'competitor',
prop: 'competitorid',
},
{
name: 'address1_fax',
},
{
name: 'updateman',
},
{
name: 'overview',
},
{
name: 'address2_stateorprovince',
},
{
name: 'entityimageid',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'address2_upszone',
},
{
name: 'address1_line3',
},
{
name: 'stockexchange',
},
{
name: 'stageid',
},
{
name: 'reportingyear',
},
{
name: 'reportingquarter',
},
{
name: 'address1_stateorprovince',
},
{
name: 'address1_utcoffset',
},
{
name: 'address1_latitude',
},
{
name: 'address1_composite',
},
{
name: 'address1_county',
},
{
name: 'address1_name',
},
{
name: 'address1_postalcode',
},
{
name: 'opportunities',
},
{
name: 'address1_addressid',
},
{
name: 'address2_line3',
},
{
name: 'address2_fax',
},
{
name: 'processid',
},
{
name: 'address2_postofficebox',
},
{
name: 'createman',
},
{
name: 'exchangerate',
},
{
name: 'overriddencreatedon',
},
{
name: 'address1_telephone2',
},
{
name: 'strengths',
},
{
name: 'address2_addresstypecode',
},
{
name: 'address1_postofficebox',
},
{
name: 'weaknesses',
},
{
name: 'address1_line2',
},
{
name: 'name',
},
{
name: 'address2_longitude',
},
{
name: 'threats',
},
{
name: 'address2_composite',
},
{
name: 'entityimage_timestamp',
},
{
name: 'address2_utcoffset',
},
{
name: 'address1_country',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'reportedrevenue',
},
{
name: 'address1_longitude',
},
{
name: 'tickersymbol',
},
{
name: 'address2_telephone1',
},
{
name: 'keyproduct',
},
{
name: 'entityimage_url',
},
{
name: 'address2_city',
},
{
name: 'websiteurl',
},
{
name: 'address2_addressid',
},
{
name: 'address1_telephone1',
},
{
name: 'address2_postalcode',
},
{
name: 'address1_line1',
},
{
name: 'address1_telephone3',
},
{
name: 'address2_line1',
},
{
name: 'address1_addresstypecode',
},
{
name: 'address2_name',
},
{
name: 'competitorname',
},
{
name: 'address1_upszone',
},
{
name: 'address2_line2',
},
{
name: 'transactioncurrencyid',
},
{
name: 'transactioncurrencyname',
},
]
}
}
\ 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>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import LeadService from '@/service/lead/lead-service';
import MPickupViewpickupviewpanelService from './mpickup-viewpickupviewpanel-pickupviewpanel-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 {LeadService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public appEntityService: LeadService = new LeadService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected appDeName: string = 'lead';
/**
* 选中数据字符串
*
* @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: 'lead-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['fullname'];
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: 'address1_fax',
},
{
name: 'address2_utcoffset',
},
{
name: 'jobtitle',
},
{
name: 'address2_country',
},
{
name: 'budgetamount',
},
{
name: 'address2_fax',
},
{
name: 'onholdtime',
},
{
name: 'lastname',
},
{
name: 'address1_telephone2',
},
{
name: 'address1_stateorprovince',
},
{
name: 'masterleadname',
},
{
name: 'estimatedvalue',
},
{
name: 'lead',
prop: 'leadid',
},
{
name: 'address1_longitude',
},
{
name: 'address1_line1',
},
{
name: 'leadqualitycode',
},
{
name: 'donotphone',
},
{
name: 'exchangerate',
},
{
name: 'entityimage_url',
},
{
name: 'createman',
},
{
name: 'address2_stateorprovince',
},
{
name: 'description',
},
{
name: 'numberofemployees',
},
{
name: 'address1_city',
},
{
name: 'entityimageid',
},
{
name: 'address2_line3',
},
{
name: 'statuscode',
},
{
name: 'address2_line1',
},
{
name: 'customerid',
},
{
name: 'companyname',
},
{
name: 'versionnumber',
},
{
name: 'qualificationcomments',
},
{
name: 'ownertype',
},
{
name: 'contactname',
},
{
name: 'address2_name',
},
{
name: 'emailaddress1',
},
{
name: 'followemail',
},
{
name: 'address1_country',
},
{
name: 'websiteurl',
},
{
name: 'updatedate',
},
{
name: 'address1_line3',
},
{
name: 'address2_addressid',
},
{
name: 'address1_composite',
},
{
name: 'subject',
},
{
name: 'address1_utcoffset',
},
{
name: 'budgetamount_base',
},
{
name: 'address1_addresstypecode',
},
{
name: 'address2_telephone3',
},
{
name: 'evaluatefit',
},
{
name: 'address1_latitude',
},
{
name: 'address1_telephone3',
},
{
name: 'fullname',
},
{
name: 'estimatedamount_base',
},
{
name: 'budgetstatus',
},
{
name: 'industrycode',
},
{
name: 'address1_line2',
},
{
name: 'initialcommunication',
},
{
name: 'address1_postofficebox',
},
{
name: 'address1_telephone1',
},
{
name: 'revenue',
},
{
name: 'address2_county',
},
{
name: 'stageid',
},
{
name: 'address1_shippingmethodcode',
},
{
name: 'estimatedamount',
},
{
name: 'address1_county',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'lastonholdtime',
},
{
name: 'createdate',
},
{
name: 'teamsfollowed',
},
{
name: 'salutation',
},
{
name: 'address2_shippingmethodcode',
},
{
name: 'address2_latitude',
},
{
name: 'participatesinworkflow',
},
{
name: 'address2_composite',
},
{
name: 'salesstage',
},
{
name: 'donotpostalmail',
},
{
name: 'customername',
},
{
name: 'revenue_base',
},
{
name: 'overriddencreatedon',
},
{
name: 'schedulefollowup_prospect',
},
{
name: 'address2_city',
},
{
name: 'telephone1',
},
{
name: 'ibizprivate',
},
{
name: 'customertype',
},
{
name: 'mobilephone',
},
{
name: 'need',
},
{
name: 'prioritycode',
},
{
name: 'address1_addressid',
},
{
name: 'salesstagecode',
},
{
name: 'importsequencenumber',
},
{
name: 'address2_telephone1',
},
{
name: 'ownerid',
},
{
name: 'middlename',
},
{
name: 'telephone2',
},
{
name: 'purchasetimeframe',
},
{
name: 'leadsourcecode',
},
{
name: 'entityimage_timestamp',
},
{
name: 'preferredcontactmethodcode',
},
{
name: 'entityimage',
},
{
name: 'address2_telephone2',
},
{
name: 'donotsendmm',
},
{
name: 'purchaseprocess',
},
{
name: 'donotbulkemail',
},
{
name: 'sic',
},
{
name: 'donotemail',
},
{
name: 'address2_longitude',
},
{
name: 'confirminterest',
},
{
name: 'address2_postofficebox',
},
{
name: 'statecode',
},
{
name: 'autocreate',
},
{
name: 'address1_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'lastusedincampaign',
},
{
name: 'estimatedclosedate',
},
{
name: 'address2_line2',
},
{
name: 'emailaddress3',
},
{
name: 'pager',
},
{
name: 'address2_upszone',
},
{
name: 'traversedpath',
},
{
name: 'fax',
},
{
name: 'schedulefollowup_qualify',
},
{
name: 'telephone3',
},
{
name: 'processid',
},
{
name: 'emailaddress2',
},
{
name: 'updateman',
},
{
name: 'decisionmaker',
},
{
name: 'ownername',
},
{
name: 'address1_postalcode',
},
{
name: 'address2_postalcode',
},
{
name: 'donotfax',
},
{
name: 'firstname',
},
{
name: 'merged',
},
{
name: 'address2_addresstypecode',
},
{
name: 'address1_upszone',
},
{
name: 'slaname',
},
{
name: 'qualifyingopportunityid',
},
{
name: 'slaid',
},
{
name: 'campaignid',
},
{
name: 'relatedobjectid',
},
{
name: 'transactioncurrencyid',
},
{
name: 'parentaccountid',
},
{
name: 'originatingcaseid',
},
{
name: 'parentcontactid',
},
{
name: 'originatingcasename',
},
{
name: 'qualifyingopportunityname',
},
{
name: 'campaignname',
},
{
name: 'parentcontactname',
},
{
name: 'parentaccountname',
},
{
name: 'relatedobjectname',
},
{
name: 'transactioncurrencyname',
},
]
}
}
\ 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>
......@@ -2419,7 +2419,7 @@
<!--输出实体[COMPETITOR]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-competitor-77-32">
<changeSet author="a_LAB01_e85d8801c" id="tab-competitor-78-32">
<createTable tableName="COMPETITOR">
<column name="ENTITYIMAGE" remarks="" type="VARCHAR(100)">
</column>
......@@ -5805,7 +5805,7 @@
<!--输出实体[LEAD]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-lead-232-70">
<changeSet author="a_LAB01_e85d8801c" id="tab-lead-233-70">
<createTable tableName="LEAD">
<column name="ADDRESS1_FAX" remarks="" type="VARCHAR(50)">
</column>
......@@ -11159,7 +11159,7 @@
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="CHARACTERISTIC" constraintName="DER1N_CHARACTERISTIC__TRANSACT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[COMPETITOR]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-competitor-77-190">
<changeSet author="a_LAB01_e85d8801c" id="fk-competitor-78-190">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="COMPETITOR" constraintName="DER1N_COMPETITOR__TRANSACTIONC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[COMPETITORPRODUCT]外键关系 -->
......@@ -11479,28 +11479,28 @@
</changeSet>
<!--输出实体[LANGUAGELOCALE]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-301">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-301">
<addForeignKeyConstraint baseColumnNames="PARENTACCOUNTID" baseTableName="LEAD" constraintName="DER1N_LEAD__ACCOUNT__PARENTACC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ACCOUNTID" referencedTableName="ACCOUNT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-302">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-302">
<addForeignKeyConstraint baseColumnNames="RELATEDOBJECTID" baseTableName="LEAD" constraintName="DER1N_LEAD__CAMPAIGNRESPONSE__" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ACTIVITYID" referencedTableName="CAMPAIGNRESPONSE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-303">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-303">
<addForeignKeyConstraint baseColumnNames="CAMPAIGNID" baseTableName="LEAD" constraintName="DER1N_LEAD__CAMPAIGN__CAMPAIGN" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CAMPAIGNID" referencedTableName="CAMPAIGN" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-304">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-304">
<addForeignKeyConstraint baseColumnNames="PARENTCONTACTID" baseTableName="LEAD" constraintName="DER1N_LEAD__CONTACT__PARENTCON" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-305">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-305">
<addForeignKeyConstraint baseColumnNames="ORIGINATINGCASEID" baseTableName="LEAD" constraintName="DER1N_LEAD__INCIDENT__ORIGINAT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INCIDENTID" referencedTableName="INCIDENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-306">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-306">
<addForeignKeyConstraint baseColumnNames="QUALIFYINGOPPORTUNITYID" baseTableName="LEAD" constraintName="DER1N_LEAD__OPPORTUNITY__QUALI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="OPPORTUNITYID" referencedTableName="OPPORTUNITY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-307">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-307">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="LEAD" constraintName="DER1N_LEAD__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-232-308">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-233-308">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="LEAD" constraintName="DER1N_LEAD__TRANSACTIONCURRENC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[LEADADDRESS]外键关系 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册