Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
4c6a28ed
提交
4c6a28ed
编写于
6月 22, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lab_gzf 发布系统代码
上级
10870d68
变更
10
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
787 行增加
和
81 行删除
+787
-81
opportunity_en_US.ts
...c/locale/lanres/entities/opportunity/opportunity_en_US.ts
+0
-12
opportunity_zh_CN.ts
...c/locale/lanres/entities/opportunity/opportunity_zh_CN.ts
+0
-12
opportunity-con-opp-grid-view-base.vue
...-con-opp-grid-view/opportunity-con-opp-grid-view-base.vue
+644
-0
opportunity-con-opp-grid-view.less
...nity-con-opp-grid-view/opportunity-con-opp-grid-view.less
+8
-0
opportunity-con-opp-grid-view.vue
...unity-con-opp-grid-view/opportunity-con-opp-grid-view.vue
+21
-0
opportunity-info-base.vue
...rc/pages/sales/opportunity-info/opportunity-info-base.vue
+3
-0
page-register.ts
app_CRM/src/pages/ungroup/central/page-register.ts
+4
-4
router.ts
app_CRM/src/pages/ungroup/central/router.ts
+94
-52
state.ts
app_CRM/src/store/modules/view-action/state.ts
+12
-0
list-exp-viewlistexpbar-listexpbar-base.vue
...ar-listexpbar/list-exp-viewlistexpbar-listexpbar-base.vue
+1
-1
未找到文件。
app_CRM/src/locale/lanres/entities/opportunity/opportunity_en_US.ts
浏览文件 @
4c6a28ed
...
...
@@ -285,22 +285,10 @@ export default {
},
},
conoppgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
...
...
app_CRM/src/locale/lanres/entities/opportunity/opportunity_zh_CN.ts
浏览文件 @
4c6a28ed
...
...
@@ -284,22 +284,10 @@ export default {
},
},
conoppgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
'新建'
,
tip
:
'新建'
,
},
tbitem2
:
{
caption
:
'-'
,
tip
:
''
,
},
tbitem4
:
{
caption
:
'编辑'
,
tip
:
'编辑'
,
},
tbitem6
:
{
caption
:
'拷贝'
,
tip
:
'拷贝'
,
},
tbitem7
:
{
caption
:
'-'
,
tip
:
''
,
...
...
app_CRM/src/pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view-base.vue
0 → 100644
浏览文件 @
4c6a28ed
<
template
>
<studio-view-style2
viewName=
"opportunityconoppgridview"
viewTitle=
"商机表格视图"
class=
'degridview opportunity-con-opp-grid-view'
>
<i-input
slot=
"quickSearch"
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
@
on-search=
"onSearch($event)"
/>
<template
slot=
"toolbar"
>
<view-toolbar
mode=
"STYLE2"
:model=
"toolBarModels"
@
item-click=
"toolbar_click"
/>
</
template
>
<
template
slot=
"searchForm"
>
<view
_searchform
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:showBusyIndicator=
"true"
v-show=
"isExpandSearchForm"
loaddraftAction=
"FilterGetDraft"
loadAction=
"FilterGet"
name=
"searchform"
ref=
'searchform'
@
save=
"searchform_save($event)"
@
search=
"searchform_search($event)"
@
load=
"searchform_load($event)"
@
closeview=
"closeView($event)"
>
</view
_searchform
>
</
template
>
<view
_grid
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:isSingleSelect=
"isSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
:newdata=
"newdata"
:opendata=
"opendata"
name=
"grid"
ref=
'grid'
@
selectionchange=
"grid_selectionchange($event)"
@
beforeload=
"grid_beforeload($event)"
@
rowdblclick=
"grid_rowdblclick($event)"
@
remove=
"grid_remove($event)"
@
load=
"grid_load($event)"
@
closeview=
"closeView($event)"
>
</view
_grid
>
</studio-view-style2>
</template>
<
script
lang=
'tsx'
>
import
{
Component
,
Prop
,
Provide
,
Emit
,
Watch
}
from
'vue-property-decorator'
;
import
{
Subject
}
from
'rxjs'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
{
VueLifeCycleProcessing
,
GridViewBase
}
from
'@/studio-core'
;
import
OpportunityService
from
'@/service/opportunity/opportunity-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 商机表格视图视图基类
*
* @export
* @class OpportunityConOppGridViewBase
* @extends {GridViewBase}
*/
@
Component
({})
@
VueLifeCycleProcessing
()
export
default
class
OpportunityConOppGridViewBase
extends
GridViewBase
{
/**
* 实体服务对象
*
* @type {OpportunityService}
* @memberof OpportunityConOppGridViewBase
*/
protected
appEntityService
:
OpportunityService
=
new
OpportunityService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof OpportunityConOppGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 自定义视图导航上下文集合
*
* @protected
* @type {*}
* @memberof OpportunityConOppGridViewBase
*/
protected
customViewNavContexts
:
any
=
{
};
/**
* 自定义视图导航参数集合
*
* @protected
* @type {*}
* @memberof OpportunityConOppGridViewBase
*/
protected
customViewParams
:
any
=
{
};
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof OpportunityConOppGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.opportunity.views.conoppgridview.caption'
,
srfTitle
:
'entities.opportunity.views.conoppgridview.title'
,
srfSubTitle
:
'entities.opportunity.views.conoppgridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof OpportunityConOppGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof OpportunityConOppGridView
*/
public
toolBarModels
:
any
=
{
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'编辑'
,
iconcls
:
'fa fa-edit'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem7
:
{
name
:
'tbitem7'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem8
:
{
name
:
'tbitem8'
,
caption
:
'删除'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'删除'
,
iconcls
:
'fa fa-remove'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Remove'
,
target
:
'MULTIKEY'
},
class
:
''
},
tbitem9
:
{
name
:
'tbitem9'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem13
:
{
name
:
'tbitem13'
,
caption
:
'导出'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'导出'
,
iconcls
:
'fa fa-file-excel-o'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportExcel'
,
target
:
''
},
MaxRowCount
:
1000
,
class
:
''
},
tbitem10
:
{
name
:
'tbitem10'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem19
:
{
name
:
'tbitem19'
,
caption
:
'过滤'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'过滤'
,
iconcls
:
'fa fa-filter'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
},
class
:
''
},
};
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof OpportunityConOppGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof OpportunityConOppGridViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
opendata
:
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
=>
{
this
.
opendata
(
args
,
fullargs
,
params
,
$event
,
xData
);
},
newdata
:
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
=>
{
this
.
newdata
(
args
,
fullargs
,
params
,
$event
,
xData
);
},
grid
:
this
.
$refs
.
grid
,
searchform
:
this
.
$refs
.
searchform
,
keyPSDEField
:
'opportunity'
,
majorPSDEField
:
'opportunityname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem8'
))
{
this
.
toolbar_tbitem8_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem13'
))
{
this
.
toolbar_tbitem13_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem11'
))
{
this
.
toolbar_tbitem11_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof OpportunityConOppGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem4_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Edit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Opportunity"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem8_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Remove
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Opportunity"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem13_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ExportExcel
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Opportunity"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem11_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Opportunity"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem19_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ToggleFilter
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Opportunity"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof OpportunityConOppGridView
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
if
(
args
[
0
].
srfsourcekey
){
data
.
srfsourcekey
=
args
[
0
].
srfsourcekey
;
}
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
delete
tempContext
.
opportunity
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
contact
&&
true
){
deResParameters
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
];
const
_this
:
any
=
this
;
const
openDrawer
=
(
view
:
any
,
data
:
any
)
=>
{
let
container
:
Subject
<
any
>
=
this
.
$appdrawer
.
openDrawer
(
view
,
tempContext
,
data
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
!
result
||
!
Object
.
is
(
result
.
ret
,
'OK'
))
{
return
;
}
if
(
!
xData
||
!
(
xData
.
refresh
instanceof
Function
))
{
return
;
}
xData
.
refresh
(
result
.
datas
);
});
}
const
view
:
any
=
{
viewname
:
'opportunity-quick-create'
,
height
:
0
,
width
:
0
,
title
:
this
.
$t
(
'entities.opportunity.views.quickcreate.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof OpportunityConOppGridView
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
contact
&&
true
){
deResParameters
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'info'
,
parameterName
:
'info'
},
];
const
_this
:
any
=
this
;
const
openIndexViewTab
=
(
data
:
any
)
=>
{
const
routePath
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
tempContext
,
deResParameters
,
parameters
,
args
,
data
);
this
.
$router
.
push
(
routePath
);
}
openIndexViewTab
(
data
);
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof OpportunityConOppGridViewBase
*/
public
Edit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
opportunity
:
args
[
0
].
opportunity
})
}
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof OpportunityConOppGridViewBase
*/
public
Remove
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
remove
instanceof
Function
))
{
return
;
}
xData
.
remove
(
args
);
}
/**
* 导出
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof OpportunityConOppGridViewBase
*/
public
ExportExcel
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
exportExcel
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
exportExcel
(
$event
.
exportparms
);
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof OpportunityConOppGridViewBase
*/
public
Print
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
print
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
print
();
}
/**
* 过滤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof OpportunityConOppGridViewBase
*/
public
ToggleFilter
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
hasOwnProperty
(
'isExpandSearchForm'
))
{
_this
.
isExpandSearchForm
=
!
_this
.
isExpandSearchForm
;
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './opportunity-con-opp-grid-view.less';
</
style
>
\ No newline at end of file
app_CRM/src/pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.less
0 → 100644
浏览文件 @
4c6a28ed
// 避免空文件,后台不让空文件过
.opportunity-con-opp-grid-view {
--opportunity-con-opp-grid-view: 0;
}
// 视图样式
// this is less
app_CRM/src/pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue
0 → 100644
浏览文件 @
4c6a28ed
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
OpportunityConOppGridViewBase
from
'./opportunity-con-opp-grid-view-base.vue'
;
import
view_grid
from
'@widgets/opportunity/main-grid/main-grid.vue'
;
import
view_searchform
from
'@widgets/opportunity/default-searchform/default-searchform.vue'
;
@
Component
({
components
:
{
view_grid
,
view_searchform
,
},
beforeRouteEnter
:
(
to
:
any
,
from
:
any
,
next
:
any
)
=>
{
next
((
vm
:
any
)
=>
{
vm
.
$store
.
commit
(
'addCurPageViewtag'
,
{
route
:
to
,
viewtag
:
vm
.
viewtag
});
});
},
})
export
default
class
OpportunityConOppGridView
extends
OpportunityConOppGridViewBase
{
}
</
script
>
\ No newline at end of file
app_CRM/src/pages/sales/opportunity-info/opportunity-info-base.vue
浏览文件 @
4c6a28ed
<
template
>
<studio-view-style2
viewName=
"opportunityinfo"
viewTitle=
"商机信息"
class=
'detabexpview opportunity-info'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srfTitle
)
}}
</span>
</
template
>
<
template
slot=
"toolbar"
>
<view-toolbar
mode=
"STYLE2"
:model=
"toolBarModels"
@
item-click=
"toolbar_click"
/>
</
template
>
<view
_tabexppanel
...
...
app_CRM/src/pages/ungroup/central/page-register.ts
浏览文件 @
4c6a28ed
...
...
@@ -73,8 +73,8 @@ export const PageComponents = {
Vue
.
component
(
'quote-grid-view'
,
()
=>
import
(
'@pages/sales/quote-grid-view/quote-grid-view.vue'
));
Vue
.
component
(
'invoice-edit-view'
,
()
=>
import
(
'@pages/finance/invoice-edit-view/invoice-edit-view.vue'
));
Vue
.
component
(
'quote-option-view'
,
()
=>
import
(
'@pages/sales/quote-option-view/quote-option-view.vue'
));
Vue
.
component
(
'opportunity-summary'
,
()
=>
import
(
'@pages/sales/opportunity-summary/opportunity-summary.vue'
));
Vue
.
component
(
'campaign-edit-view'
,
()
=>
import
(
'@pages/marketing/campaign-edit-view/campaign-edit-view.vue'
));
Vue
.
component
(
'opportunity-summary'
,
()
=>
import
(
'@pages/sales/opportunity-summary/opportunity-summary.vue'
));
Vue
.
component
(
'list-contact-inner'
,
()
=>
import
(
'@pages/marketing/list-contact-inner/list-contact-inner.vue'
));
Vue
.
component
(
'campaign-info-campagin'
,
()
=>
import
(
'@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'
));
Vue
.
component
(
'appointment-edit-view'
,
()
=>
import
(
'@pages/base/appointment-edit-view/appointment-edit-view.vue'
));
...
...
@@ -83,21 +83,20 @@ export const PageComponents = {
Vue
.
component
(
'contact-pickup-grid-view'
,
()
=>
import
(
'@pages/base/contact-pickup-grid-view/contact-pickup-grid-view.vue'
));
Vue
.
component
(
'list-account-edit-view'
,
()
=>
import
(
'@pages/marketing/list-account-edit-view/list-account-edit-view.vue'
));
Vue
.
component
(
'opportunity-info'
,
()
=>
import
(
'@pages/sales/opportunity-info/opportunity-info.vue'
));
Vue
.
component
(
'transaction-currency-pickup-grid-view'
,
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-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
(
'transaction-currency-pickup-grid-view'
,
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-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
(
'account-pickup-view'
,
()
=>
import
(
'@pages/base/account-pickup-view/account-pickup-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
(
'contact-by-account'
,
()
=>
import
(
'@pages/base/contact-by-account/contact-by-account.vue'
));
Vue
.
component
(
'opportunity-opp-pro-dashboard-view'
,
()
=>
import
(
'@pages/sales/opportunity-opp-pro-dashboard-view/opportunity-opp-pro-dashboard-view.vue'
));
Vue
.
component
(
'opportunity-list-exp-view'
,
()
=>
import
(
'@pages/sales/opportunity-list-exp-view/opportunity-list-exp-view.vue'
));
Vue
.
component
(
'opportunity-opp-pro-dashboard-view'
,
()
=>
import
(
'@pages/sales/opportunity-opp-pro-dashboard-view/opportunity-opp-pro-dashboard-view.vue'
));
Vue
.
component
(
'sales-literature-edit-view'
,
()
=>
import
(
'@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'
));
Vue
.
component
(
'ibiz-list-summary'
,
()
=>
import
(
'@pages/marketing/ibiz-list-summary/ibiz-list-summary.vue'
));
Vue
.
component
(
'lead-dashboard-view'
,
()
=>
import
(
'@pages/sales/lead-dashboard-view/lead-dashboard-view.vue'
));
Vue
.
component
(
'opportunity-con-opp-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
));
Vue
.
component
(
'list-account-quick-create-by-list'
,
()
=>
import
(
'@pages/marketing/list-account-quick-create-by-list/list-account-quick-create-by-list.vue'
));
Vue
.
component
(
'campaign-list-edit-view'
,
()
=>
import
(
'@pages/marketing/campaign-list-edit-view/campaign-list-edit-view.vue'
));
Vue
.
component
(
'competitor-info'
,
()
=>
import
(
'@pages/sales/competitor-info/competitor-info.vue'
));
...
...
@@ -119,6 +118,7 @@ export const PageComponents = {
Vue
.
component
(
'incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-grid-view/incident-grid-view.vue'
));
Vue
.
component
(
'account-inner-pickup-view'
,
()
=>
import
(
'@pages/base/account-inner-pickup-view/account-inner-pickup-view.vue'
));
Vue
.
component
(
'contact-edit-market'
,
()
=>
import
(
'@pages/base/contact-edit-market/contact-edit-market.vue'
));
Vue
.
component
(
'opportunity-con-opp-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
));
Vue
.
component
(
'campaign-summary-head'
,
()
=>
import
(
'@pages/marketing/campaign-summary-head/campaign-summary-head.vue'
));
Vue
.
component
(
'account-edit-account-info'
,
()
=>
import
(
'@pages/base/account-edit-account-info/account-edit-account-info.vue'
));
Vue
.
component
(
'opportunity-pickup-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-pickup-grid-view/opportunity-pickup-grid-view.vue'
));
...
...
app_CRM/src/pages/ungroup/central/router.ts
浏览文件 @
4c6a28ed
...
...
@@ -2342,28 +2342,27 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/base/contact-pickup-view/contact-pickup-view.vue'
),
},
{
path
:
'
accounts/:account?/contacts/:contact?/opportunities/:opportunity?/summary/:summary
?'
,
path
:
'
campaigns/:campaign?/editview/:editview
?'
,
meta
:
{
caption
:
'entities.
opportunity.views.summary
.title'
,
caption
:
'entities.
campaign.views.editview
.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'summary'
,
parameterName
:
'summary'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
sales/opportunity-summary/opportunity-summary
.vue'
),
component
:
()
=>
import
(
'@pages/
marketing/campaign-edit-view/campaign-edit-view
.vue'
),
},
{
path
:
'contacts/:contact?/opportunities/:opportunity?/summary/:summary?'
,
path
:
'
accounts/:account?/
contacts/:contact?/opportunities/:opportunity?/summary/:summary?'
,
meta
:
{
caption
:
'entities.opportunity.views.summary.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'summary'
,
parameterName
:
'summary'
},
...
...
@@ -2373,12 +2372,13 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/sales/opportunity-summary/opportunity-summary.vue'
),
},
{
path
:
'opportunities/:opportunity?/summary/:summary?'
,
path
:
'
contacts/:contact?/
opportunities/:opportunity?/summary/:summary?'
,
meta
:
{
caption
:
'entities.opportunity.views.summary.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'summary'
,
parameterName
:
'summary'
},
],
...
...
@@ -2387,18 +2387,18 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/sales/opportunity-summary/opportunity-summary.vue'
),
},
{
path
:
'
campaigns/:campaign?/editview/:editview
?'
,
path
:
'
opportunities/:opportunity?/summary/:summary
?'
,
meta
:
{
caption
:
'entities.
campaign.views.editview
.title'
,
caption
:
'entities.
opportunity.views.summary
.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
campaigns'
,
parameterName
:
'campaign
'
},
{
pathName
:
'
editview'
,
parameterName
:
'editview
'
},
{
pathName
:
'
opportunities'
,
parameterName
:
'opportunity
'
},
{
pathName
:
'
summary'
,
parameterName
:
'summary
'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
marketing/campaign-edit-view/campaign-edit-view
.vue'
),
component
:
()
=>
import
(
'@pages/
sales/opportunity-summary/opportunity-summary
.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/listcontacts/:listcontact?/inner/:inner?'
,
...
...
@@ -2697,6 +2697,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/opportunity-info/opportunity-info.vue'
),
},
{
path
:
'transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
),
},
{
path
:
'serviceappointments/:serviceappointment?/editview/:editview?'
,
meta
:
{
...
...
@@ -2740,20 +2754,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/contact-grid-view/contact-grid-view.vue'
),
},
{
path
:
'transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
),
},
{
path
:
'activitypointers/:activitypointer?/gridview/:gridview?'
,
meta
:
{
...
...
@@ -2902,94 +2902,94 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/base/contact-by-account/contact-by-account.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/
listexpview/:listexp
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
caption
:
'entities.opportunity.views.
listexp
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
},
{
path
:
'contacts/:contact?/opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
path
:
'contacts/:contact?/opportunities/:opportunity?/
listexpview/:listexp
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
caption
:
'entities.opportunity.views.
listexp
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
},
{
path
:
'opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
path
:
'opportunities/:opportunity?/
listexpview/:listexp
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
caption
:
'entities.opportunity.views.
listexp
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/
listexpview/:listexp
view?'
,
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
listexp
view.title'
,
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
},
{
path
:
'contacts/:contact?/opportunities/:opportunity?/
listexpview/:listexp
view?'
,
path
:
'contacts/:contact?/opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
listexp
view.title'
,
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
},
{
path
:
'opportunities/:opportunity?/
listexpview/:listexp
view?'
,
path
:
'opportunities/:opportunity?/
oppprodashboardview/:oppprodashboard
view?'
,
meta
:
{
caption
:
'entities.opportunity.views.
listexp
view.title'
,
caption
:
'entities.opportunity.views.
oppprodashboard
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'
listexpview'
,
parameterName
:
'listexp
view'
},
{
pathName
:
'
oppprodashboardview'
,
parameterName
:
'oppprodashboard
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-
list-exp-view/opportunity-list-exp
-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/opportunity-
opp-pro-dashboard-view/opportunity-opp-pro-dashboard
-view.vue'
),
},
{
path
:
'salesliteratures/:salesliterature?/editview/:editview?'
,
...
...
@@ -5400,6 +5400,48 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/lead-info-market/lead-info-market.vue'
),
},
{
path
:
'/accounts/:account?/contacts/:contact?/opportunities/:opportunity?/conoppgridview/:conoppgridview?'
,
meta
:
{
caption
:
'entities.opportunity.views.conoppgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'conoppgridview'
,
parameterName
:
'conoppgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
),
},
{
path
:
'/contacts/:contact?/opportunities/:opportunity?/conoppgridview/:conoppgridview?'
,
meta
:
{
caption
:
'entities.opportunity.views.conoppgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'conoppgridview'
,
parameterName
:
'conoppgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
),
},
{
path
:
'/opportunities/:opportunity?/conoppgridview/:conoppgridview?'
,
meta
:
{
caption
:
'entities.opportunity.views.conoppgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'opportunities'
,
parameterName
:
'opportunity'
},
{
pathName
:
'conoppgridview'
,
parameterName
:
'conoppgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
),
},
{
path
:
'/campaigns/:campaign?/summary_head/:summary_head?'
,
meta
:
{
...
...
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
4c6a28ed
...
...
@@ -489,6 +489,17 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'50138c2b066081ec8b6fe67c88af5371'
,
viewmodule
:
'Sales'
,
viewname
:
'OpportunityConOppGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'8bfcd7acdd1f36afc1714f1071671f2c'
,
'a243cd62accb02ceba4fb128703128f0'
,
],
},
{
viewtag
:
'51785f69973d8e6b0b1e002a03626fc7'
,
viewmodule
:
'Marketing'
,
...
...
@@ -960,6 +971,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'8bfcd7acdd1f36afc1714f1071671f2c'
,
],
},
{
...
...
app_CRM/src/widgets/opportunity/list-exp-viewlistexpbar-listexpbar/list-exp-viewlistexpbar-listexpbar-base.vue
浏览文件 @
4c6a28ed
...
...
@@ -273,7 +273,7 @@ export default class ListExpViewlistexpbarBase extends Vue implements ControlInt
* @type {string}
* @memberof ListExpViewlistexpbarBase
*/
public
navViewName
:
string
=
""
;
public
navViewName
:
string
=
"
opportunity-info
"
;
/**
* 导航视图参数
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录