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

lab_gzf 部署微服务应用

上级 9cca9e21
......@@ -97,6 +97,7 @@
width: 30px;
height: 34px;
line-height: 34px;
background-color: var(--app-left-sidebar-background-color);
border-left: var(1px solid --view-dividing-line-color-bright);
border-right: var(1px solid --view-dividing-line-color-bright);
text-align: center;
......@@ -111,7 +112,7 @@
.ivu-dropdown {
position: absolute;
top: 0;
color: var(--view-font-color);
color: var(--app-left-sidebar-font-color);
}
.move-left {
......
......@@ -50,8 +50,6 @@ export default {
details: {
group1: "connection基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "连接",
......@@ -75,10 +73,6 @@ export default {
ownerid: "负责人",
ownertype: "负责人类型",
ownername: "负责人",
createman: "建立人",
createdate: "建立时间",
updateman: "更新人",
updatedate: "更新时间",
connectionid: "连接",
record1roleid: "角色(源)",
record2roleid: "角色(目标)",
......
......@@ -49,8 +49,6 @@ export default {
details: {
group1: "connection基本信息",
formpage1: "基本信息",
group2: "操作信息",
formpage2: "其它",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "连接",
......@@ -74,10 +72,6 @@ export default {
ownerid: "负责人",
ownertype: "负责人类型",
ownername: "负责人",
createman: "建立人",
createdate: "建立时间",
updateman: "更新人",
updatedate: "更新时间",
connectionid: "连接",
record1roleid: "角色(源)",
record2roleid: "角色(目标)",
......
......@@ -530,13 +530,37 @@ export default {
caption: "授予资格",
tip: "授予资格",
},
tbitem17_disqualification_sep: {
tbitem17_lostorder_sep: {
caption: "",
tip: "",
},
tbitem17_disqualification: {
caption: "取消资格",
tip: "取消资格",
tbitem17_lostorder: {
caption: "丢单",
tip: "丢单",
},
tbitem17_nointerested_sep: {
caption: "",
tip: "",
},
tbitem17_nointerested: {
caption: "不再感兴趣",
tip: "不再感兴趣",
},
tbitem17_unable_sep: {
caption: "",
tip: "",
},
tbitem17_unable: {
caption: "无法联系",
tip: "无法联系",
},
tbitem17_cancel_sep: {
caption: "",
tip: "",
},
tbitem17_cancel: {
caption: "取消",
tip: "取消",
},
tbitem17_active_sep: {
caption: "",
......
......@@ -529,13 +529,37 @@ export default {
caption: "授予资格",
tip: "授予资格",
},
tbitem17_disqualification_sep: {
tbitem17_lostorder_sep: {
caption: "",
tip: "",
},
tbitem17_disqualification: {
caption: "取消资格",
tip: "取消资格",
tbitem17_lostorder: {
caption: "丢单",
tip: "丢单",
},
tbitem17_nointerested_sep: {
caption: "",
tip: "",
},
tbitem17_nointerested: {
caption: "不再感兴趣",
tip: "不再感兴趣",
},
tbitem17_unable_sep: {
caption: "",
tip: "",
},
tbitem17_unable: {
caption: "无法联系",
tip: "无法联系",
},
tbitem17_cancel_sep: {
caption: "",
tip: "",
},
tbitem17_cancel: {
caption: "取消",
tip: "取消",
},
tbitem17_active_sep: {
caption: "",
......
......@@ -535,6 +535,14 @@ export default {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "重新开启商机",
tip: "重新开启商机",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
......@@ -577,6 +585,14 @@ export default {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "重新开启商机",
tip: "重新开启商机",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
......
......@@ -534,6 +534,14 @@ export default {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "重新开启商机",
tip: "重新开启商机",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
......@@ -576,6 +584,14 @@ export default {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "重新开启商机",
tip: "重新开启商机",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
......
<studio-view-style2 viewName="contacteditview" viewTitle="联系人编辑视图" class='deeditview contact-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
......
......@@ -568,8 +568,8 @@ export class ConnectionByParentKeyBase extends GridViewBase {
{ pathName: 'connections', parameterName: 'connection' },
];
const _this: any = this;
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
const openPopupModal = (view: any, data: any) => {
let container: Subject<any> = this.$appmodal.openModal(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
......@@ -585,9 +585,8 @@ export class ConnectionByParentKeyBase extends GridViewBase {
height: 0,
width: 0,
title: this.$t('entities.connection.views.editview.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
openPopupModal(view, data);
}
......@@ -614,8 +613,8 @@ export class ConnectionByParentKeyBase extends GridViewBase {
{ pathName: 'connections', parameterName: 'connection' },
];
const _this: any = this;
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
const openPopupModal = (view: any, data: any) => {
let container: Subject<any> = this.$appmodal.openModal(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
......@@ -631,9 +630,8 @@ export class ConnectionByParentKeyBase extends GridViewBase {
height: 0,
width: 0,
title: this.$t('entities.connection.views.editview.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
openPopupModal(view, data);
}
......
<studio-view-style2 viewName="leadeditview" viewTitle="潜在顾客编辑" class='deeditview lead-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
......
......@@ -120,8 +120,17 @@ export class LeadInfoBase extends TabExpViewBase {
seperator4: { name: 'seperator4', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_qualification: { name: 'tbitem17_qualification', caption: '授予资格', 'isShowCaption': true, 'isShowIcon': true, tooltip: '授予资格', iconcls: 'fa fa-check', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Qualification', target: 'SINGLEKEY', class: '' } },
tbitem17_disqualification_sep: { name: 'tbitem17_disqualification_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_disqualification: { name: 'tbitem17_disqualification', caption: '取消资格', 'isShowCaption': true, 'isShowIcon': true, tooltip: '取消资格', iconcls: 'fa fa-close', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'DisQualification', target: 'SINGLEKEY', class: '' } },
tbitem17_lostorder_sep: { name: 'tbitem17_lostorder_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_lostorder: { name: 'tbitem17_lostorder', caption: '丢单', 'isShowCaption': true, 'isShowIcon': true, tooltip: '丢单', iconcls: 'fa fa-close', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'LostOrder', target: 'SINGLEKEY', class: '' } },
tbitem17_nointerested_sep: { name: 'tbitem17_nointerested_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_nointerested: { name: 'tbitem17_nointerested', caption: '不再感兴趣', 'isShowCaption': true, 'isShowIcon': true, tooltip: '不再感兴趣', iconcls: 'fa fa-minus-square-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'NoInterested', target: 'SINGLEKEY', class: '' } },
tbitem17_unable_sep: { name: 'tbitem17_unable_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_unable: { name: 'tbitem17_unable', caption: '无法联系', 'isShowCaption': true, 'isShowIcon': true, tooltip: '无法联系', iconcls: 'fa fa-connectdevelop', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Unable', target: 'SINGLEKEY', class: '' } },
tbitem17_cancel_sep: { name: 'tbitem17_cancel_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_cancel: { name: 'tbitem17_cancel', caption: '取消', 'isShowCaption': true, 'isShowIcon': true, tooltip: '取消', iconcls: 'fa fa-minus-circle', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Cancel', target: 'SINGLEKEY', class: '' } },
tbitem17_active_sep: { name: 'tbitem17_active_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem17_active: { name: 'tbitem17_active', caption: '重新激活', 'isShowCaption': true, 'isShowIcon': true, tooltip: '重新激活', iconcls: 'fa fa-play-circle-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Active', target: 'SINGLEKEY', class: '' } },
......@@ -203,8 +212,17 @@ export class LeadInfoBase extends TabExpViewBase {
if (Object.is($event.tag, 'tbitem17_qualification')) {
this.toolbar_tbitem17_qualification_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem17_disqualification')) {
this.toolbar_tbitem17_disqualification_click(null, '', $event2);
if (Object.is($event.tag, 'tbitem17_lostorder')) {
this.toolbar_tbitem17_lostorder_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem17_nointerested')) {
this.toolbar_tbitem17_nointerested_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem17_unable')) {
this.toolbar_tbitem17_unable_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem17_cancel')) {
this.toolbar_tbitem17_cancel_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem17_active')) {
this.toolbar_tbitem17_active_click(null, '', $event2);
......@@ -309,7 +327,91 @@ export class LeadInfoBase extends TabExpViewBase {
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem17_disqualification_click(params: any = {}, tag?: any, $event?: any) {
public toolbar_tbitem17_lostorder_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];
}
// 界面行为
const curUIService:LeadUIService = new LeadUIService();
curUIService.Lead_LostOrder(datas,contextJO, paramJO, $event, xData,this,"Lead");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem17_nointerested_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];
}
// 界面行为
const curUIService:LeadUIService = new LeadUIService();
curUIService.Lead_NoInterested(datas,contextJO, paramJO, $event, xData,this,"Lead");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem17_unable_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];
}
// 界面行为
const curUIService:LeadUIService = new LeadUIService();
curUIService.Lead_Unable(datas,contextJO, paramJO, $event, xData,this,"Lead");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem17_cancel_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -326,7 +428,7 @@ export class LeadInfoBase extends TabExpViewBase {
}
// 界面行为
const curUIService:LeadUIService = new LeadUIService();
curUIService.Lead_DisQualification(datas,contextJO, paramJO, $event, xData,this,"Lead");
curUIService.Lead_Cancel(datas,contextJO, paramJO, $event, xData,this,"Lead");
}
/**
......
......@@ -117,16 +117,16 @@ export class LeadOnGridViewBase extends GridViewBase {
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_lostorder: { name: 'tbitem14_lostorder', caption: '丢单', 'isShowCaption': true, 'isShowIcon': true, tooltip: '丢单', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'LostOrder', target: 'SINGLEKEY', class: '' } },
tbitem14_lostorder: { name: 'tbitem14_lostorder', caption: '丢单', 'isShowCaption': true, 'isShowIcon': true, tooltip: '丢单', iconcls: 'fa fa-close', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'LostOrder', target: 'SINGLEKEY', class: '' } },
tbitem14_unable_sep: { name: 'tbitem14_unable_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_unable: { name: 'tbitem14_unable', caption: '无法联系', 'isShowCaption': true, 'isShowIcon': true, tooltip: '无法联系', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Unable', target: 'SINGLEKEY', class: '' } },
tbitem14_unable: { name: 'tbitem14_unable', caption: '无法联系', 'isShowCaption': true, 'isShowIcon': true, tooltip: '无法联系', iconcls: 'fa fa-connectdevelop', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Unable', target: 'SINGLEKEY', class: '' } },
tbitem14_nointerested_sep: { name: 'tbitem14_nointerested_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_nointerested: { name: 'tbitem14_nointerested', caption: '不再感兴趣', 'isShowCaption': true, 'isShowIcon': true, tooltip: '不再感兴趣', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'NoInterested', target: 'SINGLEKEY', class: '' } },
tbitem14_nointerested: { name: 'tbitem14_nointerested', caption: '不再感兴趣', 'isShowCaption': true, 'isShowIcon': true, tooltip: '不再感兴趣', iconcls: 'fa fa-minus-square-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'NoInterested', target: 'SINGLEKEY', class: '' } },
tbitem14_cancel_sep: { name: 'tbitem14_cancel_sep', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_cancel: { name: 'tbitem14_cancel', caption: '取消', 'isShowCaption': true, 'isShowIcon': true, tooltip: '取消', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Cancel', target: 'SINGLEKEY', class: '' } },
tbitem14_cancel: { name: 'tbitem14_cancel', caption: '取消', 'isShowCaption': true, 'isShowIcon': true, tooltip: '取消', iconcls: 'fa fa-minus-circle', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Cancel', target: 'SINGLEKEY', class: '' } },
tbitem15: { name: 'tbitem15', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
......
......@@ -117,6 +117,9 @@ export class OpportunityLostGridViewBase extends GridViewBase {
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_active: { name: 'tbitem14_active', caption: '重新开启商机', 'isShowCaption': true, 'isShowIcon': true, tooltip: '重新开启商机', iconcls: 'fa fa-play-circle-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Active', target: 'SINGLEKEY', class: '' } },
tbitem15: { name: 'tbitem15', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
......@@ -191,6 +194,9 @@ export class OpportunityLostGridViewBase extends GridViewBase {
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem14_active')) {
this.toolbar_tbitem14_active_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
......@@ -453,6 +459,35 @@ export class OpportunityLostGridViewBase extends GridViewBase {
this.Print(datas, contextJO,paramJO, $event, xData,this,"Opportunity");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem14_active_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:OpportunityUIService = new OpportunityUIService();
curUIService.Opportunity_Active(datas,contextJO, paramJO, $event, xData,this,"Opportunity");
}
/**
* 逻辑事件
*
......
......@@ -117,6 +117,9 @@ export class OpportunityWinGridViewBase extends GridViewBase {
tbitem13: { name: 'tbitem13', caption: '导出', 'isShowCaption': true, 'isShowIcon': true, tooltip: '导出', iconcls: 'fa fa-file-excel-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ExportExcel', target: '' }, MaxRowCount: 1000, class: '' },
tbitem10: { name: 'tbitem10', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14_active: { name: 'tbitem14_active', caption: '重新开启商机', 'isShowCaption': true, 'isShowIcon': true, tooltip: '重新开启商机', iconcls: 'fa fa-play-circle-o', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Active', target: 'SINGLEKEY', class: '' } },
tbitem15: { name: 'tbitem15', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem19: { name: 'tbitem19', caption: '过滤', 'isShowCaption': true, 'isShowIcon': true, tooltip: '过滤', iconcls: 'fa fa-filter', icon: '', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'ToggleFilter', target: '', class: '' } },
};
......@@ -191,6 +194,9 @@ export class OpportunityWinGridViewBase extends GridViewBase {
if (Object.is($event.tag, 'tbitem11')) {
this.toolbar_tbitem11_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem14_active')) {
this.toolbar_tbitem14_active_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem19')) {
this.toolbar_tbitem19_click(null, '', $event2);
}
......@@ -453,6 +459,35 @@ export class OpportunityWinGridViewBase extends GridViewBase {
this.Print(datas, contextJO,paramJO, $event, xData,this,"Opportunity");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem14_active_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
const curUIService:OpportunityUIService = new OpportunityUIService();
curUIService.Opportunity_Active(datas,contextJO, paramJO, $event, xData,this,"Opportunity");
}
/**
* 逻辑事件
*
......
import { Verify } from '@/utils/verify/verify';
/**
* 重新激活
*
* @export
* @class ActiveLogicBase
*/
export default class ActiveLogicBase {
/**
* 名称
*
* @memberof ActiveLogicBase
*/
private name:string ="Active";
/**
* 唯一标识
*
* @memberof ActiveLogicBase
*/
private id:string = "81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F";
/**
* 默认参数名称
*
* @memberof ActiveLogicBase
*/
private defaultParamName:string = "Default";
/**
* 参数集合
*
* @memberof ActiveLogicBase
*/
private paramsMap:Map<string,any> = new Map();
/**
* Creates an instance of ActiveLogicBase.
*
* @param {*} [opts={}]
* @memberof ActiveLogicBase
*/
constructor(opts: any = {}) {
this.initParams(opts);
}
/**
* 初始化参数集合
*
* @param {*} [opts={}]
* @memberof ActiveLogicBase
*/
public initParams(opts:any){
this.paramsMap.set('Default',opts);
}
/**
* 执行逻辑
*
* @param context 应用上下文
* @param params 传入参数
*/
public onExecute(context:any,params:any,isloading:boolean){
return this.executeBegin(context,params,isloading);
}
/**
* 开始
*
* @param params 传入参数
*/
private async executeBegin(context:any,params:any,isloading:boolean){
//开始节点
return this.paramsMap.get(this.defaultParamName).data;
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import ActiveLogicBase from './active-logic-base';
/**
* 重新激活
*
* @export
* @class ActiveLogic
*/
export default class ActiveLogic extends ActiveLogicBase{
/**
* Creates an instance of ActiveLogic
*
* @param {*} [opts={}]
* @memberof ActiveLogic
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
import ActiveLogic from '@/service/lead/active-logic';
import CancelLogic from '@/service/lead/cancel-logic';
import LostOrderLogic from '@/service/lead/lost-order-logic';
import NoInterestedLogic from '@/service/lead/no-interested-logic';
......
import OpportunityService from '@/service/opportunity/opportunity-service';
import { Verify } from '@/utils/verify/verify';
/**
* 重新开启商机
*
* @export
* @class ActiveLogicBase
*/
export default class ActiveLogicBase {
/**
* 名称
*
* @memberof ActiveLogicBase
*/
private name:string ="Active";
/**
* 唯一标识
*
* @memberof ActiveLogicBase
*/
private id:string = "053F61AF-FCC6-46D9-89F4-33C2A3942C87";
/**
* 默认参数名称
*
* @memberof ActiveLogicBase
*/
private defaultParamName:string = "Default";
/**
* 参数集合
*
* @memberof ActiveLogicBase
*/
private paramsMap:Map<string,any> = new Map();
/**
* Creates an instance of ActiveLogicBase.
*
* @param {*} [opts={}]
* @memberof ActiveLogicBase
*/
constructor(opts: any = {}) {
this.initParams(opts);
}
/**
* 初始化参数集合
*
* @param {*} [opts={}]
* @memberof ActiveLogicBase
*/
public initParams(opts:any){
this.paramsMap.set('Default',opts);
}
/**
* 计算0节点结果
*
* @param params 传入参数
*/
public compute0Cond(params:any):boolean{
return true;
}
/**
* 计算1节点结果
*
* @param params 传入参数
*/
public compute1Cond(params:any):boolean{
return true;
}
/**
* 执行逻辑
*
* @param context 应用上下文
* @param params 传入参数
*/
public onExecute(context:any,params:any,isloading:boolean){
return this.executeBegin(context,params,isloading);
}
/**
* 更新商机状态
*
* @param context 应用上下文
* @param params 传入参数
*/
private async executeDeaction1(context:any,params:any,isloading:boolean){
// 行为处理节点
let result: any;
let actionParam:any = this.paramsMap.get('Default');
const targetService:OpportunityService = new OpportunityService();
if (targetService['Update'] && targetService['Update'] instanceof Function) {
result = await targetService['Update'](actionParam.context,actionParam.data, false);
}
if(result && result.status == 200){
Object.assign(actionParam.data,result.data);
return this.paramsMap.get(this.defaultParamName).data;
}
}
/**
* 准备参数
*
* @param context 应用上下文
* @param params 传入参数
*/
private async executePrepareparam1(context:any,params:any,isloading:boolean){
// 准备参数节点
let tempDstParam0Context:any = this.paramsMap.get('Default').context?this.paramsMap.get('Default').context:{};
let tempDstParam0Data:any = this.paramsMap.get('Default').data?this.paramsMap.get('Default').data:{};
Object.assign(tempDstParam0Data,{statecode:"0"});
this.paramsMap.set('Default',{data:tempDstParam0Data,context:tempDstParam0Context});
if(this.compute1Cond(params)){
return this.executeDeaction1(context,params,isloading);
}
}
/**
* 开始
*
* @param params 传入参数
*/
private async executeBegin(context:any,params:any,isloading:boolean){
//开始节点
if(this.compute0Cond(params)){
return this.executePrepareparam1(context,params,isloading);
}
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import ActiveLogicBase from './active-logic-base';
/**
* 重新开启商机
*
* @export
* @class ActiveLogic
*/
export default class ActiveLogic extends ActiveLogicBase{
/**
* Creates an instance of ActiveLogic
*
* @param {*} [opts={}]
* @memberof ActiveLogic
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
......@@ -201,7 +201,7 @@
// 输入框通用
.ivu-input {
background-color: var(--form-editor-background-color);
border-color: var(--form-editor-background-color);
border-color: var(--form-editor-border-color);
color: var(--form-editor-font-color);
}
......
......@@ -16,7 +16,7 @@
.ivu-input.ivu-input-default.ivu-input-with-suffix {
height: 28px;
line-height: 28px;
border: 1px solid var(--form-editor-background-color);
border: 1px solid var(--form-editor-border-color);
color: var(--form-editor-font-color);
background-color: var(--form-editor-background-color);
}
......
......@@ -57,7 +57,7 @@
--app-suspension-windows-background-color: #FFF;
--app-suspension-windows-background-color-rgb: 255, 255, 255;
// 字体颜色
--app-suspension-windows-color: #cecece;
--app-suspension-windows-color: #202124;
--app-suspension-windows-color-rgb: 134, 134, 134;
// 激活色
--app-suspension-windows-background-color-active: #0074e8;
......
......@@ -523,7 +523,7 @@ export default class LeadUIServiceBase extends UIService {
}
/**
* 无法联系
* 打开主信息界面
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
......@@ -534,7 +534,8 @@ export default class LeadUIServiceBase extends UIService {
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async Lead_Unable(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
public async Lead_OpenInfoVIew(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
......@@ -556,42 +557,26 @@ export default class LeadUIServiceBase extends UIService {
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;
let deResParameters: any[] = [];
if(context.account && true){
deResParameters = [
{ pathName: 'accounts', parameterName: 'account' },
]
}
actionContext.closeView(null);
const backend = () => {
const curService:LeadService = new LeadService();
curService.Unable(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;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
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();
const parameters: any[] = [
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'info', parameterName: 'info' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
return null;
}
openIndexViewTab(data);
}
/**
* 打开主信息界面
* 无法联系
*
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
......@@ -602,8 +587,7 @@ export default class LeadUIServiceBase extends UIService {
* @param {*} [srfParentDeName] 父实体名称
* @returns {Promise<any>}
*/
public async Lead_OpenInfoVIew(args: any[], context:any = {} ,params: any={}, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
public async Lead_Unable(args: any[],context:any = {}, params:any = {}, $event?: any, xData?: any,actionContext?: any,srfParentDeName?:string){
let data: any = {};
let parentContext:any = {};
let parentViewParam:any = {};
......@@ -625,22 +609,38 @@ export default class LeadUIServiceBase extends UIService {
let parentObj:any = {srfparentdename:srfParentDeName?srfParentDeName:null,srfparentkey:srfParentDeName?context[srfParentDeName.toLowerCase()]:null};
Object.assign(data,parentObj);
Object.assign(context,parentObj);
let deResParameters: any[] = [];
if(context.account && true){
deResParameters = [
{ pathName: 'accounts', parameterName: 'account' },
]
}
const parameters: any[] = [
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'info', parameterName: 'info' },
];
const openIndexViewTab = (data: any) => {
const routePath = actionContext.$viewTool.buildUpRoutePath(actionContext.$route, context, deResParameters, parameters, _args, data);
actionContext.$router.push(routePath);
return null;
// 直接调实体服务需要转换的数据
if(context && context.srfsessionid){
context.srfsessionkey = context.srfsessionid;
delete context.srfsessionid;
}
openIndexViewTab(data);
actionContext.closeView(null);
const backend = () => {
const curService:LeadService = new LeadService();
curService.Unable(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;
if (xData && xData.refresh && xData.refresh instanceof Function) {
xData.refresh(args);
}
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();
}
/**
......@@ -914,70 +914,6 @@ export default class LeadUIServiceBase extends UIService {
openPopupModal(view, data);
}
/**
* 取消资格
*
* @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();
}
/**
* 获取指定数据的重定向页面
......
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -63,6 +63,12 @@
<tab-pane :index="2" name='tabviewpanel3' tab='infotabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-cube',
style:{
'margin-right' : '2px'
}
}),
h('span', '产品'),
h('Badge', {
props: {
......@@ -87,6 +93,12 @@
<tab-pane :index="3" name='tabviewpanel4' tab='infotabexppanel' class=''
:label="(h) =>{
return h('div', [
h('i',{
class:'fa fa-phone',
style:{
'margin-right' : '2px'
}
}),
h('span', '潜在顾客'),
h('Badge', {
props: {
......
......@@ -89,10 +89,6 @@ export class MainEditFormBase extends EditFormControlBase {
ownerid: null,
ownertype: null,
ownername: null,
createman: null,
createdate: null,
updateman: null,
updatedate: null,
connectionid: null,
record1roleid: null,
record2roleid: null,
......@@ -131,14 +127,10 @@ export class MainEditFormBase extends EditFormControlBase {
* @memberof MainEditFormBase
*/
public detailsModel: any = {
group1: new FormGroupPanelModel({ caption: 'connection基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.connection.main_form', extractMode: 'ITEM', details: [] } }),
group1: new FormGroupPanelModel({ caption: 'connection基本信息', detailType: 'GROUPPANEL', name: 'group1', visible: true, isShowCaption: false, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.connection.main_form', extractMode: 'ITEM', details: [] } }),
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, showMoreMode: 0 }),
group2: new FormGroupPanelModel({ caption: '操作信息', detailType: 'GROUPPANEL', name: 'group2', visible: true, isShowCaption: true, form: this, showMoreMode: 0, uiActionGroup: { caption: '', langbase: 'entities.connection.main_form', extractMode: 'ITEM', details: [] } }),
formpage2: new FormPageModel({ caption: '其它', detailType: 'FORMPAGE', name: 'formpage2', 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 }),
......@@ -185,21 +177,12 @@ export class MainEditFormBase extends EditFormControlBase {
ownername: new FormItemModel({ caption: '负责人', detailType: 'FORMITEM', name: 'ownername', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
createman: new FormItemModel({ caption: '建立人', detailType: 'FORMITEM', name: 'createman', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
createdate: new FormItemModel({ caption: '建立时间', detailType: 'FORMITEM', name: 'createdate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
updateman: new FormItemModel({ caption: '更新人', detailType: 'FORMITEM', name: 'updateman', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
updatedate: new FormItemModel({ caption: '更新时间', detailType: 'FORMITEM', name: 'updatedate', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 0 }),
connectionid: new FormItemModel({ caption: '连接', detailType: 'FORMITEM', name: 'connectionid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
record1roleid: new FormItemModel({ caption: '角色(源)', detailType: 'FORMITEM', name: 'record1roleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
record2roleid: new FormItemModel({ caption: '角色(目标)', detailType: 'FORMITEM', name: 'record2roleid', visible: true, isShowCaption: true, form: this, showMoreMode: 0, disabled: false, enableCond: 3 }),
form: new FormTabPanelModel({ caption: 'form', detailType: 'TABPANEL', name: 'form', visible: true, isShowCaption: true, form: this, tabPages: [{ name: 'formpage1', index: 0, visible: true }, { name: 'formpage2', index: 1, visible: true }] }),
};
/**
......
......@@ -130,26 +130,6 @@ export default class MainModel {
prop: 'ownername',
dataType: 'TEXT',
},
{
name: 'createman',
prop: 'createman',
dataType: 'TEXT',
},
{
name: 'createdate',
prop: 'createdate',
dataType: 'DATETIME',
},
{
name: 'updateman',
prop: 'updateman',
dataType: 'TEXT',
},
{
name: 'updatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'connectionid',
prop: 'connectionid',
......
<i-form :model="this.data" class='app-form' ref='form' id='connection_main' style="">
<input style="display:none;" />
<row >
<tabs :animated="false" size="small" name='main' :value="detailsModel.form.activiedPage"
@on-click="detailsModel.form.clickPage($event)">
<tab-pane v-show="detailsModel.formpage1.visible" name='formpage1' :index="0" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.connection.main_form.details.formpage1')
])
}">
<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.connection.main_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group :model="detailsModel.group1" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.connection.main_form.details.group1')" :isShowCaption="false" 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.connectionname.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
......@@ -195,56 +185,5 @@
</i-col>
</tab-pane>
<tab-pane v-show="detailsModel.formpage2.visible" name='formpage2' :index="1" tab='main' class=''
:label="(h) =>{
return h('span',{
class:'caption'
},[
$t('entities.connection.main_form.details.formpage2')
])
}">
<i-col v-show="detailsModel.group2.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :model="detailsModel.group2" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.connection.main_form.details.group2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<app-form-group-data-panel slot="dataInfoPanel" :model="detailsModel.group2" :data="data" :context="context" :viewparams="viewparams"/>
<row>
<i-col v-show="detailsModel.createman.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='createman' :itemRules="this.rules.createman" class='' :caption="$t('entities.connection.main_form.details.createman')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.createman.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='createman' :value="data.createman" tag='SysOperator' codelistType='DYNAMIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.createdate.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='createdate' :itemRules="this.rules.createdate" class='' :caption="$t('entities.connection.main_form.details.createdate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.createdate.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='createdate' :value="data.createdate" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.updateman.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='updateman' :itemRules="this.rules.updateman" class='' :caption="$t('entities.connection.main_form.details.updateman')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.updateman.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='updateman' :value="data.updateman" tag='SysOperator' codelistType='DYNAMIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.updatedate.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='updatedate' :itemRules="this.rules.updatedate" class='' :caption="$t('entities.connection.main_form.details.updatedate')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.updatedate.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='updatedate' :value="data.updatedate" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
</tab-pane>
</tabs>
</row>
</i-form>
\ No newline at end of file
......@@ -28,7 +28,12 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
.datapanel-label-style {
color:rgba(245, 244, 244, 1);font-size:12px;margin:0px 0px 0px 0px
......
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -28,5 +28,10 @@
.form-btn-noborder-transparent {
background-color:transparent!important;
border-style:none;
margin:0px 5px 0px 5px
margin:0px 5px 0px 5px;
.ivu-btn.ivu-btn-primary {
color: var(--view-font-color-bright);
}
}
......@@ -84,6 +84,10 @@ public class OpportunityServiceImpl extends ServiceImpl<OpportunityMapper, Oppor
@Lazy
protected cn.ibizlab.businesscentral.core.base.service.ITransactionCurrencyService transactioncurrencyService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.logic.IOpportunityActiveLogic activeLogic;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.logic.IOpportunityLostLogic lostLogic;
......@@ -160,8 +164,8 @@ public class OpportunityServiceImpl extends ServiceImpl<OpportunityMapper, Oppor
@Override
@Transactional
public Opportunity active(Opportunity et) {
//自定义代码
return et;
activeLogic.execute(et);
return et ;
}
@Override
......
package cn.ibizlab.businesscentral.core.sales.service.logic;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import cn.ibizlab.businesscentral.core.sales.domain.Lead;
/**
* 关系型数据实体[Active] 对象
*/
public interface ILeadActiveLogic {
void execute(Lead lead ) ;
}
package cn.ibizlab.businesscentral.core.sales.service.logic;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import cn.ibizlab.businesscentral.core.sales.domain.Opportunity;
/**
* 关系型数据实体[Active] 对象
*/
public interface IOpportunityActiveLogic {
void execute(Opportunity opportunity ) ;
}
package cn.ibizlab.businesscentral.core.sales.service.logic.impl;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.KieContainer;
import cn.ibizlab.businesscentral.core.sales.service.logic.ILeadActiveLogic;
import cn.ibizlab.businesscentral.core.sales.domain.Lead;
/**
* 关系型数据实体[Active] 对象
*/
@Slf4j
@Service
public class LeadActiveLogicImpl implements ILeadActiveLogic{
@Autowired
private KieContainer kieContainer;
@Autowired
private cn.ibizlab.businesscentral.core.sales.service.ILeadService iBzSysDefaultService;
public cn.ibizlab.businesscentral.core.sales.service.ILeadService getIBzSysDefaultService() {
return this.iBzSysDefaultService;
}
public void execute(Lead et){
KieSession kieSession = null;
try{
kieSession=kieContainer.newKieSession();
kieSession.insert(et);
kieSession.setGlobal("leadactivedefault",et);
kieSession.setGlobal("iBzSysLeadDefaultService",iBzSysDefaultService);
kieSession.setGlobal("curuser", cn.ibizlab.businesscentral.util.security.AuthenticationUser.getAuthenticationUser());
kieSession.startProcess("cn.ibizlab.businesscentral.core.sales.service.logic.leadactive");
}catch(Exception e){
throw new RuntimeException("执行[重新激活]处理逻辑发生异常"+e);
}finally {
if(kieSession!=null)
kieSession.destroy();
}
}
}
package cn.ibizlab.businesscentral.core.sales.service.logic.impl;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.kie.api.runtime.KieSession;
import org.kie.api.runtime.KieContainer;
import cn.ibizlab.businesscentral.core.sales.service.logic.IOpportunityActiveLogic;
import cn.ibizlab.businesscentral.core.sales.domain.Opportunity;
/**
* 关系型数据实体[Active] 对象
*/
@Slf4j
@Service
public class OpportunityActiveLogicImpl implements IOpportunityActiveLogic{
@Autowired
private KieContainer kieContainer;
@Autowired
private cn.ibizlab.businesscentral.core.sales.service.IOpportunityService opportunityservice;
public cn.ibizlab.businesscentral.core.sales.service.IOpportunityService getOpportunityService() {
return this.opportunityservice;
}
@Autowired
private cn.ibizlab.businesscentral.core.sales.service.IOpportunityService iBzSysDefaultService;
public cn.ibizlab.businesscentral.core.sales.service.IOpportunityService getIBzSysDefaultService() {
return this.iBzSysDefaultService;
}
public void execute(Opportunity et){
KieSession kieSession = null;
try{
kieSession=kieContainer.newKieSession();
kieSession.insert(et);
kieSession.setGlobal("opportunityactivedefault",et);
kieSession.setGlobal("opportunityservice",opportunityservice);
kieSession.setGlobal("iBzSysOpportunityDefaultService",iBzSysDefaultService);
kieSession.setGlobal("curuser", cn.ibizlab.businesscentral.util.security.AuthenticationUser.getAuthenticationUser());
kieSession.startProcess("cn.ibizlab.businesscentral.core.sales.service.logic.opportunityactive");
}catch(Exception e){
throw new RuntimeException("执行[重新开启商机]处理逻辑发生异常"+e);
}finally {
if(kieSession!=null)
kieSession.destroy();
}
}
}
......@@ -104,7 +104,7 @@
"delogicname":"商机",
"sysmoudle":{"id":"SALES","name":"销售"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"},{"id":"Lost" , "name":"丢单商机"},{"id":"Top5" , "name":"Top5"},{"id":"Win" , "name":"赢单商机"}],
"deaction":[{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Active" , "name":"重新开启商机" , "type":"USERCUSTOM" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Lose" , "name":"作为弃单" , "type":"DELOGIC" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Win" , "name":"作为赢单" , "type":"DELOGIC" }],
"deaction":[{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Active" , "name":"重新开启商机" , "type":"DELOGIC" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Lose" , "name":"作为弃单" , "type":"DELOGIC" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Win" , "name":"作为赢单" , "type":"DELOGIC" }],
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
......
package cn.ibizlab.businesscentral.sales.logic.leadlogic.active;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.fastjson.JSONObject;
global cn.ibizlab.businesscentral.core.sales.domain.Lead leadactivedefault;
global cn.ibizlab.businesscentral.core.sales.service.ILeadService iBzSysLeadDefaultService;
global cn.ibizlab.businesscentral.util.security.AuthenticationUser curuser;
no-loop
//逻辑处理节点[开始]
rule "begin"
ruleflow-group "leadactivebegin"
when
then
end
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:g="http://www.jboss.org/drools/flow/gpd" xmlns:tns="http://www.jboss.org/drools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.mvel.org/2.0" id="Definition" name="" targetNamespace="http://www.jboss.org/drools" typeLanguage="http://www.java.com/javaTypes">
<process id="cn.ibizlab.businesscentral.core.sales.service.logic.leadactive" isClosed="false" isExecutable="true" name="ScoreRule" processType="Private" tns:packageName="cn.ibizlab.businesscentral.core.sales.service.logic.leadactive">
<extensionElements>
<tns:import name="java.util.Map" />
<tns:import name="org.springframework.util.StringUtils"/>
<tns:import name="cn.ibizlab.businesscentral.util.helper.RuleUtils"/>
<tns:global identifier="leadactivedefault" type="cn.ibizlab.businesscentral.core.sales.domain.Lead" />
</extensionElements>
<startEvent id="81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F" isInterrupting="true"/>
<endEvent id="81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F_End" name="End"/>
<sequenceFlow id="81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F_End_Line" sourceRef="81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F" targetRef="81D6EDE3-E088-4D8E-8C5F-B0CA7BDD124F_End"/>
</process>
</definitions>
package cn.ibizlab.businesscentral.sales.logic.opportunitylogic.active;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.fastjson.JSONObject;
global cn.ibizlab.businesscentral.core.sales.domain.Opportunity opportunityactivedefault;
global cn.ibizlab.businesscentral.core.sales.service.IOpportunityService opportunityservice;
global cn.ibizlab.businesscentral.core.sales.service.IOpportunityService iBzSysOpportunityDefaultService;
global cn.ibizlab.businesscentral.util.security.AuthenticationUser curuser;
no-loop
//逻辑处理节点[更新商机状态]
rule "deaction1"
ruleflow-group "opportunityactivedeaction1"
when
then
opportunityservice.update(opportunityactivedefault);
update(opportunityactivedefault);//更新fact中变量值
end
//逻辑处理节点[准备参数]
rule "prepareparam1"
ruleflow-group "opportunityactiveprepareparam1"
when
then
opportunityactivedefault.set("statecode","0");
update(opportunityactivedefault);//更新fact中变量值
end
//逻辑处理节点[开始]
rule "begin"
ruleflow-group "opportunityactivebegin"
when
then
end
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:g="http://www.jboss.org/drools/flow/gpd" xmlns:tns="http://www.jboss.org/drools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.mvel.org/2.0" id="Definition" name="" targetNamespace="http://www.jboss.org/drools" typeLanguage="http://www.java.com/javaTypes">
<process id="cn.ibizlab.businesscentral.core.sales.service.logic.opportunityactive" isClosed="false" isExecutable="true" name="ScoreRule" processType="Private" tns:packageName="cn.ibizlab.businesscentral.core.sales.service.logic.opportunityactive">
<extensionElements>
<tns:import name="java.util.Map" />
<tns:import name="org.springframework.util.StringUtils"/>
<tns:import name="cn.ibizlab.businesscentral.util.helper.RuleUtils"/>
<tns:global identifier="opportunityactivedefault" type="cn.ibizlab.businesscentral.core.sales.domain.Opportunity" />
</extensionElements>
<businessRuleTask activiti:exclusive="true" g:ruleFlowGroup="opportunityactivedeaction1" id="79B06F8E-C7FB-48A9-9216-20AD92B0FC06" implementation="http://www.jboss.org/drools/rule" name="更新商机状态"/>
<endEvent id="79B06F8E-C7FB-48A9-9216-20AD92B0FC06_End" name="End"/>
<sequenceFlow id="79B06F8E-C7FB-48A9-9216-20AD92B0FC06_End_Line" sourceRef="79B06F8E-C7FB-48A9-9216-20AD92B0FC06" targetRef="79B06F8E-C7FB-48A9-9216-20AD92B0FC06_End"/>
<businessRuleTask activiti:exclusive="true" g:ruleFlowGroup="opportunityactiveprepareparam1" id="8D2A474A-BBB1-447E-8099-8DE471F3365E" implementation="http://www.jboss.org/drools/rule" name="准备参数"/>
<startEvent id="053F61AF-FCC6-46D9-89F4-33C2A3942C87" isInterrupting="true"/>
<sequenceFlow id="1BE1E280-9CC3-4431-91A2-B09D895692B8" sourceRef="053F61AF-FCC6-46D9-89F4-33C2A3942C87" targetRef="8D2A474A-BBB1-447E-8099-8DE471F3365E">
</sequenceFlow>
<sequenceFlow id="4C92BF06-6103-4FC5-956A-26CFAC0DEC4C" sourceRef="8D2A474A-BBB1-447E-8099-8DE471F3365E" targetRef="79B06F8E-C7FB-48A9-9216-20AD92B0FC06">
</sequenceFlow>
</process>
</definitions>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册