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

xignzi006 发布系统代码

上级 e16e8a18
......@@ -364,6 +364,33 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: "客户基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "客户",
srfmajortext: "客户名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
accountname: "客户名称",
telephone1: "主要电话",
fax: "传真",
websiteurl: "网站",
parentaccountname: "上级单位",
tickersymbol: "股票代号",
customertypecode: "关系类型",
defaultpricelevelname: "价目表",
defaultpricelevelid: "价目表",
parentaccountid: "上级单位",
accountid: "客户",
},
uiactions: {
},
},
main_form: {
details: {
group1: "账户信息",
......@@ -415,33 +442,6 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: "客户基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "客户",
srfmajortext: "客户名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
accountname: "客户名称",
telephone1: "主要电话",
fax: "传真",
websiteurl: "网站",
parentaccountname: "上级单位",
tickersymbol: "股票代号",
customertypecode: "关系类型",
defaultpricelevelname: "价目表",
defaultpricelevelid: "价目表",
parentaccountid: "上级单位",
accountid: "客户",
},
uiactions: {
},
},
main_grid: {
columns: {
accountname: "客户名称",
......@@ -460,44 +460,6 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem4: {
caption: "Save And New",
tip: "Save And New",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem1_openquickcreateview: {
caption: "新建",
......
......@@ -363,6 +363,33 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: '客户基本信息',
formpage1: '基本信息',
srfupdatedate: '更新时间',
srforikey: '',
srfkey: '客户',
srfmajortext: '客户名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
accountname: '客户名称',
telephone1: '主要电话',
fax: '传真',
websiteurl: '网站',
parentaccountname: '上级单位',
tickersymbol: '股票代号',
customertypecode: '关系类型',
defaultpricelevelname: '价目表',
defaultpricelevelid: '价目表',
parentaccountid: '上级单位',
accountid: '客户',
},
uiactions: {
},
},
main_form: {
details: {
group1: '账户信息',
......@@ -414,33 +441,6 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: '客户基本信息',
formpage1: '基本信息',
srfupdatedate: '更新时间',
srforikey: '',
srfkey: '客户',
srfmajortext: '客户名称',
srftempmode: '',
srfuf: '',
srfdeid: '',
srfsourcekey: '',
accountname: '客户名称',
telephone1: '主要电话',
fax: '传真',
websiteurl: '网站',
parentaccountname: '上级单位',
tickersymbol: '股票代号',
customertypecode: '关系类型',
defaultpricelevelname: '价目表',
defaultpricelevelid: '价目表',
parentaccountid: '上级单位',
accountid: '客户',
},
uiactions: {
},
},
main_grid: {
columns: {
accountname: '客户名称',
......@@ -459,44 +459,6 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: '保存',
tip: '保存',
},
tbitem4: {
caption: '保存并新建',
tip: '保存并新建',
},
tbitem5: {
caption: '保存并关闭',
tip: '保存并关闭',
},
tbitem6: {
caption: '-',
tip: '',
},
tbitem7: {
caption: '删除并关闭',
tip: '删除并关闭',
},
tbitem8: {
caption: '-',
tip: '',
},
tbitem12: {
caption: '新建',
tip: '新建',
},
tbitem13: {
caption: '-',
tip: '',
},
tbitem14: {
caption: '拷贝',
tip: '拷贝',
},
},
gridviewtoolbar_toolbar: {
tbitem1_openquickcreateview: {
caption: '新建',
......
<template>
<studio-view viewName="accounteditview" viewTitle="account编辑视图" class='deeditview account-edit-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar">
<div class='toolbar-container'>
<i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem3.tip')" v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem4.tip')" v-show="toolBarModels.tbitem4.visabled" :disabled="toolBarModels.tbitem4.disabled" class='' @click="toolbar_click({ tag: 'tbitem4' }, $event)">
<i class='sx-tb-saveandnew'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem4.caption')}}</span>
</i-button>
<i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem5.tip')" v-show="toolBarModels.tbitem5.visabled" :disabled="toolBarModels.tbitem5.disabled" class='' @click="toolbar_click({ tag: 'tbitem5' }, $event)">
<i class='sx-tb-saveandclose'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem5.caption')}}</span>
</i-button>
<span class='seperator'>|</span> <i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem7.tip')" v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<span class='seperator'>|</span> <i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem12.tip')" v-show="toolBarModels.tbitem12.visabled" :disabled="toolBarModels.tbitem12.disabled" class='' @click="toolbar_click({ tag: 'tbitem12' }, $event)">
<i class='fa fa-file-text-o'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem12.caption')}}</span>
</i-button>
<span class='seperator'>|</span> <i-button :title="$t('entities.account.editviewtoolbar_toolbar.tbitem14.tip')" v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.account.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
</div>
</template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
......@@ -208,7 +177,6 @@ export default class AccountEditViewBase extends Vue {
* @memberof AccountEditViewBase
*/
public containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_form: { name: 'form', type: 'FORM' },
};
......@@ -236,30 +204,6 @@ export default class AccountEditViewBase extends Vue {
* @memberof AccountEditViewBase
*/
public viewState: Subject<ViewState> = new Subject();
/**
* 工具栏模型
*
* @type {*}
* @memberof AccountEditView
*/
public toolBarModels: any = {
tbitem3: { name: 'tbitem3', caption: '保存', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Save', target: '' } },
tbitem4: { name: 'tbitem4', caption: '保存并新建', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndNew', target: '' } },
tbitem5: { name: 'tbitem5', caption: '保存并关闭', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'SaveAndExit', target: '' } },
tbitem6: { name: 'tbitem6', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem7: { name: 'tbitem7', caption: '删除并关闭', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'RemoveAndExit', target: 'SINGLEKEY' } },
tbitem8: { name: 'tbitem8', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem12: { name: 'tbitem12', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'New', target: '' } },
tbitem13: { name: 'tbitem13', type: 'SEPERATOR', visabled: true, dataaccaction: '', uiaction: { } },
tbitem14: { name: 'tbitem14', caption: '拷贝', disabled: false, type: 'DEUIACTION', visabled: true, dataaccaction: '', uiaction: { tag: 'Copy', target: 'SINGLEKEY' } },
};
......@@ -481,44 +425,6 @@ export default class AccountEditViewBase extends Vue {
}
/**
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof AccountEditViewBase
*/
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem7')) {
this.toolbar_tbitem7_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem9')) {
this.toolbar_tbitem9_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem10')) {
this.toolbar_tbitem10_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem12')) {
this.toolbar_tbitem12_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem14')) {
this.toolbar_tbitem14_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem15')) {
this.toolbar_tbitem15_click(null, '', $event2);
}
}
/**
* form 部件 save 事件
*
......@@ -556,509 +462,6 @@ export default class AccountEditViewBase extends Vue {
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem3_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Save(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem4_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndNew(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem5_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndExit(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem7_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.RemoveAndExit(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem9_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.SaveAndStart(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem10_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.ViewWFStep(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem12_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.New(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem14_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Copy(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 逻辑事件
*
* @param {*} [params={}]
* @param {*} [tag]
* @param {*} [$event]
* @memberof
*/
public toolbar_tbitem15_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
let xData: any = null;
// _this 指向容器对象
const _this: any = this;
let paramJO:any = {};
let contextJO:any = {};
xData = this.$refs.form;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
if(params){
datas = [params];
}
// 界面行为
this.Print(datas, contextJO,paramJO, $event, xData,this,"Account");
}
/**
* 保存
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public Save(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
// 界面行为容器对象 _this
const _this: any = this;
if (xData && xData.save instanceof Function) {
xData.save().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
_this.$emit('viewdataschange', [{ ...response.data }]);
});
} else if (_this.save && _this.save instanceof Function) {
_this.save();
}
}
/**
* 保存并新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public SaveAndNew(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.saveAndNew instanceof Function)) {
return;
}
xData.saveAndNew().then((response: any) => {
if (!response || response.status !== 200) {
_this.$emit('viewdataschange', JSON.stringify({status:'error',action:'saveAndNew'}));
return;
}
_this.$emit('viewdataschange', JSON.stringify({status:'success',action:'saveAndNew',data:response.data}));
if (xData.autoLoad instanceof Function) {
xData.autoLoad();
}
});
}
/**
* 保存并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public SaveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.saveAndExit instanceof Function) {
xData.saveAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.saveAndExit && _this.saveAndExit instanceof Function) {
_this.saveAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 删除并关闭
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public RemoveAndExit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (xData && xData.removeAndExit instanceof Function) {
xData.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
} else if (_this.removeAndExit && _this.removeAndExit instanceof Function) {
_this.removeAndExit().then((response: any) => {
if (!response || response.status !== 200) {
return;
}
if(window.parent){
window.parent.postMessage([{ ...response.data }],'*');
}
});
}
}
/**
* 开始流程
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public SaveAndStart(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (!xData || !(xData.wfstart instanceof Function)) {
return;
}
xData.wfstart(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
if(window.parent){
window.parent.postMessage({ ..._data },'*');
}
if (_this.viewdata) {
_this.$emit('viewdataschange', [{ ..._data }]);
_this.$emit('close');
}else if (this.$tabPageExp) {
this.$tabPageExp.onClose(this.$route.fullPath);
}
});
}
/**
* 当前流程步骤
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public ViewWFStep(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.wfsubmit instanceof Function)) {
return;
}
xData.wfsubmit(args).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
if (_this.viewdata) {
_this.$emit('viewdataschange', [{ ..._data }]);
_this.$emit('close');
} else if (_this.$tabPageExp) {
_this.$tabPageExp.onClose(_this.$route.fullPath);
}
});
}
/**
* 新建
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
_this.newdata([{ ...data }],[{ ...data }], params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'newdata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 拷贝
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public Copy(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
return;
}
const _this: any = this;
if (_this.newdata && _this.newdata instanceof Function) {
const data: any = {};
if (args.length > 0) {
Object.assign(data, { srfsourcekey: args[0].srfkey })
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
_this.newdata([{ ...data }],[{ ...data }],params, $event, xData);
} else if (xData && xData.copy instanceof Function) {
if (args.length > 0) {
actionContext.$store.commit('addCopyData', { srfkey: args[0].srfkey, copyData: args[0] });
}
xData.copy(args[0].srfkey);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
}
/**
* 打印
*
* @param {any[]} args 当前数据
* @param {any} contextJO 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof AccountEditViewBase
*/
public Print(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
let _this:any = this;
if (!xData || !(xData.print instanceof Function) || !$event) {
return ;
}
xData.print();
}
/**
* 关闭视图
......
......@@ -2,7 +2,5 @@
.account-edit-view {
--account-edit-view: 0;
}
// 视图样式
// this is less
export const PageComponents = {
install(Vue: any, opt: any) {
Vue.component('account-option-view', () => import('@pages/base/account-option-view/account-option-view.vue'));
Vue.component('ibiz-list-grid-view', () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'));
Vue.component('appointment-quick-create', () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'));
Vue.component('sales-literature-edit-view', () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'));
Vue.component('product-grid-view', () => import('@pages/product/product-grid-view/product-grid-view.vue'));
Vue.component('sales-order-edit-view', () => import('@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'));
Vue.component('account-introduction', () => import('@pages/base/account-introduction/account-introduction.vue'));
Vue.component('campaign-response-edit-view', () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'));
Vue.component('sales-order-edit-view', () => import('@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'));
Vue.component('account-edit-view', () => import('@pages/base/account-edit-view/account-edit-view.vue'));
Vue.component('fax-edit-view', () => import('@pages/base/fax-edit-view/fax-edit-view.vue'));
Vue.component('incident-edit-view', () => import('@pages/service/incident-edit-view/incident-edit-view.vue'));
Vue.component('account-pickup-grid-view', () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'));
Vue.component('lead-grid-view', () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'));
Vue.component('activity-pointer-edit-view', () => import('@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'));
Vue.component('account-info', () => import('@pages/base/account-info/account-info.vue'));
Vue.component('lead-grid-view', () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'));
Vue.component('sales-literature-grid-view', () => import('@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'));
Vue.component('competitor-edit-view', () => import('@pages/sales/competitor-edit-view/competitor-edit-view.vue'));
Vue.component('centeral-portal', () => import('@pages/ungroup/centeral-portal/centeral-portal.vue'));
Vue.component('product-edit-view', () => import('@pages/product/product-edit-view/product-edit-view.vue'));
Vue.component('task-quick-create', () => import('@pages/base/task-quick-create/task-quick-create.vue'));
Vue.component('quote-grid-view', () => import('@pages/sales/quote-grid-view/quote-grid-view.vue'));
Vue.component('task-quick-create', () => import('@pages/base/task-quick-create/task-quick-create.vue'));
Vue.component('account-account-info', () => import('@pages/base/account-account-info/account-account-info.vue'));
Vue.component('invoice-edit-view', () => import('@pages/finance/invoice-edit-view/invoice-edit-view.vue'));
Vue.component('sales-order-grid-view', () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'));
Vue.component('account-summary', () => import('@pages/base/account-summary/account-summary.vue'));
Vue.component('account-contact-setting', () => import('@pages/base/account-contact-setting/account-contact-setting.vue'));
Vue.component('opportunity-grid-view', () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'));
Vue.component('goal-edit-view', () => import('@pages/sales/goal-edit-view/goal-edit-view.vue'));
Vue.component('contact-option-view', () => import('@pages/base/contact-option-view/contact-option-view.vue'));
Vue.component('letter-edit-view', () => import('@pages/base/letter-edit-view/letter-edit-view.vue'));
Vue.component('activity-pointer-by-parent-key', () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'));
Vue.component('goal-edit-view', () => import('@pages/sales/goal-edit-view/goal-edit-view.vue'));
Vue.component('contact-edit-view', () => import('@pages/base/contact-edit-view/contact-edit-view.vue'));
Vue.component('lead-edit-view', () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'));
Vue.component('phone-call-edit-view', () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'));
Vue.component('account-address', () => import('@pages/base/account-address/account-address.vue'));
Vue.component('appointment-edit-view', () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'));
Vue.component('task-edit-view', () => import('@pages/base/task-edit-view/task-edit-view.vue'));
Vue.component('email-edit-view', () => import('@pages/base/email-edit-view/email-edit-view.vue'));
Vue.component('price-level-pickup-view', () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'));
Vue.component('goal-grid-view', () => import('@pages/sales/goal-grid-view/goal-grid-view.vue'));
Vue.component('opportunity-edit-view', () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'));
Vue.component('service-appointment-edit-view', () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'));
Vue.component('contact-grid-view', () => import('@pages/base/contact-grid-view/contact-grid-view.vue'));
Vue.component('service-appointment-edit-view', () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'));
Vue.component('account-grid-view', () => import('@pages/base/account-grid-view/account-grid-view.vue'));
Vue.component('activity-pointer-grid-view', () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'));
Vue.component('ibiz-list-edit-view', () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'));
Vue.component('invoice-grid-view', () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'));
Vue.component('competitor-grid-view', () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'));
Vue.component('account-distribution', () => import('@pages/base/account-distribution/account-distribution.vue'));
Vue.component('account-pickup-view', () => import('@pages/base/account-pickup-view/account-pickup-view.vue'));
Vue.component('price-level-pickup-grid-view', () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'));
Vue.component('ibiz-list-grid-view', () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'));
Vue.component('product-grid-view', () => import('@pages/product/product-grid-view/product-grid-view.vue'));
Vue.component('sales-literature-edit-view', () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'));
Vue.component('account-pickup-grid-view', () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'));
Vue.component('account-info', () => import('@pages/base/account-info/account-info.vue'));
Vue.component('account-major-contact', () => import('@pages/base/account-major-contact/account-major-contact.vue'));
Vue.component('sales-order-grid-view', () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'));
Vue.component('contact-option-view', () => import('@pages/base/contact-option-view/contact-option-view.vue'));
Vue.component('activity-pointer-by-parent-key', () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'));
Vue.component('lead-edit-view', () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'));
Vue.component('phone-call-edit-view', () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'));
Vue.component('task-edit-view', () => import('@pages/base/task-edit-view/task-edit-view.vue'));
Vue.component('price-level-pickup-view', () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'));
Vue.component('opportunity-edit-view', () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'));
Vue.component('competitor-grid-view', () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'));
Vue.component('ibiz-list-edit-view', () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'));
Vue.component('quote-edit-view', () => import('@pages/sales/quote-edit-view/quote-edit-view.vue'));
Vue.component('incident-grid-view', () => import('@pages/service/incident-grid-view/incident-grid-view.vue'));
}
......
......@@ -49,20 +49,6 @@ const router = new Router({
},
component: () => import('@pages/base/account-option-view/account-option-view.vue'),
},
{
path: 'ibizlists/:ibizlist?/gridview/:gridview?',
meta: {
caption: 'entities.ibizlist.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'ibizlists', parameterName: 'ibizlist' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'),
},
{
path: 'appointments/:appointment?/quickcreate/:quickcreate?',
meta: {
......@@ -78,32 +64,32 @@ const router = new Router({
component: () => import('@pages/base/appointment-quick-create/appointment-quick-create.vue'),
},
{
path: 'salesliteratures/:salesliterature?/editview/:editview?',
path: 'accounts/:account?/introduction/:introduction?',
meta: {
caption: 'entities.salesliterature.views.editview.title',
caption: 'entities.account.views.introduction.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'salesliteratures', parameterName: 'salesliterature' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'introduction', parameterName: 'introduction' },
],
requireAuth: true,
},
component: () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'),
component: () => import('@pages/base/account-introduction/account-introduction.vue'),
},
{
path: 'products/:product?/gridview/:gridview?',
path: 'campaignresponses/:campaignresponse?/editview/:editview?',
meta: {
caption: 'entities.product.views.gridview.title',
caption: 'entities.campaignresponse.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'products', parameterName: 'product' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'campaignresponses', parameterName: 'campaignresponse' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/product/product-grid-view/product-grid-view.vue'),
component: () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'),
},
{
path: 'salesorders/:salesorder?/editview/:editview?',
......@@ -119,20 +105,6 @@ const router = new Router({
},
component: () => import('@pages/sales/sales-order-edit-view/sales-order-edit-view.vue'),
},
{
path: 'campaignresponses/:campaignresponse?/editview/:editview?',
meta: {
caption: 'entities.campaignresponse.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'campaignresponses', parameterName: 'campaignresponse' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/marketing/campaign-response-edit-view/campaign-response-edit-view.vue'),
},
{
path: 'accounts/:account?/editview/:editview?',
meta: {
......@@ -175,34 +147,6 @@ const router = new Router({
},
component: () => import('@pages/service/incident-edit-view/incident-edit-view.vue'),
},
{
path: 'accounts/:account?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.account.views.pickupgridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'),
},
{
path: 'leads/:lead?/gridview/:gridview?',
meta: {
caption: 'entities.lead.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
},
{
path: 'activitypointers/:activitypointer?/editview/:editview?',
meta: {
......@@ -218,18 +162,18 @@ const router = new Router({
component: () => import('@pages/base/activity-pointer-edit-view/activity-pointer-edit-view.vue'),
},
{
path: 'accounts/:account?/info/:info?',
path: 'leads/:lead?/gridview/:gridview?',
meta: {
caption: 'entities.account.views.info.title',
caption: 'entities.lead.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'info', parameterName: 'info' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-info/account-info.vue'),
component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
},
{
path: 'salesliteratures/:salesliterature?/gridview/:gridview?',
......@@ -286,6 +230,20 @@ const router = new Router({
},
component: () => import('@pages/product/product-edit-view/product-edit-view.vue'),
},
{
path: 'quotes/:quote?/gridview/:gridview?',
meta: {
caption: 'entities.quote.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'quotes', parameterName: 'quote' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/quote-grid-view/quote-grid-view.vue'),
},
{
path: 'tasks/:task?/quickcreate/:quickcreate?',
meta: {
......@@ -301,18 +259,18 @@ const router = new Router({
component: () => import('@pages/base/task-quick-create/task-quick-create.vue'),
},
{
path: 'quotes/:quote?/gridview/:gridview?',
path: 'accounts/:account?/accountinfo/:accountinfo?',
meta: {
caption: 'entities.quote.views.gridview.title',
caption: 'entities.account.views.accountinfo.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'quotes', parameterName: 'quote' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'accountinfo', parameterName: 'accountinfo' },
],
requireAuth: true,
},
component: () => import('@pages/sales/quote-grid-view/quote-grid-view.vue'),
component: () => import('@pages/base/account-account-info/account-account-info.vue'),
},
{
path: 'invoices/:invoice?/editview/:editview?',
......@@ -329,18 +287,32 @@ const router = new Router({
component: () => import('@pages/finance/invoice-edit-view/invoice-edit-view.vue'),
},
{
path: 'salesorders/:salesorder?/gridview/:gridview?',
path: 'accounts/:account?/summary/:summary?',
meta: {
caption: 'entities.salesorder.views.gridview.title',
caption: 'entities.account.views.summary.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'salesorders', parameterName: 'salesorder' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'summary', parameterName: 'summary' },
],
requireAuth: true,
},
component: () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'),
component: () => import('@pages/base/account-summary/account-summary.vue'),
},
{
path: 'accounts/:account?/contactsetting/:contactsetting?',
meta: {
caption: 'entities.account.views.contactsetting.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contactsetting', parameterName: 'contactsetting' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-contact-setting/account-contact-setting.vue'),
},
{
path: 'opportunities/:opportunity?/gridview/:gridview?',
......@@ -356,6 +328,20 @@ const router = new Router({
},
component: () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'),
},
{
path: 'letters/:letter?/editview/:editview?',
meta: {
caption: 'entities.letter.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'letters', parameterName: 'letter' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/letter-edit-view/letter-edit-view.vue'),
},
{
path: 'goals/:goal?/editview/:editview?',
meta: {
......@@ -371,298 +357,410 @@ const router = new Router({
component: () => import('@pages/sales/goal-edit-view/goal-edit-view.vue'),
},
{
path: 'contacts/:contact?/optionview/:optionview?',
path: 'contacts/:contact?/editview/:editview?',
meta: {
caption: 'entities.contact.views.optionview.title',
caption: 'entities.contact.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'optionview', parameterName: 'optionview' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/contact-option-view/contact-option-view.vue'),
component: () => import('@pages/base/contact-edit-view/contact-edit-view.vue'),
},
{
path: 'letters/:letter?/editview/:editview?',
path: 'accounts/:account?/address/:address?',
meta: {
caption: 'entities.letter.views.editview.title',
caption: 'entities.account.views.address.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'letters', parameterName: 'letter' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'address', parameterName: 'address' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-address/account-address.vue'),
},
{
path: 'appointments/:appointment?/editview/:editview?',
meta: {
caption: 'entities.appointment.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'appointments', parameterName: 'appointment' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/letter-edit-view/letter-edit-view.vue'),
component: () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'),
},
{
path: 'activitypointers/:activitypointer?/byparentkey/:byparentkey?',
path: 'emails/:email?/editview/:editview?',
meta: {
caption: 'entities.activitypointer.views.byparentkey.title',
caption: 'entities.email.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'activitypointers', parameterName: 'activitypointer' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
{ pathName: 'emails', parameterName: 'email' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'),
component: () => import('@pages/base/email-edit-view/email-edit-view.vue'),
},
{
path: 'contacts/:contact?/editview/:editview?',
path: 'goals/:goal?/gridview/:gridview?',
meta: {
caption: 'entities.contact.views.editview.title',
caption: 'entities.goal.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'goals', parameterName: 'goal' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/goal-grid-view/goal-grid-view.vue'),
},
{
path: 'contacts/:contact?/gridview/:gridview?',
meta: {
caption: 'entities.contact.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/contact-edit-view/contact-edit-view.vue'),
component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'),
},
{
path: 'leads/:lead?/editview/:editview?',
path: 'serviceappointments/:serviceappointment?/editview/:editview?',
meta: {
caption: 'entities.lead.views.editview.title',
caption: 'entities.serviceappointment.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'serviceappointments', parameterName: 'serviceappointment' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
component: () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'),
},
{
path: 'phonecalls/:phonecall?/editview/:editview?',
path: 'accounts/:account?/gridview/:gridview?',
meta: {
caption: 'entities.phonecall.views.editview.title',
caption: 'entities.account.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'phonecalls', parameterName: 'phonecall' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'),
component: () => import('@pages/base/account-grid-view/account-grid-view.vue'),
},
{
path: 'appointments/:appointment?/editview/:editview?',
path: 'activitypointers/:activitypointer?/gridview/:gridview?',
meta: {
caption: 'entities.appointment.views.editview.title',
caption: 'entities.activitypointer.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'appointments', parameterName: 'appointment' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'activitypointers', parameterName: 'activitypointer' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/appointment-edit-view/appointment-edit-view.vue'),
component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
},
{
path: 'tasks/:task?/editview/:editview?',
path: 'invoices/:invoice?/gridview/:gridview?',
meta: {
caption: 'entities.task.views.editview.title',
caption: 'entities.invoice.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'tasks', parameterName: 'task' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'invoices', parameterName: 'invoice' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
component: () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'),
},
{
path: 'emails/:email?/editview/:editview?',
path: 'accounts/:account?/distribution/:distribution?',
meta: {
caption: 'entities.email.views.editview.title',
caption: 'entities.account.views.distribution.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'emails', parameterName: 'email' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'distribution', parameterName: 'distribution' },
],
requireAuth: true,
},
component: () => import('@pages/base/email-edit-view/email-edit-view.vue'),
component: () => import('@pages/base/account-distribution/account-distribution.vue'),
},
{
path: 'pricelevels/:pricelevel?/pickupview/:pickupview?',
path: 'accounts/:account?/pickupview/:pickupview?',
meta: {
caption: 'entities.pricelevel.views.pickupview.title',
caption: 'entities.account.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'pricelevels', parameterName: 'pricelevel' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'),
component: () => import('@pages/base/account-pickup-view/account-pickup-view.vue'),
},
{
path: 'goals/:goal?/gridview/:gridview?',
path: 'pricelevels/:pricelevel?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.goal.views.gridview.title',
caption: 'entities.pricelevel.views.pickupgridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'goals', parameterName: 'goal' },
{ pathName: 'pricelevels', parameterName: 'pricelevel' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'),
},
{
path: 'ibizlists/:ibizlist?/gridview/:gridview?',
meta: {
caption: 'entities.ibizlist.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'ibizlists', parameterName: 'ibizlist' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/goal-grid-view/goal-grid-view.vue'),
component: () => import('@pages/marketing/ibiz-list-grid-view/ibiz-list-grid-view.vue'),
},
{
path: 'opportunities/:opportunity?/editview/:editview?',
path: 'products/:product?/gridview/:gridview?',
meta: {
caption: 'entities.opportunity.views.editview.title',
caption: 'entities.product.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'opportunities', parameterName: 'opportunity' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'products', parameterName: 'product' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'),
component: () => import('@pages/product/product-grid-view/product-grid-view.vue'),
},
{
path: 'serviceappointments/:serviceappointment?/editview/:editview?',
path: 'salesliteratures/:salesliterature?/editview/:editview?',
meta: {
caption: 'entities.serviceappointment.views.editview.title',
caption: 'entities.salesliterature.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'serviceappointments', parameterName: 'serviceappointment' },
{ pathName: 'salesliteratures', parameterName: 'salesliterature' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/service/service-appointment-edit-view/service-appointment-edit-view.vue'),
component: () => import('@pages/sales/sales-literature-edit-view/sales-literature-edit-view.vue'),
},
{
path: 'contacts/:contact?/gridview/:gridview?',
path: 'accounts/:account?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.contact.views.gridview.title',
caption: 'entities.account.views.pickupgridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/contact-grid-view/contact-grid-view.vue'),
component: () => import('@pages/base/account-pickup-grid-view/account-pickup-grid-view.vue'),
},
{
path: 'accounts/:account?/gridview/:gridview?',
path: 'accounts/:account?/info/:info?',
meta: {
caption: 'entities.account.views.gridview.title',
caption: 'entities.account.views.info.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'info', parameterName: 'info' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-info/account-info.vue'),
},
{
path: 'accounts/:account?/majorcontact/:majorcontact?',
meta: {
caption: 'entities.account.views.majorcontact.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'majorcontact', parameterName: 'majorcontact' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-major-contact/account-major-contact.vue'),
},
{
path: 'salesorders/:salesorder?/gridview/:gridview?',
meta: {
caption: 'entities.salesorder.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'salesorders', parameterName: 'salesorder' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-grid-view/account-grid-view.vue'),
component: () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'),
},
{
path: 'activitypointers/:activitypointer?/gridview/:gridview?',
path: 'contacts/:contact?/optionview/:optionview?',
meta: {
caption: 'entities.activitypointer.views.gridview.title',
caption: 'entities.contact.views.optionview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'contacts', parameterName: 'contact' },
{ pathName: 'optionview', parameterName: 'optionview' },
],
requireAuth: true,
},
component: () => import('@pages/base/contact-option-view/contact-option-view.vue'),
},
{
path: 'activitypointers/:activitypointer?/byparentkey/:byparentkey?',
meta: {
caption: 'entities.activitypointer.views.byparentkey.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'activitypointers', parameterName: 'activitypointer' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'byparentkey', parameterName: 'byparentkey' },
],
requireAuth: true,
},
component: () => import('@pages/base/activity-pointer-grid-view/activity-pointer-grid-view.vue'),
component: () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'),
},
{
path: 'ibizlists/:ibizlist?/editview/:editview?',
path: 'leads/:lead?/editview/:editview?',
meta: {
caption: 'entities.ibizlist.views.editview.title',
caption: 'entities.lead.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'ibizlists', parameterName: 'ibizlist' },
{ pathName: 'leads', parameterName: 'lead' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'),
component: () => import('@pages/sales/lead-edit-view/lead-edit-view.vue'),
},
{
path: 'invoices/:invoice?/gridview/:gridview?',
path: 'phonecalls/:phonecall?/editview/:editview?',
meta: {
caption: 'entities.invoice.views.gridview.title',
caption: 'entities.phonecall.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'invoices', parameterName: 'invoice' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'phonecalls', parameterName: 'phonecall' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'),
component: () => import('@pages/base/phone-call-edit-view/phone-call-edit-view.vue'),
},
{
path: 'competitors/:competitor?/gridview/:gridview?',
path: 'tasks/:task?/editview/:editview?',
meta: {
caption: 'entities.competitor.views.gridview.title',
caption: 'entities.task.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'competitors', parameterName: 'competitor' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'tasks', parameterName: 'task' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'),
component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
},
{
path: 'accounts/:account?/pickupview/:pickupview?',
path: 'pricelevels/:pricelevel?/pickupview/:pickupview?',
meta: {
caption: 'entities.account.views.pickupview.title',
caption: 'entities.pricelevel.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'pricelevels', parameterName: 'pricelevel' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-pickup-view/account-pickup-view.vue'),
component: () => import('@pages/product/price-level-pickup-view/price-level-pickup-view.vue'),
},
{
path: 'pricelevels/:pricelevel?/pickupgridview/:pickupgridview?',
path: 'opportunities/:opportunity?/editview/:editview?',
meta: {
caption: 'entities.pricelevel.views.pickupgridview.title',
caption: 'entities.opportunity.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'pricelevels', parameterName: 'pricelevel' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
{ pathName: 'opportunities', parameterName: 'opportunity' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/product/price-level-pickup-grid-view/price-level-pickup-grid-view.vue'),
component: () => import('@pages/sales/opportunity-edit-view/opportunity-edit-view.vue'),
},
{
path: 'competitors/:competitor?/gridview/:gridview?',
meta: {
caption: 'entities.competitor.views.gridview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'competitors', parameterName: 'competitor' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/sales/competitor-grid-view/competitor-grid-view.vue'),
},
{
path: 'ibizlists/:ibizlist?/editview/:editview?',
meta: {
caption: 'entities.ibizlist.views.editview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'ibizlists', parameterName: 'ibizlist' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/marketing/ibiz-list-edit-view/ibiz-list-edit-view.vue'),
},
{
path: 'quotes/:quote?/editview/:editview?',
......@@ -773,6 +871,19 @@ const router = new Router({
},
component: () => import('@pages/sales/lead-grid-view/lead-grid-view.vue'),
},
{
path: '/accounts/:account?/accountinfo/:accountinfo?',
meta: {
caption: 'entities.account.views.accountinfo.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'accountinfo', parameterName: 'accountinfo' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-account-info/account-account-info.vue'),
},
{
path: '/ibizlists/:ibizlist?/gridview/:gridview?',
meta: {
......@@ -812,6 +923,19 @@ const router = new Router({
},
component: () => import('@pages/base/account-pickup-view/account-pickup-view.vue'),
},
{
path: '/accounts/:account?/summary/:summary?',
meta: {
caption: 'entities.account.views.summary.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'summary', parameterName: 'summary' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-summary/account-summary.vue'),
},
{
path: '/leads/:lead?/editview/:editview?',
meta: {
......@@ -968,6 +1092,19 @@ const router = new Router({
},
component: () => import('@pages/base/account-edit-view/account-edit-view.vue'),
},
{
path: '/accounts/:account?/introduction/:introduction?',
meta: {
caption: 'entities.account.views.introduction.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'introduction', parameterName: 'introduction' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-introduction/account-introduction.vue'),
},
{
path: '/goals/:goal?/editview/:editview?',
meta: {
......@@ -1045,6 +1182,19 @@ const router = new Router({
},
component: () => import('@pages/sales/sales-literature-grid-view/sales-literature-grid-view.vue'),
},
{
path: '/accounts/:account?/address/:address?',
meta: {
caption: 'entities.account.views.address.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'address', parameterName: 'address' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-address/account-address.vue'),
},
{
path: '/serviceappointments/:serviceappointment?/editview/:editview?',
meta: {
......@@ -1201,6 +1351,19 @@ const router = new Router({
},
component: () => import('@pages/base/activity-pointer-by-parent-key/activity-pointer-by-parent-key.vue'),
},
{
path: '/accounts/:account?/distribution/:distribution?',
meta: {
caption: 'entities.account.views.distribution.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'distribution', parameterName: 'distribution' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-distribution/account-distribution.vue'),
},
{
path: '/competitors/:competitor?/gridview/:gridview?',
meta: {
......@@ -1253,6 +1416,19 @@ const router = new Router({
},
component: () => import('@pages/finance/invoice-grid-view/invoice-grid-view.vue'),
},
{
path: '/accounts/:account?/contactsetting/:contactsetting?',
meta: {
caption: 'entities.account.views.contactsetting.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'contactsetting', parameterName: 'contactsetting' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-contact-setting/account-contact-setting.vue'),
},
{
path: '/contacts/:contact?/optionview/:optionview?',
meta: {
......@@ -1292,6 +1468,19 @@ const router = new Router({
},
component: () => import('@pages/base/task-edit-view/task-edit-view.vue'),
},
{
path: '/accounts/:account?/majorcontact/:majorcontact?',
meta: {
caption: 'entities.account.views.majorcontact.title',
info:'',
parameters: [
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'majorcontact', parameterName: 'majorcontact' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-major-contact/account-major-contact.vue'),
},
{
path: '/competitors/:competitor?/editview/:editview?',
meta: {
......
......@@ -61,6 +61,15 @@ export const viewstate: any = {
'2e17cb1d009dd49ac529319ac15319cd',
],
},
{
viewtag: '1d3b94223a5d3f8ab1d2fe334c8c4afd',
viewmodule: 'Base',
viewname: 'AccountAccountInfo',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '24a93674ec4c976c08902a3e95421ca6',
viewmodule: 'Marketing',
......@@ -90,6 +99,21 @@ export const viewstate: any = {
'ef9fea872a6a21e7566033fafcc0ccb5',
],
},
{
viewtag: '2becf7bda3a6d70cbe9a4e254093e84e',
viewmodule: 'Base',
viewname: 'AccountSummary',
viewaction: '',
viewdatachange: false,
refviews: [
'e38e7b53a449e0f112cb545d2c5d4b85',
'fb06f2c1cea1ac2a5a70c20f4a277ae5',
'73bb9f7e653384ca09f8bbbfd580d892',
'c607e5bc2c07ab2aca084e275ce677b7',
'916febbb65be1c54dd42ccb9914fe973',
'1d3b94223a5d3f8ab1d2fe334c8c4afd',
],
},
{
viewtag: '2e17cb1d009dd49ac529319ac15319cd',
viewmodule: 'Sales',
......@@ -107,7 +131,7 @@ export const viewstate: any = {
viewdatachange: false,
refviews: [
'bae77557d2f7a7852b634dc5d5a93435',
'6e18ac74e5685439110f9b4e534ee005',
'2becf7bda3a6d70cbe9a4e254093e84e',
],
},
{
......@@ -219,6 +243,15 @@ export const viewstate: any = {
'29bfcd628ab25e297248ff0524d12908',
],
},
{
viewtag: '73bb9f7e653384ca09f8bbbfd580d892',
viewmodule: 'Base',
viewname: 'AccountIntroduction',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '7877d7e7e55fe21f48e8382e07579f33',
viewmodule: 'Sales',
......@@ -299,6 +332,15 @@ export const viewstate: any = {
'303fcfed216ca770612be2c0a97be789',
],
},
{
viewtag: '916febbb65be1c54dd42ccb9914fe973',
viewmodule: 'Base',
viewname: 'AccountAddress',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '99d4a530c13b03a98cd143f341394354',
viewmodule: 'Service',
......@@ -421,6 +463,15 @@ export const viewstate: any = {
'a5213905238dbc5d8e1a505029105cc9',
],
},
{
viewtag: 'c607e5bc2c07ab2aca084e275ce677b7',
viewmodule: 'Base',
viewname: 'AccountDistribution',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: 'd1c35f3c52010e1428d7dc1a6bc82f63',
viewmodule: 'Sales',
......@@ -460,6 +511,15 @@ export const viewstate: any = {
'01c28e25ad9d42977cb91ee890731b64',
],
},
{
viewtag: 'e38e7b53a449e0f112cb545d2c5d4b85',
viewmodule: 'Base',
viewname: 'AccountContactSetting',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: 'e404dc93e70d6284d4e1a083017625ed',
viewmodule: 'Base',
......@@ -487,6 +547,15 @@ export const viewstate: any = {
refviews: [
],
},
{
viewtag: 'fb06f2c1cea1ac2a5a70c20f4a277ae5',
viewmodule: 'Base',
viewname: 'AccountMajorContact',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: 'fc2117de593df9cc982bd802cbdb2154',
viewmodule: 'Sales',
......
<template>
<div class='tabviewpanel' style="height:100%;" v-if = 'isActivied' >
<account-edit-view
<account-summary
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false" >
</account-edit-view>
</account-summary>
</div>
</template>
<script lang='tsx'>
......
......@@ -117,7 +117,7 @@
<app-form-group layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel3.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.account.main_form.details.grouppanel3')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="2" :isInfoGroupMode="false" >
<row>
<i-col v-show="detailsModel.industrycode.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='industrycode' :itemRules="this.rules.industrycode" class='' :caption="$t('entities.account.main_form.details.industrycode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.industrycode.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='industrycode' :itemRules="this.rules.industrycode" class='' :caption="$t('entities.account.main_form.details.industrycode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.industrycode.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.industrycode"
......@@ -135,13 +135,13 @@
</i-col>
<i-col v-show="detailsModel.sic.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='sic' :itemRules="this.rules.sic" class='' :caption="$t('entities.account.main_form.details.sic')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.sic.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='sic' :itemRules="this.rules.sic" class='' :caption="$t('entities.account.main_form.details.sic')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.sic.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.sic" @enter="onEnter($event)" unit="" :disabled="detailsModel.sic.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.ownershipcode.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='ownershipcode' :itemRules="this.rules.ownershipcode" class='' :caption="$t('entities.account.main_form.details.ownershipcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.ownershipcode.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='ownershipcode' :itemRules="this.rules.ownershipcode" class='' :caption="$t('entities.account.main_form.details.ownershipcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.ownershipcode.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.ownershipcode"
......@@ -159,7 +159,7 @@
</i-col>
<i-col v-show="detailsModel.description.visible" :style="{}" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.account.main_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='description' :itemRules="this.rules.description" class='' :caption="$t('entities.account.main_form.details.description')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.description.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.description" @enter="onEnter($event)" unit="" :disabled="detailsModel.description.disabled" type='text' style=""></input-box>
</app-form-item>
......@@ -271,7 +271,7 @@
<app-form-group layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel2.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.account.main_form.details.grouppanel2')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="2" :isInfoGroupMode="false" >
<row>
<i-col v-show="detailsModel.preferredcontactmethodcode.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='preferredcontactmethodcode' :itemRules="this.rules.preferredcontactmethodcode" class='' :caption="$t('entities.account.main_form.details.preferredcontactmethodcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.preferredcontactmethodcode.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='preferredcontactmethodcode' :itemRules="this.rules.preferredcontactmethodcode" class='' :caption="$t('entities.account.main_form.details.preferredcontactmethodcode')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.preferredcontactmethodcode.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.preferredcontactmethodcode"
......@@ -289,44 +289,31 @@
</i-col>
<i-col v-show="detailsModel.donotemail.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='donotemail' :itemRules="this.rules.donotemail" class='' :caption="$t('entities.account.main_form.details.donotemail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotemail.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='donotemail' :itemRules="this.rules.donotemail" class='' :caption="$t('entities.account.main_form.details.donotemail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotemail.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='donotemail' :value="this.data.donotemail" @change="($event)=>{this.data.donotemail = $event} " :disabled="detailsModel.donotemail.disabled" style=""></app-switch>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.donotbulkemail.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='donotbulkemail' :itemRules="this.rules.donotbulkemail" class='' :caption="$t('entities.account.main_form.details.donotbulkemail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotbulkemail.error" :isEmptyCaption="false" labelPos="TOP">
<dropdown-list
v-model="data.donotbulkemail"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.donotbulkemail.disabled"
style="width:100px;width: 100px;"
tag='YesNo'
codelistType='STATIC'
placeholder='请选择...'>
</dropdown-list>
<app-form-item name='donotbulkemail' :itemRules="this.rules.donotbulkemail" class='' :caption="$t('entities.account.main_form.details.donotbulkemail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotbulkemail.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='donotbulkemail' :value="this.data.donotbulkemail" @change="($event)=>{this.data.donotbulkemail = $event} " :disabled="detailsModel.donotbulkemail.disabled" style=""></app-switch>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.donotphone.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='donotphone' :itemRules="this.rules.donotphone" class='' :caption="$t('entities.account.main_form.details.donotphone')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotphone.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='donotphone' :itemRules="this.rules.donotphone" class='' :caption="$t('entities.account.main_form.details.donotphone')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotphone.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='donotphone' :value="this.data.donotphone" @change="($event)=>{this.data.donotphone = $event} " :disabled="detailsModel.donotphone.disabled" style=""></app-switch>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.donotfax.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='donotfax' :itemRules="this.rules.donotfax" class='' :caption="$t('entities.account.main_form.details.donotfax')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotfax.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='donotfax' :itemRules="this.rules.donotfax" class='' :caption="$t('entities.account.main_form.details.donotfax')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotfax.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='donotfax' :value="this.data.donotfax" @change="($event)=>{this.data.donotfax = $event} " :disabled="detailsModel.donotfax.disabled" style=""></app-switch>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.donotpostalmail.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='donotpostalmail' :itemRules="this.rules.donotpostalmail" class='' :caption="$t('entities.account.main_form.details.donotpostalmail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotpostalmail.error" :isEmptyCaption="false" labelPos="TOP">
<app-form-item name='donotpostalmail' :itemRules="this.rules.donotpostalmail" class='' :caption="$t('entities.account.main_form.details.donotpostalmail')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.donotpostalmail.error" :isEmptyCaption="false" labelPos="LEFT">
<app-switch name='donotpostalmail' :value="this.data.donotpostalmail" @change="($event)=>{this.data.donotpostalmail = $event} " :disabled="detailsModel.donotpostalmail.disabled" style=""></app-switch>
</app-form-item>
......
......@@ -24,7 +24,7 @@
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
</template>
<template v-if="getColumnState('accountname')">
<el-table-column show-overflow-tooltip :prop="'accountname'" :label="$t('entities.account.main_grid.columns.accountname')" :width="150" :align="'left'" :sortable="'custom'">
<el-table-column show-overflow-tooltip :prop="'accountname'" :label="$t('entities.account.main_grid.columns.accountname')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.account.main_grid.columns.accountname')}}
......@@ -48,7 +48,7 @@
</el-table-column>
</template>
<template v-if="getColumnState('address1_city')">
<el-table-column show-overflow-tooltip :prop="'address1_city'" :label="$t('entities.account.main_grid.columns.address1_city')" :width="100" :align="'left'" :sortable="'custom'">
<el-table-column show-overflow-tooltip :prop="'address1_city'" :label="$t('entities.account.main_grid.columns.address1_city')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.account.main_grid.columns.address1_city')}}
......@@ -60,7 +60,7 @@
</el-table-column>
</template>
<template v-if="getColumnState('primarycontactname')">
<el-table-column show-overflow-tooltip :prop="'primarycontactname'" :label="$t('entities.account.main_grid.columns.primarycontactname')" :width="100" :align="'left'" :sortable="'custom'">
<el-table-column show-overflow-tooltip :prop="'primarycontactname'" :label="$t('entities.account.main_grid.columns.primarycontactname')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.account.main_grid.columns.primarycontactname')}}
......@@ -72,7 +72,7 @@
</el-table-column>
</template>
<template v-if="getColumnState('emailaddress1')">
<el-table-column show-overflow-tooltip :prop="'emailaddress1'" :label="$t('entities.account.main_grid.columns.emailaddress1')" :width="100" :align="'left'" :sortable="'custom'">
<el-table-column show-overflow-tooltip :prop="'emailaddress1'" :label="$t('entities.account.main_grid.columns.emailaddress1')" :width="120" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.account.main_grid.columns.emailaddress1')}}
......
......@@ -7,104 +7,99 @@
<i-col :md="{ span: 24, offset: 0 }">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<div class='portlet-container summarydashboard-container1 ' :style="{}">
<div class='portlet-container summarydashboard-container3 ' :style="{}">
<row>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<i-col :sm="{ span: 24, offset: 0 }" :md="{ span: 20, offset: 0 }" :lg="{ span: 20, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet1
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet1"
ref='dashboard_sysportlet1'
@closeview="closeView($event)">
</view_dashboard_sysportlet1>
</span>
</card>
</div>
</i-col>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet2
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet2"
ref='dashboard_sysportlet2'
@closeview="closeView($event)">
</view_dashboard_sysportlet2>
</span>
</card>
</div>
</i-col>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet3
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet3"
ref='dashboard_sysportlet3'
@closeview="closeView($event)">
</view_dashboard_sysportlet3>
</span>
</card>
</div>
</i-col>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet4
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet4"
ref='dashboard_sysportlet4'
@closeview="closeView($event)">
</view_dashboard_sysportlet4>
</span>
</card>
</div>
</i-col>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet5
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet5"
ref='dashboard_sysportlet5'
@closeview="closeView($event)">
</view_dashboard_sysportlet5>
</span>
</card>
</div>
</i-col>
<i-col :sm="{ span: 12, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 6, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<p slot='title'>
主要联系人
<span class="line"></span>
</p>
<a slot='extra'></a>
<span>
<div class='portlet-container summarydashboard-container2 ' :style="{}">
<div class='portlet-container summarydashboard-container1 ' :style="{}">
<row>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet1
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet1"
ref='dashboard_sysportlet1'
@closeview="closeView($event)">
</view_dashboard_sysportlet1>
</span>
</card>
</div>
</i-col>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet2
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet2"
ref='dashboard_sysportlet2'
@closeview="closeView($event)">
</view_dashboard_sysportlet2>
</span>
</card>
</div>
</i-col>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet3
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet3"
ref='dashboard_sysportlet3'
@closeview="closeView($event)">
</view_dashboard_sysportlet3>
</span>
</card>
</div>
</i-col>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet4
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet4"
ref='dashboard_sysportlet4'
@closeview="closeView($event)">
</view_dashboard_sysportlet4>
</span>
</card>
</div>
</i-col>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet5
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet5"
ref='dashboard_sysportlet5'
@closeview="closeView($event)">
</view_dashboard_sysportlet5>
</span>
</card>
</div>
</i-col>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
......@@ -145,6 +140,35 @@
</card>
</div>
</i-col>
<i-col :sm="{ span: 24, offset: 0 }" :md="{ span: 4, offset: 0 }" :lg="{ span: 4, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<div class='portlet-container summarydashboard-container2 ' :style="{}">
<row>
<i-col :md="{ span: 24, offset: 0 }">
<div class="portlet-without-title">
<card class="portlet-card" :bordered="false" dis-hover :padding="0">
<span>
<view_dashboard_sysportlet8
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:height="300"
name="dashboard_sysportlet8"
ref='dashboard_sysportlet8'
@closeview="closeView($event)">
</view_dashboard_sysportlet8>
</span>
</card>
</div>
</i-col>
</row>
</div>
</span>
</card>
</div>
</i-col>
</row>
</div>
</span>
......
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import SummaryBase from './summary-dashboard-base.vue';
import view_dashboard_sysportlet8 from '@widgets/activity-pointer/by-parent-key-portlet/by-parent-key-portlet.vue';
import view_dashboard_sysportlet6 from '@widgets/account/pt-major-contact-portlet/pt-major-contact-portlet.vue';
import view_dashboard_sysportlet7 from '@widgets/contact/by-account-portlet/by-account-portlet.vue';
import view_dashboard_sysportlet4 from '@widgets/account/pt-contact-setting-portlet/pt-contact-setting-portlet.vue';
......@@ -12,6 +13,7 @@ import view_dashboard_sysportlet1 from '@widgets/account/pt-account-info-portlet
@Component({
components: {
view_dashboard_sysportlet8,
view_dashboard_sysportlet6,
view_dashboard_sysportlet7,
view_dashboard_sysportlet4,
......
<template>
<div :class="['app-list', this.items.length > 0 ? '' : 'app-list-empty' ]">
<div v-if="items.length > 0" style="height:100%;">
<div v-for = "item in items" :key="item.srfmajortext" :class="['app-list-item', {'isSelect': item.isselected === true ? true : false}]" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<layout_dashboard_sysportlet8_list_itempanel name='dashboard_sysportlet8_list_itempanel' :inputData="item" :parentRef="thisRef"></layout_dashboard_sysportlet8_list_itempanel>
</div>
</div>
<div v-else>
暂无数据
</div>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import ActivityPointerService from '@/service/activity-pointer/activity-pointer-service';
import ByParentKeyService from './by-parent-key-list-service';
@Component({
components: {
}
})
export default class ByParentKeyBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByParentKey
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof ByParentKey
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof ByParentKey
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByParentKey
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByParentKey
*/
public getControlType(): string {
return 'LIST'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByParentKey
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {ByParentKeyService}
* @memberof ByParentKey
*/
public service: ByParentKeyService = new ByParentKeyService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {ActivityPointerService}
* @memberof ByParentKey
*/
public appEntityService: ActivityPointerService = new ActivityPointerService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof ByParentKey
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof ByParentKey
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ByParentKey
*/
public getDatas(): any[] {
return this.selections;
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ByParentKey
*/
public getData(): any {
return null;
}
/**
* 是否默认选中第一条数据
*
* @type {boolean}
* @memberof ByParentKey
*/
@Prop({ default: false }) public isSelectFirstDefault!: boolean;
/**
* 显示处理提示
*
* @type {boolean}
* @memberof ByParentKey
*/
@Prop({ default: true }) public showBusyIndicator?: boolean;
/**
* 部件行为--create
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public createAction!: string;
/**
* 部件行为--remove
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public removeAction!: string;
/**
* 部件行为--update
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public updateAction!: string;
/**
* 部件行为--fetch
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public fetchAction!: string;
/**
* this引用
*
* @type {number}
* @memberof Main
*/
public thisRef: any = this;
/**
* 当前页
*
* @type {number}
* @memberof Main
*/
public curPage: number = 1;
/**
* 数据
*
* @type {any[]}
* @memberof ByParentKey
*/
public items: any[] = [];
/**
* 是否支持分页
*
* @type {boolean}
* @memberof ByParentKey
*/
public isEnablePagingBar: boolean = true;
/**
* 分页条数
*
* @type {number}
* @memberof ByParentKey
*/
public limit: number = 1000;
/**
* 总条数
*
* @type {number}
* @memberof ByParentKey
*/
public totalRecord: number = 0;
/**
* 加载的数据是否附加在items之后
*
* @type {boolean}
* @memberof ByParentKey
*/
public isAddBehind:boolean = false;
/**
* 排序方向
*
* @type {string}
* @memberof ByParentKey
*/
public sortDir:string = '';
/**
* 排序字段
*
* @type {string}
* @memberof ByParentKey
*/
public sortField: string = '';
/**
* 选中数组
* @type {Array<any>}
* @memberof ByParentKey
*/
public selections: Array<any> = [];
/**
* Vue声明周期,组件挂载完毕
*
* @memberof ByParentKey
*/
public mounted () {
this.afterMounted();
}
/**
* 执行mounted后的逻辑
*
* @memberof ByParentKey
*/
public afterMounted () {
this.$el.addEventListener('scroll', ()=> {
if( this.$el.scrollTop + this.$el.clientHeight >= this.$el.scrollHeight) {
this.loadMore();
}
})
}
/**
* Vue声明周期,组件创建完毕
*
* @memberof ByParentKey
*/
public created() {
this.afterCreated()
}
/**
* 执行created后的逻辑
*
* @memberof ByParentKey
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(this.name, tag)) {
return;
}
if (Object.is(action,'load')) {
this.refresh(data)
}
});
}
}
/**
* vue 生命周期
*
* @memberof ByParentKey
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ByParentKey
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
/**
* 加载更多
*
* @memberof Mob
*/
public loadMore(){
if(this.totalRecord>this.items.length)
{
this.curPage = ++this.curPage;
this.isAddBehind = true;
this.load({});
}
}
/**
* 刷新
*
* @param {*} [opt={}]
* @memberof Main
*/
public refresh(opt: any = {}) {
this.curPage = 1;
this.items = [];
this.load(opt);
}
/**
* 列表数据加载
*
* @public
* @param {*} [arg={}]
* @memberof ByParentKey
*/
public load(opt: any = {}): void {
if(!this.fetchAction){
this.$Notice.error({ title: '错误', desc: 'AccountSummary视图列表fetchAction参数未配置' });
return;
}
const arg: any = {...opt};
const page: any = {};
if (this.isEnablePagingBar) {
Object.assign(page, { page: this.curPage-1, size: this.limit });
}
// 设置排序
if (!Object.is(this.sortDir, '') && !Object.is(this.sortField, '')) {
const sort: string = this.sortField+","+this.sortDir;
Object.assign(page, { sort: sort });
}
Object.assign(arg, page);
const parentdata: any = {};
this.$emit('beforeload', parentdata);
Object.assign(arg, parentdata);
let tempViewParams:any = parentdata.viewparams?parentdata.viewparams:{};
if(this.viewparams){
Object.assign(tempViewParams,JSON.parse(JSON.stringify(this.viewparams)));
}
Object.assign(arg,{viewparams:tempViewParams});
const post: Promise<any> = this.service.search(this.fetchAction, this.context?JSON.parse(JSON.stringify(this.context)):{}, arg, this.showBusyIndicator);
post.then((response: any) => {
if (!response || response.status !== 200) {
if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage });
}
return;
}
const data: any = response.data;
if(!this.isAddBehind){
this.items = [];
}
if (Object.keys(data).length > 0) {
let datas = JSON.parse(JSON.stringify(data));
datas.map((item: any) => {
Object.assign(item, { isselected: false });
});
this.totalRecord = response.total;
this.items.push(...datas);
}
this.isAddBehind = false;
this.$emit('load', this.items);
if(this.isSelectFirstDefault){
this.handleClick(this.items[0]);
}
}, (response: any) => {
if (response && response.status === 401) {
return;
}
this.$Notice.error({ title: '错误', desc: response.errorMessage });
});
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof ByParentKey
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: '错误', desc: 'AccountSummary视图表格removeAction参数未配置' });
return;
}
if (datas.length === 0) {
return;
}
let dataInfo = '';
datas.forEach((record: any, index: number) => {
let srfmajortext = record.srfmajortext;
if (index < 5) {
if (!Object.is(dataInfo, '')) {
dataInfo += '、';
}
dataInfo += srfmajortext;
} else {
return false;
}
});
if (datas.length < 5) {
dataInfo = dataInfo + ' 共' + datas.length + '条数据';
} else {
dataInfo = dataInfo + '...' + ' 共' + datas.length + '条数据';
}
const removeData = () => {
let keys: any[] = [];
datas.forEach((data: any) => {
keys.push(data.srfkey);
});
let _removeAction = keys.length > 1 ? 'removeBatch' : this.removeAction ;
const context:any = JSON.parse(JSON.stringify(this.context));
const post: Promise<any> = this.service.delete(_removeAction,Object.assign(context,{ activitypointer: keys.join(';') }),Object.assign({ activitypointer: keys.join(';') },{viewparams:this.viewparams}), this.showBusyIndicator);
return new Promise((resolve: any, reject: any) => {
post.then((response: any) => {
if (!response || response.status !== 200) {
this.$Notice.error({ title: '', desc: '删除数据失败,' + response.info });
return;
} else {
this.$Notice.success({ title: '', desc: '删除成功!' });
}
//删除items中已删除的项
datas.forEach((data: any) => {
this.items.some((item:any,index:number)=>{
if(Object.is(item.srfkey,data.srfkey)){
this.items.splice(index,1);
return true;
}
});
});
this.$emit('remove', null);
this.selections = [];
resolve(response);
}).catch((response: any) => {
if (response && response.status === 401) {
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' });
reject(response);
return;
}
reject(response);
});
});
}
dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, '');
this.$Modal.confirm({
title: '警告',
content: '确认要删除 ' + dataInfo + ',删除操作将不可恢复?',
onOk: () => {
removeData();
},
onCancel: () => { }
});
return removeData;
}
/**
* 选择数据
* @memberof ByParentKey
*
*/
public handleClick(args: any) {
this.clearSelection();
args.isselected = !args.isselected;
this.selectchange();
}
/**
* 双击数据
* @memberof ByParentKey
*
*/
public handleDblClick(args: any) {
this.$emit('rowdblclick', args);
}
/**
* 触发事件
* @memberof ByParentKey
*
*/
public selectchange() {
this.selections = [];
this.items.map((item: any) => {
if (item.isselected) {
this.selections.push(item);
}
});
this.$emit('selectionchange', this.selections);
}
/**
* 清除当前所有选中状态
*
* @memberof ByParentKey
*/
public clearSelection(){
this.items.map((item: any) => {
Object.assign(item, { isselected: false });
});
}
}
</script>
<style lang='less'>
@import './by-parent-key-list.less';
</style>
\ No newline at end of file
/**
* ByParentKey 部件模型
*
* @export
* @class ByParentKeyModel
*/
export default class ByParentKeyModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByParentKeyDashboard_sysportlet8_listMode
*/
public getDataItems(): any[] {
return [
{
name: 'activitytypecode',
codelist:{tag:'ActivityTypeCode',codelistType:'STATIC'},
},
{
name: 'subject',
},
{
name: 'activityid',
},
{
name: 'srfkey',
prop: 'activityid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'subject',
dataType: 'TEXT',
},
{
name: 'srfdatatype',
prop: 'activitytypecode',
dataType: 'SSCODELIST',
codelist:{tag:'ActivityTypeCode',codelistType:'STATIC'},
},
{
name: 'serviceid',
prop: 'serviceid',
dataType: 'PICKUP',
},
{
name: 'transactioncurrencyid',
prop: 'transactioncurrencyid',
dataType: 'PICKUP',
},
{
name: 'slaid',
prop: 'slaid',
dataType: 'PICKUP',
},
{
name: 'activitypointer',
prop: 'activityid',
dataType: 'FONTKEY',
},
{
name:'size',
prop:'size'
},
{
name:'query',
prop:'query'
},
{
name:'sort',
prop:'sort'
},
{
name:'page',
prop:'page'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import ActivityPointerService from '@/service/activity-pointer/activity-pointer-service';
import ByParentKeyModel from './by-parent-key-list-model';
/**
* ByParentKey 部件服务对象
*
* @export
* @class ByParentKeyService
*/
export default class ByParentKeyService extends ControlService {
/**
* 活动服务对象
*
* @type {ActivityPointerService}
* @memberof ByParentKeyService
*/
public appEntityService: ActivityPointerService = new ActivityPointerService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof ByParentKeyService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of ByParentKeyService.
*
* @param {*} [opts={}]
* @memberof ByParentKeyService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new ByParentKeyModel();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ByParentKeyService
*/
@Errorlog
public search(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.FetchDefault(Context,Data, isloading);
}
result.then(async (response) => {
await this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 删除数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ByParentKeyService
*/
@Errorlog
public delete(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true);
return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService;
let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Context,Data, isloading);
}else{
result =_appEntityService.remove(Context,Data , isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import ByParentKeyBase from './by-parent-key-list-base.vue';
import layout_dashboard_sysportlet8_list_itempanel from '@widgets/activity-pointer/by-regarding-object-id-panel/by-regarding-object-id-panel.vue';
@Component({
components: {
layout_dashboard_sysportlet8_list_itempanel,
}
})
export default class ByParentKey extends ByParentKeyBase {
}
</script>
\ No newline at end of file
<template>
<div class='portlet by-parent-key ' :style="{'height': isAdaptiveSize ? 'calc(100% - 16px)' : (height > 0 ? height+'px' :'300px'),}">
<p class='portlet-title'>
<span>
日程安排
</span>
</p>
<div class="portlet-with-title">
<!-- 测试 -->
<view_dashboard_sysportlet8_list
:viewState="viewState"
:viewparams="viewparams"
:context="context"
createAction="Create"
removeAction="Remove"
updateAction="Update"
fetchAction="FetchByParentKey"
:showBusyIndicator="true"
name="dashboard_sysportlet8_list"
ref='dashboard_sysportlet8_list'
@closeview="closeView($event)">
</view_dashboard_sysportlet8_list>
</div>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import ActivityPointerService from '@/service/activity-pointer/activity-pointer-service';
import ByParentKeyService from './by-parent-key-portlet-service';
import { Environment } from '@/environments/environment';
@Component({
components: {
}
})
export default class ActivityPointerByParentKeyBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof ByParentKey
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByParentKey
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof ByParentKey
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof ByParentKey
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByParentKey
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByParentKey
*/
public getControlType(): string {
return 'PORTLET'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByParentKey
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {ByParentKeyService}
* @memberof ByParentKey
*/
public service: ByParentKeyService = new ByParentKeyService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {ActivityPointerService}
* @memberof ByParentKey
*/
public appEntityService: ActivityPointerService = new ActivityPointerService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof ByParentKey
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof ByParentKey
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 长度
*
* @type {number}
* @memberof ByParentKey
*/
@Prop() public height?: number;
/**
* 宽度
*
* @type {number}
* @memberof ByParentKey
*/
@Prop() public width?: number;
/**
* 是否自适应大小
*
* @returns {boolean}
* @memberof ByParentKeyBase
*/
@Prop({default: false})public isAdaptiveSize!: boolean;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof ByParentKeyBase
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof ByParentKeyBase
*/
public getData(): any {
return {};
}
/**
* vue 生命周期
*
* @memberof ByParentKeyBase
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof ByParentKeyBase
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
const refs: any = this.$refs;
Object.keys(refs).forEach((_name: string) => {
this.viewState.next({ tag: _name, action: action, data: data });
});
});
}
}
/**
* vue 生命周期
*
* @memberof ByParentKeyBase
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof ByParentKeyBase
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
</script>
<style lang='less'>
@import './by-parent-key-portlet.less';
</style>
/**
* ByParentKey 部件模型
*
* @export
* @class ByParentKeyModel
*/
export default class ByParentKeyModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByParentKeyModel
*/
public getDataItems(): any[] {
return [
{
name: 'seriesid',
},
{
name: 'traversedpath',
},
{
name: 'deliveryprioritycode',
},
{
name: 'onholdtime',
},
{
name: 'workflowcreated',
},
{
name: 'senton',
},
{
name: 'lastonholdtime',
},
{
name: 'actualdurationminutes',
},
{
name: 'regardingobjectid',
},
{
name: 'deliverylastattemptedon',
},
{
name: 'mapiprivate',
},
{
name: 'actualend',
},
{
name: 'description',
},
{
name: 'prioritycode',
},
{
name: 'owneridtype',
},
{
name: 'billed',
},
{
name: 'regularactivity',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'createman',
},
{
name: 'scheduleddurationminutes',
},
{
name: 'activityadditionalparams',
},
{
name: 'activitypointer',
prop: 'activityid',
},
{
name: 'updatedate',
},
{
name: 'stageid',
},
{
name: 'leftvoicemail',
},
{
name: 'scheduledend',
},
{
name: 'exchangeitemid',
},
{
name: 'exchangerate',
},
{
name: 'scheduledstart',
},
{
name: 'instancetypecode',
},
{
name: 'regardingobjectidyominame',
},
{
name: 'regardingobjecttypecode',
},
{
name: 'sortdate',
},
{
name: 'createdate',
},
{
name: 'owneridyominame',
},
{
name: 'community',
},
{
name: 'ownerid',
},
{
name: 'processid',
},
{
name: 'slaname',
},
{
name: 'subject',
},
{
name: 'versionnumber',
},
{
name: 'allparties',
},
{
name: 'updateman',
},
{
name: 'exchangeweblink',
},
{
name: 'statuscode',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'actualstart',
},
{
name: 'activitytypecode',
},
{
name: 'regardingobjectidname',
},
{
name: 'statecode',
},
{
name: 'serviceid',
},
{
name: 'transactioncurrencyid',
},
{
name: 'slaid',
},
]
}
}
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* ByParentKey 部件服务对象
*
* @export
* @class ByParentKeyService
*/
export default class ByParentKeyService extends ControlService {
}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import ActivityPointerByParentKeyBase from './by-parent-key-portlet-base.vue';
import view_dashboard_sysportlet8_list from '@widgets/activity-pointer/by-parent-key-list/by-parent-key-list.vue';
@Component({
components: {
view_dashboard_sysportlet8_list,
}
})
export default class ActivityPointerByParentKey extends ActivityPointerByParentKeyBase {
}
</script>
<template>
<div class='panel-container' style="">
<row class="app-layoutpanel" style="height:100%;">
<div v-show="detailsModel.container1.visible" class="app-layoutpanel-container" style="">
<div style="height:100%;display: flex;">
<div v-show="detailsModel.activitytypecode.visible" style="" class="app-layoutpanel-field ">
<div class="item-field">
<div class="item-field-content">
<span>{{data.activitytypecode}}</span>
</div>
</div>
</div>
<div v-show="detailsModel.subject.visible" style="" class="app-layoutpanel-field ">
<div class="item-field">
<div class="item-field-content">
<span>{{data.subject}}</span>
</div>
</div>
</div>
</div>
</div>
</row>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import ActivityPointerService from '@/service/activity-pointer/activity-pointer-service';
import ByRegardingObjectIdService from './by-regarding-object-id-panel-service';
import { FormItemModel } from '@/model/form-detail';
import ByRegardingObjectIdModel from './by-regarding-object-id-panel-model';
import CodeListService from "@service/app/codelist-service";
@Component({
components: {
}
})
export default class ByRegardingObjectIdBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof ByRegardingObjectId
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof ByRegardingObjectId
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof ByRegardingObjectId
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof ByRegardingObjectId
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof ByRegardingObjectId
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof ByRegardingObjectId
*/
public getControlType(): string {
return 'PANEL'
}
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof ByRegardingObjectId
*/
public counterServiceArray:Array<any> = [];
/**
* 建构部件服务对象
*
* @type {ByRegardingObjectIdService}
* @memberof ByRegardingObjectId
*/
public service: ByRegardingObjectIdService = new ByRegardingObjectIdService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {ActivityPointerService}
* @memberof ByRegardingObjectId
*/
public appEntityService: ActivityPointerService = new ActivityPointerService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof ByRegardingObjectId
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof ByRegardingObjectId
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 接口实现
*
* @returns {any[]}
* @memberof ByRegardingObjectId
*/
getDatas(): any[] {
if (!this.panelData) {
return [];
}
return [this.panelData];
}
/**
* 接口实现
*
* @returns {*}
* @memberof ByRegardingObjectId
*/
getData() {
return this.data;
}
/**
* 父级部件引用
*
* @type {*}
* @memberof ByRegardingObjectId
*/
@Prop() public parentRef?: any;
/**
* 面板数据对象
*
* @type {*}
* @memberof ByRegardingObjectId
*/
@Prop() public inputData?: any;
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof ByRegardingObjectId
*/
public codeListService:CodeListService = new CodeListService({ $store:this.$store });
/**
* 详情模型集合
*
* @type {*}
* @memberof ByRegardingObjectId
*/
public detailsModel: any = {
activitytypecode: new FormItemModel({ visible: true, disabled: false, enableCond: 3 }),
subject: new FormItemModel({ visible: true, disabled: false, enableCond: 3 }),
container1: new FormItemModel({ visible: true, disabled: false, enableCond: 3 }),
};
/**
* 面板逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof ByRegardingObjectId
*/
public panelLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
}
/**
* 数据模型对象
*
* @type {ByRegardingObjectIdModel}
* @memberof ByRegardingObjectId
*/
public dataModel:ByRegardingObjectIdModel = new ByRegardingObjectIdModel();
/**
* UI数据对象
*
* @type {*}
* @memberof ByRegardingObjectId
*/
public data:any = {};
/**
* 面板数据对象
*
* @type {*}
* @memberof Mob
*/
public panelData:any = null;
/**
* 监听数据对象
*
* @memberof ByRegardingObjectId
*/
@Watch('inputData',{immediate:true})
async onInputDataChange(newVal: any, oldVal: any){
if(newVal){
await this.computedUIData(newVal);
this.panelLogic({ name: '', newVal: null, oldVal: null });
this.$forceUpdate();
}
}
/**
* 计算UI展示数据
*
* @param codelistArray 代码表模型数组
* @memberof ByRegardingObjectId
*/
public async computedUIData(newVal:any){
let codelistArray:Array<any> = [];
if((this.dataModel.getDataItems instanceof Function) && this.dataModel.getDataItems().length >0){
this.dataModel.getDataItems().forEach((item:any) =>{
if(item.codelist){
codelistArray.push(item.codelist);
}
})
if(codelistArray.length >0){
let res:any = await this.getAllCodeList(codelistArray);
this.dataModel.getDataItems().forEach((item:any) =>{
if(item.codelist){
this.data[item.name] = res.get(item.codelist.tag).get(newVal[item.prop]);
}else{
this.data[item.name] = newVal[item.prop];
}
})
}else{
this.dataModel.getDataItems().forEach((item:any) =>{
this.data[item.name] = newVal[item.prop];
})
}
}
}
/**
* 计算面板数据
*
* @param codelistArray 代码表模型数组
* @memberof Mob
*/
public async computePanelData(){
let codelistArray:Array<any> = [];
let panelData:any = {};
if((this.dataModel.getDataItems instanceof Function) && this.dataModel.getDataItems().length >0){
this.dataModel.getDataItems().forEach((item:any) =>{
if(item.codelist){
codelistArray.push(item.codelist);
}
})
if(codelistArray.length >0){
let res:any = await this.getAllCodeList(codelistArray,true);
this.dataModel.getDataItems().forEach((item:any) =>{
if(item.codelist){
panelData[item.prop] = res.get(item.codelist.tag).get(this.data[item.name]);
}else{
panelData[item.prop] = this.data[item.name];
}
})
}else{
this.dataModel.getDataItems().forEach((item:any) =>{
panelData[item.prop] = this.data[item.name];
})
}
}
this.panelData = Object.assign(JSON.parse(JSON.stringify(this.inputData)),panelData);
}
/**
* 获取所有代码表
*
* @param codelistArray 代码表模型数组
* @memberof ByRegardingObjectId
*/
public getAllCodeList(codelistArray:Array<any>,reverse:boolean = false):Promise<any>{
return new Promise((resolve:any,reject:any) =>{
let codeListMap:Map<string,any> = new Map();
let promiseArray:Array<any> = [];
codelistArray.forEach((item:any) =>{
if(!codeListMap.get(item.tag)){
promiseArray.push(this.getCodeList(item));
Promise.all(promiseArray).then((result:any) =>{
if(result && result.length >0){
result.forEach((codeList:any) =>{
let tempCodeListMap:Map<number,any> = new Map();
if(codeList.length >0){
codeList.forEach((codeListItem:any) =>{
if(reverse){
tempCodeListMap.set(codeListItem.text,codeListItem.value);
}else{
tempCodeListMap.set(codeListItem.value,codeListItem.text);
}
})
}
codeListMap.set(item.tag,tempCodeListMap);
})
resolve(codeListMap);
}
})
}
})
})
}
/**
* 获取代码表
*
* @param codeListObject 传入代码表对象
* @memberof ByRegardingObjectId
*/
public getCodeList(codeListObject:any):Promise<any>{
return new Promise((resolve:any,reject:any) =>{
if(codeListObject.tag && Object.is(codeListObject.codelistType,"STATIC")){
const codelist = this.$store.getters.getCodeList(codeListObject.tag);
if (codelist) {
resolve([...JSON.parse(JSON.stringify(codelist.items))]);
} else {
resolve([]);
console.log(`----${codeListObject.tag}----代码表不存在`);
}
}else if(codeListObject.tag && Object.is(codeListObject.codelistType,"DYNAMIC")){
this.codeListService.getItems(codeListObject.tag).then((res:any) => {
resolve(res);
}).catch((error:any) => {
resolve([]);
console.log(`----${codeListObject.tag}----代码表不存在`);
});
}
})
}
/**
* 界面行为
*
* @param {*} row
* @param {*} tag
* @param {*} $event
* @memberof ByRegardingObjectId
*/
public async uiAction(row: any, tag: any, $event: any) {
await this.computePanelData();
}
/**
* 打开编辑数据视图
*
* @type {any}
* @memberof ByRegardingObjectId
*/
public opendata(args: any[],fullargs?:any[],params?: any, $event?: any, xData?: any){
if (this.parentRef.opendata && this.parentRef.opendata instanceof Function) {
this.parentRef.opendata(args,fullargs,params, $event, xData);
}
}
/**
* 打开新建数据视图
*
* @type {any}
* @memberof ByRegardingObjectId
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
if (this.parentRef.newdata && this.parentRef.newdata instanceof Function) {
this.parentRef.newdata(args,fullargs,params, $event, xData);
}
}
/**
* 删除
*
* @param {any[]} datas
* @returns {Promise<any>}
* @memberof ByRegardingObjectId
*/
public async remove(datas: any[]): Promise<any> {
if (this.parentRef.remove && this.parentRef.remove instanceof Function) {
return this.parentRef.remove(datas);
}
}
/**
* 刷新
*
* @param {*} [opt={}]
* @memberof Main
*/
public refresh(opt: any = {}) {
if (this.parentRef.refresh && this.parentRef.refresh instanceof Function) {
this.parentRef.refresh(opt);
}
}
/**
* 设置面板编辑项值变更
*
* @param data 面板数据
* @param {{ name: string, value: any }} $event
* @returns {void}
* @memberof ByRegardingObjectId
*/
public onPanelItemValueChange(data: any,$event: { name: string, value: any }): void {
if (!$event) {
return;
}
if (!$event.name || Object.is($event.name, '') || !data.hasOwnProperty($event.name)) {
return;
}
data[$event.name] = $event.value;
this.panelEditItemChange(data, $event.name, $event.value);
}
/**
* 面板编辑项值变化
*
* @public
* @param data 面板数据
* @param property 编辑项名
* @param value 编辑项值
* @returns {void}
* @memberof ByRegardingObjectId
*/
public panelEditItemChange(data: any, property: string, value: any){
}
}
</script>
<style lang='less'>
@import './by-regarding-object-id-panel.less';
</style>
/**
* ByRegardingObjectId 部件模型
*
* @export
* @class ByRegardingObjectIdModel
*/
export default class ByRegardingObjectIdModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ByRegardingObjectIdModel
*/
public getDataItems(): any[] {
return [
{
name: 'activitytypecode',
prop: 'activitytypecode'
},
{
name: 'subject',
prop: 'subject'
}
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* ByRegardingObjectId 部件服务对象
*
* @export
* @class ByRegardingObjectIdService
*/
export default class ByRegardingObjectIdService extends ControlService {
}
\ No newline at end of file
// this is less
.app-layoutpanel {
height: 100%;
> .app-layoutpanel-container {
height: 100%;
}
.item-field{
padding: 0 4px;
display: flex;
>.item-field-label{
padding: 0 8px;
}
}
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import ByRegardingObjectIdBase from './by-regarding-object-id-panel-base.vue';
@Component({
components: {
}
})
export default class ByRegardingObjectId extends ByRegardingObjectIdBase {
}
</script>
\ No newline at end of file
......@@ -4480,7 +4480,7 @@
<!--输出实体[ACCOUNT]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-account-118-53">
<changeSet author="a_LAB01_e85d8801c" id="tab-account-123-53">
<createTable tableName="ACCOUNT">
<column name="ADDRESS1_PRIMARYCONTACTNAME" remarks="" type="VARCHAR(100)">
</column>
......@@ -11074,31 +11074,31 @@
<addForeignKeyConstraint baseColumnNames="METRICID" baseTableName="GOAL" constraintName="DER1N_GOAL__METRIC__METRICID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="METRICID" referencedTableName="METRIC" validate="true"/>
</changeSet>
<!--输出实体[ACCOUNT]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-246">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-246">
<addForeignKeyConstraint baseColumnNames="PARENTACCOUNTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__ACCOUNT__PARENT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ACCOUNTID" referencedTableName="ACCOUNT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-247">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-247">
<addForeignKeyConstraint baseColumnNames="PRIMARYCONTACTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__CONTACT__PRIMAR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-248">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-248">
<addForeignKeyConstraint baseColumnNames="PREFERREDEQUIPMENTID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__EQUIPMENT__PREF" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="EQUIPMENTID" referencedTableName="EQUIPMENT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-249">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-249">
<addForeignKeyConstraint baseColumnNames="ORIGINATINGLEADID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__LEAD__ORIGINATI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="LEADID" referencedTableName="LEAD" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-250">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-250">
<addForeignKeyConstraint baseColumnNames="DEFAULTPRICELEVELID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__PRICELEVEL__DEF" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRICELEVELID" referencedTableName="PRICELEVEL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-251">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-251">
<addForeignKeyConstraint baseColumnNames="PREFERREDSERVICEID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__SERVICE__PREFER" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SERVICEID" referencedTableName="SERVICE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-252">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-252">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-253">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-253">
<addForeignKeyConstraint baseColumnNames="TERRITORYID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__TERRITORY__TERR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TERRITORYID" referencedTableName="TERRITORY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-account-118-254">
<changeSet author="a_LAB01_e85d8801c" id="fk-account-123-254">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="ACCOUNT" constraintName="DER1N_ACCOUNT__TRANSACTIONCURR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[KNOWLEDGEARTICLEVIEWS]外键关系 -->
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册