Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
35e072b2
提交
35e072b2
编写于
6月 16, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
79a54a86
变更
31
隐藏空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
2871 行增加
和
676 行删除
+2871
-676
data-dictionary.json
app_BusinessCentral/public/assets/json/data-dictionary.json
+37
-0
view-config.json
app_BusinessCentral/public/assets/json/view-config.json
+2
-2
codelist_en_US.ts
...inessCentral/src/locale/lanres/codelist/codelist_en_US.ts
+6
-0
codelist_zh_CN.ts
...inessCentral/src/locale/lanres/codelist/codelist_zh_CN.ts
+6
-0
account_en_US.ts
...ntral/src/locale/lanres/entities/account/account_en_US.ts
+62
-62
account_zh_CN.ts
...ntral/src/locale/lanres/entities/account/account_zh_CN.ts
+62
-62
contact_en_US.ts
...ntral/src/locale/lanres/entities/contact/contact_en_US.ts
+29
-2
contact_zh_CN.ts
...ntral/src/locale/lanres/entities/contact/contact_zh_CN.ts
+29
-2
task_en_US.ts
...nessCentral/src/locale/lanres/entities/task/task_en_US.ts
+7
-3
task_zh_CN.ts
...nessCentral/src/locale/lanres/entities/task/task_zh_CN.ts
+7
-3
codelist.ts
app_BusinessCentral/src/mock/codelist/codelist.ts
+37
-0
viewconfig.ts
app_BusinessCentral/src/mock/viewconfig/viewconfig.ts
+2
-2
contact-abstract-edit-view9.vue
...ntact-abstract-edit-view9/contact-abstract-edit-view9.vue
+1
-1
task-quick-create-base.vue
...c/pages/base/task-quick-create/task-quick-create-base.vue
+1
-1
page-register.ts
...usinessCentral/src/pages/ungroup/central/page-register.ts
+0
-4
router.ts
app_BusinessCentral/src/pages/ungroup/central/router.ts
+0
-122
state.ts
app_BusinessCentral/src/store/modules/view-action/state.ts
+0
-41
account-ui-service-base.ts
...sCentral/src/uiservice/account/account-ui-service-base.ts
+0
-63
pt-address-portlet-base.vue
...ts/account/pt-address-portlet/pt-address-portlet-base.vue
+0
-45
abstract-info-form-base.vue
...ts/contact/abstract-info-form/abstract-info-form-base.vue
+1848
-0
abstract-info-form-model.ts
...ts/contact/abstract-info-form/abstract-info-form-model.ts
+126
-0
abstract-info-form-service.ts
.../contact/abstract-info-form/abstract-info-form-service.ts
+371
-0
abstract-info-form.less
...idgets/contact/abstract-info-form/abstract-info-form.less
+4
-0
abstract-info-form.vue
...widgets/contact/abstract-info-form/abstract-info-form.vue
+14
-0
detail-info-form-base.vue
...idgets/contact/detail-info-form/detail-info-form-base.vue
+31
-178
detail-info-form-model.ts
...idgets/contact/detail-info-form/detail-info-form-model.ts
+0
-10
detail-info-form-service.ts
...gets/contact/detail-info-form/detail-info-form-service.ts
+0
-24
default-searchform-base.vue
...dgets/lead/default-searchform/default-searchform-base.vue
+2
-2
main-grid-base.vue
...nessCentral/src/widgets/lead/main-grid/main-grid-base.vue
+19
-5
quick-create-form-base.vue
...widgets/task/quick-create-form/quick-create-form-base.vue
+143
-37
quick-create-form-model.ts
...widgets/task/quick-create-form/quick-create-form-model.ts
+25
-5
未找到文件。
app_BusinessCentral/public/assets/json/data-dictionary.json
浏览文件 @
35e072b2
...
...
@@ -98,6 +98,43 @@
}
]
},
{
"srfkey"
:
"Task__PriorityCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"2"
,
"label"
:
"High"
,
"text"
:
"High"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"0"
,
"label"
:
"Low"
,
"text"
:
"Low"
,
"data"
:
""
,
"codename"
:
"Item_0"
,
"value"
:
"0"
,
"disabled"
:
false
}
,
{
"id"
:
"1"
,
"label"
:
"Normal"
,
"text"
:
"Normal"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Contact__FamilyStatusCode"
,
"emptytext"
:
"未定义"
,
...
...
app_BusinessCentral/public/assets/json/view-config.json
浏览文件 @
35e072b2
...
...
@@ -340,8 +340,8 @@
"memo"
:
"系统自动添加"
},
"taskquickcreate"
:
{
"title"
:
"任务"
,
"caption"
:
"任务"
,
"title"
:
"
快速新建:
任务"
,
"caption"
:
"
快速新建:
任务"
,
"viewtype"
:
"DEOPTVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"TaskQuickCreate"
,
...
...
app_BusinessCentral/src/locale/lanres/codelist/codelist_en_US.ts
浏览文件 @
35e072b2
...
...
@@ -18,6 +18,12 @@ export default {
'0'
:
'否'
,
empty
:
''
,
},
Task__PriorityCode
:
{
'2'
:
'High'
,
'0'
:
'Low'
,
'1'
:
'Normal'
,
empty
:
''
,
},
Contact__FamilyStatusCode
:
{
'3'
:
'Divorced'
,
'2'
:
'Married'
,
...
...
app_BusinessCentral/src/locale/lanres/codelist/codelist_zh_CN.ts
浏览文件 @
35e072b2
...
...
@@ -18,6 +18,12 @@ export default {
'0'
:
'否'
,
empty
:
''
,
},
Task__PriorityCode
:
{
'2'
:
'High'
,
'0'
:
'Low'
,
'1'
:
'Normal'
,
empty
:
''
,
},
Contact__FamilyStatusCode
:
{
'3'
:
'Divorced'
,
'2'
:
'Married'
,
...
...
app_BusinessCentral/src/locale/lanres/entities/account/account_en_US.ts
浏览文件 @
35e072b2
...
...
@@ -302,30 +302,6 @@ export default {
uiactions
:
{
},
},
edit_address_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
address1_addressid
:
"地址 1: ID"
,
address1_name
:
"地址 1: 名称"
,
address1_addresstypecode
:
"地址 1: 地址类型"
,
address1_country
:
"地址 1: 国家/地区"
,
address1_stateorprovince
:
"地址 1: 省/市/自治区"
,
address1_city
:
"地址 1: 市/县"
,
address1_county
:
"地址 1: 县"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
introduction_form
:
{
details
:
{
group1
:
"客户基本信息"
,
...
...
@@ -487,6 +463,30 @@ export default {
uiactions
:
{
},
},
edit_address_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
address1_addressid
:
"地址 1: ID"
,
address1_name
:
"地址 1: 名称"
,
address1_addresstypecode
:
"地址 1: 地址类型"
,
address1_country
:
"地址 1: 国家/地区"
,
address1_stateorprovince
:
"地址 1: 省/市/自治区"
,
address1_city
:
"地址 1: 市/县"
,
address1_county
:
"地址 1: 县"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
accountname
:
"客户名称"
,
...
...
@@ -543,44 +543,6 @@ export default {
tip
:
"Copy {0}"
,
},
},
edit_addresstoolbar_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
:
{
tbitem1_openquickcreateview
:
{
caption
:
"新建"
,
...
...
@@ -623,4 +585,42 @@ export default {
tip
:
"Filter"
,
},
},
edit_addresstoolbar_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}"
,
},
},
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/entities/account/account_zh_CN.ts
浏览文件 @
35e072b2
...
...
@@ -301,30 +301,6 @@ export default {
uiactions
:
{
},
},
edit_address_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
address1_addressid
:
'地址 1: ID'
,
address1_name
:
'地址 1: 名称'
,
address1_addresstypecode
:
'地址 1: 地址类型'
,
address1_country
:
'地址 1: 国家/地区'
,
address1_stateorprovince
:
'地址 1: 省/市/自治区'
,
address1_city
:
'地址 1: 市/县'
,
address1_county
:
'地址 1: 县'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
introduction_form
:
{
details
:
{
group1
:
'客户基本信息'
,
...
...
@@ -486,6 +462,30 @@ export default {
uiactions
:
{
},
},
edit_address_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
address1_addressid
:
'地址 1: ID'
,
address1_name
:
'地址 1: 名称'
,
address1_addresstypecode
:
'地址 1: 地址类型'
,
address1_country
:
'地址 1: 国家/地区'
,
address1_stateorprovince
:
'地址 1: 省/市/自治区'
,
address1_city
:
'地址 1: 市/县'
,
address1_county
:
'地址 1: 县'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
main_grid
:
{
columns
:
{
accountname
:
'客户名称'
,
...
...
@@ -542,44 +542,6 @@ export default {
tip
:
'拷贝'
,
},
},
edit_addresstoolbar_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
:
{
tbitem1_openquickcreateview
:
{
caption
:
'新建'
,
...
...
@@ -622,4 +584,42 @@ export default {
tip
:
'过滤'
,
},
},
edit_addresstoolbar_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
:
'拷贝'
,
},
},
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/entities/contact/contact_en_US.ts
浏览文件 @
35e072b2
...
...
@@ -265,6 +265,35 @@ export default {
uiactions
:
{
},
},
abstractinfo_form
:
{
details
:
{
group1
:
"联系人基本信息"
,
grouppanel1
:
"地址"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfmajortext
:
"全名"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
jobtitle
:
"职务"
,
emailaddress1
:
"电子邮件"
,
telephone1
:
"商务电话"
,
mobilephone
:
"移动电话"
,
fax
:
"传真"
,
address1_country
:
"国家/地区"
,
address1_stateorprovince
:
"省/市/自治区"
,
address1_city
:
"市/县"
,
address1_line1
:
"街道"
,
address1_postalcode
:
"邮政编码"
,
contactid
:
"联系人"
,
},
uiactions
:
{
},
},
detailinfo_form
:
{
details
:
{
group1
:
"个人信息"
,
...
...
@@ -293,8 +322,6 @@ export default {
creditonhold
:
"信用冻结"
,
paymenttermscode
:
"付款方式"
,
shippingmethodcode
:
"送货方式"
,
originatingleadid
:
"原始潜在顾客"
,
transactioncurrencyid
:
"货币"
,
contactid
:
"联系人"
,
},
uiactions
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/contact/contact_zh_CN.ts
浏览文件 @
35e072b2
...
...
@@ -264,6 +264,35 @@ export default {
uiactions
:
{
},
},
abstractinfo_form
:
{
details
:
{
group1
:
'联系人基本信息'
,
grouppanel1
:
'地址'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'联系人'
,
srfmajortext
:
'全名'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
fullname
:
'全名'
,
jobtitle
:
'职务'
,
emailaddress1
:
'电子邮件'
,
telephone1
:
'商务电话'
,
mobilephone
:
'移动电话'
,
fax
:
'传真'
,
address1_country
:
'国家/地区'
,
address1_stateorprovince
:
'省/市/自治区'
,
address1_city
:
'市/县'
,
address1_line1
:
'街道'
,
address1_postalcode
:
'邮政编码'
,
contactid
:
'联系人'
,
},
uiactions
:
{
},
},
detailinfo_form
:
{
details
:
{
group1
:
'个人信息'
,
...
...
@@ -292,8 +321,6 @@ export default {
creditonhold
:
'信用冻结'
,
paymenttermscode
:
'付款方式'
,
shippingmethodcode
:
'送货方式'
,
originatingleadid
:
'原始潜在顾客'
,
transactioncurrencyid
:
'货币'
,
contactid
:
'联系人'
,
},
uiactions
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/task/task_en_US.ts
浏览文件 @
35e072b2
...
...
@@ -52,8 +52,8 @@ export default {
},
views
:
{
quickcreate
:
{
caption
:
"任务"
,
title
:
'任务'
,
caption
:
"
快速新建:
任务"
,
title
:
'
快速新建:
任务'
,
},
editview
:
{
caption
:
"任务"
,
...
...
@@ -72,10 +72,14 @@ export default {
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
subject
:
"主题"
,
ownerid
:
"负责人"
,
owneridtype
:
"OwnerIdType"
,
owneridyominame
:
"OwnerIdYomiName"
,
subject
:
"主题"
,
description
:
"说明"
,
scheduledend
:
"截止日期"
,
actualdurationminutes
:
"持续时间"
,
prioritycode
:
"优先级"
,
regardingobjectid
:
"关于"
,
regardingobjectidyominame
:
"RegardingObjectIdYomiName"
,
regardingobjecttypecode
:
"RegardingObjectTypeCode"
,
...
...
app_BusinessCentral/src/locale/lanres/entities/task/task_zh_CN.ts
浏览文件 @
35e072b2
...
...
@@ -51,8 +51,8 @@ export default {
},
views
:
{
quickcreate
:
{
caption
:
'任务'
,
title
:
'任务'
,
caption
:
'
快速新建:
任务'
,
title
:
'
快速新建:
任务'
,
},
editview
:
{
caption
:
'任务'
,
...
...
@@ -71,10 +71,14 @@ export default {
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
subject
:
'主题'
,
ownerid
:
'负责人'
,
owneridtype
:
'OwnerIdType'
,
owneridyominame
:
'OwnerIdYomiName'
,
subject
:
'主题'
,
description
:
'说明'
,
scheduledend
:
'截止日期'
,
actualdurationminutes
:
'持续时间'
,
prioritycode
:
'优先级'
,
regardingobjectid
:
'关于'
,
regardingobjectidyominame
:
'RegardingObjectIdYomiName'
,
regardingobjecttypecode
:
'RegardingObjectTypeCode'
,
...
...
app_BusinessCentral/src/mock/codelist/codelist.ts
浏览文件 @
35e072b2
...
...
@@ -106,6 +106,43 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
},
]
},
{
srfkey
:
'Task__PriorityCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'2'
,
label
:
'High'
,
text
:
'High'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'0'
,
label
:
'Low'
,
text
:
'Low'
,
"data"
:
""
,
"codename"
:
"Item_0"
,
value
:
'0'
,
disabled
:
false
,
},
{
id
:
'1'
,
label
:
'Normal'
,
text
:
'Normal'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Contact__FamilyStatusCode'
,
emptytext
:
'未定义'
,
...
...
app_BusinessCentral/src/mock/viewconfig/viewconfig.ts
浏览文件 @
35e072b2
...
...
@@ -280,8 +280,8 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag"
:
"85781d107d628dfc6cdf9693797f073e"
},
"taskquickcreate"
:
{
"title"
:
"任务"
,
"caption"
:
"任务"
,
"title"
:
"
快速新建:
任务"
,
"caption"
:
"
快速新建:
任务"
,
"viewtype"
:
"DEOPTVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"TaskQuickCreate"
,
...
...
app_BusinessCentral/src/pages/base/contact-abstract-edit-view9/contact-abstract-edit-view9.vue
浏览文件 @
35e072b2
...
...
@@ -2,7 +2,7 @@
import
{
Component
}
from
'vue-property-decorator'
;
import
ContactAbstractEditView9Base
from
'./contact-abstract-edit-view9-base.vue'
;
import
view_form
from
'@widgets/contact/
quick-create-form/quick-create
-form.vue'
;
import
view_form
from
'@widgets/contact/
abstract-info-form/abstract-info
-form.vue'
;
@
Component
({
components
:
{
view_form
,
...
...
app_BusinessCentral/src/pages/base/task-quick-create/task-quick-create-base.vue
浏览文件 @
35e072b2
<
template
>
<studio-view
viewName=
"taskquickcreate"
viewTitle=
"任务"
class=
'deoptview task-quick-create'
>
<studio-view
viewName=
"taskquickcreate"
viewTitle=
"
快速新建:
任务"
class=
'deoptview task-quick-create'
>
<template
slot=
'title'
>
<span
class=
'caption-info'
>
{{
$t
(
model
.
srfTitle
)
}}
</span>
</
template
>
...
...
app_BusinessCentral/src/pages/ungroup/central/page-register.ts
浏览文件 @
35e072b2
...
...
@@ -7,7 +7,6 @@ export const PageComponents = {
Vue
.
component
(
'sales-order-edit-view'
,
()
=>
import
(
'@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'
));
Vue
.
component
(
'account-edit-view'
,
()
=>
import
(
'@pages/base/account-edit-view/account-edit-view.vue'
));
Vue
.
component
(
'fax-edit-view'
,
()
=>
import
(
'@pages/base/fax-edit-view/fax-edit-view.vue'
));
Vue
.
component
(
'lead-pickup-view'
,
()
=>
import
(
'@pages/sales/lead-pickup-view/lead-pickup-view.vue'
));
Vue
.
component
(
'incident-edit-view'
,
()
=>
import
(
'@pages/service/incident-edit-view/incident-edit-view.vue'
));
Vue
.
component
(
'activity-pointer-edit-view'
,
()
=>
import
(
'@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'
));
Vue
.
component
(
'lead-grid-view'
,
()
=>
import
(
'@pages/sales/lead-grid-view/lead-grid-view.vue'
));
...
...
@@ -24,14 +23,12 @@ export const PageComponents = {
Vue
.
component
(
'opportunity-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'
));
Vue
.
component
(
'letter-edit-view'
,
()
=>
import
(
'@pages/base/letter-edit-view/letter-edit-view.vue'
));
Vue
.
component
(
'goal-edit-view'
,
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
));
Vue
.
component
(
'transaction-currency-pickup-view'
,
()
=>
import
(
'@pages/base/transaction-currency-pickup-view/transaction-currency-pickup-view.vue'
));
Vue
.
component
(
'account-address'
,
()
=>
import
(
'@pages/base/account-address/account-address.vue'
));
Vue
.
component
(
'appointment-edit-view'
,
()
=>
import
(
'@pages/base/appointment-edit-view/appointment-edit-view.vue'
));
Vue
.
component
(
'contact-tab-exp-view'
,
()
=>
import
(
'@pages/base/contact-tab-exp-view/contact-tab-exp-view.vue'
));
Vue
.
component
(
'email-edit-view'
,
()
=>
import
(
'@pages/base/email-edit-view/email-edit-view.vue'
));
Vue
.
component
(
'contact-pickup-grid-view'
,
()
=>
import
(
'@pages/base/contact-pickup-grid-view/contact-pickup-grid-view.vue'
));
Vue
.
component
(
'goal-grid-view'
,
()
=>
import
(
'@pages/sales/goal-grid-view/goal-grid-view.vue'
));
Vue
.
component
(
'transaction-currency-pickup-grid-view'
,
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
));
Vue
.
component
(
'contact-grid-view'
,
()
=>
import
(
'@pages/base/contact-grid-view/contact-grid-view.vue'
));
Vue
.
component
(
'service-appointment-edit-view'
,
()
=>
import
(
'@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'
));
Vue
.
component
(
'account-grid-view'
,
()
=>
import
(
'@pages/base/account-grid-view/account-grid-view.vue'
));
...
...
@@ -43,7 +40,6 @@ export const PageComponents = {
Vue
.
component
(
'ibiz-list-grid-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
));
Vue
.
component
(
'product-grid-view'
,
()
=>
import
(
'@pages/product/product-grid-view/product-grid-view.vue'
));
Vue
.
component
(
'sales-literature-edit-view'
,
()
=>
import
(
'@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'
));
Vue
.
component
(
'lead-pickup-grid-view'
,
()
=>
import
(
'@pages/sales/lead-pickup-grid-view/lead-pickup-grid-view.vue'
));
Vue
.
component
(
'account-pickup-grid-view'
,
()
=>
import
(
'@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'
));
Vue
.
component
(
'account-info'
,
()
=>
import
(
'@pages/base/account-info/account-info.vue'
));
Vue
.
component
(
'account-major-contact'
,
()
=>
import
(
'@pages/base/account-major-contact/account-major-contact.vue'
));
...
...
app_BusinessCentral/src/pages/ungroup/central/router.ts
浏览文件 @
35e072b2
...
...
@@ -147,20 +147,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/contact-abstract-edit-view9/contact-abstract-edit-view9.vue'
),
},
{
path
:
'leads/:lead?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.lead.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-pickup-view/lead-pickup-view.vue'
),
},
{
path
:
'incidents/:incident?/editview/:editview?'
,
meta
:
{
...
...
@@ -398,20 +384,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
),
},
{
path
:
'transactioncurrencies/:transactioncurrency?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-view/transaction-currency-pickup-view.vue'
),
},
{
path
:
'accounts/:account?/address/:address?'
,
meta
:
{
...
...
@@ -454,20 +426,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/base/appointment-edit-view/appointment-edit-view.vue'
),
},
{
path
:
'accounts/:account?/edit_address/:edit_address?'
,
meta
:
{
caption
:
'entities.account.views.edit_address.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'edit_address'
,
parameterName
:
'edit_address'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-edit-address/account-edit-address.vue'
),
},
{
path
:
'contacts/:contact?/tabexpview/:tabexpview?'
,
meta
:
{
...
...
@@ -524,20 +482,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/goal-grid-view/goal-grid-view.vue'
),
},
{
path
:
'transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
),
},
{
path
:
'contacts/:contact?/gridview/:gridview?'
,
meta
:
{
...
...
@@ -706,20 +650,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'
),
},
{
path
:
'leads/:lead?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.lead.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-pickup-grid-view/lead-pickup-grid-view.vue'
),
},
{
path
:
'accounts/:account?/pickupgridview/:pickupgridview?'
,
meta
:
{
...
...
@@ -1024,19 +954,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/lead-grid-view/lead-grid-view.vue'
),
},
{
path
:
'/leads/:lead?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.lead.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-pickup-view/lead-pickup-view.vue'
),
},
{
path
:
'/accounts/:account?/accountinfo/:accountinfo?'
,
meta
:
{
...
...
@@ -1258,19 +1175,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/goal-grid-view/goal-grid-view.vue'
),
},
{
path
:
'/transactioncurrencies/:transactioncurrency?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-grid-view/transaction-currency-pickup-grid-view.vue'
),
},
{
path
:
'/accounts/:account?/editview/:editview?'
,
meta
:
{
...
...
@@ -1336,19 +1240,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'
),
},
{
path
:
'/leads/:lead?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.lead.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'leads'
,
parameterName
:
'lead'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/sales/lead-pickup-grid-view/lead-pickup-grid-view.vue'
),
},
{
path
:
'/centeralportal/:centeralportal?'
,
meta
:
{
...
...
@@ -1621,19 +1512,6 @@ const router = new Router({
},
component
:
()
=>
import
(
'@pages/sales/competitor-grid-view/competitor-grid-view.vue'
),
},
{
path
:
'/transactioncurrencies/:transactioncurrency?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.transactioncurrency.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'transactioncurrencies'
,
parameterName
:
'transactioncurrency'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/transaction-currency-pickup-view/transaction-currency-pickup-view.vue'
),
},
{
path
:
'/pricelevels/:pricelevel?/pickupgridview/:pickupgridview?'
,
meta
:
{
...
...
app_BusinessCentral/src/store/modules/view-action/state.ts
浏览文件 @
35e072b2
...
...
@@ -72,16 +72,6 @@ export const viewstate: any = {
'2e17cb1d009dd49ac529319ac15319cd'
,
],
},
{
viewtag
:
'1bc48b15dbe69c5f30dafe489f58aacb'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadPickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'7d00f63c306adf3537efeabb3326095d'
,
],
},
{
viewtag
:
'1d3b94223a5d3f8ab1d2fe334c8c4afd'
,
viewmodule
:
'Base'
,
...
...
@@ -137,7 +127,6 @@ export const viewstate: any = {
'893e62d6fbdc4580de7e3e802aec9108'
,
'916febbb65be1c54dd42ccb9914fe973'
,
'1d3b94223a5d3f8ab1d2fe334c8c4afd'
,
'728b69e2de09e7920b86712bc17ea963'
,
'a5213905238dbc5d8e1a505029105cc9'
,
],
},
...
...
@@ -256,8 +245,6 @@ export const viewstate: any = {
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'da3f8c1f20f440f3df54d6c13a8de586'
,
'1bc48b15dbe69c5f30dafe489f58aacb'
,
],
},
{
...
...
@@ -270,15 +257,6 @@ export const viewstate: any = {
'7877d7e7e55fe21f48e8382e07579f33'
,
],
},
{
viewtag
:
'6d8a2615030eed5779caea69f7f001aa'
,
viewmodule
:
'Base'
,
viewname
:
'TransactionCurrencyPickupGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'6e18ac74e5685439110f9b4e534ee005'
,
viewmodule
:
'Base'
,
...
...
@@ -326,15 +304,6 @@ export const viewstate: any = {
refviews
:
[
],
},
{
viewtag
:
'7d00f63c306adf3537efeabb3326095d'
,
viewmodule
:
'Sales'
,
viewname
:
'LeadPickupGridView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
],
},
{
viewtag
:
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA'
,
viewmodule
:
'Ungroup'
,
...
...
@@ -566,16 +535,6 @@ export const viewstate: any = {
'fc2117de593df9cc982bd802cbdb2154'
,
],
},
{
viewtag
:
'da3f8c1f20f440f3df54d6c13a8de586'
,
viewmodule
:
'Base'
,
viewname
:
'TransactionCurrencyPickupView'
,
viewaction
:
''
,
viewdatachange
:
false
,
refviews
:
[
'6d8a2615030eed5779caea69f7f001aa'
,
],
},
{
viewtag
:
'dd10cba0f2ded085120f7dc8eccc7c10'
,
viewmodule
:
'Product'
,
...
...
app_BusinessCentral/src/uiservice/account/account-ui-service-base.ts
浏览文件 @
35e072b2
...
...
@@ -164,69 +164,6 @@ export default class AccountUIServiceBase extends UIService {
openDrawer
(
view
,
data
);
}
/**
* 编辑
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public
async
Account_Edit_Address
(
args
:
any
[],
context
:
any
=
{}
,
params
:
any
=
{},
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
let
data
:
any
=
{};
let
parentContext
:
any
=
{};
let
parentViewParam
:
any
=
{};
const
_this
:
any
=
actionContext
;
const
_args
:
any
[]
=
Util
.
deepCopy
(
args
);
const
actionTarget
:
string
|
null
=
'SINGLEKEY'
;
Object
.
assign
(
context
,
{
account
:
'%account%'
});
Object
.
assign
(
params
,
{
accountid
:
'%account%'
});
Object
.
assign
(
params
,
{
accountname
:
'%accountname%'
});
if
(
_this
.
context
){
parentContext
=
_this
.
context
;
}
if
(
_this
.
viewparams
){
parentViewParam
=
_this
.
viewparams
;
}
context
=
UIActionTool
.
handleContextParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
context
);
data
=
UIActionTool
.
handleActionParam
(
actionTarget
,
_args
,
parentContext
,
parentViewParam
,
params
);
context
=
Object
.
assign
({},
actionContext
.
context
,
context
);
let
parentObj
:
any
=
{
srfparentdename
:
srfParentDeName
?
srfParentDeName
:
null
,
srfparentkey
:
srfParentDeName
?
context
[
srfParentDeName
.
toLowerCase
()]:
null
};
Object
.
assign
(
data
,
parentObj
);
Object
.
assign
(
context
,
parentObj
);
let
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
];
const
openDrawer
=
(
view
:
any
,
data
:
any
)
=>
{
let
container
:
Subject
<
any
>
=
actionContext
.
$appdrawer
.
openDrawer
(
view
,
context
,
data
);
container
.
subscribe
((
result
:
any
)
=>
{
if
(
!
result
||
!
Object
.
is
(
result
.
ret
,
'OK'
))
{
return
;
}
const
_this
:
any
=
actionContext
;
if
(
window
.
opener
){
window
.
opener
.
postMessage
({
status
:
'OK'
,
identification
:
'WF'
},
Environment
.
uniteAddress
);
window
.
close
();
}
return
result
.
datas
;
});
}
const
view
:
any
=
{
viewname
:
'account-edit-address'
,
height
:
0
,
width
:
450
,
title
:
actionContext
.
$t
(
'entities.account.views.edit_address.title'
),
placement
:
'DRAWER_RIGHT'
,
};
openDrawer
(
view
,
data
);
}
/**
* 编辑
*
...
...
app_BusinessCentral/src/widgets/account/pt-address-portlet/pt-address-portlet-base.vue
浏览文件 @
35e072b2
...
...
@@ -5,12 +5,6 @@
地址信息
</span>
<span
class=
"portlet-action"
>
<a
@
click=
"uiAction('u2ccbfc9', $event)"
>
</a>
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-address
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-address>
...
...
@@ -26,7 +20,6 @@ import { UIActionTool,Util } from '@/utils';
import
AccountService
from
'@/service/account/account-service'
;
import
PT_AddressService
from
'./pt-address-portlet-service'
;
import
AccountUIService
from
'@/uiservice/account/account-ui-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
...
...
@@ -115,34 +108,6 @@ export default class AccountPT_AddressBase extends Vue implements ControlInterfa
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
dashboard_sysportlet2_u2ccbfc9_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
;
if
(
_this
.
getDatas
&&
_this
.
getDatas
instanceof
Function
)
{
datas
=
[...
_this
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
const
curUIService
:
AccountUIService
=
new
AccountUIService
();
curUIService
.
Account_Edit_Address
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Account"
);
}
/**
* 关闭视图
...
...
@@ -266,16 +231,6 @@ export default class AccountPT_AddressBase extends Vue implements ControlInterfa
}
}
/**
* 执行界面行为
*
* @memberof PT_AddressBase
*/
public
uiAction
(
tag
:
string
,
event
:
any
){
if
(
Object
.
is
(
tag
,
'u2ccbfc9'
)){
this
.
dashboard_sysportlet2_u2ccbfc9_click
(
null
,
tag
,
event
);
}
}
}
</
script
>
...
...
app_BusinessCentral/src/widgets/contact/abstract-info-form/abstract-info-form-base.vue
0 → 100644
浏览文件 @
35e072b2
<
template
>
<i-form
:model=
"this.data"
class=
'app-form info-form-mode'
ref=
'form'
id=
'contact_abstractinfo'
style=
""
>
<input
style=
"display:none;"
/>
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.abstractinfo_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"true"
>
<row>
<i-col
v-show=
"detailsModel.fullname.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'fullname'
:itemRules=
"this.rules.fullname"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.fullname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.fullname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'fullname'
:value=
"data.fullname"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.jobtitle.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'jobtitle'
:itemRules=
"this.rules.jobtitle"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.jobtitle')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.jobtitle.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'jobtitle'
:value=
"data.jobtitle"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.emailaddress1.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'emailaddress1'
:itemRules=
"this.rules.emailaddress1"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.emailaddress1')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.emailaddress1.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'emailaddress1'
:value=
"data.emailaddress1"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.telephone1.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'telephone1'
:itemRules=
"this.rules.telephone1"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.telephone1')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.telephone1.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'telephone1'
:value=
"data.telephone1"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.mobilephone.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'mobilephone'
:itemRules=
"this.rules.mobilephone"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.mobilephone')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.mobilephone.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'mobilephone'
:value=
"data.mobilephone"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.fax.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'fax'
:itemRules=
"this.rules.fax"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.fax')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.fax.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'fax'
:value=
"data.fax"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
<i-col
v-show=
"detailsModel.grouppanel1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.abstractinfo_form.details.grouppanel1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"true"
>
<row>
<i-col
v-show=
"detailsModel.address1_country.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'address1_country'
:itemRules=
"this.rules.address1_country"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.address1_country')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.address1_country.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'address1_country'
:value=
"data.address1_country"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.address1_stateorprovince.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'address1_stateorprovince'
:itemRules=
"this.rules.address1_stateorprovince"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.address1_stateorprovince')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.address1_stateorprovince.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'address1_stateorprovince'
:value=
"data.address1_stateorprovince"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.address1_city.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'address1_city'
:itemRules=
"this.rules.address1_city"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.address1_city')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.address1_city.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'address1_city'
:value=
"data.address1_city"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.address1_line1.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'address1_line1'
:itemRules=
"this.rules.address1_line1"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.address1_line1')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.address1_line1.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'address1_line1'
:value=
"data.address1_line1"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.address1_postalcode.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item
name=
'address1_postalcode'
:itemRules=
"this.rules.address1_postalcode"
class=
''
:caption=
"$t('entities.contact.abstractinfo_form.details.address1_postalcode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.address1_postalcode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-span
name=
'address1_postalcode'
:value=
"data.address1_postalcode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
</
template
>
<
script
lang=
'tsx'
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
Model
}
from
'vue-property-decorator'
;
import
{
CreateElement
}
from
'vue'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
ControlInterface
}
from
'@/interface/control'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
AbstractInfoService
from
'./abstract-info-form-service'
;
import
{
FormButtonModel
,
FormPageModel
,
FormItemModel
,
FormDRUIPartModel
,
FormPartModel
,
FormGroupPanelModel
,
FormIFrameModel
,
FormRowItemModel
,
FormTabPageModel
,
FormTabPanelModel
,
FormUserControlModel
}
from
'@/model/form-detail'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
@
Component
({
components
:
{
}
})
export
default
class
AbstractInfoBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof AbstractInfo
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof AbstractInfo
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof AbstractInfo
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof AbstractInfo
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof AbstractInfo
*/
public
getControlType
():
string
{
return
'FORM'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof AbstractInfo
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {AbstractInfoService}
* @memberof AbstractInfo
*/
public
service
:
AbstractInfoService
=
new
AbstractInfoService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof AbstractInfo
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof AbstractInfo
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof AbstractInfo
*/
public
counterRefresh
(){
const
_this
:
any
=
this
;
if
(
_this
.
counterServiceArray
&&
_this
.
counterServiceArray
.
length
>
0
){
_this
.
counterServiceArray
.
forEach
((
item
:
any
)
=>
{
if
(
item
.
refreshData
&&
item
.
refreshData
instanceof
Function
){
item
.
refreshData
();
}
})
}
}
/**
* 工作流审批意见控件绑定值
*
* @memberof AbstractInfo
*/
public
srfwfmemo
:
string
=
""
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof AbstractInfo
*/
public
getDatas
():
any
[]
{
return
[
this
.
data
];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof AbstractInfo
*/
public
getData
():
any
{
return
this
.
data
;
}
/**
* 是否默认保存
*
* @type {boolean}
* @memberof AbstractInfo
*/
@
Prop
({
default
:
false
})
public
autosave
?:
boolean
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof AbstractInfo
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--submit
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
WFSubmitAction
!
:
string
;
/**
* 部件行为--start
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
WFStartAction
!
:
string
;
/**
* 部件行为--update
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
updateAction
!
:
string
;
/**
* 部件行为--remove
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
removeAction
!
:
string
;
/**
* 部件行为--loaddraft
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
loaddraftAction
!
:
string
;
/**
* 部件行为--load
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
loadAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
createAction
!
:
string
;
/**
* 部件行为--create
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
searchAction
!
:
string
;
/**
* 视图标识
*
* @type {string}
* @memberof AbstractInfo
*/
@
Prop
()
public
viewtag
!
:
string
;
/**
* 表单状态
*
* @type {Subject<any>}
* @memberof AbstractInfo
*/
public
formState
:
Subject
<
any
>
=
new
Subject
();
/**
* 忽略表单项值变化
*
* @type {boolean}
* @memberof AbstractInfo
*/
public
ignorefieldvaluechange
:
boolean
=
false
;
/**
* 数据变化
*
* @public
* @type {Subject<any>}
* @memberof AbstractInfo
*/
public
dataChang
:
Subject
<
any
>
=
new
Subject
();
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof AbstractInfo
*/
public
dataChangEvent
:
Subscription
|
undefined
;
/**
* 原始数据
*
* @public
* @type {*}
* @memberof AbstractInfo
*/
public
oldData
:
any
=
{};
/**
* 表单数据对象
*
* @type {*}
* @memberof AbstractInfo
*/
public
data
:
any
=
{
srfupdatedate
:
null
,
srforikey
:
null
,
srfkey
:
null
,
srfmajortext
:
null
,
srftempmode
:
null
,
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
fullname
:
null
,
jobtitle
:
null
,
emailaddress1
:
null
,
telephone1
:
null
,
mobilephone
:
null
,
fax
:
null
,
address1_country
:
null
,
address1_stateorprovince
:
null
,
address1_city
:
null
,
address1_line1
:
null
,
address1_postalcode
:
null
,
contactid
:
null
,
contact
:
null
,
};
/**
* 当前执行的行为逻辑
*
* @type {string}
* @memberof AbstractInfo
*/
public
currentAction
:
string
=
""
;
/**
* 关系界面计数器
*
* @type {number}
* @memberof AbstractInfo
*/
public
drcounter
:
number
=
0
;
/**
* 需要等待关系界面保存时,第一次调用save参数的备份
*
* @type {number}
* @memberof AbstractInfo
*/
public
drsaveopt
:
any
=
{};
/**
* 表单保存回调存储对象
*
* @type {any}
* @memberof AbstractInfo
*/
public
saveState
:
any
;
/**
* 属性值规则
*
* @type {*}
* @memberof AbstractInfo
*/
public
rules
:
any
=
{
srfupdatedate
:
[
{
type
:
'string'
,
message
:
'更新时间 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'更新时间 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'更新时间 值不能为空'
,
trigger
:
'blur'
},
],
srforikey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfkey
:
[
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'联系人 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'联系人 值不能为空'
,
trigger
:
'blur'
},
],
srfmajortext
:
[
{
type
:
'string'
,
message
:
'全名 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'全名 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'全名 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'全名 值不能为空'
,
trigger
:
'blur'
},
],
srftempmode
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfuf
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfdeid
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
srfsourcekey
:
[
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
' 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
fullname
:
[
{
type
:
'string'
,
message
:
'全名 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'全名 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'全名 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'全名 值不能为空'
,
trigger
:
'blur'
},
],
jobtitle
:
[
{
type
:
'string'
,
message
:
'职务 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'职务 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'职务 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'职务 值不能为空'
,
trigger
:
'blur'
},
],
emailaddress1
:
[
{
type
:
'string'
,
message
:
'电子邮件 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'电子邮件 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'电子邮件 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'电子邮件 值不能为空'
,
trigger
:
'blur'
},
],
telephone1
:
[
{
type
:
'string'
,
message
:
'商务电话 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'商务电话 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'商务电话 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'商务电话 值不能为空'
,
trigger
:
'blur'
},
],
mobilephone
:
[
{
type
:
'string'
,
message
:
'移动电话 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'移动电话 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'移动电话 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'移动电话 值不能为空'
,
trigger
:
'blur'
},
],
fax
:
[
{
type
:
'string'
,
message
:
'传真 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'传真 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'传真 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'传真 值不能为空'
,
trigger
:
'blur'
},
],
address1_country
:
[
{
type
:
'string'
,
message
:
'国家/地区 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'国家/地区 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'国家/地区 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'国家/地区 值不能为空'
,
trigger
:
'blur'
},
],
address1_stateorprovince
:
[
{
type
:
'string'
,
message
:
'省/市/自治区 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'省/市/自治区 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'省/市/自治区 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'省/市/自治区 值不能为空'
,
trigger
:
'blur'
},
],
address1_city
:
[
{
type
:
'string'
,
message
:
'市/县 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'市/县 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'市/县 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'市/县 值不能为空'
,
trigger
:
'blur'
},
],
address1_line1
:
[
{
type
:
'string'
,
message
:
'街道 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'街道 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'街道 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'街道 值不能为空'
,
trigger
:
'blur'
},
],
address1_postalcode
:
[
{
type
:
'string'
,
message
:
'邮政编码 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'邮政编码 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'邮政编码 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'邮政编码 值不能为空'
,
trigger
:
'blur'
},
],
contactid
:
[
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'联系人 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'联系人 值不能为空'
,
trigger
:
'blur'
},
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof AbstractInfo
*/
public
detailsModel
:
any
=
{
group1
:
new
FormGroupPanelModel
({
caption
:
'联系人基本信息'
,
detailType
:
'GROUPPANEL'
,
name
:
'group1'
,
visible
:
true
,
isShowCaption
:
false
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.contact.abstractinfo_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
grouppanel1
:
new
FormGroupPanelModel
({
caption
:
'地址'
,
detailType
:
'GROUPPANEL'
,
name
:
'grouppanel1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
uiActionGroup
:
{
caption
:
''
,
langbase
:
'entities.contact.abstractinfo_form'
,
extractMode
:
'ITEM'
,
details
:
[]
}
})
,
formpage1
:
new
FormPageModel
({
caption
:
'基本信息'
,
detailType
:
'FORMPAGE'
,
name
:
'formpage1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
})
,
srfupdatedate
:
new
FormItemModel
({
caption
:
'更新时间'
,
detailType
:
'FORMITEM'
,
name
:
'srfupdatedate'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
0
})
,
srforikey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srforikey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfkey
:
new
FormItemModel
({
caption
:
'联系人'
,
detailType
:
'FORMITEM'
,
name
:
'srfkey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
1
})
,
srfmajortext
:
new
FormItemModel
({
caption
:
'全名'
,
detailType
:
'FORMITEM'
,
name
:
'srfmajortext'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srftempmode
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srftempmode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfuf
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfuf'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
fullname
:
new
FormItemModel
({
caption
:
'全名'
,
detailType
:
'FORMITEM'
,
name
:
'fullname'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
jobtitle
:
new
FormItemModel
({
caption
:
'职务'
,
detailType
:
'FORMITEM'
,
name
:
'jobtitle'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
emailaddress1
:
new
FormItemModel
({
caption
:
'电子邮件'
,
detailType
:
'FORMITEM'
,
name
:
'emailaddress1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
telephone1
:
new
FormItemModel
({
caption
:
'商务电话'
,
detailType
:
'FORMITEM'
,
name
:
'telephone1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
mobilephone
:
new
FormItemModel
({
caption
:
'移动电话'
,
detailType
:
'FORMITEM'
,
name
:
'mobilephone'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
fax
:
new
FormItemModel
({
caption
:
'传真'
,
detailType
:
'FORMITEM'
,
name
:
'fax'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
address1_country
:
new
FormItemModel
({
caption
:
'国家/地区'
,
detailType
:
'FORMITEM'
,
name
:
'address1_country'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
address1_stateorprovince
:
new
FormItemModel
({
caption
:
'省/市/自治区'
,
detailType
:
'FORMITEM'
,
name
:
'address1_stateorprovince'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
address1_city
:
new
FormItemModel
({
caption
:
'市/县'
,
detailType
:
'FORMITEM'
,
name
:
'address1_city'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
address1_line1
:
new
FormItemModel
({
caption
:
'街道'
,
detailType
:
'FORMITEM'
,
name
:
'address1_line1'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
address1_postalcode
:
new
FormItemModel
({
caption
:
'邮政编码'
,
detailType
:
'FORMITEM'
,
name
:
'address1_postalcode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
contactid
:
new
FormItemModel
({
caption
:
'联系人'
,
detailType
:
'FORMITEM'
,
name
:
'contactid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
1
})
,
};
/**
* 监控表单属性 srfupdatedate 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfupdatedate'
)
onSrfupdatedateChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfupdatedate'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srforikey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srforikey'
)
onSrforikeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srforikey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfkey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfkey'
)
onSrfkeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfkey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfmajortext 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfmajortext'
)
onSrfmajortextChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfmajortext'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srftempmode 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srftempmode'
)
onSrftempmodeChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srftempmode'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfuf 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfuf'
)
onSrfufChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfuf'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfdeid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfdeid'
)
onSrfdeidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfdeid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 srfsourcekey 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.srfsourcekey'
)
onSrfsourcekeyChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'srfsourcekey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 fullname 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.fullname'
)
onFullnameChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'fullname'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 jobtitle 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.jobtitle'
)
onJobtitleChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'jobtitle'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 emailaddress1 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.emailaddress1'
)
onEmailaddress1Change
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'emailaddress1'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 telephone1 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.telephone1'
)
onTelephone1Change
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'telephone1'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 mobilephone 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.mobilephone'
)
onMobilephoneChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'mobilephone'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 fax 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.fax'
)
onFaxChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'fax'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 address1_country 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.address1_country'
)
onAddress1_countryChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'address1_country'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 address1_stateorprovince 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.address1_stateorprovince'
)
onAddress1_stateorprovinceChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'address1_stateorprovince'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 address1_city 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.address1_city'
)
onAddress1_cityChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'address1_city'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 address1_line1 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.address1_line1'
)
onAddress1_line1Change
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'address1_line1'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 address1_postalcode 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.address1_postalcode'
)
onAddress1_postalcodeChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'address1_postalcode'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 contactid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AbstractInfo
*/
@
Watch
(
'data.contactid'
)
onContactidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'contactid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 重置表单项值
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof AbstractInfo
*/
public
resetFormData
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 置空对象
*
* @param {any[]} args
* @memberof EditForm
*/
public
ResetData
(
_datas
:
any
){
if
(
Object
.
keys
(
_datas
).
length
>
0
){
Object
.
keys
(
_datas
).
forEach
((
name
:
string
)
=>
{
if
(
this
.
data
.
hasOwnProperty
(
name
))
{
this
.
data
[
name
]
=
null
;
}
});
}
}
/**
* 表单逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof AbstractInfo
*/
public
formLogic
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 表单值变化
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @returns {void}
* @memberof AbstractInfo
*/
public
formDataChange
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
if
(
this
.
ignorefieldvaluechange
)
{
return
;
}
this
.
resetFormData
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
formLogic
({
name
:
name
,
newVal
:
newVal
,
oldVal
:
oldVal
});
this
.
dataChang
.
next
(
JSON
.
stringify
(
this
.
data
));
}
/**
* 表单加载完成
*
* @public
* @param {*} [data={}]
* @param {string} [action]
* @memberof AbstractInfo
*/
public
onFormLoad
(
data
:
any
=
{},
action
:
string
):
void
{
if
(
Object
.
is
(
action
,
"save"
)
||
Object
.
is
(
action
,
"autoSave"
)
||
Object
.
is
(
action
,
"submit"
))
// 更新context的实体主键
if
(
data
.
contact
){
Object
.
assign
(
this
.
context
,{
contact
:
data
.
contact
})
}
this
.
setFormEnableCond
(
data
);
this
.
fillForm
(
data
,
action
);
this
.
oldData
=
{};
Object
.
assign
(
this
.
oldData
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
)));
this
.
$store
.
commit
(
'viewaction/setViewDataChange'
,
{
viewtag
:
this
.
viewtag
,
viewdatachange
:
false
});
this
.
formLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
}
/**
* 值填充
*
* @param {*} [_datas={}]
* @param {string} [action]
* @memberof AbstractInfo
*/
public
fillForm
(
_datas
:
any
=
{},
action
:
string
):
void
{
this
.
ignorefieldvaluechange
=
true
;
Object
.
keys
(
_datas
).
forEach
((
name
:
string
)
=>
{
if
(
this
.
data
.
hasOwnProperty
(
name
))
{
this
.
data
[
name
]
=
_datas
[
name
];
}
});
if
(
Object
.
is
(
action
,
'loadDraft'
)){
this
.
createDefault
();
}
if
(
Object
.
is
(
action
,
'load'
)){
this
.
updateDefault
();
}
this
.
$nextTick
(
function
()
{
this
.
ignorefieldvaluechange
=
false
;
})
}
/**
* 设置表单项是否启用
*
* @public
* @param {*} data
* @memberof AbstractInfo
*/
public
setFormEnableCond
(
data
:
any
):
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setEnableCond
(
data
.
srfuf
);
});
}
/**
* 重置草稿表单状态
*
* @public
* @memberof AbstractInfo
*/
public
resetDraftFormStates
():
void
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
resetFields
();
}
}
/**
* 重置校验结果
*
* @memberof AbstractInfo
*/
public
resetValidates
():
void
{
Object
.
values
(
this
.
detailsModel
).
forEach
((
detail
:
any
)
=>
{
if
(
!
Object
.
is
(
detail
.
detailType
,
'FORMITEM'
))
{
return
;
}
const
formItem
:
FormItemModel
=
detail
;
formItem
.
setError
(
''
);
});
}
/**
* 填充校验结果 (后台)
*
* @param {any[]} fieldErrors
* @memberof AbstractInfo
*/
public
fillValidates
(
fieldErrors
:
any
[]):
void
{
fieldErrors
.
forEach
((
error
:
any
)
=>
{
const
formItem
:
FormItemModel
=
this
.
detailsModel
[
error
.
field
];
if
(
!
formItem
)
{
return
;
}
this
.
$nextTick
(()
=>
{
formItem
.
setError
(
error
.
message
);
});
});
}
/**
* 表单校验状态
*
* @returns {boolean}
* @memberof AbstractInfo
*/
public
formValidateStatus
():
boolean
{
const
form
:
any
=
this
.
$refs
.
form
;
let
validatestate
:
boolean
=
true
;
form
.
validate
((
valid
:
boolean
)
=>
{
validatestate
=
valid
?
true
:
false
;
});
return
validatestate
}
/**
* 获取全部值
*
* @returns {*}
* @memberof AbstractInfo
*/
public
getValues
():
any
{
return
this
.
data
;
}
/**
* 表单项值变更
*
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof AbstractInfo
*/
public
onFormItemValueChange
(
$event
:
{
name
:
string
,
value
:
any
}):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
this
.
data
[
$event
.
name
]
=
$event
.
value
;
}
/**
* 设置数据项值
*
* @param {string} name
* @param {*} value
* @returns {void}
* @memberof AbstractInfo
*/
public
setDataItemValue
(
name
:
string
,
value
:
any
):
void
{
if
(
!
name
||
Object
.
is
(
name
,
''
)
||
!
this
.
data
.
hasOwnProperty
(
name
))
{
return
;
}
if
(
Object
.
is
(
this
.
data
[
name
],
value
))
{
return
;
}
this
.
data
[
name
]
=
value
;
}
/**
* 分组界面行为事件
*
* @param {*} $event
* @memberof AbstractInfo
*/
public
groupUIActionClick
(
$event
:
any
):
void
{
if
(
!
$event
)
{
return
;
}
const
item
:
any
=
$event
.
item
;
}
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof AbstractInfo
*/
public
created
():
void
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof AbstractInfo
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
if
(
Object
.
is
(
'autoload'
,
action
))
{
this
.
autoLoad
(
data
);
}
if
(
Object
.
is
(
'load'
,
action
))
{
this
.
load
(
data
);
}
if
(
Object
.
is
(
'loaddraft'
,
action
))
{
if
(
this
.
context
.
srfsourcekey
){
this
.
copy
(
this
.
context
.
srfsourcekey
);
}
else
{
this
.
loadDraft
(
data
);
}
}
if
(
Object
.
is
(
'save'
,
action
))
{
this
.
save
(
data
,
data
.
showResultInfo
);
}
if
(
Object
.
is
(
'remove'
,
action
))
{
this
.
remove
(
data
);
}
if
(
Object
.
is
(
'saveandexit'
,
action
))
{
this
.
saveAndExit
(
data
);
}
if
(
Object
.
is
(
'saveandnew'
,
action
))
{
this
.
saveAndNew
(
data
);
}
if
(
Object
.
is
(
'removeandexit'
,
action
))
{
this
.
removeAndExit
(
data
);
}
if
(
Object
.
is
(
'refresh'
,
action
))
{
this
.
refresh
(
data
);
}
});
}
this
.
dataChang
.
pipe
(
debounceTime
(
300
),
distinctUntilChanged
()
).
subscribe
((
data
:
any
)
=>
{
if
(
this
.
autosave
)
{
this
.
autoSave
();
}
const
state
=
!
Object
.
is
(
JSON
.
stringify
(
this
.
oldData
),
JSON
.
stringify
(
this
.
data
))
?
true
:
false
;
this
.
$store
.
commit
(
'viewaction/setViewDataChange'
,
{
viewtag
:
this
.
viewtag
,
viewdatachange
:
state
});
});
}
/**
* vue 生命周期
*
* @memberof AbstractInfo
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof AbstractInfo
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
if
(
this
.
dataChangEvent
)
{
this
.
dataChangEvent
.
unsubscribe
();
}
}
/**
* 拷贝内容
*
* @param {*} [arg={}]
* @memberof @memberof AbstractInfo
*/
public
copy
(
srfkey
:
string
):
void
{
let
copyData
=
this
.
$store
.
getters
.
getCopyData
(
srfkey
);
copyData
.
srfkey
=
Util
.
createUUID
();
copyData
.
contact
=
copyData
.
srfkey
;
copyData
.
contactid
=
copyData
.
srfkey
;
Object
.
assign
(
this
.
context
,{
contact
:
copyData
.
contact
})
this
.
data
=
copyData
;
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
copyData
});
this
.
data
.
srfuf
=
'0'
;
this
.
setFormEnableCond
(
this
.
data
);
});
}
/**
*打印
*@memberof @memberof AbstractInfo
*/
public
print
(){
let
_this
:
any
=
this
;
_this
.
$print
({
id
:
'contact_abstractinfo'
,
popTitle
:
'摘要信息表单'
});
}
/**
* 部件刷新
*
* @param {any[]} args
* @memberof AbstractInfo
*/
public
refresh
(
args
:
any
[]):
void
{
let
arg
:
any
=
{};
Object
.
assign
(
arg
,
args
[
0
]);
if
(
this
.
data
.
srfkey
&&
!
Object
.
is
(
this
.
data
.
srfkey
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
this
.
data
.
srfkey
});
this
.
load
(
arg
);
return
;
}
if
(
this
.
data
.
srfkeys
&&
!
Object
.
is
(
this
.
data
.
srfkeys
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
this
.
data
.
srfkeys
});
this
.
load
(
arg
);
return
;
}
}
/**
* 自动加载
*
* @param {*} [arg={}]
* @returns {void}
* @memberof AbstractInfo
*/
public
autoLoad
(
arg
:
any
=
{}):
void
{
if
(
arg
.
srfkey
&&
!
Object
.
is
(
arg
.
srfkey
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkey
});
this
.
load
(
arg
);
return
;
}
if
(
arg
.
srfkeys
&&
!
Object
.
is
(
arg
.
srfkeys
,
''
))
{
Object
.
assign
(
arg
,
{
srfkey
:
arg
.
srfkeys
});
this
.
load
(
arg
);
return
;
}
this
.
loadDraft
(
arg
);
}
/**
* 加载
*
* @public
* @param {*} [opt={}]
* @memberof AbstractInfo
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'ContactAbstractEditView9视图表单loadAction参数未配置'
});
return
;
}
const
arg
:
any
=
{
...
opt
};
let
viewparamResult
:
any
=
Object
.
assign
(
arg
,
this
.
viewparams
);
const
get
:
Promise
<
any
>
=
this
.
service
.
get
(
this
.
loadAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{
viewparams
:
viewparamResult
},
this
.
showBusyIndicator
);
get
.
then
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
200
)
{
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'load'
);
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
}
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
return
;
}
});
}
/**
* 加载草稿
*
* @param {*} [opt={}]
* @memberof AbstractInfo
*/
public
loadDraft
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'ContactAbstractEditView9视图表单loaddraftAction参数未配置'
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
let
viewparamResult
:
any
=
Object
.
assign
(
arg
,
this
.
viewparams
);
let
post
:
Promise
<
any
>
=
this
.
service
.
loadDraft
(
this
.
loaddraftAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),{
viewparams
:
viewparamResult
},
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
if
(
data
.
contact
){
Object
.
assign
(
this
.
context
,{
contact
:
data
.
contact
})
}
this
.
resetDraftFormStates
();
this
.
onFormLoad
(
data
,
'loadDraft'
);
this
.
$emit
(
'load'
,
data
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'load'
,
data
:
data
});
});
setTimeout
(()
=>
{
const
form
:
any
=
this
.
$refs
.
form
;
if
(
form
)
{
form
.
fields
.
forEach
((
field
:
any
)
=>
{
field
.
validateMessage
=
""
;
field
.
validateState
=
""
;
field
.
validateStatus
=
false
;
});
}
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
return
;
}
});
}
/**
* 自动保存
*
* @param {*} [opt={}]
* @memberof AbstractInfo
*/
public
autoSave
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
formValidateStatus
())
{
return
;
}
const
arg
:
any
=
{
...
opt
};
const
data
=
this
.
getValues
();
Object
.
assign
(
arg
,
data
);
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'ContactAbstractEditView9视图表单'
+
actionName
+
'参数未配置'
});
return
;
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
add
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'autoSave'
);
this
.
$emit
(
'save'
,
data
);
this
.
$store
.
dispatch
(
'viewaction/datasaved'
,
{
viewtag
:
this
.
viewtag
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
return
;
}
});
}
/**
* 保存
*
* @param {*} [opt={}]
* @param {boolean} [showResultInfo]
* @param {boolean} [ifStateNext] formState是否下发通知
* @returns {Promise<any>}
* @memberof AbstractInfo
*/
public
async
save
(
opt
:
any
=
{},
showResultInfo
?:
boolean
,
ifStateNext
:
boolean
=
true
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
showResultInfo
=
showResultInfo
===
undefined
?
true
:
false
;
if
(
!
this
.
formValidateStatus
())
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'值规则校验异常'
});
return
;
}
const
arg
:
any
=
{
...
opt
};
const
data
=
this
.
getValues
();
Object
.
assign
(
arg
,
data
);
Object
.
assign
(
arg
,
this
.
context
);
if
(
ifStateNext
)
{
this
.
drcounter
=
0
;
if
(
this
.
drcounter
!==
0
){
this
.
drsaveopt
=
opt
;
this
.
formState
.
next
({
type
:
'beforesave'
,
data
:
arg
});
//先通知关系界面保存
this
.
saveState
=
resolve
;
return
;
}
}
const
action
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)
?
this
.
updateAction
:
this
.
createAction
;
if
(
!
action
){
let
actionName
:
any
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
"updateAction"
:
"createAction"
;
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'ContactAbstractEditView9视图表单'
+
actionName
+
'参数未配置'
});
return
;
}
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
const
post
:
Promise
<
any
>
=
Object
.
is
(
data
.
srfuf
,
'1'
)?
this
.
service
.
update
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
):
this
.
service
.
add
(
action
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
.
status
||
response
.
status
!==
200
)
{
if
(
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
}
return
;
}
const
data
=
response
.
data
;
this
.
onFormLoad
(
data
,
'save'
);
this
.
$emit
(
'save'
,
data
);
this
.
$store
.
dispatch
(
'viewaction/datasaved'
,
{
viewtag
:
this
.
viewtag
});
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
data
});
});
if
(
showResultInfo
)
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
data
.
srfmajortext
?
data
.
srfmajortext
:
''
)
+
' 保存成功!'
});
}
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
});
})
}
/**
* 删除
*
* @public
* @param {*} [opt={}]
* @memberof EditForm
*/
public
remove
(
opt
:
Array
<
any
>
=
[],
showResultInfo
?:
boolean
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'ContactAbstractEditView9视图表单removeAction参数未配置'
});
return
;
}
const
arg
:
any
=
opt
[
0
];
const
_this
:
any
=
this
;
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
this
.
service
.
delete
(
_this
.
removeAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showResultInfo
).
then
((
response
:
any
)
=>
{
if
(
response
)
{
const
data
=
response
.
data
;
this
.
$emit
(
'remove'
,
data
);
this
.
formState
.
next
({
type
:
'remove'
,
data
:
data
});
this
.
data
.
ismodify
=
false
;
this
.
$Notice
.
success
({
title
:
''
,
desc
:
(
data
.
srfmajortext
?
data
.
srfmajortext
:
''
)
+
' 删除成功!'
});
resolve
(
response
);
}
}).
catch
((
error
:
any
)
=>
{
const
{
data
:
_data
}
=
error
;
this
.
$Notice
.
error
({
title
:
_data
.
title
,
desc
:
_data
.
message
});
reject
(
error
);
});
});
}
/**
* 工作流启动
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof AbstractInfo
*/
public
async
wfstart
(
data
:
any
,
localdata
?:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
post
:
Promise
<
any
>
=
_this
.
save
({},
false
);
post
.
then
((
response
:
any
)
=>
{
const
arg
:
any
=
response
.
data
;
if
(
this
.
viewparams
){
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
}
const
result
:
Promise
<
any
>
=
this
.
service
.
wfstart
(
_this
.
WFStartAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
localdata
);
result
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
data
){
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'工作流启动失败, '
+
response
.
data
.
message
});
}
return
;
}
this
.
$Notice
.
info
({
title
:
''
,
desc
:
'工作流启动成功'
});
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
})
});
}
/**
* 工作流提交
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof AbstractInfo
*/
public
async
wfsubmit
(
data
:
any
,
localdata
?:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_this
:
any
=
this
;
const
arg
:
any
=
data
[
0
];
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
if
(
!
arg
.
contact
||
Object
.
is
(
arg
.
contact
,
''
))
{
return
;
}
const
post
:
Promise
<
any
>
=
Object
.
is
(
arg
.
srfuf
,
'1'
)?
this
.
service
.
update
(
this
.
updateAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
):
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
const
arg
:
any
=
response
.
data
;
// 保存完成UI处理
this
.
onFormLoad
(
arg
,
'save'
);
this
.
$emit
(
'save'
,
arg
);
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'save'
,
data
:
arg
});
});
// 准备提交参数
if
(
this
.
viewparams
){
Object
.
assign
(
arg
,{
viewparams
:
this
.
viewparams
});
}
// 强制补充srfwfmemo
if
(
this
.
srfwfmemo
){
Object
.
assign
(
arg
,{
srfwfmemo
:
this
.
srfwfmemo
});
}
const
result
:
Promise
<
any
>
=
this
.
service
.
wfsubmit
(
_this
.
WFSubmitAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
this
.
showBusyIndicator
,
localdata
);
result
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
data
){
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'工作流提交失败, '
+
response
.
data
.
message
});
}
return
;
}
this
.
onFormLoad
(
arg
,
'submit'
);
this
.
$store
.
dispatch
(
'viewaction/datasaved'
,
{
viewtag
:
this
.
viewtag
});
this
.
$Notice
.
info
({
title
:
''
,
desc
:
'工作流提交成功'
});
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
reject
(
response
);
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
})
})
}
/**
* 表单项更新
*
* @param {string} mode 界面行为名称
* @param {*} [data={}] 请求数据
* @param {string[]} updateDetails 更新项
* @param {boolean} [showloading] 是否显示加载状态
* @returns {void}
* @memberof AbstractInfo
*/
public
updateFormItems
(
mode
:
string
,
data
:
any
=
{},
updateDetails
:
string
[],
showloading
?:
boolean
):
void
{
if
(
!
mode
||
(
mode
&&
Object
.
is
(
mode
,
''
)))
{
return
;
}
const
arg
:
any
=
{
...
data
};
Object
.
assign
(
arg
,
this
.
viewparams
);
const
post
:
Promise
<
any
>
=
this
.
service
.
frontLogic
(
mode
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
arg
,
showloading
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'表单项更新失败'
});
return
;
}
const
data
=
response
.
data
;
const
_data
:
any
=
{};
updateDetails
.
forEach
((
name
:
string
)
=>
{
if
(
!
data
.
hasOwnProperty
(
name
))
{
return
;
}
Object
.
assign
(
_data
,
{
[
name
]:
data
[
name
]
});
});
this
.
setFormEnableCond
(
_data
);
this
.
fillForm
(
_data
,
'updateFormItem'
);
this
.
formLogic
({
name
:
''
,
newVal
:
null
,
oldVal
:
null
});
this
.
dataChang
.
next
(
JSON
.
stringify
(
this
.
data
));
this
.
$nextTick
(()
=>
{
this
.
formState
.
next
({
type
:
'updateformitem'
,
ufimode
:
arg
.
srfufimode
,
data
:
_data
});
});
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
&&
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
data
.
message
});
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
return
;
}
});
}
/**
* 回车事件
*
* @param {*} $event
* @memberof AbstractInfo
*/
public
onEnter
(
$event
:
any
):
void
{
}
/**
* 保存并退出
*
* @param {any[]} args
* @memberof AbstractInfo
*/
public
saveAndExit
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
currentAction
=
"saveAndExit"
;
_this
.
save
([
arg
]).
then
((
res
)
=>
{
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
resolve
(
res
);
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 保存并新建
*
* @param {any[]} args
* @memberof AbstractInfo
*/
public
saveAndNew
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
currentAction
=
"saveAndNew"
;
_this
.
save
([
arg
]).
then
((
res
)
=>
{
_this
.
ResetData
(
res
);
_this
.
loadDraft
({});
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 删除并退出
*
* @param {any[]} args
* @memberof AbstractInfo
*/
public
removeAndExit
(
data
:
any
[]):
Promise
<
any
>
{
let
_this
=
this
;
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
arg
:
any
=
{};
if
(
data
&&
data
.
length
>
0
){
Object
.
assign
(
arg
,
data
[
0
]);
}
_this
.
remove
([
arg
]).
then
((
res
)
=>
{
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
resolve
(
res
);
}).
catch
((
error
)
=>
{
reject
(
error
);
})
})
}
/**
* 关系界面数据保存完成
*
* @param {any} $event
* @memberof AbstractInfo
*/
public
drdatasaved
(
$event
:
any
){
let
_this
=
this
;
this
.
drcounter
--
;
if
(
this
.
drcounter
>
0
){
return
;
}
this
.
save
(
this
.
drsaveopt
,
undefined
,
false
).
then
((
res
)
=>
{
this
.
saveState
(
res
);
this
.
drsaveopt
=
{};
if
(
Object
.
is
(
_this
.
currentAction
,
"saveAndNew"
)){
_this
.
ResetData
(
res
);
_this
.
loadDraft
({});
}
else
if
(
Object
.
is
(
_this
.
currentAction
,
"saveAndExit"
)){
if
(
res
){
_this
.
closeView
(
res
.
data
);
}
}
});
}
/**
* 新建默认值
* @memberof AbstractInfo
*/
public
createDefault
(){
}
/**
* 更新默认值
* @memberof AbstractInfo
*/
public
updateDefault
(){
}
}
</
script
>
<
style
lang=
'less'
>
@import './abstract-info-form.less';
</
style
>
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/abstract-info-form/abstract-info-form-model.ts
0 → 100644
浏览文件 @
35e072b2
/**
* AbstractInfo 部件模型
*
* @export
* @class AbstractInfoModel
*/
export
default
class
AbstractInfoModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof AbstractInfoModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'srfwfmemo'
,
prop
:
'srfwfmemo'
,
dataType
:
'TEXT'
,
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
{
name
:
'srfupdatedate'
,
prop
:
'updatedate'
,
dataType
:
'DATETIME'
,
},
{
name
:
'srforikey'
,
},
{
name
:
'srfkey'
,
prop
:
'contactid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'fullname'
,
dataType
:
'TEXT'
,
},
{
name
:
'srftempmode'
,
},
{
name
:
'srfuf'
,
},
{
name
:
'srfdeid'
,
},
{
name
:
'srfsourcekey'
,
},
{
name
:
'fullname'
,
prop
:
'fullname'
,
dataType
:
'TEXT'
,
},
{
name
:
'jobtitle'
,
prop
:
'jobtitle'
,
dataType
:
'TEXT'
,
},
{
name
:
'emailaddress1'
,
prop
:
'emailaddress1'
,
dataType
:
'TEXT'
,
},
{
name
:
'telephone1'
,
prop
:
'telephone1'
,
dataType
:
'TEXT'
,
},
{
name
:
'mobilephone'
,
prop
:
'mobilephone'
,
dataType
:
'TEXT'
,
},
{
name
:
'fax'
,
prop
:
'fax'
,
dataType
:
'TEXT'
,
},
{
name
:
'address1_country'
,
prop
:
'address1_country'
,
dataType
:
'TEXT'
,
},
{
name
:
'address1_stateorprovince'
,
prop
:
'address1_stateorprovince'
,
dataType
:
'TEXT'
,
},
{
name
:
'address1_city'
,
prop
:
'address1_city'
,
dataType
:
'TEXT'
,
},
{
name
:
'address1_line1'
,
prop
:
'address1_line1'
,
dataType
:
'TEXT'
,
},
{
name
:
'address1_postalcode'
,
prop
:
'address1_postalcode'
,
dataType
:
'TEXT'
,
},
{
name
:
'contactid'
,
prop
:
'contactid'
,
dataType
:
'GUID'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
dataType
:
'FONTKEY'
,
},
]
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/abstract-info-form/abstract-info-form-service.ts
0 → 100644
浏览文件 @
35e072b2
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
AbstractInfoModel
from
'./abstract-info-form-model'
;
/**
* AbstractInfo 部件服务对象
*
* @export
* @class AbstractInfoService
*/
export
default
class
AbstractInfoService
extends
ControlService
{
/**
* 联系人服务对象
*
* @type {ContactService}
* @memberof AbstractInfoService
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof AbstractInfoService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of AbstractInfoService.
*
* @param {*} [opts={}]
* @memberof AbstractInfoService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
AbstractInfoModel
();
}
/**
* 处理数据
*
* @private
* @param {Promise<any>} promise
* @returns {Promise<any>}
* @memberof AbstractInfoService
*/
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
@
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
).
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 AbstractInfoService
*/
@
Errorlog
public
add
(
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
.
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
@
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
.
contactid
=
PrimaryKey
;
Data
.
contact
=
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
.
contactid
=
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 AbstractInfoService
*/
@
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 AbstractInfoService
*/
public
handleRequestData
(
action
:
string
,
context
:
any
,
data
:
any
=
{}){
let
mode
:
any
=
this
.
getMode
();
if
(
!
mode
&&
mode
.
getDataItems
instanceof
Function
)
{
return
data
;
}
let
formItemItems
:
any
[]
=
mode
.
getDataItems
();
let
requestData
:
any
=
{};
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
];
}
}
});
if
(
data
&&
data
.
viewparams
){
Object
.
assign
(
requestData
,
data
.
viewparams
);
}
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
if
(
tempContext
&&
tempContext
.
srfsessionid
){
tempContext
.
srfsessionkey
=
tempContext
.
srfsessionid
;
delete
tempContext
.
srfsessionid
;
}
return
{
context
:
tempContext
,
data
:
requestData
};
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/abstract-info-form/abstract-info-form.less
0 → 100644
浏览文件 @
35e072b2
.form {
--form: 0px;
}
// this is less
app_BusinessCentral/src/widgets/contact/abstract-info-form/abstract-info-form.vue
0 → 100644
浏览文件 @
35e072b2
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AbstractInfoBase
from
'./abstract-info-form-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AbstractInfo
extends
AbstractInfoBase
{
}
</
script
>
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/detail-info-form/detail-info-form-base.vue
浏览文件 @
35e072b2
<
template
>
<i-form
:model=
"this.data"
class=
'app-form'
ref=
'form'
id=
'contact_detailinfo'
style=
""
>
<i-form
:model=
"this.data"
class=
'app-form
info-form-mode
'
ref=
'form'
id=
'contact_detailinfo'
style=
""
>
<input
style=
"display:none;"
/>
<row
>
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
fals
e"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.group1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
tru
e"
>
<row>
<i-col
v-show=
"detailsModel.gendercode.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'gendercode'
:itemRules=
"this.rules.gendercode"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.gendercode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.gendercode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.gendercode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.gendercode.disabled"
tag='Contact__GenderCode'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
<app-span
name=
'gendercode'
:value=
"data.gendercode"
tag=
'Contact__GenderCode'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.familystatuscode.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'familystatuscode'
:itemRules=
"this.rules.familystatuscode"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.familystatuscode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.familystatuscode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.familystatuscode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.familystatuscode.disabled"
tag='Contact__FamilyStatusCode'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
<app-span
name=
'familystatuscode'
:value=
"data.familystatuscode"
tag=
'Contact__FamilyStatusCode'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.spousesname.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'spousesname'
:itemRules=
"this.rules.spousesname"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.spousesname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.spousesname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.spousesname"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.spousesname.disabled"
type=
'text'
style=
""
></input-box>
<app-span
name=
'spousesname'
:value=
"data.spousesname"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.birthdate.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'birthdate'
:itemRules=
"this.rules.birthdate"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.birthdate')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.birthdate.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.birthdate"
:disabled=
"detailsModel.birthdate.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.birthdate = val1 }">
</date-picker>
<app-span
name=
'birthdate'
:value=
"data.birthdate"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.anniversary.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'anniversary'
:itemRules=
"this.rules.anniversary"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.anniversary')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.anniversary.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.anniversary"
:disabled=
"detailsModel.anniversary.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.anniversary = val1 }">
</date-picker>
<app-span
name=
'anniversary'
:value=
"data.anniversary"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
...
...
@@ -66,57 +47,26 @@
</i-col>
<i-col
v-show=
"detailsModel.grouppanel1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
fals
e"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel1')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
tru
e"
>
<row>
<i-col
v-show=
"detailsModel.originatingleadname.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'originatingleadname'
:itemRules=
"this.rules.originatingleadname"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.originatingleadname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.originatingleadname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-picker
:formState=
"formState"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.originatingleadname.disabled"
name='originatingleadname'
deMajorField='fullname'
deKeyField='lead'
:service="service"
:acParams="{ serviceName: 'LeadService', interfaceName: 'FetchDefault'}"
valueitem='originatingleadid'
:value="data.originatingleadname"
editortype=""
:pickupView="{ viewname: 'lead-pickup-view', title: $t('entities.lead.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'leads', parameterName: 'lead' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
<app-span
name=
'originatingleadname'
:value=
"data.originatingleadname"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.lastusedincampaign.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'lastusedincampaign'
:itemRules=
"this.rules.lastusedincampaign"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.lastusedincampaign')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.lastusedincampaign.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.lastusedincampaign"
:disabled=
"detailsModel.lastusedincampaign.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.lastusedincampaign = val1 }">
</date-picker>
<app-span
name=
'lastusedincampaign'
:value=
"data.lastusedincampaign"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.donotsendmm.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'donotsendmm'
:itemRules=
"this.rules.donotsendmm"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.donotsendmm')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.donotsendmm.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.donotsendmm"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.donotsendmm.disabled"
style="width:100px;width: 100px;"
tag='YesNo'
codelistType='STATIC'
placeholder='请选择...'>
</dropdown-list>
<app-span
name=
'donotsendmm'
:value=
"data.donotsendmm"
tag=
'YesNo'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
...
...
@@ -126,75 +76,33 @@
</i-col>
<i-col
v-show=
"detailsModel.grouppanel2.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel2.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel2')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
fals
e"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel2.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel2')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
tru
e"
>
<row>
<i-col
v-show=
"detailsModel.transactioncurrencyname.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'transactioncurrencyname'
:itemRules=
"this.rules.transactioncurrencyname"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.transactioncurrencyname')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.transactioncurrencyname.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<app-picker
:formState=
"formState"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.transactioncurrencyname.disabled"
name='transactioncurrencyname'
deMajorField='currencyname'
deKeyField='transactioncurrency'
:service="service"
:acParams="{ serviceName: 'TransactionCurrencyService', interfaceName: 'FetchDefault'}"
valueitem='transactioncurrencyid'
:value="data.transactioncurrencyname"
editortype=""
:pickupView="{ viewname: 'transaction-currency-pickup-view', title: $t('entities.transactioncurrency.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
<app-span
name=
'transactioncurrencyname'
:value=
"data.transactioncurrencyname"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.creditlimit.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'creditlimit'
:itemRules=
"this.rules.creditlimit"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.creditlimit')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.creditlimit.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.creditlimit"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.creditlimit.disabled"
type=
'number'
style=
""
></input-box>
<app-span
name=
'creditlimit'
:value=
"data.creditlimit"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.creditonhold.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'creditonhold'
:itemRules=
"this.rules.creditonhold"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.creditonhold')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.creditonhold.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.creditonhold"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.creditonhold.disabled"
style="width:100px;width: 100px;"
tag='YesNo'
codelistType='STATIC'
placeholder='请选择...'>
</dropdown-list>
<app-span
name=
'creditonhold'
:value=
"data.creditonhold"
tag=
'YesNo'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.paymenttermscode.visible"
:style=
"
{}" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'paymenttermscode'
:itemRules=
"this.rules.paymenttermscode"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.paymenttermscode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.paymenttermscode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.paymenttermscode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.paymenttermscode.disabled"
tag='Contact__PaymentTermsCode'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
<app-span
name=
'paymenttermscode'
:value=
"data.paymenttermscode"
tag=
'Contact__PaymentTermsCode'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
...
...
@@ -204,23 +112,12 @@
</i-col>
<i-col
v-show=
"detailsModel.grouppanel3.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel3.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel3')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
fals
e"
>
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.grouppanel3.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.contact.detailinfo_form.details.grouppanel3')"
:isShowCaption=
"true"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"
tru
e"
>
<row>
<i-col
v-show=
"detailsModel.shippingmethodcode.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'shippingmethodcode'
:itemRules=
"this.rules.shippingmethodcode"
class=
''
:caption=
"$t('entities.contact.detailinfo_form.details.shippingmethodcode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.shippingmethodcode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.shippingmethodcode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.shippingmethodcode.disabled"
tag='Contact__ShippingMethodCode'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
<app-span
name=
'shippingmethodcode'
:value=
"data.shippingmethodcode"
tag=
'Contact__ShippingMethodCode'
codelistType=
'STATIC'
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }' :localParam ='{ }' style="">
</app-span>
</app-form-item>
</i-col>
...
...
@@ -548,8 +445,6 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
creditonhold
:
null
,
paymenttermscode
:
null
,
shippingmethodcode
:
null
,
originatingleadid
:
null
,
transactioncurrencyid
:
null
,
contactid
:
null
,
contact
:
null
,
};
...
...
@@ -684,10 +579,10 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
{
required
:
false
,
type
:
'string'
,
message
:
'上次参与市场活动的日期 值不能为空'
,
trigger
:
'blur'
},
],
donotsendmm
:
[
{
type
:
'
number'
,
message
:
'发送市场营销资料 值必须为数值
类型'
,
trigger
:
'change'
},
{
type
:
'
number'
,
message
:
'发送市场营销资料 值必须为数值
类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'
number
'
,
message
:
'发送市场营销资料 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'
number
'
,
message
:
'发送市场营销资料 值不能为空'
,
trigger
:
'blur'
},
{
type
:
'
string'
,
message
:
'发送市场营销资料 值必须为字符串
类型'
,
trigger
:
'change'
},
{
type
:
'
string'
,
message
:
'发送市场营销资料 值必须为字符串
类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'
string
'
,
message
:
'发送市场营销资料 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'
string
'
,
message
:
'发送市场营销资料 值不能为空'
,
trigger
:
'blur'
},
],
transactioncurrencyname
:
[
{
type
:
'string'
,
message
:
'货币 值必须为字符串类型'
,
trigger
:
'change'
},
...
...
@@ -702,10 +597,10 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
{
required
:
false
,
type
:
'number'
,
message
:
'信用额度 值不能为空'
,
trigger
:
'blur'
},
],
creditonhold
:
[
{
type
:
'
number'
,
message
:
'信用冻结 值必须为数值
类型'
,
trigger
:
'change'
},
{
type
:
'
number'
,
message
:
'信用冻结 值必须为数值
类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'
number
'
,
message
:
'信用冻结 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'
number
'
,
message
:
'信用冻结 值不能为空'
,
trigger
:
'blur'
},
{
type
:
'
string'
,
message
:
'信用冻结 值必须为字符串
类型'
,
trigger
:
'change'
},
{
type
:
'
string'
,
message
:
'信用冻结 值必须为字符串
类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'
string
'
,
message
:
'信用冻结 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'
string
'
,
message
:
'信用冻结 值不能为空'
,
trigger
:
'blur'
},
],
paymenttermscode
:
[
{
type
:
'string'
,
message
:
'付款方式 值必须为字符串类型'
,
trigger
:
'change'
},
...
...
@@ -719,18 +614,6 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
{
required
:
false
,
type
:
'string'
,
message
:
'送货方式 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'送货方式 值不能为空'
,
trigger
:
'blur'
},
],
originatingleadid
:
[
{
type
:
'string'
,
message
:
'原始潜在顾客 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'原始潜在顾客 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'原始潜在顾客 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'原始潜在顾客 值不能为空'
,
trigger
:
'blur'
},
],
transactioncurrencyid
:
[
{
type
:
'string'
,
message
:
'货币 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'货币 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'货币 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'货币 值不能为空'
,
trigger
:
'blur'
},
],
contactid
:
[
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'联系人 值必须为字符串类型'
,
trigger
:
'blur'
},
...
...
@@ -797,10 +680,6 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
paymenttermscode
:
new
FormItemModel
({
caption
:
'付款方式'
,
detailType
:
'FORMITEM'
,
name
:
'paymenttermscode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
shippingmethodcode
:
new
FormItemModel
({
caption
:
'送货方式'
,
detailType
:
'FORMITEM'
,
name
:
'shippingmethodcode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
originatingleadid
:
new
FormItemModel
({
caption
:
'原始潜在顾客'
,
detailType
:
'FORMITEM'
,
name
:
'originatingleadid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
1
})
,
transactioncurrencyid
:
new
FormItemModel
({
caption
:
'货币'
,
detailType
:
'FORMITEM'
,
name
:
'transactioncurrencyid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
contactid
:
new
FormItemModel
({
caption
:
'联系人'
,
detailType
:
'FORMITEM'
,
name
:
'contactid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
1
})
,
...
...
@@ -1058,30 +937,6 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'shippingmethodcode'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 originatingleadid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DetailInfo
*/
@
Watch
(
'data.originatingleadid'
)
onOriginatingleadidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'originatingleadid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 transactioncurrencyid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DetailInfo
*/
@
Watch
(
'data.transactioncurrencyid'
)
onTransactioncurrencyidChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'transactioncurrencyid'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 contactid 值
*
...
...
@@ -1154,8 +1009,6 @@ export default class DetailInfoBase extends Vue implements ControlInterface {
...
...
app_BusinessCentral/src/widgets/contact/detail-info-form/detail-info-form-model.ts
浏览文件 @
35e072b2
...
...
@@ -120,16 +120,6 @@ export default class DetailInfoModel {
prop
:
'shippingmethodcode'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'originatingleadid'
,
prop
:
'originatingleadid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'transactioncurrencyid'
,
prop
:
'transactioncurrencyid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'contactid'
,
prop
:
'contactid'
,
...
...
app_BusinessCentral/src/widgets/contact/detail-info-form/detail-info-form-service.ts
浏览文件 @
35e072b2
...
...
@@ -2,8 +2,6 @@ import { Http,Util,Errorlog } from '@/utils';
import
ControlService
from
'@/widgets/control-service'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
DetailInfoModel
from
'./detail-info-form-model'
;
import
LeadService
from
'@/service/lead/lead-service'
;
import
TransactionCurrencyService
from
'@/service/transaction-currency/transaction-currency-service'
;
/**
...
...
@@ -43,22 +41,6 @@ export default class DetailInfoService extends ControlService {
this
.
model
=
new
DetailInfoModel
();
}
/**
* 潜在顾客服务对象
*
* @type {LeadService}
* @memberof DetailInfoService
*/
public
leadService
:
LeadService
=
new
LeadService
();
/**
* 货币服务对象
*
* @type {TransactionCurrencyService}
* @memberof DetailInfoService
*/
public
transactioncurrencyService
:
TransactionCurrencyService
=
new
TransactionCurrencyService
();
/**
* 处理数据
*
...
...
@@ -98,12 +80,6 @@ export default class DetailInfoService extends ControlService {
*/
@
Errorlog
public
getItems
(
serviceName
:
string
,
interfaceName
:
string
,
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
[]
>
{
if
(
Object
.
is
(
serviceName
,
'LeadService'
)
&&
Object
.
is
(
interfaceName
,
'FetchDefault'
))
{
return
this
.
doItems
(
this
.
leadService
.
FetchDefault
(
JSON
.
parse
(
JSON
.
stringify
(
context
)),
data
,
isloading
),
'leadid'
,
'lead'
);
}
if
(
Object
.
is
(
serviceName
,
'TransactionCurrencyService'
)
&&
Object
.
is
(
interfaceName
,
'FetchDefault'
))
{
return
this
.
doItems
(
this
.
transactioncurrencyService
.
FetchDefault
(
JSON
.
parse
(
JSON
.
stringify
(
context
)),
data
,
isloading
),
'transactioncurrencyid'
,
'transactioncurrency'
);
}
return
Promise
.
reject
([])
}
...
...
app_BusinessCentral/src/widgets/lead/default-searchform/default-searchform-base.vue
浏览文件 @
35e072b2
...
...
@@ -561,7 +561,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
loadAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图搜索表单loadAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图搜索表单loadAction参数未配置'
});
return
;
}
const
arg
:
any
=
{
...
opt
};
...
...
@@ -598,7 +598,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public
loadDraft
(
opt
:
any
=
{},
mode
?:
string
):
void
{
if
(
!
this
.
loaddraftAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图搜索表单loaddraftAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图搜索表单loaddraftAction参数未配置'
});
return
;
}
const
arg
:
any
=
{
...
opt
}
;
...
...
app_BusinessCentral/src/widgets/lead/main-grid/main-grid-base.vue
浏览文件 @
35e072b2
...
...
@@ -258,6 +258,20 @@ export default class MainBase extends Vue implements ControlInterface {
return
this
.
selections
[
0
];
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof Main
*/
@
Prop
()
public
newdata
:
any
;
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof Main
*/
@
Prop
()
public
opendata
:
any
;
/**
* 显示处理提示
...
...
@@ -632,7 +646,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
load
(
opt
:
any
=
{},
pageReset
:
boolean
=
false
):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图表格fetchAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图表格fetchAction参数未配置'
});
return
;
}
if
(
pageReset
){
...
...
@@ -709,7 +723,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图表格removeAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图表格removeAction参数未配置'
});
return
;
}
let
_datas
:
any
[]
=
[];
...
...
@@ -815,7 +829,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
addBatch
(
arg
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图表格fetchAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图表格fetchAction参数未配置'
});
return
;
}
if
(
!
arg
){
...
...
@@ -1361,7 +1375,7 @@ export default class MainBase extends Vue implements ControlInterface {
try
{
if
(
Object
.
is
(
item
.
rowDataState
,
'create'
)){
if
(
!
this
.
createAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图表格createAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图表格createAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
let
response
=
await
this
.
service
.
add
(
this
.
createAction
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)),
item
,
this
.
showBusyIndicator
);
...
...
@@ -1369,7 +1383,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
}
else
if
(
Object
.
is
(
item
.
rowDataState
,
'update'
)){
if
(
!
this
.
updateAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'Lead
Pickup
GridView视图表格updateAction参数未配置'
});
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'LeadGridView视图表格updateAction参数未配置'
});
}
else
{
Object
.
assign
(
item
,{
viewparams
:
this
.
viewparams
});
if
(
item
.
lead
){
...
...
app_BusinessCentral/src/widgets/task/quick-create-form/quick-create-form-base.vue
浏览文件 @
35e072b2
...
...
@@ -6,13 +6,7 @@
<i-col
v-show=
"detailsModel.group1.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-group
layoutType=
"TABLE_24COL"
titleStyle=
""
class=
''
:uiActionGroup=
"detailsModel.group1.uiActionGroup"
@
groupuiactionclick=
"groupUIActionClick($event)"
:caption=
"$t('entities.task.quickcreate_form.details.group1')"
:isShowCaption=
"false"
uiStyle=
"DEFAULT"
:titleBarCloseMode=
"0"
:isInfoGroupMode=
"false"
>
<row>
<i-col
v-show=
"detailsModel.subject.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'subject'
:itemRules=
"this.rules.subject"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.subject')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.subject.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.subject"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.subject.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.ownerid.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<i-col
v-show=
"detailsModel.ownerid.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'ownerid'
:itemRules=
"this.rules.ownerid"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.ownerid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.ownerid.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.ownerid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.ownerid.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
...
...
@@ -30,21 +24,45 @@
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.
regardingobjectid
.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'
regardingobjectid'
:itemRules=
"this.rules.regardingobjectid"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.regardingobjectid')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.regardingobjectid
.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.
regardingobjectid"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.regardingobjectid
.disabled"
type=
'text'
style=
""
></input-box>
<i-col
v-show=
"detailsModel.
subject
.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'
subject'
:itemRules=
"this.rules.subject"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.subject')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.subject
.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.
subject"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.subject
.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.
regardingobjectidyominame
.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'
regardingobjectidyominame'
:itemRules=
"this.rules.regardingobjectidyominame"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.regardingobjectidyominame')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.regardingobjectidyominame
.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.
regardingobjectidyominame"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.regardingobjectidyominame
.disabled"
type=
'text'
style=
""
></input-box>
<i-col
v-show=
"detailsModel.
description
.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'
description'
:itemRules=
"this.rules.description"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.description')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.description
.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.
description"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.description
.disabled"
type=
'text'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.regardingobjecttypecode.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'regardingobjecttypecode'
:itemRules=
"this.rules.regardingobjecttypecode"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.regardingobjecttypecode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.regardingobjecttypecode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.regardingobjecttypecode"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.regardingobjecttypecode.disabled"
type=
'text'
style=
""
></input-box>
<i-col
v-show=
"detailsModel.scheduledend.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'scheduledend'
:itemRules=
"this.rules.scheduledend"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.scheduledend')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.scheduledend.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.scheduledend"
:disabled=
"detailsModel.scheduledend.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.scheduledend = val1 }">
</date-picker>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.actualdurationminutes.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'actualdurationminutes'
:itemRules=
"this.rules.actualdurationminutes"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.actualdurationminutes')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.actualdurationminutes.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<input-box
v-model=
"data.actualdurationminutes"
@
enter=
"onEnter($event)"
unit=
""
:disabled=
"detailsModel.actualdurationminutes.disabled"
type=
'number'
style=
""
></input-box>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.prioritycode.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'prioritycode'
:itemRules=
"this.rules.prioritycode"
class=
''
:caption=
"$t('entities.task.quickcreate_form.details.prioritycode')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.prioritycode.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<dropdown-list
v-model=
"data.prioritycode"
:data=
"data"
:context=
"context"
:viewparams=
"viewparams"
:localContext =
'
{ }'
:localParam ='{ }'
:disabled="detailsModel.prioritycode.disabled"
tag='Task__PriorityCode'
codelistType='STATIC'
placeholder='请选择...' style="">
</dropdown-list>
</app-form-item>
</i-col>
...
...
@@ -359,10 +377,14 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
srfuf
:
null
,
srfdeid
:
null
,
srfsourcekey
:
null
,
subject
:
null
,
ownerid
:
null
,
owneridtype
:
null
,
owneridyominame
:
null
,
subject
:
null
,
description
:
null
,
scheduledend
:
null
,
actualdurationminutes
:
null
,
prioritycode
:
null
,
regardingobjectid
:
null
,
regardingobjectidyominame
:
null
,
regardingobjecttypecode
:
null
,
...
...
@@ -457,12 +479,6 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
' 值不能为空'
,
trigger
:
'blur'
},
],
subject
:
[
{
type
:
'string'
,
message
:
'主题 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'主题 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
true
,
type
:
'string'
,
message
:
'主题 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'主题 值不能为空'
,
trigger
:
'blur'
},
],
ownerid
:
[
{
type
:
'string'
,
message
:
'负责人 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'负责人 值必须为字符串类型'
,
trigger
:
'blur'
},
...
...
@@ -481,6 +497,36 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
{
required
:
true
,
type
:
'string'
,
message
:
'OwnerIdYomiName 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'OwnerIdYomiName 值不能为空'
,
trigger
:
'blur'
},
],
subject
:
[
{
type
:
'string'
,
message
:
'主题 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'主题 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
true
,
type
:
'string'
,
message
:
'主题 值不能为空'
,
trigger
:
'change'
},
{
required
:
true
,
type
:
'string'
,
message
:
'主题 值不能为空'
,
trigger
:
'blur'
},
],
description
:
[
{
type
:
'string'
,
message
:
'说明 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'说明 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'说明 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'说明 值不能为空'
,
trigger
:
'blur'
},
],
scheduledend
:
[
{
type
:
'string'
,
message
:
'截止日期 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'截止日期 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'截止日期 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'截止日期 值不能为空'
,
trigger
:
'blur'
},
],
actualdurationminutes
:
[
{
type
:
'number'
,
message
:
'持续时间 值必须为数值类型'
,
trigger
:
'change'
},
{
type
:
'number'
,
message
:
'持续时间 值必须为数值类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'number'
,
message
:
'持续时间 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'number'
,
message
:
'持续时间 值不能为空'
,
trigger
:
'blur'
},
],
prioritycode
:
[
{
type
:
'string'
,
message
:
'优先级 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'优先级 值必须为字符串类型'
,
trigger
:
'blur'
},
{
required
:
false
,
type
:
'string'
,
message
:
'优先级 值不能为空'
,
trigger
:
'change'
},
{
required
:
false
,
type
:
'string'
,
message
:
'优先级 值不能为空'
,
trigger
:
'blur'
},
],
regardingobjectid
:
[
{
type
:
'string'
,
message
:
'关于 值必须为字符串类型'
,
trigger
:
'change'
},
{
type
:
'string'
,
message
:
'关于 值必须为字符串类型'
,
trigger
:
'blur'
},
...
...
@@ -533,14 +579,22 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
srfdeid
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfdeid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
srfsourcekey
:
new
FormItemModel
({
caption
:
''
,
detailType
:
'FORMITEM'
,
name
:
'srfsourcekey'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
subject
:
new
FormItemModel
({
caption
:
'主题'
,
detailType
:
'FORMITEM'
,
name
:
'subject'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
ownerid
:
new
FormItemModel
({
caption
:
'负责人'
,
detailType
:
'FORMITEM'
,
name
:
'ownerid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
owneridtype
:
new
FormItemModel
({
caption
:
'OwnerIdType'
,
detailType
:
'FORMITEM'
,
name
:
'owneridtype'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
owneridyominame
:
new
FormItemModel
({
caption
:
'OwnerIdYomiName'
,
detailType
:
'FORMITEM'
,
name
:
'owneridyominame'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
subject
:
new
FormItemModel
({
caption
:
'主题'
,
detailType
:
'FORMITEM'
,
name
:
'subject'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
description
:
new
FormItemModel
({
caption
:
'说明'
,
detailType
:
'FORMITEM'
,
name
:
'description'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
scheduledend
:
new
FormItemModel
({
caption
:
'截止日期'
,
detailType
:
'FORMITEM'
,
name
:
'scheduledend'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
actualdurationminutes
:
new
FormItemModel
({
caption
:
'持续时间'
,
detailType
:
'FORMITEM'
,
name
:
'actualdurationminutes'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
prioritycode
:
new
FormItemModel
({
caption
:
'优先级'
,
detailType
:
'FORMITEM'
,
name
:
'prioritycode'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
regardingobjectid
:
new
FormItemModel
({
caption
:
'关于'
,
detailType
:
'FORMITEM'
,
name
:
'regardingobjectid'
,
visible
:
true
,
isShowCaption
:
true
,
form
:
this
,
disabled
:
false
,
enableCond
:
3
})
,
...
...
@@ -648,18 +702,6 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'srfsourcekey'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 subject 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.subject'
)
onSubjectChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'subject'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 ownerid 值
*
...
...
@@ -696,6 +738,66 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
this
.
formDataChange
({
name
:
'owneridyominame'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 subject 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.subject'
)
onSubjectChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'subject'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 description 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.description'
)
onDescriptionChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'description'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 scheduledend 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.scheduledend'
)
onScheduledendChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'scheduledend'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 actualdurationminutes 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.actualdurationminutes'
)
onActualdurationminutesChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'actualdurationminutes'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 prioritycode 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof QuickCreate
*/
@
Watch
(
'data.prioritycode'
)
onPrioritycodeChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
formDataChange
({
name
:
'prioritycode'
,
newVal
:
newVal
,
oldVal
:
oldVal
});
}
/**
* 监控表单属性 regardingobjectid 值
*
...
...
@@ -795,6 +897,10 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
...
...
app_BusinessCentral/src/widgets/task/quick-create-form/quick-create-form-model.ts
浏览文件 @
35e072b2
...
...
@@ -55,11 +55,6 @@ export default class QuickCreateModel {
{
name
:
'srfsourcekey'
,
},
{
name
:
'subject'
,
prop
:
'subject'
,
dataType
:
'TEXT'
,
},
{
name
:
'ownerid'
,
prop
:
'ownerid'
,
...
...
@@ -75,6 +70,31 @@ export default class QuickCreateModel {
prop
:
'owneridyominame'
,
dataType
:
'TEXT'
,
},
{
name
:
'subject'
,
prop
:
'subject'
,
dataType
:
'TEXT'
,
},
{
name
:
'description'
,
prop
:
'description'
,
dataType
:
'TEXT'
,
},
{
name
:
'scheduledend'
,
prop
:
'scheduledend'
,
dataType
:
'DATETIME'
,
},
{
name
:
'actualdurationminutes'
,
prop
:
'actualdurationminutes'
,
dataType
:
'INT'
,
},
{
name
:
'prioritycode'
,
prop
:
'prioritycode'
,
dataType
:
'SSCODELIST'
,
},
{
name
:
'regardingobjectid'
,
prop
:
'regardingobjectid'
,
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录