Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
4ff5d4c2
提交
4ff5d4c2
编写于
7月 17, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
00d5ec04
变更
29
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
2772 行增加
和
41 行删除
+2772
-41
view-config.json
app_CRM/public/assets/json/view-config.json
+20
-0
en-US.ts
app_CRM/src/locale/lang/en-US.ts
+1
-0
zh-CN.ts
app_CRM/src/locale/lang/zh-CN.ts
+1
-0
incident-customer_en_US.ts
...res/entities/incident-customer/incident-customer_en_US.ts
+106
-0
incident-customer_zh_CN.ts
...res/entities/incident-customer/incident-customer_zh_CN.ts
+106
-0
central-appmenu.ts
app_CRM/src/mock/app/central-appmenu/central-appmenu.ts
+18
-0
viewconfig.ts
app_CRM/src/mock/viewconfig/viewconfig.ts
+16
-0
page-register.ts
app_CRM/src/pages/base/central/page-register.ts
+2
-0
router.ts
app_CRM/src/pages/base/central/router.ts
+28
-0
incident-customer-edit-view-base.tsx
...t-customer-edit-view/incident-customer-edit-view-base.tsx
+731
-0
incident-customer-edit-view.html
...ident-customer-edit-view/incident-customer-edit-view.html
+29
-0
incident-customer-edit-view.vue
...cident-customer-edit-view/incident-customer-edit-view.vue
+22
-0
incident-customer-grid-view-base.tsx
...t-customer-grid-view/incident-customer-grid-view-base.tsx
+779
-0
incident-customer-grid-view.html
...ident-customer-grid-view/incident-customer-grid-view.html
+52
-0
incident-customer-grid-view.vue
...cident-customer-grid-view/incident-customer-grid-view.vue
+24
-0
state.ts
app_CRM/src/store/modules/view-action/state.ts
+35
-13
incident-customer-ui-service-base.ts
...ce/incident-customer/incident-customer-ui-service-base.ts
+2
-0
central-appmenu-base.tsx
.../src/widgets/app/central-appmenu/central-appmenu-base.tsx
+25
-0
central-appmenu-model.ts
.../src/widgets/app/central-appmenu/central-appmenu-model.ts
+33
-0
main-form-base.tsx
...rc/widgets/incident-customer/main-form/main-form-base.tsx
+139
-0
main-form-model.ts
...rc/widgets/incident-customer/main-form/main-form-model.ts
+81
-0
main-form-service.ts
.../widgets/incident-customer/main-form/main-form-service.ts
+372
-0
main-form.html
...RM/src/widgets/incident-customer/main-form/main-form.html
+74
-0
main-form.vue
...CRM/src/widgets/incident-customer/main-form/main-form.vue
+22
-0
main-grid-base.tsx
...rc/widgets/incident-customer/main-grid/main-grid-base.tsx
+9
-0
main-grid-model.ts
...rc/widgets/incident-customer/main-grid/main-grid-model.ts
+5
-0
main-grid.html
...RM/src/widgets/incident-customer/main-grid/main-grid.html
+13
-1
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+26
-26
systemResource.json
...al-core/src/main/resources/permission/systemResource.json
+1
-1
未找到文件。
app_CRM/public/assets/json/view-config.json
浏览文件 @
4ff5d4c2
...
...
@@ -219,6 +219,16 @@
"viewtag"
:
"091b2e4e1948bc0270ea92ef414b5107"
,
"memo"
:
"系统自动添加"
},
"incidentcustomereditview"
:
{
"title"
:
"案例客户编辑视图"
,
"caption"
:
"案例客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Service"
,
"viewname"
:
"IncidentCustomerEditView"
,
"viewfilename"
:
"incident-customer-edit-view"
,
"viewtag"
:
"0a46285598cda63074349563918d7ac5"
,
"memo"
:
"系统自动添加"
},
"ibizlistedit_datapanelview"
:
{
"title"
:
"头部信息编辑"
,
"caption"
:
"市场营销列表"
,
...
...
@@ -1969,6 +1979,16 @@
"viewtag"
:
"922d0c8c2262ba83063f6cb3557a450b"
,
"memo"
:
"系统自动添加"
},
"incidentcustomergridview"
:
{
"title"
:
"案例客户表格视图"
,
"caption"
:
"案例客户"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Service"
,
"viewname"
:
"IncidentCustomerGridView"
,
"viewfilename"
:
"incident-customer-grid-view"
,
"viewtag"
:
"92ca46ad4e3db8239701e2a136642d98"
,
"memo"
:
""
},
"accountstopgridview"
:
{
"title"
:
"客户表格视图"
,
"caption"
:
"客户信息"
,
...
...
app_CRM/src/locale/lang/en-US.ts
浏览文件 @
4ff5d4c2
...
...
@@ -226,6 +226,7 @@ export default {
menuitem27
:
"服务"
,
menuitem28
:
"服务案例"
,
menuitem32
:
"知识文章"
,
menuitem17
:
"案例客户"
,
bottom_exp
:
"底部内容"
,
footer_left
:
"底部左侧"
,
footer_center
:
"底部中间"
,
...
...
app_CRM/src/locale/lang/zh-CN.ts
浏览文件 @
4ff5d4c2
...
...
@@ -226,6 +226,7 @@ export default {
menuitem27
:
"服务"
,
menuitem28
:
"服务案例"
,
menuitem32
:
"知识文章"
,
menuitem17
:
"案例客户"
,
bottom_exp
:
"底部内容"
,
footer_left
:
"底部左侧"
,
footer_center
:
"底部中间"
,
...
...
app_CRM/src/locale/lanres/entities/incident-customer/incident-customer_en_US.ts
浏览文件 @
4ff5d4c2
...
...
@@ -11,6 +11,10 @@ export default {
caption
:
"客户"
,
title
:
"客户"
,
},
editview
:
{
caption
:
"案例客户"
,
title
:
"案例客户编辑视图"
,
},
mpickupview
:
{
caption
:
"案例客户"
,
title
:
"案例客户数据多项选择视图"
,
...
...
@@ -19,11 +23,37 @@ export default {
caption
:
"案例客户"
,
title
:
"案例客户选择表格视图"
,
},
gridview
:
{
caption
:
"案例客户"
,
title
:
"案例客户表格视图"
,
},
},
main_form
:
{
details
:
{
group1
:
"案例客户基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
businesstypecode
:
"商业类型"
,
customerid
:
"客户"
,
customername
:
"客户"
,
customertype
:
"客户类型"
,
},
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
customername
:
"客户"
,
customertype
:
"客户类型"
,
businesstypecode
:
"商业类型"
,
},
uiactions
:
{
},
...
...
@@ -37,4 +67,80 @@ export default {
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"Save"
,
tip
:
"Save"
,
},
tbitem4
:
{
caption
:
"Save And New"
,
tip
:
"Save And New"
,
},
tbitem5
:
{
caption
:
"Save And Close"
,
tip
:
"Save And Close Window"
,
},
tbitem6
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem7
:
{
caption
:
"Remove And Close"
,
tip
:
"Remove And Close Window"
,
},
tbitem8
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem12
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem13
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14
:
{
caption
:
"Copy"
,
tip
:
"Copy {0}"
,
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"New"
,
tip
:
"New"
,
},
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/incident-customer/incident-customer_zh_CN.ts
浏览文件 @
4ff5d4c2
...
...
@@ -10,6 +10,10 @@ export default {
caption
:
"客户"
,
title
:
"客户"
,
},
editview
:
{
caption
:
"案例客户"
,
title
:
"案例客户编辑视图"
,
},
mpickupview
:
{
caption
:
"案例客户"
,
title
:
"案例客户数据多项选择视图"
,
...
...
@@ -18,11 +22,37 @@ export default {
caption
:
"案例客户"
,
title
:
"案例客户选择表格视图"
,
},
gridview
:
{
caption
:
"案例客户"
,
title
:
"案例客户表格视图"
,
},
},
main_form
:
{
details
:
{
group1
:
"案例客户基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
businesstypecode
:
"商业类型"
,
customerid
:
"客户"
,
customername
:
"客户"
,
customertype
:
"客户类型"
,
},
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
customername
:
"客户"
,
customertype
:
"客户类型"
,
businesstypecode
:
"商业类型"
,
},
uiactions
:
{
},
...
...
@@ -36,4 +66,80 @@ export default {
uiactions
:
{
},
},
editviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"保存"
,
tip
:
"保存"
,
},
tbitem4
:
{
caption
:
"保存并新建"
,
tip
:
"保存并新建"
,
},
tbitem5
:
{
caption
:
"保存并关闭"
,
tip
:
"保存并关闭"
,
},
tbitem6
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem7
:
{
caption
:
"删除并关闭"
,
tip
:
"删除并关闭"
,
},
tbitem8
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem12
:
{
caption
:
"新建"
,
tip
:
"新建"
,
},
tbitem13
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem14
:
{
caption
:
"拷贝"
,
tip
:
"拷贝"
,
},
},
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
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/app/central-appmenu/central-appmenu.ts
浏览文件 @
4ff5d4c2
...
...
@@ -745,6 +745,24 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
textcls
:
''
,
appfunctag
:
'Auto17'
,
resourcetag
:
''
,
},
{
id
:
'2D4A2378-B18F-4CA3-A2C4-B5444C7A590B'
,
name
:
'menuitem17'
,
text
:
'案例客户'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'案例客户'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_2'
,
resourcetag
:
''
,
},
],
},
...
...
app_CRM/src/mock/viewconfig/viewconfig.ts
浏览文件 @
4ff5d4c2
...
...
@@ -183,6 +183,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"IncidentEffectiveGridView"
,
"viewtag"
:
"091b2e4e1948bc0270ea92ef414b5107"
},
"incidentcustomereditview"
:
{
"title"
:
"案例客户编辑视图"
,
"caption"
:
"案例客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Service"
,
"viewname"
:
"IncidentCustomerEditView"
,
"viewtag"
:
"0a46285598cda63074349563918d7ac5"
},
"ibizlistedit_datapanelview"
:
{
"title"
:
"头部信息编辑"
,
"caption"
:
"市场营销列表"
,
...
...
@@ -1583,6 +1591,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"IncidentPickupView"
,
"viewtag"
:
"922d0c8c2262ba83063f6cb3557a450b"
},
"incidentcustomergridview"
:
{
"title"
:
"案例客户表格视图"
,
"caption"
:
"案例客户"
,
"viewtype"
:
"DEGRIDVIEW"
,
"viewmodule"
:
"Service"
,
"viewname"
:
"IncidentCustomerGridView"
,
"viewtag"
:
"92ca46ad4e3db8239701e2a136642d98"
},
"accountstopgridview"
:
{
"title"
:
"客户表格视图"
,
"caption"
:
"客户信息"
,
...
...
app_CRM/src/pages/base/central/page-register.ts
浏览文件 @
4ff5d4c2
...
...
@@ -125,6 +125,7 @@ export const PageComponents = {
Vue
.
component
(
'sales-order-summary-view'
,
()
=>
import
(
'@pages/sales/sales-order-summary-view/sales-order-summary-view.vue'
));
Vue
.
component
(
'quote-detail-edit-view'
,
()
=>
import
(
'@pages/sales/quote-detail-edit-view/quote-detail-edit-view.vue'
));
Vue
.
component
(
'product-stop-grid-view'
,
()
=>
import
(
'@pages/product/product-stop-grid-view/product-stop-grid-view.vue'
));
Vue
.
component
(
'incident-customer-grid-view'
,
()
=>
import
(
'@pages/service/incident-customer-grid-view/incident-customer-grid-view.vue'
));
Vue
.
component
(
'quote-edit-view'
,
()
=>
import
(
'@pages/sales/quote-edit-view/quote-edit-view.vue'
));
Vue
.
component
(
'incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-grid-view/incident-grid-view.vue'
));
Vue
.
component
(
'account-quick-create'
,
()
=>
import
(
'@pages/base/account-quick-create/account-quick-create.vue'
));
...
...
@@ -215,6 +216,7 @@ export const PageComponents = {
Vue
.
component
(
'list-contact-inner'
,
()
=>
import
(
'@pages/marketing/list-contact-inner/list-contact-inner.vue'
));
Vue
.
component
(
'campaign-info-campagin'
,
()
=>
import
(
'@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'
));
Vue
.
component
(
'contact-edit-view'
,
()
=>
import
(
'@pages/base/contact-edit-view/contact-edit-view.vue'
));
Vue
.
component
(
'incident-customer-edit-view'
,
()
=>
import
(
'@pages/service/incident-customer-edit-view/incident-customer-edit-view.vue'
));
Vue
.
component
(
'appointment-edit-view'
,
()
=>
import
(
'@pages/base/appointment-edit-view/appointment-edit-view.vue'
));
Vue
.
component
(
'list-account-edit-view'
,
()
=>
import
(
'@pages/marketing/list-account-edit-view/list-account-edit-view.vue'
));
Vue
.
component
(
'incident-edit-data-panel-view'
,
()
=>
import
(
'@pages/service/incident-edit-data-panel-view/incident-edit-data-panel-view.vue'
));
...
...
app_CRM/src/pages/base/central/router.ts
浏览文件 @
4ff5d4c2
...
...
@@ -5385,6 +5385,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/product/product-stop-grid-view/product-stop-grid-view.vue'
),
},
{
path
:
'incidentcustomers/:incidentcustomer?/gridview/:gridview?'
,
meta
:
{
caption
:
'entities.incidentcustomer.views.gridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'incidentcustomers'
,
parameterName
:
'incidentcustomer'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/service/incident-customer-grid-view/incident-customer-grid-view.vue'
),
},
{
path
:
'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/editview/:editview?'
,
meta
:
{
...
...
@@ -8797,6 +8811,20 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/contact-edit-view/contact-edit-view.vue'
),
},
{
path
:
'incidentcustomers/:incidentcustomer?/editview/:editview?'
,
meta
:
{
caption
:
'entities.incidentcustomer.views.editview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'incidentcustomers'
,
parameterName
:
'incidentcustomer'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/service/incident-customer-edit-view/incident-customer-edit-view.vue'
),
},
{
path
:
'appointments/:appointment?/editview/:editview?'
,
meta
:
{
...
...
app_CRM/src/pages/service/incident-customer-edit-view/incident-customer-edit-view-base.tsx
0 → 100644
浏览文件 @
4ff5d4c2
import
{
Subject
}
from
'rxjs'
;
import
{
EditViewBase
}
from
'@/studio-core'
;
import
IncidentCustomerService
from
'@/service/incident-customer/incident-customer-service'
;
import
IncidentCustomerAuthService
from
'@/authservice/incident-customer/incident-customer-auth-service'
;
import
EditViewEngine
from
'@engine/view/edit-view-engine'
;
import
IncidentCustomerUIService
from
'@/uiservice/incident-customer/incident-customer-ui-service'
;
/**
* 案例客户编辑视图视图基类
*
* @export
* @class IncidentCustomerEditViewBase
* @extends {EditViewBase}
*/
export
class
IncidentCustomerEditViewBase
extends
EditViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected
appDeName
:
string
=
'incidentcustomer'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected
appDeKey
:
string
=
'customerid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof IncidentCustomerEditViewBase
*/
protected
appDeMajor
:
string
=
'customername'
;
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof IncidentCustomerEditViewBase
*/
protected
appEntityService
:
IncidentCustomerService
=
new
IncidentCustomerService
;
/**
* 实体权限服务对象
*
* @type IncidentCustomerUIService
* @memberof IncidentCustomerEditViewBase
*/
public
appUIService
:
IncidentCustomerUIService
=
new
IncidentCustomerUIService
(
this
.
$store
);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof IncidentCustomerEditViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof IncidentCustomerEditViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.incidentcustomer.views.editview.caption'
,
srfTitle
:
'entities.incidentcustomer.views.editview.title'
,
srfSubTitle
:
'entities.incidentcustomer.views.editview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof IncidentCustomerEditViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_form
:
{
name
:
'form'
,
type
:
'FORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof IncidentCustomerEditView
*/
public
toolBarModels
:
any
=
{
tbitem3
:
{
name
:
'tbitem3'
,
caption
:
'保存'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'保存'
,
iconcls
:
'fa fa-save'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Save'
,
target
:
''
,
class
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'保存并新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'保存并新建'
,
iconcls
:
'sx-tb-saveandnew'
,
icon
:
'../sasrfex/images/default/icon_saveandnew.png'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'SaveAndNew'
,
target
:
''
,
class
:
''
}
},
tbitem5
:
{
name
:
'tbitem5'
,
caption
:
'保存并关闭'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'保存并关闭'
,
iconcls
:
'fa fa-power-off'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'SaveAndExit'
,
target
:
''
,
class
:
''
}
},
tbitem6
:
{
name
:
'tbitem6'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem7
:
{
name
:
'tbitem7'
,
caption
:
'删除并关闭'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'删除并关闭'
,
iconcls
:
'fa fa-remove'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'RemoveAndExit'
,
target
:
'SINGLEKEY'
,
class
:
''
}
},
tbitem8
:
{
name
:
'tbitem8'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem12
:
{
name
:
'tbitem12'
,
caption
:
'新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'新建'
,
iconcls
:
'fa fa-file-text-o'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
,
class
:
''
}
},
tbitem13
:
{
name
:
'tbitem13'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem14
:
{
name
:
'tbitem14'
,
caption
:
'拷贝'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'拷贝'
,
iconcls
:
'fa fa-copy'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
target
:
'SINGLEKEY'
,
class
:
''
}
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'0a46285598cda63074349563918d7ac5'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof IncidentCustomerEditViewBase
*/
public
engine
:
EditViewEngine
=
new
EditViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof IncidentCustomerEditViewBase
*/
public
engineInit
():
void
{
this
.
engine
.
init
({
view
:
this
,
form
:
this
.
$refs
.
form
,
p2k
:
'0'
,
keyPSDEField
:
'incidentcustomer'
,
majorPSDEField
:
'customername'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem5'
))
{
this
.
toolbar_tbitem5_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem7'
))
{
this
.
toolbar_tbitem7_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem9'
))
{
this
.
toolbar_tbitem9_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem10'
))
{
this
.
toolbar_tbitem10_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem12'
))
{
this
.
toolbar_tbitem12_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem14'
))
{
this
.
toolbar_tbitem14_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem15'
))
{
this
.
toolbar_tbitem15_click
(
null
,
''
,
$event2
);
}
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public
form_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'save'
,
$event
);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public
form_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'remove'
,
$event
);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerEditViewBase
*/
public
form_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'form'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem3_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Save
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndNew
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem5_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndExit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem7_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
RemoveAndExit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem9_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
SaveAndStart
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem10_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ViewWFStep
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem12_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
New
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem14_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem15_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
.
form
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 保存
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
Save
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
// 界面行为容器对象 _this
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
save
instanceof
Function
)
{
xData
.
save
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
_this
.
$emit
(
'viewdataschange'
,
[{
...
response
.
data
}]);
});
}
else
if
(
_this
.
save
&&
_this
.
save
instanceof
Function
)
{
_this
.
save
();
}
}
/**
* 保存并新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
SaveAndNew
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
saveAndNew
instanceof
Function
))
{
return
;
}
xData
.
saveAndNew
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
_this
.
$emit
(
'viewdataschange'
,
JSON
.
stringify
({
status
:
'error'
,
action
:
'saveAndNew'
}));
return
;
}
_this
.
$emit
(
'viewdataschange'
,
JSON
.
stringify
({
status
:
'success'
,
action
:
'saveAndNew'
,
data
:
response
.
data
}));
if
(
xData
.
autoLoad
instanceof
Function
)
{
xData
.
autoLoad
();
}
});
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
SaveAndExit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
saveAndExit
instanceof
Function
)
{
xData
.
saveAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
else
if
(
_this
.
saveAndExit
&&
_this
.
saveAndExit
instanceof
Function
)
{
_this
.
saveAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
RemoveAndExit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
xData
&&
xData
.
removeAndExit
instanceof
Function
)
{
xData
.
removeAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
else
if
(
_this
.
removeAndExit
&&
_this
.
removeAndExit
instanceof
Function
)
{
_this
.
removeAndExit
().
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
if
(
window
.
parent
){
window
.
parent
.
postMessage
([{
...
response
.
data
}],
'*'
);
}
});
}
}
/**
* 开始流程
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
SaveAndStart
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
wfstart
instanceof
Function
))
{
return
;
}
xData
.
wfstart
(
args
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
window
.
parent
){
window
.
parent
.
postMessage
({
...
_data
},
'*'
);
}
if
(
_this
.
viewdata
)
{
_this
.
$emit
(
'viewdataschange'
,
[{
...
_data
}]);
_this
.
$emit
(
'close'
);
}
else
if
(
this
.
$tabPageExp
)
{
this
.
$tabPageExp
.
onClose
(
this
.
$route
.
fullPath
);
}
});
}
/**
* 当前流程步骤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
ViewWFStep
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
wfsubmit
instanceof
Function
))
{
return
;
}
xData
.
wfsubmit
(
args
).
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
return
;
}
const
{
data
:
_data
}
=
response
;
if
(
_this
.
viewdata
)
{
_this
.
$emit
(
'viewdataschange'
,
[{
...
_data
}]);
_this
.
$emit
(
'close'
);
}
else
if
(
_this
.
$tabPageExp
)
{
_this
.
$tabPageExp
.
onClose
(
_this
.
$route
.
fullPath
);
}
});
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newdata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerEditViewBase
*/
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 IncidentCustomerEditViewBase
*/
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
();
}
}
\ No newline at end of file
app_CRM/src/pages/service/incident-customer-edit-view/incident-customer-edit-view.html
0 → 100644
浏览文件 @
4ff5d4c2
<studio-view-style2
viewName=
"incidentcustomereditview"
viewTitle=
"案例客户编辑视图"
class=
'deeditview incident-customer-edit-view'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{$t(model.srfTitle)}}
</span>
</template>
<template
slot=
"toolbar"
>
<view-toolbar
mode=
"STYLE2"
:model=
"toolBarModels"
@
item-click=
"toolbar_click($event)"
/>
</template>
<view
_form
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:autosave=
"false"
:viewtag=
"viewtag"
:showBusyIndicator=
"true"
updateAction=
"Update"
removeAction=
"Remove"
loaddraftAction=
"GetDraft"
loadAction=
"Get"
createAction=
"Create"
WFSubmitAction=
""
WFStartAction=
""
style=
''
name=
"form"
ref=
'form'
@
save=
"form_save($event)"
@
remove=
"form_remove($event)"
@
load=
"form_load($event)"
@
closeview=
"closeView($event)"
>
</view
_form
>
</studio-view-style2>
\ No newline at end of file
app_CRM/src/pages/service/incident-customer-edit-view/incident-customer-edit-view.vue
0 → 100644
浏览文件 @
4ff5d4c2
<
template
src=
"./incident-customer-edit-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IncidentCustomerEditViewBase } from './incident-customer-edit-view-base';
import view_form from '@widgets/incident-customer/main-form/main-form.vue';
/**
* 案例客户编辑视图视图
*
* @export
* @class IncidentCustomerEditView
* @extends {IncidentCustomerEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class IncidentCustomerEditView extends IncidentCustomerEditViewBase { }
</script>
app_CRM/src/pages/service/incident-customer-grid-view/incident-customer-grid-view-base.tsx
0 → 100644
浏览文件 @
4ff5d4c2
import
{
Subject
}
from
'rxjs'
;
import
{
GridViewBase
}
from
'@/studio-core'
;
import
IncidentCustomerService
from
'@/service/incident-customer/incident-customer-service'
;
import
IncidentCustomerAuthService
from
'@/authservice/incident-customer/incident-customer-auth-service'
;
import
GridViewEngine
from
'@engine/view/grid-view-engine'
;
import
IncidentCustomerUIService
from
'@/uiservice/incident-customer/incident-customer-ui-service'
;
import
CodeListService
from
"@service/app/codelist-service"
;
/**
* 案例客户表格视图视图基类
*
* @export
* @class IncidentCustomerGridViewBase
* @extends {GridViewBase}
*/
export
class
IncidentCustomerGridViewBase
extends
GridViewBase
{
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected
appDeName
:
string
=
'incidentcustomer'
;
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected
appDeKey
:
string
=
'customerid'
;
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof IncidentCustomerGridViewBase
*/
protected
appDeMajor
:
string
=
'customername'
;
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof IncidentCustomerGridViewBase
*/
protected
appEntityService
:
IncidentCustomerService
=
new
IncidentCustomerService
;
/**
* 实体权限服务对象
*
* @type IncidentCustomerUIService
* @memberof IncidentCustomerGridViewBase
*/
public
appUIService
:
IncidentCustomerUIService
=
new
IncidentCustomerUIService
(
this
.
$store
);
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof IncidentCustomerGridViewBase
*/
protected
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof IncidentCustomerGridViewBase
*/
protected
model
:
any
=
{
srfCaption
:
'entities.incidentcustomer.views.gridview.caption'
,
srfTitle
:
'entities.incidentcustomer.views.gridview.title'
,
srfSubTitle
:
'entities.incidentcustomer.views.gridview.subtitle'
,
dataInfo
:
''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof IncidentCustomerGridViewBase
*/
protected
containerModel
:
any
=
{
view_toolbar
:
{
name
:
'toolbar'
,
type
:
'TOOLBAR'
},
view_grid
:
{
name
:
'grid'
,
type
:
'GRID'
},
view_searchform
:
{
name
:
'searchform'
,
type
:
'SEARCHFORM'
},
};
/**
* 工具栏模型
*
* @type {*}
* @memberof IncidentCustomerGridView
*/
public
toolBarModels
:
any
=
{
tbitem3
:
{
name
:
'tbitem3'
,
caption
:
'新建'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'新建'
,
iconcls
:
'fa fa-file-text-o'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
,
class
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'编辑'
,
iconcls
:
'fa fa-edit'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
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
,
noprivdisplaymode
:
2
,
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
,
noprivdisplaymode
:
2
,
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
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportExcel'
,
target
:
''
},
MaxRowCount
:
1000
,
class
:
''
},
tbitem10
:
{
name
:
'tbitem10'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem19
:
{
name
:
'tbitem19'
,
caption
:
'过滤'
,
'isShowCaption'
:
true
,
'isShowIcon'
:
true
,
tooltip
:
'过滤'
,
iconcls
:
'fa fa-filter'
,
icon
:
''
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
noprivdisplaymode
:
2
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
,
class
:
''
}
},
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected
viewtag
:
string
=
'92ca46ad4e3db8239701e2a136642d98'
;
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof IncidentCustomerGridViewBase
*/
public
engine
:
GridViewEngine
=
new
GridViewEngine
();
/**
* 引擎初始化
*
* @public
* @memberof IncidentCustomerGridViewBase
*/
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
:
'incidentcustomer'
,
majorPSDEField
:
'customername'
,
isLoadDefault
:
true
,
});
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
):
void
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_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
,
'tbitem24'
))
{
this
.
toolbar_tbitem24_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem25'
))
{
this
.
toolbar_tbitem25_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem8'
))
{
this
.
toolbar_tbitem8_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem13'
))
{
this
.
toolbar_tbitem13_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem11'
))
{
this
.
toolbar_tbitem11_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
grid_selectionchange
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'selectionchange'
,
$event
);
}
/**
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
grid_beforeload
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'beforeload'
,
$event
);
}
/**
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
grid_rowdblclick
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'rowdblclick'
,
$event
);
}
/**
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
grid_remove
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'remove'
,
$event
);
}
/**
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
grid_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'grid'
,
'load'
,
$event
);
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
searchform_save
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'save'
,
$event
);
}
/**
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
searchform_search
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'search'
,
$event
);
}
/**
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof IncidentCustomerGridViewBase
*/
public
searchform_load
(
$event
:
any
,
$event2
?:
any
):
void
{
this
.
engine
.
onCtrlEvent
(
'searchform'
,
'load'
,
$event
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem3_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
.
New
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem24_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
.
ToggleRowEdit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem25_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
.
NewRow
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 逻辑事件
*
* @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
,
"IncidentCustomer"
);
}
/**
* 打开新建数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof IncidentCustomerGridView
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
let
localContext
:
any
=
null
;
let
localViewParam
:
any
=
null
;
this
.
$Notice
.
warning
({
title
:
'错误'
,
desc
:
'向导添加未实现'
});
}
/**
* 打开编辑数据视图
*
* @param {any[]} args
* @param {*} [params]
* @param {*} [fullargs]
* @param {*} [$event]
* @param {*} [xData]
* @memberof IncidentCustomerGridView
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
const
localContext
:
any
=
null
;
const
localViewParam
:
any
=
null
;
const
data
:
any
=
{};
let
tempContext
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
if
(
args
.
length
>
0
){
Object
.
assign
(
tempContext
,
args
[
0
]);
}
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'incidentcustomers'
,
parameterName
:
'incidentcustomer'
},
{
pathName
:
'editview'
,
parameterName
:
'editview'
},
];
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 IncidentCustomerGridViewBase
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newdata 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
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
,
{
incidentcustomer
:
args
[
0
].
incidentcustomer
})
}
_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 IncidentCustomerGridViewBase
*/
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 IncidentCustomerGridViewBase
*/
public
ToggleRowEdit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
xData
.
actualIsOpenEdit
=
!
xData
.
actualIsOpenEdit
;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
public
NewRow
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
const
data
:
any
=
{};
if
(
_this
.
hasOwnProperty
(
'newRow'
)
&&
_this
.
newRow
instanceof
Function
)
{
_this
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
.
newRow
&&
xData
.
newRow
instanceof
Function
)
{
xData
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newRow 视图处理逻辑不存在,请添加!'
});
}
}
/**
* 删除
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IncidentCustomerGridViewBase
*/
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 IncidentCustomerGridViewBase
*/
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 IncidentCustomerGridViewBase
*/
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 IncidentCustomerGridViewBase
*/
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/service/incident-customer-grid-view/incident-customer-grid-view.html
0 → 100644
浏览文件 @
4ff5d4c2
<studio-view-style2
viewName=
"incidentcustomergridview"
viewTitle=
"案例客户表格视图"
class=
'degridview incident-customer-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>
<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.apply(_self, arguments)"
updateAction=
""
removeAction=
"Remove"
loaddraftAction=
""
loadAction=
""
createAction=
""
fetchAction=
"FetchDefault"
:newdata=
"newdata.bind(_self)"
:opendata=
"opendata.bind(_self)"
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/service/incident-customer-grid-view/incident-customer-grid-view.vue
0 → 100644
浏览文件 @
4ff5d4c2
<
template
src=
"./incident-customer-grid-view.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { IncidentCustomerGridViewBase } from './incident-customer-grid-view-base';
import view_grid from '@widgets/incident-customer/main-grid/main-grid.vue';
import view_searchform from '@widgets/incident-customer/default-searchform/default-searchform.vue';
/**
* 案例客户表格视图视图
*
* @export
* @class IncidentCustomerGridView
* @extends {IncidentCustomerGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class IncidentCustomerGridView extends IncidentCustomerGridViewBase { }
</script>
app_CRM/src/store/modules/view-action/state.ts
浏览文件 @
4ff5d4c2
...
...
@@ -209,6 +209,15 @@ export const viewstate: any = {
'f440f1d3b950a89e6cb72cadea120b74'
,
],
},
{
viewtag
:
'0a46285598cda63074349563918d7ac5'
,
viewmodule
:
'Service'
,
viewname
:
'IncidentCustomerEditView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'0ab0bd0aaadd588905a82de62c80ff07'
,
viewmodule
:
'Marketing'
,
...
...
@@ -1767,31 +1776,32 @@ export const viewstate: any = {
viewdatachange
:
false
,
refviews
:
[
'0e4d8b949764a2c40c2b93261aed6fd8'
,
'00e8e9d547a2367a0e13e232ea85b920'
,
'ef8908af79e7631a6292209fa498a899'
,
'bd2a4adb1377cac6ebbbc883699f28d9'
,
'25bf5f8c2ebd1ce2be6d06717ed08a96'
,
'72a6c4ef002175090488d6f819020395'
,
'98a1ae9b4e6bf9282450b169a0c3ad9a'
,
'3202f3f503424c7a2c549b2c5186dc36'
,
'd6dde8e6dd703de9b544d3e5d9f07579'
,
'efe82dc0a6991dd88da8c33cee6bf451'
,
'8895fef7ce4f5bdd1cd8f950bd1f8bcc'
,
'2f0540af5db76052cee0e8e91f0204c4'
,
'02131b45343ed8c70e500cd8ac520361'
,
'90b48a107932f432e0dde42791a51887'
,
'02a20de31897da1246080987e9491e06'
,
'
c67b638daa17df2f9ecf99fc1c396e2f
'
,
'
90b48a107932f432e0dde42791a51887
'
,
'224e212f2d5e9c0a6a07b3c650f9b30c'
,
'
9af073dea1ea05903d52e8bdc5a03dd5
'
,
'
c67b638daa17df2f9ecf99fc1c396e2f
'
,
'02653a27f371622ac0a726752936646c'
,
'45fdc8ee4d1401d2d625e80177395ddc'
,
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4'
,
'3cac572b3a6905293a0e22e3f3fa3c04'
,
'9af073dea1ea05903d52e8bdc5a03dd5'
,
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA'
,
'3cac572b3a6905293a0e22e3f3fa3c04'
,
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4'
,
'00367e275947880480763049e5c495be'
,
'00e8e9d547a2367a0e13e232ea85b920'
,
'bd2a4adb1377cac6ebbbc883699f28d9'
,
'3202f3f503424c7a2c549b2c5186dc36'
,
'd6dde8e6dd703de9b544d3e5d9f07579'
,
'efe82dc0a6991dd88da8c33cee6bf451'
,
'2f0540af5db76052cee0e8e91f0204c4'
,
'45fdc8ee4d1401d2d625e80177395ddc'
,
'92ca46ad4e3db8239701e2a136642d98'
,
'd1c35f3c52010e1428d7dc1a6bc82f63'
,
'4c14fc25c4155348b60b75f4763c0bec'
,
'00367e275947880480763049e5c495be'
,
],
},
{
...
...
@@ -1910,6 +1920,18 @@ export const viewstate: any = {
'7cd4753a46e288fc3bac3a4d6b08c8d1'
,
],
},
{
viewtag
:
'92ca46ad4e3db8239701e2a136642d98'
,
viewmodule
:
'Service'
,
viewname
:
'IncidentCustomerGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'0a46285598cda63074349563918d7ac5'
,
'9a96ebf2e57358b3590b9d4479edb77a'
,
'6e18ac74e5685439110f9b4e534ee005'
,
],
},
{
viewtag
:
'9433b49c4e43a15dfc8bbd91bdd4c27f'
,
viewmodule
:
'Base'
,
...
...
app_CRM/src/uiservice/incident-customer/incident-customer-ui-service-base.ts
浏览文件 @
4ff5d4c2
...
...
@@ -90,8 +90,10 @@ export default class IncidentCustomerUIServiceBase extends UIService {
*/
public
initViewMap
(){
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'incidentcustomers'
});
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'incidentcustomers'
});
this
.
allViewMap
.
set
(
'MPICKUPVIEW:'
,{
viewname
:
'mpickupview'
,
srfappde
:
'incidentcustomers'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'incidentcustomers'
});
this
.
allViewMap
.
set
(
'MDATAVIEW:'
,{
viewname
:
'gridview'
,
srfappde
:
'incidentcustomers'
});
}
/**
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-base.tsx
浏览文件 @
4ff5d4c2
...
...
@@ -61,6 +61,8 @@ export class CentralBase extends Vue {
this
.
clickAuto1
(
item
);
break
;
case
'Auto29'
:
this
.
clickAuto29
(
item
);
break
;
case
'_2'
:
this
.
click_2
(
item
);
break
;
case
'Auto17'
:
this
.
clickAuto17
(
item
);
break
;
case
'Auto7'
:
...
...
@@ -604,6 +606,29 @@ export class CentralBase extends Vue {
})
}
/**
* 案例客户
*
* @param {*} [item={}]
* @memberof Central
*/
public
click_2
(
item
:
any
=
{})
{
const
viewparam
:
any
=
{};
Object
.
assign
(
viewparam
,
{});
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'incidentcustomers'
,
parameterName
:
'incidentcustomer'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
];
const
path
:
string
=
this
.
$viewTool
.
buildUpRoutePath
(
this
.
$route
,
{},
deResParameters
,
parameters
,
[],
viewparam
);
if
(
Object
.
is
(
this
.
$route
.
fullPath
,
path
)){
return
;
}
this
.
$nextTick
(
function
(){
this
.
$router
.
push
(
path
);
})
}
/**
* 知识文章
*
...
...
app_CRM/src/widgets/app/central-appmenu/central-appmenu-model.ts
浏览文件 @
4ff5d4c2
...
...
@@ -839,6 +839,27 @@ export default class CentralModel {
viewname
:
'knowledge-article-grid-view'
,
resourcetag
:
''
,
}
,
{
id
:
'2D4A2378-B18F-4CA3-A2C4-B5444C7A590B'
,
name
:
'menuitem17'
,
text
:
'案例客户'
,
type
:
'MENUITEM'
,
counterid
:
''
,
tooltip
:
'案例客户'
,
expanded
:
false
,
separator
:
false
,
hidden
:
false
,
hidesidebar
:
false
,
opendefault
:
false
,
iconcls
:
''
,
icon
:
''
,
textcls
:
''
,
appfunctag
:
'_2'
,
appfuncyype
:
'APPVIEW'
,
viewname
:
'incident-customer-grid-view'
,
resourcetag
:
''
,
}
,
],
}
...
...
@@ -1206,6 +1227,18 @@ export default class CentralModel {
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
},
{
appfunctag
:
'_2'
,
appfuncyype
:
'APPVIEW'
,
openmode
:
''
,
codename
:
'incidentcustomergridview'
,
deResParameters
:
[],
routepath
:
'/central/:central?/incidentcustomers/:incidentcustomer?/gridview/:gridview?'
,
parameters
:
[
{
pathName
:
'incidentcustomers'
,
parameterName
:
'incidentcustomer'
},
{
pathName
:
'gridview'
,
parameterName
:
'gridview'
},
],
},
{
appfunctag
:
'Auto17'
,
appfuncyype
:
'APPVIEW'
,
...
...
app_CRM/src/widgets/incident-customer/main-form/main-form-base.tsx
0 → 100644
浏览文件 @
4ff5d4c2
import
{
Prop
,
Provide
,
Emit
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
Watch
,
EditFormControlBase
}
from
'@/studio-core'
;
import
IncidentCustomerService
from
'@/service/incident-customer/incident-customer-service'
;
import
MainService
from
'./main-form-service'
;
import
IncidentCustomerUIService
from
'@/uiservice/incident-customer/incident-customer-ui-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {MainEditFormBase}
*/
export
class
MainEditFormBase
extends
EditFormControlBase
{
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected
controlType
:
string
=
'FORM'
;
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainEditFormBase
*/
public
service
:
MainService
=
new
MainService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {IncidentCustomerService}
* @memberof MainEditFormBase
*/
public
appEntityService
:
IncidentCustomerService
=
new
IncidentCustomerService
({
$store
:
this
.
$store
});
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected
appDeName
:
string
=
'incidentcustomer'
;
/**
* 界面UI服务对象
*
* @type {IncidentCustomerUIService}
* @memberof MainEditFormBase
*/
public
appUIService
:
IncidentCustomerUIService
=
new
IncidentCustomerUIService
(
this
.
$store
);
/**
* 表单数据对象
*
* @type {*}
* @memberof MainEditFormBase
*/
public
data
:
any
=
{
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
businesstypecode
:
null
,
customerid
:
null
,
customername
:
null
,
customertype
:
null
,
incidentcustomer
:
null
,
};
/**
* 属性值规则
*
* @type {*}
* @memberof MainEditFormBase
*/
public
rules
:
any
=
{
customername
:
[
{
required
:
true
,
type
:
'string'
,
message
:
'客户 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'客户 值不能为空'
,
trigger
:
'blur'
},
],
customertype
:
[
{
required
:
true
,
type
:
'string'
,
message
:
'客户类型 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'客户类型 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof MainEditFormBase
*/
public
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'案例客户基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.incidentcustomer.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
}),
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
}),
group2
:
new
FormGroupPanelModel
({
caption
:
'操作信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group2'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.incidentcustomer.main_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
}),
formpage2
:
new
FormPageModel
({
caption
:
'其它'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage2'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
}),
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srfkey
:
new
FormItemModel
({
caption
:
'客户'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srfmajortext
:
new
FormItemModel
({
caption
:
'客户'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
businesstypecode
:
new
FormItemModel
({
caption
:
'商业类型'
,
detailType
:
'FORMITEM'
,
name
:
'businesstypecode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
customerid
:
new
FormItemModel
({
caption
:
'客户'
,
detailType
:
'FORMITEM'
,
name
:
'customerid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
customername
:
new
FormItemModel
({
caption
:
'客户'
,
detailType
:
'FORMITEM'
,
name
:
'customername'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
customertype
:
new
FormItemModel
({
caption
:
'客户类型'
,
detailType
:
'FORMITEM'
,
name
:
'customertype'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
showMoreMode
:
0
,
disabled
:
false
,
enableCond
:
3
}),
form
:
new
FormTabPanelModel
({
caption
:
'form'
,
detailType
:
'TABPANEL'
,
name
:
'form'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
tabPages
:
[{
name
:
'formpage1'
,
index
:
0
,
visible
:
true
},
{
name
:
'formpage2'
,
index
:
1
,
visible
:
true
}]
}),
};
}
\ No newline at end of file
app_CRM/src/widgets/incident-customer/main-form/main-form-model.ts
0 → 100644
浏览文件 @
4ff5d4c2
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export
default
class
MainModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'srforikey'
,
},
{
name
:
'srfkey'
,
prop
:
'customerid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'customername'
,
dataType
:
'TEXT'
,
},
{
name
:
'srftempmode'
,
},
{
name
:
'srfuf'
,
},
{
name
:
'srfdeid'
,
},
{
name
:
'srfsourcekey'
,
},
{
name
:
'businesstypecode'
,
prop
:
'businesstypecode'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'customerid'
,
prop
:
'customerid'
,
dataType
:
'GUID'
,
},
{
name
:
'customername'
,
prop
:
'customername'
,
dataType
:
'TEXT'
,
},
{
name
:
'customertype'
,
prop
:
'customertype'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'incidentcustomer'
,
prop
:
'customerid'
,
dataType
:
'FONTKEY'
,
},
]
}
}
\ No newline at end of file
app_CRM/src/widgets/incident-customer/main-form/main-form-service.ts
0 → 100644
浏览文件 @
4ff5d4c2
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
IncidentCustomerService
from
'@/service/incident-customer/incident-customer-service'
;
import
MainModel
from
'./main-form-model'
;
/**
* Main 部件服务对象
*
* @export
* @class MainService
*/
export
default
class
MainService
extends
ControlService
{
/**
* 案例客户服务对象
*
* @type {IncidentCustomerService}
* @memberof MainService
*/
public
appEntityService
:
IncidentCustomerService
=
new
IncidentCustomerService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof MainService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of MainService.
*
* @param {*} [opts={}]
* @memberof MainService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
MainModel
();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof MainService
*/
private
doItems
(
promise
:
Promise
<
any
>
,
deKeyField
:
string
,
deName
:
string
):
Promise
<
any
>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
promise
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
data
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
item
[
deName
]
=
item
[
deKeyField
];
data
[
index
]
=
item
;
});
resolve
(
data
);
}
else
{
reject
([])
}
}).
catch
((
response
:
any
)
=>
{
reject
([])
});
});
}
/**
* 获取跨实体数据集合
*
* @param {string} serviceName 服务名称
* @param {string} interfaceName 接口名称
* @param {*} data
* @param {boolean} [isloading]
* @returns {Promise<any[]>}
* @memberof MainService
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
return
Promise
.
reject
([])
}
/**
* 启动工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
wfstart
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
);
context
=
this
.
handleRequestData
(
action
,
context
,
data
).
context
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
context
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFStart
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
wfsubmit
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
localdata
?:
any
):
Promise
<
any
>
{
data
=
this
.
handleWFData
(
data
,
true
);
context
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
).
context
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
context
,
data
,
isloading
,
localdata
);
}
else
{
result
=
this
.
appEntityService
.
WFSubmit
(
context
,
data
,
isloading
,
localdata
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
add
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
Object
.
assign
(
Data
,{
customerid
:
data
.
customerid
,
srffrontuf
:
'1'
});
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Create
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
update
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Update
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
get
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
Get
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 加载草稿
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
loadDraft
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
//仿真主键数据
const
PrimaryKey
=
Util
.
createUUID
();
Data
.
customerid
=
PrimaryKey
;
Data
.
incidentcustomer
=
PrimaryKey
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
this
.
appEntityService
.
GetDraft
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
response
.
data
.
customerid
=
PrimaryKey
;
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 前台逻辑
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MainService
*/
@
Errorlog
public
frontLogic
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
result
:
Promise
<
any
>
;
const
_appEntityService
:
any
=
this
.
appEntityService
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
return
Promise
.
reject
({
status
:
500
,
data
:
{
title
:
'失败'
,
message
:
'系统异常'
}
});
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
,
true
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
})
}
/**
* 处理请求数据
*
* @param action 行为
* @param data 数据
* @memberof MainService
*/
public
handleRequestData
(
action
:
string
,
context
:
any
,
data
:
any
=
{},
isMerge
:
boolean
=
false
){
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
let
requestData
:
any
=
{};
if
(
isMerge
&&
(
data
&&
data
.
viewparams
)){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
formItemItems
.
forEach
((
item
:
any
)
=>
{
if
(
item
&&
item
.
dataType
&&
Object
.
is
(
item
.
dataType
,
'FONTKEY'
)){
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
context
[
item
.
name
];
}
}
else
{
if
(
item
&&
item
.
prop
){
requestData
[
item
.
prop
]
=
data
[
item
.
name
];
}
}
});
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
}
\ No newline at end of file
app_CRM/src/widgets/incident-customer/main-form/main-form.html
0 → 100644
浏览文件 @
4ff5d4c2
<i-form
:model=
"this.data"
class=
'app-form'
ref=
'form'
id=
'incidentcustomer_main'
style=
""
>
<input
style=
"display:none;"
/>
<row
>
<tabs
:animated=
"false"
size=
"small"
name=
'main'
:value=
"detailsModel.form.activiedPage"
@
on-click=
"detailsModel.form.clickPage($event)"
>
<tab-pane
v-show=
"detailsModel.formpage1.visible"
name=
'formpage1'
:index=
"0"
tab=
'main'
class=
''
:label=
"(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.incidentcustomer.main_form.details.formpage1')
])
}"
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-group
:model=
"detailsModel.group1"
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.incidentcustomer.main_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<app-form-group-data-panel
slot=
"dataInfoPanel"
:model=
"detailsModel.group1"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
/>
<row>
<i-col
v-show=
"detailsModel.businesstypecode.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-item
name=
'businesstypecode'
:itemRules=
"this.rules.businesstypecode"
class=
''
:caption=
"$t('entities.incidentcustomer.main_form.details.businesstypecode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.businesstypecode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.businesstypecode"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.businesstypecode.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.customerid.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-item
name=
'customerid'
:itemRules=
"this.rules.customerid"
class=
''
:caption=
"$t('entities.incidentcustomer.main_form.details.customerid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.customerid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.customerid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.customerid.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.customername.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-item
name=
'customername'
:itemRules=
"this.rules.customername"
class=
''
:caption=
"$t('entities.incidentcustomer.main_form.details.customername')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.customername.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.customername"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.customername.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.customertype.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-item
name=
'customertype'
:itemRules=
"this.rules.customertype"
class=
''
:caption=
"$t('entities.incidentcustomer.main_form.details.customertype')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.customertype.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.customertype"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.customertype.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</tab-pane>
<tab-pane
v-show=
"detailsModel.formpage2.visible"
name=
'formpage2'
:index=
"1"
tab=
'main'
class=
''
:label=
"(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.incidentcustomer.main_form.details.formpage2')
])
}"
>
<i-col
v-show=
"detailsModel.group2.visible"
:style=
"{}"
:lg=
"{ span: 24, offset: 0 }"
>
<app-form-group
:model=
"detailsModel.group2"
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group2.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.incidentcustomer.main_form.details.group2')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<app-form-group-data-panel
slot=
"dataInfoPanel"
:model=
"detailsModel.group2"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
/>
<row>
</row>
</app-form-group>
</i-col>
</tab-pane>
</tabs>
</row>
</i-form>
\ No newline at end of file
app_CRM/src/widgets/incident-customer/main-form/main-form.vue
0 → 100644
浏览文件 @
4ff5d4c2
<
template
src=
"./main-form.html"
/>
<script
lang=
'tsx'
>
import
{ Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MainEditFormBase } from './main-form-base';
/**
* form部件
*
* @export
* @class MainEditForm
* @extends {MainEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MainEditForm extends MainEditFormBase { }
</script>
app_CRM/src/widgets/incident-customer/main-grid/main-grid-base.tsx
浏览文件 @
4ff5d4c2
...
...
@@ -99,6 +99,14 @@ export class MainGridBase extends GridControllerBase {
util
:
'PX'
,
isEnableRowEdit
:
false
,
},
{
name
:
'businesstypecode'
,
label
:
'商业类型'
,
langtag
:
'entities.incidentcustomer.main_grid.columns.businesstypecode'
,
show
:
true
,
util
:
'PX'
,
isEnableRowEdit
:
false
,
},
]
/**
...
...
@@ -135,6 +143,7 @@ export class MainGridBase extends GridControllerBase {
public
hasRowEdit
:
any
=
{
'customername'
:
false
,
'customertype'
:
false
,
'businesstypecode'
:
false
,
};
/**
...
...
app_CRM/src/widgets/incident-customer/main-grid/main-grid-model.ts
浏览文件 @
4ff5d4c2
...
...
@@ -26,6 +26,11 @@ export default class MainModel {
]
}
else
{
return
[
{
name
:
'businesstypecode'
,
prop
:
'businesstypecode'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'customertype'
,
prop
:
'customertype'
,
...
...
app_CRM/src/widgets/incident-customer/main-grid/main-grid.html
浏览文件 @
4ff5d4c2
...
...
@@ -24,7 +24,7 @@
<el-table-column
align=
"center"
type=
'selection'
:width=
"checkboxColWidth"
></el-table-column>
</template>
<template
v-if=
"getColumnState('customername')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'customername'"
:label=
"$t('entities.incidentcustomer.main_grid.columns.customername')"
:width=
"
25
0"
:align=
"'left'"
:sortable=
"'custom'"
>
<el-table-column
show-overflow-tooltip
:prop=
"'customername'"
:label=
"$t('entities.incidentcustomer.main_grid.columns.customername')"
:width=
"
10
0"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"{column}"
>
<span
class=
"column-header "
>
{{$t('entities.incidentcustomer.main_grid.columns.customername')}}
...
...
@@ -49,6 +49,18 @@
</template>
</el-table-column>
</template>
<template
v-if=
"getColumnState('businesstypecode')"
>
<el-table-column
show-overflow-tooltip
:prop=
"'businesstypecode'"
:label=
"$t('entities.incidentcustomer.main_grid.columns.businesstypecode')"
:width=
"100"
:align=
"'left'"
:sortable=
"'custom'"
>
<template
v-slot:header=
"{column}"
>
<span
class=
"column-header "
>
{{$t('entities.incidentcustomer.main_grid.columns.businesstypecode')}}
</span>
</template>
<template
v-slot=
"{row,column,$index}"
>
<span>
{{row.businesstypecode}}
</span>
</template>
</el-table-column>
</template>
<template
v-if=
"adaptiveState"
>
<el-table-column></el-table-column>
</template>
...
...
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
4ff5d4c2
...
...
@@ -4,7 +4,7 @@
<!--输出实体[ACCOUNT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-61
7
-1"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-61
8
-1"
>
<createTable
tableName=
"ACCOUNT"
>
<column
name=
"ADDRESS1_PRIMARYCONTACTNAME"
remarks=
""
type=
"VARCHAR(100)"
>
</column>
...
...
@@ -4769,7 +4769,7 @@
<!--输出实体[INCIDENT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-incident-1
80
-59"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-incident-1
91
-59"
>
<createTable
tableName=
"INCIDENT"
>
<column
name=
"LASTONHOLDTIME"
remarks=
""
type=
"DATETIME"
>
</column>
...
...
@@ -4969,7 +4969,7 @@
<!--输出实体[INCIDENTCUSTOMER]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-incidentcustomer-
50
-60"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-incidentcustomer-
63
-60"
>
<createTable
tableName=
"INCIDENTCUSTOMER"
>
</createTable>
</changeSet>
...
...
@@ -10980,31 +10980,31 @@
</changeSet>
<!--输出实体[ACCOUNT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-135"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-135"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTACCOUNTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__ACCOUNT__PARENT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACCOUNTID"
referencedTableName=
"ACCOUNT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-136"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-136"
>
<addForeignKeyConstraint
baseColumnNames=
"PRIMARYCONTACTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__CONTACT__PRIMAR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-137"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-137"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-138"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-138"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-139"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-139"
>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-140"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-140"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-141"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-141"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-142"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-142"
>
<addForeignKeyConstraint
baseColumnNames=
"TERRITORYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TERRITORY__TERR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TERRITORYID"
referencedTableName=
"TERRITORY"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
7
-143"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-61
8
-143"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[ACTIVITYMIMEATTACHMENT]外键关系 -->
...
...
@@ -11350,46 +11350,46 @@
<addForeignKeyConstraint
baseColumnNames=
"RESOURCESPECID"
baseTableName=
"SERVICE"
constraintName=
"DER1N_SERVICE__RESOURCESPEC__R"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"RESOURCESPECID"
referencedTableName=
"RESOURCESPEC"
validate=
"true"
/>
</changeSet>
<!--输出实体[INCIDENT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-260"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-260"
>
<addForeignKeyConstraint
baseColumnNames=
"CUSTOMERID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT_INCIDENTCUSTOME"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CUSTOMERID"
referencedTableName=
"INCIDENTCUSTOMER"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-261"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-261"
>
<addForeignKeyConstraint
baseColumnNames=
"PRIMARYCONTACTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__CONTACT__PRIMA"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-262"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-262"
>
<addForeignKeyConstraint
baseColumnNames=
"RESPONSIBLECONTACTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__CONTACT__RESPO"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-263"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-263"
>
<addForeignKeyConstraint
baseColumnNames=
"CONTRACTDETAILID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__CONTRACTDETAIL"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTRACTDETAILID"
referencedTableName=
"CONTRACTDETAIL"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-264"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-264"
>
<addForeignKeyConstraint
baseColumnNames=
"CONTRACTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__CONTRACT__CONT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTRACTID"
referencedTableName=
"CONTRACT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-265"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-265"
>
<addForeignKeyConstraint
baseColumnNames=
"ENTITLEMENTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__ENTITLEMENT__E"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ENTITLEMENTID"
referencedTableName=
"ENTITLEMENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-266"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-266"
>
<addForeignKeyConstraint
baseColumnNames=
"EXISTINGCASE"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__INCIDENT__EXIS"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"INCIDENTID"
referencedTableName=
"INCIDENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-267"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-267"
>
<addForeignKeyConstraint
baseColumnNames=
"MASTERID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__INCIDENT__MAST"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"INCIDENTID"
referencedTableName=
"INCIDENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-268"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-268"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTCASEID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__INCIDENT__PARE"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"INCIDENTID"
referencedTableName=
"INCIDENT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-269"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-269"
>
<addForeignKeyConstraint
baseColumnNames=
"PRODUCTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__PRODUCT__PRODU"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRODUCTID"
referencedTableName=
"PRODUCT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-270"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-270"
>
<addForeignKeyConstraint
baseColumnNames=
"FIRSTRESPONSEBYKPIID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__SLAKPIINSTANCE"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAKPIINSTANCEID"
referencedTableName=
"SLAKPIINSTANCE"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-272"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-272"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-273"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-273"
>
<addForeignKeyConstraint
baseColumnNames=
"SUBJECTID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__SUBJECT__SUBJE"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SUBJECTID"
referencedTableName=
"SUBJECT"
validate=
"true"
/>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
80
-274"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-incident-1
91
-274"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"INCIDENT"
constraintName=
"DER1N_INCIDENT__TRANSACTIONCUR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
<!--输出实体[INCIDENTCUSTOMER]外键关系 -->
...
...
businesscentral-core/src/main/resources/permission/systemResource.json
浏览文件 @
4ff5d4c2
...
...
@@ -489,7 +489,7 @@
{
"appid"
:
"CRM"
,
"appname"
:
"客户管理"
,
"appmenu"
:[{
"menuid"
:
"Central"
,
"menuname"
:
"Central"
,
"menuitem"
:[{
"id"
:
"user_menus"
,
"name"
:
"用户菜单"
},{
"id"
:
"top_menus"
,
"name"
:
"顶部菜单"
,
"items"
:[{
"id"
:
"menuitem3"
,
"name"
:
"系统设置"
,
"items"
:[{
"id"
:
"menuitem39"
,
"name"
:
"区域"
},{
"id"
:
"menuitem26"
,
"name"
:
"货币"
},{
"id"
:
"menuitem4"
,
"name"
:
"链接角色"
},{
"id"
:
"menuitem33"
,
"name"
:
"计价单位"
},{
"id"
:
"menuitem36"
,
"name"
:
"计价单位组"
},{
"id"
:
"menuitem37"
,
"name"
:
"价目表"
},{
"id"
:
"menuitem38"
,
"name"
:
"折扣表"
}]},{
"id"
:
"menuitem34"
,
"name"
:
"消息通知"
},{
"id"
:
"menuitem35"
,
"name"
:
"帮助"
}]},{
"id"
:
"left_exp"
,
"name"
:
"左侧菜单"
,
"items"
:[{
"id"
:
"menuitem18"
,
"name"
:
"最近"
},{
"id"
:
"menuitem19"
,
"name"
:
"固定"
},{
"id"
:
"menuitem16"
,
"name"
:
"我的工作"
,
"items"
:[{
"id"
:
"menuitem1"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem2"
,
"name"
:
"活动"
}]},{
"id"
:
"menuitem20"
,
"name"
:
"客户"
,
"items"
:[{
"id"
:
"menuitem5"
,
"name"
:
"客户"
},{
"id"
:
"menuitem7"
,
"name"
:
"联系人"
}]},{
"id"
:
"menuitem21"
,
"name"
:
"销售"
,
"items"
:[{
"id"
:
"menuitem8"
,
"name"
:
"潜在客户"
},{
"id"
:
"menuitem9"
,
"name"
:
"商机"
},{
"id"
:
"menuitem10"
,
"name"
:
"竞争对手"
}]},{
"id"
:
"menuitem22"
,
"name"
:
"宣传资料"
,
"items"
:[{
"id"
:
"menuitem11"
,
"name"
:
"报价单"
},{
"id"
:
"menuitem12"
,
"name"
:
"订单"
},{
"id"
:
"menuitem13"
,
"name"
:
"发票"
},{
"id"
:
"menuitem6"
,
"name"
:
"产品"
},{
"id"
:
"menuitem14"
,
"name"
:
"销售宣传资料"
}]},{
"id"
:
"menuitem23"
,
"name"
:
"市场营销"
,
"items"
:[{
"id"
:
"menuitem30"
,
"name"
:
"市场活动"
},{
"id"
:
"menuitem15"
,
"name"
:
"市场营销列表"
}]},{
"id"
:
"menuitem24"
,
"name"
:
"绩效"
,
"items"
:[{
"id"
:
"menuitem25"
,
"name"
:
"目标"
},{
"id"
:
"menuitem31"
,
"name"
:
"目标度量"
}]},{
"id"
:
"menuitem27"
,
"name"
:
"服务"
,
"items"
:[{
"id"
:
"menuitem28"
,
"name"
:
"服务案例"
},{
"id"
:
"menuitem32"
,
"name"
:
"知识文章"
}]}]},{
"id"
:
"bottom_exp"
,
"name"
:
"底部内容"
},{
"id"
:
"footer_left"
,
"name"
:
"底部左侧"
},{
"id"
:
"footer_center"
,
"name"
:
"底部中间"
},{
"id"
:
"footer_right"
,
"name"
:
"底部右侧"
}]
},{
"menuid"
:
"Setting"
,
"menuname"
:
"Setting"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"链接角色"
}]
}]
"appmenu"
:[{
"menuid"
:
"Central"
,
"menuname"
:
"Central"
,
"menuitem"
:[{
"id"
:
"user_menus"
,
"name"
:
"用户菜单"
},{
"id"
:
"top_menus"
,
"name"
:
"顶部菜单"
,
"items"
:[{
"id"
:
"menuitem3"
,
"name"
:
"系统设置"
,
"items"
:[{
"id"
:
"menuitem39"
,
"name"
:
"区域"
},{
"id"
:
"menuitem26"
,
"name"
:
"货币"
},{
"id"
:
"menuitem4"
,
"name"
:
"链接角色"
},{
"id"
:
"menuitem33"
,
"name"
:
"计价单位"
},{
"id"
:
"menuitem36"
,
"name"
:
"计价单位组"
},{
"id"
:
"menuitem37"
,
"name"
:
"价目表"
},{
"id"
:
"menuitem38"
,
"name"
:
"折扣表"
}]},{
"id"
:
"menuitem34"
,
"name"
:
"消息通知"
},{
"id"
:
"menuitem35"
,
"name"
:
"帮助"
}]},{
"id"
:
"left_exp"
,
"name"
:
"左侧菜单"
,
"items"
:[{
"id"
:
"menuitem18"
,
"name"
:
"最近"
},{
"id"
:
"menuitem19"
,
"name"
:
"固定"
},{
"id"
:
"menuitem16"
,
"name"
:
"我的工作"
,
"items"
:[{
"id"
:
"menuitem1"
,
"name"
:
"仪表盘"
},{
"id"
:
"menuitem2"
,
"name"
:
"活动"
}]},{
"id"
:
"menuitem20"
,
"name"
:
"客户"
,
"items"
:[{
"id"
:
"menuitem5"
,
"name"
:
"客户"
},{
"id"
:
"menuitem7"
,
"name"
:
"联系人"
}]},{
"id"
:
"menuitem21"
,
"name"
:
"销售"
,
"items"
:[{
"id"
:
"menuitem8"
,
"name"
:
"潜在客户"
},{
"id"
:
"menuitem9"
,
"name"
:
"商机"
},{
"id"
:
"menuitem10"
,
"name"
:
"竞争对手"
}]},{
"id"
:
"menuitem22"
,
"name"
:
"宣传资料"
,
"items"
:[{
"id"
:
"menuitem11"
,
"name"
:
"报价单"
},{
"id"
:
"menuitem12"
,
"name"
:
"订单"
},{
"id"
:
"menuitem13"
,
"name"
:
"发票"
},{
"id"
:
"menuitem6"
,
"name"
:
"产品"
},{
"id"
:
"menuitem14"
,
"name"
:
"销售宣传资料"
}]},{
"id"
:
"menuitem23"
,
"name"
:
"市场营销"
,
"items"
:[{
"id"
:
"menuitem30"
,
"name"
:
"市场活动"
},{
"id"
:
"menuitem15"
,
"name"
:
"市场营销列表"
}]},{
"id"
:
"menuitem24"
,
"name"
:
"绩效"
,
"items"
:[{
"id"
:
"menuitem25"
,
"name"
:
"目标"
},{
"id"
:
"menuitem31"
,
"name"
:
"目标度量"
}]},{
"id"
:
"menuitem27"
,
"name"
:
"服务"
,
"items"
:[{
"id"
:
"menuitem28"
,
"name"
:
"服务案例"
},{
"id"
:
"menuitem32"
,
"name"
:
"知识文章"
}
,{
"id"
:
"menuitem17"
,
"name"
:
"案例客户"
}
]}]},{
"id"
:
"bottom_exp"
,
"name"
:
"底部内容"
},{
"id"
:
"footer_left"
,
"name"
:
"底部左侧"
},{
"id"
:
"footer_center"
,
"name"
:
"底部中间"
},{
"id"
:
"footer_right"
,
"name"
:
"底部右侧"
}]
},{
"menuid"
:
"Setting"
,
"menuname"
:
"Setting"
,
"menuitem"
:[{
"id"
:
"menuitem1"
,
"name"
:
"链接角色"
}]
}]
}
]
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录