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

lab_gzf 发布系统代码

上级 08888428
...@@ -2654,6 +2654,83 @@ ...@@ -2654,6 +2654,83 @@
} }
] ]
}, },
{
"srfkey": "Invoice__ShippingMethodCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"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": "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
}
, {
"id": "1",
"label": "航空运输",
"text": "航空运输",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "5",
"label": "邮递",
"text": "邮递",
"data":"",
"codename":"Item_5",
"value": "5",
"disabled": false
}
]
},
{ {
"srfkey": "Lead__StatusCode", "srfkey": "Lead__StatusCode",
"emptytext": "未定义", "emptytext": "未定义",
...@@ -2731,6 +2808,53 @@ ...@@ -2731,6 +2808,53 @@
} }
] ]
}, },
{
"srfkey": "Invoice__PaymentTermsCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "2",
"label": "2/10 N30",
"text": "2/10 N30",
"data":"",
"codename":"Item_2",
"value": "2",
"disabled": false
}
, {
"id": "1",
"label": "N30",
"text": "N30",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "3",
"label": "N45",
"text": "N45",
"data":"",
"codename":"Item_3",
"value": "3",
"disabled": false
}
, {
"id": "4",
"label": "N60",
"text": "N60",
"data":"",
"codename":"Item_4",
"value": "4",
"disabled": false
}
]
},
{ {
"srfkey": "Account__PreferredContactMethodCode", "srfkey": "Account__PreferredContactMethodCode",
"emptytext": "未定义", "emptytext": "未定义",
......
...@@ -109,6 +109,16 @@ ...@@ -109,6 +109,16 @@
"viewtag": "0f4dc7da727ad15a2cad62fe966a633c", "viewtag": "0f4dc7da727ad15a2cad62fe966a633c",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"invoicequickcreateview": {
"title": "快速新建",
"caption": "发票",
"viewtype": "DEOPTVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceQuickCreateView",
"viewfilename": "invoice-quick-create-view",
"viewtag": "0fc09bf520af62b4d89aef845fc72636",
"memo": ""
},
"salesordereditview": { "salesordereditview": {
"title": "订单编辑视图", "title": "订单编辑视图",
"caption": "订单", "caption": "订单",
...@@ -279,6 +289,16 @@ ...@@ -279,6 +289,16 @@
"viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4", "viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4",
"memo": "" "memo": ""
}, },
"invoicedetailinvoiceprogridview": {
"title": "发票产品表格视图",
"caption": "发票产品",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailInvoiceProGridView",
"viewfilename": "invoice-detail-invoice-pro-grid-view",
"viewtag": "2bb0e34c7ae753e03404e4d96b17e90c",
"memo": ""
},
"listleadbylist": { "listleadbylist": {
"title": "营销列表-潜在客户(根据营销列表)", "title": "营销列表-潜在客户(根据营销列表)",
"caption": "潜在客户", "caption": "潜在客户",
...@@ -489,6 +509,16 @@ ...@@ -489,6 +509,16 @@
"viewtag": "4799b0e7139b537ebe9313a004daa0ac", "viewtag": "4799b0e7139b537ebe9313a004daa0ac",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"invoicedetaileditview": {
"title": "发票产品编辑视图",
"caption": "发票产品",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailEditView",
"viewfilename": "invoice-detail-edit-view",
"viewtag": "485d1a17354fe57fd79dde512adb715b",
"memo": "系统自动添加"
},
"listaccounteditview": { "listaccounteditview": {
"title": "营销列表-账户编辑视图", "title": "营销列表-账户编辑视图",
"caption": "营销列表-账户", "caption": "营销列表-账户",
...@@ -779,6 +809,16 @@ ...@@ -779,6 +809,16 @@
"viewtag": "75b6e6474d2b1adcae64bafd60edb618", "viewtag": "75b6e6474d2b1adcae64bafd60edb618",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"invoicesummaryview": {
"title": "发票数据看板视图",
"caption": "发票",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceSummaryView",
"viewfilename": "invoice-summary-view",
"viewtag": "77ef5d53fe0cadbe03c9d2f9d25c804b",
"memo": ""
},
"goaleditview": { "goaleditview": {
"title": "目标编辑视图", "title": "目标编辑视图",
"caption": "目标", "caption": "目标",
...@@ -1209,6 +1249,16 @@ ...@@ -1209,6 +1249,16 @@
"viewtag": "aaa875342bd9286a39c2d193a150afc4", "viewtag": "aaa875342bd9286a39c2d193a150afc4",
"memo": "" "memo": ""
}, },
"invoiceinfoview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfoView",
"viewfilename": "invoice-info-view",
"viewtag": "ab653866ca40a1cefde21241ac5ba44c",
"memo": ""
},
"competitorinfo": { "competitorinfo": {
"title": "竞争对手", "title": "竞争对手",
"caption": "竞争对手", "caption": "竞争对手",
...@@ -1379,6 +1429,16 @@ ...@@ -1379,6 +1429,16 @@
"viewtag": "c74c14188b89f72079643170a83c25f5", "viewtag": "c74c14188b89f72079643170a83c25f5",
"memo": "" "memo": ""
}, },
"salesorderpickupgridview": {
"title": "订单选择表格视图",
"caption": "订单",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupGridView",
"viewfilename": "sales-order-pickup-grid-view",
"viewtag": "c78a9fa4a75c9a957de0bacd4c0c911c",
"memo": "系统自动添加"
},
"listcontacteditview": { "listcontacteditview": {
"title": "营销列表-联系人编辑视图", "title": "营销列表-联系人编辑视图",
"caption": "营销列表-联系人", "caption": "营销列表-联系人",
...@@ -1459,6 +1519,16 @@ ...@@ -1459,6 +1519,16 @@
"viewtag": "e0aef8c0d1f1ae28f628a0541b118961", "viewtag": "e0aef8c0d1f1ae28f628a0541b118961",
"memo": "" "memo": ""
}, },
"invoiceinfo_invoiceview": {
"title": "发票编辑视图",
"caption": "发票",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfo_InvoiceView",
"viewfilename": "invoice-info-invoice-view",
"viewtag": "e167550b61bf1bd019a8e522b8fccc21",
"memo": ""
},
"accountinfo_contactsetting": { "accountinfo_contactsetting": {
"title": "客户编辑视图", "title": "客户编辑视图",
"caption": "客户", "caption": "客户",
...@@ -1520,7 +1590,7 @@ ...@@ -1520,7 +1590,7 @@
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"salesorderquickcreateview": { "salesorderquickcreateview": {
"title": "订单选项操作视图", "title": "快速新建",
"caption": "订单", "caption": "订单",
"viewtype": "DEOPTVIEW", "viewtype": "DEOPTVIEW",
"viewmodule": "Sales", "viewmodule": "Sales",
...@@ -1549,6 +1619,16 @@ ...@@ -1549,6 +1619,16 @@
"viewtag": "f63525be2835a01da997d7f059efb09f", "viewtag": "f63525be2835a01da997d7f059efb09f",
"memo": "系统自动添加" "memo": "系统自动添加"
}, },
"salesorderpickupview": {
"title": "订单数据选择视图",
"caption": "订单",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupView",
"viewfilename": "sales-order-pickup-view",
"viewtag": "f6f91153f3caa976cf7f552636f7e012",
"memo": "系统自动添加"
},
"taskeditview": { "taskeditview": {
"title": "任务编辑视图", "title": "任务编辑视图",
"caption": "任务", "caption": "任务",
......
/**
* 发票产品
*
* @export
* @interface InvoiceDetail
*/
export interface InvoiceDetail {
/**
* 更新时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
updatedate?: any;
/**
* 名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicedetailname?: any;
/**
* 负责人类型
*
* @returns {*}
* @memberof InvoiceDetail
*/
owneridtype?: any;
/**
* 延期交货数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantitybackordered?: any;
/**
* 产品类型
*
* @returns {*}
* @memberof InvoiceDetail
*/
producttypecode?: any;
/**
* 发票状态
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicestatecode?: any;
/**
* Time Zone Rule Version Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
timezoneruleversionnumber?: any;
/**
* 送至省/市/自治区
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_stateorprovince?: any;
/**
* 金额 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
baseamount_base?: any;
/**
* 送货地址
*
* @returns {*}
* @memberof InvoiceDetail
*/
willcall?: any;
/**
* Record Created On
*
* @returns {*}
* @memberof InvoiceDetail
*/
overriddencreatedon?: any;
/**
* 父捆绑销售
*
* @returns {*}
* @memberof InvoiceDetail
*/
parentbundleid?: any;
/**
* Import Sequence Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
importsequencenumber?: any;
/**
* 属性配置
*
* @returns {*}
* @memberof InvoiceDetail
*/
propertyconfigurationstatus?: any;
/**
* 更新人
*
* @returns {*}
* @memberof InvoiceDetail
*/
updateman?: any;
/**
* 单价 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceperunit_base?: any;
/**
* 送至国家/地区
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_country?: any;
/**
* 已复制
*
* @returns {*}
* @memberof InvoiceDetail
*/
copied?: any;
/**
* 明细项目编号
*
* @returns {*}
* @memberof InvoiceDetail
*/
lineitemnumber?: any;
/**
* 单价
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceperunit?: any;
/**
* 批发折扣 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
volumediscountamount_base?: any;
/**
* 送货地的传真号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_fax?: any;
/**
* 送至街道 1
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line1?: any;
/**
* 说明
*
* @returns {*}
* @memberof InvoiceDetail
*/
description?: any;
/**
* 货运条款
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_freighttermscode?: any;
/**
* 负责人
*
* @returns {*}
* @memberof InvoiceDetail
*/
ownerid?: any;
/**
* 税 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
tax_base?: any;
/**
* 送货地的电话号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_telephone?: any;
/**
* 定价
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceoverridden?: any;
/**
* 交付时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
actualdeliveryon?: any;
/**
* 送货地的名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_name?: any;
/**
* 建立人
*
* @returns {*}
* @memberof InvoiceDetail
*/
createman?: any;
/**
* 金额
*
* @returns {*}
* @memberof InvoiceDetail
*/
baseamount?: any;
/**
* 运货跟踪号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shippingtrackingnumber?: any;
/**
* 发票产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicedetailid?: any;
/**
* 汇率
*
* @returns {*}
* @memberof InvoiceDetail
*/
exchangerate?: any;
/**
* 送至街道 3
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line3?: any;
/**
* 负责人
*
* @returns {*}
* @memberof InvoiceDetail
*/
owneridyominame?: any;
/**
* 捆绑销售项关联
*
* @returns {*}
* @memberof InvoiceDetail
*/
productassociationid?: any;
/**
* 送货地的邮政编码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_postalcode?: any;
/**
* 建立时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
createdate?: any;
/**
* 选择产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productoverridden?: any;
/**
* 销售员
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesrepid?: any;
/**
* SalesRepIdYomiName
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesrepidyominame?: any;
/**
* UTC Conversion Time Zone Code
*
* @returns {*}
* @memberof InvoiceDetail
*/
utcconversiontimezonecode?: any;
/**
* 应收净额
*
* @returns {*}
* @memberof InvoiceDetail
*/
extendedamount?: any;
/**
* 目录外产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productdescription?: any;
/**
* 送至街道 2
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line2?: any;
/**
* 零售折扣
*
* @returns {*}
* @memberof InvoiceDetail
*/
manualdiscountamount?: any;
/**
* 序号
*
* @returns {*}
* @memberof InvoiceDetail
*/
sequencenumber?: any;
/**
* 已发货数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantityshipped?: any;
/**
* 已取消数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantitycancelled?: any;
/**
* 定价错误
*
* @returns {*}
* @memberof InvoiceDetail
*/
pricingerrorcode?: any;
/**
* Version Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
versionnumber?: any;
/**
* SkipPriceCalculation
*
* @returns {*}
* @memberof InvoiceDetail
*/
skippricecalculation?: any;
/**
* 数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantity?: any;
/**
* 税
*
* @returns {*}
* @memberof InvoiceDetail
*/
tax?: any;
/**
* 应收净额 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
extendedamount_base?: any;
/**
* 批发折扣
*
* @returns {*}
* @memberof InvoiceDetail
*/
volumediscountamount?: any;
/**
* 送至市/县
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_city?: any;
/**
* 发票价格已锁定
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoiceispricelocked?: any;
/**
* 货币
*
* @returns {*}
* @memberof InvoiceDetail
*/
transactioncurrencyid?: any;
/**
* Order Product Id
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesorderdetailid?: any;
/**
* Parent bundle product
*
* @returns {*}
* @memberof InvoiceDetail
*/
parentbundleidref?: any;
/**
* 现有产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productid?: any;
/**
* 发票编码
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoiceid?: any;
/**
* 计价单位
*
* @returns {*}
* @memberof InvoiceDetail
*/
uomid?: any;
/**
* 产品名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
productname?: any;
/**
* 计价单位
*
* @returns {*}
* @memberof InvoiceDetail
*/
uomname?: any;
}
\ No newline at end of file
...@@ -3,6 +3,7 @@ import campaignlist_en_US from '@locale/lanres/entities/campaign-list/campaign-l ...@@ -3,6 +3,7 @@ import campaignlist_en_US from '@locale/lanres/entities/campaign-list/campaign-l
import task_en_US from '@locale/lanres/entities/task/task_en_US'; import task_en_US from '@locale/lanres/entities/task/task_en_US';
import letter_en_US from '@locale/lanres/entities/letter/letter_en_US'; import letter_en_US from '@locale/lanres/entities/letter/letter_en_US';
import pricelevel_en_US from '@locale/lanres/entities/price-level/price-level_en_US'; import pricelevel_en_US from '@locale/lanres/entities/price-level/price-level_en_US';
import invoicedetail_en_US from '@locale/lanres/entities/invoice-detail/invoice-detail_en_US';
import email_en_US from '@locale/lanres/entities/email/email_en_US'; import email_en_US from '@locale/lanres/entities/email/email_en_US';
import serviceappointment_en_US from '@locale/lanres/entities/service-appointment/service-appointment_en_US'; import serviceappointment_en_US from '@locale/lanres/entities/service-appointment/service-appointment_en_US';
import uom_en_US from '@locale/lanres/entities/uom/uom_en_US'; import uom_en_US from '@locale/lanres/entities/uom/uom_en_US';
...@@ -145,6 +146,7 @@ export default { ...@@ -145,6 +146,7 @@ export default {
task: task_en_US, task: task_en_US,
letter: letter_en_US, letter: letter_en_US,
pricelevel: pricelevel_en_US, pricelevel: pricelevel_en_US,
invoicedetail: invoicedetail_en_US,
email: email_en_US, email: email_en_US,
serviceappointment: serviceappointment_en_US, serviceappointment: serviceappointment_en_US,
uom: uom_en_US, uom: uom_en_US,
......
...@@ -3,6 +3,7 @@ import campaignlist_zh_CN from '@locale/lanres/entities/campaign-list/campaign-l ...@@ -3,6 +3,7 @@ import campaignlist_zh_CN from '@locale/lanres/entities/campaign-list/campaign-l
import task_zh_CN from '@locale/lanres/entities/task/task_zh_CN'; import task_zh_CN from '@locale/lanres/entities/task/task_zh_CN';
import letter_zh_CN from '@locale/lanres/entities/letter/letter_zh_CN'; import letter_zh_CN from '@locale/lanres/entities/letter/letter_zh_CN';
import pricelevel_zh_CN from '@locale/lanres/entities/price-level/price-level_zh_CN'; import pricelevel_zh_CN from '@locale/lanres/entities/price-level/price-level_zh_CN';
import invoicedetail_zh_CN from '@locale/lanres/entities/invoice-detail/invoice-detail_zh_CN';
import email_zh_CN from '@locale/lanres/entities/email/email_zh_CN'; import email_zh_CN from '@locale/lanres/entities/email/email_zh_CN';
import serviceappointment_zh_CN from '@locale/lanres/entities/service-appointment/service-appointment_zh_CN'; import serviceappointment_zh_CN from '@locale/lanres/entities/service-appointment/service-appointment_zh_CN';
import uom_zh_CN from '@locale/lanres/entities/uom/uom_zh_CN'; import uom_zh_CN from '@locale/lanres/entities/uom/uom_zh_CN';
...@@ -145,6 +146,7 @@ export default { ...@@ -145,6 +146,7 @@ export default {
task: task_zh_CN, task: task_zh_CN,
letter: letter_zh_CN, letter: letter_zh_CN,
pricelevel: pricelevel_zh_CN, pricelevel: pricelevel_zh_CN,
invoicedetail: invoicedetail_zh_CN,
email: email_zh_CN, email: email_zh_CN,
serviceappointment: serviceappointment_zh_CN, serviceappointment: serviceappointment_zh_CN,
uom: uom_zh_CN, uom: uom_zh_CN,
......
...@@ -361,6 +361,16 @@ export default { ...@@ -361,6 +361,16 @@ export default {
'CAMPAIGNRESPONSE': "市场活动响应", 'CAMPAIGNRESPONSE': "市场活动响应",
empty: "", empty: "",
}, },
Invoice__ShippingMethodCode: {
'2': "DHL",
'3': "FedEx",
'6': "Full Load",
'4': "UPS",
'7': "Will Call",
'1': "航空运输",
'5': "邮递",
empty: "",
},
Lead__StatusCode: { Lead__StatusCode: {
'6': "不再感兴趣", '6': "不再感兴趣",
'4': "丢单", '4': "丢单",
...@@ -371,6 +381,13 @@ export default { ...@@ -371,6 +381,13 @@ export default {
'5': "无法联系", '5': "无法联系",
empty: "", empty: "",
}, },
Invoice__PaymentTermsCode: {
'2': "2/10 N30",
'1': "N30",
'3': "N45",
'4': "N60",
empty: "",
},
Account__PreferredContactMethodCode: { Account__PreferredContactMethodCode: {
'1': "任何方式", '1': "任何方式",
'4': "传真", '4': "传真",
......
...@@ -361,6 +361,16 @@ export default { ...@@ -361,6 +361,16 @@ export default {
'CAMPAIGNRESPONSE': "市场活动响应", 'CAMPAIGNRESPONSE': "市场活动响应",
empty: "", empty: "",
}, },
Invoice__ShippingMethodCode: {
'2': "DHL",
'3': "FedEx",
'6': "Full Load",
'4': "UPS",
'7': "Will Call",
'1': "航空运输",
'5': "邮递",
empty: "",
},
Lead__StatusCode: { Lead__StatusCode: {
'6': "不再感兴趣", '6': "不再感兴趣",
'4': "丢单", '4': "丢单",
...@@ -371,6 +381,13 @@ export default { ...@@ -371,6 +381,13 @@ export default {
'5': "无法联系", '5': "无法联系",
empty: "", empty: "",
}, },
Invoice__PaymentTermsCode: {
'2': "2/10 N30",
'1': "N30",
'3': "N45",
'4': "N60",
empty: "",
},
Account__PreferredContactMethodCode: { Account__PreferredContactMethodCode: {
'1': "任何方式", '1': "任何方式",
'4': "传真", '4': "传真",
......
export default {
fields: {
updatedate: "更新时间",
invoicedetailname: "名称",
owneridtype: "负责人类型",
quantitybackordered: "延期交货数量",
producttypecode: "产品类型",
invoicestatecode: "发票状态",
timezoneruleversionnumber: "Time Zone Rule Version Number",
shipto_stateorprovince: "送至省/市/自治区",
baseamount_base: "金额 (Base)",
willcall: "送货地址",
overriddencreatedon: "Record Created On",
parentbundleid: "父捆绑销售",
importsequencenumber: "Import Sequence Number",
propertyconfigurationstatus: "属性配置",
updateman: "更新人",
priceperunit_base: "单价 (Base)",
shipto_country: "送至国家/地区",
copied: "已复制",
lineitemnumber: "明细项目编号",
priceperunit: "单价",
volumediscountamount_base: "批发折扣 (Base)",
shipto_fax: "送货地的传真号码",
shipto_line1: "送至街道 1",
description: "说明",
shipto_freighttermscode: "货运条款",
ownerid: "负责人",
tax_base: "税 (Base)",
shipto_telephone: "送货地的电话号码",
priceoverridden: "定价",
actualdeliveryon: "交付时间",
shipto_name: "送货地的名称",
createman: "建立人",
baseamount: "金额",
shippingtrackingnumber: "运货跟踪号码",
invoicedetailid: "发票产品",
exchangerate: "汇率",
shipto_line3: "送至街道 3",
owneridyominame: "负责人",
productassociationid: "捆绑销售项关联",
shipto_postalcode: "送货地的邮政编码",
createdate: "建立时间",
productoverridden: "选择产品",
salesrepid: "销售员",
salesrepidyominame: "SalesRepIdYomiName",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
extendedamount: "应收净额",
productdescription: "目录外产品",
shipto_line2: "送至街道 2",
manualdiscountamount: "零售折扣",
sequencenumber: "序号",
quantityshipped: "已发货数量",
quantitycancelled: "已取消数量",
pricingerrorcode: "定价错误",
versionnumber: "Version Number",
skippricecalculation: "SkipPriceCalculation",
quantity: "数量",
tax: "税",
extendedamount_base: "应收净额 (Base)",
volumediscountamount: "批发折扣",
shipto_city: "送至市/县",
invoiceispricelocked: "发票价格已锁定",
transactioncurrencyid: "货币",
salesorderdetailid: "Order Product Id",
parentbundleidref: "Parent bundle product",
productid: "现有产品",
invoiceid: "发票编码",
uomid: "计价单位",
productname: "产品名称",
uomname: "计价单位",
},
views: {
invoiceprogridview: {
caption: "发票产品",
title: "发票产品表格视图",
},
editview: {
caption: "发票产品",
title: "发票产品编辑视图",
},
},
main_form: {
details: {
group1: "invoicedetail基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票产品",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
uomname: "计价单位",
manualdiscountamount: "零售折扣",
tax: "税",
productid: "现有产品",
invoicedetailid: "发票产品",
uomid: "计价单位",
},
uiactions: {
},
},
invoiceproductgrid_grid: {
columns: {
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
manualdiscountamount: "零售折扣",
extendedamount: "应收净额",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
invoiceprogridviewtoolbar_toolbar: {
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem4: {
caption: "Save And New",
tip: "Save And New",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
export default {
fields: {
updatedate: "更新时间",
invoicedetailname: "名称",
owneridtype: "负责人类型",
quantitybackordered: "延期交货数量",
producttypecode: "产品类型",
invoicestatecode: "发票状态",
timezoneruleversionnumber: "Time Zone Rule Version Number",
shipto_stateorprovince: "送至省/市/自治区",
baseamount_base: "金额 (Base)",
willcall: "送货地址",
overriddencreatedon: "Record Created On",
parentbundleid: "父捆绑销售",
importsequencenumber: "Import Sequence Number",
propertyconfigurationstatus: "属性配置",
updateman: "更新人",
priceperunit_base: "单价 (Base)",
shipto_country: "送至国家/地区",
copied: "已复制",
lineitemnumber: "明细项目编号",
priceperunit: "单价",
volumediscountamount_base: "批发折扣 (Base)",
shipto_fax: "送货地的传真号码",
shipto_line1: "送至街道 1",
description: "说明",
shipto_freighttermscode: "货运条款",
ownerid: "负责人",
tax_base: "税 (Base)",
shipto_telephone: "送货地的电话号码",
priceoverridden: "定价",
actualdeliveryon: "交付时间",
shipto_name: "送货地的名称",
createman: "建立人",
baseamount: "金额",
shippingtrackingnumber: "运货跟踪号码",
invoicedetailid: "发票产品",
exchangerate: "汇率",
shipto_line3: "送至街道 3",
owneridyominame: "负责人",
productassociationid: "捆绑销售项关联",
shipto_postalcode: "送货地的邮政编码",
createdate: "建立时间",
productoverridden: "选择产品",
salesrepid: "销售员",
salesrepidyominame: "SalesRepIdYomiName",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
extendedamount: "应收净额",
productdescription: "目录外产品",
shipto_line2: "送至街道 2",
manualdiscountamount: "零售折扣",
sequencenumber: "序号",
quantityshipped: "已发货数量",
quantitycancelled: "已取消数量",
pricingerrorcode: "定价错误",
versionnumber: "Version Number",
skippricecalculation: "SkipPriceCalculation",
quantity: "数量",
tax: "税",
extendedamount_base: "应收净额 (Base)",
volumediscountamount: "批发折扣",
shipto_city: "送至市/县",
invoiceispricelocked: "发票价格已锁定",
transactioncurrencyid: "货币",
salesorderdetailid: "Order Product Id",
parentbundleidref: "Parent bundle product",
productid: "现有产品",
invoiceid: "发票编码",
uomid: "计价单位",
productname: "产品名称",
uomname: "计价单位",
},
views: {
invoiceprogridview: {
caption: "发票产品",
title: "发票产品表格视图",
},
editview: {
caption: "发票产品",
title: "发票产品编辑视图",
},
},
main_form: {
details: {
group1: "invoicedetail基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票产品",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
uomname: "计价单位",
manualdiscountamount: "零售折扣",
tax: "税",
productid: "现有产品",
invoicedetailid: "发票产品",
uomid: "计价单位",
},
uiactions: {
},
},
invoiceproductgrid_grid: {
columns: {
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
manualdiscountamount: "零售折扣",
extendedamount: "应收净额",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
invoiceprogridviewtoolbar_toolbar: {
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem4: {
caption: "保存并新建",
tip: "保存并新建",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
},
};
\ No newline at end of file
...@@ -99,10 +99,26 @@ export default { ...@@ -99,10 +99,26 @@ export default {
caption: "发票", caption: "发票",
title: "发票编辑视图", title: "发票编辑视图",
}, },
quickcreateview: {
caption: "发票",
title: "快速新建",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
},
infoview: {
caption: "发票",
title: "发票信息",
},
gridview: { gridview: {
caption: "发票", caption: "发票",
title: "发票表格视图", title: "发票表格视图",
}, },
info_invoiceview: {
caption: "发票",
title: "发票编辑视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -128,6 +144,76 @@ export default { ...@@ -128,6 +144,76 @@ export default {
uiactions: { uiactions: {
}, },
}, },
quickcreate_form: {
details: {
group1: "发票基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
transactioncurrencyid: "货币",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
info_form: {
details: {
group1: "发票基本信息",
grouppanel1: "详细信息",
grouppanel3: "发票金额",
grouppanel2: "销售信息",
grouppanel4: "帐单地址",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
datedelivered: "交付日期",
duedate: "截止日期",
shippingmethodcode: "送货方式",
paymenttermscode: "付款条件",
description: "说明",
totallineitemamount: "明细金额总计",
discountpercentage: "发票折扣(%)",
discountamount: "发票折扣金额",
totalamountlessfreight: "折后金额总计",
freightamount: "运费金额",
totalamount: "总金额",
opportunityname: "商机",
salesordername: "订单",
customerid: "客户",
billto_country: "国家/地区",
billto_stateorprovince: "省/市/自治区",
billto_city: "市/县",
billto_line1: "街道",
salesorderid: "订单",
transactioncurrencyid: "货币",
opportunityid: "商机",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
main_grid: { main_grid: {
columns: { columns: {
invoicename: "发票名称", invoicename: "发票名称",
......
...@@ -98,10 +98,26 @@ export default { ...@@ -98,10 +98,26 @@ export default {
caption: "发票", caption: "发票",
title: "发票编辑视图", title: "发票编辑视图",
}, },
quickcreateview: {
caption: "发票",
title: "快速新建",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
},
infoview: {
caption: "发票",
title: "发票信息",
},
gridview: { gridview: {
caption: "发票", caption: "发票",
title: "发票表格视图", title: "发票表格视图",
}, },
info_invoiceview: {
caption: "发票",
title: "发票编辑视图",
},
}, },
main_form: { main_form: {
details: { details: {
...@@ -127,6 +143,76 @@ export default { ...@@ -127,6 +143,76 @@ export default {
uiactions: { uiactions: {
}, },
}, },
quickcreate_form: {
details: {
group1: "发票基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
transactioncurrencyid: "货币",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
info_form: {
details: {
group1: "发票基本信息",
grouppanel1: "详细信息",
grouppanel3: "发票金额",
grouppanel2: "销售信息",
grouppanel4: "帐单地址",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
datedelivered: "交付日期",
duedate: "截止日期",
shippingmethodcode: "送货方式",
paymenttermscode: "付款条件",
description: "说明",
totallineitemamount: "明细金额总计",
discountpercentage: "发票折扣(%)",
discountamount: "发票折扣金额",
totalamountlessfreight: "折后金额总计",
freightamount: "运费金额",
totalamount: "总金额",
opportunityname: "商机",
salesordername: "订单",
customerid: "客户",
billto_country: "国家/地区",
billto_stateorprovince: "省/市/自治区",
billto_city: "市/县",
billto_line1: "街道",
salesorderid: "订单",
transactioncurrencyid: "货币",
opportunityid: "商机",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
main_grid: { main_grid: {
columns: { columns: {
invoicename: "发票名称", invoicename: "发票名称",
......
...@@ -117,6 +117,10 @@ export default { ...@@ -117,6 +117,10 @@ export default {
caption: "订单", caption: "订单",
title: "订单数据看板视图", title: "订单数据看板视图",
}, },
pickupgridview: {
caption: "订单",
title: "订单选择表格视图",
},
gridview: { gridview: {
caption: "订单", caption: "订单",
title: "订单表格视图", title: "订单表格视图",
...@@ -127,7 +131,11 @@ export default { ...@@ -127,7 +131,11 @@ export default {
}, },
quickcreateview: { quickcreateview: {
caption: "订单", caption: "订单",
title: "订单选项操作视图", title: "快速新建",
},
pickupview: {
caption: "订单",
title: "订单数据选择视图",
}, },
}, },
main_form: { main_form: {
......
...@@ -116,6 +116,10 @@ export default { ...@@ -116,6 +116,10 @@ export default {
caption: "订单", caption: "订单",
title: "订单数据看板视图", title: "订单数据看板视图",
}, },
pickupgridview: {
caption: "订单",
title: "订单选择表格视图",
},
gridview: { gridview: {
caption: "订单", caption: "订单",
title: "订单表格视图", title: "订单表格视图",
...@@ -126,7 +130,11 @@ export default { ...@@ -126,7 +130,11 @@ export default {
}, },
quickcreateview: { quickcreateview: {
caption: "订单", caption: "订单",
title: "订单选项操作视图", title: "快速新建",
},
pickupview: {
caption: "订单",
title: "订单数据选择视图",
}, },
}, },
main_form: { main_form: {
......
...@@ -2662,6 +2662,83 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -2662,6 +2662,83 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: 'Invoice__ShippingMethodCode',
emptytext: '未定义',
"codelisttype":"static",
items: [
{
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: '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,
},
{
id: '1',
label: "航空运输",
text: "航空运输",
"data":"",
"codename":"Item_1",
value: '1',
disabled: false,
},
{
id: '5',
label: "邮递",
text: "邮递",
"data":"",
"codename":"Item_5",
value: '5',
disabled: false,
},
]
},
{ {
srfkey: 'Lead__StatusCode', srfkey: 'Lead__StatusCode',
emptytext: '未定义', emptytext: '未定义',
...@@ -2739,6 +2816,53 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => { ...@@ -2739,6 +2816,53 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
}, },
] ]
}, },
{
srfkey: 'Invoice__PaymentTermsCode',
emptytext: '未定义',
"codelisttype":"static",
items: [
{
id: '2',
label: "2/10 N30",
text: "2/10 N30",
"data":"",
"codename":"Item_2",
value: '2',
disabled: false,
},
{
id: '1',
label: "N30",
text: "N30",
"data":"",
"codename":"Item_1",
value: '1',
disabled: false,
},
{
id: '3',
label: "N45",
text: "N45",
"data":"",
"codename":"Item_3",
value: '3',
disabled: false,
},
{
id: '4',
label: "N60",
text: "N60",
"data":"",
"codename":"Item_4",
value: '4',
disabled: false,
},
]
},
{ {
srfkey: 'Account__PreferredContactMethodCode', srfkey: 'Account__PreferredContactMethodCode',
emptytext: '未定义', emptytext: '未定义',
......
...@@ -12,6 +12,7 @@ import './entity/campaign-lists/campaign-lists'; ...@@ -12,6 +12,7 @@ import './entity/campaign-lists/campaign-lists';
import './entity/tasks/tasks'; import './entity/tasks/tasks';
import './entity/letters/letters'; import './entity/letters/letters';
import './entity/price-levels/price-levels'; import './entity/price-levels/price-levels';
import './entity/invoice-details/invoice-details';
import './entity/emails/emails'; import './entity/emails/emails';
import './entity/service-appointments/service-appointments'; import './entity/service-appointments/service-appointments';
import './entity/uoms/uoms'; import './entity/uoms/uoms';
......
...@@ -95,6 +95,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -95,6 +95,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "QuoteDetailEditView", "viewname": "QuoteDetailEditView",
"viewtag": "0f4dc7da727ad15a2cad62fe966a633c" "viewtag": "0f4dc7da727ad15a2cad62fe966a633c"
}, },
"invoicequickcreateview": {
"title": "快速新建",
"caption": "发票",
"viewtype": "DEOPTVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceQuickCreateView",
"viewtag": "0fc09bf520af62b4d89aef845fc72636"
},
"salesordereditview": { "salesordereditview": {
"title": "订单编辑视图", "title": "订单编辑视图",
"caption": "订单", "caption": "订单",
...@@ -231,6 +239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -231,6 +239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactInfo_Book", "viewname": "ContactInfo_Book",
"viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4" "viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4"
}, },
"invoicedetailinvoiceprogridview": {
"title": "发票产品表格视图",
"caption": "发票产品",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailInvoiceProGridView",
"viewtag": "2bb0e34c7ae753e03404e4d96b17e90c"
},
"listleadbylist": { "listleadbylist": {
"title": "营销列表-潜在客户(根据营销列表)", "title": "营销列表-潜在客户(根据营销列表)",
"caption": "潜在客户", "caption": "潜在客户",
...@@ -399,6 +415,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -399,6 +415,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ListAccountByList", "viewname": "ListAccountByList",
"viewtag": "4799b0e7139b537ebe9313a004daa0ac" "viewtag": "4799b0e7139b537ebe9313a004daa0ac"
}, },
"invoicedetaileditview": {
"title": "发票产品编辑视图",
"caption": "发票产品",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailEditView",
"viewtag": "485d1a17354fe57fd79dde512adb715b"
},
"listaccounteditview": { "listaccounteditview": {
"title": "营销列表-账户编辑视图", "title": "营销列表-账户编辑视图",
"caption": "营销列表-账户", "caption": "营销列表-账户",
...@@ -631,6 +655,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -631,6 +655,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactEditAddress", "viewname": "ContactEditAddress",
"viewtag": "75b6e6474d2b1adcae64bafd60edb618" "viewtag": "75b6e6474d2b1adcae64bafd60edb618"
}, },
"invoicesummaryview": {
"title": "发票数据看板视图",
"caption": "发票",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceSummaryView",
"viewtag": "77ef5d53fe0cadbe03c9d2f9d25c804b"
},
"goaleditview": { "goaleditview": {
"title": "目标编辑视图", "title": "目标编辑视图",
"caption": "目标", "caption": "目标",
...@@ -975,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -975,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ListContactInner", "viewname": "ListContactInner",
"viewtag": "aaa875342bd9286a39c2d193a150afc4" "viewtag": "aaa875342bd9286a39c2d193a150afc4"
}, },
"invoiceinfoview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfoView",
"viewtag": "ab653866ca40a1cefde21241ac5ba44c"
},
"competitorinfo": { "competitorinfo": {
"title": "竞争对手", "title": "竞争对手",
"caption": "竞争对手", "caption": "竞争对手",
...@@ -1111,6 +1151,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1111,6 +1151,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "OpportunityInfo_Product", "viewname": "OpportunityInfo_Product",
"viewtag": "c74c14188b89f72079643170a83c25f5" "viewtag": "c74c14188b89f72079643170a83c25f5"
}, },
"salesorderpickupgridview": {
"title": "订单选择表格视图",
"caption": "订单",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupGridView",
"viewtag": "c78a9fa4a75c9a957de0bacd4c0c911c"
},
"listcontacteditview": { "listcontacteditview": {
"title": "营销列表-联系人编辑视图", "title": "营销列表-联系人编辑视图",
"caption": "营销列表-联系人", "caption": "营销列表-联系人",
...@@ -1175,6 +1223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1175,6 +1223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "InvoiceGridView", "viewname": "InvoiceGridView",
"viewtag": "e0aef8c0d1f1ae28f628a0541b118961" "viewtag": "e0aef8c0d1f1ae28f628a0541b118961"
}, },
"invoiceinfo_invoiceview": {
"title": "发票编辑视图",
"caption": "发票",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfo_InvoiceView",
"viewtag": "e167550b61bf1bd019a8e522b8fccc21"
},
"accountinfo_contactsetting": { "accountinfo_contactsetting": {
"title": "客户编辑视图", "title": "客户编辑视图",
"caption": "客户", "caption": "客户",
...@@ -1224,7 +1280,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1224,7 +1280,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "e7ed63c9b06815f5310c4fff23b93c8b" "viewtag": "e7ed63c9b06815f5310c4fff23b93c8b"
}, },
"salesorderquickcreateview": { "salesorderquickcreateview": {
"title": "订单选项操作视图", "title": "快速新建",
"caption": "订单", "caption": "订单",
"viewtype": "DEOPTVIEW", "viewtype": "DEOPTVIEW",
"viewmodule": "Sales", "viewmodule": "Sales",
...@@ -1247,6 +1303,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1247,6 +1303,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "CampaignInfo_Schedule", "viewname": "CampaignInfo_Schedule",
"viewtag": "f63525be2835a01da997d7f059efb09f" "viewtag": "f63525be2835a01da997d7f059efb09f"
}, },
"salesorderpickupview": {
"title": "订单数据选择视图",
"caption": "订单",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupView",
"viewtag": "f6f91153f3caa976cf7f552636f7e012"
},
"taskeditview": { "taskeditview": {
"title": "任务编辑视图", "title": "任务编辑视图",
"caption": "任务", "caption": "任务",
......
<studio-view-style2 viewName="opportunityinfo_abstract" viewTitle="商机编辑视图" class='deeditview opportunity-info-abstract'> <studio-view-style2 viewName="opportunityinfo_abstract" viewTitle="商机编辑视图" class='deeditview opportunity-info-abstract'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<view_form <view_form
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
......
...@@ -4,7 +4,7 @@ import SalesOrderService from '@/service/sales-order/sales-order-service'; ...@@ -4,7 +4,7 @@ import SalesOrderService from '@/service/sales-order/sales-order-service';
import OptionViewEngine from '@engine/view/option-view-engine'; import OptionViewEngine from '@engine/view/option-view-engine';
/** /**
* 订单选项操作视图视图基类 * 快速新建视图基类
* *
* @export * @export
* @class SalesOrderQuickCreateViewBase * @class SalesOrderQuickCreateViewBase
......
<studio-view-style2 viewName="salesorderquickcreateview" viewTitle="订单选项操作视图" class='deoptview sales-order-quick-create-view'> <studio-view-style2 viewName="salesorderquickcreateview" viewTitle="快速新建" class='deoptview sales-order-quick-create-view'>
<template slot='title'> <template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span> <span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template> </template>
......
...@@ -6,7 +6,7 @@ import { SalesOrderQuickCreateViewBase } from './sales-order-quick-create-view-b ...@@ -6,7 +6,7 @@ import { SalesOrderQuickCreateViewBase } from './sales-order-quick-create-view-b
import view_form from '@widgets/sales-order/quick-create-form/quick-create-form.vue'; import view_form from '@widgets/sales-order/quick-create-form/quick-create-form.vue';
/** /**
* 订单选项操作视图视图 * 快速新建视图
* *
* @export * @export
* @class SalesOrderQuickCreateView * @class SalesOrderQuickCreateView
......
...@@ -44,6 +44,7 @@ export class EntityServiceRegister { ...@@ -44,6 +44,7 @@ export class EntityServiceRegister {
this.allEntityService.set('task', () => import('@/service/task/task-service')); this.allEntityService.set('task', () => import('@/service/task/task-service'));
this.allEntityService.set('letter', () => import('@/service/letter/letter-service')); this.allEntityService.set('letter', () => import('@/service/letter/letter-service'));
this.allEntityService.set('pricelevel', () => import('@/service/price-level/price-level-service')); this.allEntityService.set('pricelevel', () => import('@/service/price-level/price-level-service'));
this.allEntityService.set('invoicedetail', () => import('@/service/invoice-detail/invoice-detail-service'));
this.allEntityService.set('email', () => import('@/service/email/email-service')); this.allEntityService.set('email', () => import('@/service/email/email-service'));
this.allEntityService.set('serviceappointment', () => import('@/service/service-appointment/service-appointment-service')); this.allEntityService.set('serviceappointment', () => import('@/service/service-appointment/service-appointment-service'));
this.allEntityService.set('uom', () => import('@/service/uom/uom-service')); this.allEntityService.set('uom', () => import('@/service/uom/uom-service'));
......
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 发票产品服务对象基类
*
* @export
* @class InvoiceDetailServiceBase
* @extends {EntityServie}
*/
export default class InvoiceDetailServiceBase extends EntityService {
/**
* Creates an instance of InvoiceDetailServiceBase.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof InvoiceDetailServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='invoicedetail';
this.APPDEKEY = 'invoicedetailid';
this.APPDENAME = 'invoicedetails';
this.APPDETEXT = 'invoicedetailname';
this.APPNAME = 'crm';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
return Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/select`,isloading);
}
return Http.getInstance().get(`/invoicedetails/${context.invoicedetail}/select`,isloading);
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/checkkey`,data,isloading);
return res;
}
return Http.getInstance().post(`/invoicedetails/${context.invoicedetail}/checkkey`,data,isloading);
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,isloading);
return res;
}
let res:any = await Http.getInstance().get(`/invoicedetails/${context.invoicedetail}`,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,data,isloading);
return res;
}
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoicedetails/${context.invoicedetail}`,data,isloading);
return res;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
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(`/invoices/${context.invoice}/invoicedetails`,data,isloading);
return res;
}
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(`/invoicedetails`,data,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/getdraft`,isloading);
res.data.invoicedetail = data.invoicedetail;
return res;
}
let res:any = await Http.getInstance().get(`/invoicedetails/getdraft`,isloading);
res.data.invoicedetail = data.invoicedetail;
return res;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/save`,data,isloading);
return res;
}
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoicedetails/${context.invoicedetail}/save`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
return Http.getInstance().delete(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,isloading);
}
return Http.getInstance().delete(`/invoicedetails/${context.invoicedetail}`,isloading);
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/fetchdefault`,tempData,isloading);
}
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/invoicedetails/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import InvoiceDetailServiceBase from './invoice-detail-service-base';
/**
* 发票产品服务对象
*
* @export
* @class InvoiceDetailService
* @extends {InvoiceDetailServiceBase}
*/
export default class InvoiceDetailService extends InvoiceDetailServiceBase {
/**
* Creates an instance of InvoiceDetailService.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -62,6 +62,21 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -62,6 +62,21 @@ export default class InvoiceServiceBase extends EntityService {
*/ */
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {}; let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData); Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){ if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null; data[this.APPDEKEY] = null;
...@@ -71,6 +86,7 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -71,6 +86,7 @@ export default class InvoiceServiceBase extends EntityService {
} }
let tempContext:any = JSON.parse(JSON.stringify(context)); let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/invoices`,data,isloading); let res:any = await Http.getInstance().post(`/invoices`,data,isloading);
this.tempStorage.setItem(tempContext.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res; return res;
} }
...@@ -86,6 +102,7 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -86,6 +102,7 @@ export default class InvoiceServiceBase extends EntityService {
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/invoices/getdraft`,isloading); let res:any = await Http.getInstance().get(`/invoices/getdraft`,isloading);
res.data.invoice = data.invoice; res.data.invoice = data.invoice;
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res; return res;
} }
...@@ -100,8 +117,24 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -100,8 +117,24 @@ export default class InvoiceServiceBase extends EntityService {
*/ */
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {}; let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData); Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoices/${context.invoice}`,data,isloading); let res:any = await Http.getInstance().put(`/invoices/${context.invoice}`,data,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res; return res;
} }
...@@ -142,8 +175,24 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -142,8 +175,24 @@ export default class InvoiceServiceBase extends EntityService {
*/ */
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {}; let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData); Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/save`,data,isloading); let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/save`,data,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res; return res;
} }
...@@ -158,6 +207,7 @@ export default class InvoiceServiceBase extends EntityService { ...@@ -158,6 +207,7 @@ export default class InvoiceServiceBase extends EntityService {
*/ */
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}`,isloading); let res:any = await Http.getInstance().get(`/invoices/${context.invoice}`,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res; return res;
} }
......
...@@ -174,8 +174,11 @@ export const viewstate: any = { ...@@ -174,8 +174,11 @@ export const viewstate: any = {
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'aa79d35850f36fbc1a5085353ecd5af5',
'66b3d6f7e15711b61132066ba3a95f91', '66b3d6f7e15711b61132066ba3a95f91',
'c74c14188b89f72079643170a83c25f5', 'a95d7d9111bc13a8b73a11ee1e4ff92a',
'893e62d6fbdc4580de7e3e802aec9108',
'a5213905238dbc5d8e1a505029105cc9',
], ],
}, },
{ {
......
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import InvoiceDetailService from '@/service/invoice-detail/invoice-detail-service';
/**
* 发票产品UI服务对象基类
*
* @export
* @class InvoiceDetailUIServiceBase
*/
export default class InvoiceDetailUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof InvoiceDetailUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof InvoiceDetailUIServiceBase
*/
public dataService:InvoiceDetailService = new InvoiceDetailService();
/**
* 所有关联视图
*
* @memberof InvoiceDetailUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof InvoiceDetailUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof InvoiceDetailUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof InvoiceDetailUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof InvoiceDetailUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* Creates an instance of InvoiceDetailUIServiceBase.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.initViewMap();
this.initDeMainStateMap();
}
/**
* 初始化视图Map
*
* @memberof InvoiceDetailUIServiceBase
*/
public initViewMap(){
this.allViewMap.set(':',{viewname:'invoiceprogridview',srfappde:'invoicedetails'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoicedetails'});
}
/**
* 初始化主状态集合
*
* @memberof InvoiceDetailUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof InvoiceDetailUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({invoicedetail: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 InvoiceDetailUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof InvoiceDetailUIServiceBase
*/
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 InvoiceDetailUIServiceBase
*/
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 InvoiceDetailUIServiceBase from './invoice-detail-ui-service-base';
/**
* 发票产品UI服务对象
*
* @export
* @class InvoiceDetailUIService
*/
export default class InvoiceDetailUIService extends InvoiceDetailUIServiceBase {
/**
* Creates an instance of InvoiceDetailUIService.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -80,7 +80,11 @@ export default class InvoiceUIServiceBase extends UIService { ...@@ -80,7 +80,11 @@ export default class InvoiceUIServiceBase extends UIService {
*/ */
public initViewMap(){ public initViewMap(){
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoices'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'invoices'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'invoices'}); this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'info_invoiceview',srfappde:'invoices'});
} }
/** /**
......
...@@ -82,9 +82,11 @@ export default class SalesOrderUIServiceBase extends UIService { ...@@ -82,9 +82,11 @@ export default class SalesOrderUIServiceBase extends UIService {
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'salesorders'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'salesorders'}); this.allViewMap.set(':',{viewname:'infoview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'salesorders'}); this.allViewMap.set(':',{viewname:'summaryview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'salesorders'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'salesorders'}); this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'info_soview',srfappde:'salesorders'}); this.allViewMap.set(':',{viewname:'info_soview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'salesorders'}); this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'salesorders'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'salesorders'});
} }
/** /**
......
...@@ -44,6 +44,7 @@ export class UIServiceRegister { ...@@ -44,6 +44,7 @@ export class UIServiceRegister {
this.allUIService.set('task', () => import('@/uiservice/task/task-ui-service')); this.allUIService.set('task', () => import('@/uiservice/task/task-ui-service'));
this.allUIService.set('letter', () => import('@/uiservice/letter/letter-ui-service')); this.allUIService.set('letter', () => import('@/uiservice/letter/letter-ui-service'));
this.allUIService.set('pricelevel', () => import('@/uiservice/price-level/price-level-ui-service')); this.allUIService.set('pricelevel', () => import('@/uiservice/price-level/price-level-ui-service'));
this.allUIService.set('invoicedetail', () => import('@/uiservice/invoice-detail/invoice-detail-ui-service'));
this.allUIService.set('email', () => import('@/uiservice/email/email-ui-service')); this.allUIService.set('email', () => import('@/uiservice/email/email-ui-service'));
this.allUIService.set('serviceappointment', () => import('@/uiservice/service-appointment/service-appointment-ui-service')); this.allUIService.set('serviceappointment', () => import('@/uiservice/service-appointment/service-appointment-ui-service'));
this.allUIService.set('uom', () => import('@/uiservice/uom/uom-ui-service')); this.allUIService.set('uom', () => import('@/uiservice/uom/uom-ui-service'));
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
import { Component } from 'vue-property-decorator'; import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core'; import { VueLifeCycleProcessing } from '@/studio-core';
import { AbstractInfoDashboardBase } from './abstract-info-dashboard-base'; import { AbstractInfoDashboardBase } from './abstract-info-dashboard-base';
import view_dashboard_sysportlet2 from '@widgets/opportunity/view-opp-pro-portlet/view-opp-pro-portlet.vue'; import view_dashboard_sysportlet2 from '@widgets/activity-pointer/list-by-parent-key-portlet/list-by-parent-key-portlet.vue';
import view_dashboard_sysportlet1 from '@widgets/opportunity/view-opp-abs-portlet/view-opp-abs-portlet.vue'; import view_dashboard_sysportlet1 from '@widgets/opportunity/view-opp-abs-portlet/view-opp-abs-portlet.vue';
......
...@@ -27,6 +27,10 @@ zuul: ...@@ -27,6 +27,10 @@ zuul:
path: /pricelevels/** path: /pricelevels/**
serviceId: ibizbusinesscentral-centralapi serviceId: ibizbusinesscentral-centralapi
stripPrefix: false stripPrefix: false
invoicedetail:
path: /invoicedetails/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
email: email:
path: /emails/** path: /emails/**
serviceId: ibizbusinesscentral-centralapi serviceId: ibizbusinesscentral-centralapi
......
...@@ -129,13 +129,6 @@ public class InvoiceDetail extends EntityMP implements Serializable { ...@@ -129,13 +129,6 @@ public class InvoiceDetail extends EntityMP implements Serializable {
@JSONField(name = "parentbundleid") @JSONField(name = "parentbundleid")
@JsonProperty("parentbundleid") @JsonProperty("parentbundleid")
private String parentbundleid; private String parentbundleid;
/**
* Product Name
*/
@TableField(value = "productname")
@JSONField(name = "productname")
@JsonProperty("productname")
private String productname;
/** /**
* Import Sequence Number * Import Sequence Number
*/ */
...@@ -545,6 +538,20 @@ public class InvoiceDetail extends EntityMP implements Serializable { ...@@ -545,6 +538,20 @@ public class InvoiceDetail extends EntityMP implements Serializable {
@JSONField(name = "uomid") @JSONField(name = "uomid")
@JsonProperty("uomid") @JsonProperty("uomid")
private String uomid; private String uomid;
/**
* 产品名称
*/
@TableField(value = "productname")
@JSONField(name = "productname")
@JsonProperty("productname")
private String productname;
/**
* 计价单位
*/
@TableField(value = "uomname")
@JSONField(name = "uomname")
@JsonProperty("uomname")
private String uomname;
/** /**
* *
...@@ -694,14 +701,6 @@ public class InvoiceDetail extends EntityMP implements Serializable { ...@@ -694,14 +701,6 @@ public class InvoiceDetail extends EntityMP implements Serializable {
this.modify("parentbundleid",parentbundleid); this.modify("parentbundleid",parentbundleid);
} }
/**
* 设置 [Product Name]
*/
public void setProductname(String productname){
this.productname = productname ;
this.modify("productname",productname);
}
/** /**
* 设置 [Import Sequence Number] * 设置 [Import Sequence Number]
*/ */
...@@ -1120,6 +1119,22 @@ public class InvoiceDetail extends EntityMP implements Serializable { ...@@ -1120,6 +1119,22 @@ public class InvoiceDetail extends EntityMP implements Serializable {
this.modify("uomid",uomid); this.modify("uomid",uomid);
} }
/**
* 设置 [产品名称]
*/
public void setProductname(String productname){
this.productname = productname ;
this.modify("productname",productname);
}
/**
* 设置 [计价单位]
*/
public void setUomname(String uomname){
this.uomname = uomname ;
this.modify("uomname",uomname);
}
} }
......
...@@ -118,6 +118,34 @@ public class InvoiceDetailSearchContext extends QueryWrapperContext<InvoiceDetai ...@@ -118,6 +118,34 @@ public class InvoiceDetailSearchContext extends QueryWrapperContext<InvoiceDetai
this.getSearchCond().eq("uomid", n_uomid_eq); this.getSearchCond().eq("uomid", n_uomid_eq);
} }
} }
private String n_productname_eq;//[产品名称]
public void setN_productname_eq(String n_productname_eq) {
this.n_productname_eq = n_productname_eq;
if(!ObjectUtils.isEmpty(this.n_productname_eq)){
this.getSearchCond().eq("productname", n_productname_eq);
}
}
private String n_productname_like;//[产品名称]
public void setN_productname_like(String n_productname_like) {
this.n_productname_like = n_productname_like;
if(!ObjectUtils.isEmpty(this.n_productname_like)){
this.getSearchCond().like("productname", n_productname_like);
}
}
private String n_uomname_eq;//[计价单位]
public void setN_uomname_eq(String n_uomname_eq) {
this.n_uomname_eq = n_uomname_eq;
if(!ObjectUtils.isEmpty(this.n_uomname_eq)){
this.getSearchCond().eq("uomname", n_uomname_eq);
}
}
private String n_uomname_like;//[计价单位]
public void setN_uomname_like(String n_uomname_like) {
this.n_uomname_like = n_uomname_like;
if(!ObjectUtils.isEmpty(this.n_uomname_like)){
this.getSearchCond().like("uomname", n_uomname_like);
}
}
/** /**
* 启用快速搜索 * 启用快速搜索
......
...@@ -84,6 +84,7 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I ...@@ -84,6 +84,7 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override @Override
@Transactional @Transactional
public boolean update(InvoiceDetail et) { public boolean update(InvoiceDetail et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("invoicedetailid",et.getInvoicedetailid()))) if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("invoicedetailid",et.getInvoicedetailid())))
return false; return false;
CachedBeanCopier.copy(get(et.getInvoicedetailid()),et); CachedBeanCopier.copy(get(et.getInvoicedetailid()),et);
...@@ -92,12 +93,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I ...@@ -92,12 +93,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override @Override
public void updateBatch(List<InvoiceDetail> list) { public void updateBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize); updateBatchById(list,batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean create(InvoiceDetail et) { public boolean create(InvoiceDetail et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et)))
return false; return false;
CachedBeanCopier.copy(get(et.getInvoicedetailid()),et); CachedBeanCopier.copy(get(et.getInvoicedetailid()),et);
...@@ -106,11 +109,13 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I ...@@ -106,11 +109,13 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override @Override
public void createBatch(List<InvoiceDetail> list) { public void createBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
this.saveBatch(list,batchSize); this.saveBatch(list,batchSize);
} }
@Override @Override
public InvoiceDetail getDraft(InvoiceDetail et) { public InvoiceDetail getDraft(InvoiceDetail et) {
fillParentData(et);
return et; return et;
} }
...@@ -136,12 +141,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I ...@@ -136,12 +141,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override @Override
public boolean saveBatch(Collection<InvoiceDetail> list) { public boolean saveBatch(Collection<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize); saveOrUpdateBatch(list,batchSize);
return true; return true;
} }
@Override @Override
public void saveBatch(List<InvoiceDetail> list) { public void saveBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize); saveOrUpdateBatch(list,batchSize);
} }
...@@ -230,6 +237,32 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I ...@@ -230,6 +237,32 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private void fillParentData(InvoiceDetail et){
//实体关系[DER1N_INVOICEDETAIL__PRODUCT__PRODUCTID]
if(!ObjectUtils.isEmpty(et.getProductid())){
cn.ibizlab.businesscentral.core.product.domain.Product product=et.getProduct();
if(ObjectUtils.isEmpty(product)){
cn.ibizlab.businesscentral.core.product.domain.Product majorEntity=productService.get(et.getProductid());
et.setProduct(majorEntity);
product=majorEntity;
}
et.setProductname(product.getProductname());
}
//实体关系[DER1N_INVOICEDETAIL__UOM__UOMID]
if(!ObjectUtils.isEmpty(et.getUomid())){
cn.ibizlab.businesscentral.core.base.domain.Uom uom=et.getUom();
if(ObjectUtils.isEmpty(uom)){
cn.ibizlab.businesscentral.core.base.domain.Uom majorEntity=uomService.get(et.getUomid());
et.setUom(majorEntity);
uom=majorEntity;
}
et.setUomname(uom.getUomname());
}
}
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性--> <!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="InvoiceDetailResultMap" databaseId="mysql"> <select id="selectById" resultMap="InvoiceDetailResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 ) t1 where invoicedetailid=#{id}]]> <![CDATA[select t1.* from (SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 ) t1 where invoicedetailid=#{id}]]>
</select> </select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 --> <!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
...@@ -103,12 +103,12 @@ ...@@ -103,12 +103,12 @@
<!--数据查询[Default]--> <!--数据查询[Default]-->
<sql id="Default" databaseId="mysql"> <sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 <![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
]]> ]]>
</sql> </sql>
<!--数据查询[View]--> <!--数据查询[View]-->
<sql id="View" databaseId="mysql"> <sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 <![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
]]> ]]>
</sql> </sql>
</mapper> </mapper>
......
...@@ -44,6 +44,14 @@ ...@@ -44,6 +44,14 @@
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}] "datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
} }
, { , {
"dename":"InvoiceDetail",
"delogicname":"发票产品",
"sysmoudle":{"id":"FINANCE","name":"Finance"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"}],
"deaction":[{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"Email", "dename":"Email",
"delogicname":"电子邮件", "delogicname":"电子邮件",
"sysmoudle":{"id":"BASE","name":"Base"}, "sysmoudle":{"id":"BASE","name":"Base"},
......
package cn.ibizlab.businesscentral.centralapi.mapping;
import org.mapstruct.*;
import cn.ibizlab.businesscentral.core.finance.domain.InvoiceDetail;
import cn.ibizlab.businesscentral.centralapi.dto.InvoiceDetailDTO;
import cn.ibizlab.businesscentral.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface InvoiceDetailMapping extends MappingBase<InvoiceDetailDTO, InvoiceDetail> {
}
...@@ -55,6 +55,10 @@ public class AppController { ...@@ -55,6 +55,10 @@ public class AppController {
appData.put("unires",uniRes); appData.put("unires",uniRes);
appData.put("appmenu",appMenu); appData.put("appmenu",appMenu);
appData.put("enablepermissionvalid",enablePermissionValid); appData.put("enablepermissionvalid",enablePermissionValid);
if(curUser.getSuperuser()==1)
appData.put("enablepermissionvalid",false);
else
appData.put("enablepermissionvalid",enablePermissionValid);
return ResponseEntity.status(HttpStatus.OK).body(appData); return ResponseEntity.status(HttpStatus.OK).body(appData);
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册