Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
4ff5d4c2
提交
4ff5d4c2
编写于
4年前
作者:
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"
:
"客户信息"
,
...
...
This diff is collapsed.
Click to expand it.
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
:
"底部中间"
,
...
...
This diff is collapsed.
Click to expand it.
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
:
"底部中间"
,
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
:
''
,
},
],
},
...
...
This diff is collapsed.
Click to expand it.
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"
:
"客户信息"
,
...
...
This diff is collapsed.
Click to expand it.
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'
));
...
...
This diff is collapsed.
Click to expand it.
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
:
{
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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'
,
...
...
This diff is collapsed.
Click to expand it.
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'
});
}
/**
...
...
This diff is collapsed.
Click to expand it.
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
);
})
}
/**
* 知识文章
*
...
...
This diff is collapsed.
Click to expand it.
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'
,
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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
,
};
/**
...
...
This diff is collapsed.
Click to expand it.
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'
,
...
...
This diff is collapsed.
Click to expand it.
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>
...
...
This diff is collapsed.
Click to expand it.
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]外键关系 -->
...
...
This diff is collapsed.
Click to expand it.
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"
:
"链接角色"
}]
}]
}
]
}
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录