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

xignzi006 发布系统代码

上级 373ef3dc
......@@ -1720,6 +1720,43 @@
}
]
},
{
"srfkey": "Lead__PurchaseProcess",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "0",
"label": "个人",
"text": "个人",
"data":"",
"codename":"Item_0",
"value": "0",
"disabled": false
}
, {
"id": "1",
"label": "委员会",
"text": "委员会",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "2",
"label": "未知",
"text": "未知",
"data":"",
"codename":"Item_2",
"value": "2",
"disabled": false
}
]
},
{
"srfkey": "Invoice__ShippingMethodCode",
"emptytext": "未定义",
......
......@@ -2009,6 +2009,16 @@
"viewtag": "dfc0051ae4813115e03f3d095f8cd7d3",
"memo": ""
},
"leadqualification": {
"title": "授予资格",
"caption": "授予资格",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
"viewname": "LeadQualification",
"viewfilename": "lead-qualification",
"viewtag": "e0705f7fd9afd10e3f38b1ff03edba8b",
"memo": ""
},
"invoicegridview": {
"title": "发票信息",
"caption": "发票",
......
......@@ -1215,7 +1215,7 @@ export interface Lead {
campaignname?: any;
/**
* 潜在顾客的上司
* 识别联系人
*
* @returns {*}
* @memberof Lead
......@@ -1223,7 +1223,7 @@ export interface Lead {
parentcontactname?: any;
/**
* 潜在顾客的上级单位
* 识别客户
*
* @returns {*}
* @memberof Lead
......
......@@ -240,6 +240,12 @@ export default {
"1": "首选客户",
"empty": ""
},
Lead__PurchaseProcess: {
"0": "个人",
"1": "委员会",
"2": "未知",
"empty": ""
},
Invoice__ShippingMethodCode: {
"2": "DHL",
"3": "FedEx",
......
......@@ -240,6 +240,12 @@ export default {
"1": "首选客户",
"empty": "",
},
Lead__PurchaseProcess: {
"0": "个人",
"1": "委员会",
"2": "未知",
"empty": "",
},
Invoice__ShippingMethodCode: {
"2": "DHL",
"3": "FedEx",
......
......@@ -152,8 +152,8 @@ export default {
originatingcasename: "原始案例",
qualifyingopportunityname: "授予商机资格",
campaignname: "源市场活动",
parentcontactname: "潜在顾客的上司",
parentaccountname: "潜在顾客的上级单位",
parentcontactname: "识别联系人",
parentaccountname: "识别客户",
relatedobjectname: "相关市场活动响应",
transactioncurrencyname: "货币",
},
......@@ -206,6 +206,10 @@ export default {
caption: "潜在顾客",
title: "潜在顾客编辑视图",
},
qualification: {
caption: "授予资格",
title: "授予资格",
},
},
quickcreate_form: {
details: {
......@@ -273,6 +277,32 @@ export default {
uiactions: {
},
},
qualification_form: {
details: {
group1: "潜在顾客基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "潜在顾客",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
parentcontactname: "识别联系人",
parentaccountname: "识别客户",
purchasetimeframe: "购买时间范围",
budgetamount: "预算金额",
purchaseprocess: "采购程序",
decisionmaker: "决策者?",
description: "说明",
parentcontactid: "潜在顾客的上司",
parentaccountid: "潜在顾客的上级单位",
leadid: "潜在顾客",
},
uiactions: {
},
},
main_form: {
details: {
group1: "lead基本信息",
......
......@@ -151,8 +151,8 @@ export default {
originatingcasename: "原始案例",
qualifyingopportunityname: "授予商机资格",
campaignname: "源市场活动",
parentcontactname: "潜在顾客的上司",
parentaccountname: "潜在顾客的上级单位",
parentcontactname: "识别联系人",
parentaccountname: "识别客户",
relatedobjectname: "相关市场活动响应",
transactioncurrencyname: "货币",
},
......@@ -205,6 +205,10 @@ export default {
caption: "潜在顾客",
title: "潜在顾客编辑视图",
},
qualification: {
caption: "授予资格",
title: "授予资格",
},
},
quickcreate_form: {
details: {
......@@ -272,6 +276,32 @@ export default {
uiactions: {
},
},
qualification_form: {
details: {
group1: "潜在顾客基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "潜在顾客",
srfmajortext: "姓名",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
parentcontactname: "识别联系人",
parentaccountname: "识别客户",
purchasetimeframe: "购买时间范围",
budgetamount: "预算金额",
purchaseprocess: "采购程序",
decisionmaker: "决策者?",
description: "说明",
parentcontactid: "潜在顾客的上司",
parentaccountid: "潜在顾客的上级单位",
leadid: "潜在顾客",
},
uiactions: {
},
},
main_form: {
details: {
group1: "lead基本信息",
......
......@@ -1728,6 +1728,43 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
},
]
},
{
srfkey: "Lead__PurchaseProcess",
emptytext: "未定义",
"codelisttype":"static",
items: [
{
id: "0",
label: "个人",
text: "个人",
"data":"",
"codename":"Item_0",
value: "0",
disabled: false,
},
{
id: "1",
label: "委员会",
text: "委员会",
"data":"",
"codename":"Item_1",
value: "1",
disabled: false,
},
{
id: "2",
label: "未知",
text: "未知",
"data":"",
"codename":"Item_2",
value: "2",
disabled: false,
},
]
},
{
srfkey: "Invoice__ShippingMethodCode",
emptytext: "未定义",
......
......@@ -1615,6 +1615,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "SalesOrderGridView",
"viewtag": "dfc0051ae4813115e03f3d095f8cd7d3"
},
"leadqualification": {
"title": "授予资格",
"caption": "授予资格",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
"viewname": "LeadQualification",
"viewtag": "e0705f7fd9afd10e3f38b1ff03edba8b"
},
"invoicegridview": {
"title": "发票信息",
"caption": "发票",
......
import { Subject } from 'rxjs';
import { OptionViewBase } from '@/studio-core';
import LeadService from '@/service/lead/lead-service';
import OptionViewEngine from '@engine/view/option-view-engine';
/**
* 授予资格视图基类
*
* @export
* @class LeadQualificationBase
* @extends {OptionViewBase}
*/
export class LeadQualificationBase extends OptionViewBase {
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof LeadQualificationBase
*/
protected appEntityService: LeadService = new LeadService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LeadQualificationBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LeadQualificationBase
*/
protected model: any = {
srfCaption: 'entities.lead.views.qualification.caption',
srfTitle: 'entities.lead.views.qualification.title',
srfSubTitle: 'entities.lead.views.qualification.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LeadQualificationBase
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
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 = 'e0705f7fd9afd10e3f38b1ff03edba8b';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LeadQualificationBase
*/
public engine: OptionViewEngine = new OptionViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof LeadQualificationBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'lead',
majorPSDEField: 'fullname',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadQualificationBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadQualificationBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadQualificationBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="leadqualification" viewTitle="授予资格" class='deoptview lead-qualification'>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Qualification"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
<template slot="footer">
<div class="option-view-footer-actions">
<i-button type='primary' @click="onClickOk.apply(_self, arguments)">{{ containerModel.view_okbtn.text }}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel.apply(_self, arguments)">{{ containerModel.view_cancelbtn.text }}</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
<template src="./lead-qualification.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LeadQualificationBase } from './lead-qualification-base';
import view_form from '@widgets/lead/qualification-form/qualification-form.vue';
/**
* 授予资格视图
*
* @export
* @class LeadQualification
* @extends {LeadQualificationBase}
*/
@Component({
components: {
view_form,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class LeadQualification extends LeadQualificationBase { }
</script>
......@@ -120,14 +120,15 @@ export const PageComponents = {
Vue.component('service-appointment-edit-view', () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'));
Vue.component('contact-grid-view', () => import('@pages/base/contact-grid-view/contact-grid-view.vue'));
Vue.component('product-substitute-edit-view', () => import('@pages/product/product-substitute-edit-view/product-substitute-edit-view.vue'));
Vue.component('activity-pointer-grid-view', () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-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('activity-pointer-grid-view', () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'));
Vue.component('account-pickup-view', () => import('@pages/base/account-pickup-view/account-pickup-view.vue'));
Vue.component('uom-pickup-grid-view', () => import('@pages/base/uom-pickup-grid-view/uom-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('quote-opp-qua-grid-view', () => import('@pages/sales/quote-opp-qua-grid-view/quote-opp-qua-grid-view.vue'));
Vue.component('invoice-info-view', () => import('@pages/finance/invoice-info-view/invoice-info-view.vue'));
Vue.component('contact-by-account', () => import('@pages/base/contact-by-account/contact-by-account.vue'));
Vue.component('lead-qualification', () => import('@pages/sales/lead-qualification/lead-qualification.vue'));
Vue.component('ibiz-list-summary', () => import('@pages/marketing/ibiz-list-summary/ibiz-list-summary.vue'));
Vue.component('sales-literature-item-grid-view', () => import('@pages/sales/sales-literature-item-grid-view/sales-literature-item-grid-view.vue'));
Vue.component('lead-dashboard-view', () => import('@pages/sales/lead-dashboard-view/lead-dashboard-view.vue'));
......
......@@ -3260,32 +3260,32 @@ const router = new Router({
component: () => import('@pages/product/product-substitute-edit-view/product-substitute-edit-view.vue'),
},
{
path: 'activitypointers/:activitypointer?/gridview/:gridview?',
path: 'campaignactivities/:campaignactivity?/byparentkey/:byparentkey?',
meta: {
caption: 'entities.activitypointer.views.gridview.title',
caption: 'entities.campaignactivity.views.byparentkey.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'activitypointers', parameterName: 'activitypointer' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'campaignactivities', parameterName: 'campaignactivity' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
],
requireAuth: true,
},
component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
component: () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'),
},
{
path: 'campaignactivities/:campaignactivity?/byparentkey/:byparentkey?',
path: 'activitypointers/:activitypointer?/gridview/:gridview?',
meta: {
caption: 'entities.campaignactivity.views.byparentkey.title',
caption: 'entities.activitypointer.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaignactivities', parameterName: 'campaignactivity' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
{ pathName: 'activitypointers', parameterName: 'activitypointer' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'),
component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
},
{
path: 'accounts/:account?/pickupview/:pickupview?',
......@@ -3434,6 +3434,66 @@ const router = new Router({
},
component: () => import('@pages/base/contact-by-account/contact-by-account.vue'),
},
{
path: 'accounts/:account?/contacts/:contact?/leads/:lead?/qualification/:qualification?',
meta: {
caption: 'entities.lead.views.qualification.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'qualification', parameterName: 'qualification' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-qualification/lead-qualification.vue'),
},
{
path: 'contacts/:contact?/leads/:lead?/qualification/:qualification?',
meta: {
caption: 'entities.lead.views.qualification.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'qualification', parameterName: 'qualification' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-qualification/lead-qualification.vue'),
},
{
path: 'campaigns/:campaign?/leads/:lead?/qualification/:qualification?',
meta: {
caption: 'entities.lead.views.qualification.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'qualification', parameterName: 'qualification' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-qualification/lead-qualification.vue'),
},
{
path: 'leads/:lead?/qualification/:qualification?',
meta: {
caption: 'entities.lead.views.qualification.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'qualification', parameterName: 'qualification' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-qualification/lead-qualification.vue'),
},
{
path: 'salesliteratures/:salesliterature?/competitorsalesliteratures/:competitorsalesliterature?/sallitcompgridview/:sallitcompgridview?',
meta: {
......
......@@ -471,6 +471,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'e0705f7fd9afd10e3f38b1ff03edba8b',
'bae77557d2f7a7852b634dc5d5a93435',
'b5ff54b0672efd3222a44d81f4e7362e',
],
......@@ -1749,6 +1750,17 @@ export const viewstate: any = {
'e9c822edbc51531e713b561101e783a6',
],
},
{
viewtag: 'e0705f7fd9afd10e3f38b1ff03edba8b',
viewmodule: 'Sales',
viewname: 'LeadQualification',
viewaction: '',
viewdatachange: false,
refviews: [
'b6b6215e439e78cdf6959b6f45bd7927',
'29bfcd628ab25e297248ff0524d12908',
],
},
{
viewtag: 'e0aef8c0d1f1ae28f628a0541b118961',
viewmodule: 'Finance',
......
......@@ -91,6 +91,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(':',{viewname:'qualification',srfappde:'leads'});
}
/**
......@@ -374,7 +375,8 @@ export default class LeadUIServiceBase extends UIService {
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async Lead_Qualification(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
public async Lead_Qualification(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
......@@ -396,34 +398,37 @@ export default class LeadUIServiceBase extends UIService {
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
let deResParameters: any[] = [];
if(context.campaign && true){
deResParameters = [
{ pathName: 'campaigns', parameterName: 'campaign' },
]
}
const backend = () => {
const curService:LeadService = new LeadService();
curService.Qualification(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '授予资格成功!' });
const _this: any = actionContext;
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return response;
});
};
backend();
const parameters: any[] = [
{ pathName: 'leads', parameterName: 'lead' },
];
const openPopOver = (view: any, data: any) => {
let container: Subject<any> = actionContext.$apppopover.openPop($event, view, context,data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
const _this: any = actionContext;
if(window.opener){
window.opener.postMessage({status:'OK',identification:'WF'},Environment.uniteAddress);
window.close();
}
return result.datas;
});
}
const view: any = {
viewname: 'lead-qualification',
height: 0,
width: 450,
title: actionContext.$t('entities.lead.views.qualification.title'),
placement: 'POPOVER',
};
openPopOver(view, data);
}
/**
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import LeadService from '@/service/lead/lead-service';
import QualificationService from './qualification-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {QualificationEditFormBase}
*/
export class QualificationEditFormBase extends EditFormControlBase {
/**
* 建构部件服务对象
*
* @type {QualificationService}
* @memberof QualificationEditFormBase
*/
public service: QualificationService = new QualificationService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof QualificationEditFormBase
*/
public appEntityService: LeadService = new LeadService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof QualificationEditFormBase
*/
protected appDeName: string = 'lead';
/**
* 表单数据对象
*
* @type {*}
* @memberof QualificationEditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
parentcontactname: null,
parentaccountname: null,
purchasetimeframe: null,
budgetamount: null,
purchaseprocess: null,
decisionmaker: null,
description: null,
parentcontactid: null,
parentaccountid: null,
leadid: null,
lead:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof QualificationEditFormBase
*/
public rules: any = {
}
/**
* 详情模型集合
*
* @type {*}
* @memberof QualificationEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: '潜在顾客基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, uiActionGroup: { caption: '', langbase: 'entities.lead.qualification_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 0 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '潜在顾客', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 1 }),
srfmajortext: new FormItemModel({ caption: '姓名', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
parentcontactname: new FormItemModel({ caption: '识别联系人', detailType: 'FORMITEM', name: 'parentcontactname', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
parentaccountname: new FormItemModel({ caption: '识别客户', detailType: 'FORMITEM', name: 'parentaccountname', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
purchasetimeframe: new FormItemModel({ caption: '购买时间范围', detailType: 'FORMITEM', name: 'purchasetimeframe', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
budgetamount: new FormItemModel({ caption: '预算金额', detailType: 'FORMITEM', name: 'budgetamount', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
purchaseprocess: new FormItemModel({ caption: '采购程序', detailType: 'FORMITEM', name: 'purchaseprocess', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
decisionmaker: new FormItemModel({ caption: '决策者?', detailType: 'FORMITEM', name: 'decisionmaker', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
description: new FormItemModel({ caption: '说明', detailType: 'FORMITEM', name: 'description', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
parentcontactid: new FormItemModel({ caption: '潜在顾客的上司', detailType: 'FORMITEM', name: 'parentcontactid', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
parentaccountid: new FormItemModel({ caption: '潜在顾客的上级单位', detailType: 'FORMITEM', name: 'parentaccountid', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 }),
leadid: new FormItemModel({ caption: '潜在顾客', detailType: 'FORMITEM', name: 'leadid', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 1 }),
};
}
\ No newline at end of file
/**
* Qualification 部件模型
*
* @export
* @class QualificationModel
*/
export default class QualificationModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof QualificationModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'leadid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'fullname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'parentcontactname',
prop: 'parentcontactname',
dataType: 'PICKUPTEXT',
},
{
name: 'parentaccountname',
prop: 'parentaccountname',
dataType: 'PICKUPTEXT',
},
{
name: 'purchasetimeframe',
prop: 'purchasetimeframe',
dataType: 'SSCODELIST',
},
{
name: 'budgetamount',
prop: 'budgetamount',
dataType: 'BIGDECIMAL',
},
{
name: 'purchaseprocess',
prop: 'purchaseprocess',
dataType: 'SSCODELIST',
},
{
name: 'decisionmaker',
prop: 'decisionmaker',
dataType: 'YESNO',
},
{
name: 'description',
prop: 'description',
dataType: 'TEXT',
},
{
name: 'parentcontactid',
prop: 'parentcontactid',
dataType: 'PICKUP',
},
{
name: 'parentaccountid',
prop: 'parentaccountid',
dataType: 'PICKUP',
},
{
name: 'leadid',
prop: 'leadid',
dataType: 'GUID',
},
{
name: 'lead',
prop: 'leadid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='lead_qualification' style="">
<input style="display:none;" />
<row >
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.lead.qualification_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<row>
<i-col v-show="detailsModel.parentcontactname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='parentcontactname' :itemRules="this.rules.parentcontactname" class='' :caption="$t('entities.lead.qualification_form.details.parentcontactname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.parentcontactname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.parentcontactname.disabled"
name='parentcontactname'
deMajorField='fullname'
deKeyField='contact'
:service="service"
:acParams="{ serviceName: 'ContactService', interfaceName: 'FetchDefault'}"
valueitem='parentcontactid'
:value="data.parentcontactname"
editortype=""
:pickupView="{ viewname: 'contact-pickup-view', title: $t('entities.contact.views.pickupview.title'), deResParameters: [{ pathName: 'accounts', parameterName: 'account' }, ], parameters: [{ pathName: 'contacts', parameterName: 'contact' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange($event)">
</app-picker>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.parentaccountname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='parentaccountname' :itemRules="this.rules.parentaccountname" class='' :caption="$t('entities.lead.qualification_form.details.parentaccountname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.parentaccountname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.parentaccountname.disabled"
name='parentaccountname'
deMajorField='accountname'
deKeyField='account'
:service="service"
:acParams="{ serviceName: 'AccountService', interfaceName: 'FetchDefault'}"
valueitem='parentaccountid'
:value="data.parentaccountname"
editortype=""
:pickupView="{ viewname: 'account-pickup-view', title: $t('entities.account.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'accounts', parameterName: 'account' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange($event)">
</app-picker>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.purchasetimeframe.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='purchasetimeframe' :itemRules="this.rules.purchasetimeframe" class='' :caption="$t('entities.lead.qualification_form.details.purchasetimeframe')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.purchasetimeframe.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.purchasetimeframe"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.purchasetimeframe.disabled"
tag='Lead__PurchaseTimeFrame'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.budgetamount.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='budgetamount' :itemRules="this.rules.budgetamount" class='' :caption="$t('entities.lead.qualification_form.details.budgetamount')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.budgetamount.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.budgetamount" @enter="onEnter($event)" unit="" :disabled="detailsModel.budgetamount.disabled" type='number' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.purchaseprocess.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='purchaseprocess' :itemRules="this.rules.purchaseprocess" class='' :caption="$t('entities.lead.qualification_form.details.purchaseprocess')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.purchaseprocess.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.purchaseprocess"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.purchaseprocess.disabled"
tag='Lead__PurchaseProcess'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.decisionmaker.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='decisionmaker' :itemRules="this.rules.decisionmaker" class='' :caption="$t('entities.lead.qualification_form.details.decisionmaker')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.decisionmaker.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.decisionmaker"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.decisionmaker.disabled"
style="width:100px;width: 100px;"
tag='YesNo'
codelistType='STATIC'
placeholder='请选择...'>
</dropdown-list>
</app-form-item>
</i-col>
<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.lead.qualification_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.description" @enter="onEnter($event)" unit="" :disabled="detailsModel.description.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
<template src="./qualification-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { QualificationEditFormBase } from './qualification-form-base';
/**
* form部件
*
* @export
* @class QualificationEditForm
* @extends {QualificationEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class QualificationEditForm extends QualificationEditFormBase { }
</script>
......@@ -1175,14 +1175,14 @@ public class Lead extends EntityMP implements Serializable {
@JsonProperty("campaignname")
private String campaignname;
/**
* 潜在顾客的上司
* 识别联系人
*/
@TableField(value = "parentcontactname")
@JSONField(name = "parentcontactname")
@JsonProperty("parentcontactname")
private String parentcontactname;
/**
* 潜在顾客的上级单位
* 识别客户
*/
@TableField(value = "parentaccountname")
@JSONField(name = "parentaccountname")
......@@ -2498,7 +2498,7 @@ public class Lead extends EntityMP implements Serializable {
}
/**
* 设置 [潜在顾客的上司]
* 设置 [识别联系人]
*/
public void setParentcontactname(String parentcontactname){
this.parentcontactname = parentcontactname ;
......@@ -2506,7 +2506,7 @@ public class Lead extends EntityMP implements Serializable {
}
/**
* 设置 [潜在顾客的上级单位]
* 设置 [识别客户]
*/
public void setParentaccountname(String parentaccountname){
this.parentaccountname = parentaccountname ;
......
......@@ -258,28 +258,28 @@ public class LeadSearchContext extends QueryWrapperContext<Lead> {
this.getSearchCond().like("campaignname", n_campaignname_like);
}
}
private String n_parentcontactname_eq;//[潜在顾客的上司]
private String n_parentcontactname_eq;//[识别联系人]
public void setN_parentcontactname_eq(String n_parentcontactname_eq) {
this.n_parentcontactname_eq = n_parentcontactname_eq;
if(!ObjectUtils.isEmpty(this.n_parentcontactname_eq)){
this.getSearchCond().eq("parentcontactname", n_parentcontactname_eq);
}
}
private String n_parentcontactname_like;//[潜在顾客的上司]
private String n_parentcontactname_like;//[识别联系人]
public void setN_parentcontactname_like(String n_parentcontactname_like) {
this.n_parentcontactname_like = n_parentcontactname_like;
if(!ObjectUtils.isEmpty(this.n_parentcontactname_like)){
this.getSearchCond().like("parentcontactname", n_parentcontactname_like);
}
}
private String n_parentaccountname_eq;//[潜在顾客的上级单位]
private String n_parentaccountname_eq;//[识别客户]
public void setN_parentaccountname_eq(String n_parentaccountname_eq) {
this.n_parentaccountname_eq = n_parentaccountname_eq;
if(!ObjectUtils.isEmpty(this.n_parentaccountname_eq)){
this.getSearchCond().eq("parentaccountname", n_parentaccountname_eq);
}
}
private String n_parentaccountname_like;//[潜在顾客的上级单位]
private String n_parentaccountname_like;//[识别客户]
public void setN_parentaccountname_like(String n_parentaccountname_like) {
this.n_parentaccountname_like = n_parentaccountname_like;
if(!ObjectUtils.isEmpty(this.n_parentaccountname_like)){
......
......@@ -6589,7 +6589,7 @@
<!--输出实体[LEAD]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-lead-128-79">
<changeSet author="a_LAB01_e85d8801c" id="tab-lead-139-79">
<createTable tableName="LEAD">
<column name="ADDRESS1_FAX" remarks="" type="VARCHAR(50)">
</column>
......@@ -11528,28 +11528,28 @@
</changeSet>
<!--输出实体[METRIC]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-128-322">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-322">
<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-128-323">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-323">
<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-128-324">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-324">
<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-128-325">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-325">
<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-128-326">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-326">
<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-128-327">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-327">
<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-128-328">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-328">
<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-128-329">
<changeSet author="a_LAB01_e85d8801c" id="fk-lead-139-329">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="LEAD" constraintName="DER1N_LEAD__TRANSACTIONCURRENC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[TERRITORY]外键关系 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册