Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
iBiz企业中心
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz企业套件
iBiz企业中心
提交
de7d0fe8
提交
de7d0fe8
编写于
6月 16, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
xignzi006 发布系统代码
上级
9d6cfedf
变更
83
显示空白字符变更
内嵌
并排
正在显示
83 个修改的文件
包含
11185 行增加
和
501 行删除
+11185
-501
data-dictionary.json
app_BusinessCentral/public/assets/json/data-dictionary.json
+746
-0
view-config.json
app_BusinessCentral/public/assets/json/view-config.json
+100
-0
price-level.ts
app_BusinessCentral/src/interface/entity/price-level.ts
+176
-0
en-US.ts
app_BusinessCentral/src/locale/lang/en-US.ts
+2
-0
zh-CN.ts
app_BusinessCentral/src/locale/lang/zh-CN.ts
+2
-0
codelist_en_US.ts
...inessCentral/src/locale/lanres/codelist/codelist_en_US.ts
+93
-0
codelist_zh_CN.ts
...inessCentral/src/locale/lanres/codelist/codelist_zh_CN.ts
+93
-0
account_en_US.ts
...ntral/src/locale/lanres/entities/account/account_en_US.ts
+180
-0
account_zh_CN.ts
...ntral/src/locale/lanres/entities/account/account_zh_CN.ts
+180
-0
contact_en_US.ts
...ntral/src/locale/lanres/entities/contact/contact_en_US.ts
+21
-45
contact_zh_CN.ts
...ntral/src/locale/lanres/entities/contact/contact_zh_CN.ts
+21
-45
price-level_en_US.ts
...c/locale/lanres/entities/price-level/price-level_en_US.ts
+52
-0
price-level_zh_CN.ts
...c/locale/lanres/entities/price-level/price-level_zh_CN.ts
+51
-0
codelist.ts
app_BusinessCentral/src/mock/codelist/codelist.ts
+746
-0
price-levels.ts
...inessCentral/src/mock/entity/price-levels/price-levels.ts
+380
-0
index.ts
app_BusinessCentral/src/mock/index.ts
+1
-0
viewconfig.ts
app_BusinessCentral/src/mock/viewconfig/viewconfig.ts
+80
-0
contact-grid-view-base.vue
...c/pages/base/contact-grid-view/contact-grid-view-base.vue
+1
-390
page-register.ts
...usinessCentral/src/pages/ungroup/central/page-register.ts
+11
-0
router.ts
app_BusinessCentral/src/pages/ungroup/central/router.ts
+154
-0
entity-service-register.ts
app_BusinessCentral/src/service/entity-service-register.ts
+2
-1
price-level-service-base.ts
...ntral/src/service/price-level/price-level-service-base.ts
+179
-0
price-level-service.ts
...essCentral/src/service/price-level/price-level-service.ts
+25
-0
state.ts
app_BusinessCentral/src/store/modules/view-action/state.ts
+7
-0
account-ui-service-base.ts
...sCentral/src/uiservice/account/account-ui-service-base.ts
+8
-0
price-level-ui-service-base.ts
.../src/uiservice/price-level/price-level-ui-service-base.ts
+212
-0
price-level-ui-service.ts
...ntral/src/uiservice/price-level/price-level-ui-service.ts
+21
-0
ui-service-register.ts
app_BusinessCentral/src/uiservice/ui-service-register.ts
+2
-1
account-portlet-base.vue
.../widgets/account/account-portlet/account-portlet-base.vue
+241
-0
account-portlet-model.ts
.../widgets/account/account-portlet/account-portlet-model.ts
+508
-0
account-portlet-service.ts
...idgets/account/account-portlet/account-portlet-service.ts
+11
-0
account-portlet.less
.../src/widgets/account/account-portlet/account-portlet.less
+4
-0
account-portlet.vue
...l/src/widgets/account/account-portlet/account-portlet.vue
+15
-0
address-portlet-base.vue
.../widgets/account/address-portlet/address-portlet-base.vue
+241
-0
address-portlet-model.ts
.../widgets/account/address-portlet/address-portlet-model.ts
+508
-0
address-portlet-service.ts
...idgets/account/address-portlet/address-portlet-service.ts
+11
-0
address-portlet.less
.../src/widgets/account/address-portlet/address-portlet.less
+4
-0
address-portlet.vue
...l/src/widgets/account/address-portlet/address-portlet.vue
+15
-0
contact-setting-portlet-base.vue
.../contact-setting-portlet/contact-setting-portlet-base.vue
+241
-0
contact-setting-portlet-model.ts
.../contact-setting-portlet/contact-setting-portlet-model.ts
+508
-0
contact-setting-portlet-service.ts
...ontact-setting-portlet/contact-setting-portlet-service.ts
+11
-0
contact-setting-portlet.less
...ount/contact-setting-portlet/contact-setting-portlet.less
+4
-0
contact-setting-portlet.vue
...count/contact-setting-portlet/contact-setting-portlet.vue
+15
-0
distribution-portlet-base.vue
...ccount/distribution-portlet/distribution-portlet-base.vue
+241
-0
distribution-portlet-model.ts
...ccount/distribution-portlet/distribution-portlet-model.ts
+508
-0
distribution-portlet-service.ts
...ount/distribution-portlet/distribution-portlet-service.ts
+11
-0
distribution-portlet.less
...ts/account/distribution-portlet/distribution-portlet.less
+4
-0
distribution-portlet.vue
...ets/account/distribution-portlet/distribution-portlet.vue
+15
-0
introduction-portlet-base.vue
...ccount/introduction-portlet/introduction-portlet-base.vue
+241
-0
introduction-portlet-model.ts
...ccount/introduction-portlet/introduction-portlet-model.ts
+508
-0
introduction-portlet-service.ts
...ount/introduction-portlet/introduction-portlet-service.ts
+11
-0
introduction-portlet.less
...ts/account/introduction-portlet/introduction-portlet.less
+4
-0
introduction-portlet.vue
...ets/account/introduction-portlet/introduction-portlet.vue
+15
-0
major-contact-portlet-base.vue
...ount/major-contact-portlet/major-contact-portlet-base.vue
+235
-0
major-contact-portlet-model.ts
...ount/major-contact-portlet/major-contact-portlet-model.ts
+508
-0
major-contact-portlet-service.ts
...nt/major-contact-portlet/major-contact-portlet-service.ts
+11
-0
major-contact-portlet.less
.../account/major-contact-portlet/major-contact-portlet.less
+4
-0
major-contact-portlet.vue
...s/account/major-contact-portlet/major-contact-portlet.vue
+15
-0
summary-dashboard-base.vue
...gets/account/summary-dashboard/summary-dashboard-base.vue
+146
-0
summary-dashboard.vue
...c/widgets/account/summary-dashboard/summary-dashboard.vue
+14
-0
summarydashboard-container1-portlet.less
...ntainer1-portlet/summarydashboard-container1-portlet.less
+4
-0
summarydashboard-container2-portlet.less
...ntainer2-portlet/summarydashboard-container2-portlet.less
+4
-0
by-account-list-base.vue
.../widgets/contact/by-account-list/by-account-list-base.vue
+585
-0
by-account-list-model.ts
.../widgets/contact/by-account-list/by-account-list-model.ts
+99
-0
by-account-list-service.ts
...idgets/contact/by-account-list/by-account-list-service.ts
+104
-0
by-account-list.less
.../src/widgets/contact/by-account-list/by-account-list.less
+4
-0
by-account-list.vue
...l/src/widgets/contact/by-account-list/by-account-list.vue
+16
-0
by-account-panel-base.vue
...idgets/contact/by-account-panel/by-account-panel-base.vue
+487
-0
by-account-panel-model.ts
...idgets/contact/by-account-panel/by-account-panel-model.ts
+27
-0
by-account-panel-service.ts
...gets/contact/by-account-panel/by-account-panel-service.ts
+11
-0
by-account-panel.less
...rc/widgets/contact/by-account-panel/by-account-panel.less
+15
-0
by-account-panel.vue
...src/widgets/contact/by-account-panel/by-account-panel.vue
+14
-0
by-account-portlet-base.vue
...ts/contact/by-account-portlet/by-account-portlet-base.vue
+248
-0
by-account-portlet-model.ts
...ts/contact/by-account-portlet/by-account-portlet-model.ts
+622
-0
by-account-portlet-service.ts
.../contact/by-account-portlet/by-account-portlet-service.ts
+11
-0
by-account-portlet.less
...idgets/contact/by-account-portlet/by-account-portlet.less
+4
-0
by-account-portlet.vue
...widgets/contact/by-account-portlet/by-account-portlet.vue
+17
-0
application-businesscentral-prod.yml
...l/src/main/resources/application-businesscentral-prod.yml
+4
-0
h2_table.xml
...esscentral-core/src/main/resources/liquibase/h2_table.xml
+19
-19
systemResource.json
...al-core/src/main/resources/permission/systemResource.json
+8
-0
PriceLevelDTO.java
...ibizlab/businesscentral/centralapi/dto/PriceLevelDTO.java
+330
-0
PriceLevelMapping.java
...businesscentral/centralapi/mapping/PriceLevelMapping.java
+16
-0
PriceLevelResource.java
...b/businesscentral/centralapi/rest/PriceLevelResource.java
+162
-0
未找到文件。
app_BusinessCentral/public/assets/json/data-dictionary.json
浏览文件 @
de7d0fe8
...
@@ -6,5 +6,751 @@
...
@@ -6,5 +6,751 @@
"appdataentity"
:
""
,
"appdataentity"
:
""
,
"appdedataset"
:
""
,
"appdedataset"
:
""
,
"items"
:
[]
"items"
:
[]
},
{
"srfkey"
:
"Account__OwnershipCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"4"
,
"label"
:
"Other"
,
"text"
:
"Other"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"Private"
,
"text"
:
"Private"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"1"
,
"label"
:
"Public"
,
"text"
:
"Public"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"Subsidiary"
,
"text"
:
"Subsidiary"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"YesNo"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"是"
,
"text"
:
"是"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"0"
,
"label"
:
"否"
,
"text"
:
"否"
,
"data"
:
""
,
"codename"
:
"Item_0"
,
"value"
:
"0"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__Address1_FreightTermsCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"FOB"
,
"text"
:
"FOB"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"No Charge"
,
"text"
:
"No Charge"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__IndustryCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"Accounting"
,
"text"
:
"Accounting"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"Agriculture and Non-petrol Natural Resource Extraction"
,
"text"
:
"Agriculture and Non-petrol Natural Resource Extraction"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"Broadcasting Printing and Publishing"
,
"text"
:
"Broadcasting Printing and Publishing"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
,
{
"id"
:
"4"
,
"label"
:
"Brokers"
,
"text"
:
"Brokers"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"5"
,
"label"
:
"Building Supply Retail"
,
"text"
:
"Building Supply Retail"
,
"data"
:
""
,
"codename"
:
"Item_5"
,
"value"
:
"5"
,
"disabled"
:
false
}
,
{
"id"
:
"6"
,
"label"
:
"Business Services"
,
"text"
:
"Business Services"
,
"data"
:
""
,
"codename"
:
"Item_6"
,
"value"
:
"6"
,
"disabled"
:
false
}
,
{
"id"
:
"7"
,
"label"
:
"Consulting"
,
"text"
:
"Consulting"
,
"data"
:
""
,
"codename"
:
"Item_7"
,
"value"
:
"7"
,
"disabled"
:
false
}
,
{
"id"
:
"8"
,
"label"
:
"Consumer Services"
,
"text"
:
"Consumer Services"
,
"data"
:
""
,
"codename"
:
"Item_8"
,
"value"
:
"8"
,
"disabled"
:
false
}
,
{
"id"
:
"9"
,
"label"
:
"Design, Direction and Creative Management"
,
"text"
:
"Design, Direction and Creative Management"
,
"data"
:
""
,
"codename"
:
"Item_9"
,
"value"
:
"9"
,
"disabled"
:
false
}
,
{
"id"
:
"10"
,
"label"
:
"Distributors, Dispatchers and Processors"
,
"text"
:
"Distributors, Dispatchers and Processors"
,
"data"
:
""
,
"codename"
:
"Item_10"
,
"value"
:
"10"
,
"disabled"
:
false
}
,
{
"id"
:
"11"
,
"label"
:
"Doctor's Offices and Clinics"
,
"text"
:
"Doctor's Offices and Clinics"
,
"data"
:
""
,
"codename"
:
"Item_11"
,
"value"
:
"11"
,
"disabled"
:
false
}
,
{
"id"
:
"12"
,
"label"
:
"Durable Manufacturing"
,
"text"
:
"Durable Manufacturing"
,
"data"
:
""
,
"codename"
:
"Item_12"
,
"value"
:
"12"
,
"disabled"
:
false
}
,
{
"id"
:
"13"
,
"label"
:
"Eating and Drinking Places"
,
"text"
:
"Eating and Drinking Places"
,
"data"
:
""
,
"codename"
:
"Item_13"
,
"value"
:
"13"
,
"disabled"
:
false
}
,
{
"id"
:
"14"
,
"label"
:
"Entertainment Retail"
,
"text"
:
"Entertainment Retail"
,
"data"
:
""
,
"codename"
:
"Item_14"
,
"value"
:
"14"
,
"disabled"
:
false
}
,
{
"id"
:
"15"
,
"label"
:
"Equipment Rental and Leasing"
,
"text"
:
"Equipment Rental and Leasing"
,
"data"
:
""
,
"codename"
:
"Item_15"
,
"value"
:
"15"
,
"disabled"
:
false
}
,
{
"id"
:
"16"
,
"label"
:
"Financial"
,
"text"
:
"Financial"
,
"data"
:
""
,
"codename"
:
"Item_16"
,
"value"
:
"16"
,
"disabled"
:
false
}
,
{
"id"
:
"17"
,
"label"
:
"Food and Tobacco Processing"
,
"text"
:
"Food and Tobacco Processing"
,
"data"
:
""
,
"codename"
:
"Item_17"
,
"value"
:
"17"
,
"disabled"
:
false
}
,
{
"id"
:
"18"
,
"label"
:
"Inbound Capital Intensive Processing"
,
"text"
:
"Inbound Capital Intensive Processing"
,
"data"
:
""
,
"codename"
:
"Item_18"
,
"value"
:
"18"
,
"disabled"
:
false
}
,
{
"id"
:
"19"
,
"label"
:
"Inbound Repair and Services"
,
"text"
:
"Inbound Repair and Services"
,
"data"
:
""
,
"codename"
:
"Item_19"
,
"value"
:
"19"
,
"disabled"
:
false
}
,
{
"id"
:
"20"
,
"label"
:
"Insurance"
,
"text"
:
"Insurance"
,
"data"
:
""
,
"codename"
:
"Item_20"
,
"value"
:
"20"
,
"disabled"
:
false
}
,
{
"id"
:
"21"
,
"label"
:
"Legal Services"
,
"text"
:
"Legal Services"
,
"data"
:
""
,
"codename"
:
"Item_21"
,
"value"
:
"21"
,
"disabled"
:
false
}
,
{
"id"
:
"22"
,
"label"
:
"Non-Durable Merchandise Retail"
,
"text"
:
"Non-Durable Merchandise Retail"
,
"data"
:
""
,
"codename"
:
"Item_22"
,
"value"
:
"22"
,
"disabled"
:
false
}
,
{
"id"
:
"23"
,
"label"
:
"Outbound Consumer Service"
,
"text"
:
"Outbound Consumer Service"
,
"data"
:
""
,
"codename"
:
"Item_23"
,
"value"
:
"23"
,
"disabled"
:
false
}
,
{
"id"
:
"24"
,
"label"
:
"Petrochemical Extraction and Distribution"
,
"text"
:
"Petrochemical Extraction and Distribution"
,
"data"
:
""
,
"codename"
:
"Item_24"
,
"value"
:
"24"
,
"disabled"
:
false
}
,
{
"id"
:
"25"
,
"label"
:
"Service Retail"
,
"text"
:
"Service Retail"
,
"data"
:
""
,
"codename"
:
"Item_25"
,
"value"
:
"25"
,
"disabled"
:
false
}
,
{
"id"
:
"26"
,
"label"
:
"SIG Affiliations"
,
"text"
:
"SIG Affiliations"
,
"data"
:
""
,
"codename"
:
"Item_26"
,
"value"
:
"26"
,
"disabled"
:
false
}
,
{
"id"
:
"27"
,
"label"
:
"Social Services"
,
"text"
:
"Social Services"
,
"data"
:
""
,
"codename"
:
"Item_27"
,
"value"
:
"27"
,
"disabled"
:
false
}
,
{
"id"
:
"28"
,
"label"
:
"Special Outbound Trade Contractors"
,
"text"
:
"Special Outbound Trade Contractors"
,
"data"
:
""
,
"codename"
:
"Item_28"
,
"value"
:
"28"
,
"disabled"
:
false
}
,
{
"id"
:
"29"
,
"label"
:
"Specialty Realty"
,
"text"
:
"Specialty Realty"
,
"data"
:
""
,
"codename"
:
"Item_29"
,
"value"
:
"29"
,
"disabled"
:
false
}
,
{
"id"
:
"30"
,
"label"
:
"Transportation"
,
"text"
:
"Transportation"
,
"data"
:
""
,
"codename"
:
"Item_30"
,
"value"
:
"30"
,
"disabled"
:
false
}
,
{
"id"
:
"31"
,
"label"
:
"Utility Creation and Distribution"
,
"text"
:
"Utility Creation and Distribution"
,
"data"
:
""
,
"codename"
:
"Item_31"
,
"value"
:
"31"
,
"disabled"
:
false
}
,
{
"id"
:
"32"
,
"label"
:
"Vehicle Retail"
,
"text"
:
"Vehicle Retail"
,
"data"
:
""
,
"codename"
:
"Item_32"
,
"value"
:
"32"
,
"disabled"
:
false
}
,
{
"id"
:
"33"
,
"label"
:
"Wholesale"
,
"text"
:
"Wholesale"
,
"data"
:
""
,
"codename"
:
"Item_33"
,
"value"
:
"33"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__CustomerTypeCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"Competitor"
,
"text"
:
"Competitor"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"Consultant"
,
"text"
:
"Consultant"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"Customer"
,
"text"
:
"Customer"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
,
{
"id"
:
"6"
,
"label"
:
"Influencer"
,
"text"
:
"Influencer"
,
"data"
:
""
,
"codename"
:
"Item_6"
,
"value"
:
"6"
,
"disabled"
:
false
}
,
{
"id"
:
"4"
,
"label"
:
"Investor"
,
"text"
:
"Investor"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"12"
,
"label"
:
"Other"
,
"text"
:
"Other"
,
"data"
:
""
,
"codename"
:
"Item_12"
,
"value"
:
"12"
,
"disabled"
:
false
}
,
{
"id"
:
"5"
,
"label"
:
"Partner"
,
"text"
:
"Partner"
,
"data"
:
""
,
"codename"
:
"Item_5"
,
"value"
:
"5"
,
"disabled"
:
false
}
,
{
"id"
:
"7"
,
"label"
:
"Press"
,
"text"
:
"Press"
,
"data"
:
""
,
"codename"
:
"Item_7"
,
"value"
:
"7"
,
"disabled"
:
false
}
,
{
"id"
:
"8"
,
"label"
:
"Prospect"
,
"text"
:
"Prospect"
,
"data"
:
""
,
"codename"
:
"Item_8"
,
"value"
:
"8"
,
"disabled"
:
false
}
,
{
"id"
:
"9"
,
"label"
:
"Reseller"
,
"text"
:
"Reseller"
,
"data"
:
""
,
"codename"
:
"Item_9"
,
"value"
:
"9"
,
"disabled"
:
false
}
,
{
"id"
:
"10"
,
"label"
:
"Supplier"
,
"text"
:
"Supplier"
,
"data"
:
""
,
"codename"
:
"Item_10"
,
"value"
:
"10"
,
"disabled"
:
false
}
,
{
"id"
:
"11"
,
"label"
:
"Vendor"
,
"text"
:
"Vendor"
,
"data"
:
""
,
"codename"
:
"Item_11"
,
"value"
:
"11"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__Address1_AddressTypeCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"Bill To"
,
"text"
:
"Bill To"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"4"
,
"label"
:
"Other"
,
"text"
:
"Other"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"Primary"
,
"text"
:
"Primary"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"Ship To"
,
"text"
:
"Ship To"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__PreferredContactMethodCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"Any"
,
"text"
:
"Any"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"Email"
,
"text"
:
"Email"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"4"
,
"label"
:
"Fax"
,
"text"
:
"Fax"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"5"
,
"label"
:
"Mail"
,
"text"
:
"Mail"
,
"data"
:
""
,
"codename"
:
"Item_5"
,
"value"
:
"5"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"Phone"
,
"text"
:
"Phone"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
]
},
{
"srfkey"
:
"Account__Address1_ShippingMethodCode"
,
"emptytext"
:
"未定义"
,
"codelisttype"
:
"static"
,
"items"
:
[
{
"id"
:
"1"
,
"label"
:
"Airborne"
,
"text"
:
"Airborne"
,
"data"
:
""
,
"codename"
:
"Item_1"
,
"value"
:
"1"
,
"disabled"
:
false
}
,
{
"id"
:
"2"
,
"label"
:
"DHL"
,
"text"
:
"DHL"
,
"data"
:
""
,
"codename"
:
"Item_2"
,
"value"
:
"2"
,
"disabled"
:
false
}
,
{
"id"
:
"3"
,
"label"
:
"FedEx"
,
"text"
:
"FedEx"
,
"data"
:
""
,
"codename"
:
"Item_3"
,
"value"
:
"3"
,
"disabled"
:
false
}
,
{
"id"
:
"6"
,
"label"
:
"Full Load"
,
"text"
:
"Full Load"
,
"data"
:
""
,
"codename"
:
"Item_6"
,
"value"
:
"6"
,
"disabled"
:
false
}
,
{
"id"
:
"5"
,
"label"
:
"Postal Mail"
,
"text"
:
"Postal Mail"
,
"data"
:
""
,
"codename"
:
"Item_5"
,
"value"
:
"5"
,
"disabled"
:
false
}
,
{
"id"
:
"4"
,
"label"
:
"UPS"
,
"text"
:
"UPS"
,
"data"
:
""
,
"codename"
:
"Item_4"
,
"value"
:
"4"
,
"disabled"
:
false
}
,
{
"id"
:
"7"
,
"label"
:
"Will Call"
,
"text"
:
"Will Call"
,
"data"
:
""
,
"codename"
:
"Item_7"
,
"value"
:
"7"
,
"disabled"
:
false
}
]
}
}
]
]
\ No newline at end of file
app_BusinessCentral/public/assets/json/view-config.json
浏览文件 @
de7d0fe8
...
@@ -59,6 +59,16 @@
...
@@ -59,6 +59,16 @@
"viewtag"
:
"15d12c1173fcb6e742b6a6d92cbc53ed"
,
"viewtag"
:
"15d12c1173fcb6e742b6a6d92cbc53ed"
,
"memo"
:
""
"memo"
:
""
},
},
"accountaccount"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountAccount"
,
"viewfilename"
:
"account-account"
,
"viewtag"
:
"1d3b94223a5d3f8ab1d2fe334c8c4afd"
,
"memo"
:
"系统自动添加"
},
"ibizlistgridview"
:
{
"ibizlistgridview"
:
{
"title"
:
"list表格视图"
,
"title"
:
"list表格视图"
,
"caption"
:
"市场营销列表"
,
"caption"
:
"市场营销列表"
,
...
@@ -79,6 +89,16 @@
...
@@ -79,6 +89,16 @@
"viewtag"
:
"24e222a530526aab94ed4ed22cfedf9a"
,
"viewtag"
:
"24e222a530526aab94ed4ed22cfedf9a"
,
"memo"
:
"系统自动添加"
"memo"
:
"系统自动添加"
},
},
"accountpickupview"
:
{
"title"
:
"account数据选择视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountPickupView"
,
"viewfilename"
:
"account-pickup-view"
,
"viewtag"
:
"29bfcd628ab25e297248ff0524d12908"
,
"memo"
:
"系统自动添加"
},
"accountsummary"
:
{
"accountsummary"
:
{
"title"
:
"客户摘要"
,
"title"
:
"客户摘要"
,
"caption"
:
"客户摘要"
,
"caption"
:
"客户摘要"
,
...
@@ -189,6 +209,16 @@
...
@@ -189,6 +209,16 @@
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
,
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
,
"memo"
:
"系统自动添加"
"memo"
:
"系统自动添加"
},
},
"accountintroduction"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountIntroduction"
,
"viewfilename"
:
"account-introduction"
,
"viewtag"
:
"73bb9f7e653384ca09f8bbbfd580d892"
,
"memo"
:
"系统自动添加"
},
"goaleditview"
:
{
"goaleditview"
:
{
"title"
:
"goal编辑视图"
,
"title"
:
"goal编辑视图"
,
"caption"
:
"目标"
,
"caption"
:
"目标"
,
...
@@ -219,6 +249,16 @@
...
@@ -219,6 +249,16 @@
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
,
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
,
"memo"
:
""
"memo"
:
""
},
},
"pricelevelpickupview"
:
{
"title"
:
"pricelevel数据选择视图"
,
"caption"
:
"价目表"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"Product"
,
"viewname"
:
"PriceLevelPickupView"
,
"viewfilename"
:
"price-level-pickup-view"
,
"viewtag"
:
"8b806fb12589b2fc17d1bb90f4b5422e"
,
"memo"
:
"系统自动添加"
},
"salesliteraturegridview"
:
{
"salesliteraturegridview"
:
{
"title"
:
"salesliterature表格视图"
,
"title"
:
"salesliterature表格视图"
,
"caption"
:
"销售宣传资料"
,
"caption"
:
"销售宣传资料"
,
...
@@ -229,6 +269,16 @@
...
@@ -229,6 +269,16 @@
"viewtag"
:
"90b48a107932f432e0dde42791a51887"
,
"viewtag"
:
"90b48a107932f432e0dde42791a51887"
,
"memo"
:
""
"memo"
:
""
},
},
"accountaddress"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountAddress"
,
"viewfilename"
:
"account-address"
,
"viewtag"
:
"916febbb65be1c54dd42ccb9914fe973"
,
"memo"
:
"系统自动添加"
},
"contacteditview"
:
{
"contacteditview"
:
{
"title"
:
"contact编辑视图"
,
"title"
:
"contact编辑视图"
,
"caption"
:
"联系人"
,
"caption"
:
"联系人"
,
...
@@ -269,6 +319,16 @@
...
@@ -269,6 +319,16 @@
"viewtag"
:
"b38bc0256ecd5be1a58a3c2210a98d05"
,
"viewtag"
:
"b38bc0256ecd5be1a58a3c2210a98d05"
,
"memo"
:
""
"memo"
:
""
},
},
"accountdistribution"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountDistribution"
,
"viewfilename"
:
"account-distribution"
,
"viewtag"
:
"c607e5bc2c07ab2aca084e275ce677b7"
,
"memo"
:
"系统自动添加"
},
"competitorgridview"
:
{
"competitorgridview"
:
{
"title"
:
"competitor表格视图"
,
"title"
:
"competitor表格视图"
,
"caption"
:
"竞争对手"
,
"caption"
:
"竞争对手"
,
...
@@ -279,6 +339,16 @@
...
@@ -279,6 +339,16 @@
"viewtag"
:
"d1c35f3c52010e1428d7dc1a6bc82f63"
,
"viewtag"
:
"d1c35f3c52010e1428d7dc1a6bc82f63"
,
"memo"
:
""
"memo"
:
""
},
},
"pricelevelpickupgridview"
:
{
"title"
:
"pricelevel选择表格视图"
,
"caption"
:
"价目表"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"Product"
,
"viewname"
:
"PriceLevelPickupGridView"
,
"viewfilename"
:
"price-level-pickup-grid-view"
,
"viewtag"
:
"dd10cba0f2ded085120f7dc8eccc7c10"
,
"memo"
:
"系统自动添加"
},
"salesordergridview"
:
{
"salesordergridview"
:
{
"title"
:
"salesorder表格视图"
,
"title"
:
"salesorder表格视图"
,
"caption"
:
"订单"
,
"caption"
:
"订单"
,
...
@@ -299,6 +369,16 @@
...
@@ -299,6 +369,16 @@
"viewtag"
:
"e0aef8c0d1f1ae28f628a0541b118961"
,
"viewtag"
:
"e0aef8c0d1f1ae28f628a0541b118961"
,
"memo"
:
""
"memo"
:
""
},
},
"accountcontactsetting"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountContactSetting"
,
"viewfilename"
:
"account-contact-setting"
,
"viewtag"
:
"e38e7b53a449e0f112cb545d2c5d4b85"
,
"memo"
:
"系统自动添加"
},
"contactoptionview"
:
{
"contactoptionview"
:
{
"title"
:
"联系人选项操作视图"
,
"title"
:
"联系人选项操作视图"
,
"caption"
:
"联系人"
,
"caption"
:
"联系人"
,
...
@@ -309,6 +389,26 @@
...
@@ -309,6 +389,26 @@
"viewtag"
:
"e404dc93e70d6284d4e1a083017625ed"
,
"viewtag"
:
"e404dc93e70d6284d4e1a083017625ed"
,
"memo"
:
""
"memo"
:
""
},
},
"accountpickupgridview"
:
{
"title"
:
"account选择表格视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountPickupGridView"
,
"viewfilename"
:
"account-pickup-grid-view"
,
"viewtag"
:
"ef9fea872a6a21e7566033fafcc0ccb5"
,
"memo"
:
"系统自动添加"
},
"accountmajorcontact"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountMajorContact"
,
"viewfilename"
:
"account-major-contact"
,
"viewtag"
:
"fb06f2c1cea1ac2a5a70c20f4a277ae5"
,
"memo"
:
"系统自动添加"
},
"competitoreditview"
:
{
"competitoreditview"
:
{
"title"
:
"competitor编辑视图"
,
"title"
:
"competitor编辑视图"
,
"caption"
:
"竞争对手"
,
"caption"
:
"竞争对手"
,
...
...
app_BusinessCentral/src/interface/entity/price-level.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* 价目表
*
* @export
* @interface PriceLevel
*/
export
interface
PriceLevel
{
/**
* 建立人
*
* @returns {*}
* @memberof PriceLevel
*/
createman
?:
any
;
/**
* 更新人
*
* @returns {*}
* @memberof PriceLevel
*/
updateman
?:
any
;
/**
* 说明
*
* @returns {*}
* @memberof PriceLevel
*/
description
?:
any
;
/**
* 状态
*
* @returns {*}
* @memberof PriceLevel
*/
statecode
?:
any
;
/**
* 更新时间
*
* @returns {*}
* @memberof PriceLevel
*/
updatedate
?:
any
;
/**
* 付款方式
*
* @returns {*}
* @memberof PriceLevel
*/
paymentmethodcode
?:
any
;
/**
* 价目表
*
* @returns {*}
* @memberof PriceLevel
*/
pricelevelid
?:
any
;
/**
* 送货方式
*
* @returns {*}
* @memberof PriceLevel
*/
shippingmethodcode
?:
any
;
/**
* Record Created On
*
* @returns {*}
* @memberof PriceLevel
*/
overriddencreatedon
?:
any
;
/**
* UTC Conversion Time Zone Code
*
* @returns {*}
* @memberof PriceLevel
*/
utcconversiontimezonecode
?:
any
;
/**
* Version Number
*
* @returns {*}
* @memberof PriceLevel
*/
versionnumber
?:
any
;
/**
* 结束日期
*
* @returns {*}
* @memberof PriceLevel
*/
enddate
?:
any
;
/**
* 汇率
*
* @returns {*}
* @memberof PriceLevel
*/
exchangerate
?:
any
;
/**
* 开始日期
*
* @returns {*}
* @memberof PriceLevel
*/
begindate
?:
any
;
/**
* Import Sequence Number
*
* @returns {*}
* @memberof PriceLevel
*/
importsequencenumber
?:
any
;
/**
* 价格水平名称
*
* @returns {*}
* @memberof PriceLevel
*/
pricelevelname
?:
any
;
/**
* 状态描述
*
* @returns {*}
* @memberof PriceLevel
*/
statuscode
?:
any
;
/**
* 货运条款
*
* @returns {*}
* @memberof PriceLevel
*/
freighttermscode
?:
any
;
/**
* 建立时间
*
* @returns {*}
* @memberof PriceLevel
*/
createdate
?:
any
;
/**
* Time Zone Rule Version Number
*
* @returns {*}
* @memberof PriceLevel
*/
timezoneruleversionnumber
?:
any
;
/**
* 货币
*
* @returns {*}
* @memberof PriceLevel
*/
transactioncurrencyid
?:
any
;
}
\ No newline at end of file
app_BusinessCentral/src/locale/lang/en-US.ts
浏览文件 @
de7d0fe8
import
pricelevel_en_US
from
'@locale/lanres/entities/price-level/price-level_en_US'
;
import
opportunity_en_US
from
'@locale/lanres/entities/opportunity/opportunity_en_US'
;
import
opportunity_en_US
from
'@locale/lanres/entities/opportunity/opportunity_en_US'
;
import
goal_en_US
from
'@locale/lanres/entities/goal/goal_en_US'
;
import
goal_en_US
from
'@locale/lanres/entities/goal/goal_en_US'
;
import
invoice_en_US
from
'@locale/lanres/entities/invoice/invoice_en_US'
;
import
invoice_en_US
from
'@locale/lanres/entities/invoice/invoice_en_US'
;
...
@@ -113,6 +114,7 @@ export default {
...
@@ -113,6 +114,7 @@ export default {
},
},
},
},
entities
:
{
entities
:
{
pricelevel
:
pricelevel_en_US
,
opportunity
:
opportunity_en_US
,
opportunity
:
opportunity_en_US
,
goal
:
goal_en_US
,
goal
:
goal_en_US
,
invoice
:
invoice_en_US
,
invoice
:
invoice_en_US
,
...
...
app_BusinessCentral/src/locale/lang/zh-CN.ts
浏览文件 @
de7d0fe8
import
pricelevel_zh_CN
from
'@locale/lanres/entities/price-level/price-level_zh_CN'
;
import
opportunity_zh_CN
from
'@locale/lanres/entities/opportunity/opportunity_zh_CN'
;
import
opportunity_zh_CN
from
'@locale/lanres/entities/opportunity/opportunity_zh_CN'
;
import
goal_zh_CN
from
'@locale/lanres/entities/goal/goal_zh_CN'
;
import
goal_zh_CN
from
'@locale/lanres/entities/goal/goal_zh_CN'
;
import
invoice_zh_CN
from
'@locale/lanres/entities/invoice/invoice_zh_CN'
;
import
invoice_zh_CN
from
'@locale/lanres/entities/invoice/invoice_zh_CN'
;
...
@@ -113,6 +114,7 @@ export default {
...
@@ -113,6 +114,7 @@ export default {
},
},
},
},
entities
:
{
entities
:
{
pricelevel
:
pricelevel_zh_CN
,
opportunity
:
opportunity_zh_CN
,
opportunity
:
opportunity_zh_CN
,
goal
:
goal_zh_CN
,
goal
:
goal_zh_CN
,
invoice
:
invoice_zh_CN
,
invoice
:
invoice_zh_CN
,
...
...
app_BusinessCentral/src/locale/lanres/codelist/codelist_en_US.ts
浏览文件 @
de7d0fe8
...
@@ -2,4 +2,97 @@ export default {
...
@@ -2,4 +2,97 @@ export default {
SysOperator
:
{
SysOperator
:
{
empty
:
''
,
empty
:
''
,
},
},
Account__OwnershipCode
:
{
'4'
:
'Other'
,
'2'
:
'Private'
,
'1'
:
'Public'
,
'3'
:
'Subsidiary'
,
empty
:
''
,
},
YesNo
:
{
'1'
:
'是'
,
'0'
:
'否'
,
empty
:
''
,
},
Account__Address1_FreightTermsCode
:
{
'1'
:
'FOB'
,
'2'
:
'No Charge'
,
empty
:
''
,
},
Account__IndustryCode
:
{
'1'
:
'Accounting'
,
'2'
:
'Agriculture and Non-petrol Natural Resource Extraction'
,
'3'
:
'Broadcasting Printing and Publishing'
,
'4'
:
'Brokers'
,
'5'
:
'Building Supply Retail'
,
'6'
:
'Business Services'
,
'7'
:
'Consulting'
,
'8'
:
'Consumer Services'
,
'9'
:
'Design, Direction and Creative Management'
,
'10'
:
'Distributors, Dispatchers and Processors'
,
'11'
:
'Doctor'
s
Offices
and
Clinics
',
'
12
': '
Durable
Manufacturing
',
'
13
': '
Eating
and
Drinking
Places
',
'
14
': '
Entertainment
Retail
',
'
15
': '
Equipment
Rental
and
Leasing
',
'
16
': '
Financial
',
'
17
': '
Food
and
Tobacco
Processing
',
'
18
': '
Inbound
Capital
Intensive
Processing
',
'
19
': '
Inbound
Repair
and
Services
',
'
20
': '
Insurance
',
'
21
': '
Legal
Services
',
'
22
': '
Non
-
Durable
Merchandise
Retail
',
'
23
': '
Outbound
Consumer
Service
',
'
24
': '
Petrochemical
Extraction
and
Distribution
',
'
25
': '
Service
Retail
',
'
26
': '
SIG
Affiliations
',
'
27
': '
Social
Services
',
'
28
': '
Special
Outbound
Trade
Contractors
',
'
29
': '
Specialty
Realty
',
'
30
': '
Transportation
',
'
31
': '
Utility
Creation
and
Distribution
',
'
32
': '
Vehicle
Retail
',
'
33
': '
Wholesale
',
empty: '',
},
Account__CustomerTypeCode: {
'
1
': '
Competitor
',
'
2
': '
Consultant
',
'
3
': '
Customer
',
'
6
': '
Influencer
',
'
4
': '
Investor
',
'
12
': '
Other
',
'
5
': '
Partner
',
'
7
': '
Press
',
'
8
': '
Prospect
',
'
9
': '
Reseller
',
'
10
': '
Supplier
',
'
11
': '
Vendor
',
empty: '',
},
Account__Address1_AddressTypeCode: {
'
1
': '
Bill
To
',
'
4
': '
Other
',
'
3
': '
Primary
',
'
2
': '
Ship
To
',
empty: '',
},
Account__PreferredContactMethodCode: {
'
1
': '
Any
',
'
2
': '
Email
',
'
4
': '
Fax
',
'
5
': '
Mail
',
'
3
': '
Phone
',
empty: '',
},
Account__Address1_ShippingMethodCode: {
'
1
': '
Airborne
',
'
2
': '
DHL
',
'
3
': '
FedEx
',
'
6
': '
Full
Load
',
'
5
': '
Postal
Mail
',
'
4
': '
UPS
',
'
7
': '
Will
Call
',
empty: '',
},
};
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/codelist/codelist_zh_CN.ts
浏览文件 @
de7d0fe8
...
@@ -2,4 +2,97 @@ export default {
...
@@ -2,4 +2,97 @@ export default {
SysOperator
:
{
SysOperator
:
{
empty
:
''
,
empty
:
''
,
},
},
Account__OwnershipCode
:
{
'4'
:
'Other'
,
'2'
:
'Private'
,
'1'
:
'Public'
,
'3'
:
'Subsidiary'
,
empty
:
''
,
},
YesNo
:
{
'1'
:
'是'
,
'0'
:
'否'
,
empty
:
''
,
},
Account__Address1_FreightTermsCode
:
{
'1'
:
'FOB'
,
'2'
:
'No Charge'
,
empty
:
''
,
},
Account__IndustryCode
:
{
'1'
:
'Accounting'
,
'2'
:
'Agriculture and Non-petrol Natural Resource Extraction'
,
'3'
:
'Broadcasting Printing and Publishing'
,
'4'
:
'Brokers'
,
'5'
:
'Building Supply Retail'
,
'6'
:
'Business Services'
,
'7'
:
'Consulting'
,
'8'
:
'Consumer Services'
,
'9'
:
'Design, Direction and Creative Management'
,
'10'
:
'Distributors, Dispatchers and Processors'
,
'11'
:
'Doctor'
s
Offices
and
Clinics
',
'
12
': '
Durable
Manufacturing
',
'
13
': '
Eating
and
Drinking
Places
',
'
14
': '
Entertainment
Retail
',
'
15
': '
Equipment
Rental
and
Leasing
',
'
16
': '
Financial
',
'
17
': '
Food
and
Tobacco
Processing
',
'
18
': '
Inbound
Capital
Intensive
Processing
',
'
19
': '
Inbound
Repair
and
Services
',
'
20
': '
Insurance
',
'
21
': '
Legal
Services
',
'
22
': '
Non
-
Durable
Merchandise
Retail
',
'
23
': '
Outbound
Consumer
Service
',
'
24
': '
Petrochemical
Extraction
and
Distribution
',
'
25
': '
Service
Retail
',
'
26
': '
SIG
Affiliations
',
'
27
': '
Social
Services
',
'
28
': '
Special
Outbound
Trade
Contractors
',
'
29
': '
Specialty
Realty
',
'
30
': '
Transportation
',
'
31
': '
Utility
Creation
and
Distribution
',
'
32
': '
Vehicle
Retail
',
'
33
': '
Wholesale
',
empty: '',
},
Account__CustomerTypeCode: {
'
1
': '
Competitor
',
'
2
': '
Consultant
',
'
3
': '
Customer
',
'
6
': '
Influencer
',
'
4
': '
Investor
',
'
12
': '
Other
',
'
5
': '
Partner
',
'
7
': '
Press
',
'
8
': '
Prospect
',
'
9
': '
Reseller
',
'
10
': '
Supplier
',
'
11
': '
Vendor
',
empty: '',
},
Account__Address1_AddressTypeCode: {
'
1
': '
Bill
To
',
'
4
': '
Other
',
'
3
': '
Primary
',
'
2
': '
Ship
To
',
empty: '',
},
Account__PreferredContactMethodCode: {
'
1
': '
Any
',
'
2
': '
Email
',
'
4
': '
Fax
',
'
5
': '
Mail
',
'
3
': '
Phone
',
empty: '',
},
Account__Address1_ShippingMethodCode: {
'
1
': '
Airborne
',
'
2
': '
DHL
',
'
3
': '
FedEx
',
'
6
': '
Full
Load
',
'
5
': '
Postal
Mail
',
'
4
': '
UPS
',
'
7
': '
Will
Call
',
empty: '',
},
};
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/entities/account/account_en_US.ts
浏览文件 @
de7d0fe8
...
@@ -165,6 +165,14 @@ export default {
...
@@ -165,6 +165,14 @@ export default {
transactioncurrencyname
:
'货币'
,
transactioncurrencyname
:
'货币'
,
},
},
views
:
{
views
:
{
account
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
pickupview
:
{
caption
:
"客户"
,
title
:
'account数据选择视图'
,
},
summary
:
{
summary
:
{
caption
:
"客户摘要"
,
caption
:
"客户摘要"
,
title
:
'客户摘要'
,
title
:
'客户摘要'
,
...
@@ -181,6 +189,178 @@ export default {
...
@@ -181,6 +189,178 @@ export default {
caption
:
"客户"
,
caption
:
"客户"
,
title
:
'account编辑视图'
,
title
:
'account编辑视图'
,
},
},
introduction
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
address
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
distribution
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
contactsetting
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
pickupgridview
:
{
caption
:
"客户"
,
title
:
'account选择表格视图'
,
},
majorcontact
:
{
caption
:
"客户"
,
title
:
'account编辑视图'
,
},
},
account_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
accountname
:
"客户名称"
,
telephone1
:
"主要电话"
,
fax
:
"传真"
,
websiteurl
:
"网站"
,
parentaccountname
:
"上级客户"
,
tickersymbol
:
"股票代号"
,
customertypecode
:
"关系类型"
,
defaultpricelevelname
:
"价目表"
,
defaultpricelevelid
:
"价目表"
,
parentaccountid
:
"上级单位"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
address_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
address1_addressid
:
"地址 1: ID"
,
address1_addresstypecode
:
"地址 1: 地址类型"
,
address1_city
:
"地址 1: 市/县"
,
address1_composite
:
"地址 1"
,
address1_country
:
"地址 1: 国家/地区"
,
address1_county
:
"地址 1: 县"
,
address1_fax
:
"地址 1: 传真"
,
address1_freighttermscode
:
"地址 1: 货运条款"
,
address1_latitude
:
"地址 1: 纬度"
,
address1_line1
:
"地址 1: 街道 1"
,
address1_line2
:
"地址 1: 街道 2"
,
address1_line3
:
"地址 1: 街道 3"
,
address1_longitude
:
"地址 1: 经度"
,
address1_name
:
"地址 1: 名称"
,
address1_postalcode
:
"地址 1: 邮政编码"
,
address1_postofficebox
:
"地址 1: 邮政信箱"
,
address1_primarycontactname
:
"地址 1: 主要联系人姓名"
,
address1_shippingmethodcode
:
"地址 1: 送货方式"
,
address1_stateorprovince
:
"地址 1: 省/市/自治区"
,
address1_telephone2
:
"地址 1: 电话 2"
,
address1_telephone3
:
"地址 1: 电话 3"
,
address1_upszone
:
"地址 1: UPS 区域"
,
address1_utcoffset
:
"地址 1: UTC 时差"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
introduction_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
industrycode
:
"行业"
,
sic
:
"行业编码"
,
ownershipcode
:
"所有权"
,
description
:
"说明"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
contactsetting_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
preferredcontactmethodcode
:
"首选联系方式"
,
donotemail
:
"不允许使用电子邮件"
,
donotbulkemail
:
"不允许使用批量电子邮件"
,
donotphone
:
"不允许电话联络"
,
donotfax
:
"不允许使用传真"
,
donotpostalmail
:
"不允许使用邮件"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
distribution_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
address1_shippingmethodcode
:
"地址 1: 送货方式"
,
address1_freighttermscode
:
"地址 1: 货运条款"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
majorcontact_form
:
{
details
:
{
group1
:
"客户基本信息"
,
formpage1
:
"基本信息"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srfkey
:
"客户"
,
srfmajortext
:
"客户名称"
,
srftempmode
:
""
,
srfuf
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
accountname
:
"客户名称"
,
accountid
:
"客户"
,
},
uiactions
:
{
},
},
},
main_form
:
{
main_form
:
{
details
:
{
details
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/account/account_zh_CN.ts
浏览文件 @
de7d0fe8
...
@@ -164,6 +164,14 @@ export default {
...
@@ -164,6 +164,14 @@ export default {
transactioncurrencyname
:
'货币'
,
transactioncurrencyname
:
'货币'
,
},
},
views
:
{
views
:
{
account
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
pickupview
:
{
caption
:
'客户'
,
title
:
'account数据选择视图'
,
},
summary
:
{
summary
:
{
caption
:
'客户摘要'
,
caption
:
'客户摘要'
,
title
:
'客户摘要'
,
title
:
'客户摘要'
,
...
@@ -180,6 +188,178 @@ export default {
...
@@ -180,6 +188,178 @@ export default {
caption
:
'客户'
,
caption
:
'客户'
,
title
:
'account编辑视图'
,
title
:
'account编辑视图'
,
},
},
introduction
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
address
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
distribution
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
contactsetting
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
pickupgridview
:
{
caption
:
'客户'
,
title
:
'account选择表格视图'
,
},
majorcontact
:
{
caption
:
'客户'
,
title
:
'account编辑视图'
,
},
},
account_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
accountname
:
'客户名称'
,
telephone1
:
'主要电话'
,
fax
:
'传真'
,
websiteurl
:
'网站'
,
parentaccountname
:
'上级客户'
,
tickersymbol
:
'股票代号'
,
customertypecode
:
'关系类型'
,
defaultpricelevelname
:
'价目表'
,
defaultpricelevelid
:
'价目表'
,
parentaccountid
:
'上级单位'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
address_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
address1_addressid
:
'地址 1: ID'
,
address1_addresstypecode
:
'地址 1: 地址类型'
,
address1_city
:
'地址 1: 市/县'
,
address1_composite
:
'地址 1'
,
address1_country
:
'地址 1: 国家/地区'
,
address1_county
:
'地址 1: 县'
,
address1_fax
:
'地址 1: 传真'
,
address1_freighttermscode
:
'地址 1: 货运条款'
,
address1_latitude
:
'地址 1: 纬度'
,
address1_line1
:
'地址 1: 街道 1'
,
address1_line2
:
'地址 1: 街道 2'
,
address1_line3
:
'地址 1: 街道 3'
,
address1_longitude
:
'地址 1: 经度'
,
address1_name
:
'地址 1: 名称'
,
address1_postalcode
:
'地址 1: 邮政编码'
,
address1_postofficebox
:
'地址 1: 邮政信箱'
,
address1_primarycontactname
:
'地址 1: 主要联系人姓名'
,
address1_shippingmethodcode
:
'地址 1: 送货方式'
,
address1_stateorprovince
:
'地址 1: 省/市/自治区'
,
address1_telephone2
:
'地址 1: 电话 2'
,
address1_telephone3
:
'地址 1: 电话 3'
,
address1_upszone
:
'地址 1: UPS 区域'
,
address1_utcoffset
:
'地址 1: UTC 时差'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
introduction_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
industrycode
:
'行业'
,
sic
:
'行业编码'
,
ownershipcode
:
'所有权'
,
description
:
'说明'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
contactsetting_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
preferredcontactmethodcode
:
'首选联系方式'
,
donotemail
:
'不允许使用电子邮件'
,
donotbulkemail
:
'不允许使用批量电子邮件'
,
donotphone
:
'不允许电话联络'
,
donotfax
:
'不允许使用传真'
,
donotpostalmail
:
'不允许使用邮件'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
distribution_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
address1_shippingmethodcode
:
'地址 1: 送货方式'
,
address1_freighttermscode
:
'地址 1: 货运条款'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
majorcontact_form
:
{
details
:
{
group1
:
'客户基本信息'
,
formpage1
:
'基本信息'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srfkey
:
'客户'
,
srfmajortext
:
'客户名称'
,
srftempmode
:
''
,
srfuf
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
accountname
:
'客户名称'
,
accountid
:
'客户'
,
},
uiactions
:
{
},
},
},
main_form
:
{
main_form
:
{
details
:
{
details
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/contact/contact_en_US.ts
浏览文件 @
de7d0fe8
...
@@ -216,12 +216,11 @@ export default {
...
@@ -216,12 +216,11 @@ export default {
title
:
'联系人选项操作视图'
,
title
:
'联系人选项操作视图'
,
},
},
},
},
main
_form
:
{
quickcreate
_form
:
{
details
:
{
details
:
{
group1
:
"contact基本信息"
,
group1
:
"联系人基本信息"
,
grouppanel1
:
"地址"
,
formpage1
:
"基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srfupdatedate
:
"更新时间"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfkey
:
"联系人"
,
...
@@ -231,20 +230,27 @@ export default {
...
@@ -231,20 +230,27 @@ export default {
srfdeid
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
fullname
:
"全名"
,
createman
:
"建立人"
,
jobtitle
:
"职务"
,
createdate
:
"建立时间"
,
emailaddress1
:
"电子邮件"
,
updateman
:
"更新人"
,
telephone1
:
"商务电话"
,
updatedate
:
"更新时间"
,
mobilephone
:
"移动电话"
,
fax
:
"传真"
,
address1_country
:
"国家/地区"
,
address1_stateorprovince
:
"省/市/自治区"
,
address1_city
:
"市/县"
,
address1_line1
:
"街道"
,
address1_postalcode
:
"邮政编码"
,
contactid
:
"联系人"
,
contactid
:
"联系人"
,
},
},
uiactions
:
{
uiactions
:
{
},
},
},
},
quickcreate
_form
:
{
main
_form
:
{
details
:
{
details
:
{
group1
:
"联系人基本信息"
,
group1
:
"contact基本信息"
,
grouppanel1
:
"地址"
,
formpage1
:
"基本信息"
,
formpage1
:
"基本信息"
,
group2
:
"操作信息"
,
formpage2
:
"其它"
,
srfupdatedate
:
"更新时间"
,
srfupdatedate
:
"更新时间"
,
srforikey
:
""
,
srforikey
:
""
,
srfkey
:
"联系人"
,
srfkey
:
"联系人"
,
...
@@ -254,16 +260,10 @@ export default {
...
@@ -254,16 +260,10 @@ export default {
srfdeid
:
""
,
srfdeid
:
""
,
srfsourcekey
:
""
,
srfsourcekey
:
""
,
fullname
:
"全名"
,
fullname
:
"全名"
,
jobtitle
:
"职务"
,
createman
:
"建立人"
,
emailaddress1
:
"电子邮件"
,
createdate
:
"建立时间"
,
telephone1
:
"商务电话"
,
updateman
:
"更新人"
,
mobilephone
:
"移动电话"
,
updatedate
:
"更新时间"
,
fax
:
"传真"
,
address1_country
:
"国家/地区"
,
address1_stateorprovince
:
"省/市/自治区"
,
address1_city
:
"市/县"
,
address1_line1
:
"街道"
,
address1_postalcode
:
"邮政编码"
,
contactid
:
"联系人"
,
contactid
:
"联系人"
,
},
},
uiactions
:
{
uiactions
:
{
...
@@ -287,10 +287,6 @@ export default {
...
@@ -287,10 +287,6 @@ export default {
},
},
},
},
gridviewtoolbar_toolbar
:
{
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
"New"
,
tip
:
"New"
,
},
tbitem4
:
{
tbitem4
:
{
caption
:
"Edit"
,
caption
:
"Edit"
,
tip
:
"Edit {0}"
,
tip
:
"Edit {0}"
,
...
@@ -319,30 +315,10 @@ export default {
...
@@ -319,30 +315,10 @@ export default {
caption
:
"-"
,
caption
:
"-"
,
tip
:
""
,
tip
:
""
,
},
},
tbitem16
:
{
caption
:
"其它"
,
tip
:
"其它"
,
},
tbitem21
:
{
caption
:
"Export Data Model"
,
tip
:
"导出数据模型"
,
},
tbitem23
:
{
caption
:
"数据导入"
,
tip
:
"数据导入"
,
},
tbitem17
:
{
caption
:
"-"
,
tip
:
""
,
},
tbitem19
:
{
tbitem19
:
{
caption
:
"Filter"
,
caption
:
"Filter"
,
tip
:
"Filter"
,
tip
:
"Filter"
,
},
},
tbitem18
:
{
caption
:
"Help"
,
tip
:
"Help"
,
},
},
},
editviewtoolbar_toolbar
:
{
editviewtoolbar_toolbar
:
{
tbitem3
:
{
tbitem3
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/contact/contact_zh_CN.ts
浏览文件 @
de7d0fe8
...
@@ -215,12 +215,11 @@ export default {
...
@@ -215,12 +215,11 @@ export default {
title
:
'联系人选项操作视图'
,
title
:
'联系人选项操作视图'
,
},
},
},
},
main
_form
:
{
quickcreate
_form
:
{
details
:
{
details
:
{
group1
:
'contact基本信息'
,
group1
:
'联系人基本信息'
,
grouppanel1
:
'地址'
,
formpage1
:
'基本信息'
,
formpage1
:
'基本信息'
,
group2
:
'操作信息'
,
formpage2
:
'其它'
,
srfupdatedate
:
'更新时间'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srforikey
:
''
,
srfkey
:
'联系人'
,
srfkey
:
'联系人'
,
...
@@ -230,20 +229,27 @@ export default {
...
@@ -230,20 +229,27 @@ export default {
srfdeid
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
srfsourcekey
:
''
,
fullname
:
'全名'
,
fullname
:
'全名'
,
createman
:
'建立人'
,
jobtitle
:
'职务'
,
createdate
:
'建立时间'
,
emailaddress1
:
'电子邮件'
,
updateman
:
'更新人'
,
telephone1
:
'商务电话'
,
updatedate
:
'更新时间'
,
mobilephone
:
'移动电话'
,
fax
:
'传真'
,
address1_country
:
'国家/地区'
,
address1_stateorprovince
:
'省/市/自治区'
,
address1_city
:
'市/县'
,
address1_line1
:
'街道'
,
address1_postalcode
:
'邮政编码'
,
contactid
:
'联系人'
,
contactid
:
'联系人'
,
},
},
uiactions
:
{
uiactions
:
{
},
},
},
},
quickcreate
_form
:
{
main
_form
:
{
details
:
{
details
:
{
group1
:
'联系人基本信息'
,
group1
:
'contact基本信息'
,
grouppanel1
:
'地址'
,
formpage1
:
'基本信息'
,
formpage1
:
'基本信息'
,
group2
:
'操作信息'
,
formpage2
:
'其它'
,
srfupdatedate
:
'更新时间'
,
srfupdatedate
:
'更新时间'
,
srforikey
:
''
,
srforikey
:
''
,
srfkey
:
'联系人'
,
srfkey
:
'联系人'
,
...
@@ -253,16 +259,10 @@ export default {
...
@@ -253,16 +259,10 @@ export default {
srfdeid
:
''
,
srfdeid
:
''
,
srfsourcekey
:
''
,
srfsourcekey
:
''
,
fullname
:
'全名'
,
fullname
:
'全名'
,
jobtitle
:
'职务'
,
createman
:
'建立人'
,
emailaddress1
:
'电子邮件'
,
createdate
:
'建立时间'
,
telephone1
:
'商务电话'
,
updateman
:
'更新人'
,
mobilephone
:
'移动电话'
,
updatedate
:
'更新时间'
,
fax
:
'传真'
,
address1_country
:
'国家/地区'
,
address1_stateorprovince
:
'省/市/自治区'
,
address1_city
:
'市/县'
,
address1_line1
:
'街道'
,
address1_postalcode
:
'邮政编码'
,
contactid
:
'联系人'
,
contactid
:
'联系人'
,
},
},
uiactions
:
{
uiactions
:
{
...
@@ -286,10 +286,6 @@ export default {
...
@@ -286,10 +286,6 @@ export default {
},
},
},
},
gridviewtoolbar_toolbar
:
{
gridviewtoolbar_toolbar
:
{
tbitem3
:
{
caption
:
'新建'
,
tip
:
'新建'
,
},
tbitem4
:
{
tbitem4
:
{
caption
:
'编辑'
,
caption
:
'编辑'
,
tip
:
'编辑'
,
tip
:
'编辑'
,
...
@@ -318,30 +314,10 @@ export default {
...
@@ -318,30 +314,10 @@ export default {
caption
:
'-'
,
caption
:
'-'
,
tip
:
''
,
tip
:
''
,
},
},
tbitem16
:
{
caption
:
'其它'
,
tip
:
'其它'
,
},
tbitem21
:
{
caption
:
'导出数据模型'
,
tip
:
'导出数据模型'
,
},
tbitem23
:
{
caption
:
'数据导入'
,
tip
:
'数据导入'
,
},
tbitem17
:
{
caption
:
'-'
,
tip
:
''
,
},
tbitem19
:
{
tbitem19
:
{
caption
:
'过滤'
,
caption
:
'过滤'
,
tip
:
'过滤'
,
tip
:
'过滤'
,
},
},
tbitem18
:
{
caption
:
'帮助'
,
tip
:
'帮助'
,
},
},
},
editviewtoolbar_toolbar
:
{
editviewtoolbar_toolbar
:
{
tbitem3
:
{
tbitem3
:
{
...
...
app_BusinessCentral/src/locale/lanres/entities/price-level/price-level_en_US.ts
0 → 100644
浏览文件 @
de7d0fe8
export
default
{
fields
:
{
createman
:
'建立人'
,
updateman
:
'更新人'
,
description
:
'说明'
,
statecode
:
'状态'
,
updatedate
:
'更新时间'
,
paymentmethodcode
:
'付款方式'
,
pricelevelid
:
'价目表'
,
shippingmethodcode
:
'送货方式'
,
overriddencreatedon
:
'Record Created On'
,
utcconversiontimezonecode
:
'UTC Conversion Time Zone Code'
,
versionnumber
:
'Version Number'
,
enddate
:
'结束日期'
,
exchangerate
:
'汇率'
,
begindate
:
'开始日期'
,
importsequencenumber
:
'Import Sequence Number'
,
pricelevelname
:
'价格水平名称'
,
statuscode
:
'状态描述'
,
freighttermscode
:
'货运条款'
,
createdate
:
'建立时间'
,
timezoneruleversionnumber
:
'Time Zone Rule Version Number'
,
transactioncurrencyid
:
'货币'
,
},
views
:
{
pickupview
:
{
caption
:
"价目表"
,
title
:
'pricelevel数据选择视图'
,
},
pickupgridview
:
{
caption
:
"价目表"
,
title
:
'pricelevel选择表格视图'
,
},
},
main_grid
:
{
columns
:
{
pricelevelname
:
"价格水平名称"
,
updateman
:
"更新人"
,
updatedate
:
"更新时间"
,
},
uiactions
:
{
},
},
default_searchform
:
{
details
:
{
formpage1
:
"常规条件"
,
},
uiactions
:
{
},
},
};
\ No newline at end of file
app_BusinessCentral/src/locale/lanres/entities/price-level/price-level_zh_CN.ts
0 → 100644
浏览文件 @
de7d0fe8
export
default
{
fields
:
{
createman
:
'建立人'
,
updateman
:
'更新人'
,
description
:
'说明'
,
statecode
:
'状态'
,
updatedate
:
'更新时间'
,
paymentmethodcode
:
'付款方式'
,
pricelevelid
:
'价目表'
,
shippingmethodcode
:
'送货方式'
,
overriddencreatedon
:
'Record Created On'
,
utcconversiontimezonecode
:
'UTC Conversion Time Zone Code'
,
versionnumber
:
'Version Number'
,
enddate
:
'结束日期'
,
exchangerate
:
'汇率'
,
begindate
:
'开始日期'
,
importsequencenumber
:
'Import Sequence Number'
,
pricelevelname
:
'价格水平名称'
,
statuscode
:
'状态描述'
,
freighttermscode
:
'货运条款'
,
createdate
:
'建立时间'
,
timezoneruleversionnumber
:
'Time Zone Rule Version Number'
,
transactioncurrencyid
:
'货币'
,
},
views
:
{
pickupview
:
{
caption
:
'价目表'
,
title
:
'pricelevel数据选择视图'
,
},
pickupgridview
:
{
caption
:
'价目表'
,
title
:
'pricelevel选择表格视图'
,
},
},
main_grid
:
{
columns
:
{
pricelevelname
:
'价格水平名称'
,
updateman
:
'更新人'
,
updatedate
:
'更新时间'
,
},
uiactions
:
{
},
},
default_searchform
:
{
details
:
{
formpage1
:
'常规条件'
,
},
uiactions
:
{
},
},
};
\ No newline at end of file
app_BusinessCentral/src/mock/codelist/codelist.ts
浏览文件 @
de7d0fe8
...
@@ -14,6 +14,752 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
...
@@ -14,6 +14,752 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
"appdataentity"
:
""
,
"appdataentity"
:
""
,
"appdedataset"
:
""
,
"appdedataset"
:
""
,
"items"
:
[]
"items"
:
[]
},
{
srfkey
:
'Account__OwnershipCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'4'
,
label
:
'Other'
,
text
:
'Other'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'Private'
,
text
:
'Private'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'1'
,
label
:
'Public'
,
text
:
'Public'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'Subsidiary'
,
text
:
'Subsidiary'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'YesNo'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'是'
,
text
:
'是'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'0'
,
label
:
'否'
,
text
:
'否'
,
"data"
:
""
,
"codename"
:
"Item_0"
,
value
:
'0'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__Address1_FreightTermsCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'FOB'
,
text
:
'FOB'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'No Charge'
,
text
:
'No Charge'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__IndustryCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'Accounting'
,
text
:
'Accounting'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'Agriculture and Non-petrol Natural Resource Extraction'
,
text
:
'Agriculture and Non-petrol Natural Resource Extraction'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'Broadcasting Printing and Publishing'
,
text
:
'Broadcasting Printing and Publishing'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
{
id
:
'4'
,
label
:
'Brokers'
,
text
:
'Brokers'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'5'
,
label
:
'Building Supply Retail'
,
text
:
'Building Supply Retail'
,
"data"
:
""
,
"codename"
:
"Item_5"
,
value
:
'5'
,
disabled
:
false
,
},
{
id
:
'6'
,
label
:
'Business Services'
,
text
:
'Business Services'
,
"data"
:
""
,
"codename"
:
"Item_6"
,
value
:
'6'
,
disabled
:
false
,
},
{
id
:
'7'
,
label
:
'Consulting'
,
text
:
'Consulting'
,
"data"
:
""
,
"codename"
:
"Item_7"
,
value
:
'7'
,
disabled
:
false
,
},
{
id
:
'8'
,
label
:
'Consumer Services'
,
text
:
'Consumer Services'
,
"data"
:
""
,
"codename"
:
"Item_8"
,
value
:
'8'
,
disabled
:
false
,
},
{
id
:
'9'
,
label
:
'Design, Direction and Creative Management'
,
text
:
'Design, Direction and Creative Management'
,
"data"
:
""
,
"codename"
:
"Item_9"
,
value
:
'9'
,
disabled
:
false
,
},
{
id
:
'10'
,
label
:
'Distributors, Dispatchers and Processors'
,
text
:
'Distributors, Dispatchers and Processors'
,
"data"
:
""
,
"codename"
:
"Item_10"
,
value
:
'10'
,
disabled
:
false
,
},
{
id
:
'11'
,
label
:
'Doctor'
s
Offices
and
Clinics
',
text: '
Doctor
's Offices and Clinics'
,
"data"
:
""
,
"codename"
:
"Item_11"
,
value
:
'11'
,
disabled
:
false
,
},
{
id
:
'12'
,
label
:
'Durable Manufacturing'
,
text
:
'Durable Manufacturing'
,
"data"
:
""
,
"codename"
:
"Item_12"
,
value
:
'12'
,
disabled
:
false
,
},
{
id
:
'13'
,
label
:
'Eating and Drinking Places'
,
text
:
'Eating and Drinking Places'
,
"data"
:
""
,
"codename"
:
"Item_13"
,
value
:
'13'
,
disabled
:
false
,
},
{
id
:
'14'
,
label
:
'Entertainment Retail'
,
text
:
'Entertainment Retail'
,
"data"
:
""
,
"codename"
:
"Item_14"
,
value
:
'14'
,
disabled
:
false
,
},
{
id
:
'15'
,
label
:
'Equipment Rental and Leasing'
,
text
:
'Equipment Rental and Leasing'
,
"data"
:
""
,
"codename"
:
"Item_15"
,
value
:
'15'
,
disabled
:
false
,
},
{
id
:
'16'
,
label
:
'Financial'
,
text
:
'Financial'
,
"data"
:
""
,
"codename"
:
"Item_16"
,
value
:
'16'
,
disabled
:
false
,
},
{
id
:
'17'
,
label
:
'Food and Tobacco Processing'
,
text
:
'Food and Tobacco Processing'
,
"data"
:
""
,
"codename"
:
"Item_17"
,
value
:
'17'
,
disabled
:
false
,
},
{
id
:
'18'
,
label
:
'Inbound Capital Intensive Processing'
,
text
:
'Inbound Capital Intensive Processing'
,
"data"
:
""
,
"codename"
:
"Item_18"
,
value
:
'18'
,
disabled
:
false
,
},
{
id
:
'19'
,
label
:
'Inbound Repair and Services'
,
text
:
'Inbound Repair and Services'
,
"data"
:
""
,
"codename"
:
"Item_19"
,
value
:
'19'
,
disabled
:
false
,
},
{
id
:
'20'
,
label
:
'Insurance'
,
text
:
'Insurance'
,
"data"
:
""
,
"codename"
:
"Item_20"
,
value
:
'20'
,
disabled
:
false
,
},
{
id
:
'21'
,
label
:
'Legal Services'
,
text
:
'Legal Services'
,
"data"
:
""
,
"codename"
:
"Item_21"
,
value
:
'21'
,
disabled
:
false
,
},
{
id
:
'22'
,
label
:
'Non-Durable Merchandise Retail'
,
text
:
'Non-Durable Merchandise Retail'
,
"data"
:
""
,
"codename"
:
"Item_22"
,
value
:
'22'
,
disabled
:
false
,
},
{
id
:
'23'
,
label
:
'Outbound Consumer Service'
,
text
:
'Outbound Consumer Service'
,
"data"
:
""
,
"codename"
:
"Item_23"
,
value
:
'23'
,
disabled
:
false
,
},
{
id
:
'24'
,
label
:
'Petrochemical Extraction and Distribution'
,
text
:
'Petrochemical Extraction and Distribution'
,
"data"
:
""
,
"codename"
:
"Item_24"
,
value
:
'24'
,
disabled
:
false
,
},
{
id
:
'25'
,
label
:
'Service Retail'
,
text
:
'Service Retail'
,
"data"
:
""
,
"codename"
:
"Item_25"
,
value
:
'25'
,
disabled
:
false
,
},
{
id
:
'26'
,
label
:
'SIG Affiliations'
,
text
:
'SIG Affiliations'
,
"data"
:
""
,
"codename"
:
"Item_26"
,
value
:
'26'
,
disabled
:
false
,
},
{
id
:
'27'
,
label
:
'Social Services'
,
text
:
'Social Services'
,
"data"
:
""
,
"codename"
:
"Item_27"
,
value
:
'27'
,
disabled
:
false
,
},
{
id
:
'28'
,
label
:
'Special Outbound Trade Contractors'
,
text
:
'Special Outbound Trade Contractors'
,
"data"
:
""
,
"codename"
:
"Item_28"
,
value
:
'28'
,
disabled
:
false
,
},
{
id
:
'29'
,
label
:
'Specialty Realty'
,
text
:
'Specialty Realty'
,
"data"
:
""
,
"codename"
:
"Item_29"
,
value
:
'29'
,
disabled
:
false
,
},
{
id
:
'30'
,
label
:
'Transportation'
,
text
:
'Transportation'
,
"data"
:
""
,
"codename"
:
"Item_30"
,
value
:
'30'
,
disabled
:
false
,
},
{
id
:
'31'
,
label
:
'Utility Creation and Distribution'
,
text
:
'Utility Creation and Distribution'
,
"data"
:
""
,
"codename"
:
"Item_31"
,
value
:
'31'
,
disabled
:
false
,
},
{
id
:
'32'
,
label
:
'Vehicle Retail'
,
text
:
'Vehicle Retail'
,
"data"
:
""
,
"codename"
:
"Item_32"
,
value
:
'32'
,
disabled
:
false
,
},
{
id
:
'33'
,
label
:
'Wholesale'
,
text
:
'Wholesale'
,
"data"
:
""
,
"codename"
:
"Item_33"
,
value
:
'33'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__CustomerTypeCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'Competitor'
,
text
:
'Competitor'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'Consultant'
,
text
:
'Consultant'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'Customer'
,
text
:
'Customer'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
{
id
:
'6'
,
label
:
'Influencer'
,
text
:
'Influencer'
,
"data"
:
""
,
"codename"
:
"Item_6"
,
value
:
'6'
,
disabled
:
false
,
},
{
id
:
'4'
,
label
:
'Investor'
,
text
:
'Investor'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'12'
,
label
:
'Other'
,
text
:
'Other'
,
"data"
:
""
,
"codename"
:
"Item_12"
,
value
:
'12'
,
disabled
:
false
,
},
{
id
:
'5'
,
label
:
'Partner'
,
text
:
'Partner'
,
"data"
:
""
,
"codename"
:
"Item_5"
,
value
:
'5'
,
disabled
:
false
,
},
{
id
:
'7'
,
label
:
'Press'
,
text
:
'Press'
,
"data"
:
""
,
"codename"
:
"Item_7"
,
value
:
'7'
,
disabled
:
false
,
},
{
id
:
'8'
,
label
:
'Prospect'
,
text
:
'Prospect'
,
"data"
:
""
,
"codename"
:
"Item_8"
,
value
:
'8'
,
disabled
:
false
,
},
{
id
:
'9'
,
label
:
'Reseller'
,
text
:
'Reseller'
,
"data"
:
""
,
"codename"
:
"Item_9"
,
value
:
'9'
,
disabled
:
false
,
},
{
id
:
'10'
,
label
:
'Supplier'
,
text
:
'Supplier'
,
"data"
:
""
,
"codename"
:
"Item_10"
,
value
:
'10'
,
disabled
:
false
,
},
{
id
:
'11'
,
label
:
'Vendor'
,
text
:
'Vendor'
,
"data"
:
""
,
"codename"
:
"Item_11"
,
value
:
'11'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__Address1_AddressTypeCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'Bill To'
,
text
:
'Bill To'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'4'
,
label
:
'Other'
,
text
:
'Other'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'Primary'
,
text
:
'Primary'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'Ship To'
,
text
:
'Ship To'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__PreferredContactMethodCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'Any'
,
text
:
'Any'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'Email'
,
text
:
'Email'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'4'
,
label
:
'Fax'
,
text
:
'Fax'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'5'
,
label
:
'Mail'
,
text
:
'Mail'
,
"data"
:
""
,
"codename"
:
"Item_5"
,
value
:
'5'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'Phone'
,
text
:
'Phone'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
]
},
{
srfkey
:
'Account__Address1_ShippingMethodCode'
,
emptytext
:
'未定义'
,
"codelisttype"
:
"static"
,
items
:
[
{
id
:
'1'
,
label
:
'Airborne'
,
text
:
'Airborne'
,
"data"
:
""
,
"codename"
:
"Item_1"
,
value
:
'1'
,
disabled
:
false
,
},
{
id
:
'2'
,
label
:
'DHL'
,
text
:
'DHL'
,
"data"
:
""
,
"codename"
:
"Item_2"
,
value
:
'2'
,
disabled
:
false
,
},
{
id
:
'3'
,
label
:
'FedEx'
,
text
:
'FedEx'
,
"data"
:
""
,
"codename"
:
"Item_3"
,
value
:
'3'
,
disabled
:
false
,
},
{
id
:
'6'
,
label
:
'Full Load'
,
text
:
'Full Load'
,
"data"
:
""
,
"codename"
:
"Item_6"
,
value
:
'6'
,
disabled
:
false
,
},
{
id
:
'5'
,
label
:
'Postal Mail'
,
text
:
'Postal Mail'
,
"data"
:
""
,
"codename"
:
"Item_5"
,
value
:
'5'
,
disabled
:
false
,
},
{
id
:
'4'
,
label
:
'UPS'
,
text
:
'UPS'
,
"data"
:
""
,
"codename"
:
"Item_4"
,
value
:
'4'
,
disabled
:
false
,
},
{
id
:
'7'
,
label
:
'Will Call'
,
text
:
'Will Call'
,
"data"
:
""
,
"codename"
:
"Item_7"
,
value
:
'7'
,
disabled
:
false
,
},
]
}
}
]];
]];
});
});
...
...
app_BusinessCentral/src/mock/entity/price-levels/price-levels.ts
0 → 100644
浏览文件 @
de7d0fe8
import
qs
from
'qs'
;
import
{
MockAdapter
}
from
'@/mock/mock-adapter'
;
const
mock
=
MockAdapter
.
getInstance
();
// 模拟数据
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibizbusinesscentral-app-businesscentral
\/
pricelevels
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibizbusinesscentral-app-businesscentral
\/
pricelevels
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
pricelevels
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// updateBatch
mock
.
onPut
(
new
RegExp
(
/^
\/
pricelevels
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// removeBatch
mock
.
onDelete
(
new
RegExp
(
/^
\/
pricelevels
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
{}];
});
// Select
mock
.
onGet
(
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})\/
select$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Select"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})\/
select$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
pricelevelid
,
tempValue
.
pricelevelid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
];
});
// Create
mock
.
onPost
(
new
RegExp
(
/^
\/
pricelevels
\/?([
a-zA-Z0-9
\-\;]{0,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Create"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
[
0
]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
[
0
]];
});
// GetDraft
mock
.
onGet
(
new
RegExp
(
/^
\/
pricelevels
\/
getdraft$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: GetDraft"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
// GetDraft
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
({});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
{}];
});
// Update
mock
.
onPut
(
new
RegExp
(
/^
\/
pricelevels
\/?([
a-zA-Z0-9
\-\;]{0,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Update"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.pricelevelid, tempValue.pricelevelid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'pricelevelid'
]
==
tempValue
[
'pricelevelid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// Save
mock
.
onPost
(
new
RegExp
(
/^
\/
pricelevels
\/?([
a-zA-Z0-9
\-\;]{0,35})\/
save$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Save"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})\/
save$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.pricelevelid, tempValue.pricelevelid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'pricelevelid'
]
==
tempValue
[
'pricelevelid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// CheckKey
mock
.
onPost
(
new
RegExp
(
/^
\/
pricelevels
\/?([
a-zA-Z0-9
\-\;]{0,35})\/
checkkey$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: CheckKey"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})\/
checkkey$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.pricelevelid, tempValue.pricelevelid));
let
data
=
JSON
.
parse
(
config
.
data
);
mockDatas
.
forEach
((
item
)
=>
{
if
(
item
[
'pricelevelid'
]
==
tempValue
[
'pricelevelid'
]
){
for
(
let
value
in
data
){
if
(
item
.
hasOwnProperty
(
value
)){
item
[
value
]
=
data
[
value
];
}
}
}
})
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
data
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
data
];
});
// FetchDefault
mock
.
onGet
(
new
RegExp
(
/^
\/
pricelevels
\/
fetchdefault$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: FetchDefault"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
mockDatas
);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
mockDatas
?
mockDatas
:
[]];
});
// FetchDefault
mock
.
onGet
(
new
RegExp
(
/^
\/
pricelevels
\/
fetchdefault
(\?[\w
-.
/
?%&=,
]
*
)
*$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: FetchDefault"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
if
(
config
.
url
.
includes
(
'page'
)){
let
url
=
config
.
url
.
split
(
'?'
)[
1
];
let
params
=
qs
.
parse
(
url
);
Object
.
assign
(
config
,
params
);
}
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
let
total
=
mockDatas
.
length
;
let
records
:
Array
<
any
>
=
[];
if
(
!
config
.
page
||
!
config
.
size
){
records
=
mockDatas
;
}
else
{
if
((
config
.
page
-
1
)
*
config
.
size
<
total
){
records
=
mockDatas
.
slice
(
config
.
page
,
config
.
size
);
}
}
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
records
?
records
:
[]);
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
records
?
records
:
[]];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// Get
mock
.
onGet
(
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Get"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
pricelevelid
,
tempValue
.
pricelevelid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
?
_items
:{});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
?
_items
:{}];
});
// Remove
mock
.
onDelete
(
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:pricelevel 方法: Remove"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
null
];
}
const
paramArray
:
Array
<
any
>
=
[
'pricelevelid'
];
const
matchArray
:
any
=
new
RegExp
(
/^
\/
pricelevels
\/([
a-zA-Z0-9
\-\;]{1,35})
$/
).
exec
(
config
.
url
);
let
tempValue
:
any
=
{};
if
(
matchArray
&&
matchArray
.
length
>
1
&&
paramArray
&&
paramArray
.
length
>
0
){
paramArray
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
Object
.
defineProperty
(
tempValue
,
item
,
{
enumerable
:
true
,
value
:
matchArray
[
index
+
1
]
});
});
}
let
items
=
mockDatas
?
mockDatas
:
[];
let
_items
=
items
.
find
((
item
:
any
)
=>
Object
.
is
(
item
.
pricelevelid
,
tempValue
.
pricelevelid
));
console
.
groupCollapsed
(
"response数据 status: "
+
status
+
" data: "
);
console
.
table
(
_items
?
_items
:{});
console
.
groupEnd
();
console
.
groupEnd
();
return
[
status
,
_items
?
_items
:{}];
});
app_BusinessCentral/src/mock/index.ts
浏览文件 @
de7d0fe8
...
@@ -7,6 +7,7 @@ import './login/login';
...
@@ -7,6 +7,7 @@ import './login/login';
import
'./upload/upload'
;
import
'./upload/upload'
;
// 实体级接口对象
// 实体级接口对象
import
'./entity/price-levels/price-levels'
;
import
'./entity/opportunitys/opportunitys'
;
import
'./entity/opportunitys/opportunitys'
;
import
'./entity/goals/goals'
;
import
'./entity/goals/goals'
;
import
'./entity/invoices/invoices'
;
import
'./entity/invoices/invoices'
;
...
...
app_BusinessCentral/src/mock/viewconfig/viewconfig.ts
浏览文件 @
de7d0fe8
...
@@ -55,6 +55,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -55,6 +55,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"LeadGridView"
,
"viewname"
:
"LeadGridView"
,
"viewtag"
:
"15d12c1173fcb6e742b6a6d92cbc53ed"
"viewtag"
:
"15d12c1173fcb6e742b6a6d92cbc53ed"
},
},
"accountaccount"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountAccount"
,
"viewtag"
:
"1d3b94223a5d3f8ab1d2fe334c8c4afd"
},
"ibizlistgridview"
:
{
"ibizlistgridview"
:
{
"title"
:
"list表格视图"
,
"title"
:
"list表格视图"
,
"caption"
:
"市场营销列表"
,
"caption"
:
"市场营销列表"
,
...
@@ -71,6 +79,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -71,6 +79,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"ActivityPointerEditView"
,
"viewname"
:
"ActivityPointerEditView"
,
"viewtag"
:
"24e222a530526aab94ed4ed22cfedf9a"
"viewtag"
:
"24e222a530526aab94ed4ed22cfedf9a"
},
},
"accountpickupview"
:
{
"title"
:
"account数据选择视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountPickupView"
,
"viewtag"
:
"29bfcd628ab25e297248ff0524d12908"
},
"accountsummary"
:
{
"accountsummary"
:
{
"title"
:
"客户摘要"
,
"title"
:
"客户摘要"
,
"caption"
:
"客户摘要"
,
"caption"
:
"客户摘要"
,
...
@@ -159,6 +175,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -159,6 +175,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"AccountEditView"
,
"viewname"
:
"AccountEditView"
,
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
"viewtag"
:
"6e18ac74e5685439110f9b4e534ee005"
},
},
"accountintroduction"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountIntroduction"
,
"viewtag"
:
"73bb9f7e653384ca09f8bbbfd580d892"
},
"goaleditview"
:
{
"goaleditview"
:
{
"title"
:
"goal编辑视图"
,
"title"
:
"goal编辑视图"
,
"caption"
:
"目标"
,
"caption"
:
"目标"
,
...
@@ -183,6 +207,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -183,6 +207,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"Central"
,
"viewname"
:
"Central"
,
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
"viewtag"
:
"8b173077897bf865fe035e56073b763d"
},
},
"pricelevelpickupview"
:
{
"title"
:
"pricelevel数据选择视图"
,
"caption"
:
"价目表"
,
"viewtype"
:
"DEPICKUPVIEW"
,
"viewmodule"
:
"Product"
,
"viewname"
:
"PriceLevelPickupView"
,
"viewtag"
:
"8b806fb12589b2fc17d1bb90f4b5422e"
},
"salesliteraturegridview"
:
{
"salesliteraturegridview"
:
{
"title"
:
"salesliterature表格视图"
,
"title"
:
"salesliterature表格视图"
,
"caption"
:
"销售宣传资料"
,
"caption"
:
"销售宣传资料"
,
...
@@ -191,6 +223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -191,6 +223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"SalesLiteratureGridView"
,
"viewname"
:
"SalesLiteratureGridView"
,
"viewtag"
:
"90b48a107932f432e0dde42791a51887"
"viewtag"
:
"90b48a107932f432e0dde42791a51887"
},
},
"accountaddress"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountAddress"
,
"viewtag"
:
"916febbb65be1c54dd42ccb9914fe973"
},
"contacteditview"
:
{
"contacteditview"
:
{
"title"
:
"contact编辑视图"
,
"title"
:
"contact编辑视图"
,
"caption"
:
"联系人"
,
"caption"
:
"联系人"
,
...
@@ -223,6 +263,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -223,6 +263,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"ProductGridView"
,
"viewname"
:
"ProductGridView"
,
"viewtag"
:
"b38bc0256ecd5be1a58a3c2210a98d05"
"viewtag"
:
"b38bc0256ecd5be1a58a3c2210a98d05"
},
},
"accountdistribution"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountDistribution"
,
"viewtag"
:
"c607e5bc2c07ab2aca084e275ce677b7"
},
"competitorgridview"
:
{
"competitorgridview"
:
{
"title"
:
"competitor表格视图"
,
"title"
:
"competitor表格视图"
,
"caption"
:
"竞争对手"
,
"caption"
:
"竞争对手"
,
...
@@ -231,6 +279,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -231,6 +279,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"CompetitorGridView"
,
"viewname"
:
"CompetitorGridView"
,
"viewtag"
:
"d1c35f3c52010e1428d7dc1a6bc82f63"
"viewtag"
:
"d1c35f3c52010e1428d7dc1a6bc82f63"
},
},
"pricelevelpickupgridview"
:
{
"title"
:
"pricelevel选择表格视图"
,
"caption"
:
"价目表"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"Product"
,
"viewname"
:
"PriceLevelPickupGridView"
,
"viewtag"
:
"dd10cba0f2ded085120f7dc8eccc7c10"
},
"salesordergridview"
:
{
"salesordergridview"
:
{
"title"
:
"salesorder表格视图"
,
"title"
:
"salesorder表格视图"
,
"caption"
:
"订单"
,
"caption"
:
"订单"
,
...
@@ -247,6 +303,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -247,6 +303,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"InvoiceGridView"
,
"viewname"
:
"InvoiceGridView"
,
"viewtag"
:
"e0aef8c0d1f1ae28f628a0541b118961"
"viewtag"
:
"e0aef8c0d1f1ae28f628a0541b118961"
},
},
"accountcontactsetting"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountContactSetting"
,
"viewtag"
:
"e38e7b53a449e0f112cb545d2c5d4b85"
},
"contactoptionview"
:
{
"contactoptionview"
:
{
"title"
:
"联系人选项操作视图"
,
"title"
:
"联系人选项操作视图"
,
"caption"
:
"联系人"
,
"caption"
:
"联系人"
,
...
@@ -255,6 +319,22 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
...
@@ -255,6 +319,22 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname"
:
"ContactOptionView"
,
"viewname"
:
"ContactOptionView"
,
"viewtag"
:
"e404dc93e70d6284d4e1a083017625ed"
"viewtag"
:
"e404dc93e70d6284d4e1a083017625ed"
},
},
"accountpickupgridview"
:
{
"title"
:
"account选择表格视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEPICKUPGRIDVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountPickupGridView"
,
"viewtag"
:
"ef9fea872a6a21e7566033fafcc0ccb5"
},
"accountmajorcontact"
:
{
"title"
:
"account编辑视图"
,
"caption"
:
"客户"
,
"viewtype"
:
"DEEDITVIEW"
,
"viewmodule"
:
"Base"
,
"viewname"
:
"AccountMajorContact"
,
"viewtag"
:
"fb06f2c1cea1ac2a5a70c20f4a277ae5"
},
"competitoreditview"
:
{
"competitoreditview"
:
{
"title"
:
"competitor编辑视图"
,
"title"
:
"competitor编辑视图"
,
"caption"
:
"竞争对手"
,
"caption"
:
"竞争对手"
,
...
...
app_BusinessCentral/src/pages/base/contact-grid-view/contact-grid-view-base.vue
浏览文件 @
de7d0fe8
...
@@ -6,10 +6,6 @@
...
@@ -6,10 +6,6 @@
<i-input
slot=
"quickSearch"
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
@
on-search=
"onSearch($event)"
/>
<i-input
slot=
"quickSearch"
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
@
on-search=
"onSearch($event)"
/>
<
template
slot=
"toolbar"
>
<
template
slot=
"toolbar"
>
<div
class=
'toolbar-container'
>
<div
class=
'toolbar-container'
>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem3.tip')"
v-show=
"toolBarModels.tbitem3.visabled"
:disabled=
"toolBarModels.tbitem3.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem3' }, $event)">
<i
class=
'fa fa-file-text-o'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem3.caption'
)
}}
</span>
</i-button>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem4.tip')"
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem4.tip')"
v-show=
"toolBarModels.tbitem4.visabled"
:disabled=
"toolBarModels.tbitem4.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem4' }, $event)">
<i
class=
'fa fa-edit'
></i>
<i
class=
'fa fa-edit'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem4.caption'
)
}}
</span>
...
@@ -23,39 +19,10 @@
...
@@ -23,39 +19,10 @@
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem8.caption'
)
}}
</span>
</i-button>
</i-button>
<span
class=
'seperator'
>
|
</span>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<span
class=
'seperator'
>
|
</span>
<app-export-excel
:item=
"toolBarModels.tbitem13"
:caption=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem13.caption')"
@
exportexcel=
"toolbar_click(
{ tag: 'tbitem13' }, $event)">
</app-export-excel>
<span
class=
'seperator'
>
|
</span>
<dropdown
v-show=
"toolBarModels.tbitem16.visabled"
:transfer=
"true"
trigger=
'hover'
>
<i-button
class=
''
title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem16.tip')"
>
<i
class=
''
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem16.caption'
)
}}
</span>
<icon
type=
"ios-arrow-down"
></icon>
</i-button>
<dropdown-menu
slot=
'list'
>
<dropdown-item>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem21.tip')"
v-show=
"toolBarModels.tbitem21.visabled"
:disabled=
"toolBarModels.tbitem21.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem21' }, $event)">
<i
class=
'fa fa-download'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem21.caption'
)
}}
</span>
</i-button>
</dropdown-item>
<dropdown-item>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem23.tip')"
v-show=
"toolBarModels.tbitem23.visabled"
:disabled=
"toolBarModels.tbitem23.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem23' }, $event)">
<i
class=
'fa fa-upload'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem23.caption'
)
}}
</span>
</i-button>
</dropdown-item>
</dropdown-menu>
</dropdown>
<span
class=
'seperator'
>
|
</span>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem19.tip')"
v-show=
"toolBarModels.tbitem19.visabled"
:disabled=
"toolBarModels.tbitem19.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem19' }, $event)">
<span
class=
'seperator'
>
|
</span>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem19.tip')"
v-show=
"toolBarModels.tbitem19.visabled"
:disabled=
"toolBarModels.tbitem19.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem19' }, $event)">
<i
class=
'fa fa-filter'
></i>
<i
class=
'fa fa-filter'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem19.caption'
)
}}
</span>
</i-button>
</i-button>
<i-button
:title=
"$t('entities.contact.gridviewtoolbar_toolbar.tbitem18.tip')"
v-show=
"toolBarModels.tbitem18.visabled"
:disabled=
"toolBarModels.tbitem18.disabled"
class=
''
@
click=
"toolbar_click(
{ tag: 'tbitem18' }, $event)">
<i
class=
'fa fa-question'
></i>
<span
class=
'caption'
>
{{
$t
(
'entities.contact.gridviewtoolbar_toolbar.tbitem18.caption'
)
}}
</span>
</i-button>
</div>
</div>
</
template
>
</
template
>
<
template
slot=
"searchForm"
>
<
template
slot=
"searchForm"
>
...
@@ -296,8 +263,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -296,8 +263,6 @@ export default class ContactGridViewBase extends Vue {
* @memberof ContactGridView
* @memberof ContactGridView
*/
*/
public
toolBarModels
:
any
=
{
public
toolBarModels
:
any
=
{
tbitem3
:
{
name
:
'tbitem3'
,
caption
:
'新建'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'New'
,
target
:
''
}
},
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
tbitem4
:
{
name
:
'tbitem4'
,
caption
:
'编辑'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Edit'
,
target
:
'SINGLEKEY'
}
},
tbitem6
:
{
name
:
'tbitem6'
,
caption
:
'拷贝'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
target
:
'SINGLEKEY'
}
},
tbitem6
:
{
name
:
'tbitem6'
,
caption
:
'拷贝'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Copy'
,
target
:
'SINGLEKEY'
}
},
...
@@ -309,17 +274,8 @@ export default class ContactGridViewBase extends Vue {
...
@@ -309,17 +274,8 @@ export default class ContactGridViewBase extends Vue {
tbitem13
:
{
name
:
'tbitem13'
,
caption
:
'导出'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportExcel'
,
target
:
''
},
MaxRowCount
:
1000
},
tbitem13
:
{
name
:
'tbitem13'
,
caption
:
'导出'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportExcel'
,
target
:
''
},
MaxRowCount
:
1000
},
tbitem10
:
{
name
:
'tbitem10'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem10
:
{
name
:
'tbitem10'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem16
:
{
name
:
'tbitem16'
,
caption
:
'其它'
,
disabled
:
false
,
type
:
'ITEMS'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem21
:
{
name
:
'tbitem21'
,
caption
:
'导出数据模型'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ExportModel'
,
target
:
''
}
},
tbitem23
:
{
name
:
'tbitem23'
,
caption
:
'数据导入'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Import'
,
target
:
''
}
},
tbitem17
:
{
name
:
'tbitem17'
,
type
:
'SEPERATOR'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
}
},
tbitem19
:
{
name
:
'tbitem19'
,
caption
:
'过滤'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
}
},
tbitem19
:
{
name
:
'tbitem19'
,
caption
:
'过滤'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'ToggleFilter'
,
target
:
''
}
},
tbitem18
:
{
name
:
'tbitem18'
,
caption
:
'帮助'
,
disabled
:
false
,
type
:
'DEUIACTION'
,
visabled
:
true
,
dataaccaction
:
''
,
uiaction
:
{
tag
:
'Help'
,
target
:
''
}
},
};
};
...
@@ -570,24 +526,12 @@ export default class ContactGridViewBase extends Vue {
...
@@ -570,24 +526,12 @@ export default class ContactGridViewBase extends Vue {
* @memberof ContactGridViewBase
* @memberof ContactGridViewBase
*/
*/
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
)
{
public
toolbar_click
(
$event
:
any
,
$event2
?:
any
)
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem3'
))
{
this
.
toolbar_tbitem3_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem4'
))
{
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
this
.
toolbar_tbitem4_click
(
null
,
''
,
$event2
);
}
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem5'
))
{
this
.
toolbar_tbitem5_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem6'
))
{
this
.
toolbar_tbitem6_click
(
null
,
''
,
$event2
);
this
.
toolbar_tbitem6_click
(
null
,
''
,
$event2
);
}
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem24'
))
{
this
.
toolbar_tbitem24_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem25'
))
{
this
.
toolbar_tbitem25_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem8'
))
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem8'
))
{
this
.
toolbar_tbitem8_click
(
null
,
''
,
$event2
);
this
.
toolbar_tbitem8_click
(
null
,
''
,
$event2
);
}
}
...
@@ -597,18 +541,9 @@ export default class ContactGridViewBase extends Vue {
...
@@ -597,18 +541,9 @@ export default class ContactGridViewBase extends Vue {
if
(
Object
.
is
(
$event
.
tag
,
'tbitem11'
))
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem11'
))
{
this
.
toolbar_tbitem11_click
(
null
,
''
,
$event2
);
this
.
toolbar_tbitem11_click
(
null
,
''
,
$event2
);
}
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem21'
))
{
this
.
toolbar_tbitem21_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem23'
))
{
this
.
toolbar_tbitem23_click
(
null
,
''
,
$event2
);
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
if
(
Object
.
is
(
$event
.
tag
,
'tbitem19'
))
{
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
this
.
toolbar_tbitem19_click
(
null
,
''
,
$event2
);
}
}
if
(
Object
.
is
(
$event
.
tag
,
'tbitem18'
))
{
this
.
toolbar_tbitem18_click
(
null
,
''
,
$event2
);
}
}
}
...
@@ -709,34 +644,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -709,34 +644,6 @@ export default class ContactGridViewBase extends Vue {
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem3_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
New
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
/**
* 逻辑事件
* 逻辑事件
*
*
...
@@ -765,34 +672,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -765,34 +672,6 @@ export default class ContactGridViewBase extends Vue {
this
.
Edit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
this
.
Edit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem5_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
View
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
/**
* 逻辑事件
* 逻辑事件
*
*
...
@@ -821,62 +700,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -821,62 +700,6 @@ export default class ContactGridViewBase extends Vue {
this
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
this
.
Copy
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem24_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ToggleRowEdit
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem25_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
NewRow
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
/**
* 逻辑事件
* 逻辑事件
*
*
...
@@ -961,62 +784,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -961,62 +784,6 @@ export default class ContactGridViewBase extends Vue {
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
this
.
Print
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem21_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
ExportModel
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem23_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Import
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
/**
* 逻辑事件
* 逻辑事件
*
*
...
@@ -1045,34 +812,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1045,34 +812,6 @@ export default class ContactGridViewBase extends Vue {
this
.
ToggleFilter
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
this
.
ToggleFilter
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public
toolbar_tbitem18_click
(
params
:
any
=
{},
tag
?:
any
,
$event
?:
any
)
{
// 参数
// 取数
let
datas
:
any
[]
=
[];
let
xData
:
any
=
null
;
// _this 指向容器对象
const
_this
:
any
=
this
;
let
paramJO
:
any
=
{};
let
contextJO
:
any
=
{};
xData
=
this
.
$refs
.
grid
;
if
(
xData
.
getDatas
&&
xData
.
getDatas
instanceof
Function
)
{
datas
=
[...
xData
.
getDatas
()];
}
if
(
params
){
datas
=
[
params
];
}
// 界面行为
this
.
Help
(
datas
,
contextJO
,
paramJO
,
$event
,
xData
,
this
,
"Contact"
);
}
/**
/**
* 打开新建数据视图
* 打开新建数据视图
*
*
...
@@ -1098,7 +837,7 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1098,7 +837,7 @@ export default class ContactGridViewBase extends Vue {
const
deResParameters
:
any
[]
=
[];
const
deResParameters
:
any
[]
=
[];
const
parameters
:
any
[]
=
[
const
parameters
:
any
[]
=
[
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'
editview'
,
parameterName
:
'edit
view'
},
{
pathName
:
'
optionview'
,
parameterName
:
'option
view'
},
];
];
const
_this
:
any
=
this
;
const
_this
:
any
=
this
;
const
openIndexViewTab
=
(
data
:
any
)
=>
{
const
openIndexViewTab
=
(
data
:
any
)
=>
{
...
@@ -1143,26 +882,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1143,26 +882,6 @@ export default class ContactGridViewBase extends Vue {
}
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
New
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
_this
.
newdata
&&
_this
.
newdata
instanceof
Function
)
{
const
data
:
any
=
{};
_this
.
newdata
([{
...
data
}],[{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newdata 视图处理逻辑不存在,请添加!'
});
}
}
/**
/**
* 编辑
* 编辑
*
*
...
@@ -1189,32 +908,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1189,32 +908,6 @@ export default class ContactGridViewBase extends Vue {
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
}
}
/**
* 查看
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
View
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
if
(
args
.
length
===
0
)
{
return
;
}
const
_this
:
any
=
this
;
if
(
_this
.
opendata
&&
_this
.
opendata
instanceof
Function
)
{
const
data
:
any
=
{
};
if
(
args
.
length
>
0
)
{
Object
.
assign
(
data
,
{
contact
:
args
[
0
].
contact
})
}
_this
.
opendata
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
/**
/**
* 拷贝
* 拷贝
*
*
...
@@ -1247,42 +940,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1247,42 +940,6 @@ export default class ContactGridViewBase extends Vue {
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'opendata 视图处理逻辑不存在,请添加!'
});
}
}
}
}
/**
* 行编辑
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
ToggleRowEdit
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
xData
.
actualIsOpenEdit
=
!
xData
.
actualIsOpenEdit
;
}
/**
* 新建行
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
NewRow
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
const
data
:
any
=
{};
if
(
_this
.
newRow
&&
_this
.
newRow
instanceof
Function
)
{
_this
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
if
(
xData
.
newRow
&&
xData
.
newRow
instanceof
Function
)
{
xData
.
newRow
([{
...
data
}],
params
,
$event
,
xData
);
}
else
{
_this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'newRow 视图处理逻辑不存在,请添加!'
});
}
}
/**
/**
* 删除
* 删除
*
*
...
@@ -1338,38 +995,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1338,38 +995,6 @@ export default class ContactGridViewBase extends Vue {
}
}
xData
.
print
();
xData
.
print
();
}
}
/**
* 导出数据模型
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
ExportModel
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'导出数据模型未支持'
});
}
/**
* 数据导入
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
Import
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
const
_this
:
any
=
this
;
if
(
!
xData
||
!
(
xData
.
importExcel
instanceof
Function
)
||
!
$event
)
{
return
;
}
xData
.
importExcel
(
params
);
}
/**
/**
* 过滤
* 过滤
*
*
...
@@ -1387,20 +1012,6 @@ export default class ContactGridViewBase extends Vue {
...
@@ -1387,20 +1012,6 @@ export default class ContactGridViewBase extends Vue {
_this
.
isExpandSearchForm
=
!
_this
.
isExpandSearchForm
;
_this
.
isExpandSearchForm
=
!
_this
.
isExpandSearchForm
;
}
}
}
}
/**
* 帮助
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ContactGridViewBase
*/
public
Help
(
args
:
any
[],
contextJO
?:
any
,
params
?:
any
,
$event
?:
any
,
xData
?:
any
,
actionContext
?:
any
,
srfParentDeName
?:
string
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'帮助未支持'
});
}
/**
/**
* 关闭视图
* 关闭视图
...
...
app_BusinessCentral/src/pages/ungroup/central/page-register.ts
浏览文件 @
de7d0fe8
export
const
PageComponents
=
{
export
const
PageComponents
=
{
install
(
Vue
:
any
,
opt
:
any
)
{
install
(
Vue
:
any
,
opt
:
any
)
{
Vue
.
component
(
'ibiz-list-grid-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
));
Vue
.
component
(
'ibiz-list-grid-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
));
Vue
.
component
(
'account-introduction'
,
()
=>
import
(
'@pages/base/account-introduction/account-introduction.vue'
));
Vue
.
component
(
'sales-literature-edit-view'
,
()
=>
import
(
'@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'
));
Vue
.
component
(
'sales-literature-edit-view'
,
()
=>
import
(
'@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'
));
Vue
.
component
(
'product-grid-view'
,
()
=>
import
(
'@pages/product/product-grid-view/product-grid-view.vue'
));
Vue
.
component
(
'product-grid-view'
,
()
=>
import
(
'@pages/product/product-grid-view/product-grid-view.vue'
));
Vue
.
component
(
'sales-order-edit-view'
,
()
=>
import
(
'@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'
));
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
(
'account-edit-view'
,
()
=>
import
(
'@pages/base/account-edit-view/account-edit-view.vue'
));
Vue
.
component
(
'incident-edit-view'
,
()
=>
import
(
'@pages/service/incident-edit-view/incident-edit-view.vue'
));
Vue
.
component
(
'incident-edit-view'
,
()
=>
import
(
'@pages/service/incident-edit-view/incident-edit-view.vue'
));
Vue
.
component
(
'account-pickup-grid-view'
,
()
=>
import
(
'@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'
));
Vue
.
component
(
'lead-grid-view'
,
()
=>
import
(
'@pages/sales/lead-grid-view/lead-grid-view.vue'
));
Vue
.
component
(
'lead-grid-view'
,
()
=>
import
(
'@pages/sales/lead-grid-view/lead-grid-view.vue'
));
Vue
.
component
(
'activity-pointer-edit-view'
,
()
=>
import
(
'@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'
));
Vue
.
component
(
'activity-pointer-edit-view'
,
()
=>
import
(
'@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'
));
Vue
.
component
(
'sales-literature-grid-view'
,
()
=>
import
(
'@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'
));
Vue
.
component
(
'sales-literature-grid-view'
,
()
=>
import
(
'@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'
));
...
@@ -13,13 +15,19 @@ export const PageComponents = {
...
@@ -13,13 +15,19 @@ export const PageComponents = {
Vue
.
component
(
'competitor-edit-view'
,
()
=>
import
(
'@pages/sales/competitor-edit-view/competitor-edit-view.vue'
));
Vue
.
component
(
'competitor-edit-view'
,
()
=>
import
(
'@pages/sales/competitor-edit-view/competitor-edit-view.vue'
));
Vue
.
component
(
'product-edit-view'
,
()
=>
import
(
'@pages/product/product-edit-view/product-edit-view.vue'
));
Vue
.
component
(
'product-edit-view'
,
()
=>
import
(
'@pages/product/product-edit-view/product-edit-view.vue'
));
Vue
.
component
(
'quote-grid-view'
,
()
=>
import
(
'@pages/sales/quote-grid-view/quote-grid-view.vue'
));
Vue
.
component
(
'quote-grid-view'
,
()
=>
import
(
'@pages/sales/quote-grid-view/quote-grid-view.vue'
));
Vue
.
component
(
'account-account'
,
()
=>
import
(
'@pages/base/account-account/account-account.vue'
));
Vue
.
component
(
'invoice-edit-view'
,
()
=>
import
(
'@pages/finance/invoice-edit-view/invoice-edit-view.vue'
));
Vue
.
component
(
'invoice-edit-view'
,
()
=>
import
(
'@pages/finance/invoice-edit-view/invoice-edit-view.vue'
));
Vue
.
component
(
'account-summary'
,
()
=>
import
(
'@pages/base/account-summary/account-summary.vue'
));
Vue
.
component
(
'account-summary'
,
()
=>
import
(
'@pages/base/account-summary/account-summary.vue'
));
Vue
.
component
(
'account-contact-setting'
,
()
=>
import
(
'@pages/base/account-contact-setting/account-contact-setting.vue'
));
Vue
.
component
(
'account-major-contact'
,
()
=>
import
(
'@pages/base/account-major-contact/account-major-contact.vue'
));
Vue
.
component
(
'sales-order-grid-view'
,
()
=>
import
(
'@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'
));
Vue
.
component
(
'sales-order-grid-view'
,
()
=>
import
(
'@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'
));
Vue
.
component
(
'opportunity-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'
));
Vue
.
component
(
'opportunity-grid-view'
,
()
=>
import
(
'@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'
));
Vue
.
component
(
'goal-edit-view'
,
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
));
Vue
.
component
(
'goal-edit-view'
,
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
));
Vue
.
component
(
'contact-option-view'
,
()
=>
import
(
'@pages/base/contact-option-view/contact-option-view.vue'
));
Vue
.
component
(
'contact-edit-view'
,
()
=>
import
(
'@pages/base/contact-edit-view/contact-edit-view.vue'
));
Vue
.
component
(
'contact-edit-view'
,
()
=>
import
(
'@pages/base/contact-edit-view/contact-edit-view.vue'
));
Vue
.
component
(
'lead-edit-view'
,
()
=>
import
(
'@pages/sales/lead-edit-view/lead-edit-view.vue'
));
Vue
.
component
(
'lead-edit-view'
,
()
=>
import
(
'@pages/sales/lead-edit-view/lead-edit-view.vue'
));
Vue
.
component
(
'account-address'
,
()
=>
import
(
'@pages/base/account-address/account-address.vue'
));
Vue
.
component
(
'price-level-pickup-view'
,
()
=>
import
(
'@pages/product/price-level-pickup-view/price-level-pickup-view.vue'
));
Vue
.
component
(
'goal-grid-view'
,
()
=>
import
(
'@pages/sales/goal-grid-view/goal-grid-view.vue'
));
Vue
.
component
(
'goal-grid-view'
,
()
=>
import
(
'@pages/sales/goal-grid-view/goal-grid-view.vue'
));
Vue
.
component
(
'contact-grid-view'
,
()
=>
import
(
'@pages/base/contact-grid-view/contact-grid-view.vue'
));
Vue
.
component
(
'contact-grid-view'
,
()
=>
import
(
'@pages/base/contact-grid-view/contact-grid-view.vue'
));
Vue
.
component
(
'opportunity-edit-view'
,
()
=>
import
(
'@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'
));
Vue
.
component
(
'opportunity-edit-view'
,
()
=>
import
(
'@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'
));
...
@@ -28,6 +36,9 @@ export const PageComponents = {
...
@@ -28,6 +36,9 @@ export const PageComponents = {
Vue
.
component
(
'ibiz-list-edit-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'
));
Vue
.
component
(
'ibiz-list-edit-view'
,
()
=>
import
(
'@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'
));
Vue
.
component
(
'invoice-grid-view'
,
()
=>
import
(
'@pages/finance/invoice-grid-view/invoice-grid-view.vue'
));
Vue
.
component
(
'invoice-grid-view'
,
()
=>
import
(
'@pages/finance/invoice-grid-view/invoice-grid-view.vue'
));
Vue
.
component
(
'competitor-grid-view'
,
()
=>
import
(
'@pages/sales/competitor-grid-view/competitor-grid-view.vue'
));
Vue
.
component
(
'competitor-grid-view'
,
()
=>
import
(
'@pages/sales/competitor-grid-view/competitor-grid-view.vue'
));
Vue
.
component
(
'account-pickup-view'
,
()
=>
import
(
'@pages/base/account-pickup-view/account-pickup-view.vue'
));
Vue
.
component
(
'account-distribution'
,
()
=>
import
(
'@pages/base/account-distribution/account-distribution.vue'
));
Vue
.
component
(
'price-level-pickup-grid-view'
,
()
=>
import
(
'@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'
));
Vue
.
component
(
'quote-edit-view'
,
()
=>
import
(
'@pages/sales/quote-edit-view/quote-edit-view.vue'
));
Vue
.
component
(
'quote-edit-view'
,
()
=>
import
(
'@pages/sales/quote-edit-view/quote-edit-view.vue'
));
Vue
.
component
(
'incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-grid-view/incident-grid-view.vue'
));
Vue
.
component
(
'incident-grid-view'
,
()
=>
import
(
'@pages/service/incident-grid-view/incident-grid-view.vue'
));
}
}
...
...
app_BusinessCentral/src/pages/ungroup/central/router.ts
浏览文件 @
de7d0fe8
...
@@ -49,6 +49,20 @@ const router = new Router({
...
@@ -49,6 +49,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'
),
},
},
{
path
:
'accounts/:account?/introduction/:introduction?'
,
meta
:
{
caption
:
'entities.account.views.introduction.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'introduction'
,
parameterName
:
'introduction'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-introduction/account-introduction.vue'
),
},
{
{
path
:
'salesliteratures/:salesliterature?/editview/:editview?'
,
path
:
'salesliteratures/:salesliterature?/editview/:editview?'
,
meta
:
{
meta
:
{
...
@@ -119,6 +133,20 @@ const router = new Router({
...
@@ -119,6 +133,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/service/incident-edit-view/incident-edit-view.vue'
),
component
:
()
=>
import
(
'@pages/service/incident-edit-view/incident-edit-view.vue'
),
},
},
{
path
:
'accounts/:account?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.account.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'
),
},
{
{
path
:
'leads/:lead?/gridview/:gridview?'
,
path
:
'leads/:lead?/gridview/:gridview?'
,
meta
:
{
meta
:
{
...
@@ -217,6 +245,20 @@ const router = new Router({
...
@@ -217,6 +245,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/sales/quote-grid-view/quote-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/quote-grid-view/quote-grid-view.vue'
),
},
},
{
path
:
'accounts/:account?/account/:account?'
,
meta
:
{
caption
:
'entities.account.views.account.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'account'
,
parameterName
:
'account'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-account/account-account.vue'
),
},
{
{
path
:
'invoices/:invoice?/editview/:editview?'
,
path
:
'invoices/:invoice?/editview/:editview?'
,
meta
:
{
meta
:
{
...
@@ -245,6 +287,34 @@ const router = new Router({
...
@@ -245,6 +287,34 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/base/account-summary/account-summary.vue'
),
component
:
()
=>
import
(
'@pages/base/account-summary/account-summary.vue'
),
},
},
{
path
:
'accounts/:account?/contactsetting/:contactsetting?'
,
meta
:
{
caption
:
'entities.account.views.contactsetting.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'contactsetting'
,
parameterName
:
'contactsetting'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-contact-setting/account-contact-setting.vue'
),
},
{
path
:
'accounts/:account?/majorcontact/:majorcontact?'
,
meta
:
{
caption
:
'entities.account.views.majorcontact.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'majorcontact'
,
parameterName
:
'majorcontact'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-major-contact/account-major-contact.vue'
),
},
{
{
path
:
'salesorders/:salesorder?/gridview/:gridview?'
,
path
:
'salesorders/:salesorder?/gridview/:gridview?'
,
meta
:
{
meta
:
{
...
@@ -287,6 +357,20 @@ const router = new Router({
...
@@ -287,6 +357,20 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/goal-edit-view/goal-edit-view.vue'
),
},
},
{
path
:
'contacts/:contact?/optionview/:optionview?'
,
meta
:
{
caption
:
'entities.contact.views.optionview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'contacts'
,
parameterName
:
'contact'
},
{
pathName
:
'optionview'
,
parameterName
:
'optionview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/contact-option-view/contact-option-view.vue'
),
},
{
{
path
:
'contacts/:contact?/editview/:editview?'
,
path
:
'contacts/:contact?/editview/:editview?'
,
meta
:
{
meta
:
{
...
@@ -315,6 +399,34 @@ const router = new Router({
...
@@ -315,6 +399,34 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/sales/lead-edit-view/lead-edit-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/lead-edit-view/lead-edit-view.vue'
),
},
},
{
path
:
'accounts/:account?/address/:address?'
,
meta
:
{
caption
:
'entities.account.views.address.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'address'
,
parameterName
:
'address'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-address/account-address.vue'
),
},
{
path
:
'pricelevels/:pricelevel?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.pricelevel.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'pricelevels'
,
parameterName
:
'pricelevel'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/product/price-level-pickup-view/price-level-pickup-view.vue'
),
},
{
{
path
:
'goals/:goal?/gridview/:gridview?'
,
path
:
'goals/:goal?/gridview/:gridview?'
,
meta
:
{
meta
:
{
...
@@ -427,6 +539,48 @@ const router = new Router({
...
@@ -427,6 +539,48 @@ const router = new Router({
},
},
component
:
()
=>
import
(
'@pages/sales/competitor-grid-view/competitor-grid-view.vue'
),
component
:
()
=>
import
(
'@pages/sales/competitor-grid-view/competitor-grid-view.vue'
),
},
},
{
path
:
'accounts/:account?/pickupview/:pickupview?'
,
meta
:
{
caption
:
'entities.account.views.pickupview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'pickupview'
,
parameterName
:
'pickupview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-pickup-view/account-pickup-view.vue'
),
},
{
path
:
'accounts/:account?/distribution/:distribution?'
,
meta
:
{
caption
:
'entities.account.views.distribution.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'accounts'
,
parameterName
:
'account'
},
{
pathName
:
'distribution'
,
parameterName
:
'distribution'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/base/account-distribution/account-distribution.vue'
),
},
{
path
:
'pricelevels/:pricelevel?/pickupgridview/:pickupgridview?'
,
meta
:
{
caption
:
'entities.pricelevel.views.pickupgridview.title'
,
info
:
''
,
parameters
:
[
{
pathName
:
'central'
,
parameterName
:
'central'
},
{
pathName
:
'pricelevels'
,
parameterName
:
'pricelevel'
},
{
pathName
:
'pickupgridview'
,
parameterName
:
'pickupgridview'
},
],
requireAuth
:
true
,
},
component
:
()
=>
import
(
'@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'
),
},
{
{
path
:
'quotes/:quote?/editview/:editview?'
,
path
:
'quotes/:quote?/editview/:editview?'
,
meta
:
{
meta
:
{
...
...
app_BusinessCentral/src/service/entity-service-register.ts
浏览文件 @
de7d0fe8
...
@@ -39,6 +39,7 @@ export class EntityServiceRegister {
...
@@ -39,6 +39,7 @@ export class EntityServiceRegister {
* @memberof EntityServiceRegister
* @memberof EntityServiceRegister
*/
*/
protected
init
():
void
{
protected
init
():
void
{
this
.
allEntityService
.
set
(
'pricelevel'
,
()
=>
import
(
'@/service/price-level/price-level-service'
));
this
.
allEntityService
.
set
(
'opportunity'
,
()
=>
import
(
'@/service/opportunity/opportunity-service'
));
this
.
allEntityService
.
set
(
'opportunity'
,
()
=>
import
(
'@/service/opportunity/opportunity-service'
));
this
.
allEntityService
.
set
(
'goal'
,
()
=>
import
(
'@/service/goal/goal-service'
));
this
.
allEntityService
.
set
(
'goal'
,
()
=>
import
(
'@/service/goal/goal-service'
));
this
.
allEntityService
.
set
(
'invoice'
,
()
=>
import
(
'@/service/invoice/invoice-service'
));
this
.
allEntityService
.
set
(
'invoice'
,
()
=>
import
(
'@/service/invoice/invoice-service'
));
...
...
app_BusinessCentral/src/service/price-level/price-level-service-base.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
,
Util
}
from
'@/utils'
;
import
EntityService
from
'../entity-service'
;
/**
* 价目表服务对象基类
*
* @export
* @class PriceLevelServiceBase
* @extends {EntityServie}
*/
export
default
class
PriceLevelServiceBase
extends
EntityService
{
/**
* Creates an instance of PriceLevelServiceBase.
*
* @param {*} [opts={}]
* @memberof PriceLevelServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
/**
* 初始化基础数据
*
* @memberof PriceLevelServiceBase
*/
public
initBasicData
(){
this
.
APPLYDEKEY
=
'pricelevel'
;
this
.
APPDEKEY
=
'pricelevelid'
;
this
.
APPDENAME
=
'pricelevels'
;
this
.
APPDETEXT
=
'pricelevelname'
;
this
.
APPNAME
=
'businesscentral'
;
this
.
SYSTEMNAME
=
'ibizbusinesscentral'
;
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Select
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/pricelevels/
${
context
.
pricelevel
}
/select`
,
isloading
);
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Create
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
if
(
!
data
.
srffrontuf
||
data
.
srffrontuf
!==
"1"
){
data
[
this
.
APPDEKEY
]
=
null
;
}
if
(
data
.
srffrontuf
){
delete
data
.
srffrontuf
;
}
let
tempContext
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
context
));
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/pricelevels`
,
data
,
isloading
);
return
res
;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
GetDraft
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/pricelevels/getdraft`
,
isloading
);
res
.
data
.
pricelevel
=
data
.
pricelevel
;
return
res
;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Update
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
put
(
`/pricelevels/
${
context
.
pricelevel
}
`
,
data
,
isloading
);
return
res
;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Get
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
res
:
any
=
await
Http
.
getInstance
().
get
(
`/pricelevels/
${
context
.
pricelevel
}
`
,
isloading
);
return
res
;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Remove
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
delete
(
`/pricelevels/
${
context
.
pricelevel
}
`
,
isloading
);
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
Save
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
masterData
:
any
=
{};
Object
.
assign
(
data
,
masterData
);
let
res
:
any
=
await
Http
.
getInstance
().
post
(
`/pricelevels/
${
context
.
pricelevel
}
/save`
,
data
,
isloading
);
return
res
;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
CheckKey
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
post
(
`/pricelevels/
${
context
.
pricelevel
}
/checkkey`
,
data
,
isloading
);
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof PriceLevelServiceBase
*/
public
async
FetchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
Http
.
getInstance
().
get
(
`/pricelevels/fetchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_BusinessCentral/src/service/price-level/price-level-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
,
Util
}
from
'@/utils'
;
import
PriceLevelServiceBase
from
'./price-level-service-base'
;
/**
* 价目表服务对象
*
* @export
* @class PriceLevelService
* @extends {PriceLevelServiceBase}
*/
export
default
class
PriceLevelService
extends
PriceLevelServiceBase
{
/**
* Creates an instance of PriceLevelService.
*
* @param {*} [opts={}]
* @memberof PriceLevelService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_BusinessCentral/src/store/modules/view-action/state.ts
浏览文件 @
de7d0fe8
...
@@ -19,6 +19,7 @@ export const viewstate: any = {
...
@@ -19,6 +19,7 @@ export const viewstate: any = {
viewaction
:
''
,
viewaction
:
''
,
viewdatachange
:
false
,
viewdatachange
:
false
,
refviews
:
[
refviews
:
[
'e404dc93e70d6284d4e1a083017625ed'
,
'9a96ebf2e57358b3590b9d4479edb77a'
,
'9a96ebf2e57358b3590b9d4479edb77a'
,
],
],
},
},
...
@@ -86,6 +87,12 @@ export const viewstate: any = {
...
@@ -86,6 +87,12 @@ export const viewstate: any = {
viewaction
:
''
,
viewaction
:
''
,
viewdatachange
:
false
,
viewdatachange
:
false
,
refviews
:
[
refviews
:
[
'e38e7b53a449e0f112cb545d2c5d4b85'
,
'fb06f2c1cea1ac2a5a70c20f4a277ae5'
,
'73bb9f7e653384ca09f8bbbfd580d892'
,
'c607e5bc2c07ab2aca084e275ce677b7'
,
'916febbb65be1c54dd42ccb9914fe973'
,
'1d3b94223a5d3f8ab1d2fe334c8c4afd'
,
],
],
},
},
{
{
...
...
app_BusinessCentral/src/uiservice/account/account-ui-service-base.ts
浏览文件 @
de7d0fe8
...
@@ -79,10 +79,18 @@ export default class AccountUIServiceBase extends UIService {
...
@@ -79,10 +79,18 @@ export default class AccountUIServiceBase extends UIService {
* @memberof AccountUIServiceBase
* @memberof AccountUIServiceBase
*/
*/
public
initViewMap
(){
public
initViewMap
(){
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'account'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'summary'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'summary'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'info'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
'MDATAVIEW:'
,{
viewname
:
'gridview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
'MDATAVIEW:'
,{
viewname
:
'gridview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
'EDITVIEW:'
,{
viewname
:
'editview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'introduction'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'address'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'distribution'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'contactsetting'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'accounts'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'majorcontact'
,
srfappde
:
'accounts'
});
}
}
/**
/**
...
...
app_BusinessCentral/src/uiservice/price-level/price-level-ui-service-base.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Environment
}
from
'@/environments/environment'
;
import
{
UIActionTool
,
Util
}
from
'@/utils'
;
import
UIService
from
'../ui-service'
;
import
{
Subject
}
from
'rxjs'
;
import
PriceLevelService
from
'@/service/price-level/price-level-service'
;
/**
* 价目表UI服务对象基类
*
* @export
* @class PriceLevelUIServiceBase
*/
export
default
class
PriceLevelUIServiceBase
extends
UIService
{
/**
* 是否支持工作流
*
* @memberof PriceLevelUIServiceBase
*/
public
isEnableWorkflow
:
boolean
=
false
;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof PriceLevelUIServiceBase
*/
public
dataService
:
PriceLevelService
=
new
PriceLevelService
();
/**
* 所有关联视图
*
* @memberof PriceLevelUIServiceBase
*/
public
allViewMap
:
Map
<
string
,
Object
>
=
new
Map
();
/**
* 状态值
*
* @memberof PriceLevelUIServiceBase
*/
public
stateValue
:
number
=
0
;
/**
* 状态属性
*
* @memberof PriceLevelUIServiceBase
*/
public
stateField
:
string
=
""
;
/**
* 主状态属性集合
*
* @memberof PriceLevelUIServiceBase
*/
public
mainStateFields
:
Array
<
any
>
=
[];
/**
* 主状态集合Map
*
* @memberof PriceLevelUIServiceBase
*/
public
allDeMainStateMap
:
Map
<
string
,
string
>
=
new
Map
();
/**
* Creates an instance of PriceLevelUIServiceBase.
*
* @param {*} [opts={}]
* @memberof PriceLevelUIServiceBase
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
initViewMap
();
this
.
initDeMainStateMap
();
}
/**
* 初始化视图Map
*
* @memberof PriceLevelUIServiceBase
*/
public
initViewMap
(){
this
.
allViewMap
.
set
(
'PICKUPVIEW:'
,{
viewname
:
'pickupview'
,
srfappde
:
'pricelevels'
});
this
.
allViewMap
.
set
(
':'
,{
viewname
:
'pickupgridview'
,
srfappde
:
'pricelevels'
});
}
/**
* 初始化主状态集合
*
* @memberof PriceLevelUIServiceBase
*/
public
initDeMainStateMap
(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof PriceLevelUIServiceBase
*/
public
async
getRDAppView
(
srfkey
:
string
,
isEnableWorkflow
:
boolean
){
this
.
isEnableWorkflow
=
isEnableWorkflow
;
// 进行数据查询
let
result
:
any
=
await
this
.
dataService
.
Get
({
pricelevel
:
srfkey
});
const
curData
:
any
=
result
.
data
;
//判断当前数据模式,默认为true,todo
const
iRealDEModel
:
boolean
=
true
;
let
bDataInWF
:
boolean
=
false
;
let
bWFMode
:
any
=
false
;
// 计算数据模式
if
(
this
.
isEnableWorkflow
)
{
bDataInWF
=
await
this
.
dataService
.
testDataInWF
({
stateValue
:
this
.
stateValue
,
stateField
:
this
.
stateField
},
curData
);
if
(
bDataInWF
)
{
bDataInWF
=
true
;
bWFMode
=
await
this
.
dataService
.
testUserExistWorklist
(
null
,
curData
);
}
}
let
strPDTViewParam
:
string
=
await
this
.
getDESDDEViewPDTParam
(
curData
,
bDataInWF
,
bWFMode
);
//若不是当前数据模式,处理strPDTViewParam,todo
//查找视图
//返回视图
return
this
.
allViewMap
.
get
(
strPDTViewParam
);
}
/**
* 获取实际的数据类型
*
* @memberof PriceLevelUIServiceBase
*/
public
getRealDEType
(
entity
:
any
){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof PriceLevelUIServiceBase
*/
public
async
getDESDDEViewPDTParam
(
curData
:
any
,
bDataInWF
:
boolean
,
bWFMode
:
boolean
){
let
strPDTParam
:
string
=
''
;
if
(
bDataInWF
)
{
// 判断数据是否在流程中
}
//多表单,todo
const
isEnableMultiForm
:
boolean
=
false
;
const
multiFormDEField
:
string
|
null
=
null
;
if
(
isEnableMultiForm
&&
multiFormDEField
)
{
const
objFormValue
:
string
=
curData
[
multiFormDEField
];
if
(
!
Environment
.
isAppMode
){
return
'MOBEDITVIEW'
+
objFormValue
;
}
return
'EDITVIEW'
+
objFormValue
;
}
if
(
!
Environment
.
isAppMode
){
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`MOBEDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'MOBEDITVIEW:'
;
}
if
(
this
.
getDEMainStateTag
(
curData
)){
return
`EDITVIEW:MSTAG:
${
await
this
.
getDEMainStateTag
(
curData
)}
`
;
}
return
'EDITVIEW:'
;
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof PriceLevelUIServiceBase
*/
public
async
getDEMainStateTag
(
curData
:
any
){
if
(
this
.
mainStateFields
.
length
===
0
)
return
null
;
this
.
mainStateFields
.
forEach
((
singleMainField
:
any
)
=>
{
if
(
!
(
singleMainField
in
curData
)){
console
.
error
(
`当前数据对象不包含属性singleMainField,可能会发生错误`
);
}
})
let
strTag
:
String
=
""
;
for
(
let
i
=
0
;
i
<=
1
;
i
++
)
{
let
strTag
:
string
=
(
curData
[
this
.
mainStateFields
[
0
]])?(
i
==
0
)
?
curData
[
this
.
mainStateFields
[
0
]]
:
""
:
""
;
if
(
this
.
mainStateFields
.
length
>=
2
)
{
for
(
let
j
=
0
;
j
<=
1
;
j
++
)
{
let
strTag2
:
string
=
(
curData
[
this
.
mainStateFields
[
1
]])?
`
${
strTag
}
__
${(
j
==
0
)
?
curData
[
this
.
mainStateFields
[
1
]]
:
""
}
`
:
strTag
;
if
(
this
.
mainStateFields
.
length
>=
3
)
{
for
(
let
k
=
0
;
k
<=
1
;
k
++
)
{
let
strTag3
:
string
=
(
curData
[
this
.
mainStateFields
[
2
]])?
`
${
strTag2
}
__
${(
k
==
0
)
?
curData
[
this
.
mainStateFields
[
2
]]
:
""
}
`
:
strTag2
;
// 判断是否存在
return
this
.
allDeMainStateMap
.
get
(
strTag3
);
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag2
);
}
}
}
else
{
return
this
.
allDeMainStateMap
.
get
(
strTag
);
}
}
return
null
;
}
}
\ No newline at end of file
app_BusinessCentral/src/uiservice/price-level/price-level-ui-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
PriceLevelUIServiceBase
from
'./price-level-ui-service-base'
;
/**
* 价目表UI服务对象
*
* @export
* @class PriceLevelUIService
*/
export
default
class
PriceLevelUIService
extends
PriceLevelUIServiceBase
{
/**
* Creates an instance of PriceLevelUIService.
*
* @param {*} [opts={}]
* @memberof PriceLevelUIService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
}
}
\ No newline at end of file
app_BusinessCentral/src/uiservice/ui-service-register.ts
浏览文件 @
de7d0fe8
...
@@ -39,6 +39,7 @@ export class UIServiceRegister {
...
@@ -39,6 +39,7 @@ export class UIServiceRegister {
* @memberof UIServiceRegister
* @memberof UIServiceRegister
*/
*/
protected
init
():
void
{
protected
init
():
void
{
this
.
allUIService
.
set
(
'pricelevel'
,
()
=>
import
(
'@/uiservice/price-level/price-level-ui-service'
));
this
.
allUIService
.
set
(
'opportunity'
,
()
=>
import
(
'@/uiservice/opportunity/opportunity-ui-service'
));
this
.
allUIService
.
set
(
'opportunity'
,
()
=>
import
(
'@/uiservice/opportunity/opportunity-ui-service'
));
this
.
allUIService
.
set
(
'goal'
,
()
=>
import
(
'@/uiservice/goal/goal-ui-service'
));
this
.
allUIService
.
set
(
'goal'
,
()
=>
import
(
'@/uiservice/goal/goal-ui-service'
));
this
.
allUIService
.
set
(
'invoice'
,
()
=>
import
(
'@/uiservice/invoice/invoice-ui-service'
));
this
.
allUIService
.
set
(
'invoice'
,
()
=>
import
(
'@/uiservice/invoice/invoice-ui-service'
));
...
...
app_BusinessCentral/src/widgets/account/account-portlet/account-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet account '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p
class=
'portlet-title'
>
<span>
账户信息
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-account
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-account>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
AccountService
from
'./account-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountAccountBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof Account
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Account
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof Account
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof Account
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Account
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Account
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Account
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {AccountService}
* @memberof Account
*/
public
service
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof Account
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof Account
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof Account
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof Account
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof Account
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof AccountBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof AccountBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof AccountBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof AccountBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof AccountBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof AccountBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof AccountBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './account-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/account-portlet/account-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* Account 部件模型
*
* @export
* @class AccountModel
*/
export
default
class
AccountModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof AccountModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/account-portlet/account-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* Account 部件服务对象
*
* @export
* @class AccountService
*/
export
default
class
AccountService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/account-portlet/account-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/account-portlet/account-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountAccountBase
from
'./account-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountAccount
extends
AccountAccountBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/address-portlet/address-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet address '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p
class=
'portlet-title'
>
<span>
地址信息
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-address
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-address>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
AddressService
from
'./address-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountAddressBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof Address
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Address
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof Address
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof Address
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Address
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Address
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Address
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {AddressService}
* @memberof Address
*/
public
service
:
AddressService
=
new
AddressService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof Address
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof Address
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof Address
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof Address
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof Address
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof AddressBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof AddressBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof AddressBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof AddressBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof AddressBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof AddressBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof AddressBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './address-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/address-portlet/address-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* Address 部件模型
*
* @export
* @class AddressModel
*/
export
default
class
AddressModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof AddressModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/address-portlet/address-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* Address 部件服务对象
*
* @export
* @class AddressService
*/
export
default
class
AddressService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/address-portlet/address-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/address-portlet/address-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountAddressBase
from
'./address-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountAddress
extends
AccountAddressBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/contact-setting-portlet/contact-setting-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet contact-setting '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p
class=
'portlet-title'
>
<span>
联系人选项
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-contact-setting
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-contact-setting>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
ContactSettingService
from
'./contact-setting-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountContactSettingBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof ContactSetting
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ContactSetting
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof ContactSetting
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof ContactSetting
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ContactSetting
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ContactSetting
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ContactSetting
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {ContactSettingService}
* @memberof ContactSetting
*/
public
service
:
ContactSettingService
=
new
ContactSettingService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof ContactSetting
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof ContactSetting
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof ContactSetting
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof ContactSetting
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof ContactSetting
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof ContactSettingBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ContactSettingBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ContactSettingBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof ContactSettingBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof ContactSettingBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof ContactSettingBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ContactSettingBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './contact-setting-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/contact-setting-portlet/contact-setting-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* ContactSetting 部件模型
*
* @export
* @class ContactSettingModel
*/
export
default
class
ContactSettingModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ContactSettingModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/contact-setting-portlet/contact-setting-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* ContactSetting 部件服务对象
*
* @export
* @class ContactSettingService
*/
export
default
class
ContactSettingService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/contact-setting-portlet/contact-setting-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/contact-setting-portlet/contact-setting-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountContactSettingBase
from
'./contact-setting-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountContactSetting
extends
AccountContactSettingBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/distribution-portlet/distribution-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet distribution '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p
class=
'portlet-title'
>
<span>
配送
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-distribution
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-distribution>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
DistributionService
from
'./distribution-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountDistributionBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof Distribution
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Distribution
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof Distribution
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof Distribution
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Distribution
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Distribution
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Distribution
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {DistributionService}
* @memberof Distribution
*/
public
service
:
DistributionService
=
new
DistributionService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof Distribution
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof Distribution
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof Distribution
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof Distribution
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof Distribution
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof DistributionBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof DistributionBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof DistributionBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof DistributionBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof DistributionBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof DistributionBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof DistributionBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './distribution-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/distribution-portlet/distribution-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* Distribution 部件模型
*
* @export
* @class DistributionModel
*/
export
default
class
DistributionModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DistributionModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/distribution-portlet/distribution-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* Distribution 部件服务对象
*
* @export
* @class DistributionService
*/
export
default
class
DistributionService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/distribution-portlet/distribution-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/distribution-portlet/distribution-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountDistributionBase
from
'./distribution-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountDistribution
extends
AccountDistributionBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/introduction-portlet/introduction-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet introduction '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p
class=
'portlet-title'
>
<span>
简介
</span>
</p>
<div
class=
"portlet-with-title"
>
<account-introduction
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-introduction>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
IntroductionService
from
'./introduction-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountIntroductionBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof Introduction
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Introduction
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof Introduction
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof Introduction
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Introduction
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Introduction
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Introduction
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {IntroductionService}
* @memberof Introduction
*/
public
service
:
IntroductionService
=
new
IntroductionService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof Introduction
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof Introduction
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof Introduction
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof Introduction
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof Introduction
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof IntroductionBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof IntroductionBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof IntroductionBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof IntroductionBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof IntroductionBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof IntroductionBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof IntroductionBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './introduction-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/introduction-portlet/introduction-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* Introduction 部件模型
*
* @export
* @class IntroductionModel
*/
export
default
class
IntroductionModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof IntroductionModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/introduction-portlet/introduction-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* Introduction 部件服务对象
*
* @export
* @class IntroductionService
*/
export
default
class
IntroductionService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/introduction-portlet/introduction-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/introduction-portlet/introduction-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountIntroductionBase
from
'./introduction-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountIntroduction
extends
AccountIntroductionBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/major-contact-portlet/major-contact-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet major-contact '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<div
class=
"portlet-without-title"
>
<account-major-contact
:viewdata=
"JSON.stringify(context)"
:viewDefaultUsage=
"false"
></account-major-contact>
</div>
</div>
</
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
AccountService
from
'@/service/account/account-service'
;
import
MajorContactService
from
'./major-contact-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountMajorContactBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof MajorContact
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof MajorContact
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof MajorContact
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof MajorContact
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MajorContact
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof MajorContact
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof MajorContact
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {MajorContactService}
* @memberof MajorContact
*/
public
service
:
MajorContactService
=
new
MajorContactService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof MajorContact
*/
public
appEntityService
:
AccountService
=
new
AccountService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof MajorContact
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof MajorContact
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof MajorContact
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof MajorContact
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof MajorContactBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MajorContactBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MajorContactBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof MajorContactBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof MajorContactBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof MajorContactBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MajorContactBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './major-contact-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/account/major-contact-portlet/major-contact-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* MajorContact 部件模型
*
* @export
* @class MajorContactModel
*/
export
default
class
MajorContactModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MajorContactModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'openrevenue_date'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'fax'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'openrevenue'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'followemail'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'numberofemployees'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'aging60'
,
},
{
name
:
'sharesoutstanding'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'revenue_base'
,
},
{
name
:
'accountratingcode'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'aging30'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'accountname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'marketcap'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'businesstypecode'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'ownershipcode'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'accountnumber'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'description'
,
},
{
name
:
'merged'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'account'
,
prop
:
'accountid'
,
},
{
name
:
'primarytwitterid'
,
},
{
name
:
'tickersymbol'
,
},
{
name
:
'stockexchange'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'opendeals_date'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'openrevenue_base'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'yominame'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'masteraccountidyominame'
,
},
{
name
:
'industrycode'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'accountclassificationcode'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'accountcategorycode'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'primarysatoriid'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'opendeals'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'processid'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'sic'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'updateman'
,
},
{
name
:
'openrevenue_state'
,
},
{
name
:
'opendeals_state'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'aging90'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'revenue'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'stageid'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'createdate'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'marketcap_base'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'createman'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'slaname'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'parentaccountid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'territoryid'
,
},
{
name
:
'primarycontactid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'territoryname'
,
},
{
name
:
'parentaccountname'
,
},
{
name
:
'preferredequipmentname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'primarycontactname'
,
},
{
name
:
'transactioncurrencyname'
,
},
]
}
}
app_BusinessCentral/src/widgets/account/major-contact-portlet/major-contact-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* MajorContact 部件服务对象
*
* @export
* @class MajorContactService
*/
export
default
class
MajorContactService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/account/major-contact-portlet/major-contact-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/major-contact-portlet/major-contact-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
AccountMajorContactBase
from
'./major-contact-portlet-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
AccountMajorContact
extends
AccountMajorContactBase
{
}
</
script
>
app_BusinessCentral/src/widgets/account/summary-dashboard/summary-dashboard-base.vue
浏览文件 @
de7d0fe8
...
@@ -4,6 +4,152 @@
...
@@ -4,6 +4,152 @@
<app-build
@
handleClick=
"handleClick"
></app-build>
<app-build
@
handleClick=
"handleClick"
></app-build>
</row>
</row>
<row
v-if=
"!isHasCustomized"
>
<row
v-if=
"!isHasCustomized"
>
<i-col
:md=
"
{ span: 24, offset: 0 }">
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<div
class=
'portlet-container summarydashboard-container1 '
:style=
"
{}">
<row>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet1
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet1"
ref=
'dashboard_sysportlet1'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet1
>
</span>
</card>
</div>
</i-col>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet2
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet2"
ref=
'dashboard_sysportlet2'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet2
>
</span>
</card>
</div>
</i-col>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet3
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet3"
ref=
'dashboard_sysportlet3'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet3
>
</span>
</card>
</div>
</i-col>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet4
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet4"
ref=
'dashboard_sysportlet4'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet4
>
</span>
</card>
</div>
</i-col>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet5
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet5"
ref=
'dashboard_sysportlet5'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet5
>
</span>
</card>
</div>
</i-col>
<i-col
:sm=
"
{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<p
slot=
'title'
>
主要联系人
<span
class=
"line"
></span>
</p>
<a
slot=
'extra'
></a>
<span>
<div
class=
'portlet-container summarydashboard-container2 '
:style=
"
{}">
<row>
<i-col
:md=
"
{ span: 24, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet6
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet6"
ref=
'dashboard_sysportlet6'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet6
>
</span>
</card>
</div>
</i-col>
<i-col
:md=
"
{ span: 24, offset: 0 }">
<div
class=
"portlet-without-title"
>
<card
class=
"portlet-card"
:bordered=
"false"
dis-hover
:padding=
"0"
>
<span>
<view
_dashboard_sysportlet7
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
:height=
"300"
name=
"dashboard_sysportlet7"
ref=
'dashboard_sysportlet7'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet7
>
</span>
</card>
</div>
</i-col>
</row>
</div>
</span>
</card>
</div>
</i-col>
</row>
</div>
</span>
</card>
</i-col>
</row>
</row>
<row
v-if=
"isHasCustomized"
style=
"width: 100%;min-height: calc(100% - 40px);"
>
<row
v-if=
"isHasCustomized"
style=
"width: 100%;min-height: calc(100% - 40px);"
>
<div
class=
"portlet-container"
style=
"position: relative;width:100%;"
>
<div
class=
"portlet-container"
style=
"position: relative;width:100%;"
>
...
...
app_BusinessCentral/src/widgets/account/summary-dashboard/summary-dashboard.vue
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
{
Component
}
from
'vue-property-decorator'
;
import
SummaryBase
from
'./summary-dashboard-base.vue'
;
import
SummaryBase
from
'./summary-dashboard-base.vue'
;
import
view_dashboard_sysportlet6
from
'@widgets/account/major-contact-portlet/major-contact-portlet.vue'
;
import
view_dashboard_sysportlet7
from
'@widgets/contact/by-account-portlet/by-account-portlet.vue'
;
import
view_dashboard_sysportlet4
from
'@widgets/account/contact-setting-portlet/contact-setting-portlet.vue'
;
import
view_dashboard_sysportlet5
from
'@widgets/account/distribution-portlet/distribution-portlet.vue'
;
import
view_dashboard_sysportlet2
from
'@widgets/account/address-portlet/address-portlet.vue'
;
import
view_dashboard_sysportlet3
from
'@widgets/account/introduction-portlet/introduction-portlet.vue'
;
import
view_dashboard_sysportlet1
from
'@widgets/account/account-portlet/account-portlet.vue'
;
@
Component
({
@
Component
({
components
:
{
components
:
{
view_dashboard_sysportlet6
,
view_dashboard_sysportlet7
,
view_dashboard_sysportlet4
,
view_dashboard_sysportlet5
,
view_dashboard_sysportlet2
,
view_dashboard_sysportlet3
,
view_dashboard_sysportlet1
,
}
}
})
})
...
...
app_BusinessCentral/src/widgets/account/summarydashboard-container1-portlet/summarydashboard-container1-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/account/summarydashboard-container2-portlet/summarydashboard-container2-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/contact/by-account-list/by-account-list-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
:class=
"['app-list', this.items.length > 0 ? '' : 'app-list-empty' ]"
>
<div
v-if=
"items.length > 0"
style=
"height:100%;"
>
<div
v-for =
"item in items"
:key=
"item.srfmajortext"
:class=
"['app-list-item',
{'isSelect': item.isselected === true ? true : false}]" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<layout
_dashboard_sysportlet7_list_itempanel
name=
'dashboard_sysportlet7_list_itempanel'
:inputData=
"item"
:parentRef=
"thisRef"
></layout
_dashboard_sysportlet7_list_itempanel
>
</div>
</div>
<div
v-else
>
暂无数据
</div>
</div>
</
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
ByAccountService
from
'./by-account-list-service'
;
@
Component
({
components
:
{
}
})
export
default
class
ByAccountBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByAccount
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByAccount
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByAccount
*/
public
getControlType
():
string
{
return
'LIST'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByAccount
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {ByAccountService}
* @memberof ByAccount
*/
public
service
:
ByAccountService
=
new
ByAccountService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ByAccount
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof ByAccount
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof ByAccount
*/
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
();
}
})
}
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ByAccount
*/
public
getDatas
():
any
[]
{
return
this
.
selections
;
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ByAccount
*/
public
getData
():
any
{
return
null
;
}
/**
* 是否默认选中第一条数据
*
* @type {boolean}
* @memberof ByAccount
*/
@
Prop
({
default
:
false
})
public
isSelectFirstDefault
!
:
boolean
;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof ByAccount
*/
@
Prop
({
default
:
true
})
public
showBusyIndicator
?:
boolean
;
/**
* 部件行为--create
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
createAction
!
:
string
;
/**
* 部件行为--remove
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
removeAction
!
:
string
;
/**
* 部件行为--update
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
updateAction
!
:
string
;
/**
* 部件行为--fetch
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
fetchAction
!
:
string
;
/**
* this引用
*
* @type {number}
* @memberof Main
*/
public
thisRef
:
any
=
this
;
/**
* 当前页
*
* @type {number}
* @memberof Main
*/
public
curPage
:
number
=
1
;
/**
* 数据
*
* @type {any[]}
* @memberof ByAccount
*/
public
items
:
any
[]
=
[];
/**
* 是否支持分页
*
* @type {boolean}
* @memberof ByAccount
*/
public
isEnablePagingBar
:
boolean
=
true
;
/**
* 分页条数
*
* @type {number}
* @memberof ByAccount
*/
public
limit
:
number
=
1000
;
/**
* 总条数
*
* @type {number}
* @memberof ByAccount
*/
public
totalRecord
:
number
=
0
;
/**
* 加载的数据是否附加在items之后
*
* @type {boolean}
* @memberof ByAccount
*/
public
isAddBehind
:
boolean
=
false
;
/**
* 排序方向
*
* @type {string}
* @memberof ByAccount
*/
public
sortDir
:
string
=
''
;
/**
* 排序字段
*
* @type {string}
* @memberof ByAccount
*/
public
sortField
:
string
=
''
;
/**
* 选中数组
* @type {Array<any>}
* @memberof ByAccount
*/
public
selections
:
Array
<
any
>
=
[];
/**
* Vue声明周期,组件挂载完毕
*
* @memberof ByAccount
*/
public
mounted
()
{
this
.
afterMounted
();
}
/**
* 执行mounted后的逻辑
*
* @memberof ByAccount
*/
public
afterMounted
()
{
this
.
$el
.
addEventListener
(
'scroll'
,
()
=>
{
if
(
this
.
$el
.
scrollTop
+
this
.
$el
.
clientHeight
>=
this
.
$el
.
scrollHeight
)
{
this
.
loadMore
();
}
})
}
/**
* Vue声明周期,组件创建完毕
*
* @memberof ByAccount
*/
public
created
()
{
this
.
afterCreated
()
}
/**
* 执行created后的逻辑
*
* @memberof ByAccount
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
this
.
name
,
tag
))
{
return
;
}
if
(
Object
.
is
(
action
,
'load'
))
{
this
.
refresh
(
data
)
}
});
}
}
/**
* vue 生命周期
*
* @memberof ByAccount
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ByAccount
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
/**
* 加载更多
*
* @memberof Mob
*/
public
loadMore
(){
if
(
this
.
totalRecord
>
this
.
items
.
length
)
{
this
.
curPage
=
++
this
.
curPage
;
this
.
isAddBehind
=
true
;
this
.
load
({});
}
}
/**
* 刷新
*
* @param {*} [opt={}]
* @memberof Main
*/
public
refresh
(
opt
:
any
=
{})
{
this
.
curPage
=
1
;
this
.
items
=
[];
this
.
load
(
opt
);
}
/**
* 列表数据加载
*
* @public
* @param {*} [arg={}]
* @memberof ByAccount
*/
public
load
(
opt
:
any
=
{}):
void
{
if
(
!
this
.
fetchAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'AccountSummary视图列表fetchAction参数未配置'
});
return
;
}
const
arg
:
any
=
{...
opt
};
const
page
:
any
=
{};
if
(
this
.
isEnablePagingBar
)
{
Object
.
assign
(
page
,
{
page
:
this
.
curPage
-
1
,
size
:
this
.
limit
});
}
// 设置排序
if
(
!
Object
.
is
(
this
.
sortDir
,
''
)
&&
!
Object
.
is
(
this
.
sortField
,
''
))
{
const
sort
:
string
=
this
.
sortField
+
","
+
this
.
sortDir
;
Object
.
assign
(
page
,
{
sort
:
sort
});
}
Object
.
assign
(
arg
,
page
);
const
parentdata
:
any
=
{};
this
.
$emit
(
'beforeload'
,
parentdata
);
Object
.
assign
(
arg
,
parentdata
);
let
tempViewParams
:
any
=
parentdata
.
viewparams
?
parentdata
.
viewparams
:{};
if
(
this
.
viewparams
){
Object
.
assign
(
tempViewParams
,
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
)));
}
Object
.
assign
(
arg
,{
viewparams
:
tempViewParams
});
const
post
:
Promise
<
any
>
=
this
.
service
.
search
(
this
.
fetchAction
,
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
)):{},
arg
,
this
.
showBusyIndicator
);
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
if
(
response
.
errorMessage
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
errorMessage
});
}
return
;
}
const
data
:
any
=
response
.
data
;
if
(
!
this
.
isAddBehind
){
this
.
items
=
[];
}
if
(
Object
.
keys
(
data
).
length
>
0
)
{
let
datas
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
datas
.
map
((
item
:
any
)
=>
{
Object
.
assign
(
item
,
{
isselected
:
false
});
});
this
.
totalRecord
=
response
.
total
;
this
.
items
.
push
(...
datas
);
}
this
.
isAddBehind
=
false
;
this
.
$emit
(
'load'
,
this
.
items
);
if
(
this
.
isSelectFirstDefault
){
this
.
handleClick
(
this
.
items
[
0
]);
}
},
(
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
response
.
errorMessage
});
});
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof ByAccount
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
!
this
.
removeAction
){
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'AccountSummary视图表格removeAction参数未配置'
});
return
;
}
if
(
datas
.
length
===
0
)
{
return
;
}
let
dataInfo
=
''
;
datas
.
forEach
((
record
:
any
,
index
:
number
)
=>
{
let
srfmajortext
=
record
.
srfmajortext
;
if
(
index
<
5
)
{
if
(
!
Object
.
is
(
dataInfo
,
''
))
{
dataInfo
+=
'、'
;
}
dataInfo
+=
srfmajortext
;
}
else
{
return
false
;
}
});
if
(
datas
.
length
<
5
)
{
dataInfo
=
dataInfo
+
' 共'
+
datas
.
length
+
'条数据'
;
}
else
{
dataInfo
=
dataInfo
+
'...'
+
' 共'
+
datas
.
length
+
'条数据'
;
}
const
removeData
=
()
=>
{
let
keys
:
any
[]
=
[];
datas
.
forEach
((
data
:
any
)
=>
{
keys
.
push
(
data
.
srfkey
);
});
let
_removeAction
=
keys
.
length
>
1
?
'removeBatch'
:
this
.
removeAction
;
const
context
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
));
const
post
:
Promise
<
any
>
=
this
.
service
.
delete
(
_removeAction
,
Object
.
assign
(
context
,{
contact
:
keys
.
join
(
';'
)
}),
Object
.
assign
({
contact
:
keys
.
join
(
';'
)
},{
viewparams
:
this
.
viewparams
}),
this
.
showBusyIndicator
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
post
.
then
((
response
:
any
)
=>
{
if
(
!
response
||
response
.
status
!==
200
)
{
this
.
$Notice
.
error
({
title
:
''
,
desc
:
'删除数据失败,'
+
response
.
info
});
return
;
}
else
{
this
.
$Notice
.
success
({
title
:
''
,
desc
:
'删除成功!'
});
}
//删除items中已删除的项
datas
.
forEach
((
data
:
any
)
=>
{
this
.
items
.
some
((
item
:
any
,
index
:
number
)
=>
{
if
(
Object
.
is
(
item
.
srfkey
,
data
.
srfkey
)){
this
.
items
.
splice
(
index
,
1
);
return
true
;
}
});
});
this
.
$emit
(
'remove'
,
null
);
this
.
selections
=
[];
resolve
(
response
);
}).
catch
((
response
:
any
)
=>
{
if
(
response
&&
response
.
status
===
401
)
{
return
;
}
if
(
!
response
||
!
response
.
status
||
!
response
.
data
)
{
this
.
$Notice
.
error
({
title
:
'错误'
,
desc
:
'系统异常'
});
reject
(
response
);
return
;
}
reject
(
response
);
});
});
}
dataInfo
=
dataInfo
.
replace
(
/
[
null
]
/g
,
''
).
replace
(
/
[
undefined
]
/g
,
''
).
replace
(
/
[
]
/g
,
''
);
this
.
$Modal
.
confirm
({
title
:
'警告'
,
content
:
'确认要删除 '
+
dataInfo
+
',删除操作将不可恢复?'
,
onOk
:
()
=>
{
removeData
();
},
onCancel
:
()
=>
{
}
});
return
removeData
;
}
/**
* 选择数据
* @memberof ByAccount
*
*/
public
handleClick
(
args
:
any
)
{
this
.
clearSelection
();
args
.
isselected
=
!
args
.
isselected
;
this
.
selectchange
();
}
/**
* 双击数据
* @memberof ByAccount
*
*/
public
handleDblClick
(
args
:
any
)
{
this
.
$emit
(
'rowdblclick'
,
args
);
}
/**
* 触发事件
* @memberof ByAccount
*
*/
public
selectchange
()
{
this
.
selections
=
[];
this
.
items
.
map
((
item
:
any
)
=>
{
if
(
item
.
isselected
)
{
this
.
selections
.
push
(
item
);
}
});
this
.
$emit
(
'selectionchange'
,
this
.
selections
);
}
/**
* 清除当前所有选中状态
*
* @memberof ByAccount
*/
public
clearSelection
(){
this
.
items
.
map
((
item
:
any
)
=>
{
Object
.
assign
(
item
,
{
isselected
:
false
});
});
}
}
</
script
>
<
style
lang=
'less'
>
@import './by-account-list.less';
</
style
>
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-list/by-account-list-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* ByAccount 部件模型
*
* @export
* @class ByAccountModel
*/
export
default
class
ByAccountModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByAccountDashboard_sysportlet7_listMode
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'telephone1'
,
},
{
name
:
'fullname'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'srfkey'
,
prop
:
'contactid'
,
dataType
:
'GUID'
,
},
{
name
:
'srfmajortext'
,
prop
:
'fullname'
,
dataType
:
'TEXT'
,
},
{
name
:
'defaultpricelevelid'
,
prop
:
'defaultpricelevelid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'preferredequipmentid'
,
prop
:
'preferredequipmentid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'transactioncurrencyid'
,
prop
:
'transactioncurrencyid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'slaid'
,
prop
:
'slaid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'originatingleadid'
,
prop
:
'originatingleadid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'preferredserviceid'
,
prop
:
'preferredserviceid'
,
dataType
:
'PICKUP'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
dataType
:
'FONTKEY'
,
},
{
name
:
'size'
,
prop
:
'size'
},
{
name
:
'query'
,
prop
:
'query'
},
{
name
:
'sort'
,
prop
:
'sort'
},
{
name
:
'page'
,
prop
:
'page'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name
:
'srffrontuf'
,
prop
:
'srffrontuf'
,
dataType
:
'TEXT'
,
},
]
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-list/by-account-list-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
,
Util
,
Errorlog
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
import
ContactService
from
'@/service/contact/contact-service'
;
import
ByAccountModel
from
'./by-account-list-model'
;
/**
* ByAccount 部件服务对象
*
* @export
* @class ByAccountService
*/
export
default
class
ByAccountService
extends
ControlService
{
/**
* 联系人服务对象
*
* @type {ContactService}
* @memberof ByAccountService
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
getStore
()
});
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof ByAccountService
*/
public
setTempMode
(){
this
.
isTempMode
=
false
;
}
/**
* Creates an instance of ByAccountService.
*
* @param {*} [opts={}]
* @memberof ByAccountService
*/
constructor
(
opts
:
any
=
{})
{
super
(
opts
);
this
.
model
=
new
ByAccountModel
();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ByAccountService
*/
@
Errorlog
public
search
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
FetchDefault
(
Context
,
Data
,
isloading
);
}
result
.
then
(
async
(
response
)
=>
{
await
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ByAccountService
*/
@
Errorlog
public
delete
(
action
:
string
,
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
const
{
data
:
Data
,
context
:
Context
}
=
this
.
handleRequestData
(
action
,
context
,
data
,
true
);
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
const
_appEntityService
:
any
=
this
.
appEntityService
;
let
result
:
Promise
<
any
>
;
if
(
_appEntityService
[
action
]
&&
_appEntityService
[
action
]
instanceof
Function
)
{
result
=
_appEntityService
[
action
](
Context
,
Data
,
isloading
);
}
else
{
result
=
_appEntityService
.
remove
(
Context
,
Data
,
isloading
);
}
result
.
then
((
response
)
=>
{
this
.
handleResponse
(
action
,
response
);
resolve
(
response
);
}).
catch
(
response
=>
{
reject
(
response
);
});
});
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-list/by-account-list.less
0 → 100644
浏览文件 @
de7d0fe8
.app-list {
--app-list: 0;
}
// this is less
app_BusinessCentral/src/widgets/contact/by-account-list/by-account-list.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
ByAccountBase
from
'./by-account-list-base.vue'
;
import
layout_dashboard_sysportlet7_list_itempanel
from
'@widgets/contact/by-account-panel/by-account-panel.vue'
;
@
Component
({
components
:
{
layout_dashboard_sysportlet7_list_itempanel
,
}
})
export
default
class
ByAccount
extends
ByAccountBase
{
}
</
script
>
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-panel/by-account-panel-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'panel-container'
style=
""
>
<row
class=
"app-layoutpanel"
style=
"height:100%;"
>
<div
v-show=
"detailsModel.container1.visible"
class=
"app-layoutpanel-container"
style=
""
>
<div
style=
"height:100%;display: flex;"
>
<div
v-show=
"detailsModel.fullname.visible"
style=
""
class=
"app-layoutpanel-field "
>
<div
class=
"item-field"
>
<div
class=
"item-field-content"
>
<span>
{{
data
.
fullname
}}
</span>
</div>
</div>
</div>
<div
v-show=
"detailsModel.emailaddress1.visible"
style=
""
class=
"app-layoutpanel-field "
>
<div
class=
"item-field"
>
<div
class=
"item-field-content"
>
<span>
{{
data
.
emailaddress1
}}
</span>
</div>
</div>
</div>
</div>
</div>
</row>
</div>
</
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
ByAccountService
from
'./by-account-panel-service'
;
import
{
FormItemModel
}
from
'@/model/form-detail'
;
import
ByAccountModel
from
'./by-account-panel-model'
;
import
CodeListService
from
"@service/app/codelist-service"
;
@
Component
({
components
:
{
}
})
export
default
class
ByAccountBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByAccount
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByAccount
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByAccount
*/
public
getControlType
():
string
{
return
'PANEL'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByAccount
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {ByAccountService}
* @memberof ByAccount
*/
public
service
:
ByAccountService
=
new
ByAccountService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ByAccount
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof ByAccount
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof ByAccount
*/
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
();
}
})
}
}
/**
* 面板数据
*
* @type {*}
* @memberof ByAccount
*/
public
panelData
:
any
;
/**
* 接口实现
*
* @returns {any[]}
* @memberof ByAccount
*/
getDatas
():
any
[]
{
if
(
!
this
.
panelData
)
{
return
[];
}
return
[
this
.
panelData
];
}
/**
* 接口实现
*
* @returns {*}
* @memberof ByAccount
*/
getData
()
{
return
this
.
data
;
}
/**
* 父级部件引用
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
parentRef
?:
any
;
/**
* 面板数据对象
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
inputData
?:
any
;
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof ByAccount
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 详情模型集合
*
* @type {*}
* @memberof ByAccount
*/
public
detailsModel
:
any
=
{
fullname
:
new
FormItemModel
({
visible
:
true
,
disabled
:
false
,
enableCond
:
3
}),
emailaddress1
:
new
FormItemModel
({
visible
:
true
,
disabled
:
false
,
enableCond
:
3
}),
container1
:
new
FormItemModel
({
visible
:
true
,
disabled
:
false
,
enableCond
:
3
}),
};
/**
* 面板逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof ByAccount
*/
public
panelLogic
({
name
,
newVal
,
oldVal
}:
{
name
:
string
,
newVal
:
any
,
oldVal
:
any
}):
void
{
}
/**
* 数据模型对象
*
* @type {ByAccountModel}
* @memberof ByAccount
*/
public
dataModel
:
ByAccountModel
=
new
ByAccountModel
();
/**
* UI数据对象
*
* @type {*}
* @memberof ByAccount
*/
public
data
:
any
=
{};
/**
* 计算UI展示数据
*
* @param codelistArray 代码表模型数组
* @memberof ByAccount
*/
public
async
computedUIData
(
newVal
:
any
){
let
codelistArray
:
Array
<
any
>
=
[];
if
((
this
.
dataModel
.
getDataItems
instanceof
Function
)
&&
this
.
dataModel
.
getDataItems
().
length
>
0
){
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
if
(
item
.
codelist
){
codelistArray
.
push
(
item
.
codelist
);
}
})
if
(
codelistArray
.
length
>
0
){
let
res
:
any
=
await
this
.
getAllCodeList
(
codelistArray
);
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
if
(
item
.
codelist
){
this
.
data
[
item
.
name
]
=
res
.
get
(
item
.
codelist
.
tag
).
get
(
newVal
[
item
.
prop
]);
}
else
{
this
.
data
[
item
.
name
]
=
newVal
[
item
.
prop
];
}
})
}
else
{
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
this
.
data
[
item
.
name
]
=
newVal
[
item
.
prop
];
})
}
}
}
/**
* 计算面板数据
*
* @param codelistArray 代码表模型数组
* @memberof Mob
*/
public
async
computePanelData
(){
let
codelistArray
:
Array
<
any
>
=
[];
let
panelData
:
any
=
{};
if
((
this
.
dataModel
.
getDataItems
instanceof
Function
)
&&
this
.
dataModel
.
getDataItems
().
length
>
0
){
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
if
(
item
.
codelist
){
codelistArray
.
push
(
item
.
codelist
);
}
})
if
(
codelistArray
.
length
>
0
){
let
res
:
any
=
await
this
.
getAllCodeList
(
codelistArray
,
true
);
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
if
(
item
.
codelist
){
panelData
[
item
.
prop
]
=
res
.
get
(
item
.
codelist
.
tag
).
get
(
this
.
data
[
item
.
name
]);
}
else
{
panelData
[
item
.
prop
]
=
this
.
data
[
item
.
name
];
}
})
}
else
{
this
.
dataModel
.
getDataItems
().
forEach
((
item
:
any
)
=>
{
panelData
[
item
.
prop
]
=
this
.
data
[
item
.
name
];
})
}
}
this
.
panelData
=
Object
.
assign
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
inputData
)),
panelData
);
}
/**
* 获取所有代码表
*
* @param codelistArray 代码表模型数组
* @memberof ByAccount
*/
public
getAllCodeList
(
codelistArray
:
Array
<
any
>
,
reverse
:
boolean
=
false
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
let
codeListMap
:
Map
<
string
,
any
>
=
new
Map
();
let
promiseArray
:
Array
<
any
>
=
[];
codelistArray
.
forEach
((
item
:
any
)
=>
{
if
(
!
codeListMap
.
get
(
item
.
tag
)){
promiseArray
.
push
(
this
.
getCodeList
(
item
));
Promise
.
all
(
promiseArray
).
then
((
result
:
any
)
=>
{
if
(
result
&&
result
.
length
>
0
){
result
.
forEach
((
codeList
:
any
)
=>
{
let
tempCodeListMap
:
Map
<
number
,
any
>
=
new
Map
();
if
(
codeList
.
length
>
0
){
codeList
.
forEach
((
codeListItem
:
any
)
=>
{
if
(
reverse
){
tempCodeListMap
.
set
(
codeListItem
.
text
,
codeListItem
.
value
);
}
else
{
tempCodeListMap
.
set
(
codeListItem
.
value
,
codeListItem
.
text
);
}
})
}
codeListMap
.
set
(
item
.
tag
,
tempCodeListMap
);
})
resolve
(
codeListMap
);
}
})
}
})
})
}
/**
* 获取代码表
*
* @param codeListObject 传入代码表对象
* @memberof ByAccount
*/
public
getCodeList
(
codeListObject
:
any
):
Promise
<
any
>
{
return
new
Promise
((
resolve
:
any
,
reject
:
any
)
=>
{
if
(
codeListObject
.
tag
&&
Object
.
is
(
codeListObject
.
codelistType
,
"STATIC"
)){
const
codelist
=
this
.
$store
.
getters
.
getCodeList
(
codeListObject
.
tag
);
if
(
codelist
)
{
resolve
([...
JSON
.
parse
(
JSON
.
stringify
(
codelist
.
items
))]);
}
else
{
resolve
([]);
console
.
log
(
`----
${
codeListObject
.
tag
}
----代码表不存在`
);
}
}
else
if
(
codeListObject
.
tag
&&
Object
.
is
(
codeListObject
.
codelistType
,
"DYNAMIC"
)){
this
.
codeListService
.
getItems
(
codeListObject
.
tag
).
then
((
res
:
any
)
=>
{
resolve
(
res
);
}).
catch
((
error
:
any
)
=>
{
resolve
([]);
console
.
log
(
`----
${
codeListObject
.
tag
}
----代码表不存在`
);
});
}
})
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof ByAccount
*/
public
async
uiAction
(
row
:
any
,
tag
:
any
,
$event
:
any
)
{
await
this
.
computePanelData
();
}
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof ByAccount
*/
public
opendata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
){
if
(
this
.
parentRef
.
opendata
&&
this
.
parentRef
.
opendata
instanceof
Function
)
{
this
.
parentRef
.
opendata
(
args
,
fullargs
,
params
,
$event
,
xData
);
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof ByAccount
*/
public
newdata
(
args
:
any
[],
fullargs
?:
any
[],
params
?:
any
,
$event
?:
any
,
xData
?:
any
)
{
if
(
this
.
parentRef
.
newdata
&&
this
.
parentRef
.
newdata
instanceof
Function
)
{
this
.
parentRef
.
newdata
(
args
,
fullargs
,
params
,
$event
,
xData
);
}
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof ByAccount
*/
public
async
remove
(
datas
:
any
[]):
Promise
<
any
>
{
if
(
this
.
parentRef
.
remove
&&
this
.
parentRef
.
remove
instanceof
Function
)
{
return
this
.
parentRef
.
remove
(
datas
);
}
}
/**
* 刷新
*
* @param {*} [opt={}]
* @memberof Main
*/
public
refresh
(
opt
:
any
=
{})
{
if
(
this
.
parentRef
.
refresh
&&
this
.
parentRef
.
refresh
instanceof
Function
)
{
this
.
parentRef
.
refresh
(
opt
);
}
}
/**
* 设置面板编辑项值变更
*
* @param data 面板数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof ByAccount
*/
public
onPanelItemValueChange
(
data
:
any
,
$event
:
{
name
:
string
,
value
:
any
}):
void
{
if
(
!
$event
)
{
return
;
}
if
(
!
$event
.
name
||
Object
.
is
(
$event
.
name
,
''
)
||
!
data
.
hasOwnProperty
(
$event
.
name
))
{
return
;
}
data
[
$event
.
name
]
=
$event
.
value
;
this
.
panelEditItemChange
(
data
,
$event
.
name
,
$event
.
value
);
}
/**
* 面板编辑项值变化
*
* @public
* @param data 面板数据
* @param property 编辑项名
* @param value 编辑项值
* @returns {void}
* @memberof ByAccount
*/
public
panelEditItemChange
(
data
:
any
,
property
:
string
,
value
:
any
){
}
}
</
script
>
<
style
lang=
'less'
>
@import './by-account-panel.less';
</
style
>
app_BusinessCentral/src/widgets/contact/by-account-panel/by-account-panel-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* ByAccount 部件模型
*
* @export
* @class ByAccountModel
*/
export
default
class
ByAccountModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByAccountModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'fullname'
,
prop
:
'fullname'
},
{
name
:
'emailaddress1'
,
prop
:
'emailaddress1'
}
]
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-panel/by-account-panel-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* ByAccount 部件服务对象
*
* @export
* @class ByAccountService
*/
export
default
class
ByAccountService
extends
ControlService
{
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-panel/by-account-panel.less
0 → 100644
浏览文件 @
de7d0fe8
// this is less
.app-layoutpanel {
height: 100%;
> .app-layoutpanel-container {
height: 100%;
}
.item-field{
padding: 0 4px;
display: flex;
>.item-field-label{
padding: 0 8px;
}
}
}
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-panel/by-account-panel.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
ByAccountBase
from
'./by-account-panel-base.vue'
;
@
Component
({
components
:
{
}
})
export
default
class
ByAccount
extends
ByAccountBase
{
}
</
script
>
\ No newline at end of file
app_BusinessCentral/src/widgets/contact/by-account-portlet/by-account-portlet-base.vue
0 → 100644
浏览文件 @
de7d0fe8
<
template
>
<div
class=
'portlet by-account '
:style=
"
{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<div
class=
"portlet-without-title"
>
<!-- 测试 -->
<view
_dashboard_sysportlet7_list
:viewState=
"viewState"
:viewparams=
"viewparams"
:context=
"context"
createAction=
"Create"
removeAction=
"Remove"
updateAction=
"Update"
fetchAction=
"FetchDefault"
:showBusyIndicator=
"true"
name=
"dashboard_sysportlet7_list"
ref=
'dashboard_sysportlet7_list'
@
closeview=
"closeView($event)"
>
</view
_dashboard_sysportlet7_list
>
</div>
</div>
</
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
ByAccountService
from
'./by-account-portlet-service'
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({
components
:
{
}
})
export
default
class
ContactByAccountBase
extends
Vue
implements
ControlInterface
{
/**
* 名称
*
* @type {string}
* @memberof ByAccount
*/
@
Prop
()
public
name
?:
string
;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByAccount
*/
@
Prop
()
public
viewState
!
:
Subject
<
ViewState
>
;
/**
* 应用上下文
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
context
:
any
;
/**
* 视图参数
*
* @type {*}
* @memberof ByAccount
*/
@
Prop
()
public
viewparams
:
any
;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByAccount
*/
public
viewStateEvent
:
Subscription
|
undefined
;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByAccount
*/
public
getControlType
():
string
{
return
'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByAccount
*/
public
counterServiceArray
:
Array
<
any
>
=
[];
/**
* 建构部件服务对象
*
* @type {ByAccountService}
* @memberof ByAccount
*/
public
service
:
ByAccountService
=
new
ByAccountService
({
$store
:
this
.
$store
});
/**
* 实体服务对象
*
* @type {ContactService}
* @memberof ByAccount
*/
public
appEntityService
:
ContactService
=
new
ContactService
({
$store
:
this
.
$store
});
/**
* 关闭视图
*
* @param {any} args
* @memberof ByAccount
*/
public
closeView
(
args
:
any
):
void
{
let
_this
:
any
=
this
;
_this
.
$emit
(
'closeview'
,
[
args
]);
}
/**
* 计数器刷新
*
* @memberof ByAccount
*/
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
();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof ByAccount
*/
@
Prop
()
public
height
?:
number
;
/**
* 宽度
*
* @type {number}
* @memberof ByAccount
*/
@
Prop
()
public
width
?:
number
;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof ByAccountBase
*/
@
Prop
({
default
:
false
})
public
isAdaptiveSize
!
:
boolean
;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ByAccountBase
*/
public
getDatas
():
any
[]
{
return
[];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ByAccountBase
*/
public
getData
():
any
{
return
{};
}
/**
* vue 生命周期
*
* @memberof ByAccountBase
*/
public
created
()
{
this
.
afterCreated
();
}
/**
* 执行created后的逻辑
*
* @memberof ByAccountBase
*/
public
afterCreated
(){
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
return
;
}
const
refs
:
any
=
this
.
$refs
;
Object
.
keys
(
refs
).
forEach
((
_name
:
string
)
=>
{
this
.
viewState
.
next
({
tag
:
_name
,
action
:
action
,
data
:
data
});
});
});
}
}
/**
* vue 生命周期
*
* @memberof ByAccountBase
*/
public
destroyed
()
{
this
.
afterDestroy
();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ByAccountBase
*/
public
afterDestroy
()
{
if
(
this
.
viewStateEvent
)
{
this
.
viewStateEvent
.
unsubscribe
();
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './by-account-portlet.less';
</
style
>
app_BusinessCentral/src/widgets/contact/by-account-portlet/by-account-portlet-model.ts
0 → 100644
浏览文件 @
de7d0fe8
/**
* ByAccount 部件模型
*
* @export
* @class ByAccountModel
*/
export
default
class
ByAccountModel
{
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByAccountModel
*/
public
getDataItems
():
any
[]
{
return
[
{
name
:
'address1_freighttermscode'
,
},
{
name
:
'address3_city'
,
},
{
name
:
'department'
,
},
{
name
:
'parentcustomeridtype'
,
},
{
name
:
'address1_stateorprovince'
,
},
{
name
:
'aging90_base'
,
},
{
name
:
'accountidyominame'
,
},
{
name
:
'donotbulkpostalmail'
,
},
{
name
:
'managername'
,
},
{
name
:
'donotpostalmail'
,
},
{
name
:
'spousesname'
,
},
{
name
:
'familystatuscode'
,
},
{
name
:
'owneridtype'
,
},
{
name
:
'address3_composite'
,
},
{
name
:
'address3_shippingmethodcode'
,
},
{
name
:
'lastname'
,
},
{
name
:
'lastonholdtime'
,
},
{
name
:
'educationcode'
,
},
{
name
:
'address2_line1'
,
},
{
name
:
'birthdate'
,
},
{
name
:
'owneridyominame'
,
},
{
name
:
'haschildrencode'
,
},
{
name
:
'company'
,
},
{
name
:
'address2_fax'
,
},
{
name
:
'assistantphone'
,
},
{
name
:
'callback'
,
},
{
name
:
'paymenttermscode'
,
},
{
name
:
'address2_telephone1'
,
},
{
name
:
'marketingonly'
,
},
{
name
:
'address2_utcoffset'
,
},
{
name
:
'address2_shippingmethodcode'
,
},
{
name
:
'traversedpath'
,
},
{
name
:
'employeeid'
,
},
{
name
:
'creditlimit_base'
,
},
{
name
:
'followemail'
,
},
{
name
:
'address3_postalcode'
,
},
{
name
:
'merged'
,
},
{
name
:
'jobtitle'
,
},
{
name
:
'address1_telephone1'
,
},
{
name
:
'customersizecode'
,
},
{
name
:
'address3_addresstypecode'
,
},
{
name
:
'pager'
,
},
{
name
:
'assistantname'
,
},
{
name
:
'address1_composite'
,
},
{
name
:
'address1_line1'
,
},
{
name
:
'yomimiddlename'
,
},
{
name
:
'address1_telephone3'
,
},
{
name
:
'telephone2'
,
},
{
name
:
'address2_addressid'
,
},
{
name
:
'parentcontactidyominame'
,
},
{
name
:
'leadsourcecode'
,
},
{
name
:
'statecode'
,
},
{
name
:
'address2_freighttermscode'
,
},
{
name
:
'emailaddress1'
,
},
{
name
:
'entityimage_timestamp'
,
},
{
name
:
'address3_line1'
,
},
{
name
:
'salutation'
,
},
{
name
:
'address1_line3'
,
},
{
name
:
'address3_primarycontactname'
,
},
{
name
:
'ibizprivate'
,
},
{
name
:
'donotfax'
,
},
{
name
:
'createdate'
,
},
{
name
:
'preferredsystemuseridyominame'
,
},
{
name
:
'updatedate'
,
},
{
name
:
'address3_stateorprovince'
,
},
{
name
:
'address3_line3'
,
},
{
name
:
'creditlimit'
,
},
{
name
:
'timezoneruleversionnumber'
,
},
{
name
:
'parentcustomerid'
,
},
{
name
:
'childrensnames'
,
},
{
name
:
'address1_addresstypecode'
,
},
{
name
:
'accountrolecode'
,
},
{
name
:
'donotphone'
,
},
{
name
:
'managerphone'
,
},
{
name
:
'creditonhold'
,
},
{
name
:
'updateman'
,
},
{
name
:
'address2_postalcode'
,
},
{
name
:
'address1_line2'
,
},
{
name
:
'nickname'
,
},
{
name
:
'versionnumber'
,
},
{
name
:
'yomifullname'
,
},
{
name
:
'entityimage'
,
},
{
name
:
'shippingmethodcode'
,
},
{
name
:
'customertypecode'
,
},
{
name
:
'address2_county'
,
},
{
name
:
'aging90'
,
},
{
name
:
'address2_stateorprovince'
,
},
{
name
:
'address3_utcoffset'
,
},
{
name
:
'fullname'
,
},
{
name
:
'participatesinworkflow'
,
},
{
name
:
'websiteurl'
,
},
{
name
:
'description'
,
},
{
name
:
'address3_telephone1'
,
},
{
name
:
'address2_upszone'
,
},
{
name
:
'address3_county'
,
},
{
name
:
'entityimage_url'
,
},
{
name
:
'address3_upszone'
,
},
{
name
:
'address1_name'
,
},
{
name
:
'mastercontactidyominame'
,
},
{
name
:
'autocreate'
,
},
{
name
:
'backofficecustomer'
,
},
{
name
:
'address2_longitude'
,
},
{
name
:
'address1_fax'
,
},
{
name
:
'exchangerate'
,
},
{
name
:
'address1_city'
,
},
{
name
:
'entityimageid'
,
},
{
name
:
'address1_telephone2'
,
},
{
name
:
'address2_composite'
,
},
{
name
:
'importsequencenumber'
,
},
{
name
:
'gendercode'
,
},
{
name
:
'annualincome'
,
},
{
name
:
'subscriptionid'
,
},
{
name
:
'territorycode'
,
},
{
name
:
'firstname'
,
},
{
name
:
'overriddencreatedon'
,
},
{
name
:
'address3_country'
,
},
{
name
:
'yomilastname'
,
},
{
name
:
'donotbulkemail'
,
},
{
name
:
'address3_telephone2'
,
},
{
name
:
'ownerid'
,
},
{
name
:
'externaluseridentifier'
,
},
{
name
:
'teamsfollowed'
,
},
{
name
:
'donotemail'
,
},
{
name
:
'anniversary'
,
},
{
name
:
'preferredappointmentdaycode'
,
},
{
name
:
'middlename'
,
},
{
name
:
'emailaddress3'
,
},
{
name
:
'address2_telephone2'
,
},
{
name
:
'fax'
,
},
{
name
:
'mobilephone'
,
},
{
name
:
'home2'
,
},
{
name
:
'createman'
,
},
{
name
:
'onholdtime'
,
},
{
name
:
'preferredappointmenttimecode'
,
},
{
name
:
'statuscode'
,
},
{
name
:
'governmentid'
,
},
{
name
:
'address3_telephone3'
,
},
{
name
:
'business2'
,
},
{
name
:
'preferredsystemuserid'
,
},
{
name
:
'address1_upszone'
,
},
{
name
:
'aging60'
,
},
{
name
:
'yomifirstname'
,
},
{
name
:
'address3_postofficebox'
,
},
{
name
:
'address2_city'
,
},
{
name
:
'processid'
,
},
{
name
:
'annualincome_base'
,
},
{
name
:
'address3_addressid'
,
},
{
name
:
'parentcustomeridyominame'
,
},
{
name
:
'contact'
,
prop
:
'contactid'
,
},
{
name
:
'aging60_base'
,
},
{
name
:
'address3_latitude'
,
},
{
name
:
'telephone3'
,
},
{
name
:
'address1_primarycontactname'
,
},
{
name
:
'address3_fax'
,
},
{
name
:
'preferredcontactmethodcode'
,
},
{
name
:
'address1_utcoffset'
,
},
{
name
:
'donotsendmm'
,
},
{
name
:
'address2_telephone3'
,
},
{
name
:
'address2_country'
,
},
{
name
:
'aging30'
,
},
{
name
:
'address2_postofficebox'
,
},
{
name
:
'telephone1'
,
},
{
name
:
'address3_longitude'
,
},
{
name
:
'lastusedincampaign'
,
},
{
name
:
'ftpsiteurl'
,
},
{
name
:
'aging30_base'
,
},
{
name
:
'address2_name'
,
},
{
name
:
'suffix'
,
},
{
name
:
'address1_county'
,
},
{
name
:
'address2_addresstypecode'
,
},
{
name
:
'address1_longitude'
,
},
{
name
:
'address3_line2'
,
},
{
name
:
'address1_addressid'
,
},
{
name
:
'address2_line3'
,
},
{
name
:
'address2_latitude'
,
},
{
name
:
'address2_line2'
,
},
{
name
:
'address1_shippingmethodcode'
,
},
{
name
:
'address3_freighttermscode'
,
},
{
name
:
'address1_postofficebox'
,
},
{
name
:
'utcconversiontimezonecode'
,
},
{
name
:
'address3_name'
,
},
{
name
:
'address1_latitude'
,
},
{
name
:
'numberofchildren'
,
},
{
name
:
'address2_primarycontactname'
,
},
{
name
:
'address1_postalcode'
,
},
{
name
:
'stageid'
,
},
{
name
:
'address1_country'
,
},
{
name
:
'emailaddress2'
,
},
{
name
:
'slaname'
,
},
{
name
:
'defaultpricelevelid'
,
},
{
name
:
'preferredequipmentid'
,
},
{
name
:
'transactioncurrencyid'
,
},
{
name
:
'slaid'
,
},
{
name
:
'originatingleadid'
,
},
{
name
:
'preferredserviceid'
,
},
{
name
:
'defaultpricelevelname'
,
},
{
name
:
'originatingleadname'
,
},
{
name
:
'transactioncurrencyname'
,
},
{
name
:
'preferredservicename'
,
},
{
name
:
'preferredequipmentname'
,
},
]
}
}
app_BusinessCentral/src/widgets/contact/by-account-portlet/by-account-portlet-service.ts
0 → 100644
浏览文件 @
de7d0fe8
import
{
Http
}
from
'@/utils'
;
import
ControlService
from
'@/widgets/control-service'
;
/**
* ByAccount 部件服务对象
*
* @export
* @class ByAccountService
*/
export
default
class
ByAccountService
extends
ControlService
{
}
app_BusinessCentral/src/widgets/contact/by-account-portlet/by-account-portlet.less
0 → 100644
浏览文件 @
de7d0fe8
.portlet {
--portlet: 0px;
}
// this is less
app_BusinessCentral/src/widgets/contact/by-account-portlet/by-account-portlet.vue
0 → 100644
浏览文件 @
de7d0fe8
<
script
lang=
'tsx'
>
import
{
Component
}
from
'vue-property-decorator'
;
import
ContactByAccountBase
from
'./by-account-portlet-base.vue'
;
import
view_dashboard_sysportlet7_list
from
'@widgets/contact/by-account-list/by-account-list.vue'
;
@
Component
({
components
:
{
view_dashboard_sysportlet7_list
,
}
})
export
default
class
ContactByAccount
extends
ContactByAccountBase
{
}
</
script
>
businesscentral-app/businesscentral-app-businesscentral/src/main/resources/application-businesscentral-prod.yml
浏览文件 @
de7d0fe8
...
@@ -3,6 +3,10 @@ server:
...
@@ -3,6 +3,10 @@ server:
#zuul网关路由设置
#zuul网关路由设置
zuul
:
zuul
:
routes
:
routes
:
pricelevel
:
path
:
/pricelevels/**
serviceId
:
ibizbusinesscentral-centralapi
stripPrefix
:
false
opportunity
:
opportunity
:
path
:
/opportunities/**
path
:
/opportunities/**
serviceId
:
ibizbusinesscentral-centralapi
serviceId
:
ibizbusinesscentral-centralapi
...
...
businesscentral-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
de7d0fe8
...
@@ -3152,7 +3152,7 @@
...
@@ -3152,7 +3152,7 @@
<!--输出实体[CONTACT]数据结构 -->
<!--输出实体[CONTACT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-contact-
18
-42"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-contact-
24
-42"
>
<createTable
tableName=
"CONTACT"
>
<createTable
tableName=
"CONTACT"
>
<column
name=
"ADDRESS1_FREIGHTTERMSCODE"
remarks=
""
type=
"VARCHAR(30)"
>
<column
name=
"ADDRESS1_FREIGHTTERMSCODE"
remarks=
""
type=
"VARCHAR(30)"
>
</column>
</column>
...
@@ -3624,7 +3624,7 @@
...
@@ -3624,7 +3624,7 @@
<!--输出实体[PRICELEVEL]数据结构 -->
<!--输出实体[PRICELEVEL]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-pricelevel-
1
-44"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-pricelevel-
4
-44"
>
<createTable
tableName=
"PRICELEVEL"
>
<createTable
tableName=
"PRICELEVEL"
>
<column
name=
"CREATEMAN"
remarks=
""
type=
"VARCHAR(60)"
>
<column
name=
"CREATEMAN"
remarks=
""
type=
"VARCHAR(60)"
>
</column>
</column>
...
@@ -4480,7 +4480,7 @@
...
@@ -4480,7 +4480,7 @@
<!--输出实体[ACCOUNT]数据结构 -->
<!--输出实体[ACCOUNT]数据结构 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-
49
-53"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"tab-account-
70
-53"
>
<createTable
tableName=
"ACCOUNT"
>
<createTable
tableName=
"ACCOUNT"
>
<column
name=
"ADDRESS1_PRIMARYCONTACTNAME"
remarks=
""
type=
"VARCHAR(100)"
>
<column
name=
"ADDRESS1_PRIMARYCONTACTNAME"
remarks=
""
type=
"VARCHAR(100)"
>
</column>
</column>
...
@@ -10973,22 +10973,22 @@
...
@@ -10973,22 +10973,22 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"MONTHLYFISCALCALENDAR"
constraintName=
"DER1N_MONTHLYFISCALCALENDAR__T"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"MONTHLYFISCALCALENDAR"
constraintName=
"DER1N_MONTHLYFISCALCALENDAR__T"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[CONTACT]外键关系 -->
<!--输出实体[CONTACT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-206"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-206"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-207"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-207"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-208"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-208"
>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-209"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-209"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-210"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-210"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
18
-211"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-contact-
24
-211"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"CONTACT"
constraintName=
"DER1N_CONTACT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[TEAM]外键关系 -->
<!--输出实体[TEAM]外键关系 -->
...
@@ -11005,7 +11005,7 @@
...
@@ -11005,7 +11005,7 @@
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"TEAM"
constraintName=
"DER1N_TEAM__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"TEAM"
constraintName=
"DER1N_TEAM__TRANSACTIONCURRENC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[PRICELEVEL]外键关系 -->
<!--输出实体[PRICELEVEL]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-pricelevel-
1
-216"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-pricelevel-
4
-216"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"PRICELEVEL"
constraintName=
"DER1N_PRICELEVEL__TRANSACTIONC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"PRICELEVEL"
constraintName=
"DER1N_PRICELEVEL__TRANSACTIONC"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[QUOTE]外键关系 -->
<!--输出实体[QUOTE]外键关系 -->
...
@@ -11074,31 +11074,31 @@
...
@@ -11074,31 +11074,31 @@
<addForeignKeyConstraint
baseColumnNames=
"METRICID"
baseTableName=
"GOAL"
constraintName=
"DER1N_GOAL__METRIC__METRICID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"METRICID"
referencedTableName=
"METRIC"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"METRICID"
baseTableName=
"GOAL"
constraintName=
"DER1N_GOAL__METRIC__METRICID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"METRICID"
referencedTableName=
"METRIC"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[ACCOUNT]外键关系 -->
<!--输出实体[ACCOUNT]外键关系 -->
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-246"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-246"
>
<addForeignKeyConstraint
baseColumnNames=
"PARENTACCOUNTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__ACCOUNT__PARENT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACCOUNTID"
referencedTableName=
"ACCOUNT"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PARENTACCOUNTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__ACCOUNT__PARENT"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"ACCOUNTID"
referencedTableName=
"ACCOUNT"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-247"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-247"
>
<addForeignKeyConstraint
baseColumnNames=
"PRIMARYCONTACTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__CONTACT__PRIMAR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PRIMARYCONTACTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__CONTACT__PRIMAR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"CONTACTID"
referencedTableName=
"CONTACT"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-248"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-248"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDEQUIPMENTID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__EQUIPMENT__PREF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"EQUIPMENTID"
referencedTableName=
"EQUIPMENT"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-249"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-249"
>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"ORIGINATINGLEADID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__LEAD__ORIGINATI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"LEADID"
referencedTableName=
"LEAD"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-250"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-250"
>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"DEFAULTPRICELEVELID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__PRICELEVEL__DEF"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"PRICELEVELID"
referencedTableName=
"PRICELEVEL"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-251"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-251"
>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"PREFERREDSERVICEID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SERVICE__PREFER"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SERVICEID"
referencedTableName=
"SERVICE"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-252"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-252"
>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"SLAID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__SLA__SLAID"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SLAID"
referencedTableName=
"SLA"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-253"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-253"
>
<addForeignKeyConstraint
baseColumnNames=
"TERRITORYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TERRITORY__TERR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TERRITORYID"
referencedTableName=
"TERRITORY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TERRITORYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TERRITORY__TERR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TERRITORYID"
referencedTableName=
"TERRITORY"
validate=
"true"
/>
</changeSet>
</changeSet>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
49
-254"
>
<changeSet
author=
"a_LAB01_e85d8801c"
id=
"fk-account-
70
-254"
>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
<addForeignKeyConstraint
baseColumnNames=
"TRANSACTIONCURRENCYID"
baseTableName=
"ACCOUNT"
constraintName=
"DER1N_ACCOUNT__TRANSACTIONCURR"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"TRANSACTIONCURRENCYID"
referencedTableName=
"TRANSACTIONCURRENCY"
validate=
"true"
/>
</changeSet>
</changeSet>
<!--输出实体[KNOWLEDGEARTICLEVIEWS]外键关系 -->
<!--输出实体[KNOWLEDGEARTICLEVIEWS]外键关系 -->
...
...
businesscentral-core/src/main/resources/permission/systemResource.json
浏览文件 @
de7d0fe8
...
@@ -4,6 +4,14 @@
...
@@ -4,6 +4,14 @@
],
],
"entities"
:[
"entities"
:[
{
{
"dename"
:
"PriceLevel"
,
"delogicname"
:
"价目表"
,
"sysmoudle"
:{
"id"
:
"PRODUCT"
,
"name"
:
"Product"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
},
{
"id"
:
"createman"
,
"name"
:
"创建人"
}]
}
,
{
"dename"
:
"Opportunity"
,
"dename"
:
"Opportunity"
,
"delogicname"
:
"商机"
,
"delogicname"
:
"商机"
,
"sysmoudle"
:{
"id"
:
"SALES"
,
"name"
:
"Sales"
},
"sysmoudle"
:{
"id"
:
"SALES"
,
"name"
:
"Sales"
},
...
...
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/dto/PriceLevelDTO.java
0 → 100644
浏览文件 @
de7d0fe8
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
dto
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.math.BigInteger
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
cn.ibizlab.businesscentral.util.domain.DTOBase
;
import
lombok.Data
;
/**
* 服务DTO对象[PriceLevelDTO]
*/
@Data
public
class
PriceLevelDTO
extends
DTOBase
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 属性 [CREATEMAN]
*
*/
@JSONField
(
name
=
"createman"
)
@JsonProperty
(
"createman"
)
private
String
createman
;
/**
* 属性 [UPDATEMAN]
*
*/
@JSONField
(
name
=
"updateman"
)
@JsonProperty
(
"updateman"
)
private
String
updateman
;
/**
* 属性 [DESCRIPTION]
*
*/
@JSONField
(
name
=
"description"
)
@JsonProperty
(
"description"
)
private
String
description
;
/**
* 属性 [STATECODE]
*
*/
@JSONField
(
name
=
"statecode"
)
@JsonProperty
(
"statecode"
)
private
Integer
statecode
;
/**
* 属性 [UPDATEDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"updatedate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"updatedate"
)
private
Timestamp
updatedate
;
/**
* 属性 [PAYMENTMETHODCODE]
*
*/
@JSONField
(
name
=
"paymentmethodcode"
)
@JsonProperty
(
"paymentmethodcode"
)
private
String
paymentmethodcode
;
/**
* 属性 [PRICELEVELID]
*
*/
@JSONField
(
name
=
"pricelevelid"
)
@JsonProperty
(
"pricelevelid"
)
private
String
pricelevelid
;
/**
* 属性 [SHIPPINGMETHODCODE]
*
*/
@JSONField
(
name
=
"shippingmethodcode"
)
@JsonProperty
(
"shippingmethodcode"
)
private
String
shippingmethodcode
;
/**
* 属性 [OVERRIDDENCREATEDON]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"overriddencreatedon"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"overriddencreatedon"
)
private
Timestamp
overriddencreatedon
;
/**
* 属性 [UTCCONVERSIONTIMEZONECODE]
*
*/
@JSONField
(
name
=
"utcconversiontimezonecode"
)
@JsonProperty
(
"utcconversiontimezonecode"
)
private
Integer
utcconversiontimezonecode
;
/**
* 属性 [VERSIONNUMBER]
*
*/
@JSONField
(
name
=
"versionnumber"
)
@JsonProperty
(
"versionnumber"
)
private
BigInteger
versionnumber
;
/**
* 属性 [ENDDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"enddate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"enddate"
)
private
Timestamp
enddate
;
/**
* 属性 [EXCHANGERATE]
*
*/
@JSONField
(
name
=
"exchangerate"
)
@JsonProperty
(
"exchangerate"
)
private
BigDecimal
exchangerate
;
/**
* 属性 [BEGINDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"begindate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"begindate"
)
private
Timestamp
begindate
;
/**
* 属性 [IMPORTSEQUENCENUMBER]
*
*/
@JSONField
(
name
=
"importsequencenumber"
)
@JsonProperty
(
"importsequencenumber"
)
private
Integer
importsequencenumber
;
/**
* 属性 [PRICELEVELNAME]
*
*/
@JSONField
(
name
=
"pricelevelname"
)
@JsonProperty
(
"pricelevelname"
)
private
String
pricelevelname
;
/**
* 属性 [STATUSCODE]
*
*/
@JSONField
(
name
=
"statuscode"
)
@JsonProperty
(
"statuscode"
)
private
Integer
statuscode
;
/**
* 属性 [FREIGHTTERMSCODE]
*
*/
@JSONField
(
name
=
"freighttermscode"
)
@JsonProperty
(
"freighttermscode"
)
private
String
freighttermscode
;
/**
* 属性 [CREATEDATE]
*
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"createdate"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"createdate"
)
private
Timestamp
createdate
;
/**
* 属性 [TIMEZONERULEVERSIONNUMBER]
*
*/
@JSONField
(
name
=
"timezoneruleversionnumber"
)
@JsonProperty
(
"timezoneruleversionnumber"
)
private
Integer
timezoneruleversionnumber
;
/**
* 属性 [TRANSACTIONCURRENCYID]
*
*/
@JSONField
(
name
=
"transactioncurrencyid"
)
@JsonProperty
(
"transactioncurrencyid"
)
private
String
transactioncurrencyid
;
/**
* 设置 [DESCRIPTION]
*/
public
void
setDescription
(
String
description
){
this
.
description
=
description
;
this
.
modify
(
"description"
,
description
);
}
/**
* 设置 [STATECODE]
*/
public
void
setStatecode
(
Integer
statecode
){
this
.
statecode
=
statecode
;
this
.
modify
(
"statecode"
,
statecode
);
}
/**
* 设置 [PAYMENTMETHODCODE]
*/
public
void
setPaymentmethodcode
(
String
paymentmethodcode
){
this
.
paymentmethodcode
=
paymentmethodcode
;
this
.
modify
(
"paymentmethodcode"
,
paymentmethodcode
);
}
/**
* 设置 [SHIPPINGMETHODCODE]
*/
public
void
setShippingmethodcode
(
String
shippingmethodcode
){
this
.
shippingmethodcode
=
shippingmethodcode
;
this
.
modify
(
"shippingmethodcode"
,
shippingmethodcode
);
}
/**
* 设置 [OVERRIDDENCREATEDON]
*/
public
void
setOverriddencreatedon
(
Timestamp
overriddencreatedon
){
this
.
overriddencreatedon
=
overriddencreatedon
;
this
.
modify
(
"overriddencreatedon"
,
overriddencreatedon
);
}
/**
* 设置 [UTCCONVERSIONTIMEZONECODE]
*/
public
void
setUtcconversiontimezonecode
(
Integer
utcconversiontimezonecode
){
this
.
utcconversiontimezonecode
=
utcconversiontimezonecode
;
this
.
modify
(
"utcconversiontimezonecode"
,
utcconversiontimezonecode
);
}
/**
* 设置 [VERSIONNUMBER]
*/
public
void
setVersionnumber
(
BigInteger
versionnumber
){
this
.
versionnumber
=
versionnumber
;
this
.
modify
(
"versionnumber"
,
versionnumber
);
}
/**
* 设置 [ENDDATE]
*/
public
void
setEnddate
(
Timestamp
enddate
){
this
.
enddate
=
enddate
;
this
.
modify
(
"enddate"
,
enddate
);
}
/**
* 设置 [EXCHANGERATE]
*/
public
void
setExchangerate
(
BigDecimal
exchangerate
){
this
.
exchangerate
=
exchangerate
;
this
.
modify
(
"exchangerate"
,
exchangerate
);
}
/**
* 设置 [BEGINDATE]
*/
public
void
setBegindate
(
Timestamp
begindate
){
this
.
begindate
=
begindate
;
this
.
modify
(
"begindate"
,
begindate
);
}
/**
* 设置 [IMPORTSEQUENCENUMBER]
*/
public
void
setImportsequencenumber
(
Integer
importsequencenumber
){
this
.
importsequencenumber
=
importsequencenumber
;
this
.
modify
(
"importsequencenumber"
,
importsequencenumber
);
}
/**
* 设置 [PRICELEVELNAME]
*/
public
void
setPricelevelname
(
String
pricelevelname
){
this
.
pricelevelname
=
pricelevelname
;
this
.
modify
(
"pricelevelname"
,
pricelevelname
);
}
/**
* 设置 [STATUSCODE]
*/
public
void
setStatuscode
(
Integer
statuscode
){
this
.
statuscode
=
statuscode
;
this
.
modify
(
"statuscode"
,
statuscode
);
}
/**
* 设置 [FREIGHTTERMSCODE]
*/
public
void
setFreighttermscode
(
String
freighttermscode
){
this
.
freighttermscode
=
freighttermscode
;
this
.
modify
(
"freighttermscode"
,
freighttermscode
);
}
/**
* 设置 [TIMEZONERULEVERSIONNUMBER]
*/
public
void
setTimezoneruleversionnumber
(
Integer
timezoneruleversionnumber
){
this
.
timezoneruleversionnumber
=
timezoneruleversionnumber
;
this
.
modify
(
"timezoneruleversionnumber"
,
timezoneruleversionnumber
);
}
/**
* 设置 [TRANSACTIONCURRENCYID]
*/
public
void
setTransactioncurrencyid
(
String
transactioncurrencyid
){
this
.
transactioncurrencyid
=
transactioncurrencyid
;
this
.
modify
(
"transactioncurrencyid"
,
transactioncurrencyid
);
}
}
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/mapping/PriceLevelMapping.java
0 → 100644
浏览文件 @
de7d0fe8
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
mapping
;
import
org.mapstruct.*
;
import
cn.ibizlab.businesscentral.core.product.domain.PriceLevel
;
import
cn.ibizlab.businesscentral.centralapi.dto.PriceLevelDTO
;
import
cn.ibizlab.businesscentral.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
PriceLevelMapping
extends
MappingBase
<
PriceLevelDTO
,
PriceLevel
>
{
}
businesscentral-provider/businesscentral-provider-centralapi/src/main/java/cn/ibizlab/businesscentral/centralapi/rest/PriceLevelResource.java
0 → 100644
浏览文件 @
de7d0fe8
package
cn
.
ibizlab
.
businesscentral
.
centralapi
.
rest
;
import
java.sql.Timestamp
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.math.BigInteger
;
import
java.util.HashMap
;
import
lombok.extern.slf4j.Slf4j
;
import
com.alibaba.fastjson.JSONObject
;
import
javax.servlet.ServletRequest
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cglib.beans.BeanCopier
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.util.StringUtils
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PostAuthorize
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
cn.ibizlab.businesscentral.centralapi.dto.*
;
import
cn.ibizlab.businesscentral.centralapi.mapping.*
;
import
cn.ibizlab.businesscentral.core.product.domain.PriceLevel
;
import
cn.ibizlab.businesscentral.core.product.service.IPriceLevelService
;
import
cn.ibizlab.businesscentral.core.product.filter.PriceLevelSearchContext
;
@Slf4j
@Api
(
tags
=
{
"价目表"
})
@RestController
(
"CentralApi-pricelevel"
)
@RequestMapping
(
""
)
public
class
PriceLevelResource
{
@Autowired
public
IPriceLevelService
pricelevelService
;
@Autowired
@Lazy
public
PriceLevelMapping
pricelevelMapping
;
@PreAuthorize
(
"hasPermission(this.pricelevelMapping.toDomain(#priceleveldto),'iBizBusinessCentral-PriceLevel-Create')"
)
@ApiOperation
(
value
=
"新建价目表"
,
tags
=
{
"价目表"
},
notes
=
"新建价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels"
)
@Transactional
public
ResponseEntity
<
PriceLevelDTO
>
create
(
@RequestBody
PriceLevelDTO
priceleveldto
)
{
PriceLevel
domain
=
pricelevelMapping
.
toDomain
(
priceleveldto
);
pricelevelService
.
create
(
domain
);
PriceLevelDTO
dto
=
pricelevelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(this.pricelevelMapping.toDomain(#priceleveldtos),'iBizBusinessCentral-PriceLevel-Create')"
)
@ApiOperation
(
value
=
"批量新建价目表"
,
tags
=
{
"价目表"
},
notes
=
"批量新建价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels/batch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
PriceLevelDTO
>
priceleveldtos
)
{
pricelevelService
.
createBatch
(
pricelevelMapping
.
toDomain
(
priceleveldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"获取价目表草稿"
,
tags
=
{
"价目表"
},
notes
=
"获取价目表草稿"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/pricelevels/getdraft"
)
public
ResponseEntity
<
PriceLevelDTO
>
getDraft
()
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
pricelevelMapping
.
toDto
(
pricelevelService
.
getDraft
(
new
PriceLevel
())));
}
@PreAuthorize
(
"hasPermission(this.pricelevelService.get(#pricelevel_id),'iBizBusinessCentral-PriceLevel-Update')"
)
@ApiOperation
(
value
=
"更新价目表"
,
tags
=
{
"价目表"
},
notes
=
"更新价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/pricelevels/{pricelevel_id}"
)
@Transactional
public
ResponseEntity
<
PriceLevelDTO
>
update
(
@PathVariable
(
"pricelevel_id"
)
String
pricelevel_id
,
@RequestBody
PriceLevelDTO
priceleveldto
)
{
PriceLevel
domain
=
pricelevelMapping
.
toDomain
(
priceleveldto
);
domain
.
setPricelevelid
(
pricelevel_id
);
pricelevelService
.
update
(
domain
);
PriceLevelDTO
dto
=
pricelevelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(this.pricelevelService.getPricelevelByEntities(this.pricelevelMapping.toDomain(#priceleveldtos)),'iBizBusinessCentral-PriceLevel-Update')"
)
@ApiOperation
(
value
=
"批量更新价目表"
,
tags
=
{
"价目表"
},
notes
=
"批量更新价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/pricelevels/batch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
PriceLevelDTO
>
priceleveldtos
)
{
pricelevelService
.
updateBatch
(
pricelevelMapping
.
toDomain
(
priceleveldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PostAuthorize
(
"hasPermission(this.pricelevelMapping.toDomain(returnObject.body),'iBizBusinessCentral-PriceLevel-Get')"
)
@ApiOperation
(
value
=
"获取价目表"
,
tags
=
{
"价目表"
},
notes
=
"获取价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/pricelevels/{pricelevel_id}"
)
public
ResponseEntity
<
PriceLevelDTO
>
get
(
@PathVariable
(
"pricelevel_id"
)
String
pricelevel_id
)
{
PriceLevel
domain
=
pricelevelService
.
get
(
pricelevel_id
);
PriceLevelDTO
dto
=
pricelevelMapping
.
toDto
(
domain
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(this.pricelevelService.get(#pricelevel_id),'iBizBusinessCentral-PriceLevel-Remove')"
)
@ApiOperation
(
value
=
"删除价目表"
,
tags
=
{
"价目表"
},
notes
=
"删除价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/pricelevels/{pricelevel_id}"
)
@Transactional
public
ResponseEntity
<
Boolean
>
remove
(
@PathVariable
(
"pricelevel_id"
)
String
pricelevel_id
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
pricelevelService
.
remove
(
pricelevel_id
));
}
@PreAuthorize
(
"hasPermission(this.pricelevelService.getPricelevelByIds(#ids),'iBizBusinessCentral-PriceLevel-Remove')"
)
@ApiOperation
(
value
=
"批量删除价目表"
,
tags
=
{
"价目表"
},
notes
=
"批量删除价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/pricelevels/batch"
)
public
ResponseEntity
<
Boolean
>
removeBatch
(
@RequestBody
List
<
String
>
ids
)
{
pricelevelService
.
removeBatch
(
ids
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission(this.pricelevelMapping.toDomain(#priceleveldto),'iBizBusinessCentral-PriceLevel-Save')"
)
@ApiOperation
(
value
=
"保存价目表"
,
tags
=
{
"价目表"
},
notes
=
"保存价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels/save"
)
public
ResponseEntity
<
Boolean
>
save
(
@RequestBody
PriceLevelDTO
priceleveldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
pricelevelService
.
save
(
pricelevelMapping
.
toDomain
(
priceleveldto
)));
}
@PreAuthorize
(
"hasPermission(this.pricelevelMapping.toDomain(#priceleveldtos),'iBizBusinessCentral-PriceLevel-Save')"
)
@ApiOperation
(
value
=
"批量保存价目表"
,
tags
=
{
"价目表"
},
notes
=
"批量保存价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels/savebatch"
)
public
ResponseEntity
<
Boolean
>
saveBatch
(
@RequestBody
List
<
PriceLevelDTO
>
priceleveldtos
)
{
pricelevelService
.
saveBatch
(
pricelevelMapping
.
toDomain
(
priceleveldtos
));
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@ApiOperation
(
value
=
"检查价目表"
,
tags
=
{
"价目表"
},
notes
=
"检查价目表"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels/checkkey"
)
public
ResponseEntity
<
Boolean
>
checkKey
(
@RequestBody
PriceLevelDTO
priceleveldto
)
{
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
pricelevelService
.
checkKey
(
pricelevelMapping
.
toDomain
(
priceleveldto
)));
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PriceLevel-Default-all')"
)
@ApiOperation
(
value
=
"获取DEFAULT"
,
tags
=
{
"价目表"
}
,
notes
=
"获取DEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/pricelevels/fetchdefault"
)
public
ResponseEntity
<
List
<
PriceLevelDTO
>>
fetchDefault
(
PriceLevelSearchContext
context
)
{
Page
<
PriceLevel
>
domains
=
pricelevelService
.
searchDefault
(
context
)
;
List
<
PriceLevelDTO
>
list
=
pricelevelMapping
.
toDto
(
domains
.
getContent
());
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
header
(
"x-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageNumber
()))
.
header
(
"x-per-page"
,
String
.
valueOf
(
context
.
getPageable
().
getPageSize
()))
.
header
(
"x-total"
,
String
.
valueOf
(
domains
.
getTotalElements
()))
.
body
(
list
);
}
@PreAuthorize
(
"hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-PriceLevel-Default-all')"
)
@ApiOperation
(
value
=
"查询DEFAULT"
,
tags
=
{
"价目表"
}
,
notes
=
"查询DEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/pricelevels/searchdefault"
)
public
ResponseEntity
<
Page
<
PriceLevelDTO
>>
searchDefault
(
@RequestBody
PriceLevelSearchContext
context
)
{
Page
<
PriceLevel
>
domains
=
pricelevelService
.
searchDefault
(
context
)
;
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
new
PageImpl
(
pricelevelMapping
.
toDto
(
domains
.
getContent
()),
context
.
getPageable
(),
domains
.
getTotalElements
()));
}
}
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录