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

xignzi006 发布系统代码

上级 bb16e04c
...@@ -449,6 +449,16 @@ ...@@ -449,6 +449,16 @@
"viewtag": "21eb3cee3363f2590cf0cf6af8446300", "viewtag": "21eb3cee3363f2590cf0cf6af8446300",
"memo": "" "memo": ""
}, },
"territorygridview": {
"title": "区域表格视图",
"caption": "区域",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Base",
"viewname": "TerritoryGridView",
"viewfilename": "territory-grid-view",
"viewtag": "224e212f2d5e9c0a6a07b3c650f9b30c",
"memo": ""
},
"campaignstopgridview": { "campaignstopgridview": {
"title": "市场活动信息", "title": "市场活动信息",
"caption": "市场活动", "caption": "市场活动",
...@@ -739,6 +749,16 @@ ...@@ -739,6 +749,16 @@
"viewtag": "321c9f14181d1afaf18a8ffacea2a29f", "viewtag": "321c9f14181d1afaf18a8ffacea2a29f",
"memo": "" "memo": ""
}, },
"territoryeditview": {
"title": "区域编辑视图",
"caption": "区域",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "TerritoryEditView",
"viewfilename": "territory-edit-view",
"viewtag": "3415a4be4d65d2bdf6069eecfa2effaa",
"memo": ""
},
"leadinfo": { "leadinfo": {
"title": "潜在顾客", "title": "潜在顾客",
"caption": "潜在顾客", "caption": "潜在顾客",
......
...@@ -63,6 +63,7 @@ export class AuthServiceRegister { ...@@ -63,6 +63,7 @@ export class AuthServiceRegister {
this.allAuthService.set('connection', () => import('@/authservice/connection/connection-auth-service')); this.allAuthService.set('connection', () => import('@/authservice/connection/connection-auth-service'));
this.allAuthService.set('leadcompetitor', () => import('@/authservice/lead-competitor/lead-competitor-auth-service')); this.allAuthService.set('leadcompetitor', () => import('@/authservice/lead-competitor/lead-competitor-auth-service'));
this.allAuthService.set('campaignresponse', () => import('@/authservice/campaign-response/campaign-response-auth-service')); this.allAuthService.set('campaignresponse', () => import('@/authservice/campaign-response/campaign-response-auth-service'));
this.allAuthService.set('territory', () => import('@/authservice/territory/territory-auth-service'));
this.allAuthService.set('phonecall', () => import('@/authservice/phone-call/phone-call-auth-service')); this.allAuthService.set('phonecall', () => import('@/authservice/phone-call/phone-call-auth-service'));
this.allAuthService.set('salesorderdetail', () => import('@/authservice/sales-order-detail/sales-order-detail-auth-service')); this.allAuthService.set('salesorderdetail', () => import('@/authservice/sales-order-detail/sales-order-detail-auth-service'));
this.allAuthService.set('connectionrole', () => import('@/authservice/connection-role/connection-role-auth-service')); this.allAuthService.set('connectionrole', () => import('@/authservice/connection-role/connection-role-auth-service'));
......
import AuthService from '../auth-service';
/**
* 区域权限服务对象基类
*
* @export
* @class TerritoryAuthServiceBase
* @extends {AuthService}
*/
export default class TerritoryAuthServiceBase extends AuthService {
/**
* Creates an instance of TerritoryAuthServiceBase.
*
* @param {*} [opts={}]
* @memberof TerritoryAuthServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 根据当前数据获取实体操作标识
*
* @param {*} mainSateOPPrivs 传入数据操作标识
* @returns {any}
* @memberof TerritoryAuthServiceBase
*/
public getOPPrivs(mainSateOPPrivs:any):any{
let curDefaultOPPrivs:any = JSON.parse(JSON.stringify(this.defaultOPPrivs));
if(mainSateOPPrivs){
Object.assign(curDefaultOPPrivs,mainSateOPPrivs);
}
return curDefaultOPPrivs;
}
}
\ No newline at end of file
import TerritoryAuthServiceBase from './territory-auth-service-base';
/**
* 区域权限服务对象
*
* @export
* @class TerritoryAuthService
* @extends {TerritoryAuthServiceBase}
*/
export default class TerritoryAuthService extends TerritoryAuthServiceBase {
/**
* Creates an instance of TerritoryAuthService.
*
* @param {*} [opts={}]
* @memberof TerritoryAuthService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
/**
* 区域
*
* @export
* @interface Territory
*/
export interface Territory {
/**
* 更新人
*
* @returns {*}
* @memberof Territory
*/
updateman?: any;
/**
* 建立时间
*
* @returns {*}
* @memberof Territory
*/
createdate?: any;
/**
* 汇率
*
* @returns {*}
* @memberof Territory
*/
exchangerate?: any;
/**
* 区域
*
* @returns {*}
* @memberof Territory
*/
territoryid?: any;
/**
* 更新时间
*
* @returns {*}
* @memberof Territory
*/
updatedate?: any;
/**
* EntityImageId
*
* @returns {*}
* @memberof Territory
*/
entityimageid?: any;
/**
* 经理
*
* @returns {*}
* @memberof Territory
*/
managerid?: any;
/**
* EntityImage_URL
*
* @returns {*}
* @memberof Territory
*/
entityimage_url?: any;
/**
* Import Sequence Number
*
* @returns {*}
* @memberof Territory
*/
importsequencenumber?: any;
/**
* 时区
*
* @returns {*}
* @memberof Territory
*/
utcconversiontimezonecode?: any;
/**
* 地区名称
*
* @returns {*}
* @memberof Territory
*/
territoryname?: any;
/**
* 建立人
*
* @returns {*}
* @memberof Territory
*/
createman?: any;
/**
* Record Created On
*
* @returns {*}
* @memberof Territory
*/
overriddencreatedon?: any;
/**
* 实体图像
*
* @returns {*}
* @memberof Territory
*/
entityimage?: any;
/**
* Version Number
*
* @returns {*}
* @memberof Territory
*/
versionnumber?: any;
/**
* EntityImage_Timestamp
*
* @returns {*}
* @memberof Territory
*/
entityimage_timestamp?: any;
/**
* 管理员
*
* @returns {*}
* @memberof Territory
*/
managername?: any;
/**
* Time Zone Rule Version Number
*
* @returns {*}
* @memberof Territory
*/
timezoneruleversionnumber?: any;
/**
* 说明
*
* @returns {*}
* @memberof Territory
*/
description?: any;
/**
* 货币
*
* @returns {*}
* @memberof Territory
*/
transactioncurrencyid?: any;
/**
* 货币
*
* @returns {*}
* @memberof Territory
*/
transactioncurrencyname?: any;
}
\ No newline at end of file
...@@ -22,6 +22,7 @@ import ibizlist_en_US from '@locale/lanres/entities/ibiz-list/ibiz-list_en_US'; ...@@ -22,6 +22,7 @@ import ibizlist_en_US from '@locale/lanres/entities/ibiz-list/ibiz-list_en_US';
import connection_en_US from '@locale/lanres/entities/connection/connection_en_US'; import connection_en_US from '@locale/lanres/entities/connection/connection_en_US';
import leadcompetitor_en_US from '@locale/lanres/entities/lead-competitor/lead-competitor_en_US'; import leadcompetitor_en_US from '@locale/lanres/entities/lead-competitor/lead-competitor_en_US';
import campaignresponse_en_US from '@locale/lanres/entities/campaign-response/campaign-response_en_US'; import campaignresponse_en_US from '@locale/lanres/entities/campaign-response/campaign-response_en_US';
import territory_en_US from '@locale/lanres/entities/territory/territory_en_US';
import phonecall_en_US from '@locale/lanres/entities/phone-call/phone-call_en_US'; import phonecall_en_US from '@locale/lanres/entities/phone-call/phone-call_en_US';
import salesorderdetail_en_US from '@locale/lanres/entities/sales-order-detail/sales-order-detail_en_US'; import salesorderdetail_en_US from '@locale/lanres/entities/sales-order-detail/sales-order-detail_en_US';
import connectionrole_en_US from '@locale/lanres/entities/connection-role/connection-role_en_US'; import connectionrole_en_US from '@locale/lanres/entities/connection-role/connection-role_en_US';
...@@ -188,8 +189,9 @@ export default { ...@@ -188,8 +189,9 @@ export default {
user_menus: "用户菜单", user_menus: "用户菜单",
top_menus: "顶部菜单", top_menus: "顶部菜单",
menuitem3: "系统设置", menuitem3: "系统设置",
menuitem4: "链接角色", menuitem33: "区域",
menuitem26: "货币", menuitem26: "货币",
menuitem4: "链接角色",
menuitem34: "消息通知", menuitem34: "消息通知",
menuitem35: "帮助", menuitem35: "帮助",
left_exp: "左侧菜单", left_exp: "左侧菜单",
...@@ -350,6 +352,7 @@ export default { ...@@ -350,6 +352,7 @@ export default {
connection: connection_en_US, connection: connection_en_US,
leadcompetitor: leadcompetitor_en_US, leadcompetitor: leadcompetitor_en_US,
campaignresponse: campaignresponse_en_US, campaignresponse: campaignresponse_en_US,
territory: territory_en_US,
phonecall: phonecall_en_US, phonecall: phonecall_en_US,
salesorderdetail: salesorderdetail_en_US, salesorderdetail: salesorderdetail_en_US,
connectionrole: connectionrole_en_US, connectionrole: connectionrole_en_US,
......
...@@ -22,6 +22,7 @@ import ibizlist_zh_CN from '@locale/lanres/entities/ibiz-list/ibiz-list_zh_CN'; ...@@ -22,6 +22,7 @@ import ibizlist_zh_CN from '@locale/lanres/entities/ibiz-list/ibiz-list_zh_CN';
import connection_zh_CN from '@locale/lanres/entities/connection/connection_zh_CN'; import connection_zh_CN from '@locale/lanres/entities/connection/connection_zh_CN';
import leadcompetitor_zh_CN from '@locale/lanres/entities/lead-competitor/lead-competitor_zh_CN'; import leadcompetitor_zh_CN from '@locale/lanres/entities/lead-competitor/lead-competitor_zh_CN';
import campaignresponse_zh_CN from '@locale/lanres/entities/campaign-response/campaign-response_zh_CN'; import campaignresponse_zh_CN from '@locale/lanres/entities/campaign-response/campaign-response_zh_CN';
import territory_zh_CN from '@locale/lanres/entities/territory/territory_zh_CN';
import phonecall_zh_CN from '@locale/lanres/entities/phone-call/phone-call_zh_CN'; import phonecall_zh_CN from '@locale/lanres/entities/phone-call/phone-call_zh_CN';
import salesorderdetail_zh_CN from '@locale/lanres/entities/sales-order-detail/sales-order-detail_zh_CN'; import salesorderdetail_zh_CN from '@locale/lanres/entities/sales-order-detail/sales-order-detail_zh_CN';
import connectionrole_zh_CN from '@locale/lanres/entities/connection-role/connection-role_zh_CN'; import connectionrole_zh_CN from '@locale/lanres/entities/connection-role/connection-role_zh_CN';
...@@ -188,8 +189,9 @@ export default { ...@@ -188,8 +189,9 @@ export default {
user_menus: "用户菜单", user_menus: "用户菜单",
top_menus: "顶部菜单", top_menus: "顶部菜单",
menuitem3: "系统设置", menuitem3: "系统设置",
menuitem4: "链接角色", menuitem33: "区域",
menuitem26: "货币", menuitem26: "货币",
menuitem4: "链接角色",
menuitem34: "消息通知", menuitem34: "消息通知",
menuitem35: "帮助", menuitem35: "帮助",
left_exp: "左侧菜单", left_exp: "左侧菜单",
...@@ -349,6 +351,7 @@ export default { ...@@ -349,6 +351,7 @@ export default {
connection: connection_zh_CN, connection: connection_zh_CN,
leadcompetitor: leadcompetitor_zh_CN, leadcompetitor: leadcompetitor_zh_CN,
campaignresponse: campaignresponse_zh_CN, campaignresponse: campaignresponse_zh_CN,
territory: territory_zh_CN,
phonecall: phonecall_zh_CN, phonecall: phonecall_zh_CN,
salesorderdetail: salesorderdetail_zh_CN, salesorderdetail: salesorderdetail_zh_CN,
connectionrole: connectionrole_zh_CN, connectionrole: connectionrole_zh_CN,
......
export default {
fields: {
updateman: "更新人",
createdate: "建立时间",
exchangerate: "汇率",
territoryid: "区域",
updatedate: "更新时间",
entityimageid: "EntityImageId",
managerid: "经理",
entityimage_url: "EntityImage_URL",
importsequencenumber: "Import Sequence Number",
utcconversiontimezonecode: "时区",
territoryname: "地区名称",
createman: "建立人",
overriddencreatedon: "Record Created On",
entityimage: "实体图像",
versionnumber: "Version Number",
entityimage_timestamp: "EntityImage_Timestamp",
managername: "管理员",
timezoneruleversionnumber: "Time Zone Rule Version Number",
description: "说明",
transactioncurrencyid: "货币",
transactioncurrencyname: "货币",
},
views: {
gridview: {
caption: "区域",
title: "区域表格视图",
},
editview: {
caption: "区域",
title: "区域编辑视图",
},
},
main_form: {
details: {
group1: "territory基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "区域",
srfmajortext: "地区名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
territoryname: "地区名称",
managername: "管理员",
transactioncurrencyname: "货币",
exchangerate: "汇率",
transactioncurrencyid: "货币",
territoryid: "区域",
},
uiactions: {
},
},
main_grid: {
columns: {
territoryname: "地区名称",
managername: "管理员",
transactioncurrencyname: "货币",
exchangerate: "汇率",
updatedate: "更新时间",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
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}",
},
},
};
\ No newline at end of file
export default {
fields: {
updateman: "更新人",
createdate: "建立时间",
exchangerate: "汇率",
territoryid: "区域",
updatedate: "更新时间",
entityimageid: "EntityImageId",
managerid: "经理",
entityimage_url: "EntityImage_URL",
importsequencenumber: "Import Sequence Number",
utcconversiontimezonecode: "时区",
territoryname: "地区名称",
createman: "建立人",
overriddencreatedon: "Record Created On",
entityimage: "实体图像",
versionnumber: "Version Number",
entityimage_timestamp: "EntityImage_Timestamp",
managername: "管理员",
timezoneruleversionnumber: "Time Zone Rule Version Number",
description: "说明",
transactioncurrencyid: "货币",
transactioncurrencyname: "货币",
},
views: {
gridview: {
caption: "区域",
title: "区域表格视图",
},
editview: {
caption: "区域",
title: "区域编辑视图",
},
},
main_form: {
details: {
group1: "territory基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "区域",
srfmajortext: "地区名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
territoryname: "地区名称",
managername: "管理员",
transactioncurrencyname: "货币",
exchangerate: "汇率",
transactioncurrencyid: "货币",
territoryid: "区域",
},
uiactions: {
},
},
main_grid: {
columns: {
territoryname: "地区名称",
managername: "管理员",
transactioncurrencyname: "货币",
exchangerate: "汇率",
updatedate: "更新时间",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
tip: "新建",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
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
...@@ -61,25 +61,25 @@ mock.onGet('v7/centralappmenu').reply((config: any) => { ...@@ -61,25 +61,25 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
iconcls: 'fa fa-certificate', iconcls: 'fa fa-certificate',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_4', appfunctag: '_5',
resourcetag: '', resourcetag: '',
items: [ items: [
{ {
id: '214745B6-68CB-4548-B138-81E07338033C', id: 'DEFD42F2-BBE6-464F-A669-FF16D127830B',
name: 'menuitem4', name: 'menuitem33',
text: '链接角色', text: '区域',
type: 'MENUITEM', type: 'MENUITEM',
counterid: '', counterid: '',
tooltip: '链接角色', tooltip: '区域',
expanded: false, expanded: false,
separator: false, separator: false,
hidden: false, hidden: false,
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: 'fa fa-link', iconcls: 'fa fa-medium',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_5', appfunctag: '_4',
resourcetag: '', resourcetag: '',
}, },
{ {
...@@ -97,7 +97,25 @@ mock.onGet('v7/centralappmenu').reply((config: any) => { ...@@ -97,7 +97,25 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
iconcls: 'fa fa-rmb', iconcls: 'fa fa-rmb',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_7', appfunctag: '_8',
resourcetag: '',
},
{
id: '214745B6-68CB-4548-B138-81E07338033C',
name: 'menuitem4',
text: '链接角色',
type: 'MENUITEM',
counterid: '',
tooltip: '链接角色',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-link',
icon: '',
textcls: '',
appfunctag: '_6',
resourcetag: '', resourcetag: '',
}, },
], ],
...@@ -301,7 +319,7 @@ mock.onGet('v7/centralappmenu').reply((config: any) => { ...@@ -301,7 +319,7 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
iconcls: 'fa fa-users', iconcls: 'fa fa-users',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_8', appfunctag: '_9',
resourcetag: '', resourcetag: '',
}, },
{ {
...@@ -615,7 +633,7 @@ mock.onGet('v7/centralappmenu').reply((config: any) => { ...@@ -615,7 +633,7 @@ mock.onGet('v7/centralappmenu').reply((config: any) => {
iconcls: 'fa fa-line-chart', iconcls: 'fa fa-line-chart',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_6', appfunctag: '_7',
resourcetag: '', resourcetag: '',
}, },
], ],
......
...@@ -25,7 +25,7 @@ mock.onGet('v7/settingappmenu').reply((config: any) => { ...@@ -25,7 +25,7 @@ mock.onGet('v7/settingappmenu').reply((config: any) => {
iconcls: 'fa fa-connectdevelop', iconcls: 'fa fa-connectdevelop',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_5', appfunctag: '_6',
resourcetag: '', resourcetag: '',
}, },
], ],
......
此差异已折叠。
...@@ -31,6 +31,7 @@ import './entity/ibiz-lists/ibiz-lists'; ...@@ -31,6 +31,7 @@ import './entity/ibiz-lists/ibiz-lists';
import './entity/connections/connections'; import './entity/connections/connections';
import './entity/lead-competitors/lead-competitors'; import './entity/lead-competitors/lead-competitors';
import './entity/campaign-responses/campaign-responses'; import './entity/campaign-responses/campaign-responses';
import './entity/territorys/territorys';
import './entity/phone-calls/phone-calls'; import './entity/phone-calls/phone-calls';
import './entity/sales-order-details/sales-order-details'; import './entity/sales-order-details/sales-order-details';
import './entity/connection-roles/connection-roles'; import './entity/connection-roles/connection-roles';
......
...@@ -367,6 +367,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -367,6 +367,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactInfo_Person", "viewname": "ContactInfo_Person",
"viewtag": "21eb3cee3363f2590cf0cf6af8446300" "viewtag": "21eb3cee3363f2590cf0cf6af8446300"
}, },
"territorygridview": {
"title": "区域表格视图",
"caption": "区域",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Base",
"viewname": "TerritoryGridView",
"viewtag": "224e212f2d5e9c0a6a07b3c650f9b30c"
},
"campaignstopgridview": { "campaignstopgridview": {
"title": "市场活动信息", "title": "市场活动信息",
"caption": "市场活动", "caption": "市场活动",
...@@ -599,6 +607,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -599,6 +607,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "CompetitorProductEdit_CompProView", "viewname": "CompetitorProductEdit_CompProView",
"viewtag": "321c9f14181d1afaf18a8ffacea2a29f" "viewtag": "321c9f14181d1afaf18a8ffacea2a29f"
}, },
"territoryeditview": {
"title": "区域编辑视图",
"caption": "区域",
"viewtype": "DEEDITVIEW",
"viewmodule": "Base",
"viewname": "TerritoryEditView",
"viewtag": "3415a4be4d65d2bdf6069eecfa2effaa"
},
"leadinfo": { "leadinfo": {
"title": "潜在顾客", "title": "潜在顾客",
"caption": "潜在顾客", "caption": "潜在顾客",
......
...@@ -19,8 +19,8 @@ export const PageComponents = { ...@@ -19,8 +19,8 @@ export const PageComponents = {
Vue.component('sales-order-invoice-grid-view', () => import('@pages/sales/sales-order-invoice-grid-view/sales-order-invoice-grid-view.vue')); Vue.component('sales-order-invoice-grid-view', () => import('@pages/sales/sales-order-invoice-grid-view/sales-order-invoice-grid-view.vue'));
Vue.component('sales-order-edit-data-panel-view', () => import('@pages/sales/sales-order-edit-data-panel-view/sales-order-edit-data-panel-view.vue')); Vue.component('sales-order-edit-data-panel-view', () => import('@pages/sales/sales-order-edit-data-panel-view/sales-order-edit-data-panel-view.vue'));
Vue.component('opportunity-competitor-opp-comp-grid-view', () => import('@pages/sales/opportunity-competitor-opp-comp-grid-view/opportunity-competitor-opp-comp-grid-view.vue')); Vue.component('opportunity-competitor-opp-comp-grid-view', () => import('@pages/sales/opportunity-competitor-opp-comp-grid-view/opportunity-competitor-opp-comp-grid-view.vue'));
Vue.component('invoice-by-parent-key', () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'));
Vue.component('goal-info-goal-view', () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue')); Vue.component('goal-info-goal-view', () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'));
Vue.component('invoice-by-parent-key', () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'));
Vue.component('invoice-paid-grid-view', () => import('@pages/finance/invoice-paid-grid-view/invoice-paid-grid-view.vue')); Vue.component('invoice-paid-grid-view', () => import('@pages/finance/invoice-paid-grid-view/invoice-paid-grid-view.vue'));
Vue.component('goal-info-view', () => import('@pages/sales/goal-info-view/goal-info-view.vue')); Vue.component('goal-info-view', () => import('@pages/sales/goal-info-view/goal-info-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'));
...@@ -42,6 +42,7 @@ export const PageComponents = { ...@@ -42,6 +42,7 @@ export const PageComponents = {
Vue.component('knowledge-article-grid-view', () => import('@pages/base/knowledge-article-grid-view/knowledge-article-grid-view.vue')); Vue.component('knowledge-article-grid-view', () => import('@pages/base/knowledge-article-grid-view/knowledge-article-grid-view.vue'));
Vue.component('product-quick-create-view', () => import('@pages/product/product-quick-create-view/product-quick-create-view.vue')); Vue.component('product-quick-create-view', () => import('@pages/product/product-quick-create-view/product-quick-create-view.vue'));
Vue.component('campaign-info-manager', () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue')); Vue.component('campaign-info-manager', () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue'));
Vue.component('territory-grid-view', () => import('@pages/base/territory-grid-view/territory-grid-view.vue'));
Vue.component('opportunity-info-abstract', () => import('@pages/sales/opportunity-info-abstract/opportunity-info-abstract.vue')); Vue.component('opportunity-info-abstract', () => import('@pages/sales/opportunity-info-abstract/opportunity-info-abstract.vue'));
Vue.component('list-contact-edit-view', () => import('@pages/marketing/list-contact-edit-view/list-contact-edit-view.vue')); Vue.component('list-contact-edit-view', () => import('@pages/marketing/list-contact-edit-view/list-contact-edit-view.vue'));
Vue.component('opportunity-state-tab-view', () => import('@pages/sales/opportunity-state-tab-view/opportunity-state-tab-view.vue')); Vue.component('opportunity-state-tab-view', () => import('@pages/sales/opportunity-state-tab-view/opportunity-state-tab-view.vue'));
...@@ -114,6 +115,7 @@ export const PageComponents = { ...@@ -114,6 +115,7 @@ export const PageComponents = {
Vue.component('sales-order-detail-soproduct-grid-view', () => import('@pages/sales/sales-order-detail-soproduct-grid-view/sales-order-detail-soproduct-grid-view.vue')); Vue.component('sales-order-detail-soproduct-grid-view', () => import('@pages/sales/sales-order-detail-soproduct-grid-view/sales-order-detail-soproduct-grid-view.vue'));
Vue.component('opportunity-competitor-edit-view', () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue')); Vue.component('opportunity-competitor-edit-view', () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue'));
Vue.component('incident-info-incident-view', () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue')); Vue.component('incident-info-incident-view', () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue'));
Vue.component('territory-edit-view', () => import('@pages/base/territory-edit-view/territory-edit-view.vue'));
Vue.component('account-usable-grid-view', () => import('@pages/base/account-usable-grid-view/account-usable-grid-view.vue')); Vue.component('account-usable-grid-view', () => import('@pages/base/account-usable-grid-view/account-usable-grid-view.vue'));
Vue.component('sales-order-info-soview', () => import('@pages/sales/sales-order-info-soview/sales-order-info-soview.vue')); Vue.component('sales-order-info-soview', () => import('@pages/sales/sales-order-info-soview/sales-order-info-soview.vue'));
Vue.component('quote-state-tab-view', () => import('@pages/sales/quote-state-tab-view/quote-state-tab-view.vue')); Vue.component('quote-state-tab-view', () => import('@pages/sales/quote-state-tab-view/quote-state-tab-view.vue'));
......
...@@ -879,6 +879,20 @@ const router = new Router({ ...@@ -879,6 +879,20 @@ const router = new Router({
}, },
component: () => import('@pages/sales/opportunity-competitor-opp-comp-grid-view/opportunity-competitor-opp-comp-grid-view.vue'), component: () => import('@pages/sales/opportunity-competitor-opp-comp-grid-view/opportunity-competitor-opp-comp-grid-view.vue'),
}, },
{
path: 'goals/:goal?/info_goalview/:info_goalview?',
meta: {
caption: 'entities.goal.views.info_goalview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'goals', parameterName: 'goal' },
{ pathName: 'info_goalview', parameterName: 'info_goalview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'),
},
{ {
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/salesorders/:salesorder?/invoices/:invoice?/byparentkey/:byparentkey?', path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/salesorders/:salesorder?/invoices/:invoice?/byparentkey/:byparentkey?',
meta: { meta: {
...@@ -996,20 +1010,6 @@ const router = new Router({ ...@@ -996,20 +1010,6 @@ const router = new Router({
}, },
component: () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'), component: () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'),
}, },
{
path: 'goals/:goal?/info_goalview/:info_goalview?',
meta: {
caption: 'entities.goal.views.info_goalview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'goals', parameterName: 'goal' },
{ pathName: 'info_goalview', parameterName: 'info_goalview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'),
},
{ {
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/salesorders/:salesorder?/invoices/:invoice?/paidgridview/:paidgridview?', path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/quotes/:quote?/salesorders/:salesorder?/invoices/:invoice?/paidgridview/:paidgridview?',
meta: { meta: {
...@@ -1919,6 +1919,20 @@ const router = new Router({ ...@@ -1919,6 +1919,20 @@ const router = new Router({
}, },
component: () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue'), component: () => import('@pages/marketing/campaign-info-manager/campaign-info-manager.vue'),
}, },
{
path: 'territories/:territory?/gridview/:gridview?',
meta: {
caption: 'entities.territory.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'territories', parameterName: 'territory' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/territory-grid-view/territory-grid-view.vue'),
},
{ {
path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/info_abstract/:info_abstract?', path: 'accounts/:account?/contacts/:contact?/opportunities/:opportunity?/info_abstract/:info_abstract?',
meta: { meta: {
...@@ -4904,6 +4918,20 @@ const router = new Router({ ...@@ -4904,6 +4918,20 @@ const router = new Router({
}, },
component: () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue'), component: () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue'),
}, },
{
path: 'territories/:territory?/editview/:editview?',
meta: {
caption: 'entities.territory.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'territories', parameterName: 'territory' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/territory-edit-view/territory-edit-view.vue'),
},
{ {
path: 'accounts/:account?/usablegridview/:usablegridview?', path: 'accounts/:account?/usablegridview/:usablegridview?',
meta: { meta: {
......
<studio-view-style2 viewName="territoryeditview" viewTitle="区域编辑视图" class='deeditview territory-edit-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</studio-view-style2>
\ No newline at end of file
<template src="./territory-edit-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TerritoryEditViewBase } from './territory-edit-view-base';
import view_form from '@widgets/territory/main-form/main-form.vue';
/**
* 区域编辑视图视图
*
* @export
* @class TerritoryEditView
* @extends {TerritoryEditViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class TerritoryEditView extends TerritoryEditViewBase { }
</script>
<studio-view-style2 viewName="territorygridview" viewTitle="区域表格视图" class='degridview territory-grid-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchDefault"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./territory-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { TerritoryGridViewBase } from './territory-grid-view-base';
import view_grid from '@widgets/territory/main-grid/main-grid.vue';
import view_searchform from '@widgets/territory/default-searchform/default-searchform.vue';
/**
* 区域表格视图视图
*
* @export
* @class TerritoryGridView
* @extends {TerritoryGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class TerritoryGridView extends TerritoryGridViewBase { }
</script>
...@@ -63,6 +63,7 @@ export class EntityServiceRegister { ...@@ -63,6 +63,7 @@ export class EntityServiceRegister {
this.allEntityService.set('connection', () => import('@/service/connection/connection-service')); this.allEntityService.set('connection', () => import('@/service/connection/connection-service'));
this.allEntityService.set('leadcompetitor', () => import('@/service/lead-competitor/lead-competitor-service')); this.allEntityService.set('leadcompetitor', () => import('@/service/lead-competitor/lead-competitor-service'));
this.allEntityService.set('campaignresponse', () => import('@/service/campaign-response/campaign-response-service')); this.allEntityService.set('campaignresponse', () => import('@/service/campaign-response/campaign-response-service'));
this.allEntityService.set('territory', () => import('@/service/territory/territory-service'));
this.allEntityService.set('phonecall', () => import('@/service/phone-call/phone-call-service')); this.allEntityService.set('phonecall', () => import('@/service/phone-call/phone-call-service'));
this.allEntityService.set('salesorderdetail', () => import('@/service/sales-order-detail/sales-order-detail-service')); this.allEntityService.set('salesorderdetail', () => import('@/service/sales-order-detail/sales-order-detail-service'));
this.allEntityService.set('connectionrole', () => import('@/service/connection-role/connection-role-service')); this.allEntityService.set('connectionrole', () => import('@/service/connection-role/connection-role-service'));
......
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 区域服务对象基类
*
* @export
* @class TerritoryServiceBase
* @extends {EntityServie}
*/
export default class TerritoryServiceBase extends EntityService {
/**
* Creates an instance of TerritoryServiceBase.
*
* @param {*} [opts={}]
* @memberof TerritoryServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof TerritoryServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='territory';
this.APPDEKEY = 'territoryid';
this.APPDENAME = 'territories';
this.APPDETEXT = 'territoryname';
this.APPNAME = 'crm';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(`/territories/${context.territory}/select`,isloading);
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
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(`/territories`,data,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
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(`/territories/${context.territory}`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/territories/${context.territory}`,isloading);
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/territories/${context.territory}`,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/territories/getdraft`,isloading);
res.data.territory = data.territory;
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`/territories/${context.territory}/checkkey`,data,isloading);
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
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(`/territories/${context.territory}/save`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof TerritoryServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/territories/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import TerritoryServiceBase from './territory-service-base';
/**
* 区域服务对象
*
* @export
* @class TerritoryService
* @extends {TerritoryServiceBase}
*/
export default class TerritoryService extends TerritoryServiceBase {
/**
* Creates an instance of TerritoryService.
*
* @param {*} [opts={}]
* @memberof TerritoryService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -410,6 +410,16 @@ export const viewstate: any = { ...@@ -410,6 +410,16 @@ export const viewstate: any = {
'e9c822edbc51531e713b561101e783a6', 'e9c822edbc51531e713b561101e783a6',
], ],
}, },
{
viewtag: '224e212f2d5e9c0a6a07b3c650f9b30c',
viewmodule: 'Base',
viewname: 'TerritoryGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'3415a4be4d65d2bdf6069eecfa2effaa',
],
},
{ {
viewtag: '236d90aa8adf8a3e08dae1a9fa5112a9', viewtag: '236d90aa8adf8a3e08dae1a9fa5112a9',
viewmodule: 'Marketing', viewmodule: 'Marketing',
...@@ -680,6 +690,16 @@ export const viewstate: any = { ...@@ -680,6 +690,16 @@ export const viewstate: any = {
'ba34ee36c1d0de288403607e17e7eb3e', 'ba34ee36c1d0de288403607e17e7eb3e',
], ],
}, },
{
viewtag: '3415a4be4d65d2bdf6069eecfa2effaa',
viewmodule: 'Base',
viewname: 'TerritoryEditView',
viewaction: '',
viewdatachange: false,
refviews: [
'da3f8c1f20f440f3df54d6c13a8de586',
],
},
{ {
viewtag: '35728a12ceecb647982051842853547c', viewtag: '35728a12ceecb647982051842853547c',
viewmodule: 'Sales', viewmodule: 'Sales',
...@@ -1612,6 +1632,7 @@ export const viewstate: any = { ...@@ -1612,6 +1632,7 @@ export const viewstate: any = {
'02131b45343ed8c70e500cd8ac520361', '02131b45343ed8c70e500cd8ac520361',
'90b48a107932f432e0dde42791a51887', '90b48a107932f432e0dde42791a51887',
'c67b638daa17df2f9ecf99fc1c396e2f', 'c67b638daa17df2f9ecf99fc1c396e2f',
'224e212f2d5e9c0a6a07b3c650f9b30c',
'9af073dea1ea05903d52e8bdc5a03dd5', '9af073dea1ea05903d52e8bdc5a03dd5',
'45fdc8ee4d1401d2d625e80177395ddc', '45fdc8ee4d1401d2d625e80177395ddc',
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4', '9AE386A9-53DE-4F99-BCCA-747AEFE666A4',
......
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import TerritoryService from '@/service/territory/territory-service';
import TerritoryAuthService from '@/authservice/territory/territory-auth-service';
/**
* 区域UI服务对象基类
*
* @export
* @class TerritoryUIServiceBase
*/
export default class TerritoryUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof TerritoryUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof TerritoryUIServiceBase
*/
public dataService:TerritoryService = new TerritoryService();
/**
* 所有关联视图
*
* @memberof TerritoryUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof TerritoryUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof TerritoryUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof TerritoryUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof TerritoryUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* 主状态操作标识Map
*
* @memberof TerritoryUIServiceBase
*/
public allDeMainStateOPPrivsMap:Map<string,any> = new Map();
/**
* Creates an instance of TerritoryUIServiceBase.
*
* @param {*} [opts={}]
* @memberof TerritoryUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.authService = new TerritoryAuthService(opts);
this.initViewMap();
this.initDeMainStateMap();
this.initDeMainStateOPPrivsMap();
}
/**
* 初始化视图Map
*
* @memberof TerritoryUIServiceBase
*/
public initViewMap(){
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'territories'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'territories'});
}
/**
* 初始化主状态集合
*
* @memberof TerritoryUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 初始化主状态操作标识
*
* @memberof TerritoryUIServiceBase
*/
public initDeMainStateOPPrivsMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof TerritoryUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({territory: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 TerritoryUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof TerritoryUIServiceBase
*/
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:${ this.getDEMainStateTag(curData)}`;
}
return 'MOBEDITVIEW:';
}
if(this.getDEMainStateTag(curData)){
return `EDITVIEW:MSTAG:${ this.getDEMainStateTag(curData)}`;
}
return 'EDITVIEW:';
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof TerritoryUIServiceBase
*/
public getDEMainStateTag(curData:any){
if(this.mainStateFields.length === 0) return null;
this.mainStateFields.forEach((singleMainField:any) =>{
if(!(singleMainField in curData)){
console.error(`当前数据对象不包含属性singleMainField,可能会发生错误`);
}
})
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;
}
/**
* 获取数据对象当前操作标识
*
* @param data 当前数据
* @memberof TerritoryUIServiceBase
*/
public getDEMainStateOPPrivs(data:any){
if(this.getDEMainStateTag(data)){
return this.allDeMainStateOPPrivsMap.get((this.getDEMainStateTag(data) as string));
}else{
return null;
}
}
/**
* 获取数据对象所有的操作标识
*
* @param data 当前数据
* @memberof TerritoryUIServiceBase
*/
public getAllOPPrivs(data:any){
return this.authService.getOPPrivs(this.getDEMainStateOPPrivs(data));
}
}
\ No newline at end of file
import TerritoryUIServiceBase from './territory-ui-service-base';
/**
* 区域UI服务对象
*
* @export
* @class TerritoryUIService
*/
export default class TerritoryUIService extends TerritoryUIServiceBase {
/**
* Creates an instance of TerritoryUIService.
*
* @param {*} [opts={}]
* @memberof TerritoryUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
...@@ -63,6 +63,7 @@ export class UIServiceRegister { ...@@ -63,6 +63,7 @@ export class UIServiceRegister {
this.allUIService.set('connection', () => import('@/uiservice/connection/connection-ui-service')); this.allUIService.set('connection', () => import('@/uiservice/connection/connection-ui-service'));
this.allUIService.set('leadcompetitor', () => import('@/uiservice/lead-competitor/lead-competitor-ui-service')); this.allUIService.set('leadcompetitor', () => import('@/uiservice/lead-competitor/lead-competitor-ui-service'));
this.allUIService.set('campaignresponse', () => import('@/uiservice/campaign-response/campaign-response-ui-service')); this.allUIService.set('campaignresponse', () => import('@/uiservice/campaign-response/campaign-response-ui-service'));
this.allUIService.set('territory', () => import('@/uiservice/territory/territory-ui-service'));
this.allUIService.set('phonecall', () => import('@/uiservice/phone-call/phone-call-ui-service')); this.allUIService.set('phonecall', () => import('@/uiservice/phone-call/phone-call-ui-service'));
this.allUIService.set('salesorderdetail', () => import('@/uiservice/sales-order-detail/sales-order-detail-ui-service')); this.allUIService.set('salesorderdetail', () => import('@/uiservice/sales-order-detail/sales-order-detail-ui-service'));
this.allUIService.set('connectionrole', () => import('@/uiservice/connection-role/connection-role-ui-service')); this.allUIService.set('connectionrole', () => import('@/uiservice/connection-role/connection-role-ui-service'));
......
...@@ -30,32 +30,34 @@ export class CentralBase extends Vue { ...@@ -30,32 +30,34 @@ export class CentralBase extends Vue {
this.clickAuto6(item); break; this.clickAuto6(item); break;
case 'Auto3': case 'Auto3':
this.clickAuto3(item); break; this.clickAuto3(item); break;
case '_6': case '_7':
this.click_6(item); break; this.click_7(item); break;
case 'Auto15': case 'Auto15':
this.clickAuto15(item); break; this.clickAuto15(item); break;
case 'Auto11': case 'Auto11':
this.clickAuto11(item); break; this.clickAuto11(item); break;
case '_5': case '_6':
this.click_5(item); break; this.click_6(item); break;
case 'Auto14': case 'Auto14':
this.clickAuto14(item); break; this.clickAuto14(item); break;
case '_4': case '_5':
this.click_4(item); break; this.click_5(item); break;
case 'Auto10': case 'Auto10':
this.clickAuto10(item); break; this.clickAuto10(item); break;
case 'Auto16': case 'Auto16':
this.clickAuto16(item); break; this.clickAuto16(item); break;
case 'Auto1': case 'Auto1':
this.clickAuto1(item); break; this.clickAuto1(item); break;
case '_7': case '_8':
this.click_7(item); break; this.click_8(item); break;
case '_4':
this.click_4(item); break;
case '_2': case '_2':
this.click_2(item); break; this.click_2(item); break;
case 'Auto7': case 'Auto7':
this.clickAuto7(item); break; this.clickAuto7(item); break;
case '_8': case '_9':
this.click_8(item); break; this.click_9(item); break;
case 'Auto5': case 'Auto5':
this.clickAuto5(item); break; this.clickAuto5(item); break;
default: default:
...@@ -235,7 +237,7 @@ export class CentralBase extends Vue { ...@@ -235,7 +237,7 @@ export class CentralBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Central * @memberof Central
*/ */
public click_6(item: any = {}) { public click_7(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -304,7 +306,7 @@ export class CentralBase extends Vue { ...@@ -304,7 +306,7 @@ export class CentralBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Central * @memberof Central
*/ */
public click_5(item: any = {}) { public click_6(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -350,7 +352,7 @@ export class CentralBase extends Vue { ...@@ -350,7 +352,7 @@ export class CentralBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Central * @memberof Central
*/ */
public click_4(item: any = {}) { public click_5(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -440,7 +442,7 @@ export class CentralBase extends Vue { ...@@ -440,7 +442,7 @@ export class CentralBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Central * @memberof Central
*/ */
public click_7(item: any = {}) { public click_8(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
...@@ -457,6 +459,29 @@ export class CentralBase extends Vue { ...@@ -457,6 +459,29 @@ export class CentralBase extends Vue {
}) })
} }
/**
* 区域
*
* @param {*} [item={}]
* @memberof Central
*/
public click_4(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'territories', parameterName: 'territory' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/** /**
* 知识文章 * 知识文章
* *
...@@ -509,7 +534,7 @@ export class CentralBase extends Vue { ...@@ -509,7 +534,7 @@ export class CentralBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Central * @memberof Central
*/ */
public click_8(item: any = {}) { public click_9(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
......
...@@ -66,29 +66,29 @@ export default class CentralModel { ...@@ -66,29 +66,29 @@ export default class CentralModel {
iconcls: 'fa fa-certificate', iconcls: 'fa fa-certificate',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_4', appfunctag: '_5',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'setting', viewname: 'setting',
resourcetag: '', resourcetag: '',
items: [ items: [
{ {
id: '214745B6-68CB-4548-B138-81E07338033C', id: 'DEFD42F2-BBE6-464F-A669-FF16D127830B',
name: 'menuitem4', name: 'menuitem33',
text: '链接角色', text: '区域',
type: 'MENUITEM', type: 'MENUITEM',
counterid: '', counterid: '',
tooltip: '链接角色', tooltip: '区域',
expanded: false, expanded: false,
separator: false, separator: false,
hidden: false, hidden: false,
hidesidebar: false, hidesidebar: false,
opendefault: false, opendefault: false,
iconcls: 'fa fa-link', iconcls: 'fa fa-medium',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_5', appfunctag: '_4',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'connection-role-grid-view', viewname: 'territory-grid-view',
resourcetag: '', resourcetag: '',
} }
, ,
...@@ -107,11 +107,32 @@ export default class CentralModel { ...@@ -107,11 +107,32 @@ export default class CentralModel {
iconcls: 'fa fa-rmb', iconcls: 'fa fa-rmb',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_7', appfunctag: '_8',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'transaction-currency-grid-view', viewname: 'transaction-currency-grid-view',
resourcetag: '', resourcetag: '',
} }
,
{
id: '214745B6-68CB-4548-B138-81E07338033C',
name: 'menuitem4',
text: '链接角色',
type: 'MENUITEM',
counterid: '',
tooltip: '链接角色',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'fa fa-link',
icon: '',
textcls: '',
appfunctag: '_6',
appfuncyype: 'APPVIEW',
viewname: 'connection-role-grid-view',
resourcetag: '',
}
, ,
], ],
} }
...@@ -328,7 +349,7 @@ export default class CentralModel { ...@@ -328,7 +349,7 @@ export default class CentralModel {
iconcls: 'fa fa-users', iconcls: 'fa fa-users',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_8', appfunctag: '_9',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'account-status-tab-view', viewname: 'account-status-tab-view',
resourcetag: '', resourcetag: '',
...@@ -685,7 +706,7 @@ export default class CentralModel { ...@@ -685,7 +706,7 @@ export default class CentralModel {
iconcls: 'fa fa-line-chart', iconcls: 'fa fa-line-chart',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_6', appfunctag: '_7',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'metric-grid-view', viewname: 'metric-grid-view',
resourcetag: '', resourcetag: '',
...@@ -931,7 +952,7 @@ export default class CentralModel { ...@@ -931,7 +952,7 @@ export default class CentralModel {
], ],
}, },
{ {
appfunctag: '_6', appfunctag: '_7',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'metricgridview', codename: 'metricgridview',
...@@ -967,7 +988,7 @@ export default class CentralModel { ...@@ -967,7 +988,7 @@ export default class CentralModel {
], ],
}, },
{ {
appfunctag: '_5', appfunctag: '_6',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'connectionrolegridview', codename: 'connectionrolegridview',
...@@ -991,7 +1012,7 @@ export default class CentralModel { ...@@ -991,7 +1012,7 @@ export default class CentralModel {
], ],
}, },
{ {
appfunctag: '_4', appfunctag: '_5',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'setting', codename: 'setting',
...@@ -1037,7 +1058,7 @@ export default class CentralModel { ...@@ -1037,7 +1058,7 @@ export default class CentralModel {
], ],
}, },
{ {
appfunctag: '_7', appfunctag: '_8',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'transactioncurrencygridview', codename: 'transactioncurrencygridview',
...@@ -1048,6 +1069,18 @@ export default class CentralModel { ...@@ -1048,6 +1069,18 @@ export default class CentralModel {
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
], ],
}, },
{
appfunctag: '_4',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'territorygridview',
deResParameters: [],
routepath: '/central/:central?/territories/:territory?/gridview/:gridview?',
parameters: [
{ pathName: 'territories', parameterName: 'territory' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{ {
appfunctag: '_2', appfunctag: '_2',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
...@@ -1073,7 +1106,7 @@ export default class CentralModel { ...@@ -1073,7 +1106,7 @@ export default class CentralModel {
], ],
}, },
{ {
appfunctag: '_8', appfunctag: '_9',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
openmode: '', openmode: '',
codename: 'accountstatustabview', codename: 'accountstatustabview',
......
...@@ -16,8 +16,8 @@ export class SettingBase extends Vue { ...@@ -16,8 +16,8 @@ export class SettingBase extends Vue {
if (item) { if (item) {
let judge = true; let judge = true;
switch (item.appfunctag) { switch (item.appfunctag) {
case '_5': case '_6':
this.click_5(item); break; this.click_6(item); break;
default: default:
judge = false; judge = false;
console.warn('未指定应用功能'); console.warn('未指定应用功能');
...@@ -34,7 +34,7 @@ export class SettingBase extends Vue { ...@@ -34,7 +34,7 @@ export class SettingBase extends Vue {
* @param {*} [item={}] * @param {*} [item={}]
* @memberof Setting * @memberof Setting
*/ */
public click_5(item: any = {}) { public click_6(item: any = {}) {
const viewparam: any = {}; const viewparam: any = {};
Object.assign(viewparam, {}); Object.assign(viewparam, {});
const deResParameters: any[] = []; const deResParameters: any[] = [];
......
...@@ -29,7 +29,7 @@ export default class SettingModel { ...@@ -29,7 +29,7 @@ export default class SettingModel {
iconcls: 'fa fa-connectdevelop', iconcls: 'fa fa-connectdevelop',
icon: '', icon: '',
textcls: '', textcls: '',
appfunctag: '_5', appfunctag: '_6',
appfuncyype: 'APPVIEW', appfuncyype: 'APPVIEW',
viewname: 'connection-role-grid-view', viewname: 'connection-role-grid-view',
resourcetag: '', resourcetag: '',
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, SearchFormControlBase } from '@/studio-core';
import TerritoryService from '@/service/territory/territory-service';
import DefaultService from './default-searchform-service';
import TerritoryUIService from '@/uiservice/territory/territory-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
/**
* searchform部件基类
*
* @export
* @class SearchFormControlBase
* @extends {DefaultSearchFormBase}
*/
export class DefaultSearchFormBase extends SearchFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof DefaultSearchFormBase
*/
protected controlType: string = 'SEARCHFORM';
/**
* 建构部件服务对象
*
* @type {DefaultService}
* @memberof DefaultSearchFormBase
*/
public service: DefaultService = new DefaultService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {TerritoryService}
* @memberof DefaultSearchFormBase
*/
public appEntityService: TerritoryService = new TerritoryService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof DefaultSearchFormBase
*/
protected appDeName: string = 'territory';
/**
* 表单数据对象
*
* @type {*}
* @memberof DefaultSearchFormBase
*/
public data: any = {
};
/**
* 详情模型集合
*
* @type {*}
* @memberof DefaultSearchFormBase
*/
public detailsModel: any = {
formpage1: new FormPageModel({ caption: '常规条件', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this })
,
};
}
\ No newline at end of file
/**
* Default 部件模型
*
* @export
* @class DefaultModel
*/
export default class DefaultModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DefaultModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/>
<div class="search-button">
<i-button size="small" type="primary" ghost @click="onSearch.apply(_self, arguments)">{{$t('app.searchButton.search')}}</i-button>
<i-button size="small" type="default" ghost @click="onReset.apply(_self, arguments)">{{this.$t('app.searchButton.reset')}}</i-button>
</div>
<div class="form-content">
</div>
</i-form>
\ No newline at end of file
<template src="./default-searchform.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { DefaultSearchFormBase } from './default-searchform-base';
/**
* searchform部件
*
* @export
* @class DefaultSearchForm
* @extends {DefaultSearchFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class DefaultSearchForm extends DefaultSearchFormBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, EditFormControlBase } from '@/studio-core';
import TerritoryService from '@/service/territory/territory-service';
import MainService from './main-form-service';
import TerritoryUIService from '@/uiservice/territory/territory-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
/**
* form部件基类
*
* @export
* @class EditFormControlBase
* @extends {MainEditFormBase}
*/
export class MainEditFormBase extends EditFormControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected controlType: string = 'FORM';
/**
* 建构部件服务对象
*
* @type {MainService}
* @memberof MainEditFormBase
*/
public service: MainService = new MainService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {TerritoryService}
* @memberof MainEditFormBase
*/
public appEntityService: TerritoryService = new TerritoryService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof MainEditFormBase
*/
protected appDeName: string = 'territory';
/**
* 界面UI服务对象
*
* @type {TerritoryUIService}
* @memberof MainEditFormBase
*/
public appUIService:TerritoryUIService = new TerritoryUIService(this.$store);
/**
* 表单数据对象
*
* @type {*}
* @memberof MainEditFormBase
*/
public data: any = {
srfupdatedate: null,
srforikey: null,
srfkey: null,
srfmajortext: null,
srftempmode: null,
srfuf: null,
srfdeid: null,
srfsourcekey: null,
territoryname: null,
managername: null,
transactioncurrencyname: null,
exchangerate: null,
transactioncurrencyid: null,
territoryid: null,
territory:null,
};
/**
* 属性值规则
*
* @type {*}
* @memberof MainEditFormBase
*/
public rules: any = {
territoryname: [
{ required: true, type: 'string', message: '地区名称 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '地区名称 值不能为空', trigger: 'blur' },
],
}
/**
* 详情模型集合
*
* @type {*}
* @memberof MainEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: 'territory基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.territory.main_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
srfupdatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'srfupdatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
srforikey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srforikey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfkey: new FormItemModel({ caption: '区域', detailType: 'FORMITEM', name: 'srfkey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfmajortext: new FormItemModel({ caption: '地区名称', detailType: 'FORMITEM', name: 'srfmajortext', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srftempmode: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srftempmode', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfuf: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfuf', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfdeid: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfdeid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
territoryname: new FormItemModel({ caption: '地区名称', detailType: 'FORMITEM', name: 'territoryname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
managername: new FormItemModel({ caption: '管理员', detailType: 'FORMITEM', name: 'managername', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
transactioncurrencyname: new FormItemModel({ caption: '货币', detailType: 'FORMITEM', name: 'transactioncurrencyname', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
exchangerate: new FormItemModel({ caption: '汇率', detailType: 'FORMITEM', name: 'exchangerate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
transactioncurrencyid: new FormItemModel({ caption: '货币', detailType: 'FORMITEM', name: 'transactioncurrencyid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
territoryid: new FormItemModel({ caption: '区域', detailType: 'FORMITEM', name: 'territoryid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
};
}
\ No newline at end of file
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export default class MainModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'srfupdatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'srforikey',
},
{
name: 'srfkey',
prop: 'territoryid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'territoryname',
dataType: 'TEXT',
},
{
name: 'srftempmode',
},
{
name: 'srfuf',
},
{
name: 'srfdeid',
},
{
name: 'srfsourcekey',
},
{
name: 'territoryname',
prop: 'territoryname',
dataType: 'TEXT',
},
{
name: 'managername',
prop: 'managername',
dataType: 'TEXT',
},
{
name: 'transactioncurrencyname',
prop: 'transactioncurrencyname',
dataType: 'PICKUPTEXT',
},
{
name: 'exchangerate',
prop: 'exchangerate',
dataType: 'BIGDECIMAL',
},
{
name: 'transactioncurrencyid',
prop: 'transactioncurrencyid',
dataType: 'PICKUP',
},
{
name: 'territoryid',
prop: 'territoryid',
dataType: 'GUID',
},
{
name: 'territory',
prop: 'territoryid',
dataType: 'FONTKEY',
},
]
}
}
\ No newline at end of file
<i-form :model="this.data" class='app-form' ref='form' id='territory_main' style="">
<input style="display:none;" />
<row >
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.territory.main_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group1" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col v-show="detailsModel.territoryname.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='territoryname' :itemRules="this.rules.territoryname" class='' :caption="$t('entities.territory.main_form.details.territoryname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.territoryname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.territoryname" @enter="onEnter($event)" unit="" :disabled="detailsModel.territoryname.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.managername.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='managername' :itemRules="this.rules.managername" class='' :caption="$t('entities.territory.main_form.details.managername')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.managername.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.managername" @enter="onEnter($event)" unit="" :disabled="detailsModel.managername.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.transactioncurrencyname.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='transactioncurrencyname' :itemRules="this.rules.transactioncurrencyname" class='' :caption="$t('entities.territory.main_form.details.transactioncurrencyname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.transactioncurrencyname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.transactioncurrencyname.disabled"
name='transactioncurrencyname'
deMajorField='currencyname'
deKeyField='transactioncurrency'
:service="service"
:acParams="{ serviceName: 'TransactionCurrencyService', interfaceName: 'FetchDefault'}"
valueitem='transactioncurrencyid'
:value="data.transactioncurrencyname"
editortype=""
:pickupView="{ viewname: 'transaction-currency-pickup-view', title: $t('entities.transactioncurrency.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'transactioncurrencies', parameterName: 'transactioncurrency' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange($event)">
</app-picker>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.exchangerate.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='exchangerate' :itemRules="this.rules.exchangerate" class='' :caption="$t('entities.territory.main_form.details.exchangerate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.exchangerate.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.exchangerate" @enter="onEnter($event)" unit="" :disabled="detailsModel.exchangerate.disabled" type='number' style=""></input-box>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</row>
</i-form>
\ No newline at end of file
<template src="./main-form.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MainEditFormBase } from './main-form-base';
/**
* form部件
*
* @export
* @class MainEditForm
* @extends {MainEditFormBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MainEditForm extends MainEditFormBase { }
</script>
此差异已折叠。
<template src="./main-grid.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { MainGridBase } from './main-grid-base';
/**
* grid部件
*
* @export
* @class MainGrid
* @extends {MainGridBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class MainGrid extends MainGridBase { }
</script>
...@@ -103,6 +103,10 @@ zuul: ...@@ -103,6 +103,10 @@ zuul:
path: /campaignresponses/** path: /campaignresponses/**
serviceId: ibizbusinesscentral-centralapi serviceId: ibizbusinesscentral-centralapi
stripPrefix: false stripPrefix: false
territory:
path: /territories/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
phonecall: phonecall:
path: /phonecalls/** path: /phonecalls/**
serviceId: ibizbusinesscentral-centralapi serviceId: ibizbusinesscentral-centralapi
......
...@@ -111,7 +111,7 @@ public class Territory extends EntityMP implements Serializable { ...@@ -111,7 +111,7 @@ public class Territory extends EntityMP implements Serializable {
@JsonProperty("importsequencenumber") @JsonProperty("importsequencenumber")
private Integer importsequencenumber; private Integer importsequencenumber;
/** /**
* UTC Conversion Time Zone Code * 时区
*/ */
@TableField(value = "utcconversiontimezonecode") @TableField(value = "utcconversiontimezonecode")
@JSONField(name = "utcconversiontimezonecode") @JSONField(name = "utcconversiontimezonecode")
...@@ -190,6 +190,13 @@ public class Territory extends EntityMP implements Serializable { ...@@ -190,6 +190,13 @@ public class Territory extends EntityMP implements Serializable {
@JSONField(name = "transactioncurrencyid") @JSONField(name = "transactioncurrencyid")
@JsonProperty("transactioncurrencyid") @JsonProperty("transactioncurrencyid")
private String transactioncurrencyid; private String transactioncurrencyid;
/**
* 货币
*/
@TableField(exist = false)
@JSONField(name = "transactioncurrencyname")
@JsonProperty("transactioncurrencyname")
private String transactioncurrencyname;
/** /**
* *
...@@ -242,7 +249,7 @@ public class Territory extends EntityMP implements Serializable { ...@@ -242,7 +249,7 @@ public class Territory extends EntityMP implements Serializable {
} }
/** /**
* 设置 [UTC Conversion Time Zone Code] * 设置 [时区]
*/ */
public void setUtcconversiontimezonecode(Integer utcconversiontimezonecode){ public void setUtcconversiontimezonecode(Integer utcconversiontimezonecode){
this.utcconversiontimezonecode = utcconversiontimezonecode ; this.utcconversiontimezonecode = utcconversiontimezonecode ;
......
package cn.ibizlab.businesscentral.centralapi.mapping;
import org.mapstruct.*;
import cn.ibizlab.businesscentral.core.base.domain.Territory;
import cn.ibizlab.businesscentral.centralapi.dto.TerritoryDTO;
import cn.ibizlab.businesscentral.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface TerritoryMapping extends MappingBase<TerritoryDTO, Territory> {
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册