Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
5cc9ce8d
提交
5cc9ce8d
编写于
7月 10, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
42abb8f5
变更
34
展开全部
显示空白字符变更
内嵌
并排
正在显示
34 个修改的文件
包含
2105 行增加
和
27 行删除
+2105
-27
view-config.json
app_CRM/public/assets/json/view-config.json
+20
-0
competitor_en_US.ts
...src/locale/lanres/entities/competitor/competitor_en_US.ts
+4
-0
competitor_zh_CN.ts
...src/locale/lanres/entities/competitor/competitor_zh_CN.ts
+4
-0
lead_en_US.ts
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
+4
-0
lead_zh_CN.ts
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
+4
-0
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+16
-0
page-register.ts
app_CRM/src/pages/base/central/page-register.ts
+3
-1
router.ts
app_CRM/src/pages/base/central/router.ts
+99
-10
list-lead-by-list-base.tsx
...es/marketing/list-lead-by-list/list-lead-by-list-base.tsx
+5
-0
competitor-mpickup-view-base.tsx
.../competitor-mpickup-view/competitor-mpickup-view-base.tsx
+188
-0
competitor-mpickup-view.html
...ales/competitor-mpickup-view/competitor-mpickup-view.html
+58
-0
competitor-mpickup-view.vue
...sales/competitor-mpickup-view/competitor-mpickup-view.vue
+22
-0
lead-competitor-competitor-grid-view-base.tsx
...r-grid-view/lead-competitor-competitor-grid-view-base.tsx
+8
-0
lead-competitor-lead-grid-view-base.tsx
...or-lead-grid-view/lead-competitor-lead-grid-view-base.tsx
+8
-0
lead-mpickup-view-base.tsx
.../pages/sales/lead-mpickup-view/lead-mpickup-view-base.tsx
+188
-0
lead-mpickup-view.html
.../src/pages/sales/lead-mpickup-view/lead-mpickup-view.html
+58
-0
lead-mpickup-view.vue
...M/src/pages/sales/lead-mpickup-view/lead-mpickup-view.vue
+22
-0
state.ts
app_CRM/src/store/modules/view-action/state.ts
+25
-0
competitor-ui-service-base.ts
...RM/src/uiservice/competitor/competitor-ui-service-base.ts
+1
-0
lead-ui-service-base.ts
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
+1
-0
mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
...anel/mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
+255
-0
mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
...anel/mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
+265
-0
mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
...el/mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
+11
-0
mpickup-viewpickupviewpanel-pickupviewpanel.html
...iewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.html
+16
-0
mpickup-viewpickupviewpanel-pickupviewpanel.less
...iewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.less
+3
-0
mpickup-viewpickupviewpanel-pickupviewpanel.vue
...viewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue
+22
-0
mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
...anel/mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
+255
-0
mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
...anel/mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
+472
-0
mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
...el/mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
+11
-0
mpickup-viewpickupviewpanel-pickupviewpanel.html
...iewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.html
+16
-0
mpickup-viewpickupviewpanel-pickupviewpanel.less
...iewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.less
+3
-0
mpickup-viewpickupviewpanel-pickupviewpanel.vue
...viewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue
+22
-0
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+11
-11
LeadMapper.xml
...-core/src/main/resources/mapper/sales/lead/LeadMapper.xml
+5
-5
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
5cc9ce8d
...
...
@@ -1339,6 +1339,16 @@
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
,
"memo"
:
"系统自动添加"
},
"competitormpickupview"
:
{
"title"
:
"竞争对手数据多项选择视图"
,
"caption"
:
"竞争对手"
,
"viewtype"
:
"DEMPICKUPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"CompetitorMPickupView"
,
"viewfilename"
:
"competitor-mpickup-view"
,
"viewtag"
:
"6e4d0f1bad865b9d56325f829c6076f6"
,
"memo"
:
"系统自动添加"
},
"opportunitypickupgridview"
:
{
"title"
:
"商机选择表格视图"
,
"caption"
:
"商机"
,
...
...
@@ -2439,6 +2449,16 @@
"viewtag"
:
"cab8702dc3d6cc283eb40a1e07fa72ba"
,
"memo"
:
""
},
"leadmpickupview"
:
{
"title"
:
"潜在顾客数据多项选择视图"
,
"caption"
:
"潜在顾客"
,
"viewtype"
:
"DEMPICKUPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadMPickupView"
,
"viewfilename"
:
"lead-mpickup-view"
,
"viewtag"
:
"cb1041432c36510ea42ab61a406baba2"
,
"memo"
:
"系统自动添加"
},
"connectionrolepickupview"
:
{
"title"
:
"连接角色数据选择视图"
,
"caption"
:
"连接角色"
,
...
...
app_CRM/src/locale/lanres/entities/competitor/competitor_en_US.ts
浏览文件 @
5cc9ce8d
...
...
@@ -96,6 +96,10 @@ export default {
caption
:
"竞争对手"
,
title
:
"竞争对手选择表格视图"
,
},
mpickupview
:
{
caption
:
"竞争对手"
,
title
:
"竞争对手数据多项选择视图"
,
},
edit_datapanelview
:
{
caption
:
"竞争对手"
,
title
:
"头部信息编辑"
,
...
...
app_CRM/src/locale/lanres/entities/competitor/competitor_zh_CN.ts
浏览文件 @
5cc9ce8d
...
...
@@ -95,6 +95,10 @@ export default {
caption
:
"竞争对手"
,
title
:
"竞争对手选择表格视图"
,
},
mpickupview
:
{
caption
:
"竞争对手"
,
title
:
"竞争对手数据多项选择视图"
,
},
edit_datapanelview
:
{
caption
:
"竞争对手"
,
title
:
"头部信息编辑"
,
...
...
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
浏览文件 @
5cc9ce8d
...
...
@@ -217,6 +217,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
mpickupview
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客数据多项选择视图"
,
},
qualification
:
{
caption
:
"授予资格"
,
title
:
"授予资格"
,
...
...
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
浏览文件 @
5cc9ce8d
...
...
@@ -216,6 +216,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
mpickupview
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客数据多项选择视图"
,
},
qualification
:
{
caption
:
"授予资格"
,
title
:
"授予资格"
,
...
...
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
5cc9ce8d
...
...
@@ -1079,6 +1079,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"AccountEditView"
,
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
},
"competitormpickupview"
:
{
"title"
:
"竞争对手数据多项选择视图"
,
"caption"
:
"竞争对手"
,
"viewtype"
:
"DEMPICKUPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"CompetitorMPickupView"
,
"viewtag"
:
"6e4d0f1bad865b9d56325f829c6076f6"
},
"opportunitypickupgridview"
:
{
"title"
:
"商机选择表格视图"
,
"caption"
:
"商机"
,
...
...
@@ -1959,6 +1967,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"GoalQuickCreateView"
,
"viewtag"
:
"cab8702dc3d6cc283eb40a1e07fa72ba"
},
"leadmpickupview"
:
{
"title"
:
"潜在顾客数据多项选择视图"
,
"caption"
:
"潜在顾客"
,
"viewtype"
:
"DEMPICKUPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadMPickupView"
,
"viewtag"
:
"cb1041432c36510ea42ab61a406baba2"
},
"connectionrolepickupview"
:
{
"title"
:
"连接角色数据选择视图"
,
"caption"
:
"连接角色"
,
...
...
app_CRM/src/pages/base/central/page-register.ts
浏览文件 @
5cc9ce8d
...
...
@@ -144,6 +144,7 @@ export const PageComponents = {
Vue
.
component
(
'opportunity-competitor-edit-comp-opp-view'
,
()
=>
import
(
'@pages/sales/opportunity-competitor-edit-comp-opp-view/opportunity-competitor-edit-comp-opp-view.vue'
));
Vue
.
component
(
'lead-pickup-grid-view'
,
()
=>
import
(
'@pages/sales/lead-pickup-grid-view/lead-pickup-grid-view.vue'
));
Vue
.
component
(
'opportunity-pickup-view'
,
()
=>
import
(
'@pages/sales/opportunity-pickup-view/opportunity-pickup-view.vue'
));
Vue
.
component
(
'competitor-mpickup-view'
,
()
=>
import
(
'@pages/sales/competitor-mpickup-view/competitor-mpickup-view.vue'
));
Vue
.
component
(
'ibiz-list-option-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-option-view/ibiz-list-option-view.vue'
));
Vue
.
component
(
'contact-info-abstract'
,
()
=>
import
(
'@pages/base/contact-info-abstract/contact-info-abstract.vue'
));
Vue
.
component
(
'account-edit-data-panel'
,
()
=>
import
(
'@pages/base/account-edit-data-panel/account-edit-data-panel.vue'
));
...
...
@@ -168,11 +169,12 @@ export const PageComponents = {
Vue
.
component
(
'ibiz-list-quick-create'
,
()
=>
import
(
'@pages/marketing/ibiz-list-quick-create/ibiz-list-quick-create.vue'
));
Vue
.
component
(
'opportunity-product-opp-opp-pro-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-product-opp-opp-pro-grid-view/opportunity-product-opp-opp-pro-grid-view.vue'
));
Vue
.
component
(
'contact-tab-exp-view'
,
()
=>
import
(
'@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'
));
Vue
.
component
(
'lead-mpickup-view'
,
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
));
Vue
.
component
(
'product-association-grid-view'
,
()
=>
import
(
'@pages/product/product-association-grid-view/product-association-grid-view.vue'
));
Vue
.
component
(
'transaction-currency-grid-view'
,
()
=>
import
(
'@pages/base/transaction-currency-grid-view/transaction-currency-grid-view.vue'
));
Vue
.
component
(
'appointment-quick-create'
,
()
=>
import
(
'@pages/base/appointment-quick-create/appointment-quick-create.vue'
));
Vue
.
component
(
'account-by-parent-key'
,
()
=>
import
(
'@pages/base/account-by-parent-key/account-by-parent-key.vue'
));
Vue
.
component
(
'incident-customer-pickup-grid-view'
,
()
=>
import
(
'@pages/service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view.vue'
));
Vue
.
component
(
'account-by-parent-key'
,
()
=>
import
(
'@pages/base/account-by-parent-key/account-by-parent-key.vue'
));
Vue
.
component
(
'campaign-response-edit-view'
,
()
=>
import
(
'@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'
));
Vue
.
component
(
'campaign-info'
,
()
=>
import
(
'@pages/marketing/campaign-info/campaign-info.vue'
));
Vue
.
component
(
'product-summary-view'
,
()
=>
import
(
'@pages/product/product-summary-view/product-summary-view.vue'
));
...
...
app_CRM/src/pages/base/central/router.ts
浏览文件 @
5cc9ce8d
...
...
@@ -6391,6 +6391,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/opportunity-pickup-view/opportunity-pickup-view.vue'
),
},
{
path
:
'competitors/:competitor?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.competitor.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'competitors'
,
parameterName
:
'competitor'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/competitor-mpickup-view/competitor-mpickup-view.vue'
),
},
{
path
:
'ibizlists/:ibizlist?/optionview/:optionview?'
,
meta
:
{
...
...
@@ -7529,6 +7543,81 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/leads/:lead?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.lead.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
),
},
{
path
:
'contacts/:contact?/leads/:lead?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.lead.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
),
},
{
path
:
'campaigns/:campaign?/leads/:lead?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.lead.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
),
},
{
path
:
'accounts/:account?/leads/:lead?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.lead.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
),
},
{
path
:
'leads/:lead?/mpickupview/:mpickupview?'
,
meta
:
{
caption
:
'entities.lead.views.mpickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'mpickupview'
,
parameterName
:
'mpickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-mpickup-view/lead-mpickup-view.vue'
),
},
{
path
:
'products/:product?/productassociations/:productassociation?/gridview/:gridview?'
,
meta
:
{
...
...
@@ -7587,32 +7676,32 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/base/appointment-quick-create/appointment-quick-create.vue'
),
},
{
path
:
'
accounts/:account?/byparentkey/:byparentkey
?'
,
path
:
'
incidentcustomers/:incidentcustomer?/pickupgridview/:pickupgridview
?'
,
meta
:
{
caption
:
'entities.
account.views.byparentkey
.title'
,
caption
:
'entities.
incidentcustomer.views.pickupgridview
.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
accounts'
,
parameterName
:
'account
'
},
{
pathName
:
'
byparentkey'
,
parameterName
:
'byparentkey
'
},
{
pathName
:
'
incidentcustomers'
,
parameterName
:
'incidentcustomer
'
},
{
pathName
:
'
pickupgridview'
,
parameterName
:
'pickupgridview
'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
base/account-by-parent-key/account-by-parent-key
.vue'
),
component
:
()
=>
import
(
'@pages/
service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view
.vue'
),
},
{
path
:
'
incidentcustomers/:incidentcustomer?/pickupgridview/:pickupgridview
?'
,
path
:
'
accounts/:account?/byparentkey/:byparentkey
?'
,
meta
:
{
caption
:
'entities.
incidentcustomer.views.pickupgridview
.title'
,
caption
:
'entities.
account.views.byparentkey
.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
incidentcustomers'
,
parameterName
:
'incidentcustomer
'
},
{
pathName
:
'
pickupgridview'
,
parameterName
:
'pickupgridview
'
},
{
pathName
:
'
accounts'
,
parameterName
:
'account
'
},
{
pathName
:
'
byparentkey'
,
parameterName
:
'byparentkey
'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
service/incident-customer-pickup-grid-view/incident-customer-pickup-grid-view
.vue'
),
component
:
()
=>
import
(
'@pages/
base/account-by-parent-key/account-by-parent-key
.vue'
),
},
{
path
:
'campaignresponses/:campaignresponse?/editview/:editview?'
,
...
...
app_CRM/src/pages/marketing/list-lead-by-list/list-lead-by-list-base.tsx
浏览文件 @
5cc9ce8d
...
...
@@ -507,6 +507,11 @@ export class ListLeadByListBase extends GridViewBase {
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
let
batchAddPSAppViews
:
Array
<
any
>=
[];
batchAddPSAppViews
=
[
{
view
:{
viewname
:
'lead-mpickup-view'
,
height
:
0
,
width
:
0
,
title
:
'潜在顾客数据多项选择视图'
},
res
:[
'Lead'
],
'resAppKey'
:
'entity2id'
}
];
if
(
batchAddPSAppViews
.
length
==
0
||
!
this
.
context
.
srfparentdename
){
this
.
$Notice
.
warning
({
title
:
'错误'
,
desc
:
'批量添加需添加N:N关系'
});
return
;
...
...
app_CRM/src/pages/sales/competitor-mpickup-view/competitor-mpickup-view-base.tsx
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Subject
}
from
'rxjs'
;
import
{
MPickupViewBase
}
from
'@/studio-core'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
import
MPickupViewEngine
from
'@engine/view/mpickup-view-engine'
;
/**
* 竞争对手数据多项选择视图视图基类
*
* @export
* @class CompetitorMPickupViewBase
* @extends {MPickupViewBase}
*/
export
class
CompetitorMPickupViewBase
extends
MPickupViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected
appDeName
:
string
=
'competitor'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected
appDeKey
:
string
=
'competitorid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof CompetitorMPickupViewBase
*/
protected
appDeMajor
:
string
=
'competitorname'
;
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof CompetitorMPickupViewBase
*/
protected
appEntityService
:
CompetitorService
=
new
CompetitorService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CompetitorMPickupViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CompetitorMPickupViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.competitor.views.mpickupview.caption'
,
srfTitle
:
'entities.competitor.views.mpickupview.title'
,
srfSubTitle
:
'entities.competitor.views.mpickupview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CompetitorMPickupViewBase
*/
protected
containerModel
:
any
=
{
view_pickupviewpanel
:
{
name
:
'pickupviewpanel'
,
type
:
'PICKUPVIEWPANEL'
},
view_okbtn
:
{
name
:
'okbtn'
,
type
:
'button'
,
text
:
'确定'
,
disabled
:
true
},
view_cancelbtn
:
{
name
:
'cancelbtn'
,
type
:
'button'
,
text
:
'取消'
,
disabled
:
false
},
view_leftbtn
:
{
name
:
'leftbtn'
,
type
:
'button'
,
text
:
'左移'
,
disabled
:
true
},
view_rightbtn
:
{
name
:
'rightbtn'
,
type
:
'button'
,
text
:
'右移'
,
disabled
:
true
},
view_allleftbtn
:
{
name
:
'allleftbtn'
,
type
:
'button'
,
text
:
'全部左移'
,
disabled
:
true
},
view_allrightbtn
:
{
name
:
'allrightbtn'
,
type
:
'button'
,
text
:
'全部右移'
,
disabled
:
true
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'6e4d0f1bad865b9d56325f829c6076f6'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CompetitorMPickupViewBase
*/
public
engine
:
MPickupViewEngine
=
new
MPickupViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof CompetitorMPickupViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
pickupviewpanel
:
this
.
$refs
.
pickupviewpanel
,
keyPSDEField
:
'competitor'
,
majorPSDEField
:
'competitorname'
,
isLoadDefault
:
true
,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public
pickupviewpanel_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
$event
);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public
pickupviewpanel_activated
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'activated'
,
$event
);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof CompetitorMPickupViewBase
*/
public
pickupviewpanel_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'load'
,
$event
);
}
/**
* 添加左侧面板所有数据到右侧
*
* @memberof CompetitorMPickupView
*/
public
onCLickAllRight
():
void
{
Object
.
values
(
this
.
containerModel
).
forEach
((
model
:
any
)
=>
{
if
(
!
Object
.
is
(
model
.
type
,
'PICKUPVIEWPANEL'
))
{
return
;
}
if
(
model
.
datas
.
length
>
0
)
{
model
.
datas
.
forEach
((
data
:
any
,
index
:
any
)
=>
{
Object
.
assign
(
data
,
{
srfmajortext
:
data
[
'competitorname'
]
});
})
}
model
.
datas
.
forEach
((
item
:
any
)
=>
{
const
index
:
number
=
this
.
viewSelections
.
findIndex
((
selection
:
any
)
=>
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
));
if
(
index
===
-
1
)
{
item
.
_select
=
false
;
this
.
viewSelections
.
push
(
item
);
}
});
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
}
\ No newline at end of file
app_CRM/src/pages/sales/competitor-mpickup-view/competitor-mpickup-view.html
0 → 100644
浏览文件 @
5cc9ce8d
<studio-view-style2
viewName=
"competitormpickupview"
viewTitle=
"竞争对手数据多项选择视图"
class=
'dempickupview competitor-mpickup-view'
>
<div
class=
"content-container pickup-view"
>
<div
class=
"translate-contant"
>
<div
class=
"center"
:style=
"{width : !isShowButton ? '100%' : ''}"
>
<view
_pickupviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
name=
"pickupviewpanel"
ref=
'pickupviewpanel'
@
selectionchange=
"pickupviewpanel_selectionchange($event)"
@
activated=
"pickupviewpanel_activated($event)"
@
load=
"pickupviewpanel_load($event)"
@
closeview=
"closeView($event)"
>
</view
_pickupviewpanel
>
</div>
<div
v-if=
"isShowButton"
class=
"translate-buttons"
>
<div
class=
"buttons"
>
<i-button
type=
"primary"
:title=
"this.containerModel.view_rightbtn.text"
:disabled=
"this.containerModel.view_rightbtn.disabled"
@
click=
"onCLickRight.apply(_self, arguments)"
>
<i
class=
"el-icon-arrow-right"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_leftbtn.text"
:disabled=
"this.containerModel.view_leftbtn.disabled"
@
click=
"onCLickLeft.apply(_self, arguments)"
>
<i
class=
"el-icon-arrow-left"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_allrightbtn.text"
@
click=
"onCLickAllRight.apply(_self, arguments)"
>
<i
class=
"el-icon-d-arrow-right"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_allleftbtn.text"
@
click=
"onCLickAllLeft.apply(_self, arguments)"
>
<i
class=
"el-icon-d-arrow-left"
></i>
</i-button>
</div>
</div>
<div
v-if=
"isShowButton"
class=
"right"
>
<div
class=
"mpicker-select"
>
<div
v-for=
"(item, index) in viewSelections"
:key=
"index"
:class=
"item._select ? 'select' : ''"
@
click=
"selectionsClick(item)"
@
dblclick=
"selectionsDBLClick(item)"
>
<span>
{{item.srfmajortext}}
</span>
</div>
</div>
</div>
</div>
</div>
<template
slot=
"footer"
>
<div
v-if=
"isShowButton"
:style=
"{ textAlign: 'right' }"
>
<i-button
type=
"primary"
:disabled=
"this.viewSelections.length > 0 ? false : true"
@
click=
"onClickOk.apply(_self, arguments)"
>
{{this.containerModel.view_okbtn.text}}
</i-button>
<i-button
@
click=
"onClickCancel.apply(_self, arguments)"
>
{{this.containerModel.view_cancelbtn.text}}
</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/competitor-mpickup-view/competitor-mpickup-view.vue
0 → 100644
浏览文件 @
5cc9ce8d
<
template
src=
"./competitor-mpickup-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CompetitorMPickupViewBase } from './competitor-mpickup-view-base';
import view_pickupviewpanel from '@widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 竞争对手数据多项选择视图视图
*
* @export
* @class CompetitorMPickupView
* @extends {CompetitorMPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class CompetitorMPickupView extends CompetitorMPickupViewBase { }
</script>
app_CRM/src/pages/sales/lead-competitor-competitor-grid-view/lead-competitor-competitor-grid-view-base.tsx
浏览文件 @
5cc9ce8d
...
...
@@ -451,6 +451,14 @@ export class LeadCompetitorCompetitorGridViewBase extends GridViewBase {
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
let
batchAddPSAppViews
:
Array
<
any
>=
[];
batchAddPSAppViews
=
[
{
view
:{
viewname
:
'lead-mpickup-view'
,
height
:
0
,
width
:
0
,
title
:
'潜在顾客数据多项选择视图'
},
res
:[
'Lead'
],
'resAppKey'
:
'entityid'
},
{
view
:{
viewname
:
'competitor-mpickup-view'
,
height
:
0
,
width
:
0
,
title
:
'竞争对手数据多项选择视图'
},
res
:[
'Competitor'
],
'resAppKey'
:
'entity2id'
}
];
if
(
batchAddPSAppViews
.
length
==
0
||
!
this
.
context
.
srfparentdename
){
this
.
$Notice
.
warning
({
title
:
'错误'
,
desc
:
'批量添加需添加N:N关系'
});
return
;
...
...
app_CRM/src/pages/sales/lead-competitor-lead-grid-view/lead-competitor-lead-grid-view-base.tsx
浏览文件 @
5cc9ce8d
...
...
@@ -451,6 +451,14 @@ export class LeadCompetitorLeadGridViewBase extends GridViewBase {
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
let
batchAddPSAppViews
:
Array
<
any
>=
[];
batchAddPSAppViews
=
[
{
view
:{
viewname
:
'lead-mpickup-view'
,
height
:
0
,
width
:
0
,
title
:
'潜在顾客数据多项选择视图'
},
res
:[
'Lead'
],
'resAppKey'
:
'entityid'
},
{
view
:{
viewname
:
'competitor-mpickup-view'
,
height
:
0
,
width
:
0
,
title
:
'竞争对手数据多项选择视图'
},
res
:[
'Competitor'
],
'resAppKey'
:
'entity2id'
}
];
if
(
batchAddPSAppViews
.
length
==
0
||
!
this
.
context
.
srfparentdename
){
this
.
$Notice
.
warning
({
title
:
'错误'
,
desc
:
'批量添加需添加N:N关系'
});
return
;
...
...
app_CRM/src/pages/sales/lead-mpickup-view/lead-mpickup-view-base.tsx
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Subject
}
from
'rxjs'
;
import
{
MPickupViewBase
}
from
'@/studio-core'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
MPickupViewEngine
from
'@engine/view/mpickup-view-engine'
;
/**
* 潜在顾客数据多项选择视图视图基类
*
* @export
* @class LeadMPickupViewBase
* @extends {MPickupViewBase}
*/
export
class
LeadMPickupViewBase
extends
MPickupViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected
appDeKey
:
string
=
'leadid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof LeadMPickupViewBase
*/
protected
appDeMajor
:
string
=
'fullname'
;
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof LeadMPickupViewBase
*/
protected
appEntityService
:
LeadService
=
new
LeadService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LeadMPickupViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LeadMPickupViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.lead.views.mpickupview.caption'
,
srfTitle
:
'entities.lead.views.mpickupview.title'
,
srfSubTitle
:
'entities.lead.views.mpickupview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LeadMPickupViewBase
*/
protected
containerModel
:
any
=
{
view_pickupviewpanel
:
{
name
:
'pickupviewpanel'
,
type
:
'PICKUPVIEWPANEL'
},
view_okbtn
:
{
name
:
'okbtn'
,
type
:
'button'
,
text
:
'确定'
,
disabled
:
true
},
view_cancelbtn
:
{
name
:
'cancelbtn'
,
type
:
'button'
,
text
:
'取消'
,
disabled
:
false
},
view_leftbtn
:
{
name
:
'leftbtn'
,
type
:
'button'
,
text
:
'左移'
,
disabled
:
true
},
view_rightbtn
:
{
name
:
'rightbtn'
,
type
:
'button'
,
text
:
'右移'
,
disabled
:
true
},
view_allleftbtn
:
{
name
:
'allleftbtn'
,
type
:
'button'
,
text
:
'全部左移'
,
disabled
:
true
},
view_allrightbtn
:
{
name
:
'allrightbtn'
,
type
:
'button'
,
text
:
'全部右移'
,
disabled
:
true
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'cb1041432c36510ea42ab61a406baba2'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LeadMPickupViewBase
*/
public
engine
:
MPickupViewEngine
=
new
MPickupViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof LeadMPickupViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
pickupviewpanel
:
this
.
$refs
.
pickupviewpanel
,
keyPSDEField
:
'lead'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* pickupviewpanel 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public
pickupviewpanel_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'selectionchange'
,
$event
);
}
/**
* pickupviewpanel 部件 activated 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public
pickupviewpanel_activated
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'activated'
,
$event
);
}
/**
* pickupviewpanel 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadMPickupViewBase
*/
public
pickupviewpanel_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'pickupviewpanel'
,
'load'
,
$event
);
}
/**
* 添加左侧面板所有数据到右侧
*
* @memberof LeadMPickupView
*/
public
onCLickAllRight
():
void
{
Object
.
values
(
this
.
containerModel
).
forEach
((
model
:
any
)
=>
{
if
(
!
Object
.
is
(
model
.
type
,
'PICKUPVIEWPANEL'
))
{
return
;
}
if
(
model
.
datas
.
length
>
0
)
{
model
.
datas
.
forEach
((
data
:
any
,
index
:
any
)
=>
{
Object
.
assign
(
data
,
{
srfmajortext
:
data
[
'fullname'
]
});
})
}
model
.
datas
.
forEach
((
item
:
any
)
=>
{
const
index
:
number
=
this
.
viewSelections
.
findIndex
((
selection
:
any
)
=>
Object
.
is
(
item
.
srfkey
,
selection
.
srfkey
));
if
(
index
===
-
1
)
{
item
.
_select
=
false
;
this
.
viewSelections
.
push
(
item
);
}
});
});
this
.
selectedData
=
JSON
.
stringify
(
this
.
viewSelections
);
}
}
\ No newline at end of file
app_CRM/src/pages/sales/lead-mpickup-view/lead-mpickup-view.html
0 → 100644
浏览文件 @
5cc9ce8d
<studio-view-style2
viewName=
"leadmpickupview"
viewTitle=
"潜在顾客数据多项选择视图"
class=
'dempickupview lead-mpickup-view'
>
<div
class=
"content-container pickup-view"
>
<div
class=
"translate-contant"
>
<div
class=
"center"
:style=
"{width : !isShowButton ? '100%' : ''}"
>
<view
_pickupviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
name=
"pickupviewpanel"
ref=
'pickupviewpanel'
@
selectionchange=
"pickupviewpanel_selectionchange($event)"
@
activated=
"pickupviewpanel_activated($event)"
@
load=
"pickupviewpanel_load($event)"
@
closeview=
"closeView($event)"
>
</view
_pickupviewpanel
>
</div>
<div
v-if=
"isShowButton"
class=
"translate-buttons"
>
<div
class=
"buttons"
>
<i-button
type=
"primary"
:title=
"this.containerModel.view_rightbtn.text"
:disabled=
"this.containerModel.view_rightbtn.disabled"
@
click=
"onCLickRight.apply(_self, arguments)"
>
<i
class=
"el-icon-arrow-right"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_leftbtn.text"
:disabled=
"this.containerModel.view_leftbtn.disabled"
@
click=
"onCLickLeft.apply(_self, arguments)"
>
<i
class=
"el-icon-arrow-left"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_allrightbtn.text"
@
click=
"onCLickAllRight.apply(_self, arguments)"
>
<i
class=
"el-icon-d-arrow-right"
></i>
</i-button>
<i-button
type=
"primary"
:title=
"this.containerModel.view_allleftbtn.text"
@
click=
"onCLickAllLeft.apply(_self, arguments)"
>
<i
class=
"el-icon-d-arrow-left"
></i>
</i-button>
</div>
</div>
<div
v-if=
"isShowButton"
class=
"right"
>
<div
class=
"mpicker-select"
>
<div
v-for=
"(item, index) in viewSelections"
:key=
"index"
:class=
"item._select ? 'select' : ''"
@
click=
"selectionsClick(item)"
@
dblclick=
"selectionsDBLClick(item)"
>
<span>
{{item.srfmajortext}}
</span>
</div>
</div>
</div>
</div>
</div>
<template
slot=
"footer"
>
<div
v-if=
"isShowButton"
:style=
"{ textAlign: 'right' }"
>
<i-button
type=
"primary"
:disabled=
"this.viewSelections.length > 0 ? false : true"
@
click=
"onClickOk.apply(_self, arguments)"
>
{{this.containerModel.view_okbtn.text}}
</i-button>
<i-button
@
click=
"onClickCancel.apply(_self, arguments)"
>
{{this.containerModel.view_cancelbtn.text}}
</i-button>
</div>
</template>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/lead-mpickup-view/lead-mpickup-view.vue
0 → 100644
浏览文件 @
5cc9ce8d
<
template
src=
"./lead-mpickup-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LeadMPickupViewBase } from './lead-mpickup-view-base';
import view_pickupviewpanel from '@widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
/**
* 潜在顾客数据多项选择视图视图
*
* @export
* @class LeadMPickupView
* @extends {LeadMPickupViewBase}
*/
@Component({
components: {
view_pickupviewpanel,
}
})
@VueLifeCycleProcessing()
export default class LeadMPickupView extends LeadMPickupViewBase { }
</script>
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
5cc9ce8d
...
...
@@ -529,6 +529,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'cb1041432c36510ea42ab61a406baba2'
,
'8d3e0363ae4532310000143fd6d61aae'
,
],
},
...
...
@@ -808,6 +809,8 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'6e4d0f1bad865b9d56325f829c6076f6'
,
'cb1041432c36510ea42ab61a406baba2'
,
'3bcf50e94ca826894b625ce946d9d8c8'
,
],
},
...
...
@@ -1244,6 +1247,16 @@ export const viewstate: any = {
'29bfcd628ab25e297248ff0524d12908'
,
],
},
{
viewtag
:
'6e4d0f1bad865b9d56325f829c6076f6'
,
viewmodule
:
'Sales'
,
viewname
:
'CompetitorMPickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'3de13dd6914e2465d23dab68ccea5cae'
,
],
},
{
viewtag
:
'6e866e05730d8c3e03f150a33225307d'
,
viewmodule
:
'Sales'
,
...
...
@@ -1298,6 +1311,8 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'6e4d0f1bad865b9d56325f829c6076f6'
,
'cb1041432c36510ea42ab61a406baba2'
,
'3bcf50e94ca826894b625ce946d9d8c8'
,
],
},
...
...
@@ -2270,6 +2285,16 @@ export const viewstate: any = {
'a17a40c513ec2011425e9d26b6591214'
,
],
},
{
viewtag
:
'cb1041432c36510ea42ab61a406baba2'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadMPickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'7d00f63c306adf3537efeabb3326095d'
,
],
},
{
viewtag
:
'cb6b4a9ddcaced093574bfde38b54723'
,
viewmodule
:
'Runtime'
,
...
...
app_CRM/src/uiservice/competitor/competitor-ui-service-base.ts
浏览文件 @
5cc9ce8d
...
...
@@ -82,6 +82,7 @@ export default class CompetitorUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'optionview'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_abstract'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
'MPICKUPVIEW:'
,{
viewname
:
'mpickupview'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'edit_datapanelview'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'summary'
,
srfappde
:
'competitors'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'competitors'
});
...
...
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
浏览文件 @
5cc9ce8d
...
...
@@ -95,6 +95,7 @@ export default class LeadUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_company'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'dashboardview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_detail'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
'MPICKUPVIEW:'
,{
viewname
:
'mpickupview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'qualification'
,
srfappde
:
'leads'
});
}
...
...
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
CompetitorService
from
'@/service/competitor/competitor-service'
;
import
MPickupViewpickupviewpanelService
from
'./mpickup-viewpickupviewpanel-pickupviewpanel-service'
;
import
MPickupViewpickupviewpanelModel
from
'./mpickup-viewpickupviewpanel-pickupviewpanel-model'
;
/**
* pickupviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
export
class
MPickupViewpickupviewpanelPickupviewpanelBase
extends
MainControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected
controlType
:
string
=
'PICKUPVIEWPANEL'
;
/**
* 建构部件服务对象
*
* @type {MPickupViewpickupviewpanelService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public
service
:
MPickupViewpickupviewpanelService
=
new
MPickupViewpickupviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {CompetitorService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public
appEntityService
:
CompetitorService
=
new
CompetitorService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected
appDeName
:
string
=
'competitor'
;
/**
* 选中数据字符串
*
* @type {string}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MPickupViewpickupviewpanel
*/
public
getData
():
any
{
return
{};
}
/**
* 视图名称
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
view
:
any
=
{
viewname
:
'competitor-pickup-grid-view'
,
data
:
{},
}
/**
* 局部上下文
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 视图数据
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
({
default
:
true
})
public
isShowButton
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 初始化完成
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
public
inited
:
boolean
=
false
;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
onViewDatasChange
(
$event
:
any
):
void
{
if
(
$event
.
length
>
0
){
$event
.
forEach
((
item
:
any
,
index
:
any
)
=>
{
let
srfmajortext
=
item
[
'competitorname'
];
if
(
srfmajortext
){
Object
.
assign
(
$event
[
index
],{
srfmajortext
:
srfmajortext
});
}
});
}
this
.
$emit
(
'selectionchange'
,
$event
);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
viewDatasActivated
(
$event
:
any
):
void
{
this
.
$emit
(
'activated'
,
$event
);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
onViewLoad
(
$event
:
any
):
void
{
this
.
$emit
(
'load'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
Object
.
assign
(
data
,
this
.
viewparams
));
this
.
inited
=
true
;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof MPickupViewpickupviewpanel
*/
public
initNavParam
(){
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
){
let
_context
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localContext
);
Object
.
assign
(
this
.
context
,
_context
);
}
if
(
this
.
localViewParam
&&
Object
.
keys
(
this
.
localViewParam
).
length
>
0
){
let
_param
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localViewParam
);
Object
.
assign
(
this
.
viewparams
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
this
.
viewparams
);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
0 → 100644
浏览文件 @
5cc9ce8d
/**
* MPickupViewpickupviewpanel 部件模型
*
* @export
* @class MPickupViewpickupviewpanelModel
*/
export
default
class
MPickupViewpickupviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'entityimage'
,
},
{
name
:
'createdate'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'winpercentage'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'referenceinfourl'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'reportedrevenue_base'
,
},
{
name
:
'competitor'
,
prop
:
'competitorid'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'overview'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'stageid'
,
},
{
name
:
'reportingyear'
,
},
{
name
:
'reportingquarter'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'opportunities'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'processid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'createman'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'strengths'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'weaknesses'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'name'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'threats'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'reportedrevenue'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'keyproduct'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'competitorname'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* MPickupViewpickupviewpanel 部件服务对象
*
* @export
* @class MPickupViewpickupviewpanelService
*/
export
default
class
MPickupViewpickupviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.html
0 → 100644
浏览文件 @
5cc9ce8d
<div
class=
'pickupviewpanel'
>
<component
v-if=
"inited && view.viewname && !Object.is(view.viewname, '')"
:is=
"view.viewname"
class=
"viewcontainer3"
:viewdata=
"viewdata"
:viewparam=
"viewparam"
:viewDefaultUsage=
"false"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
@
viewdataschange=
"onViewDatasChange.apply(_self, arguments)"
@
viewdatasactivated=
"viewDatasActivated.apply(_self, arguments)"
@
viewload=
"onViewLoad.apply(_self, arguments)"
>
</component>
</div>
\ No newline at end of file
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.less
0 → 100644
浏览文件 @
5cc9ce8d
.pickupviewpanel{
width: 100%;
}
\ No newline at end of file
app_CRM/src/widgets/competitor/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue
0 → 100644
浏览文件 @
5cc9ce8d
<
template
src=
"./mpickup-viewpickupviewpanel-pickupviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MPickupViewpickupviewpanelPickupviewpanelBase } from './mpickup-viewpickupviewpanel-pickupviewpanel-base';
/**
* pickupviewpanel部件
*
* @export
* @class MPickupViewpickupviewpanelPickupviewpanel
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MPickupViewpickupviewpanelPickupviewpanel extends MPickupViewpickupviewpanelPickupviewpanelBase { }
</script>
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-base.tsx
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
MPickupViewpickupviewpanelService
from
'./mpickup-viewpickupviewpanel-pickupviewpanel-service'
;
import
MPickupViewpickupviewpanelModel
from
'./mpickup-viewpickupviewpanel-pickupviewpanel-model'
;
/**
* pickupviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
export
class
MPickupViewpickupviewpanelPickupviewpanelBase
extends
MainControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected
controlType
:
string
=
'PICKUPVIEWPANEL'
;
/**
* 建构部件服务对象
*
* @type {MPickupViewpickupviewpanelService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public
service
:
MPickupViewpickupviewpanelService
=
new
MPickupViewpickupviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MPickupViewpickupviewpanelPickupviewpanelBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 选中数据字符串
*
* @type {string}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
()
public
selectedData
?:
string
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MPickupViewpickupviewpanel
*/
public
getData
():
any
{
return
{};
}
/**
* 视图名称
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
view
:
any
=
{
viewname
:
'lead-pickup-grid-view'
,
data
:
{},
}
/**
* 局部上下文
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 视图数据
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
({
default
:
true
})
public
isShowButton
!
:
boolean
;
/**
* 是否单选
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@
Prop
()
public
isSingleSelect
?:
boolean
;
/**
* 初始化完成
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
public
inited
:
boolean
=
false
;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
onViewDatasChange
(
$event
:
any
):
void
{
if
(
$event
.
length
>
0
){
$event
.
forEach
((
item
:
any
,
index
:
any
)
=>
{
let
srfmajortext
=
item
[
'fullname'
];
if
(
srfmajortext
){
Object
.
assign
(
$event
[
index
],{
srfmajortext
:
srfmajortext
});
}
});
}
this
.
$emit
(
'selectionchange'
,
$event
);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
viewDatasActivated
(
$event
:
any
):
void
{
this
.
$emit
(
'activated'
,
$event
);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public
onViewLoad
(
$event
:
any
):
void
{
this
.
$emit
(
'load'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
Object
.
assign
(
data
,
this
.
viewparams
));
this
.
inited
=
true
;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof MPickupViewpickupviewpanel
*/
public
initNavParam
(){
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
){
let
_context
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localContext
);
Object
.
assign
(
this
.
context
,
_context
);
}
if
(
this
.
localViewParam
&&
Object
.
keys
(
this
.
localViewParam
).
length
>
0
){
let
_param
:
any
=
this
.
$util
.
computedNavData
({},
this
.
context
,
this
.
viewparams
,
this
.
localViewParam
);
Object
.
assign
(
this
.
viewparams
,
_param
);
}
this
.
viewdata
=
JSON
.
stringify
(
this
.
context
);
this
.
viewparam
=
JSON
.
stringify
(
this
.
viewparams
);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-model.ts
0 → 100644
浏览文件 @
5cc9ce8d
/**
* MPickupViewpickupviewpanel 部件模型
*
* @export
* @class MPickupViewpickupviewpanelModel
*/
export
default
class
MPickupViewpickupviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_fax'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'budgetamount'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'lastname'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'masterleadname'
,
},
{
name
:
'estimatedvalue'
,
},
{
name
:
'lead'
,
prop
:
'leadid'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'leadqualitycode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'createman'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'description'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'customerid'
,
},
{
name
:
'companyname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'qualificationcomments'
,
},
{
name
:
'ownertype'
,
},
{
name
:
'contactname'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'subject'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'budgetamount_base'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'evaluatefit'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'fullname'
,
},
{
name
:
'estimatedamount_base'
,
},
{
name
:
'budgetstatus'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'initialcommunication'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'estimatedamount'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'createdate'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'salesstage'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'customername'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'schedulefollowup_prospect'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'customertype'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'need'
,
},
{
name
:
'prioritycode'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'salesstagecode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'middlename'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'purchasetimeframe'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'purchaseprocess'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'sic'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'confirminterest'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'statecode'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'estimatedclosedate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'pager'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'fax'
,
},
{
name
:
'schedulefollowup_qualify'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'processid'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'updateman'
,
},
{
name
:
'decisionmaker'
,
},
{
name
:
'ownername'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'firstname'
,
},
{
name
:
'merged'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'slaname'
,
},
{
name
:
'qualifyingopportunityid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'campaignid'
,
},
{
name
:
'relatedobjectid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'originatingcaseid'
,
},
{
name
:
'parentcontactid'
,
},
{
name
:
'originatingcasename'
,
},
{
name
:
'qualifyingopportunityname'
,
},
{
name
:
'campaignname'
,
},
{
name
:
'parentcontactname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'relatedobjectname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel-service.ts
0 → 100644
浏览文件 @
5cc9ce8d
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* MPickupViewpickupviewpanel 部件服务对象
*
* @export
* @class MPickupViewpickupviewpanelService
*/
export
default
class
MPickupViewpickupviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.html
0 → 100644
浏览文件 @
5cc9ce8d
<div
class=
'pickupviewpanel'
>
<component
v-if=
"inited && view.viewname && !Object.is(view.viewname, '')"
:is=
"view.viewname"
class=
"viewcontainer3"
:viewdata=
"viewdata"
:viewparam=
"viewparam"
:viewDefaultUsage=
"false"
:isSingleSelect=
"isSingleSelect"
:selectedData=
"selectedData"
:isShowButton=
"isShowButton"
@
viewdataschange=
"onViewDatasChange.apply(_self, arguments)"
@
viewdatasactivated=
"viewDatasActivated.apply(_self, arguments)"
@
viewload=
"onViewLoad.apply(_self, arguments)"
>
</component>
</div>
\ No newline at end of file
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.less
0 → 100644
浏览文件 @
5cc9ce8d
.pickupviewpanel{
width: 100%;
}
\ No newline at end of file
app_CRM/src/widgets/lead/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue
0 → 100644
浏览文件 @
5cc9ce8d
<
template
src=
"./mpickup-viewpickupviewpanel-pickupviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MPickupViewpickupviewpanelPickupviewpanelBase } from './mpickup-viewpickupviewpanel-pickupviewpanel-base';
/**
* pickupviewpanel部件
*
* @export
* @class MPickupViewpickupviewpanelPickupviewpanel
* @extends {MPickupViewpickupviewpanelPickupviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MPickupViewpickupviewpanelPickupviewpanel extends MPickupViewpickupviewpanelPickupviewpanelBase { }
</script>
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
5cc9ce8d
...
...
@@ -2419,7 +2419,7 @@
<!--输出实体[COMPETITOR]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-competitor-7
7
-32"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-competitor-7
8
-32"
>
<createTable
tableName=
"COMPETITOR"
>
<column
name=
"ENTITYIMAGE"
remarks=
""
type=
"VARCHAR(100)"
>
</column>
...
...
@@ -5805,7 +5805,7 @@
<!--输出实体[LEAD]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-23
2
-70"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-23
3
-70"
>
<createTable
tableName=
"LEAD"
>
<column
name=
"ADDRESS1_FAX"
remarks=
""
type=
"VARCHAR(50)"
>
</column>
...
...
@@ -11159,7 +11159,7 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"CHARACTERISTIC"
constraintName=
"DER1N_CHARACTERISTIC__TRANSACT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[COMPETITOR]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-competitor-7
7
-190"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-competitor-7
8
-190"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"COMPETITOR"
constraintName=
"DER1N_COMPETITOR__TRANSACTIONC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[COMPETITORPRODUCT]外键关系 -->
...
...
@@ -11479,28 +11479,28 @@
</changeSet>
<!--输出实体[LANGUAGELOCALE]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-301"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-301"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTACCOUNTID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__ACCOUNT__PARENTACC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACCOUNTID"
referencedTableName=
"ACCOUNT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-302"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-302"
>
<addForeignKeyConstraint
baseColumnNames=
"RELATEDOBJECTID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__CAMPAIGNRESPONSE__"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACTIVITYID"
referencedTableName=
"CAMPAIGNRESPONSE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-303"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-303"
>
<addForeignKeyConstraint
baseColumnNames=
"CAMPAIGNID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__CAMPAIGN__CAMPAIGN"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CAMPAIGNID"
referencedTableName=
"CAMPAIGN"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-304"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-304"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTCONTACTID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__CONTACT__PARENTCON"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-305"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-305"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGCASEID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__INCIDENT__ORIGINAT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"INCIDENTID"
referencedTableName=
"INCIDENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-306"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-306"
>
<addForeignKeyConstraint
baseColumnNames=
"QUALIFYINGOPPORTUNITYID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__OPPORTUNITY__QUALI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"OPPORTUNITYID"
referencedTableName=
"OPPORTUNITY"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-307"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-307"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
2
-308"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-23
3
-308"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[LEADADDRESS]外键关系 -->
...
...
businesscentral-core/src/main/resources/mapper/sales/lead/LeadMapper.xml
浏览文件 @
5cc9ce8d
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录