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

lab_gzf 发布系统代码

上级 bd58955c
......@@ -439,6 +439,16 @@
"viewtag": "21eb3cee3363f2590cf0cf6af8446300",
"memo": ""
},
"campaignstopgridview": {
"title": "市场活动信息",
"caption": "市场活动",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignStopGridView",
"viewfilename": "campaign-stop-grid-view",
"viewtag": "236d90aa8adf8a3e08dae1a9fa5112a9",
"memo": "系统自动添加"
},
"incidentedit_chlidincident": {
"title": "子案例信息",
"caption": "案例",
......@@ -1989,6 +1999,16 @@
"viewtag": "a04bb3dac3122438b3b1096f5f370516",
"memo": ""
},
"campaigneffectivegridview": {
"title": "市场活动信息",
"caption": "市场活动",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignEffectiveGridView",
"viewfilename": "campaign-effective-grid-view",
"viewtag": "a05d102378ccfa4d9b9f3d039c29699a",
"memo": "系统自动添加"
},
"ibizlistsummary": {
"title": "市场营销列表概览",
"caption": "市场营销列表概览",
......@@ -2499,6 +2519,16 @@
"viewtag": "cab8702dc3d6cc283eb40a1e07fa72ba",
"memo": ""
},
"salesliteratureedit_datapanelview": {
"title": "头部信息编辑",
"caption": "销售宣传资料",
"viewtype": "DEEDITVIEW",
"viewmodule": "Sales",
"viewname": "SalesLiteratureEdit_DataPanelView",
"viewfilename": "sales-literature-edit-data-panel-view",
"viewtag": "cb057e779c24f76ec272f7331af023a6",
"memo": ""
},
"leadmpickupview": {
"title": "潜在顾客数据多项选择视图",
"caption": "潜在顾客",
......@@ -2599,6 +2629,16 @@
"viewtag": "d43a25ac94ca7cb20db961aae174ca53",
"memo": "系统自动添加"
},
"campaignstatetabview": {
"title": "市场活动状态分页视图",
"caption": "市场活动",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignStateTabView",
"viewfilename": "campaign-state-tab-view",
"viewtag": "d6dde8e6dd703de9b544d3e5d9f07579",
"memo": ""
},
"campaigninfo": {
"title": "市场活动信息",
"caption": "市场活动",
......
......@@ -68,6 +68,10 @@ export default {
caption: "市场活动",
title: "市场活动面板视图",
},
stopgridview: {
caption: "市场活动",
title: "市场活动信息",
},
editview: {
caption: "市场活动",
title: "市场活动编辑视图",
......@@ -88,10 +92,18 @@ export default {
caption: "市场活动",
title: "快速新建",
},
effectivegridview: {
caption: "市场活动",
title: "市场活动信息",
},
summary: {
caption: "市场活动概览",
title: "市场活动概览",
},
statetabview: {
caption: "市场活动",
title: "市场活动状态分页视图",
},
info: {
caption: "市场活动",
title: "市场活动信息",
......@@ -338,6 +350,56 @@ export default {
tip: "Filter",
},
},
stopgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "激活",
tip: "激活",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
......@@ -382,4 +444,54 @@ export default {
tip: "关闭",
},
},
effectivegridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem14_stop: {
caption: "停用",
tip: "停用",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
......@@ -67,6 +67,10 @@ export default {
caption: "市场活动",
title: "市场活动面板视图",
},
stopgridview: {
caption: "市场活动",
title: "市场活动信息",
},
editview: {
caption: "市场活动",
title: "市场活动编辑视图",
......@@ -87,10 +91,18 @@ export default {
caption: "市场活动",
title: "快速新建",
},
effectivegridview: {
caption: "市场活动",
title: "市场活动信息",
},
summary: {
caption: "市场活动概览",
title: "市场活动概览",
},
statetabview: {
caption: "市场活动",
title: "市场活动状态分页视图",
},
info: {
caption: "市场活动",
title: "市场活动信息",
......@@ -337,6 +349,56 @@ export default {
tip: "过滤",
},
},
stopgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem14_active: {
caption: "激活",
tip: "激活",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
......@@ -381,4 +443,54 @@ export default {
tip: "关闭",
},
},
effectivegridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem14_stop: {
caption: "停用",
tip: "停用",
},
tbitem15: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
};
\ No newline at end of file
......@@ -54,6 +54,10 @@ export default {
caption: "销售宣传资料",
title: "销售宣传资料编辑视图",
},
edit_datapanelview: {
caption: "销售宣传资料",
title: "头部信息编辑",
},
quickcreateview: {
caption: "销售宣传资料",
title: "快速新建",
......@@ -82,6 +86,47 @@ export default {
uiactions: {
},
},
edit_datapanel_form: {
details: {
group1: "销售宣传资料基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "销售宣传资料",
srfmajortext: "销售资料名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
expirationdate: "到期日期",
employeecontactid: "责任人",
salesliteratureid: "销售宣传资料",
},
uiactions: {
},
},
datapanel_form: {
details: {
button1: "头信息编辑",
grouppanel1: "分组面板",
group1: "销售宣传资料基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "销售宣传资料",
srfmajortext: "销售资料名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
expirationdate: "到期日期",
employeecontactid: "责任人",
salesliteratureid: "销售宣传资料",
},
uiactions: {
salesliterature_openedit_datapanelview: "头信息编辑",
},
},
main_form: {
details: {
group1: "salesliterature基本信息",
......
......@@ -53,6 +53,10 @@ export default {
caption: "销售宣传资料",
title: "销售宣传资料编辑视图",
},
edit_datapanelview: {
caption: "销售宣传资料",
title: "头部信息编辑",
},
quickcreateview: {
caption: "销售宣传资料",
title: "快速新建",
......@@ -81,6 +85,47 @@ export default {
uiactions: {
},
},
edit_datapanel_form: {
details: {
group1: "销售宣传资料基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "销售宣传资料",
srfmajortext: "销售资料名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
expirationdate: "到期日期",
employeecontactid: "责任人",
salesliteratureid: "销售宣传资料",
},
uiactions: {
},
},
datapanel_form: {
details: {
button1: "头信息编辑",
grouppanel1: "分组面板",
group1: "销售宣传资料基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "销售宣传资料",
srfmajortext: "销售资料名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
expirationdate: "到期日期",
employeecontactid: "责任人",
salesliteratureid: "销售宣传资料",
},
uiactions: {
salesliterature_openedit_datapanelview: "头信息编辑",
},
},
main_form: {
details: {
group1: "salesliterature基本信息",
......
......@@ -195,6 +195,44 @@ mock.onGet(new RegExp(/^\/campaigns\/getdraft$/)).reply((config: any) => {
return [status, {}];
});
// Active
mock.onPost(new RegExp(/^\/campaigns\/?([a-zA-Z0-9\-\;]{0,35})\/active$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: Active");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['campaignid'];
const matchArray:any = new RegExp(/^\/campaigns\/([a-zA-Z0-9\-\;]{1,35})\/active$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.campaignid, tempValue.campaignid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['campaignid'] == tempValue['campaignid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// CheckKey
mock.onPost(new RegExp(/^\/campaigns\/?([a-zA-Z0-9\-\;]{0,35})\/checkkey$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: CheckKey");
......@@ -271,6 +309,44 @@ mock.onPost(new RegExp(/^\/campaigns\/?([a-zA-Z0-9\-\;]{0,35})\/save$/)).reply((
return [status, data];
});
// Stop
mock.onPost(new RegExp(/^\/campaigns\/?([a-zA-Z0-9\-\;]{0,35})\/stop$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: Stop");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['campaignid'];
const matchArray:any = new RegExp(/^\/campaigns\/([a-zA-Z0-9\-\;]{1,35})\/stop$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.campaignid, tempValue.campaignid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['campaignid'] == tempValue['campaignid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// FetchDefault
mock.onGet(new RegExp(/^\/campaigns\/fetchdefault$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: FetchDefault");
......@@ -314,6 +390,94 @@ mock.onGet(new RegExp(/^\/campaigns\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((c
console.groupEnd();
return [status, records ? records : []];
});
// FetchEffective
mock.onGet(new RegExp(/^\/campaigns\/fetcheffective$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: FetchEffective");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchEffective
mock.onGet(new RegExp(/^\/campaigns\/fetcheffective(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: FetchEffective");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// FetchStop
mock.onGet(new RegExp(/^\/campaigns\/fetchstop$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: FetchStop");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchStop
mock.onGet(new RegExp(/^\/campaigns\/fetchstop(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:campaign 方法: FetchStop");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
......
......@@ -359,6 +359,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactInfo_Person",
"viewtag": "21eb3cee3363f2590cf0cf6af8446300"
},
"campaignstopgridview": {
"title": "市场活动信息",
"caption": "市场活动",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignStopGridView",
"viewtag": "236d90aa8adf8a3e08dae1a9fa5112a9"
},
"incidentedit_chlidincident": {
"title": "子案例信息",
"caption": "案例",
......@@ -1599,6 +1607,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "SalesLiteratureInfo_SalLitView",
"viewtag": "a04bb3dac3122438b3b1096f5f370516"
},
"campaigneffectivegridview": {
"title": "市场活动信息",
"caption": "市场活动",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignEffectiveGridView",
"viewtag": "a05d102378ccfa4d9b9f3d039c29699a"
},
"ibizlistsummary": {
"title": "市场营销列表概览",
"caption": "市场营销列表概览",
......@@ -2007,6 +2023,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "GoalQuickCreateView",
"viewtag": "cab8702dc3d6cc283eb40a1e07fa72ba"
},
"salesliteratureedit_datapanelview": {
"title": "头部信息编辑",
"caption": "销售宣传资料",
"viewtype": "DEEDITVIEW",
"viewmodule": "Sales",
"viewname": "SalesLiteratureEdit_DataPanelView",
"viewtag": "cb057e779c24f76ec272f7331af023a6"
},
"leadmpickupview": {
"title": "潜在顾客数据多项选择视图",
"caption": "潜在顾客",
......@@ -2087,6 +2111,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "OpportunityLostGridView",
"viewtag": "d43a25ac94ca7cb20db961aae174ca53"
},
"campaignstatetabview": {
"title": "市场活动状态分页视图",
"caption": "市场活动",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Marketing",
"viewname": "CampaignStateTabView",
"viewtag": "d6dde8e6dd703de9b544d3e5d9f07579"
},
"campaigninfo": {
"title": "市场活动信息",
"caption": "市场活动",
......
......@@ -16,14 +16,15 @@ export const PageComponents = {
Vue.component('knowledge-article-incident-edit-view', () => import('@pages/service/knowledge-article-incident-edit-view/knowledge-article-incident-edit-view.vue'));
Vue.component('sales-order-invoice-grid-view', () => import('@pages/sales/sales-order-invoice-grid-view/sales-order-invoice-grid-view.vue'));
Vue.component('sales-order-edit-data-panel-view', () => import('@pages/sales/sales-order-edit-data-panel-view/sales-order-edit-data-panel-view.vue'));
Vue.component('goal-info-goal-view', () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'));
Vue.component('invoice-by-parent-key', () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'));
Vue.component('goal-info-goal-view', () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'));
Vue.component('invoice-paid-grid-view', () => import('@pages/finance/invoice-paid-grid-view/invoice-paid-grid-view.vue'));
Vue.component('goal-info-view', () => import('@pages/sales/goal-info-view/goal-info-view.vue'));
Vue.component('opportunity-grid-view', () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'));
Vue.component('opportunity-product-edit-view', () => import('@pages/sales/opportunity-product-edit-view/opportunity-product-edit-view.vue'));
Vue.component('email-edit-view', () => import('@pages/base/email-edit-view/email-edit-view.vue'));
Vue.component('connection-role-pickup-view', () => import('@pages/runtime/connection-role-pickup-view/connection-role-pickup-view.vue'));
Vue.component('sales-literature-edit-data-panel-view', () => import('@pages/sales/sales-literature-edit-data-panel-view/sales-literature-edit-data-panel-view.vue'));
Vue.component('invoice-grid-view', () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'));
Vue.component('sales-literature-quick-create-view', () => import('@pages/sales/sales-literature-quick-create-view/sales-literature-quick-create-view.vue'));
Vue.component('contact-usable-grid-view', () => import('@pages/base/contact-usable-grid-view/contact-usable-grid-view.vue'));
......@@ -43,6 +44,7 @@ export const PageComponents = {
Vue.component('opportunity-state-tab-view', () => import('@pages/sales/opportunity-state-tab-view/opportunity-state-tab-view.vue'));
Vue.component('campaign-grid-view', () => import('@pages/marketing/campaign-grid-view/campaign-grid-view.vue'));
Vue.component('knowledge-article-summary-view', () => import('@pages/base/knowledge-article-summary-view/knowledge-article-summary-view.vue'));
Vue.component('campaign-effective-grid-view', () => import('@pages/marketing/campaign-effective-grid-view/campaign-effective-grid-view.vue'));
Vue.component('list-lead-by-list', () => import('@pages/marketing/list-lead-by-list/list-lead-by-list.vue'));
Vue.component('lead-competitor-competitor-grid-view', () => import('@pages/sales/lead-competitor-competitor-grid-view/lead-competitor-competitor-grid-view.vue'));
Vue.component('campaign-activity-edit-view', () => import('@pages/marketing/campaign-activity-edit-view/campaign-activity-edit-view.vue'));
......@@ -76,6 +78,7 @@ export const PageComponents = {
Vue.component('quote-edit-data-panel-view', () => import('@pages/sales/quote-edit-data-panel-view/quote-edit-data-panel-view.vue'));
Vue.component('goal-pickup-grid-view', () => import('@pages/sales/goal-pickup-grid-view/goal-pickup-grid-view.vue'));
Vue.component('contact-info', () => import('@pages/base/contact-info/contact-info.vue'));
Vue.component('campaign-state-tab-view', () => import('@pages/marketing/campaign-state-tab-view/campaign-state-tab-view.vue'));
Vue.component('quote-summary', () => import('@pages/sales/quote-summary/quote-summary.vue'));
Vue.component('contact-pickup-grid-view', () => import('@pages/base/contact-pickup-grid-view/contact-pickup-grid-view.vue'));
Vue.component('knowledge-article-incident-grid-view', () => import('@pages/service/knowledge-article-incident-grid-view/knowledge-article-incident-grid-view.vue'));
......@@ -127,8 +130,8 @@ export const PageComponents = {
Vue.component('product-state-tab-view', () => import('@pages/product/product-state-tab-view/product-state-tab-view.vue'));
Vue.component('setting', () => import('@pages/ungroup/setting/setting.vue'));
Vue.component('invoice-quick-create-view', () => import('@pages/finance/invoice-quick-create-view/invoice-quick-create-view.vue'));
Vue.component('competitor-product-comp-pro-grid-view', () => import('@pages/sales/competitor-product-comp-pro-grid-view/competitor-product-comp-pro-grid-view.vue'));
Vue.component('campaign-info-schedule', () => import('@pages/marketing/campaign-info-schedule/campaign-info-schedule.vue'));
Vue.component('competitor-product-comp-pro-grid-view', () => import('@pages/sales/competitor-product-comp-pro-grid-view/competitor-product-comp-pro-grid-view.vue'));
Vue.component('lead-con-lead-grid-view', () => import('@pages/sales/lead-con-lead-grid-view/lead-con-lead-grid-view.vue'));
Vue.component('sales-order-info-view', () => import('@pages/sales/sales-order-info-view/sales-order-info-view.vue'));
Vue.component('knowledge-article-info-kl-art-view', () => import('@pages/base/knowledge-article-info-kl-art-view/knowledge-article-info-kl-art-view.vue'));
......@@ -189,8 +192,8 @@ export const PageComponents = {
Vue.component('goal-pickup-view', () => import('@pages/sales/goal-pickup-view/goal-pickup-view.vue'));
Vue.component('sales-order-state-tab-view', () => import('@pages/sales/sales-order-state-tab-view/sales-order-state-tab-view.vue'));
Vue.component('list-contact-inner', () => import('@pages/marketing/list-contact-inner/list-contact-inner.vue'));
Vue.component('contact-edit-view', () => import('@pages/base/contact-edit-view/contact-edit-view.vue'));
Vue.component('campaign-info-campagin', () => import('@pages/marketing/campaign-info-campagin/campaign-info-campagin.vue'));
Vue.component('contact-edit-view', () => import('@pages/base/contact-edit-view/contact-edit-view.vue'));
Vue.component('appointment-edit-view', () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'));
Vue.component('list-account-edit-view', () => import('@pages/marketing/list-account-edit-view/list-account-edit-view.vue'));
Vue.component('entitlement-pickup-grid-view', () => import('@pages/service/entitlement-pickup-grid-view/entitlement-pickup-grid-view.vue'));
......@@ -229,6 +232,7 @@ export const PageComponents = {
Vue.component('competitor-pickup-view', () => import('@pages/sales/competitor-pickup-view/competitor-pickup-view.vue'));
Vue.component('invoice-cancel-grid-view', () => import('@pages/finance/invoice-cancel-grid-view/invoice-cancel-grid-view.vue'));
Vue.component('product-sales-literature-sal-lit-pro-edit-view', () => import('@pages/sales/product-sales-literature-sal-lit-pro-edit-view/product-sales-literature-sal-lit-pro-edit-view.vue'));
Vue.component('campaign-stop-grid-view', () => import('@pages/marketing/campaign-stop-grid-view/campaign-stop-grid-view.vue'));
Vue.component('product-effective-grid-view', () => import('@pages/product/product-effective-grid-view/product-effective-grid-view.vue'));
Vue.component('account-stop-grid-view', () => import('@pages/base/account-stop-grid-view/account-stop-grid-view.vue'));
Vue.component('connection-role-pickup-grid-view', () => import('@pages/runtime/connection-role-pickup-grid-view/connection-role-pickup-grid-view.vue'));
......
<studio-view-style2 viewName="campaigneffectivegridview" viewTitle="市场活动信息" class='degridview campaign-effective-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchEffective"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./campaign-effective-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CampaignEffectiveGridViewBase } from './campaign-effective-grid-view-base';
import view_grid from '@widgets/campaign/main-grid/main-grid.vue';
import view_searchform from '@widgets/campaign/default-searchform/default-searchform.vue';
/**
* 市场活动信息视图
*
* @export
* @class CampaignEffectiveGridView
* @extends {CampaignEffectiveGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class CampaignEffectiveGridView extends CampaignEffectiveGridViewBase { }
</script>
<studio-view-style2 viewName="campaigngridview" viewTitle="市场活动信息" class='degridview campaign-grid-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
......
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import CampaignService from '@/service/campaign/campaign-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
/**
* 市场活动状态分页视图视图基类
*
* @export
* @class CampaignStateTabViewBase
* @extends {TabExpViewBase}
*/
export class CampaignStateTabViewBase extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof CampaignStateTabViewBase
*/
protected appDeName: string = 'campaign';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof CampaignStateTabViewBase
*/
protected appDeKey: string = 'campaignid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof CampaignStateTabViewBase
*/
protected appDeMajor: string = 'campaignname';
/**
* 实体服务对象
*
* @type {CampaignService}
* @memberof CampaignStateTabViewBase
*/
protected appEntityService: CampaignService = new CampaignService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof CampaignStateTabViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof CampaignStateTabViewBase
*/
protected model: any = {
srfCaption: 'entities.campaign.views.statetabview.caption',
srfTitle: 'entities.campaign.views.statetabview.title',
srfSubTitle: 'entities.campaign.views.statetabview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof CampaignStateTabViewBase
*/
protected containerModel: any = {
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'd6dde8e6dd703de9b544d3e5d9f07579';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof CampaignStateTabViewBase
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof CampaignStateTabViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'campaign',
majorPSDEField: 'campaignname',
isLoadDefault: true,
});
}
}
\ No newline at end of file
<studio-view-style2 viewName="campaignstatetabview" viewTitle="市场活动状态分页视图" class='detabexpview campaign-state-tab-view'>
<view_tabexppanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
name="tabexppanel"
ref='tabexppanel'
@closeview="closeView($event)">
</view_tabexppanel>
</studio-view-style2>
\ No newline at end of file
<template src="./campaign-state-tab-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CampaignStateTabViewBase } from './campaign-state-tab-view-base';
import view_tabexppanel from '@widgets/campaign/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.vue';
/**
* 市场活动状态分页视图视图
*
* @export
* @class CampaignStateTabView
* @extends {CampaignStateTabViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class CampaignStateTabView extends CampaignStateTabViewBase { }
</script>
<studio-view-style2 viewName="campaignstopgridview" viewTitle="市场活动信息" class='degridview campaign-stop-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave.apply(_self, arguments)"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchStop"
:newdata="newdata.bind(_self)"
:opendata="opendata.bind(_self)"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./campaign-stop-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { CampaignStopGridViewBase } from './campaign-stop-grid-view-base';
import view_grid from '@widgets/campaign/main-grid/main-grid.vue';
import view_searchform from '@widgets/campaign/default-searchform/default-searchform.vue';
/**
* 市场活动信息视图
*
* @export
* @class CampaignStopGridView
* @extends {CampaignStopGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class CampaignStopGridView extends CampaignStopGridViewBase { }
</script>
import { Subject } from 'rxjs';
import { EditViewBase } from '@/studio-core';
import SalesLiteratureService from '@/service/sales-literature/sales-literature-service';
import EditViewEngine from '@engine/view/edit-view-engine';
/**
* 头部信息编辑视图基类
*
* @export
* @class SalesLiteratureEdit_DataPanelViewBase
* @extends {EditViewBase}
*/
export class SalesLiteratureEdit_DataPanelViewBase extends EditViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected appDeName: string = 'salesliterature';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected appDeKey: string = 'salesliteratureid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected appDeMajor: string = 'salesliteraturename';
/**
* 实体服务对象
*
* @type {SalesLiteratureService}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected appEntityService: SalesLiteratureService = new SalesLiteratureService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected model: any = {
srfCaption: 'entities.salesliterature.views.edit_datapanelview.caption',
srfTitle: 'entities.salesliterature.views.edit_datapanelview.title',
srfSubTitle: 'entities.salesliterature.views.edit_datapanelview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
protected containerModel: any = {
view_form: { name: 'form', type: 'FORM' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = 'cb057e779c24f76ec272f7331af023a6';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
public engine: EditViewEngine = new EditViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
form: this.$refs.form,
p2k: '0',
keyPSDEField: 'salesliterature',
majorPSDEField: 'salesliteraturename',
isLoadDefault: true,
});
}
/**
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
public form_save($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
public form_remove($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'remove', $event);
}
/**
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof SalesLiteratureEdit_DataPanelViewBase
*/
public form_load($event: any, $event2?: any): void {
this.engine.onCtrlEvent('form', 'load', $event);
}
}
\ No newline at end of file
<studio-view-style2 viewName="salesliteratureedit_datapanelview" viewTitle="头部信息编辑" class='deeditview sales-literature-edit-data-panel-view'>
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="true"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</studio-view-style2>
\ No newline at end of file
<template src="./sales-literature-edit-data-panel-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { SalesLiteratureEdit_DataPanelViewBase } from './sales-literature-edit-data-panel-view-base';
import view_form from '@widgets/sales-literature/edit-data-panel-form/edit-data-panel-form.vue';
/**
* 头部信息编辑视图
*
* @export
* @class SalesLiteratureEdit_DataPanelView
* @extends {SalesLiteratureEdit_DataPanelViewBase}
*/
@Component({
components: {
view_form,
}
})
@VueLifeCycleProcessing()
export default class SalesLiteratureEdit_DataPanelView extends SalesLiteratureEdit_DataPanelViewBase { }
</script>
......@@ -2,6 +2,7 @@ import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import SalesLiteratureService from '@/service/sales-literature/sales-literature-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
import DataPanelEngine from '@engine/ctrl/data-panel-engine';
/**
* 销售宣传资料信息视图基类
......@@ -79,6 +80,7 @@ export class SalesLiteratureInfoViewBase extends TabExpViewBase {
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_datapanel: { name: 'datapanel', type: 'FORM' },
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
......@@ -114,6 +116,15 @@ export class SalesLiteratureInfoViewBase extends TabExpViewBase {
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof SalesLiteratureInfoViewBase
*/
public datapanel: DataPanelEngine = new DataPanelEngine();
/**
* 引擎初始化
*
......@@ -127,6 +138,13 @@ export class SalesLiteratureInfoViewBase extends TabExpViewBase {
majorPSDEField: 'salesliteraturename',
isLoadDefault: true,
});
this.datapanel.init({
view: this,
datapanel: this.$refs.datapanel,
keyPSDEField: 'salesliterature',
majorPSDEField: 'salesliteraturename',
isLoadDefault: true,
});
}
/**
......
......@@ -2,6 +2,27 @@
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="dataPanel">
<view_datapanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="datapanel"
ref='datapanel'
@closeview="closeView($event)">
</view_datapanel>
</template>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_tabexppanel
......
......@@ -3,6 +3,7 @@
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { SalesLiteratureInfoViewBase } from './sales-literature-info-view-base';
import view_datapanel from '@widgets/sales-literature/data-panel-form/data-panel-form.vue';
import view_tabexppanel from '@widgets/sales-literature/info-viewtabexppanel-tabexppanel/info-viewtabexppanel-tabexppanel.vue';
/**
......@@ -14,6 +15,7 @@ import view_tabexppanel from '@widgets/sales-literature/info-viewtabexppanel-tab
*/
@Component({
components: {
view_datapanel,
view_tabexppanel,
}
})
......
import CampaignService from '@/service/campaign/campaign-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 = "DB05065C-E472-4C83-A38B-16BAC7CA5EDB";
/**
* 默认参数名称
*
* @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 params 传入参数
*/
private async executeBegin(context:any,params:any,isloading:boolean){
//开始节点
if(this.compute1Cond(params)){
return this.executePrepareparam1(context,params,isloading);
}
}
/**
* 准备参数
*
* @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.compute0Cond(params)){
return this.executeDeaction1(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:CampaignService = new CampaignService();
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;
}
}
}
\ 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 CampaignService from '@/service/campaign/campaign-service';
import { Verify } from '@/utils/verify/verify';
/**
* 停用
*
* @export
* @class StopLogicBase
*/
export default class StopLogicBase {
/**
* 名称
*
* @memberof StopLogicBase
*/
private name:string ="Stop";
/**
* 唯一标识
*
* @memberof StopLogicBase
*/
private id:string = "6A8A0F8B-4A26-4209-8AEE-80FA902B2212";
/**
* 默认参数名称
*
* @memberof StopLogicBase
*/
private defaultParamName:string = "Default";
/**
* 参数集合
*
* @memberof StopLogicBase
*/
private paramsMap:Map<string,any> = new Map();
/**
* Creates an instance of StopLogicBase.
*
* @param {*} [opts={}]
* @memberof StopLogicBase
*/
constructor(opts: any = {}) {
this.initParams(opts);
}
/**
* 初始化参数集合
*
* @param {*} [opts={}]
* @memberof StopLogicBase
*/
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:CampaignService = new CampaignService();
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 params 传入参数
*/
private async executeBegin(context:any,params:any,isloading:boolean){
//开始节点
if(this.compute1Cond(params)){
return this.executePrepareparam1(context,params,isloading);
}
}
/**
* 准备参数
*
* @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:"1"});
this.paramsMap.set('Default',{data:tempDstParam0Data,context:tempDstParam0Context});
if(this.compute0Cond(params)){
return this.executeDeaction1(context,params,isloading);
}
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import StopLogicBase from './stop-logic-base';
/**
* 停用
*
* @export
* @class StopLogic
*/
export default class StopLogic extends StopLogicBase{
/**
* Creates an instance of StopLogic
*
* @param {*} [opts={}]
* @memberof StopLogic
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
......@@ -228,6 +228,7 @@ export const viewstate: any = {
viewdatachange: false,
refviews: [
'3d0f1bced23c2757ff4de58b146c2e6e',
'cb057e779c24f76ec272f7331af023a6',
'00e76d9dd6b3065c8231e9dc15334d05',
'96cc644d7d763e47f3644aed0d9850f0',
],
......@@ -400,6 +401,17 @@ export const viewstate: any = {
'e9c822edbc51531e713b561101e783a6',
],
},
{
viewtag: '236d90aa8adf8a3e08dae1a9fa5112a9',
viewmodule: 'Marketing',
viewname: 'CampaignStopGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'd8b664607bd727900320b23da3fafaf2',
'8206069d9567cbc0a06e441869343819',
],
},
{
viewtag: '2419ef8b89f0de40c9daa19acacbd706',
viewmodule: 'Service',
......@@ -1556,13 +1568,13 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'07c5035fbb847e889f3dbb9657723f30',
'0e4d8b949764a2c40c2b93261aed6fd8',
'24a93674ec4c976c08902a3e95421ca6',
'00e8e9d547a2367a0e13e232ea85b920',
'ef8908af79e7631a6292209fa498a899',
'25bf5f8c2ebd1ce2be6d06717ed08a96',
'3202f3f503424c7a2c549b2c5186dc36',
'd6dde8e6dd703de9b544d3e5d9f07579',
'efe82dc0a6991dd88da8c33cee6bf451',
'8895fef7ce4f5bdd1cd8f950bd1f8bcc',
'631a4276161c551802f3aaf4bd7e607c',
......@@ -1868,6 +1880,17 @@ export const viewstate: any = {
'1bc1e98908024887f7476018b9e314d1',
],
},
{
viewtag: 'a05d102378ccfa4d9b9f3d039c29699a',
viewmodule: 'Marketing',
viewname: 'CampaignEffectiveGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'd8b664607bd727900320b23da3fafaf2',
'8206069d9567cbc0a06e441869343819',
],
},
{
viewtag: 'a0baf844a4d48914ee2623448b1a73fb',
viewmodule: 'Marketing',
......@@ -2341,6 +2364,15 @@ export const viewstate: any = {
'a17a40c513ec2011425e9d26b6591214',
],
},
{
viewtag: 'cb057e779c24f76ec272f7331af023a6',
viewmodule: 'Sales',
viewname: 'SalesLiteratureEdit_DataPanelView',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: 'cb1041432c36510ea42ab61a406baba2',
viewmodule: 'Sales',
......@@ -2435,6 +2467,18 @@ export const viewstate: any = {
'a243cd62accb02ceba4fb128703128f0',
],
},
{
viewtag: 'd6dde8e6dd703de9b544d3e5d9f07579',
viewmodule: 'Marketing',
viewname: 'CampaignStateTabView',
viewaction: '',
viewdatachange: false,
refviews: [
'07c5035fbb847e889f3dbb9657723f30',
'a05d102378ccfa4d9b9f3d039c29699a',
'236d90aa8adf8a3e08dae1a9fa5112a9',
],
},
{
viewtag: 'd8b664607bd727900320b23da3fafaf2',
viewmodule: 'Marketing',
......
......@@ -53,5 +53,9 @@ export default class HtmlContainer extends Vue {
.html-container {
height: 100%;
width: 100%;
img {
width: 100%;
}
}
</style>
\ No newline at end of file
......@@ -264,7 +264,7 @@ export class CentralBase extends Vue {
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'statetabview', parameterName: 'statetabview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
......
......@@ -603,7 +603,7 @@ export default class CentralModel {
textcls: '',
appfunctag: 'Auto15',
appfuncyype: 'APPVIEW',
viewname: 'campaign-grid-view',
viewname: 'campaign-state-tab-view',
resourcetag: '',
}
,
......@@ -946,12 +946,12 @@ export default class CentralModel {
appfunctag: 'Auto15',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'campaigngridview',
codename: 'campaignstatetabview',
deResParameters: [],
routepath: '/central/:central?/campaigns/:campaign?/gridview/:gridview?',
routepath: '/central/:central?/campaigns/:campaign?/statetabview/:statetabview?',
parameters: [
{ pathName: 'campaigns', parameterName: 'campaign' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'statetabview', parameterName: 'statetabview' },
],
},
{
......
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* StateTabViewtabviewpanel 部件服务对象
*
* @export
* @class StateTabViewtabviewpanelService
*/
export default class StateTabViewtabviewpanelService extends ControlService {
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册