Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
b56ff0ae
提交
b56ff0ae
编写于
7月 06, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
373ef3dc
变更
29
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
1819 行增加
和
585 行删除
+1819
-585
data-dictionary.json
app_CRM/public/assets/json/data-dictionary.json
+37
-0
view-config.json
app_CRM/public/assets/json/view-config.json
+10
-0
lead.ts
app_CRM/src/interface/entity/lead.ts
+2
-2
codelist_en_US.ts
app_CRM/src/locale/lanres/codelist/codelist_en_US.ts
+6
-0
codelist_zh_CN.ts
app_CRM/src/locale/lanres/codelist/codelist_zh_CN.ts
+6
-0
lead_en_US.ts
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
+32
-2
lead_zh_CN.ts
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
+32
-2
codelist.ts
app_CRM/src/mock/codelist/codelist.ts
+37
-0
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+8
-0
lead-qualification-base.tsx
...ages/sales/lead-qualification/lead-qualification-base.tsx
+135
-0
lead-qualification.html
...rc/pages/sales/lead-qualification/lead-qualification.html
+31
-0
lead-qualification.vue
...src/pages/sales/lead-qualification/lead-qualification.vue
+28
-0
page-register.ts
app_CRM/src/pages/ungroup/central/page-register.ts
+2
-1
router.ts
app_CRM/src/pages/ungroup/central/router.ts
+70
-10
campaign-service-base.ts
app_CRM/src/service/campaign/campaign-service-base.ts
+41
-41
contact-service-base.ts
app_CRM/src/service/contact/contact-service-base.ts
+163
-163
ibiz-list-service-base.ts
app_CRM/src/service/ibiz-list/ibiz-list-service-base.ts
+50
-50
opportunity-service-base.ts
app_CRM/src/service/opportunity/opportunity-service-base.ts
+219
-219
product-service-base.ts
app_CRM/src/service/product/product-service-base.ts
+50
-50
state.ts
app_CRM/src/store/modules/view-action/state.ts
+12
-0
lead-ui-service-base.ts
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
+33
-28
qualification-form-base.tsx
...dgets/lead/qualification-form/qualification-form-base.tsx
+128
-0
qualification-form-model.ts
...dgets/lead/qualification-form/qualification-form-model.ts
+116
-0
qualification-form-service.ts
...ets/lead/qualification-form/qualification-form-service.ts
+395
-0
qualification-form.html
...c/widgets/lead/qualification-form/qualification-form.html
+137
-0
qualification-form.vue
...rc/widgets/lead/qualification-form/qualification-form.vue
+22
-0
Lead.java
...va/cn/ibizlab/businesscentral/core/sales/domain/Lead.java
+4
-4
LeadSearchContext.java
.../businesscentral/core/sales/filter/LeadSearchContext.java
+4
-4
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+9
-9
未找到文件。
app_CRM/public/assets/json/data-dictionary.json
浏览文件 @
b56ff0ae
...
@@ -1720,6 +1720,43 @@
...
@@ -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"
,
"srfkey"
:
"Invoice__ShippingMethodCode"
,
"emptytext"
:
"未定义"
,
"emptytext"
:
"未定义"
,
...
...
app_CRM/public/assets/json/view-config.json
浏览文件 @
b56ff0ae
...
@@ -2009,6 +2009,16 @@
...
@@ -2009,6 +2009,16 @@
"viewtag"
:
"dfc0051ae4813115e03f3d095f8cd7d3"
,
"viewtag"
:
"dfc0051ae4813115e03f3d095f8cd7d3"
,
"memo"
:
""
"memo"
:
""
},
},
"leadqualification"
:
{
"title"
:
"授予资格"
,
"caption"
:
"授予资格"
,
"viewtype"
:
"DEOPTVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadQualification"
,
"viewfilename"
:
"lead-qualification"
,
"viewtag"
:
"e0705f7fd9afd10e3f38b1ff03edba8b"
,
"memo"
:
""
},
"invoicegridview"
:
{
"invoicegridview"
:
{
"title"
:
"发票信息"
,
"title"
:
"发票信息"
,
"caption"
:
"发票"
,
"caption"
:
"发票"
,
...
...
app_CRM/src/interface/entity/lead.ts
浏览文件 @
b56ff0ae
...
@@ -1215,7 +1215,7 @@ export interface Lead {
...
@@ -1215,7 +1215,7 @@ export interface Lead {
campaignname
?:
any
;
campaignname
?:
any
;
/**
/**
*
潜在顾客的上司
*
识别联系人
*
*
* @returns {*}
* @returns {*}
* @memberof Lead
* @memberof Lead
...
@@ -1223,7 +1223,7 @@ export interface Lead {
...
@@ -1223,7 +1223,7 @@ export interface Lead {
parentcontactname
?:
any
;
parentcontactname
?:
any
;
/**
/**
*
潜在顾客的上级单位
*
识别客户
*
*
* @returns {*}
* @returns {*}
* @memberof Lead
* @memberof Lead
...
...
app_CRM/src/locale/lanres/codelist/codelist_en_US.ts
浏览文件 @
b56ff0ae
...
@@ -240,6 +240,12 @@ export default {
...
@@ -240,6 +240,12 @@ export default {
"1"
:
"首选客户"
,
"1"
:
"首选客户"
,
"empty"
:
""
"empty"
:
""
},
},
Lead__PurchaseProcess
:
{
"0"
:
"个人"
,
"1"
:
"委员会"
,
"2"
:
"未知"
,
"empty"
:
""
},
Invoice__ShippingMethodCode
:
{
Invoice__ShippingMethodCode
:
{
"2"
:
"DHL"
,
"2"
:
"DHL"
,
"3"
:
"FedEx"
,
"3"
:
"FedEx"
,
...
...
app_CRM/src/locale/lanres/codelist/codelist_zh_CN.ts
浏览文件 @
b56ff0ae
...
@@ -240,6 +240,12 @@ export default {
...
@@ -240,6 +240,12 @@ export default {
"1"
:
"首选客户"
,
"1"
:
"首选客户"
,
"empty"
:
""
,
"empty"
:
""
,
},
},
Lead__PurchaseProcess
:
{
"0"
:
"个人"
,
"1"
:
"委员会"
,
"2"
:
"未知"
,
"empty"
:
""
,
},
Invoice__ShippingMethodCode
:
{
Invoice__ShippingMethodCode
:
{
"2"
:
"DHL"
,
"2"
:
"DHL"
,
"3"
:
"FedEx"
,
"3"
:
"FedEx"
,
...
...
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
浏览文件 @
b56ff0ae
...
@@ -152,8 +152,8 @@ export default {
...
@@ -152,8 +152,8 @@ export default {
originatingcasename
:
"原始案例"
,
originatingcasename
:
"原始案例"
,
qualifyingopportunityname
:
"授予商机资格"
,
qualifyingopportunityname
:
"授予商机资格"
,
campaignname
:
"源市场活动"
,
campaignname
:
"源市场活动"
,
parentcontactname
:
"
潜在顾客的上司
"
,
parentcontactname
:
"
识别联系人
"
,
parentaccountname
:
"
潜在顾客的上级单位
"
,
parentaccountname
:
"
识别客户
"
,
relatedobjectname
:
"相关市场活动响应"
,
relatedobjectname
:
"相关市场活动响应"
,
transactioncurrencyname
:
"货币"
,
transactioncurrencyname
:
"货币"
,
},
},
...
@@ -206,6 +206,10 @@ export default {
...
@@ -206,6 +206,10 @@ export default {
caption
:
"潜在顾客"
,
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
title
:
"潜在顾客编辑视图"
,
},
},
qualification
:
{
caption
:
"授予资格"
,
title
:
"授予资格"
,
},
},
},
quickcreate_form
:
{
quickcreate_form
:
{
details
:
{
details
:
{
...
@@ -273,6 +277,32 @@ export default {
...
@@ -273,6 +277,32 @@ export default {
uiactions
:
{
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
:
{
main_form
:
{
details
:
{
details
:
{
group1
:
"lead基本信息"
,
group1
:
"lead基本信息"
,
...
...
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
浏览文件 @
b56ff0ae
...
@@ -151,8 +151,8 @@ export default {
...
@@ -151,8 +151,8 @@ export default {
originatingcasename
:
"原始案例"
,
originatingcasename
:
"原始案例"
,
qualifyingopportunityname
:
"授予商机资格"
,
qualifyingopportunityname
:
"授予商机资格"
,
campaignname
:
"源市场活动"
,
campaignname
:
"源市场活动"
,
parentcontactname
:
"
潜在顾客的上司
"
,
parentcontactname
:
"
识别联系人
"
,
parentaccountname
:
"
潜在顾客的上级单位
"
,
parentaccountname
:
"
识别客户
"
,
relatedobjectname
:
"相关市场活动响应"
,
relatedobjectname
:
"相关市场活动响应"
,
transactioncurrencyname
:
"货币"
,
transactioncurrencyname
:
"货币"
,
},
},
...
@@ -205,6 +205,10 @@ export default {
...
@@ -205,6 +205,10 @@ export default {
caption
:
"潜在顾客"
,
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
title
:
"潜在顾客编辑视图"
,
},
},
qualification
:
{
caption
:
"授予资格"
,
title
:
"授予资格"
,
},
},
},
quickcreate_form
:
{
quickcreate_form
:
{
details
:
{
details
:
{
...
@@ -272,6 +276,32 @@ export default {
...
@@ -272,6 +276,32 @@ export default {
uiactions
:
{
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
:
{
main_form
:
{
details
:
{
details
:
{
group1
:
"lead基本信息"
,
group1
:
"lead基本信息"
,
...
...
app_CRM/src/mock/codelist/codelist.ts
浏览文件 @
b56ff0ae
...
@@ -1728,6 +1728,43 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
...
@@ -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"
,
srfkey
:
"Invoice__ShippingMethodCode"
,
emptytext
:
"未定义"
,
emptytext
:
"未定义"
,
...
...
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
b56ff0ae
...
@@ -1615,6 +1615,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -1615,6 +1615,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"SalesOrderGridView"
,
"viewname"
:
"SalesOrderGridView"
,
"viewtag"
:
"dfc0051ae4813115e03f3d095f8cd7d3"
"viewtag"
:
"dfc0051ae4813115e03f3d095f8cd7d3"
},
},
"leadqualification"
:
{
"title"
:
"授予资格"
,
"caption"
:
"授予资格"
,
"viewtype"
:
"DEOPTVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadQualification"
,
"viewtag"
:
"e0705f7fd9afd10e3f38b1ff03edba8b"
},
"invoicegridview"
:
{
"invoicegridview"
:
{
"title"
:
"发票信息"
,
"title"
:
"发票信息"
,
"caption"
:
"发票"
,
"caption"
:
"发票"
,
...
...
app_CRM/src/pages/sales/lead-qualification/lead-qualification-base.tsx
0 → 100644
浏览文件 @
b56ff0ae
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
app_CRM/src/pages/sales/lead-qualification/lead-qualification.html
0 → 100644
浏览文件 @
b56ff0ae
<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>
<i-button
@
click=
"onClickCancel.apply(_self, arguments)"
>
{{ containerModel.view_cancelbtn.text }}
</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/lead-qualification/lead-qualification.vue
0 → 100644
浏览文件 @
b56ff0ae
<
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>
app_CRM/src/pages/ungroup/central/page-register.ts
浏览文件 @
b56ff0ae
...
@@ -120,14 +120,15 @@ export const PageComponents = {
...
@@ -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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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
(
'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'
));
Vue
.
component
(
'lead-dashboard-view'
,
()
=>
import
(
'@pages/sales/lead-dashboard-view/lead-dashboard-view.vue'
));
...
...
app_CRM/src/pages/ungroup/central/router.ts
浏览文件 @
b56ff0ae
...
@@ -3260,32 +3260,32 @@ const router = new Router({
...
@@ -3260,32 +3260,32 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/product/product-substitute-edit-view/product-substitute-edit-view.vue'
),
component
:
()
=>
import
(
'@pages/product/product-substitute-edit-view/product-substitute-edit-view.vue'
),
},
},
{
{
path
:
'
activitypointers/:activitypointer?/gridview/:gridview
?'
,
path
:
'
campaignactivities/:campaignactivity?/byparentkey/:byparentkey
?'
,
meta
:
{
meta
:
{
caption
:
'entities.
activitypointer.views.gridview
.title'
,
caption
:
'entities.
campaignactivity.views.byparentkey
.title'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
activitypointers'
,
parameterName
:
'activitypointer
'
},
{
pathName
:
'
campaignactivities'
,
parameterName
:
'campaignactivity
'
},
{
pathName
:
'
gridview'
,
parameterName
:
'gridview
'
},
{
pathName
:
'
byparentkey'
,
parameterName
:
'byparentkey
'
},
],
],
requireAuth
:
true
,
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
:
{
meta
:
{
caption
:
'entities.
campaignactivity.views.byparentkey
.title'
,
caption
:
'entities.
activitypointer.views.gridview
.title'
,
info
:
''
,
info
:
''
,
parameters
:
[
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
campaignactivities'
,
parameterName
:
'campaignactivity
'
},
{
pathName
:
'
activitypointers'
,
parameterName
:
'activitypointer
'
},
{
pathName
:
'
byparentkey'
,
parameterName
:
'byparentkey
'
},
{
pathName
:
'
gridview'
,
parameterName
:
'gridview
'
},
],
],
requireAuth
:
true
,
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?'
,
path
:
'accounts/:account?/pickupview/:pickupview?'
,
...
@@ -3434,6 +3434,66 @@ const router = new Router({
...
@@ -3434,6 +3434,66 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/base/contact-by-account/contact-by-account.vue'
),
component
:
()
=>
import
(
'@pages/base/contact-by-account/contact-by-account.vue'
),
},
},
{
path
:
'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?'
,
path
:
'salesliteratures/:salesliterature?/competitorsalesliteratures/:competitorsalesliterature?/sallitcompgridview/:sallitcompgridview?'
,
meta
:
{
meta
:
{
...
...
app_CRM/src/service/campaign/campaign-service-base.ts
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/service/contact/contact-service-base.ts
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/service/ibiz-list/ibiz-list-service-base.ts
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/service/opportunity/opportunity-service-base.ts
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/service/product/product-service-base.ts
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
b56ff0ae
...
@@ -471,6 +471,7 @@ export const viewstate: any = {
...
@@ -471,6 +471,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewaction
:
''
,
viewdatachange
:
false
,
viewdatachange
:
false
,
refviews
:
[
refviews
:
[
'e0705f7fd9afd10e3f38b1ff03edba8b'
,
'bae77557d2f7a7852b634dc5d5a93435'
,
'bae77557d2f7a7852b634dc5d5a93435'
,
'b5ff54b0672efd3222a44d81f4e7362e'
,
'b5ff54b0672efd3222a44d81f4e7362e'
,
],
],
...
@@ -1749,6 +1750,17 @@ export const viewstate: any = {
...
@@ -1749,6 +1750,17 @@ export const viewstate: any = {
'e9c822edbc51531e713b561101e783a6'
,
'e9c822edbc51531e713b561101e783a6'
,
],
],
},
},
{
viewtag
:
'e0705f7fd9afd10e3f38b1ff03edba8b'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadQualification'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'b6b6215e439e78cdf6959b6f45bd7927'
,
'29bfcd628ab25e297248ff0524d12908'
,
],
},
{
{
viewtag
:
'e0aef8c0d1f1ae28f628a0541b118961'
,
viewtag
:
'e0aef8c0d1f1ae28f628a0541b118961'
,
viewmodule
:
'Finance'
,
viewmodule
:
'Finance'
,
...
...
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
浏览文件 @
b56ff0ae
...
@@ -91,6 +91,7 @@ export default class LeadUIServiceBase extends UIService {
...
@@ -91,6 +91,7 @@ export default class LeadUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_company'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_company'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'dashboardview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'dashboardview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_detail'
,
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 {
...
@@ -374,7 +375,8 @@ export default class LeadUIServiceBase extends UIService {
* @param {*} [srfParentDeName] 父实体名称
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
* @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
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
let
parentViewParam
:
any
=
{};
...
@@ -396,34 +398,37 @@ export default class LeadUIServiceBase extends UIService {
...
@@ -396,34 +398,37 @@ export default class LeadUIServiceBase extends UIService {
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
let
deResParameters
:
any
[]
=
[];
if
(
context
&&
context
.
srfsessionid
){
if
(
context
.
campaign
&&
true
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
deResParameters
=
[
delete
context
.
srfsessionid
;
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
]
}
}
const
backend
=
()
=>
{
const
parameters
:
any
[]
=
[
const
curService
:
LeadService
=
new
LeadService
();
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
curService
.
Qualification
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
];
if
(
!
response
||
response
.
status
!==
200
)
{
const
openPopOver
=
(
view
:
any
,
data
:
any
)
=>
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
let
container
:
Subject
<
any
>
=
actionContext
.
$apppopover
.
openPop
(
$event
,
view
,
context
,
data
);
return
;
container
.
subscribe
((
result
:
any
)
=>
{
}
if
(
!
result
||
!
Object
.
is
(
result
.
ret
,
'OK'
))
{
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'授予资格成功!'
});
return
;
}
const
_this
:
any
=
actionContext
;
const
_this
:
any
=
actionContext
;
return
response
;
if
(
window
.
opener
){
}).
catch
((
response
:
any
)
=>
{
window
.
opener
.
postMessage
({
status
:
'OK'
,
identification
:
'WF'
},
Environment
.
uniteAddress
);
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
window
.
close
();
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
}
return
;
return
result
.
datas
;
}
});
if
(
response
.
status
===
401
)
{
}
return
;
const
view
:
any
=
{
}
viewname
:
'lead-qualification'
,
return
response
;
height
:
0
,
});
width
:
450
,
};
title
:
actionContext
.
$t
(
'entities.lead.views.qualification.title'
),
backend
();
placement
:
'POPOVER'
,
};
openPopOver
(
view
,
data
);
}
}
/**
/**
...
...
app_CRM/src/widgets/lead/qualification-form/qualification-form-base.tsx
0 → 100644
浏览文件 @
b56ff0ae
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
app_CRM/src/widgets/lead/qualification-form/qualification-form-model.ts
0 → 100644
浏览文件 @
b56ff0ae
/**
* 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
app_CRM/src/widgets/lead/qualification-form/qualification-form-service.ts
0 → 100644
浏览文件 @
b56ff0ae
此差异已折叠。
点击以展开。
app_CRM/src/widgets/lead/qualification-form/qualification-form.html
0 → 100644
浏览文件 @
b56ff0ae
<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
app_CRM/src/widgets/lead/qualification-form/qualification-form.vue
0 → 100644
浏览文件 @
b56ff0ae
<
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>
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/sales/domain/Lead.java
浏览文件 @
b56ff0ae
...
@@ -1175,14 +1175,14 @@ public class Lead extends EntityMP implements Serializable {
...
@@ -1175,14 +1175,14 @@ public class Lead extends EntityMP implements Serializable {
@JsonProperty
(
"campaignname"
)
@JsonProperty
(
"campaignname"
)
private
String
campaignname
;
private
String
campaignname
;
/**
/**
*
潜在顾客的上司
*
识别联系人
*/
*/
@TableField
(
value
=
"parentcontactname"
)
@TableField
(
value
=
"parentcontactname"
)
@JSONField
(
name
=
"parentcontactname"
)
@JSONField
(
name
=
"parentcontactname"
)
@JsonProperty
(
"parentcontactname"
)
@JsonProperty
(
"parentcontactname"
)
private
String
parentcontactname
;
private
String
parentcontactname
;
/**
/**
*
潜在顾客的上级单位
*
识别客户
*/
*/
@TableField
(
value
=
"parentaccountname"
)
@TableField
(
value
=
"parentaccountname"
)
@JSONField
(
name
=
"parentaccountname"
)
@JSONField
(
name
=
"parentaccountname"
)
...
@@ -2498,7 +2498,7 @@ public class Lead extends EntityMP implements Serializable {
...
@@ -2498,7 +2498,7 @@ public class Lead extends EntityMP implements Serializable {
}
}
/**
/**
* 设置 [
潜在顾客的上司
]
* 设置 [
识别联系人
]
*/
*/
public
void
setParentcontactname
(
String
parentcontactname
){
public
void
setParentcontactname
(
String
parentcontactname
){
this
.
parentcontactname
=
parentcontactname
;
this
.
parentcontactname
=
parentcontactname
;
...
@@ -2506,7 +2506,7 @@ public class Lead extends EntityMP implements Serializable {
...
@@ -2506,7 +2506,7 @@ public class Lead extends EntityMP implements Serializable {
}
}
/**
/**
* 设置 [
潜在顾客的上级单位
]
* 设置 [
识别客户
]
*/
*/
public
void
setParentaccountname
(
String
parentaccountname
){
public
void
setParentaccountname
(
String
parentaccountname
){
this
.
parentaccountname
=
parentaccountname
;
this
.
parentaccountname
=
parentaccountname
;
...
...
businesscentral-core/src/main/java/cn/ibizlab/businesscentral/core/sales/filter/LeadSearchContext.java
浏览文件 @
b56ff0ae
...
@@ -258,28 +258,28 @@ public class LeadSearchContext extends QueryWrapperContext<Lead> {
...
@@ -258,28 +258,28 @@ public class LeadSearchContext extends QueryWrapperContext<Lead> {
this
.
getSearchCond
().
like
(
"campaignname"
,
n_campaignname_like
);
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
)
{
public
void
setN_parentcontactname_eq
(
String
n_parentcontactname_eq
)
{
this
.
n_parentcontactname_eq
=
n_parentcontactname_eq
;
this
.
n_parentcontactname_eq
=
n_parentcontactname_eq
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentcontactname_eq
)){
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentcontactname_eq
)){
this
.
getSearchCond
().
eq
(
"parentcontactname"
,
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
)
{
public
void
setN_parentcontactname_like
(
String
n_parentcontactname_like
)
{
this
.
n_parentcontactname_like
=
n_parentcontactname_like
;
this
.
n_parentcontactname_like
=
n_parentcontactname_like
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentcontactname_like
)){
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentcontactname_like
)){
this
.
getSearchCond
().
like
(
"parentcontactname"
,
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
)
{
public
void
setN_parentaccountname_eq
(
String
n_parentaccountname_eq
)
{
this
.
n_parentaccountname_eq
=
n_parentaccountname_eq
;
this
.
n_parentaccountname_eq
=
n_parentaccountname_eq
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentaccountname_eq
)){
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentaccountname_eq
)){
this
.
getSearchCond
().
eq
(
"parentaccountname"
,
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
)
{
public
void
setN_parentaccountname_like
(
String
n_parentaccountname_like
)
{
this
.
n_parentaccountname_like
=
n_parentaccountname_like
;
this
.
n_parentaccountname_like
=
n_parentaccountname_like
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentaccountname_like
)){
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_parentaccountname_like
)){
...
...
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
b56ff0ae
...
@@ -6589,7 +6589,7 @@
...
@@ -6589,7 +6589,7 @@
<!--输出实体[LEAD]数据结构 -->
<!--输出实体[LEAD]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-1
28
-79"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-1
39
-79"
>
<createTable
tableName=
"LEAD"
>
<createTable
tableName=
"LEAD"
>
<column
name=
"ADDRESS1_FAX"
remarks=
""
type=
"VARCHAR(50)"
>
<column
name=
"ADDRESS1_FAX"
remarks=
""
type=
"VARCHAR(50)"
>
</column>
</column>
...
@@ -11528,28 +11528,28 @@
...
@@ -11528,28 +11528,28 @@
</changeSet>
</changeSet>
<!--输出实体[METRIC]外键关系 -->
<!--输出实体[METRIC]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-322"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-323"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-323"
>
<addForeignKeyConstraint
baseColumnNames=
"RELATEDOBJECTID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__CAMPAIGNRESPONSE__"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACTIVITYID"
referencedTableName=
"CAMPAIGNRESPONSE"
validate=
"true"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-324"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-325"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-326"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-327"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-328"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-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"
/>
<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>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
28
-329"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
39
-329"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[TERRITORY]外键关系 -->
<!--输出实体[TERRITORY]外键关系 -->
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录