Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
bf562c51
提交
bf562c51
编写于
7月 06, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lab_gzf 发布系统代码
上级
9a30d8d5
变更
70
隐藏空白字符变更
内嵌
并排
正在显示
70 个修改的文件
包含
10097 行增加
和
51 行删除
+10097
-51
view-config.json
app_CRM/public/assets/json/view-config.json
+40
-0
contact_en_US.ts
app_CRM/src/locale/lanres/entities/contact/contact_en_US.ts
+4
-0
contact_zh_CN.ts
app_CRM/src/locale/lanres/entities/contact/contact_zh_CN.ts
+4
-0
lead_en_US.ts
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
+116
-0
lead_zh_CN.ts
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
+116
-0
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+32
-0
contact-stop-grid-view-base.tsx
...se/contact-stop-grid-view/contact-stop-grid-view-base.tsx
+706
-0
contact-stop-grid-view.html
...s/base/contact-stop-grid-view/contact-stop-grid-view.html
+49
-0
contact-stop-grid-view.vue
...es/base/contact-stop-grid-view/contact-stop-grid-view.vue
+30
-0
contact-tab-exp-view-base.tsx
...s/base/contact-tab-exp-view/contact-tab-exp-view-base.tsx
+124
-0
contact-tab-exp-view.html
...pages/base/contact-tab-exp-view/contact-tab-exp-view.html
+10
-0
contact-tab-exp-view.vue
.../pages/base/contact-tab-exp-view/contact-tab-exp-view.vue
+28
-0
contact-usable-grid-view-base.tsx
...ontact-usable-grid-view/contact-usable-grid-view-base.tsx
+706
-0
contact-usable-grid-view.html
...se/contact-usable-grid-view/contact-usable-grid-view.html
+49
-0
contact-usable-grid-view.vue
...ase/contact-usable-grid-view/contact-usable-grid-view.vue
+30
-0
lead-grid-view.html
app_CRM/src/pages/sales/lead-grid-view/lead-grid-view.html
+0
-3
lead-on-grid-view-base.tsx
.../pages/sales/lead-on-grid-view/lead-on-grid-view-base.tsx
+808
-0
lead-on-grid-view.html
.../src/pages/sales/lead-on-grid-view/lead-on-grid-view.html
+49
-0
lead-on-grid-view.vue
...M/src/pages/sales/lead-on-grid-view/lead-on-grid-view.vue
+30
-0
lead-status-tab-view-base.tsx
.../sales/lead-status-tab-view/lead-status-tab-view-base.tsx
+124
-0
lead-status-tab-view.html
...ages/sales/lead-status-tab-view/lead-status-tab-view.html
+10
-0
lead-status-tab-view.vue
...pages/sales/lead-status-tab-view/lead-status-tab-view.vue
+28
-0
page-register.ts
app_CRM/src/pages/ungroup/central/page-register.ts
+7
-1
router.ts
app_CRM/src/pages/ungroup/central/router.ts
+293
-26
state.ts
app_CRM/src/store/modules/view-action/state.ts
+59
-2
contact-ui-service-base.ts
app_CRM/src/uiservice/contact/contact-ui-service-base.ts
+1
-0
lead-ui-service-base.ts
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
+275
-0
central-appmenu-base.tsx
.../src/widgets/app/central-appmenu/central-appmenu-base.tsx
+2
-2
central-appmenu-model.ts
.../src/widgets/app/central-appmenu/central-appmenu-model.ts
+8
-8
tab-exp-viewtabexppanel-tabexppanel-base.tsx
...-tabexppanel/tab-exp-viewtabexppanel-tabexppanel-base.tsx
+76
-0
tab-exp-viewtabexppanel-tabexppanel-model.ts
...-tabexppanel/tab-exp-viewtabexppanel-tabexppanel-model.ts
+628
-0
tab-exp-viewtabexppanel-tabexppanel-service.ts
...abexppanel/tab-exp-viewtabexppanel-tabexppanel-service.ts
+45
-0
tab-exp-viewtabexppanel-tabexppanel.html
...anel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.html
+76
-0
tab-exp-viewtabexppanel-tabexppanel.vue
...panel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.vue
+28
-0
tab-exp-viewtabviewpanel-tabviewpanel-base.tsx
...bviewpanel/tab-exp-viewtabviewpanel-tabviewpanel-base.tsx
+196
-0
tab-exp-viewtabviewpanel-tabviewpanel-model.ts
...bviewpanel/tab-exp-viewtabviewpanel-tabviewpanel-model.ts
+628
-0
tab-exp-viewtabviewpanel-tabviewpanel-service.ts
...iewpanel/tab-exp-viewtabviewpanel-tabviewpanel-service.ts
+11
-0
tab-exp-viewtabviewpanel-tabviewpanel.html
...l-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.html
+11
-0
tab-exp-viewtabviewpanel-tabviewpanel.vue
...el-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.vue
+22
-0
tab-exp-viewtabviewpanel2-tabviewpanel-base.tsx
...viewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-base.tsx
+196
-0
tab-exp-viewtabviewpanel2-tabviewpanel-model.ts
...viewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-model.ts
+628
-0
tab-exp-viewtabviewpanel2-tabviewpanel-service.ts
...ewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-service.ts
+11
-0
tab-exp-viewtabviewpanel2-tabviewpanel.html
...-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.html
+11
-0
tab-exp-viewtabviewpanel2-tabviewpanel.vue
...2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.vue
+22
-0
tab-exp-viewtabviewpanel3-tabviewpanel-base.tsx
...viewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-base.tsx
+196
-0
tab-exp-viewtabviewpanel3-tabviewpanel-model.ts
...viewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-model.ts
+628
-0
tab-exp-viewtabviewpanel3-tabviewpanel-service.ts
...ewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-service.ts
+11
-0
tab-exp-viewtabviewpanel3-tabviewpanel.html
...-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.html
+11
-0
tab-exp-viewtabviewpanel3-tabviewpanel.vue
...3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.vue
+22
-0
status-tab-viewtabexppanel-tabexppanel-base.tsx
...bexppanel/status-tab-viewtabexppanel-tabexppanel-base.tsx
+76
-0
status-tab-viewtabexppanel-tabexppanel-model.ts
...bexppanel/status-tab-viewtabexppanel-tabexppanel-model.ts
+487
-0
status-tab-viewtabexppanel-tabexppanel-service.ts
...xppanel/status-tab-viewtabexppanel-tabexppanel-service.ts
+45
-0
status-tab-viewtabexppanel-tabexppanel.html
...l-tabexppanel/status-tab-viewtabexppanel-tabexppanel.html
+76
-0
status-tab-viewtabexppanel-tabexppanel.vue
...el-tabexppanel/status-tab-viewtabexppanel-tabexppanel.vue
+28
-0
status-tab-viewtabviewpanel-tabviewpanel-base.tsx
...ewpanel/status-tab-viewtabviewpanel-tabviewpanel-base.tsx
+196
-0
status-tab-viewtabviewpanel-tabviewpanel-model.ts
...ewpanel/status-tab-viewtabviewpanel-tabviewpanel-model.ts
+487
-0
status-tab-viewtabviewpanel-tabviewpanel-service.ts
...panel/status-tab-viewtabviewpanel-tabviewpanel-service.ts
+11
-0
status-tab-viewtabviewpanel-tabviewpanel.html
...abviewpanel/status-tab-viewtabviewpanel-tabviewpanel.html
+11
-0
status-tab-viewtabviewpanel-tabviewpanel.vue
...tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel.vue
+22
-0
status-tab-viewtabviewpanel2-tabviewpanel-base.tsx
...wpanel/status-tab-viewtabviewpanel2-tabviewpanel-base.tsx
+196
-0
status-tab-viewtabviewpanel2-tabviewpanel-model.ts
...wpanel/status-tab-viewtabviewpanel2-tabviewpanel-model.ts
+487
-0
status-tab-viewtabviewpanel2-tabviewpanel-service.ts
...anel/status-tab-viewtabviewpanel2-tabviewpanel-service.ts
+11
-0
status-tab-viewtabviewpanel2-tabviewpanel.html
...bviewpanel/status-tab-viewtabviewpanel2-tabviewpanel.html
+11
-0
status-tab-viewtabviewpanel2-tabviewpanel.vue
...abviewpanel/status-tab-viewtabviewpanel2-tabviewpanel.vue
+22
-0
status-tab-viewtabviewpanel3-tabviewpanel-base.tsx
...wpanel/status-tab-viewtabviewpanel3-tabviewpanel-base.tsx
+196
-0
status-tab-viewtabviewpanel3-tabviewpanel-model.ts
...wpanel/status-tab-viewtabviewpanel3-tabviewpanel-model.ts
+487
-0
status-tab-viewtabviewpanel3-tabviewpanel-service.ts
...anel/status-tab-viewtabviewpanel3-tabviewpanel-service.ts
+11
-0
status-tab-viewtabviewpanel3-tabviewpanel.html
...bviewpanel/status-tab-viewtabviewpanel3-tabviewpanel.html
+11
-0
status-tab-viewtabviewpanel3-tabviewpanel.vue
...abviewpanel/status-tab-viewtabviewpanel3-tabviewpanel.vue
+22
-0
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+9
-9
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
bf562c51
...
...
@@ -569,6 +569,16 @@
"viewtag"
:
"31f2ad06ced735d250dfa5f309b5aea4"
,
"memo"
:
""
},
"leadstatustabview"
:
{
"title"
:
"潜在顾客状态分页视图"
,
"caption"
:
"潜在顾客"
,
"viewtype"
:
"DETABEXPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadStatusTabView"
,
"viewfilename"
:
"lead-status-tab-view"
,
"viewtag"
:
"3202f3f503424c7a2c549b2c5186dc36"
,
"memo"
:
""
},
"leadinfo"
:
{
"title"
:
"潜在顾客"
,
"caption"
:
"潜在顾客"
,
...
...
@@ -769,6 +779,16 @@
"viewtag"
:
"49e5e89fb51fa9929925b532841b2549"
,
"memo"
:
""
},
"leadongridview"
:
{
"title"
:
"潜在顾客信息"
,
"caption"
:
"潜在顾客信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadOnGridView"
,
"viewfilename"
:
"lead-on-grid-view"
,
"viewtag"
:
"4ab71df980f390b6663b8912f64ede02"
,
"memo"
:
"系统自动添加"
},
"salesorderinfoview"
:
{
"title"
:
"订单信息"
,
"caption"
:
"订单"
,
...
...
@@ -1469,6 +1489,16 @@
"viewtag"
:
"96cc644d7d763e47f3644aed0d9850f0"
,
"memo"
:
""
},
"leadexcludedgridview"
:
{
"title"
:
"潜在顾客信息"
,
"caption"
:
"潜在顾客信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadExcludedGridView"
,
"viewfilename"
:
"lead-excluded-grid-view"
,
"viewtag"
:
"976e7a90095f22af96879a4f46b79b7c"
,
"memo"
:
"系统自动添加"
},
"serviceappointmenteditview"
:
{
"title"
:
"服务活动编辑视图"
,
"caption"
:
"服务活动"
,
...
...
@@ -2079,6 +2109,16 @@
"viewtag"
:
"e0705f7fd9afd10e3f38b1ff03edba8b"
,
"memo"
:
""
},
"contactusablegridview"
:
{
"title"
:
"联系人信息"
,
"caption"
:
"联系人信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"ContactUsableGridView"
,
"viewfilename"
:
"contact-usable-grid-view"
,
"viewtag"
:
"e09386cdc26ec75d235aeecf7b59bbca"
,
"memo"
:
"系统自动添加"
},
"invoicegridview"
:
{
"title"
:
"发票信息"
,
"caption"
:
"发票"
,
...
...
app_CRM/src/locale/lanres/entities/contact/contact_en_US.ts
浏览文件 @
bf562c51
...
...
@@ -273,6 +273,10 @@ export default {
caption
:
"联系人"
,
title
:
"联系人数据选择视图"
,
},
usablegridview
:
{
caption
:
"联系人信息"
,
title
:
"联系人信息"
,
},
quickcreate
:
{
caption
:
"联系人"
,
title
:
"快速新建"
,
...
...
app_CRM/src/locale/lanres/entities/contact/contact_zh_CN.ts
浏览文件 @
bf562c51
...
...
@@ -272,6 +272,10 @@ export default {
caption
:
"联系人"
,
title
:
"联系人数据选择视图"
,
},
usablegridview
:
{
caption
:
"联系人信息"
,
title
:
"联系人信息"
,
},
quickcreate
:
{
caption
:
"联系人"
,
title
:
"快速新建"
,
...
...
app_CRM/src/locale/lanres/entities/lead/lead_en_US.ts
浏览文件 @
bf562c51
...
...
@@ -170,6 +170,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
statustabview
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客状态分页视图"
,
},
info
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客"
,
...
...
@@ -182,6 +186,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
ongridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
},
conleadgridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
...
...
@@ -194,6 +202,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客选择表格视图"
,
},
excludedgridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
},
info_company
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
...
...
@@ -600,4 +612,108 @@ export default {
tip
:
"Copy {0}"
,
},
},
ongridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14_lostorder
:
{
caption
:
"丢单"
,
tip
:
"丢单"
,
},
tbitem14_unable
:
{
caption
:
"无法联系"
,
tip
:
"无法联系"
,
},
tbitem14_nointerested
:
{
caption
:
"不再感兴趣"
,
tip
:
"不再感兴趣"
,
},
tbitem14_cancel
:
{
caption
:
"取消"
,
tip
:
"取消"
,
},
tbitem15
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
},
excludedgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
},
tbitem6
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"Remove"
,
tip
:
"Remove {0}"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"Export"
,
tip
:
"Export {0} Data To Excel"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"Filter"
,
tip
:
"Filter"
,
},
},
};
\ No newline at end of file
app_CRM/src/locale/lanres/entities/lead/lead_zh_CN.ts
浏览文件 @
bf562c51
...
...
@@ -169,6 +169,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
statustabview
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客状态分页视图"
,
},
info
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客"
,
...
...
@@ -181,6 +185,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
},
ongridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
},
conleadgridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
...
...
@@ -193,6 +201,10 @@ export default {
caption
:
"潜在顾客"
,
title
:
"潜在顾客选择表格视图"
,
},
excludedgridview
:
{
caption
:
"潜在顾客信息"
,
title
:
"潜在顾客信息"
,
},
info_company
:
{
caption
:
"潜在顾客"
,
title
:
"潜在顾客编辑视图"
,
...
...
@@ -599,4 +611,108 @@ export default {
tip
:
"拷贝"
,
},
},
ongridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14_lostorder
:
{
caption
:
"丢单"
,
tip
:
"丢单"
,
},
tbitem14_unable
:
{
caption
:
"无法联系"
,
tip
:
"无法联系"
,
},
tbitem14_nointerested
:
{
caption
:
"不再感兴趣"
,
tip
:
"不再感兴趣"
,
},
tbitem14_cancel
:
{
caption
:
"取消"
,
tip
:
"取消"
,
},
tbitem15
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
},
excludedgridviewtoolbar_toolbar
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem2
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem4
:
{
caption
:
"编辑"
,
tip
:
"编辑"
,
},
tbitem6
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
tbitem7
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem8
:
{
caption
:
"删除"
,
tip
:
"删除"
,
},
tbitem9
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem13
:
{
caption
:
"导出"
,
tip
:
"导出"
,
},
tbitem10
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
caption
:
"过滤"
,
tip
:
"过滤"
,
},
},
};
\ No newline at end of file
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
bf562c51
...
...
@@ -463,6 +463,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"AccountInfo_All"
,
"viewtag"
:
"31f2ad06ced735d250dfa5f309b5aea4"
},
"leadstatustabview"
:
{
"title"
:
"潜在顾客状态分页视图"
,
"caption"
:
"潜在顾客"
,
"viewtype"
:
"DETABEXPVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadStatusTabView"
,
"viewtag"
:
"3202f3f503424c7a2c549b2c5186dc36"
},
"leadinfo"
:
{
"title"
:
"潜在顾客"
,
"caption"
:
"潜在顾客"
,
...
...
@@ -623,6 +631,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"LeadInfo_Market"
,
"viewtag"
:
"49e5e89fb51fa9929925b532841b2549"
},
"leadongridview"
:
{
"title"
:
"潜在顾客信息"
,
"caption"
:
"潜在顾客信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadOnGridView"
,
"viewtag"
:
"4ab71df980f390b6663b8912f64ede02"
},
"salesorderinfoview"
:
{
"title"
:
"订单信息"
,
"caption"
:
"订单"
,
...
...
@@ -1183,6 +1199,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"ProductSalesLiteratureSalLitProGridView"
,
"viewtag"
:
"96cc644d7d763e47f3644aed0d9850f0"
},
"leadexcludedgridview"
:
{
"title"
:
"潜在顾客信息"
,
"caption"
:
"潜在顾客信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Sales"
,
"viewname"
:
"LeadExcludedGridView"
,
"viewtag"
:
"976e7a90095f22af96879a4f46b79b7c"
},
"serviceappointmenteditview"
:
{
"title"
:
"服务活动编辑视图"
,
"caption"
:
"服务活动"
,
...
...
@@ -1671,6 +1695,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"LeadQualification"
,
"viewtag"
:
"e0705f7fd9afd10e3f38b1ff03edba8b"
},
"contactusablegridview"
:
{
"title"
:
"联系人信息"
,
"caption"
:
"联系人信息"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"ContactUsableGridView"
,
"viewtag"
:
"e09386cdc26ec75d235aeecf7b59bbca"
},
"invoicegridview"
:
{
"title"
:
"发票信息"
,
"caption"
:
"发票"
,
...
...
app_CRM/src/pages/base/contact-stop-grid-view/contact-stop-grid-view-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Subject
}
from
'rxjs'
;
import
{
GridViewBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
ContactUIService
from
'@/uiservice/contact/contact-ui-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 联系人信息视图基类
*
* @export
* @class ContactStopGridViewBase
* @extends {GridViewBase}
*/
export
class
ContactStopGridViewBase
extends
GridViewBase
{
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ContactStopGridViewBase
*/
protected
appEntityService
:
ContactService
=
new
ContactService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof ContactStopGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof ContactStopGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.contact.views.stopgridview.caption'
,
srfTitle
:
'entities.contact.views.stopgridview.title'
,
srfSubTitle
:
'entities.contact.views.stopgridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof ContactStopGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof ContactStopGridView
*/
public
toolBarModels
:
any
=
{
tbitem1_openquickcreateview
:
{
name
:
'tbitem1_openquickcreateview'
,
caption
:
'新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'新建'
,
iconcls
:
'fa fa-user-plus'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'OpenQuickCreateView'
,
target
:
'NONE'
},
class
:
''
},
tbitem2
:
{
name
:
'tbitem2'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
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
:
''
},
tbitem6
:
{
name
:
'tbitem6'
,
caption
:
'拷贝'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'拷贝'
,
iconcls
:
'fa fa-copy'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
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
:
{
}
},
tbitem14_active
:
{
name
:
'tbitem14_active'
,
caption
:
'激活'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'激活'
,
iconcls
:
'fa fa-play-circle-o'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Active'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem15
:
{
name
:
'tbitem15'
,
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
:
''
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'64d89dce67b0136bef31d6ff25eeb89a'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof ContactStopGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof ContactStopGridViewBase
*/
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
:
'contact'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_openquickcreateview'
))
{
this
.
toolbar_tbitem1_openquickcreateview_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
this
.
toolbar_tbitem6_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
,
'tbitem14_active'
))
{
this
.
toolbar_tbitem14_active_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactStopGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_openquickcreateview_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
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_OpenQuickCreateView
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem6_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
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_active_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
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_Active
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof ContactStopGridView
*/
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
.
contact
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
account
&&
true
){
deResParameters
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
];
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
:
'contact-quick-create'
,
height
:
0
,
width
:
0
,
title
:
this
.
$t
(
'entities.contact.views.quickcreate.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof ContactStopGridView
*/
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
.
account
&&
true
){
deResParameters
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
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 ContactStopGridViewBase
*/
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
,
{
contact
:
args
[
0
].
contact
})
}
_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 ContactStopGridViewBase
*/
public
Copy
(
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
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
if
(
args
.
length
>
0
)
{
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactStopGridViewBase
*/
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 ContactStopGridViewBase
*/
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 ContactStopGridViewBase
*/
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 ContactStopGridViewBase
*/
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
;
}
}
}
\ No newline at end of file
app_CRM/src/pages/base/contact-stop-grid-view/contact-stop-grid-view.html
0 → 100644
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"contactstopgridview"
viewTitle=
"联系人信息"
class=
'degridview contact-stop-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($event)"
/>
</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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchStop"
: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>
\ No newline at end of file
app_CRM/src/pages/base/contact-stop-grid-view/contact-stop-grid-view.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./contact-stop-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ContactStopGridViewBase } from './contact-stop-grid-view-base';
import view_grid from '@widgets/contact/main-grid/main-grid.vue';
import view_searchform from '@widgets/contact/default-searchform/default-searchform.vue';
/**
* 联系人信息视图
*
* @export
* @class ContactStopGridView
* @extends {ContactStopGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class ContactStopGridView extends ContactStopGridViewBase { }
</script>
app_CRM/src/pages/base/contact-tab-exp-view/contact-tab-exp-view-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Subject
}
from
'rxjs'
;
import
{
TabExpViewBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewEngine
from
'@engine/view/tab-exp-view-engine'
;
/**
* 联系人状态分页视图视图基类
*
* @export
* @class ContactTabExpViewBase
* @extends {TabExpViewBase}
*/
export
class
ContactTabExpViewBase
extends
TabExpViewBase
{
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ContactTabExpViewBase
*/
protected
appEntityService
:
ContactService
=
new
ContactService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof ContactTabExpViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof ContactTabExpViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.contact.views.tabexpview.caption'
,
srfTitle
:
'entities.contact.views.tabexpview.title'
,
srfSubTitle
:
'entities.contact.views.tabexpview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof ContactTabExpViewBase
*/
protected
containerModel
:
any
=
{
view_tabexppanel
:
{
name
:
'tabexppanel'
,
type
:
'TABEXPPANEL'
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'0e4d8b949764a2c40c2b93261aed6fd8'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof ContactTabExpViewBase
*/
public
engine
:
TabExpViewEngine
=
new
TabExpViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof ContactTabExpViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
keyPSDEField
:
'contact'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* 加载模型
*
* @protected
* @memberof ContactTabExpViewBase
*/
protected
async
loadModel
():
Promise
<
any
>
{
if
(
this
.
context
.
contact
){
this
.
appEntityService
.
getDataInfo
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{},
false
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
_data
.
fullname
)
{
Object
.
assign
(
this
.
model
,
{
dataInfo
:
_data
.
fullname
});
if
(
this
.
$tabPageExp
)
{
this
.
$tabPageExp
.
setCurPageCaption
(
this
.
model
.
srfTitle
,
this
.
model
.
srfTitle
,
this
.
model
.
dataInfo
);
}
if
(
this
.
$route
){
this
.
$route
.
meta
.
info
=
this
.
model
.
dataInfo
;
}
Object
.
assign
(
this
.
model
,
{
srfTitle
:
`
${
this
.
$t
(
this
.
model
.
srfTitle
)}
-
${
this
.
model
.
dataInfo
}
`
});
this
.
$appService
.
navHistory
.
setCaption
({
route
:
this
.
$route
,
info
:
this
.
model
.
dataInfo
});
}
})
}
}
}
\ No newline at end of file
app_CRM/src/pages/base/contact-tab-exp-view/contact-tab-exp-view.html
0 → 100644
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"contacttabexpview"
viewTitle=
"联系人状态分页视图"
class=
'detabexpview contact-tab-exp-view'
>
<view
_tabexppanel
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
name=
"tabexppanel"
ref=
'tabexppanel'
@
closeview=
"closeView($event)"
>
</view
_tabexppanel
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/base/contact-tab-exp-view/contact-tab-exp-view.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./contact-tab-exp-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ContactTabExpViewBase } from './contact-tab-exp-view-base';
import view_tabexppanel from '@widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.vue';
/**
* 联系人状态分页视图视图
*
* @export
* @class ContactTabExpView
* @extends {ContactTabExpViewBase}
*/
@Component({
components: {
view_tabexppanel,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class ContactTabExpView extends ContactTabExpViewBase { }
</script>
app_CRM/src/pages/base/contact-usable-grid-view/contact-usable-grid-view-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Subject
}
from
'rxjs'
;
import
{
GridViewBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
ContactUIService
from
'@/uiservice/contact/contact-ui-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 联系人信息视图基类
*
* @export
* @class ContactUsableGridViewBase
* @extends {GridViewBase}
*/
export
class
ContactUsableGridViewBase
extends
GridViewBase
{
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ContactUsableGridViewBase
*/
protected
appEntityService
:
ContactService
=
new
ContactService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof ContactUsableGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof ContactUsableGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.contact.views.usablegridview.caption'
,
srfTitle
:
'entities.contact.views.usablegridview.title'
,
srfSubTitle
:
'entities.contact.views.usablegridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof ContactUsableGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof ContactUsableGridView
*/
public
toolBarModels
:
any
=
{
tbitem1_openquickcreateview
:
{
name
:
'tbitem1_openquickcreateview'
,
caption
:
'新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'新建'
,
iconcls
:
'fa fa-user-plus'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'OpenQuickCreateView'
,
target
:
'NONE'
},
class
:
''
},
tbitem2
:
{
name
:
'tbitem2'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
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
:
''
},
tbitem6
:
{
name
:
'tbitem6'
,
caption
:
'拷贝'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'拷贝'
,
iconcls
:
'fa fa-copy'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
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
:
{
}
},
tbitem14_inactive
:
{
name
:
'tbitem14_inactive'
,
caption
:
'停用'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'停用'
,
iconcls
:
'fa fa-minus-circle'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Inactive'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem15
:
{
name
:
'tbitem15'
,
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
:
''
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'e09386cdc26ec75d235aeecf7b59bbca'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof ContactUsableGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof ContactUsableGridViewBase
*/
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
:
'contact'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_openquickcreateview'
))
{
this
.
toolbar_tbitem1_openquickcreateview_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
this
.
toolbar_tbitem6_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
,
'tbitem14_inactive'
))
{
this
.
toolbar_tbitem14_inactive_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof ContactUsableGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_openquickcreateview_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
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_OpenQuickCreateView
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem6_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
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_inactive_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
];
}
// 界面行为
const
curUIService
:
ContactUIService
=
new
ContactUIService
();
curUIService
.
Contact_Inactive
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @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
,
"Contact"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof ContactUsableGridView
*/
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
.
contact
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
account
&&
true
){
deResParameters
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
];
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
:
'contact-quick-create'
,
height
:
0
,
width
:
0
,
title
:
this
.
$t
(
'entities.contact.views.quickcreate.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof ContactUsableGridView
*/
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
.
account
&&
true
){
deResParameters
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
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 ContactUsableGridViewBase
*/
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
,
{
contact
:
args
[
0
].
contact
})
}
_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 ContactUsableGridViewBase
*/
public
Copy
(
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
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
if
(
args
.
length
>
0
)
{
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactUsableGridViewBase
*/
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 ContactUsableGridViewBase
*/
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 ContactUsableGridViewBase
*/
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 ContactUsableGridViewBase
*/
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
;
}
}
}
\ No newline at end of file
app_CRM/src/pages/base/contact-usable-grid-view/contact-usable-grid-view.html
0 → 100644
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"contactusablegridview"
viewTitle=
"联系人信息"
class=
'degridview contact-usable-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($event)"
/>
</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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchUsable"
: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>
\ No newline at end of file
app_CRM/src/pages/base/contact-usable-grid-view/contact-usable-grid-view.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./contact-usable-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { ContactUsableGridViewBase } from './contact-usable-grid-view-base';
import view_grid from '@widgets/contact/main-grid/main-grid.vue';
import view_searchform from '@widgets/contact/default-searchform/default-searchform.vue';
/**
* 联系人信息视图
*
* @export
* @class ContactUsableGridView
* @extends {ContactUsableGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class ContactUsableGridView extends ContactUsableGridViewBase { }
</script>
app_CRM/src/pages/sales/lead-grid-view/lead-grid-view.html
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"leadgridview"
viewTitle=
"潜在顾客信息"
class=
'degridview lead-grid-view'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{$t(model.srfTitle)}}
</span>
</template>
<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($event)"
/>
</template>
...
...
app_CRM/src/pages/sales/lead-on-grid-view/lead-on-grid-view-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Subject
}
from
'rxjs'
;
import
{
GridViewBase
}
from
'@/studio-core'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
LeadUIService
from
'@/uiservice/lead/lead-ui-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 潜在顾客信息视图基类
*
* @export
* @class LeadOnGridViewBase
* @extends {GridViewBase}
*/
export
class
LeadOnGridViewBase
extends
GridViewBase
{
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof LeadOnGridViewBase
*/
protected
appEntityService
:
LeadService
=
new
LeadService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LeadOnGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LeadOnGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.lead.views.ongridview.caption'
,
srfTitle
:
'entities.lead.views.ongridview.title'
,
srfSubTitle
:
'entities.lead.views.ongridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LeadOnGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof LeadOnGridView
*/
public
toolBarModels
:
any
=
{
tbitem1_openquickcreateview
:
{
name
:
'tbitem1_openquickcreateview'
,
caption
:
'新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'新建'
,
iconcls
:
'fa fa-user-plus'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'OpenQuickCreateView'
,
target
:
'NONE'
},
class
:
''
},
tbitem2
:
{
name
:
'tbitem2'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
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
:
''
},
tbitem6
:
{
name
:
'tbitem6'
,
caption
:
'拷贝'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'拷贝'
,
iconcls
:
'fa fa-copy'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
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
:
{
}
},
tbitem14_lostorder
:
{
name
:
'tbitem14_lostorder'
,
caption
:
'丢单'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'丢单'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'LostOrder'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem14_unable
:
{
name
:
'tbitem14_unable'
,
caption
:
'无法联系'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'无法联系'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Unable'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem14_nointerested
:
{
name
:
'tbitem14_nointerested'
,
caption
:
'不再感兴趣'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'不再感兴趣'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'NoInterested'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem14_cancel
:
{
name
:
'tbitem14_cancel'
,
caption
:
'取消'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'取消'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Cancel'
,
target
:
'SINGLEKEY'
},
class
:
''
},
tbitem15
:
{
name
:
'tbitem15'
,
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
:
''
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'4ab71df980f390b6663b8912f64ede02'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LeadOnGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof LeadOnGridViewBase
*/
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
:
'lead'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem1_openquickcreateview'
))
{
this
.
toolbar_tbitem1_openquickcreateview_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
this
.
toolbar_tbitem6_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
,
'tbitem14_lostorder'
))
{
this
.
toolbar_tbitem14_lostorder_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem14_unable'
))
{
this
.
toolbar_tbitem14_unable_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem14_nointerested'
))
{
this
.
toolbar_tbitem14_nointerested_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem14_cancel'
))
{
this
.
toolbar_tbitem14_cancel_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof LeadOnGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem1_openquickcreateview_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
];
}
// 界面行为
const
curUIService
:
LeadUIService
=
new
LeadUIService
();
curUIService
.
Lead_OpenQuickCreateView
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @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
,
"Lead"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem6_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
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @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
,
"Lead"
);
}
/**
* 逻辑事件
*
* @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
,
"Lead"
);
}
/**
* 逻辑事件
*
* @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
,
"Lead"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_lostorder_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
];
}
// 界面行为
const
curUIService
:
LeadUIService
=
new
LeadUIService
();
curUIService
.
Lead_LostOrder
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_unable_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
];
}
// 界面行为
const
curUIService
:
LeadUIService
=
new
LeadUIService
();
curUIService
.
Lead_Unable
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_nointerested_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
];
}
// 界面行为
const
curUIService
:
LeadUIService
=
new
LeadUIService
();
curUIService
.
Lead_NoInterested
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_cancel_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
];
}
// 界面行为
const
curUIService
:
LeadUIService
=
new
LeadUIService
();
curUIService
.
Lead_Cancel
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Lead"
);
}
/**
* 逻辑事件
*
* @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
,
"Lead"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof LeadOnGridView
*/
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
.
lead
;
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
let
deResParameters
:
any
[]
=
[];
if
(
tempContext
.
campaign
&&
true
){
deResParameters
=
[
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
];
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
:
'lead-quick-create'
,
height
:
0
,
width
:
450
,
title
:
this
.
$t
(
'entities.lead.views.quickcreate.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof LeadOnGridView
*/
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
.
campaign
&&
true
){
deResParameters
=
[
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
]
}
const
parameters
:
any
[]
=
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
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 LeadOnGridViewBase
*/
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
,
{
lead
:
args
[
0
].
lead
})
}
_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 LeadOnGridViewBase
*/
public
Copy
(
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
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
srfsourcekey
:
args
[
0
].
srfkey
})
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
&&
xData
.
copy
instanceof
Function
)
{
if
(
args
.
length
>
0
)
{
actionContext
.
$store
.
commit
(
'addCopyData'
,
{
srfkey
:
args
[
0
].
srfkey
,
copyData
:
args
[
0
]
});
}
xData
.
copy
(
args
[
0
].
srfkey
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof LeadOnGridViewBase
*/
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 LeadOnGridViewBase
*/
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 LeadOnGridViewBase
*/
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 LeadOnGridViewBase
*/
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
;
}
}
}
\ No newline at end of file
app_CRM/src/pages/sales/lead-on-grid-view/lead-on-grid-view.html
0 → 100644
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"leadongridview"
viewTitle=
"潜在顾客信息"
class=
'degridview lead-on-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($event)"
/>
</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=
"isGridSingleSelect"
:showBusyIndicator=
"true"
:isOpenEdit=
"false"
:gridRowActiveMode=
"gridRowActiveMode"
@
save=
"onSave"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchOn"
: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>
\ No newline at end of file
app_CRM/src/pages/sales/lead-on-grid-view/lead-on-grid-view.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./lead-on-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LeadOnGridViewBase } from './lead-on-grid-view-base';
import view_grid from '@widgets/lead/main-grid/main-grid.vue';
import view_searchform from '@widgets/lead/default-searchform/default-searchform.vue';
/**
* 潜在顾客信息视图
*
* @export
* @class LeadOnGridView
* @extends {LeadOnGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class LeadOnGridView extends LeadOnGridViewBase { }
</script>
app_CRM/src/pages/sales/lead-status-tab-view/lead-status-tab-view-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Subject
}
from
'rxjs'
;
import
{
TabExpViewBase
}
from
'@/studio-core'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
TabExpViewEngine
from
'@engine/view/tab-exp-view-engine'
;
/**
* 潜在顾客状态分页视图视图基类
*
* @export
* @class LeadStatusTabViewBase
* @extends {TabExpViewBase}
*/
export
class
LeadStatusTabViewBase
extends
TabExpViewBase
{
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof LeadStatusTabViewBase
*/
protected
appEntityService
:
LeadService
=
new
LeadService
;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof LeadStatusTabViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof LeadStatusTabViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.lead.views.statustabview.caption'
,
srfTitle
:
'entities.lead.views.statustabview.title'
,
srfSubTitle
:
'entities.lead.views.statustabview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof LeadStatusTabViewBase
*/
protected
containerModel
:
any
=
{
view_tabexppanel
:
{
name
:
'tabexppanel'
,
type
:
'TABEXPPANEL'
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'3202f3f503424c7a2c549b2c5186dc36'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof LeadStatusTabViewBase
*/
public
engine
:
TabExpViewEngine
=
new
TabExpViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof LeadStatusTabViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
keyPSDEField
:
'lead'
,
majorPSDEField
:
'fullname'
,
isLoadDefault
:
true
,
});
}
/**
* 加载模型
*
* @protected
* @memberof LeadStatusTabViewBase
*/
protected
async
loadModel
():
Promise
<
any
>
{
if
(
this
.
context
.
lead
){
this
.
appEntityService
.
getDataInfo
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{},
false
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
_data
.
fullname
)
{
Object
.
assign
(
this
.
model
,
{
dataInfo
:
_data
.
fullname
});
if
(
this
.
$tabPageExp
)
{
this
.
$tabPageExp
.
setCurPageCaption
(
this
.
model
.
srfTitle
,
this
.
model
.
srfTitle
,
this
.
model
.
dataInfo
);
}
if
(
this
.
$route
){
this
.
$route
.
meta
.
info
=
this
.
model
.
dataInfo
;
}
Object
.
assign
(
this
.
model
,
{
srfTitle
:
`
${
this
.
$t
(
this
.
model
.
srfTitle
)}
-
${
this
.
model
.
dataInfo
}
`
});
this
.
$appService
.
navHistory
.
setCaption
({
route
:
this
.
$route
,
info
:
this
.
model
.
dataInfo
});
}
})
}
}
}
\ No newline at end of file
app_CRM/src/pages/sales/lead-status-tab-view/lead-status-tab-view.html
0 → 100644
浏览文件 @
bf562c51
<studio-view-style2
viewName=
"leadstatustabview"
viewTitle=
"潜在顾客状态分页视图"
class=
'detabexpview lead-status-tab-view'
>
<view
_tabexppanel
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
name=
"tabexppanel"
ref=
'tabexppanel'
@
closeview=
"closeView($event)"
>
</view
_tabexppanel
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/sales/lead-status-tab-view/lead-status-tab-view.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./lead-status-tab-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { LeadStatusTabViewBase } from './lead-status-tab-view-base';
import view_tabexppanel from '@widgets/lead/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel.vue';
/**
* 潜在顾客状态分页视图视图
*
* @export
* @class LeadStatusTabView
* @extends {LeadStatusTabViewBase}
*/
@Component({
components: {
view_tabexppanel,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$appService.navHistory.setViewTag(vm.viewtag, to);
vm.$appService.navHistory.setViewContext(vm.context, to);
});
}
})
@VueLifeCycleProcessing()
export default class LeadStatusTabView extends LeadStatusTabViewBase { }
</script>
app_CRM/src/pages/ungroup/central/page-register.ts
浏览文件 @
bf562c51
...
...
@@ -41,6 +41,7 @@ export const PageComponents = {
Vue
.
component
(
'sales-literature-quick-create-view'
,
()
=>
import
(
'@pages/sales/sales-literature-quick-create-view/sales-literature-quick-create-view.vue'
));
Vue
.
component
(
'subject-pickup-grid-view'
,
()
=>
import
(
'@pages/base/subject-pickup-grid-view/subject-pickup-grid-view.vue'
));
Vue
.
component
(
'quote-info'
,
()
=>
import
(
'@pages/sales/quote-info/quote-info.vue'
));
Vue
.
component
(
'contact-usable-grid-view'
,
()
=>
import
(
'@pages/base/contact-usable-grid-view/contact-usable-grid-view.vue'
));
Vue
.
component
(
'product-info-view'
,
()
=>
import
(
'@pages/product/product-info-view/product-info-view.vue'
));
Vue
.
component
(
'competitor-summary'
,
()
=>
import
(
'@pages/sales/competitor-summary/competitor-summary.vue'
));
Vue
.
component
(
'goal-edit-child-goal-view'
,
()
=>
import
(
'@pages/sales/goal-edit-child-goal-view/goal-edit-child-goal-view.vue'
));
...
...
@@ -68,6 +69,7 @@ export const PageComponents = {
Vue
.
component
(
'competitor-info-abstract'
,
()
=>
import
(
'@pages/sales/competitor-info-abstract/competitor-info-abstract.vue'
));
Vue
.
component
(
'metric-pickup-view'
,
()
=>
import
(
'@pages/base/metric-pickup-view/metric-pickup-view.vue'
));
Vue
.
component
(
'metric-edit-view'
,
()
=>
import
(
'@pages/base/metric-edit-view/metric-edit-view.vue'
));
Vue
.
component
(
'lead-status-tab-view'
,
()
=>
import
(
'@pages/sales/lead-status-tab-view/lead-status-tab-view.vue'
));
Vue
.
component
(
'phone-call-edit-view'
,
()
=>
import
(
'@pages/base/phone-call-edit-view/phone-call-edit-view.vue'
));
Vue
.
component
(
'sales-order-quick-create-view'
,
()
=>
import
(
'@pages/sales/sales-order-quick-create-view/sales-order-quick-create-view.vue'
));
Vue
.
component
(
'lead-quick-create'
,
()
=>
import
(
'@pages/sales/lead-quick-create/lead-quick-create.vue'
));
...
...
@@ -83,6 +85,7 @@ export const PageComponents = {
Vue
.
component
(
'sales-literature-info-view'
,
()
=>
import
(
'@pages/sales/sales-literature-info-view/sales-literature-info-view.vue'
));
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
(
'product-association-grid-view'
,
()
=>
import
(
'@pages/product/product-association-grid-view/product-association-grid-view.vue'
));
Vue
.
component
(
'appointment-quick-create'
,
()
=>
import
(
'@pages/base/appointment-quick-create/appointment-quick-create.vue'
));
Vue
.
component
(
'quote-detail-quo-detail-grid-view'
,
()
=>
import
(
'@pages/sales/quote-detail-quo-detail-grid-view/quote-detail-quo-detail-grid-view.vue'
));
...
...
@@ -117,8 +120,8 @@ export const PageComponents = {
Vue
.
component
(
'entitlement-pickup-grid-view'
,
()
=>
import
(
'@pages/service/entitlement-pickup-grid-view/entitlement-pickup-grid-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
(
'service-appointment-edit-view'
,
()
=>
import
(
'@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'
));
Vue
.
component
(
'product-substitute-edit-view'
,
()
=>
import
(
'@pages/product/product-substitute-edit-view/product-substitute-edit-view.vue'
));
Vue
.
component
(
'campaign-activity-by-parent-key'
,
()
=>
import
(
'@pages/marketing/campaign-activity-by-parent-key/campaign-activity-by-parent-key.vue'
));
Vue
.
component
(
'activity-pointer-grid-view'
,
()
=>
import
(
'@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'
));
...
...
@@ -138,7 +141,9 @@ export const PageComponents = {
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'
));
Vue
.
component
(
'lead-excluded-grid-view'
,
()
=>
import
(
'@pages/sales/lead-excluded-grid-view/lead-excluded-grid-view.vue'
));
Vue
.
component
(
'account-pickup-grid-view'
,
()
=>
import
(
'@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'
));
Vue
.
component
(
'lead-on-grid-view'
,
()
=>
import
(
'@pages/sales/lead-on-grid-view/lead-on-grid-view.vue'
));
Vue
.
component
(
'lead-info'
,
()
=>
import
(
'@pages/sales/lead-info/lead-info.vue'
));
Vue
.
component
(
'product-pickup-grid-view'
,
()
=>
import
(
'@pages/product/product-pickup-grid-view/product-pickup-grid-view.vue'
));
Vue
.
component
(
'list-lead-quick-create-by-list'
,
()
=>
import
(
'@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue'
));
...
...
@@ -148,6 +153,7 @@ export const PageComponents = {
Vue
.
component
(
'account-info-all'
,
()
=>
import
(
'@pages/base/account-info-all/account-info-all.vue'
));
Vue
.
component
(
'opportunity-competitor-edit-view'
,
()
=>
import
(
'@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue'
));
Vue
.
component
(
'incident-info-incident-view'
,
()
=>
import
(
'@pages/service/incident-info-incident-view/incident-info-incident-view.vue'
));
Vue
.
component
(
'contact-stop-grid-view'
,
()
=>
import
(
'@pages/base/contact-stop-grid-view/contact-stop-grid-view.vue'
));
Vue
.
component
(
'competitor-sales-literature-sal-lit-comp-edit-view'
,
()
=>
import
(
'@pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view.vue'
));
Vue
.
component
(
'account-usable-grid-view'
,
()
=>
import
(
'@pages/base/account-usable-grid-view/account-usable-grid-view.vue'
));
Vue
.
component
(
'sales-order-info-soview'
,
()
=>
import
(
'@pages/sales/sales-order-info-soview/sales-order-info-soview.vue'
));
...
...
app_CRM/src/pages/ungroup/central/router.ts
浏览文件 @
bf562c51
...
...
@@ -1071,6 +1071,35 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/quote-info/quote-info.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/usablegridview/:usablegridview?'
,
meta
:
{
caption
:
'entities.contact.views.usablegridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'usablegridview'
,
parameterName
:
'usablegridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-usable-grid-view/contact-usable-grid-view.vue'
),
},
{
path
:
'contacts/:contact?/usablegridview/:usablegridview?'
,
meta
:
{
caption
:
'entities.contact.views.usablegridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'usablegridview'
,
parameterName
:
'usablegridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-usable-grid-view/contact-usable-grid-view.vue'
),
},
{
path
:
'products/:product?/infoview/:infoview?'
,
meta
:
{
...
...
@@ -1742,6 +1771,66 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/metric-edit-view/metric-edit-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/leads/:lead?/statustabview/:statustabview?'
,
meta
:
{
caption
:
'entities.lead.views.statustabview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'statustabview'
,
parameterName
:
'statustabview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-status-tab-view/lead-status-tab-view.vue'
),
},
{
path
:
'contacts/:contact?/leads/:lead?/statustabview/:statustabview?'
,
meta
:
{
caption
:
'entities.lead.views.statustabview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'statustabview'
,
parameterName
:
'statustabview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-status-tab-view/lead-status-tab-view.vue'
),
},
{
path
:
'campaigns/:campaign?/leads/:lead?/statustabview/:statustabview?'
,
meta
:
{
caption
:
'entities.lead.views.statustabview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'statustabview'
,
parameterName
:
'statustabview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-status-tab-view/lead-status-tab-view.vue'
),
},
{
path
:
'leads/:lead?/statustabview/:statustabview?'
,
meta
:
{
caption
:
'entities.lead.views.statustabview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'statustabview'
,
parameterName
:
'statustabview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-status-tab-view/lead-status-tab-view.vue'
),
},
{
path
:
'phonecalls/:phonecall?/editview/:editview?'
,
meta
:
{
...
...
@@ -2138,6 +2227,35 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/opportunity-product-opp-opp-pro-grid-view/opportunity-product-opp-opp-pro-grid-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/tabexpview/:tabexpview?'
,
meta
:
{
caption
:
'entities.contact.views.tabexpview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'tabexpview'
,
parameterName
:
'tabexpview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'
),
},
{
path
:
'contacts/:contact?/tabexpview/:tabexpview?'
,
meta
:
{
caption
:
'entities.contact.views.tabexpview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'tabexpview'
,
parameterName
:
'tabexpview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'
),
},
{
path
:
'products/:product?/productassociations/:productassociation?/gridview/:gridview?'
,
meta
:
{
...
...
@@ -3188,27 +3306,27 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
),
},
{
path
:
'
serviceappointments/:serviceappointment?/editview/:edit
view?'
,
path
:
'
accounts/:account?/contacts/:contact?/gridview/:grid
view?'
,
meta
:
{
caption
:
'entities.
serviceappointment.views.edit
view.title'
,
caption
:
'entities.
contact.views.grid
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'serviceappointments'
,
parameterName
:
'serviceappointment'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
service/service-appointment-edit-view/service-appointment-edit
-view.vue'
),
component
:
()
=>
import
(
'@pages/
base/contact-grid-view/contact-grid
-view.vue'
),
},
{
path
:
'
accounts/:account?/
contacts/:contact?/gridview/:gridview?'
,
path
:
'contacts/:contact?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.contact.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
...
...
@@ -3217,18 +3335,18 @@ const router = new Router({
component
:
()
=>
import
(
'@pages/base/contact-grid-view/contact-grid-view.vue'
),
},
{
path
:
'
contacts/:contact?/gridview/:grid
view?'
,
path
:
'
serviceappointments/:serviceappointment?/editview/:edit
view?'
,
meta
:
{
caption
:
'entities.
contact.views.grid
view.title'
,
caption
:
'entities.
serviceappointment.views.edit
view.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'
contacts'
,
parameterName
:
'contac
t'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
serviceappointments'
,
parameterName
:
'serviceappointmen
t'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/
base/contact-grid-view/contact-grid
-view.vue'
),
component
:
()
=>
import
(
'@pages/
service/service-appointment-edit-view/service-appointment-edit
-view.vue'
),
},
{
path
:
'products/:product?/productsubstitutes/:productsubstitute?/editview/:editview?'
,
...
...
@@ -3640,20 +3758,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/lead-dashboard-view/lead-dashboard-view.vue'
),
},
{
path
:
'campaigns/:campaign?/quickcreateview/:quickcreateview?'
,
meta
:
{
caption
:
'entities.campaign.views.quickcreateview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'quickcreateview'
,
parameterName
:
'quickcreateview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/marketing/campaign-quick-create-view/campaign-quick-create-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/conoppgridview/:conoppgridview?'
,
meta
:
{
...
...
@@ -3699,6 +3803,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/opportunity-con-opp-grid-view/opportunity-con-opp-grid-view.vue'
),
},
{
path
:
'campaigns/:campaign?/quickcreateview/:quickcreateview?'
,
meta
:
{
caption
:
'entities.campaign.views.quickcreateview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'quickcreateview'
,
parameterName
:
'quickcreateview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/marketing/campaign-quick-create-view/campaign-quick-create-view.vue'
),
},
{
path
:
'discounttypes/:discounttype?/pickupgridview/:pickupgridview?'
,
meta
:
{
...
...
@@ -3829,6 +3947,66 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/competitor-info/competitor-info.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/leads/:lead?/excludedgridview/:excludedgridview?'
,
meta
:
{
caption
:
'entities.lead.views.excludedgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'excludedgridview'
,
parameterName
:
'excludedgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-excluded-grid-view/lead-excluded-grid-view.vue'
),
},
{
path
:
'contacts/:contact?/leads/:lead?/excludedgridview/:excludedgridview?'
,
meta
:
{
caption
:
'entities.lead.views.excludedgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'excludedgridview'
,
parameterName
:
'excludedgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-excluded-grid-view/lead-excluded-grid-view.vue'
),
},
{
path
:
'campaigns/:campaign?/leads/:lead?/excludedgridview/:excludedgridview?'
,
meta
:
{
caption
:
'entities.lead.views.excludedgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'excludedgridview'
,
parameterName
:
'excludedgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-excluded-grid-view/lead-excluded-grid-view.vue'
),
},
{
path
:
'leads/:lead?/excludedgridview/:excludedgridview?'
,
meta
:
{
caption
:
'entities.lead.views.excludedgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'excludedgridview'
,
parameterName
:
'excludedgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-excluded-grid-view/lead-excluded-grid-view.vue'
),
},
{
path
:
'accounts/:account?/pickupgridview/:pickupgridview?'
,
meta
:
{
...
...
@@ -3843,6 +4021,66 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/leads/:lead?/ongridview/:ongridview?'
,
meta
:
{
caption
:
'entities.lead.views.ongridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'ongridview'
,
parameterName
:
'ongridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-on-grid-view/lead-on-grid-view.vue'
),
},
{
path
:
'contacts/:contact?/leads/:lead?/ongridview/:ongridview?'
,
meta
:
{
caption
:
'entities.lead.views.ongridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'ongridview'
,
parameterName
:
'ongridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-on-grid-view/lead-on-grid-view.vue'
),
},
{
path
:
'campaigns/:campaign?/leads/:lead?/ongridview/:ongridview?'
,
meta
:
{
caption
:
'entities.lead.views.ongridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'campaigns'
,
parameterName
:
'campaign'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'ongridview'
,
parameterName
:
'ongridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-on-grid-view/lead-on-grid-view.vue'
),
},
{
path
:
'leads/:lead?/ongridview/:ongridview?'
,
meta
:
{
caption
:
'entities.lead.views.ongridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'ongridview'
,
parameterName
:
'ongridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-on-grid-view/lead-on-grid-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/leads/:lead?/info/:info?'
,
meta
:
{
...
...
@@ -4245,6 +4483,35 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/service/incident-info-incident-view/incident-info-incident-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/stopgridview/:stopgridview?'
,
meta
:
{
caption
:
'entities.contact.views.stopgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'stopgridview'
,
parameterName
:
'stopgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-stop-grid-view/contact-stop-grid-view.vue'
),
},
{
path
:
'contacts/:contact?/stopgridview/:stopgridview?'
,
meta
:
{
caption
:
'entities.contact.views.stopgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'stopgridview'
,
parameterName
:
'stopgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-stop-grid-view/contact-stop-grid-view.vue'
),
},
{
path
:
'salesliteratures/:salesliterature?/competitorsalesliteratures/:competitorsalesliterature?/sallitcompeditview/:sallitcompeditview?'
,
meta
:
{
...
...
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
bf562c51
...
...
@@ -120,6 +120,18 @@ export const viewstate: any = {
'190c4bc310209f379ac5d63277dac0a5'
,
],
},
{
viewtag
:
'0e4d8b949764a2c40c2b93261aed6fd8'
,
viewmodule
:
'Base'
,
viewname
:
'ContactTabExpView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'64d89dce67b0136bef31d6ff25eeb89a'
,
'0326a502bb574cddc41da4323786dcb5'
,
'e09386cdc26ec75d235aeecf7b59bbca'
,
],
},
{
viewtag
:
'0f4dc7da727ad15a2cad62fe966a633c'
,
viewmodule
:
'Sales'
,
...
...
@@ -486,6 +498,18 @@ export const viewstate: any = {
'fcdb236b65d78c4a8ae64e74f9483a63'
,
],
},
{
viewtag
:
'3202f3f503424c7a2c549b2c5186dc36'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadStatusTabView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'4ab71df980f390b6663b8912f64ede02'
,
'15d12c1173fcb6e742b6a6d92cbc53ed'
,
'976e7a90095f22af96879a4f46b79b7c'
,
],
},
{
viewtag
:
'35728a12ceecb647982051842853547c'
,
viewmodule
:
'Sales'
,
...
...
@@ -672,6 +696,17 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'4ab71df980f390b6663b8912f64ede02'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadOnGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'35728a12ceecb647982051842853547c'
,
'4745ca10fe4421ea043cb9ace1840224'
,
],
},
{
viewtag
:
'4f45c8798db273fefeef7c02541fab6c'
,
viewmodule
:
'Sales'
,
...
...
@@ -823,6 +858,17 @@ export const viewstate: any = {
'521acee07c15c72e914d3ca538cb26fc'
,
],
},
{
viewtag
:
'64d89dce67b0136bef31d6ff25eeb89a'
,
viewmodule
:
'Base'
,
viewname
:
'ContactStopGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'e404dc93e70d6284d4e1a083017625ed'
,
'fcdb236b65d78c4a8ae64e74f9483a63'
,
],
},
{
viewtag
:
'661e0045037121d27f78b71049dc0d8a'
,
viewmodule
:
'Marketing'
,
...
...
@@ -1111,15 +1157,15 @@ export const viewstate: any = {
viewdatachange
:
false
,
refviews
:
[
'07c5035fbb847e889f3dbb9657723f30'
,
'0e4d8b949764a2c40c2b93261aed6fd8'
,
'24a93674ec4c976c08902a3e95421ca6'
,
'b38bc0256ecd5be1a58a3c2210a98d05'
,
'25bf5f8c2ebd1ce2be6d06717ed08a96'
,
'5f8f689d5dccc3db6d2b74a24a8b24ef'
,
'dfc0051ae4813115e03f3d095f8cd7d3'
,
'3202f3f503424c7a2c549b2c5186dc36'
,
'2f0540af5db76052cee0e8e91f0204c4'
,
'631a4276161c551802f3aaf4bd7e607c'
,
'15d12c1173fcb6e742b6a6d92cbc53ed'
,
'0326a502bb574cddc41da4323786dcb5'
,
'90b48a107932f432e0dde42791a51887'
,
'9af073dea1ea05903d52e8bdc5a03dd5'
,
'45fdc8ee4d1401d2d625e80177395ddc'
,
...
...
@@ -1797,6 +1843,17 @@ export const viewstate: any = {
'29bfcd628ab25e297248ff0524d12908'
,
],
},
{
viewtag
:
'e09386cdc26ec75d235aeecf7b59bbca'
,
viewmodule
:
'Base'
,
viewname
:
'ContactUsableGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'e404dc93e70d6284d4e1a083017625ed'
,
'fcdb236b65d78c4a8ae64e74f9483a63'
,
],
},
{
viewtag
:
'e0aef8c0d1f1ae28f628a0541b118961'
,
viewmodule
:
'Finance'
,
...
...
app_CRM/src/uiservice/contact/contact-ui-service-base.ts
浏览文件 @
bf562c51
...
...
@@ -96,6 +96,7 @@ export default class ContactUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'editbook'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'usablegridview'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'quickcreate'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'editperson'
,
srfappde
:
'contacts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'contacts'
});
...
...
app_CRM/src/uiservice/lead/lead-ui-service-base.ts
浏览文件 @
bf562c51
...
...
@@ -82,12 +82,15 @@ export default class LeadUIServiceBase extends UIService {
this
.
allViewMap
.
set
(
'MDATAVIEW:'
,{
viewname
:
'gridview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'statustabview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'quickcreate'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_market'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'ongridview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'conleadgridview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_contact'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'excludedgridview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_company'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'dashboardview'
,
srfappde
:
'leads'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info_detail'
,
srfappde
:
'leads'
});
...
...
@@ -310,6 +313,74 @@ export default class LeadUIServiceBase extends UIService {
backend
();
}
/**
* 无法联系
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Lead_Unable
(
args
:
any
[],
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
lead
:
'%lead%'
});
Object
.
assign
(
params
,
{
leadid
:
'%lead%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
actionContext
.
closeView
(
null
);
const
backend
=
()
=>
{
const
curService
:
LeadService
=
new
LeadService
();
curService
.
Unable
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'无法联系成功!'
});
const
_this
:
any
=
actionContext
;
if
(
xData
&&
xData
.
refresh
&&
xData
.
refresh
instanceof
Function
)
{
xData
.
refresh
(
args
);
}
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 打开主信息界面
*
...
...
@@ -363,6 +434,210 @@ export default class LeadUIServiceBase extends UIService {
openIndexViewTab
(
data
);
}
/**
* 不再感兴趣
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Lead_NoInterested
(
args
:
any
[],
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
lead
:
'%lead%'
});
Object
.
assign
(
params
,
{
leadid
:
'%lead%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
actionContext
.
closeView
(
null
);
const
backend
=
()
=>
{
const
curService
:
LeadService
=
new
LeadService
();
curService
.
NoInterested
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'不再感兴趣成功!'
});
const
_this
:
any
=
actionContext
;
if
(
xData
&&
xData
.
refresh
&&
xData
.
refresh
instanceof
Function
)
{
xData
.
refresh
(
args
);
}
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 丢单
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Lead_LostOrder
(
args
:
any
[],
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
lead
:
'%lead%'
});
Object
.
assign
(
params
,
{
leadid
:
'%lead%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
actionContext
.
closeView
(
null
);
const
backend
=
()
=>
{
const
curService
:
LeadService
=
new
LeadService
();
curService
.
LostOrder
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'丢单成功!'
});
const
_this
:
any
=
actionContext
;
if
(
xData
&&
xData
.
refresh
&&
xData
.
refresh
instanceof
Function
)
{
xData
.
refresh
(
args
);
}
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 取消
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Lead_Cancel
(
args
:
any
[],
context
:
any
=
{},
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
){
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
lead
:
'%lead%'
});
Object
.
assign
(
params
,
{
leadid
:
'%lead%'
});
Object
.
assign
(
params
,
{
fullname
:
'%fullname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
// 直接调实体服务需要转换的数据
if
(
context
&&
context
.
srfsessionid
){
context
.
srfsessionkey
=
context
.
srfsessionid
;
delete
context
.
srfsessionid
;
}
actionContext
.
closeView
(
null
);
const
backend
=
()
=>
{
const
curService
:
LeadService
=
new
LeadService
();
curService
.
Cancel
(
context
,
data
,
true
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
message
});
return
;
}
actionContext
.
$Notice
.
success
({
title
:
'成功'
,
desc
:
'取消成功!'
});
const
_this
:
any
=
actionContext
;
if
(
xData
&&
xData
.
refresh
&&
xData
.
refresh
instanceof
Function
)
{
xData
.
refresh
(
args
);
}
return
response
;
}).
catch
((
response
:
any
)
=>
{
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
actionContext
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常!'
});
return
;
}
if
(
response
.
status
===
401
)
{
return
;
}
return
response
;
});
};
backend
();
}
/**
* 授予资格
*
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-base.tsx
浏览文件 @
bf562c51
...
...
@@ -327,7 +327,7 @@ export class CentralBase extends Vue {
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
statustabview'
,
parameterName
:
'statustab
view'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
...
...
@@ -418,7 +418,7 @@ export class CentralBase extends Vue {
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
tabexpview'
,
parameterName
:
'tabexp
view'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-model.ts
浏览文件 @
bf562c51
...
...
@@ -286,7 +286,7 @@ export default class CentralModel {
textcls
:
''
,
appfunctag
:
'Auto7'
,
appfuncyype
:
'APPVIEW'
,
viewname
:
'contact-
grid
-view'
,
viewname
:
'contact-
tab-exp
-view'
,
resourcetag
:
''
,
}
,
...
...
@@ -328,7 +328,7 @@ export default class CentralModel {
textcls
:
''
,
appfunctag
:
'Auto14'
,
appfuncyype
:
'APPVIEW'
,
viewname
:
'lead-
grid
-view'
,
viewname
:
'lead-
status-tab
-view'
,
resourcetag
:
''
,
}
,
...
...
@@ -974,12 +974,12 @@ export default class CentralModel {
appfunctag
:
'Auto14'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'lead
grid
view'
,
codename
:
'lead
statustab
view'
,
deResParameters
:
[],
routepath
:
'/central/:central?/leads/:lead?/
gridview/:grid
view?'
,
routepath
:
'/central/:central?/leads/:lead?/
statustabview/:statustab
view?'
,
parameters
:
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
statustabview'
,
parameterName
:
'statustab
view'
},
],
},
{
...
...
@@ -1021,12 +1021,12 @@ export default class CentralModel {
appfunctag
:
'Auto7'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'contact
grid
view'
,
codename
:
'contact
tabexp
view'
,
deResParameters
:
[],
routepath
:
'/central/:central?/contacts/:contact?/
gridview/:grid
view?'
,
routepath
:
'/central/:central?/contacts/:contact?/
tabexpview/:tabexp
view?'
,
parameters
:
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'
gridview'
,
parameterName
:
'grid
view'
},
{
pathName
:
'
tabexpview'
,
parameterName
:
'tabexp
view'
},
],
},
{
...
...
app_CRM/src/widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
TabExpPanelControlBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewtabexppanelService
from
'./tab-exp-viewtabexppanel-tabexppanel-service'
;
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
export
class
TabExpViewtabexppanelTabexppanelBase
extends
TabExpPanelControlBase
{
/**
* 建构部件服务对象
*
* @type {TabExpViewtabexppanelService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public
service
:
TabExpViewtabexppanelService
=
new
TabExpViewtabexppanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanelTabexppanelBase
*/
protected
appDeName
:
string
=
'contact'
;
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof TabExpViewtabexppanel
*/
protected
isInit
:
any
=
{
tabviewpanel
:
true
,
tabviewpanel3
:
false
,
tabviewpanel2
:
false
,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof TabExpViewtabexppanel
*/
protected
activatedTabViewPanel
:
string
=
'tabviewpanel'
;
/**
* 组件创建完毕
*
* @protected
* @memberof TabExpViewtabexppanel
*/
protected
ctrlCreated
():
void
{
//设置分页导航srfparentdename和srfparentkey
if
(
this
.
context
.
contact
)
{
Object
.
assign
(
this
.
context
,
{
srfparentdename
:
'Contact'
,
srfparentkey
:
this
.
context
.
contact
});
}
super
.
ctrlCreated
();
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* TabExpViewtabexppanel 部件模型
*
* @export
* @class TabExpViewtabexppanelModel
*/
export
default
class
TabExpViewtabexppanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabexppanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'address3_city'
,
},
{
name
:
'department'
,
},
{
name
:
'parentcustomeridtype'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'managername'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'spousesname'
,
},
{
name
:
'familystatuscode'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address3_composite'
,
},
{
name
:
'address3_shippingmethodcode'
,
},
{
name
:
'lastname'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'educationcode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'birthdate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'haschildrencode'
,
},
{
name
:
'company'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'assistantphone'
,
},
{
name
:
'callback'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'employeeid'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address3_postalcode'
,
},
{
name
:
'merged'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'address3_addresstypecode'
,
},
{
name
:
'pager'
,
},
{
name
:
'assistantname'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'yomimiddlename'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'parentcontactidyominame'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address3_line1'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address3_primarycontactname'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'createdate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address3_stateorprovince'
,
},
{
name
:
'address3_line3'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'parentcustomerid'
,
},
{
name
:
'childrensnames'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'accountrolecode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'managerphone'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'updateman'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'nickname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'aging90'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'address3_utcoffset'
,
},
{
name
:
'fullname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'description'
,
},
{
name
:
'address3_telephone1'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address3_county'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address3_upszone'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'mastercontactidyominame'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'backofficecustomer'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'gendercode'
,
},
{
name
:
'annualincome'
,
},
{
name
:
'subscriptionid'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'firstname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address3_country'
,
},
{
name
:
'yomilastname'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'address3_telephone2'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'externaluseridentifier'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'anniversary'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'middlename'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'fax'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'home2'
,
},
{
name
:
'createman'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'governmentid'
,
},
{
name
:
'address3_telephone3'
,
},
{
name
:
'business2'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'aging60'
,
},
{
name
:
'yomifirstname'
,
},
{
name
:
'address3_postofficebox'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'processid'
,
},
{
name
:
'annualincome_base'
,
},
{
name
:
'address3_addressid'
,
},
{
name
:
'parentcustomeridyominame'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'address3_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'address3_fax'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'aging30'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'address3_longitude'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'suffix'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address3_line2'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address3_freighttermscode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'address3_name'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'numberofchildren'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'slaname'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'customerid'
,
},
{
name
:
'cusomername'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewtabexppanelModel
from
'./tab-exp-viewtabexppanel-tabexppanel-model'
;
/**
* TabExpViewtabexppanel 部件服务对象
*
* @export
* @class TabExpViewtabexppanelService
*/
export
default
class
TabExpViewtabexppanelService
extends
ControlService
{
/**
* 联系人服务对象
*
* @type {ContactService}
* @memberof TabExpViewtabexppanelService
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof TabExpViewtabexppanelService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of TabExpViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof TabExpViewtabexppanelService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
TabExpViewtabexppanelModel
();
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
>
<tabs
:value=
"activatedTabViewPanel"
:animated=
"false"
class=
'tabexppanel'
name=
'tabexpviewtabexppanel'
@
on-click=
"tabPanelClick($event)"
>
<tab-pane
:index=
"0"
name=
'tabviewpanel'
tab=
'tabexpviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '全部联系人'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel"
name=
"tabviewpanel"
ref=
'tabviewpanel'
:expActive=
"activatedTabViewPanel === 'tabviewpanel'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel
>
</tab-pane>
<tab-pane
:index=
"1"
name=
'tabviewpanel3'
tab=
'tabexpviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '停用联系人'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel3
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel3"
name=
"tabviewpanel3"
ref=
'tabviewpanel3'
:expActive=
"activatedTabViewPanel === 'tabviewpanel3'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel3
>
</tab-pane>
<tab-pane
:index=
"2"
name=
'tabviewpanel2'
tab=
'tabexpviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '可用联系人'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel2
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel2"
name=
"tabviewpanel2"
ref=
'tabviewpanel2'
:expActive=
"activatedTabViewPanel === 'tabviewpanel2'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel2
>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabexppanel-tabexppanel/tab-exp-viewtabexppanel-tabexppanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./tab-exp-viewtabexppanel-tabexppanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabexppanelTabexppanelBase } from './tab-exp-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class TabExpViewtabexppanelTabexppanel
* @extends {TabExpViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel3,
view_tabviewpanel2,
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabexppanelTabexppanel extends TabExpViewtabexppanelTabexppanelBase { }
</script>
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewtabviewpanelService
from
'./tab-exp-viewtabviewpanel-tabviewpanel-service'
;
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
export
class
TabExpViewtabviewpanelTabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanelService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public
service
:
TabExpViewtabviewpanelService
=
new
TabExpViewtabviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanelTabviewpanelBase
*/
protected
appDeName
:
string
=
'contact'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* TabExpViewtabviewpanel 部件模型
*
* @export
* @class TabExpViewtabviewpanelModel
*/
export
default
class
TabExpViewtabviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanelModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'address3_city'
,
},
{
name
:
'department'
,
},
{
name
:
'parentcustomeridtype'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'managername'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'spousesname'
,
},
{
name
:
'familystatuscode'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address3_composite'
,
},
{
name
:
'address3_shippingmethodcode'
,
},
{
name
:
'lastname'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'educationcode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'birthdate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'haschildrencode'
,
},
{
name
:
'company'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'assistantphone'
,
},
{
name
:
'callback'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'employeeid'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address3_postalcode'
,
},
{
name
:
'merged'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'address3_addresstypecode'
,
},
{
name
:
'pager'
,
},
{
name
:
'assistantname'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'yomimiddlename'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'parentcontactidyominame'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address3_line1'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address3_primarycontactname'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'createdate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address3_stateorprovince'
,
},
{
name
:
'address3_line3'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'parentcustomerid'
,
},
{
name
:
'childrensnames'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'accountrolecode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'managerphone'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'updateman'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'nickname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'aging90'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'address3_utcoffset'
,
},
{
name
:
'fullname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'description'
,
},
{
name
:
'address3_telephone1'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address3_county'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address3_upszone'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'mastercontactidyominame'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'backofficecustomer'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'gendercode'
,
},
{
name
:
'annualincome'
,
},
{
name
:
'subscriptionid'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'firstname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address3_country'
,
},
{
name
:
'yomilastname'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'address3_telephone2'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'externaluseridentifier'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'anniversary'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'middlename'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'fax'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'home2'
,
},
{
name
:
'createman'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'governmentid'
,
},
{
name
:
'address3_telephone3'
,
},
{
name
:
'business2'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'aging60'
,
},
{
name
:
'yomifirstname'
,
},
{
name
:
'address3_postofficebox'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'processid'
,
},
{
name
:
'annualincome_base'
,
},
{
name
:
'address3_addressid'
,
},
{
name
:
'parentcustomeridyominame'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'address3_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'address3_fax'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'aging30'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'address3_longitude'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'suffix'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address3_line2'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address3_freighttermscode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'address3_name'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'numberofchildren'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'slaname'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'customerid'
,
},
{
name
:
'cusomername'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* TabExpViewtabviewpanel 部件服务对象
*
* @export
* @class TabExpViewtabviewpanelService
*/
export
default
class
TabExpViewtabviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<contact-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel-tabviewpanel/tab-exp-viewtabviewpanel-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./tab-exp-viewtabviewpanel-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanelTabviewpanelBase } from './tab-exp-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class TabExpViewtabviewpanelTabviewpanel
* @extends {TabExpViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanelTabviewpanel extends TabExpViewtabviewpanelTabviewpanelBase { }
</script>
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewtabviewpanel2Service
from
'./tab-exp-viewtabviewpanel2-tabviewpanel-service'
;
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
export
class
TabExpViewtabviewpanel2TabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel2Service}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public
service
:
TabExpViewtabviewpanel2Service
=
new
TabExpViewtabviewpanel2Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel2TabviewpanelBase
*/
protected
appDeName
:
string
=
'contact'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel2
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel2
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel2
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel2
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel2
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel2
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel2
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel2
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel2
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* TabExpViewtabviewpanel2 部件模型
*
* @export
* @class TabExpViewtabviewpanel2Model
*/
export
default
class
TabExpViewtabviewpanel2Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel2Model
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'address3_city'
,
},
{
name
:
'department'
,
},
{
name
:
'parentcustomeridtype'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'managername'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'spousesname'
,
},
{
name
:
'familystatuscode'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address3_composite'
,
},
{
name
:
'address3_shippingmethodcode'
,
},
{
name
:
'lastname'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'educationcode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'birthdate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'haschildrencode'
,
},
{
name
:
'company'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'assistantphone'
,
},
{
name
:
'callback'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'employeeid'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address3_postalcode'
,
},
{
name
:
'merged'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'address3_addresstypecode'
,
},
{
name
:
'pager'
,
},
{
name
:
'assistantname'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'yomimiddlename'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'parentcontactidyominame'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address3_line1'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address3_primarycontactname'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'createdate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address3_stateorprovince'
,
},
{
name
:
'address3_line3'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'parentcustomerid'
,
},
{
name
:
'childrensnames'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'accountrolecode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'managerphone'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'updateman'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'nickname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'aging90'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'address3_utcoffset'
,
},
{
name
:
'fullname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'description'
,
},
{
name
:
'address3_telephone1'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address3_county'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address3_upszone'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'mastercontactidyominame'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'backofficecustomer'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'gendercode'
,
},
{
name
:
'annualincome'
,
},
{
name
:
'subscriptionid'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'firstname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address3_country'
,
},
{
name
:
'yomilastname'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'address3_telephone2'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'externaluseridentifier'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'anniversary'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'middlename'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'fax'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'home2'
,
},
{
name
:
'createman'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'governmentid'
,
},
{
name
:
'address3_telephone3'
,
},
{
name
:
'business2'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'aging60'
,
},
{
name
:
'yomifirstname'
,
},
{
name
:
'address3_postofficebox'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'processid'
,
},
{
name
:
'annualincome_base'
,
},
{
name
:
'address3_addressid'
,
},
{
name
:
'parentcustomeridyominame'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'address3_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'address3_fax'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'aging30'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'address3_longitude'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'suffix'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address3_line2'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address3_freighttermscode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'address3_name'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'numberofchildren'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'slaname'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'customerid'
,
},
{
name
:
'cusomername'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* TabExpViewtabviewpanel2 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel2Service
*/
export
default
class
TabExpViewtabviewpanel2Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<contact-usable-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel2-tabviewpanel/tab-exp-viewtabviewpanel2-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./tab-exp-viewtabviewpanel2-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel2TabviewpanelBase } from './tab-exp-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class TabExpViewtabviewpanel2Tabviewpanel
* @extends {TabExpViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel2Tabviewpanel extends TabExpViewtabviewpanel2TabviewpanelBase { }
</script>
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
MainControlBase
}
from
'@/studio-core'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
TabExpViewtabviewpanel3Service
from
'./tab-exp-viewtabviewpanel3-tabviewpanel-service'
;
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
export
class
TabExpViewtabviewpanel3TabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {TabExpViewtabviewpanel3Service}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public
service
:
TabExpViewtabviewpanel3Service
=
new
TabExpViewtabviewpanel3Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof TabExpViewtabviewpanel3TabviewpanelBase
*/
protected
appDeName
:
string
=
'contact'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof TabExpViewtabviewpanel3
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof TabExpViewtabviewpanel3
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof TabExpViewtabviewpanel3
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof TabExpViewtabviewpanel3
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof TabExpViewtabviewpanel3
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof TabExpViewtabviewpanel3
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof TabExpViewtabviewpanel3
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof TabExpViewtabviewpanel3
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof TabExpViewtabviewpanel3
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* TabExpViewtabviewpanel3 部件模型
*
* @export
* @class TabExpViewtabviewpanel3Model
*/
export
default
class
TabExpViewtabviewpanel3Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof TabExpViewtabviewpanel3Model
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'address3_city'
,
},
{
name
:
'department'
,
},
{
name
:
'parentcustomeridtype'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'managername'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'spousesname'
,
},
{
name
:
'familystatuscode'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address3_composite'
,
},
{
name
:
'address3_shippingmethodcode'
,
},
{
name
:
'lastname'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'educationcode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'birthdate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'haschildrencode'
,
},
{
name
:
'company'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'assistantphone'
,
},
{
name
:
'callback'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'employeeid'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address3_postalcode'
,
},
{
name
:
'merged'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'address3_addresstypecode'
,
},
{
name
:
'pager'
,
},
{
name
:
'assistantname'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'yomimiddlename'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'parentcontactidyominame'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address3_line1'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address3_primarycontactname'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'createdate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address3_stateorprovince'
,
},
{
name
:
'address3_line3'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'parentcustomerid'
,
},
{
name
:
'childrensnames'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'accountrolecode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'managerphone'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'updateman'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'nickname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'aging90'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'address3_utcoffset'
,
},
{
name
:
'fullname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'description'
,
},
{
name
:
'address3_telephone1'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address3_county'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address3_upszone'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'mastercontactidyominame'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'backofficecustomer'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'gendercode'
,
},
{
name
:
'annualincome'
,
},
{
name
:
'subscriptionid'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'firstname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address3_country'
,
},
{
name
:
'yomilastname'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'address3_telephone2'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'externaluseridentifier'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'anniversary'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'middlename'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'fax'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'home2'
,
},
{
name
:
'createman'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'governmentid'
,
},
{
name
:
'address3_telephone3'
,
},
{
name
:
'business2'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'aging60'
,
},
{
name
:
'yomifirstname'
,
},
{
name
:
'address3_postofficebox'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'processid'
,
},
{
name
:
'annualincome_base'
,
},
{
name
:
'address3_addressid'
,
},
{
name
:
'parentcustomeridyominame'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'address3_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'address3_fax'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'aging30'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'address3_longitude'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'suffix'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address3_line2'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address3_freighttermscode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'address3_name'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'numberofchildren'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'slaname'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'customerid'
,
},
{
name
:
'cusomername'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* TabExpViewtabviewpanel3 部件服务对象
*
* @export
* @class TabExpViewtabviewpanel3Service
*/
export
default
class
TabExpViewtabviewpanel3Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<contact-stop-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/contact/tab-exp-viewtabviewpanel3-tabviewpanel/tab-exp-viewtabviewpanel3-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./tab-exp-viewtabviewpanel3-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TabExpViewtabviewpanel3TabviewpanelBase } from './tab-exp-viewtabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class TabExpViewtabviewpanel3Tabviewpanel
* @extends {TabExpViewtabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class TabExpViewtabviewpanel3Tabviewpanel extends TabExpViewtabviewpanel3TabviewpanelBase { }
</script>
app_CRM/src/widgets/lead/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
TabExpPanelControlBase
}
from
'@/studio-core'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
StatusTabViewtabexppanelService
from
'./status-tab-viewtabexppanel-tabexppanel-service'
;
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {StatusTabViewtabexppanelTabexppanelBase}
*/
export
class
StatusTabViewtabexppanelTabexppanelBase
extends
TabExpPanelControlBase
{
/**
* 建构部件服务对象
*
* @type {StatusTabViewtabexppanelService}
* @memberof StatusTabViewtabexppanelTabexppanelBase
*/
public
service
:
StatusTabViewtabexppanelService
=
new
StatusTabViewtabexppanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof StatusTabViewtabexppanelTabexppanelBase
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StatusTabViewtabexppanelTabexppanelBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof StatusTabViewtabexppanel
*/
protected
isInit
:
any
=
{
tabviewpanel
:
true
,
tabviewpanel2
:
false
,
tabviewpanel3
:
false
,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof StatusTabViewtabexppanel
*/
protected
activatedTabViewPanel
:
string
=
'tabviewpanel'
;
/**
* 组件创建完毕
*
* @protected
* @memberof StatusTabViewtabexppanel
*/
protected
ctrlCreated
():
void
{
//设置分页导航srfparentdename和srfparentkey
if
(
this
.
context
.
lead
)
{
Object
.
assign
(
this
.
context
,
{
srfparentdename
:
'Lead'
,
srfparentkey
:
this
.
context
.
lead
});
}
super
.
ctrlCreated
();
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* StatusTabViewtabexppanel 部件模型
*
* @export
* @class StatusTabViewtabexppanelModel
*/
export
default
class
StatusTabViewtabexppanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StatusTabViewtabexppanelModel
*/
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
:
'masterleadidyominame'
,
},
{
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
:
'owneridtype'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'yomicompanyname'
,
},
{
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
:
'yomilastname'
,
},
{
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
:
'yomifirstname'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'salesstage'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'schedulefollowup_prospect'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'need'
,
},
{
name
:
'prioritycode'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'salesstagecode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'middlename'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'purchasetimeframe'
,
},
{
name
:
'yomimiddlename'
,
},
{
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
:
'owneridyominame'
,
},
{
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/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
StatusTabViewtabexppanelModel
from
'./status-tab-viewtabexppanel-tabexppanel-model'
;
/**
* StatusTabViewtabexppanel 部件服务对象
*
* @export
* @class StatusTabViewtabexppanelService
*/
export
default
class
StatusTabViewtabexppanelService
extends
ControlService
{
/**
* 潜在顾客服务对象
*
* @type {LeadService}
* @memberof StatusTabViewtabexppanelService
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof StatusTabViewtabexppanelService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of StatusTabViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof StatusTabViewtabexppanelService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
StatusTabViewtabexppanelModel
();
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
>
<tabs
:value=
"activatedTabViewPanel"
:animated=
"false"
class=
'tabexppanel'
name=
'statustabviewtabexppanel'
@
on-click=
"tabPanelClick($event)"
>
<tab-pane
:index=
"0"
name=
'tabviewpanel'
tab=
'statustabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '全部潜在顾客'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel"
name=
"tabviewpanel"
ref=
'tabviewpanel'
:expActive=
"activatedTabViewPanel === 'tabviewpanel'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel
>
</tab-pane>
<tab-pane
:index=
"1"
name=
'tabviewpanel2'
tab=
'statustabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '已开启潜在顾客'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel2
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel2"
name=
"tabviewpanel2"
ref=
'tabviewpanel2'
:expActive=
"activatedTabViewPanel === 'tabviewpanel2'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel2
>
</tab-pane>
<tab-pane
:index=
"2"
name=
'tabviewpanel3'
tab=
'statustabviewtabexppanel'
class=
''
:label=
"(h) =>{
return h('div', [
h('span', '已排除潜在顾客'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}"
>
<view
_tabviewpanel3
:viewState=
"viewState"
:viewparams=
"JSON.parse(JSON.stringify(viewparams))"
:context=
"JSON.parse(JSON.stringify(context))"
v-if=
"isInit.tabviewpanel3"
name=
"tabviewpanel3"
ref=
'tabviewpanel3'
:expActive=
"activatedTabViewPanel === 'tabviewpanel3'"
@
viewpanelDatasChange =
"tabViewPanelDatasChange"
@
closeview=
"closeView($event)"
>
</view
_tabviewpanel3
>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabexppanel-tabexppanel/status-tab-viewtabexppanel-tabexppanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./status-tab-viewtabexppanel-tabexppanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StatusTabViewtabexppanelTabexppanelBase } from './status-tab-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/lead/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/lead/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/lead/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class StatusTabViewtabexppanelTabexppanel
* @extends {StatusTabViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
view_tabviewpanel3,
}
})
@VueLifeCycleProcessing()
export default class StatusTabViewtabexppanelTabexppanel extends StatusTabViewtabexppanelTabexppanelBase { }
</script>
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
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
StatusTabViewtabviewpanelService
from
'./status-tab-viewtabviewpanel-tabviewpanel-service'
;
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {StatusTabViewtabviewpanelTabviewpanelBase}
*/
export
class
StatusTabViewtabviewpanelTabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {StatusTabViewtabviewpanelService}
* @memberof StatusTabViewtabviewpanelTabviewpanelBase
*/
public
service
:
StatusTabViewtabviewpanelService
=
new
StatusTabViewtabviewpanelService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof StatusTabViewtabviewpanelTabviewpanelBase
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StatusTabViewtabviewpanelTabviewpanelBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StatusTabViewtabviewpanel
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanel
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StatusTabViewtabviewpanel
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StatusTabViewtabviewpanel
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof StatusTabViewtabviewpanel
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof StatusTabViewtabviewpanel
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StatusTabViewtabviewpanel
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof StatusTabViewtabviewpanel
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof StatusTabViewtabviewpanel
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof StatusTabViewtabviewpanel
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof StatusTabViewtabviewpanel
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof StatusTabViewtabviewpanel
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StatusTabViewtabviewpanel
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* StatusTabViewtabviewpanel 部件模型
*
* @export
* @class StatusTabViewtabviewpanelModel
*/
export
default
class
StatusTabViewtabviewpanelModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanelModel
*/
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
:
'masterleadidyominame'
,
},
{
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
:
'owneridtype'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'yomicompanyname'
,
},
{
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
:
'yomilastname'
,
},
{
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
:
'yomifirstname'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'salesstage'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'schedulefollowup_prospect'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'need'
,
},
{
name
:
'prioritycode'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'salesstagecode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'middlename'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'purchasetimeframe'
,
},
{
name
:
'yomimiddlename'
,
},
{
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
:
'owneridyominame'
,
},
{
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/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StatusTabViewtabviewpanel 部件服务对象
*
* @export
* @class StatusTabViewtabviewpanelService
*/
export
default
class
StatusTabViewtabviewpanelService
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<lead-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel-tabviewpanel/status-tab-viewtabviewpanel-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./status-tab-viewtabviewpanel-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StatusTabViewtabviewpanelTabviewpanelBase } from './status-tab-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class StatusTabViewtabviewpanelTabviewpanel
* @extends {StatusTabViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StatusTabViewtabviewpanelTabviewpanel extends StatusTabViewtabviewpanelTabviewpanelBase { }
</script>
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
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
StatusTabViewtabviewpanel2Service
from
'./status-tab-viewtabviewpanel2-tabviewpanel-service'
;
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {StatusTabViewtabviewpanel2TabviewpanelBase}
*/
export
class
StatusTabViewtabviewpanel2TabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {StatusTabViewtabviewpanel2Service}
* @memberof StatusTabViewtabviewpanel2TabviewpanelBase
*/
public
service
:
StatusTabViewtabviewpanel2Service
=
new
StatusTabViewtabviewpanel2Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof StatusTabViewtabviewpanel2TabviewpanelBase
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StatusTabViewtabviewpanel2TabviewpanelBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StatusTabViewtabviewpanel2
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanel2
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StatusTabViewtabviewpanel2
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StatusTabViewtabviewpanel2
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof StatusTabViewtabviewpanel2
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof StatusTabViewtabviewpanel2
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StatusTabViewtabviewpanel2
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof StatusTabViewtabviewpanel2
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof StatusTabViewtabviewpanel2
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof StatusTabViewtabviewpanel2
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof StatusTabViewtabviewpanel2
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof StatusTabViewtabviewpanel2
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StatusTabViewtabviewpanel2
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* StatusTabViewtabviewpanel2 部件模型
*
* @export
* @class StatusTabViewtabviewpanel2Model
*/
export
default
class
StatusTabViewtabviewpanel2Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanel2Model
*/
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
:
'masterleadidyominame'
,
},
{
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
:
'owneridtype'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'yomicompanyname'
,
},
{
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
:
'yomilastname'
,
},
{
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
:
'yomifirstname'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'salesstage'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'schedulefollowup_prospect'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'need'
,
},
{
name
:
'prioritycode'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'salesstagecode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'middlename'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'purchasetimeframe'
,
},
{
name
:
'yomimiddlename'
,
},
{
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
:
'owneridyominame'
,
},
{
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/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StatusTabViewtabviewpanel2 部件服务对象
*
* @export
* @class StatusTabViewtabviewpanel2Service
*/
export
default
class
StatusTabViewtabviewpanel2Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<lead-on-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel2-tabviewpanel/status-tab-viewtabviewpanel2-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./status-tab-viewtabviewpanel2-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StatusTabViewtabviewpanel2TabviewpanelBase } from './status-tab-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class StatusTabViewtabviewpanel2Tabviewpanel
* @extends {StatusTabViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StatusTabViewtabviewpanel2Tabviewpanel extends StatusTabViewtabviewpanel2TabviewpanelBase { }
</script>
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel-base.tsx
0 → 100644
浏览文件 @
bf562c51
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
StatusTabViewtabviewpanel3Service
from
'./status-tab-viewtabviewpanel3-tabviewpanel-service'
;
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {StatusTabViewtabviewpanel3TabviewpanelBase}
*/
export
class
StatusTabViewtabviewpanel3TabviewpanelBase
extends
MainControlBase
{
/**
* 建构部件服务对象
*
* @type {StatusTabViewtabviewpanel3Service}
* @memberof StatusTabViewtabviewpanel3TabviewpanelBase
*/
public
service
:
StatusTabViewtabviewpanel3Service
=
new
StatusTabViewtabviewpanel3Service
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof StatusTabViewtabviewpanel3TabviewpanelBase
*/
public
appEntityService
:
LeadService
=
new
LeadService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StatusTabViewtabviewpanel3TabviewpanelBase
*/
protected
appDeName
:
string
=
'lead'
;
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StatusTabViewtabviewpanel3
*/
@
Prop
()
public
expActive
!
:
any
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanel3
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StatusTabViewtabviewpanel3
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StatusTabViewtabviewpanel3
*/
public
isActivied
:
boolean
=
true
;
/**
* 局部上下文
*
* @type {*}
* @memberof StatusTabViewtabviewpanel3
*/
public
localContext
:
any
=
null
;
/**
* 局部视图参数
*
* @type {*}
* @memberof StatusTabViewtabviewpanel3
*/
public
localViewParam
:
any
=
null
;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public
viewdata
:
string
=
JSON
.
stringify
(
this
.
context
);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public
viewparam
:
string
=
JSON
.
stringify
(
this
.
viewparams
);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StatusTabViewtabviewpanel3
*/
public
navfilter
:
string
=
""
;
/**
* vue 生命周期
*
* @returns
* @memberof StatusTabViewtabviewpanel3
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof StatusTabViewtabviewpanel3
*/
public
afterCreated
(){
this
.
initNavParam
();
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
this
.
$forceUpdate
();
this
.
initNavParam
();
});
}
}
/**
* 初始化导航参数
*
* @memberof StatusTabViewtabviewpanel3
*/
public
initNavParam
(){
if
(
!
Object
.
is
(
this
.
navfilter
,
""
)){
Object
.
assign
(
this
.
viewparams
,{[
this
.
navfilter
]:
this
.
context
[
'majorentity'
]})
}
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
);
}
/**
* 视图数据变化
*
* @memberof StatusTabViewtabviewpanel3
*/
public
viewDatasChange
(
$event
:
any
){
this
.
$emit
(
'viewpanelDatasChange'
,
$event
);
}
/**
* vue 生命周期
*
* @memberof StatusTabViewtabviewpanel3
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StatusTabViewtabviewpanel3
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel-model.ts
0 → 100644
浏览文件 @
bf562c51
/**
* StatusTabViewtabviewpanel3 部件模型
*
* @export
* @class StatusTabViewtabviewpanel3Model
*/
export
default
class
StatusTabViewtabviewpanel3Model
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StatusTabViewtabviewpanel3Model
*/
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
:
'masterleadidyominame'
,
},
{
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
:
'owneridtype'
,
},
{
name
:
'contactidyominame'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'yomicompanyname'
,
},
{
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
:
'yomilastname'
,
},
{
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
:
'yomifirstname'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'salesstage'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'customeridyominame'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'schedulefollowup_prospect'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'customeridtype'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'need'
,
},
{
name
:
'prioritycode'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'salesstagecode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'middlename'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'purchasetimeframe'
,
},
{
name
:
'yomimiddlename'
,
},
{
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
:
'owneridyominame'
,
},
{
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/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel-service.ts
0 → 100644
浏览文件 @
bf562c51
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* StatusTabViewtabviewpanel3 部件服务对象
*
* @export
* @class StatusTabViewtabviewpanel3Service
*/
export
default
class
StatusTabViewtabviewpanel3Service
extends
ControlService
{
}
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel.html
0 → 100644
浏览文件 @
bf562c51
<div
class=
'tabviewpanel'
v-if=
'isActivied'
>
<lead-excluded-grid-view
class=
'viewcontainer2'
:viewdata=
"viewdata"
:viewparam=
"viewparam"
@
viewload=
"viewDatasChange($event)"
:viewDefaultUsage=
"false"
:viewUsage=
"7"
:expActive=
"expActive"
/>
</div>
\ No newline at end of file
app_CRM/src/widgets/lead/status-tab-viewtabviewpanel3-tabviewpanel/status-tab-viewtabviewpanel3-tabviewpanel.vue
0 → 100644
浏览文件 @
bf562c51
<
template
src=
"./status-tab-viewtabviewpanel3-tabviewpanel.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StatusTabViewtabviewpanel3TabviewpanelBase } from './status-tab-viewtabviewpanel3-tabviewpanel-base';
/**
* tabviewpanel3部件
*
* @export
* @class StatusTabViewtabviewpanel3Tabviewpanel
* @extends {StatusTabViewtabviewpanel3TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StatusTabViewtabviewpanel3Tabviewpanel extends StatusTabViewtabviewpanel3TabviewpanelBase { }
</script>
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
bf562c51
...
...
@@ -5812,7 +5812,7 @@
<!--输出实体[LEAD]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-1
65
-68"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-lead-1
84
-68"
>
<createTable
tableName=
"LEAD"
>
<column
name=
"ADDRESS1_FAX"
remarks=
""
type=
"VARCHAR(50)"
>
</column>
...
...
@@ -11462,28 +11462,28 @@
</changeSet>
<!--输出实体[LANGUAGELOCALE]外键关系 -->
<!--输出实体[LEAD]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
65
-296"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-296"
>
<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-1
65
-297"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-297"
>
<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-1
65
-298"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-298"
>
<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-1
65
-299"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-299"
>
<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-1
65
-300"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-300"
>
<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-1
65
-301"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-301"
>
<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-1
65
-302"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-302"
>
<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-1
65
-303"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-lead-1
84
-303"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"LEAD"
constraintName=
"DER1N_LEAD__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[LEADADDRESS]外键关系 -->
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录