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

xignzi006 发布系统代码

上级 fa9c54c1
......@@ -329,13 +329,13 @@
"viewtag": "31f2ad06ced735d250dfa5f309b5aea4",
"memo": ""
},
"leadtabexpview": {
"title": "潜在顾客分页导航视图",
"leadinfo": {
"title": "潜在顾客",
"caption": "潜在顾客",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Sales",
"viewname": "LeadTabExpView",
"viewfilename": "lead-tab-exp-view",
"viewname": "LeadInfo",
"viewfilename": "lead-info",
"viewtag": "35728a12ceecb647982051842853547c",
"memo": ""
},
......
......@@ -624,6 +624,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......
......@@ -623,6 +623,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......
......@@ -106,6 +106,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......
......@@ -105,6 +105,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......
......@@ -352,6 +352,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......@@ -370,6 +382,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......
......@@ -351,6 +351,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......@@ -369,6 +381,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......
......@@ -170,9 +170,9 @@ export default {
caption: "潜在顾客",
title: '潜在顾客编辑视图',
},
tabexpview: {
info: {
caption: "潜在顾客",
title: '潜在顾客分页导航视图',
title: '潜在顾客',
},
quickcreate: {
caption: "快速新建",
......@@ -405,6 +405,64 @@ export default {
tip: "Filter",
},
},
infotoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
deuiaction4: {
caption: "授予资格",
tip: "授予资格",
},
items1: {
caption: "取消资格",
tip: "取消资格",
},
deuiaction5: {
caption: "丢单",
tip: "丢单",
},
deuiaction6: {
caption: "无法联系",
tip: "无法联系",
},
deuiaction7: {
caption: "不再感兴趣",
tip: "不再感兴趣",
},
deuiaction8: {
caption: "已取消",
tip: "已取消",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
......
......@@ -169,9 +169,9 @@ export default {
caption: '潜在顾客',
title: '潜在顾客编辑视图',
},
tabexpview: {
info: {
caption: '潜在顾客',
title: '潜在顾客分页导航视图',
title: '潜在顾客',
},
quickcreate: {
caption: '快速新建',
......@@ -404,6 +404,64 @@ export default {
tip: '过滤',
},
},
infotoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem5: {
caption: '保存并关闭',
tip: '保存并关闭',
},
tbitem6: {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
deuiaction4: {
caption: '授予资格',
tip: '授予资格',
},
items1: {
caption: '取消资格',
tip: '取消资格',
},
deuiaction5: {
caption: '丢单',
tip: '丢单',
},
deuiaction6: {
caption: '无法联系',
tip: '无法联系',
},
deuiaction7: {
caption: '不再感兴趣',
tip: '不再感兴趣',
},
deuiaction8: {
caption: '已取消',
tip: '已取消',
},
tbitem13: {
caption: '-',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
......
......@@ -103,6 +103,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......
......@@ -102,6 +102,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......
......@@ -94,6 +94,18 @@ export default {
caption: "-",
tip: "",
},
deuiaction1: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
deuiaction2: {
caption: "刷新",
tip: "刷新",
},
seperator1: {
caption: "",
tip: "",
},
tbitem12: {
caption: "关闭",
tip: "关闭",
......
......@@ -93,6 +93,18 @@ export default {
caption: '-',
tip: '',
},
deuiaction1: {
caption: '删除并关闭',
tip: '删除并关闭',
},
deuiaction2: {
caption: '刷新',
tip: '刷新',
},
seperator1: {
caption: '',
tip: '',
},
tbitem12: {
caption: '关闭',
tip: '关闭',
......
......@@ -271,12 +271,12 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "AccountInfo_All",
"viewtag": "31f2ad06ced735d250dfa5f309b5aea4"
},
"leadtabexpview": {
"title": "潜在顾客分页导航视图",
"leadinfo": {
"title": "潜在顾客",
"caption": "潜在顾客",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Sales",
"viewname": "LeadTabExpView",
"viewname": "LeadInfo",
"viewtag": "35728a12ceecb647982051842853547c"
},
"incidentgridview": {
......
......@@ -113,6 +113,11 @@ export default class AccountInfoBase extends TabExpViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -157,6 +162,12 @@ export default class AccountInfoBase extends TabExpViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -216,6 +227,60 @@ export default class AccountInfoBase extends TabExpViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
......@@ -302,6 +367,58 @@ export default class AccountInfoBase extends TabExpViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountInfoBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountInfoBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -113,6 +113,11 @@ export default class CampaignInfoBase extends TabExpViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -157,6 +162,12 @@ export default class CampaignInfoBase extends TabExpViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -216,6 +227,60 @@ export default class CampaignInfoBase extends TabExpViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
......@@ -302,6 +367,58 @@ export default class CampaignInfoBase extends TabExpViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignInfoBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignInfoBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -127,6 +127,11 @@ export default class CampaignListEditViewBase extends EditViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -173,6 +178,12 @@ export default class CampaignListEditViewBase extends EditViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -267,6 +278,62 @@ export default class CampaignListEditViewBase extends EditViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"CampaignList");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"CampaignList");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"CampaignList");
}
/**
* 逻辑事件
*
......@@ -354,6 +421,58 @@ export default class CampaignListEditViewBase extends EditViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignListEditViewBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignListEditViewBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -112,6 +112,11 @@ export default class CampaignSummary_HeadBase extends DashboardViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -157,6 +162,12 @@ export default class CampaignSummary_HeadBase extends DashboardViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -227,6 +238,60 @@ export default class CampaignSummary_HeadBase extends DashboardViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
if (_this.getDatas && _this.getDatas instanceof Function) {
datas = [..._this.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"Campaign");
}
/**
* 逻辑事件
*
......@@ -313,6 +378,58 @@ export default class CampaignSummary_HeadBase extends DashboardViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignSummary_HeadBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof CampaignSummary_HeadBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -127,6 +127,11 @@ export default class ListAccountEditViewBase extends EditViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -173,6 +178,12 @@ export default class ListAccountEditViewBase extends EditViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -267,6 +278,62 @@ export default class ListAccountEditViewBase extends EditViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"ListAccount");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"ListAccount");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"ListAccount");
}
/**
* 逻辑事件
*
......@@ -354,6 +421,58 @@ export default class ListAccountEditViewBase extends EditViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ListAccountEditViewBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ListAccountEditViewBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -127,6 +127,11 @@ export default class ListContactEditViewBase extends EditViewBase {
tbitem5: { name: 'tbitem5', caption: '保存并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '保存并关闭', iconcls: 'fa fa-power-off', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' }, class: '' },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
deuiaction1: { name: 'deuiaction1', caption: '删除并关闭','isShowCaption':true,'isShowIcon':true, tooltip: '删除并关闭', iconcls: 'fa fa-remove', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' }, class: '' },
deuiaction2: { name: 'deuiaction2', caption: '刷新','isShowCaption':true,'isShowIcon':true, tooltip: '刷新', iconcls: 'fa fa-refresh', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Refresh', target: 'SINGLEKEY' }, class: '' },
seperator1: { name: 'seperator1', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '关闭','isShowCaption':true,'isShowIcon':true, tooltip: '关闭', iconcls: 'fa fa-sign-out', icon: '', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Exit', target: '' }, class: '' },
};
......@@ -173,6 +178,12 @@ export default class ListContactEditViewBase extends EditViewBase {
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
......@@ -267,6 +278,62 @@ export default class ListContactEditViewBase extends EditViewBase {
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"ListContact");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"ListContact");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"ListContact");
}
/**
* 逻辑事件
*
......@@ -354,6 +421,58 @@ export default class ListContactEditViewBase extends EditViewBase {
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ListContactEditViewBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 刷新
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof ListContactEditViewBase
*/
public Refresh(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
} else if (_this.refresh && _this.refresh instanceof Function) {
_this.refresh(args);
}
}
/**
* 关闭
*
......
......@@ -599,7 +599,7 @@ export default class LeadGridViewBase extends GridViewBase {
}
const parameters: any[] = [
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
......
// 避免空文件,后台不让空文件过
.lead-info {
--lead-info: 0;
}
// 视图样式
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import LeadInfoBase from './lead-info-base.vue';
import view_tabexppanel from '@widgets/lead/infotabexppanel-tabexppanel/infotabexppanel-tabexppanel.vue';
@Component({
components: {
view_tabexppanel,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { route: to, viewtag: vm.viewtag });
});
},
})
export default class LeadInfo extends LeadInfoBase {
}
</script>
\ No newline at end of file
......@@ -89,7 +89,7 @@ export const PageComponents = {
Vue.component('list-account-quick-create-by-list', () => import('@pages/marketing/list-account-quick-create-by-list/list-account-quick-create-by-list.vue'));
Vue.component('campaign-list-edit-view', () => import('@pages/marketing/campaign-list-edit-view/campaign-list-edit-view.vue'));
Vue.component('account-pickup-grid-view', () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'));
Vue.component('lead-tab-exp-view', () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'));
Vue.component('lead-info', () => import('@pages/sales/lead-info/lead-info.vue'));
Vue.component('list-lead-quick-create-by-list', () => import('@pages/marketing/list-lead-quick-create-by-list/list-lead-quick-create-by-list.vue'));
Vue.component('account-info', () => import('@pages/base/account-info/account-info.vue'));
Vue.component('lead-info-detail', () => import('@pages/sales/lead-info-detail/lead-info-detail.vue'));
......
......@@ -2644,64 +2644,64 @@ const router = new Router({
component: () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'),
},
{
path: 'accounts/:account?/contacts/:contact?/leads/:lead?/tabexpview/:tabexpview?',
path: 'accounts/:account?/contacts/:contact?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: 'contacts/:contact?/leads/:lead?/tabexpview/:tabexpview?',
path: 'contacts/:contact?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: 'campaigns/:campaign?/leads/:lead?/tabexpview/:tabexpview?',
path: 'campaigns/:campaign?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: 'leads/:lead?/tabexpview/:tabexpview?',
path: 'leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: 'accounts/:account?/contacts/:contact?/leads/:lead?/listleads/:listlead?/quickcreatebylist/:quickcreatebylist?',
......@@ -3988,60 +3988,60 @@ const router = new Router({
component: () => import('@pages/base/account-info-all/account-info-all.vue'),
},
{
path: '/accounts/:account?/contacts/:contact?/leads/:lead?/tabexpview/:tabexpview?',
path: '/accounts/:account?/contacts/:contact?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: '/contacts/:contact?/leads/:lead?/tabexpview/:tabexpview?',
path: '/contacts/:contact?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: '/campaigns/:campaign?/leads/:lead?/tabexpview/:tabexpview?',
path: '/campaigns/:campaign?/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: '/leads/:lead?/tabexpview/:tabexpview?',
path: '/leads/:lead?/info/:info?',
meta: {
caption: 'entities.lead.views.tabexpview.title',
caption: 'entities.lead.views.info.title',
info:'',
parameters: [
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'tabexpview', parameterName: 'tabexpview' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-tab-exp-view/lead-tab-exp-view.vue'),
component: () => import('@pages/sales/lead-info/lead-info.vue'),
},
{
path: '/incidents/:incident?/gridview/:gridview?',
......
......@@ -310,7 +310,7 @@ export const viewstate: any = {
{
viewtag: '35728a12ceecb647982051842853547c',
viewmodule: 'Sales',
viewname: 'LeadTabExpView',
viewname: 'LeadInfo',
viewaction: '',
viewdatachange: false,
refviews: [
......
......@@ -82,7 +82,7 @@ export default class LeadUIServiceBase extends UIService {
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'leads'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'leads'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'tabexpview',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'info',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'quickcreate',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'info_market',srfappde:'leads'});
this.allViewMap.set(':',{viewname:'info_contact',srfappde:'leads'});
......@@ -165,6 +165,134 @@ export default class LeadUIServiceBase extends UIService {
openDrawer(view, data);
}
/**
* 授予资格
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async Lead_Qualification(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { lead: '%lead%' });
Object.assign(params, { leadid: '%lead%' });
Object.assign(params, { fullname: '%fullname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
const backend = () => {
const curService:LeadService = new LeadService();
curService.Qualification(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '授予资格成功!' });
const _this: any = actionContext;
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return response;
});
};
backend();
}
/**
* 取消资格
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async Lead_DisQualification(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
const _this: any = actionContext;
const _args: any[] = Util.deepCopy(args);
const actionTarget: string | null = 'SINGLEKEY';
Object.assign(context, { lead: '%lead%' });
Object.assign(params, { leadid: '%lead%' });
Object.assign(params, { fullname: '%fullname%' });
if(_this.context){
parentContext = _this.context;
}
if(_this.viewparams){
parentViewParam = _this.viewparams;
}
context = UIActionTool.handleContextParam(actionTarget,_args,parentContext,parentViewParam,context);
data = UIActionTool.handleActionParam(actionTarget,_args,parentContext,parentViewParam,params);
context = Object.assign({},actionContext.context,context);
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
const backend = () => {
const curService:LeadService = new LeadService();
curService.DisQualification(context,data, true).then((response: any) => {
if (!response || response.status !== 200) {
actionContext.$Notice.error({ title: '错误', desc: response.message });
return;
}
actionContext.$Notice.success({ title: '成功', desc: '取消资格成功!' });
const _this: any = actionContext;
return response;
}).catch((response: any) => {
if (!response || !response.status || !response.data) {
actionContext.$Notice.error({ title: '错误', desc: '系统异常!' });
return;
}
if (response.status === 401) {
return;
}
return response;
});
};
backend();
}
/**
* 获取指定数据的重定向页面
......
<template>
<div class='tabviewpanel'>
<tabs :value="activiedTabViewPanel" :animated="false" class='tabexppanel' name='infotabexppanel' @on-click="tabPanelClick">
<tab-pane :index="0" name='tabviewpanel' tab='infotabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-info-circle',
style:{
'margin-right' : '2px'
}
}),
h('span', '概览'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel"
name="tabviewpanel"
ref='tabviewpanel'
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel>
</tab-pane>
<tab-pane :index="1" name='tabviewpanel2' tab='infotabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-paper-plane',
style:{
'margin-right' : '2px'
}
}),
h('span', '活动'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel2
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel2"
name="tabviewpanel2"
ref='tabviewpanel2'
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel2>
</tab-pane>
</tabs>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import LeadService from '@/service/lead/lead-service';
import InfotabexppanelService from './infotabexppanel-tabexppanel-service';
@Component({
components: {
}
})
export default class InfotabexppanelBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof Infotabexppanel
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Infotabexppanel
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof Infotabexppanel
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof Infotabexppanel
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Infotabexppanel
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Infotabexppanel
*/
public getControlType(): string {
return 'TABEXPPANEL'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof Infotabexppanel
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {InfotabexppanelService}
* @memberof Infotabexppanel
*/
public service: InfotabexppanelService = new InfotabexppanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof Infotabexppanel
*/
public appEntityService: LeadService = new LeadService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof Infotabexppanel
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof Infotabexppanel
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 是否初始化
*
* @returns {any}
* @memberof Infotabexppanel
*/
public isInit: any = {
tabviewpanel: true ,
tabviewpanel2: false ,
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof Infotabexppanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof Infotabexppanel
*/
public getData(): any {
return null;
}
/**
* 行为参数
*
* @public
* @type {*}
* @memberof Infotabexppanel
*/
public action:any = '';
/**
* 被激活的分页面板
*
* @type {string}
* @memberof Infotabexppanel
*/
public activiedTabViewPanel: string = 'tabviewpanel';
/**
* 分页视图面板数据变更
*
* @memberof Infotabexppanel
*/
public tabViewPanelDatasChange(){
this.counterRefresh();
}
/**
* vue 生命周期
*
* @returns
* @memberof Infotabexppanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof Infotabexppanel
*/
public afterCreated(){
//设置分页导航srfparentdename和srfparentkey
if (this.context.lead) {
Object.assign(this.context, { srfparentdename: 'Lead', srfparentkey: this.context.lead });
}
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.action = action;
this.viewState.next({ tag: this.activiedTabViewPanel, action: action, data: data });
this.$forceUpdate();
});
}
}
/**
* 组件加载完毕
*
* @memberof Infotabexppanel
*/
public mounted(): void {
if (this.viewparams) {
const activate = this.viewparams.srftabactivate;
if (activate && this.isInit[activate] !== undefined) {
for (const key in this.isInit) {
if (this.isInit.hasOwnProperty(key)) {
this.isInit[key] = false;
}
}
this.$nextTick(() => {
this.tabPanelClick(activate);
});
}
}
}
/**
* vue 生命周期
*
* @memberof Infotabexppanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof Infotabexppanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
/**
* 分页面板选中
*
* @param {*} $event
* @returns
* @memberof Infotabexppanel
*/
public tabPanelClick($event: any) {
if (!$event) {
return;
}
this.isInit[$event] = true;
if (!this.viewState) {
return;
}
this.activiedTabViewPanel = $event;
this.viewState.next({ tag: this.activiedTabViewPanel, action: this.action, data: {}});
}
}
</script>
<style lang='less'>
@import './infotabexppanel-tabexppanel.less';
</style>
\ No newline at end of file
/**
* Infotabexppanel 部件模型
*
* @export
* @class InfotabexppanelModel
*/
export default class InfotabexppanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof InfotabexppanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'address1_fax',
},
{
name: 'address2_utcoffset',
},
{
name: 'jobtitle',
},
{
name: 'address2_country',
},
{
name: 'budgetamount',
},
{
name: 'address2_fax',
},
{
name: 'onholdtime',
},
{
name: 'lastname',
},
{
name: 'address1_telephone2',
},
{
name: 'address1_stateorprovince',
},
{
name: 'masterleadidyominame',
},
{
name: 'estimatedvalue',
},
{
name: 'lead',
prop: 'leadid',
},
{
name: 'address1_longitude',
},
{
name: 'address1_line1',
},
{
name: 'leadqualitycode',
},
{
name: 'donotphone',
},
{
name: 'exchangerate',
},
{
name: 'entityimage_url',
},
{
name: 'createman',
},
{
name: 'address2_stateorprovince',
},
{
name: 'description',
},
{
name: 'numberofemployees',
},
{
name: 'address1_city',
},
{
name: 'entityimageid',
},
{
name: 'address2_line3',
},
{
name: 'statuscode',
},
{
name: 'address2_line1',
},
{
name: 'customerid',
},
{
name: 'companyname',
},
{
name: 'versionnumber',
},
{
name: 'qualificationcomments',
},
{
name: 'owneridtype',
},
{
name: 'contactidyominame',
},
{
name: 'address2_name',
},
{
name: 'emailaddress1',
},
{
name: 'followemail',
},
{
name: 'address1_country',
},
{
name: 'websiteurl',
},
{
name: 'yomicompanyname',
},
{
name: 'updatedate',
},
{
name: 'address1_line3',
},
{
name: 'address2_addressid',
},
{
name: 'address1_composite',
},
{
name: 'subject',
},
{
name: 'address1_utcoffset',
},
{
name: 'budgetamount_base',
},
{
name: 'address1_addresstypecode',
},
{
name: 'address2_telephone3',
},
{
name: 'evaluatefit',
},
{
name: 'address1_latitude',
},
{
name: 'address1_telephone3',
},
{
name: 'fullname',
},
{
name: 'estimatedamount_base',
},
{
name: 'budgetstatus',
},
{
name: 'industrycode',
},
{
name: 'address1_line2',
},
{
name: 'initialcommunication',
},
{
name: 'address1_postofficebox',
},
{
name: 'address1_telephone1',
},
{
name: 'revenue',
},
{
name: 'yomilastname',
},
{
name: 'address2_county',
},
{
name: 'stageid',
},
{
name: 'address1_shippingmethodcode',
},
{
name: 'estimatedamount',
},
{
name: 'address1_county',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'lastonholdtime',
},
{
name: 'createdate',
},
{
name: 'teamsfollowed',
},
{
name: 'salutation',
},
{
name: 'address2_shippingmethodcode',
},
{
name: 'address2_latitude',
},
{
name: 'participatesinworkflow',
},
{
name: 'yomifirstname',
},
{
name: 'address2_composite',
},
{
name: 'salesstage',
},
{
name: 'donotpostalmail',
},
{
name: 'customeridyominame',
},
{
name: 'revenue_base',
},
{
name: 'overriddencreatedon',
},
{
name: 'schedulefollowup_prospect',
},
{
name: 'address2_city',
},
{
name: 'telephone1',
},
{
name: 'ibizprivate',
},
{
name: 'customeridtype',
},
{
name: 'mobilephone',
},
{
name: 'need',
},
{
name: 'prioritycode',
},
{
name: 'address1_addressid',
},
{
name: 'yomifullname',
},
{
name: 'salesstagecode',
},
{
name: 'importsequencenumber',
},
{
name: 'address2_telephone1',
},
{
name: 'ownerid',
},
{
name: 'middlename',
},
{
name: 'telephone2',
},
{
name: 'purchasetimeframe',
},
{
name: 'yomimiddlename',
},
{
name: 'leadsourcecode',
},
{
name: 'entityimage_timestamp',
},
{
name: 'preferredcontactmethodcode',
},
{
name: 'entityimage',
},
{
name: 'address2_telephone2',
},
{
name: 'donotsendmm',
},
{
name: 'purchaseprocess',
},
{
name: 'donotbulkemail',
},
{
name: 'sic',
},
{
name: 'donotemail',
},
{
name: 'address2_longitude',
},
{
name: 'confirminterest',
},
{
name: 'address2_postofficebox',
},
{
name: 'statecode',
},
{
name: 'autocreate',
},
{
name: 'address1_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'lastusedincampaign',
},
{
name: 'estimatedclosedate',
},
{
name: 'address2_line2',
},
{
name: 'emailaddress3',
},
{
name: 'pager',
},
{
name: 'address2_upszone',
},
{
name: 'traversedpath',
},
{
name: 'fax',
},
{
name: 'schedulefollowup_qualify',
},
{
name: 'telephone3',
},
{
name: 'processid',
},
{
name: 'emailaddress2',
},
{
name: 'updateman',
},
{
name: 'decisionmaker',
},
{
name: 'owneridyominame',
},
{
name: 'address1_postalcode',
},
{
name: 'address2_postalcode',
},
{
name: 'donotfax',
},
{
name: 'firstname',
},
{
name: 'merged',
},
{
name: 'address2_addresstypecode',
},
{
name: 'address1_upszone',
},
{
name: 'slaname',
},
{
name: 'qualifyingopportunityid',
},
{
name: 'slaid',
},
{
name: 'campaignid',
},
{
name: 'relatedobjectid',
},
{
name: 'transactioncurrencyid',
},
{
name: 'parentaccountid',
},
{
name: 'originatingcaseid',
},
{
name: 'parentcontactid',
},
{
name: 'originatingcasename',
},
{
name: 'qualifyingopportunityname',
},
{
name: 'campaignname',
},
{
name: 'parentcontactname',
},
{
name: 'parentaccountname',
},
{
name: 'relatedobjectname',
},
{
name: 'transactioncurrencyname',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import LeadService from '@/service/lead/lead-service';
import InfotabexppanelModel from './infotabexppanel-tabexppanel-model';
/**
* Infotabexppanel 部件服务对象
*
* @export
* @class InfotabexppanelService
*/
export default class InfotabexppanelService extends ControlService {
/**
* 潜在顾客服务对象
*
* @type {LeadService}
* @memberof InfotabexppanelService
*/
public appEntityService: LeadService = new LeadService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof InfotabexppanelService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of InfotabexppanelService.
*
* @param {*} [opts={}]
* @memberof InfotabexppanelService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new InfotabexppanelModel();
}
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import InfotabexppanelBase from './infotabexppanel-tabexppanel-base.vue';
import view_tabviewpanel from '@widgets/lead/infotabviewpanel-tabviewpanel/infotabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/lead/infotabviewpanel2-tabviewpanel/infotabviewpanel2-tabviewpanel.vue';
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
}
})
export default class Infotabexppanel extends InfotabexppanelBase {
}
</script>
\ No newline at end of file
<template>
<div class='tabviewpanel' style="height:100%;" v-if = 'isActivied' >
<lead-dashboard-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false" >
</lead-dashboard-view>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import LeadService from '@/service/lead/lead-service';
import InfotabviewpanelService from './infotabviewpanel-tabviewpanel-service';
@Component({
components: {
}
})
export default class InfotabviewpanelBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof Infotabviewpanel
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Infotabviewpanel
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof Infotabviewpanel
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof Infotabviewpanel
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Infotabviewpanel
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Infotabviewpanel
*/
public getControlType(): string {
return 'TABVIEWPANEL'
}
/**
* 建构部件服务对象
*
* @type {InfotabviewpanelService}
* @memberof Infotabviewpanel
*/
public service: InfotabviewpanelService = new InfotabviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof Infotabviewpanel
*/
public appEntityService: LeadService = new LeadService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof Infotabviewpanel
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof Infotabviewpanel
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof Infotabviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof Infotabviewpanel
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof Infotabviewpanel
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof Infotabviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof Infotabviewpanel
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof Infotabviewpanel
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof Infotabviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof Infotabviewpanel
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof Infotabviewpanel
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof Infotabviewpanel
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof Infotabviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof Infotabviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
</script>
<style lang='less'>
@import './infotabviewpanel-tabviewpanel.less';
</style>
\ No newline at end of file
/**
* Infotabviewpanel 部件模型
*
* @export
* @class InfotabviewpanelModel
*/
export default class InfotabviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof InfotabviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'address1_fax',
},
{
name: 'address2_utcoffset',
},
{
name: 'jobtitle',
},
{
name: 'address2_country',
},
{
name: 'budgetamount',
},
{
name: 'address2_fax',
},
{
name: 'onholdtime',
},
{
name: 'lastname',
},
{
name: 'address1_telephone2',
},
{
name: 'address1_stateorprovince',
},
{
name: 'masterleadidyominame',
},
{
name: 'estimatedvalue',
},
{
name: 'lead',
prop: 'leadid',
},
{
name: 'address1_longitude',
},
{
name: 'address1_line1',
},
{
name: 'leadqualitycode',
},
{
name: 'donotphone',
},
{
name: 'exchangerate',
},
{
name: 'entityimage_url',
},
{
name: 'createman',
},
{
name: 'address2_stateorprovince',
},
{
name: 'description',
},
{
name: 'numberofemployees',
},
{
name: 'address1_city',
},
{
name: 'entityimageid',
},
{
name: 'address2_line3',
},
{
name: 'statuscode',
},
{
name: 'address2_line1',
},
{
name: 'customerid',
},
{
name: 'companyname',
},
{
name: 'versionnumber',
},
{
name: 'qualificationcomments',
},
{
name: 'owneridtype',
},
{
name: 'contactidyominame',
},
{
name: 'address2_name',
},
{
name: 'emailaddress1',
},
{
name: 'followemail',
},
{
name: 'address1_country',
},
{
name: 'websiteurl',
},
{
name: 'yomicompanyname',
},
{
name: 'updatedate',
},
{
name: 'address1_line3',
},
{
name: 'address2_addressid',
},
{
name: 'address1_composite',
},
{
name: 'subject',
},
{
name: 'address1_utcoffset',
},
{
name: 'budgetamount_base',
},
{
name: 'address1_addresstypecode',
},
{
name: 'address2_telephone3',
},
{
name: 'evaluatefit',
},
{
name: 'address1_latitude',
},
{
name: 'address1_telephone3',
},
{
name: 'fullname',
},
{
name: 'estimatedamount_base',
},
{
name: 'budgetstatus',
},
{
name: 'industrycode',
},
{
name: 'address1_line2',
},
{
name: 'initialcommunication',
},
{
name: 'address1_postofficebox',
},
{
name: 'address1_telephone1',
},
{
name: 'revenue',
},
{
name: 'yomilastname',
},
{
name: 'address2_county',
},
{
name: 'stageid',
},
{
name: 'address1_shippingmethodcode',
},
{
name: 'estimatedamount',
},
{
name: 'address1_county',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'lastonholdtime',
},
{
name: 'createdate',
},
{
name: 'teamsfollowed',
},
{
name: 'salutation',
},
{
name: 'address2_shippingmethodcode',
},
{
name: 'address2_latitude',
},
{
name: 'participatesinworkflow',
},
{
name: 'yomifirstname',
},
{
name: 'address2_composite',
},
{
name: 'salesstage',
},
{
name: 'donotpostalmail',
},
{
name: 'customeridyominame',
},
{
name: 'revenue_base',
},
{
name: 'overriddencreatedon',
},
{
name: 'schedulefollowup_prospect',
},
{
name: 'address2_city',
},
{
name: 'telephone1',
},
{
name: 'ibizprivate',
},
{
name: 'customeridtype',
},
{
name: 'mobilephone',
},
{
name: 'need',
},
{
name: 'prioritycode',
},
{
name: 'address1_addressid',
},
{
name: 'yomifullname',
},
{
name: 'salesstagecode',
},
{
name: 'importsequencenumber',
},
{
name: 'address2_telephone1',
},
{
name: 'ownerid',
},
{
name: 'middlename',
},
{
name: 'telephone2',
},
{
name: 'purchasetimeframe',
},
{
name: 'yomimiddlename',
},
{
name: 'leadsourcecode',
},
{
name: 'entityimage_timestamp',
},
{
name: 'preferredcontactmethodcode',
},
{
name: 'entityimage',
},
{
name: 'address2_telephone2',
},
{
name: 'donotsendmm',
},
{
name: 'purchaseprocess',
},
{
name: 'donotbulkemail',
},
{
name: 'sic',
},
{
name: 'donotemail',
},
{
name: 'address2_longitude',
},
{
name: 'confirminterest',
},
{
name: 'address2_postofficebox',
},
{
name: 'statecode',
},
{
name: 'autocreate',
},
{
name: 'address1_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'lastusedincampaign',
},
{
name: 'estimatedclosedate',
},
{
name: 'address2_line2',
},
{
name: 'emailaddress3',
},
{
name: 'pager',
},
{
name: 'address2_upszone',
},
{
name: 'traversedpath',
},
{
name: 'fax',
},
{
name: 'schedulefollowup_qualify',
},
{
name: 'telephone3',
},
{
name: 'processid',
},
{
name: 'emailaddress2',
},
{
name: 'updateman',
},
{
name: 'decisionmaker',
},
{
name: 'owneridyominame',
},
{
name: 'address1_postalcode',
},
{
name: 'address2_postalcode',
},
{
name: 'donotfax',
},
{
name: 'firstname',
},
{
name: 'merged',
},
{
name: 'address2_addresstypecode',
},
{
name: 'address1_upszone',
},
{
name: 'slaname',
},
{
name: 'qualifyingopportunityid',
},
{
name: 'slaid',
},
{
name: 'campaignid',
},
{
name: 'relatedobjectid',
},
{
name: 'transactioncurrencyid',
},
{
name: 'parentaccountid',
},
{
name: 'originatingcaseid',
},
{
name: 'parentcontactid',
},
{
name: 'originatingcasename',
},
{
name: 'qualifyingopportunityname',
},
{
name: 'campaignname',
},
{
name: 'parentcontactname',
},
{
name: 'parentaccountname',
},
{
name: 'relatedobjectname',
},
{
name: 'transactioncurrencyname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Infotabviewpanel 部件服务对象
*
* @export
* @class InfotabviewpanelService
*/
export default class InfotabviewpanelService extends ControlService {
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import InfotabviewpanelBase from './infotabviewpanel-tabviewpanel-base.vue';
@Component({
components: {
}
})
export default class Infotabviewpanel extends InfotabviewpanelBase {
}
</script>
\ No newline at end of file
<template>
<div class='tabviewpanel' style="height:100%;" v-if = 'isActivied' >
<activity-pointer-by-parent-key
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false" >
</activity-pointer-by-parent-key>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import LeadService from '@/service/lead/lead-service';
import Infotabviewpanel2Service from './infotabviewpanel2-tabviewpanel-service';
@Component({
components: {
}
})
export default class Infotabviewpanel2Base extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof Infotabviewpanel2
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof Infotabviewpanel2
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof Infotabviewpanel2
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof Infotabviewpanel2
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Infotabviewpanel2
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof Infotabviewpanel2
*/
public getControlType(): string {
return 'TABVIEWPANEL'
}
/**
* 建构部件服务对象
*
* @type {Infotabviewpanel2Service}
* @memberof Infotabviewpanel2
*/
public service: Infotabviewpanel2Service = new Infotabviewpanel2Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {LeadService}
* @memberof Infotabviewpanel2
*/
public appEntityService: LeadService = new LeadService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof Infotabviewpanel2
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof Infotabviewpanel2
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof Infotabviewpanel2
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof Infotabviewpanel2
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof Infotabviewpanel2
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof Infotabviewpanel2
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof Infotabviewpanel2
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof Infotabviewpanel2
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof Infotabviewpanel2
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof Infotabviewpanel2
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof Infotabviewpanel2
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof Infotabviewpanel2
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof Infotabviewpanel2
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof Infotabviewpanel2
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
</script>
<style lang='less'>
@import './infotabviewpanel2-tabviewpanel.less';
</style>
\ No newline at end of file
/**
* Infotabviewpanel2 部件模型
*
* @export
* @class Infotabviewpanel2Model
*/
export default class Infotabviewpanel2Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof Infotabviewpanel2Model
*/
public getDataItems(): any[] {
return [
{
name: 'address1_fax',
},
{
name: 'address2_utcoffset',
},
{
name: 'jobtitle',
},
{
name: 'address2_country',
},
{
name: 'budgetamount',
},
{
name: 'address2_fax',
},
{
name: 'onholdtime',
},
{
name: 'lastname',
},
{
name: 'address1_telephone2',
},
{
name: 'address1_stateorprovince',
},
{
name: 'masterleadidyominame',
},
{
name: 'estimatedvalue',
},
{
name: 'lead',
prop: 'leadid',
},
{
name: 'address1_longitude',
},
{
name: 'address1_line1',
},
{
name: 'leadqualitycode',
},
{
name: 'donotphone',
},
{
name: 'exchangerate',
},
{
name: 'entityimage_url',
},
{
name: 'createman',
},
{
name: 'address2_stateorprovince',
},
{
name: 'description',
},
{
name: 'numberofemployees',
},
{
name: 'address1_city',
},
{
name: 'entityimageid',
},
{
name: 'address2_line3',
},
{
name: 'statuscode',
},
{
name: 'address2_line1',
},
{
name: 'customerid',
},
{
name: 'companyname',
},
{
name: 'versionnumber',
},
{
name: 'qualificationcomments',
},
{
name: 'owneridtype',
},
{
name: 'contactidyominame',
},
{
name: 'address2_name',
},
{
name: 'emailaddress1',
},
{
name: 'followemail',
},
{
name: 'address1_country',
},
{
name: 'websiteurl',
},
{
name: 'yomicompanyname',
},
{
name: 'updatedate',
},
{
name: 'address1_line3',
},
{
name: 'address2_addressid',
},
{
name: 'address1_composite',
},
{
name: 'subject',
},
{
name: 'address1_utcoffset',
},
{
name: 'budgetamount_base',
},
{
name: 'address1_addresstypecode',
},
{
name: 'address2_telephone3',
},
{
name: 'evaluatefit',
},
{
name: 'address1_latitude',
},
{
name: 'address1_telephone3',
},
{
name: 'fullname',
},
{
name: 'estimatedamount_base',
},
{
name: 'budgetstatus',
},
{
name: 'industrycode',
},
{
name: 'address1_line2',
},
{
name: 'initialcommunication',
},
{
name: 'address1_postofficebox',
},
{
name: 'address1_telephone1',
},
{
name: 'revenue',
},
{
name: 'yomilastname',
},
{
name: 'address2_county',
},
{
name: 'stageid',
},
{
name: 'address1_shippingmethodcode',
},
{
name: 'estimatedamount',
},
{
name: 'address1_county',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'lastonholdtime',
},
{
name: 'createdate',
},
{
name: 'teamsfollowed',
},
{
name: 'salutation',
},
{
name: 'address2_shippingmethodcode',
},
{
name: 'address2_latitude',
},
{
name: 'participatesinworkflow',
},
{
name: 'yomifirstname',
},
{
name: 'address2_composite',
},
{
name: 'salesstage',
},
{
name: 'donotpostalmail',
},
{
name: 'customeridyominame',
},
{
name: 'revenue_base',
},
{
name: 'overriddencreatedon',
},
{
name: 'schedulefollowup_prospect',
},
{
name: 'address2_city',
},
{
name: 'telephone1',
},
{
name: 'ibizprivate',
},
{
name: 'customeridtype',
},
{
name: 'mobilephone',
},
{
name: 'need',
},
{
name: 'prioritycode',
},
{
name: 'address1_addressid',
},
{
name: 'yomifullname',
},
{
name: 'salesstagecode',
},
{
name: 'importsequencenumber',
},
{
name: 'address2_telephone1',
},
{
name: 'ownerid',
},
{
name: 'middlename',
},
{
name: 'telephone2',
},
{
name: 'purchasetimeframe',
},
{
name: 'yomimiddlename',
},
{
name: 'leadsourcecode',
},
{
name: 'entityimage_timestamp',
},
{
name: 'preferredcontactmethodcode',
},
{
name: 'entityimage',
},
{
name: 'address2_telephone2',
},
{
name: 'donotsendmm',
},
{
name: 'purchaseprocess',
},
{
name: 'donotbulkemail',
},
{
name: 'sic',
},
{
name: 'donotemail',
},
{
name: 'address2_longitude',
},
{
name: 'confirminterest',
},
{
name: 'address2_postofficebox',
},
{
name: 'statecode',
},
{
name: 'autocreate',
},
{
name: 'address1_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'lastusedincampaign',
},
{
name: 'estimatedclosedate',
},
{
name: 'address2_line2',
},
{
name: 'emailaddress3',
},
{
name: 'pager',
},
{
name: 'address2_upszone',
},
{
name: 'traversedpath',
},
{
name: 'fax',
},
{
name: 'schedulefollowup_qualify',
},
{
name: 'telephone3',
},
{
name: 'processid',
},
{
name: 'emailaddress2',
},
{
name: 'updateman',
},
{
name: 'decisionmaker',
},
{
name: 'owneridyominame',
},
{
name: 'address1_postalcode',
},
{
name: 'address2_postalcode',
},
{
name: 'donotfax',
},
{
name: 'firstname',
},
{
name: 'merged',
},
{
name: 'address2_addresstypecode',
},
{
name: 'address1_upszone',
},
{
name: 'slaname',
},
{
name: 'qualifyingopportunityid',
},
{
name: 'slaid',
},
{
name: 'campaignid',
},
{
name: 'relatedobjectid',
},
{
name: 'transactioncurrencyid',
},
{
name: 'parentaccountid',
},
{
name: 'originatingcaseid',
},
{
name: 'parentcontactid',
},
{
name: 'originatingcasename',
},
{
name: 'qualifyingopportunityname',
},
{
name: 'campaignname',
},
{
name: 'parentcontactname',
},
{
name: 'parentaccountname',
},
{
name: 'relatedobjectname',
},
{
name: 'transactioncurrencyname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* Infotabviewpanel2 部件服务对象
*
* @export
* @class Infotabviewpanel2Service
*/
export default class Infotabviewpanel2Service extends ControlService {
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import Infotabviewpanel2Base from './infotabviewpanel2-tabviewpanel-base.vue';
@Component({
components: {
}
})
export default class Infotabviewpanel2 extends Infotabviewpanel2Base {
}
</script>
\ No newline at end of file
......@@ -522,8 +522,8 @@ export default class QuickCreateBase extends Vue implements ControlInterface {
fullname: [
{ type: 'string', message: '姓名 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '姓名 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '姓名 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '姓名 值不能为空', trigger: 'blur' },
{ required: true, type: 'string', message: '姓名 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '姓名 值不能为空', trigger: 'blur' },
],
companyname: [
{ type: 'string', message: '公司名称 值必须为字符串类型', trigger: 'change' },
......
......@@ -83,7 +83,6 @@ public class Relationships extends EntityMP implements Serializable {
/**
* 关系类型
*/
@DEField(defaultValue = "OPPORTUNITYCOMPETITOR")
@TableField(value = "relationshipstype")
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
......
package cn.ibizlab.businesscentral.core.sales.domain;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.util.ObjectUtils;
import org.springframework.util.DigestUtils;
import cn.ibizlab.businesscentral.util.domain.EntityBase;
import cn.ibizlab.businesscentral.util.annotation.DEField;
import cn.ibizlab.businesscentral.util.enums.DEPredefinedFieldType;
import cn.ibizlab.businesscentral.util.enums.DEFieldDefaultValueType;
import java.io.Serializable;
import lombok.*;
import org.springframework.data.annotation.Transient;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.baomidou.mybatisplus.annotation.*;
import cn.ibizlab.businesscentral.util.domain.EntityMP;
/**
* 实体[潜在客户对手]
*/
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "RELATIONSHIPS",resultMap = "LeadCompetitorResultMap")
public class LeadCompetitor extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 建立时间
*/
@DEField(preType = DEPredefinedFieldType.CREATEDATE)
@TableField(value = "createdate" , fill = FieldFill.INSERT)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "createdate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("createdate")
private Timestamp createdate;
/**
* 建立人
*/
@DEField(preType = DEPredefinedFieldType.CREATEMAN)
@TableField(value = "createman" , fill = FieldFill.INSERT)
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 关系标识
*/
@DEField(isKeyField=true)
@TableId(value= "relationshipsid",type=IdType.ASSIGN_UUID)
@JSONField(name = "relationshipsid")
@JsonProperty("relationshipsid")
private String relationshipsid;
/**
* 关系名称
*/
@TableField(value = "relationshipsname")
@JSONField(name = "relationshipsname")
@JsonProperty("relationshipsname")
private String relationshipsname;
/**
* 关系类型
*/
@DEField(defaultValue = "LEADCOMPETITOR")
@TableField(value = "relationshipstype")
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
private String relationshipstype;
/**
* 更新时间
*/
@DEField(preType = DEPredefinedFieldType.UPDATEDATE)
@TableField(value = "updatedate")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "updatedate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("updatedate")
private Timestamp updatedate;
/**
* 更新人
*/
@DEField(preType = DEPredefinedFieldType.UPDATEMAN)
@TableField(value = "updateman")
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 潜在顾客
*/
@TableField(value = "entityid")
@JSONField(name = "entityid")
@JsonProperty("entityid")
private String entityid;
/**
* 竞争对手
*/
@TableField(value = "entity2id")
@JSONField(name = "entity2id")
@JsonProperty("entity2id")
private String entity2id;
/**
* 潜在客户
*/
@TableField(value = "entityname")
@JSONField(name = "entityname")
@JsonProperty("entityname")
private String entityname;
/**
* 对手
*/
@TableField(value = "entity2name")
@JSONField(name = "entity2name")
@JsonProperty("entity2name")
private String entity2name;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.sales.domain.Competitor competitor;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.sales.domain.Lead lead;
/**
* 设置 [关系名称]
*/
public void setRelationshipsname(String relationshipsname){
this.relationshipsname = relationshipsname ;
this.modify("relationshipsname",relationshipsname);
}
/**
* 设置 [关系类型]
*/
public void setRelationshipstype(String relationshipstype){
this.relationshipstype = relationshipstype ;
this.modify("relationshipstype",relationshipstype);
}
/**
* 设置 [潜在顾客]
*/
public void setEntityid(String entityid){
this.entityid = entityid ;
this.modify("entityid",entityid);
}
/**
* 设置 [竞争对手]
*/
public void setEntity2id(String entity2id){
this.entity2id = entity2id ;
this.modify("entity2id",entity2id);
}
/**
* 设置 [潜在客户]
*/
public void setEntityname(String entityname){
this.entityname = entityname ;
this.modify("entityname",entityname);
}
/**
* 设置 [对手]
*/
public void setEntity2name(String entity2name){
this.entity2name = entity2name ;
this.modify("entity2name",entity2name);
}
}
......@@ -74,6 +74,7 @@ public class OpportunityCompetitor extends EntityMP implements Serializable {
/**
* 关系类型
*/
@DEField(defaultValue = "OPPORTUNITYCOMPETITOR")
@TableField(value = "relationshipstype")
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
......
......@@ -44,6 +44,9 @@ import org.springframework.util.StringUtils;
@Service("CompetitorServiceImpl")
public class CompetitorServiceImpl extends ServiceImpl<CompetitorMapper, Competitor> implements ICompetitorService {
@Autowired
@Lazy
private cn.ibizlab.businesscentral.core.sales.service.ILeadCompetitorService leadcompetitorService;
@Autowired
@Lazy
private cn.ibizlab.businesscentral.core.sales.service.IOpportunityCloseService opportunitycloseService;
......
......@@ -55,6 +55,9 @@ public class LeadServiceImpl extends ServiceImpl<LeadMapper, Lead> implements IL
private cn.ibizlab.businesscentral.core.sales.service.ILeadAddressService leadaddressService;
@Autowired
@Lazy
private cn.ibizlab.businesscentral.core.sales.service.ILeadCompetitorService leadcompetitorService;
@Autowired
@Lazy
private cn.ibizlab.businesscentral.core.marketing.service.IListLeadService listleadService;
@Autowired
@Lazy
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册