提交 de7d0fe8 编写于 作者: ibizdev's avatar ibizdev

xignzi006 发布系统代码

上级 9d6cfedf
...@@ -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
...@@ -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": "竞争对手",
......
/**
* 价目表
*
* @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
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,
......
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,
......
...@@ -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
...@@ -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
...@@ -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: {
......
...@@ -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: {
......
...@@ -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: {
......
...@@ -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: {
......
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
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
...@@ -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,
},
]
} }
]]; ]];
}); });
......
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:{}];
});
...@@ -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';
......
...@@ -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": "竞争对手",
......
...@@ -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: 'editview' }, { pathName: 'optionview', parameterName: 'optionview' },
]; ];
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: '帮助未支持' });
}
/** /**
* 关闭视图 * 关闭视图
......
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'));
} }
......
...@@ -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: {
......
...@@ -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'));
......
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
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
...@@ -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',
], ],
}, },
{ {
......
...@@ -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'});
} }
/** /**
......
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
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
...@@ -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'));
......
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Account 部件服务对象
*
* @export
* @class AccountService
*/
export default class AccountService extends ControlService {
}
<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>
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Address 部件服务对象
*
* @export
* @class AddressService
*/
export default class AddressService extends ControlService {
}
<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>
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* ContactSetting 部件服务对象
*
* @export
* @class ContactSettingService
*/
export default class ContactSettingService extends ControlService {
}
<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>
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Distribution 部件服务对象
*
* @export
* @class DistributionService
*/
export default class DistributionService extends ControlService {
}
<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>
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Introduction 部件服务对象
*
* @export
* @class IntroductionService
*/
export default class IntroductionService extends ControlService {
}
<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>
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* MajorContact 部件服务对象
*
* @export
* @class MajorContactService
*/
export default class MajorContactService extends ControlService {
}
<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>
...@@ -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%;">
......
<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,
} }
}) })
......
<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
/**
* 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
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
<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
<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>
/**
* 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
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
// 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
<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
<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>
/**
* 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',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* ByAccount 部件服务对象
*
* @export
* @class ByAccountService
*/
export default class ByAccountService extends ControlService {
}
<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>
...@@ -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
......
...@@ -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]外键关系 -->
......
...@@ -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"},
......
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);
}
}
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> {
}
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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册