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

xignzi006 发布系统代码

上级 70ba7743
......@@ -69,6 +69,16 @@
"viewtag": "01c28e25ad9d42977cb91ee890731b64",
"memo": "系统自动添加"
},
"invoicestatetabview": {
"title": "发票状态分页视图",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceStateTabView",
"viewfilename": "invoice-state-tab-view",
"viewtag": "02131b45343ed8c70e500cd8ac520361",
"memo": ""
},
"contactgridview": {
"title": "联系人信息",
"caption": "联系人信息",
......@@ -1069,6 +1079,16 @@
"viewtag": "599da9d1e5d8054bb86ce61abeb78189",
"memo": "系统自动添加"
},
"invoicepaidgridview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoicePaidGridView",
"viewfilename": "invoice-paid-grid-view",
"viewtag": "5c3ef659dc4205cfed28ea4bcbd54cf8",
"memo": "系统自动添加"
},
"accountgridview": {
"title": "客户表格视图",
"caption": "客户信息",
......@@ -1129,6 +1149,16 @@
"viewtag": "6168a7e787ead13b1e0f9a55007bc68c",
"memo": ""
},
"invoicecancelgridview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceCancelGridView",
"viewfilename": "invoice-cancel-grid-view",
"viewtag": "62f0fc5ca41b7b5ba3d04b26b14f537e",
"memo": "系统自动添加"
},
"goalgridview": {
"title": "目标信息",
"caption": "目标",
......
......@@ -99,6 +99,10 @@ export default {
caption: "发票",
title: "发票编辑视图",
},
statetabview: {
caption: "发票",
title: "发票状态分页视图",
},
quickcreateview: {
caption: "发票",
title: "快速新建",
......@@ -107,6 +111,14 @@ export default {
caption: "发票",
title: "发票信息",
},
paidgridview: {
caption: "发票",
title: "发票信息",
},
cancelgridview: {
caption: "发票",
title: "发票信息",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
......@@ -383,4 +395,88 @@ export default {
tip: "Copy {0}",
},
},
paidgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
cancelgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem6: {
caption: "Copy",
tip: "Copy {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
};
\ No newline at end of file
......@@ -98,6 +98,10 @@ export default {
caption: "发票",
title: "发票编辑视图",
},
statetabview: {
caption: "发票",
title: "发票状态分页视图",
},
quickcreateview: {
caption: "发票",
title: "快速新建",
......@@ -106,6 +110,14 @@ export default {
caption: "发票",
title: "发票信息",
},
paidgridview: {
caption: "发票",
title: "发票信息",
},
cancelgridview: {
caption: "发票",
title: "发票信息",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
......@@ -382,4 +394,88 @@ export default {
tip: "拷贝",
},
},
paidgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
cancelgridviewtoolbar_toolbar: {
tbitem1_quickcreate: {
caption: "新建",
tip: "新建",
},
tbitem2: {
caption: "-",
tip: "",
},
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem6: {
caption: "拷贝",
tip: "拷贝",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
};
\ No newline at end of file
......@@ -63,6 +63,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "InvoiceEditView",
"viewtag": "01c28e25ad9d42977cb91ee890731b64"
},
"invoicestatetabview": {
"title": "发票状态分页视图",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceStateTabView",
"viewtag": "02131b45343ed8c70e500cd8ac520361"
},
"contactgridview": {
"title": "联系人信息",
"caption": "联系人信息",
......@@ -863,6 +871,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "OpportunityProductEditView",
"viewtag": "599da9d1e5d8054bb86ce61abeb78189"
},
"invoicepaidgridview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoicePaidGridView",
"viewtag": "5c3ef659dc4205cfed28ea4bcbd54cf8"
},
"accountgridview": {
"title": "客户表格视图",
"caption": "客户信息",
......@@ -911,6 +927,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactSummaryView",
"viewtag": "6168a7e787ead13b1e0f9a55007bc68c"
},
"invoicecancelgridview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceCancelGridView",
"viewtag": "62f0fc5ca41b7b5ba3d04b26b14f537e"
},
"goalgridview": {
"title": "目标信息",
"caption": "目标",
......
......@@ -18,6 +18,7 @@ export const PageComponents = {
Vue.component('sales-order-edit-data-panel-view', () => import('@pages/sales/sales-order-edit-data-panel-view/sales-order-edit-data-panel-view.vue'));
Vue.component('invoice-by-parent-key', () => import('@pages/finance/invoice-by-parent-key/invoice-by-parent-key.vue'));
Vue.component('goal-info-goal-view', () => import('@pages/sales/goal-info-goal-view/goal-info-goal-view.vue'));
Vue.component('invoice-paid-grid-view', () => import('@pages/finance/invoice-paid-grid-view/invoice-paid-grid-view.vue'));
Vue.component('goal-info-view', () => import('@pages/sales/goal-info-view/goal-info-view.vue'));
Vue.component('opportunity-grid-view', () => import('@pages/sales/opportunity-grid-view/opportunity-grid-view.vue'));
Vue.component('opportunity-product-edit-view', () => import('@pages/sales/opportunity-product-edit-view/opportunity-product-edit-view.vue'));
......@@ -120,6 +121,7 @@ export const PageComponents = {
Vue.component('product-info-pro-info', () => import('@pages/product/product-info-pro-info/product-info-pro-info.vue'));
Vue.component('sales-literature-summary-view', () => import('@pages/sales/sales-literature-summary-view/sales-literature-summary-view.vue'));
Vue.component('lead-pickup-view', () => import('@pages/sales/lead-pickup-view/lead-pickup-view.vue'));
Vue.component('invoice-state-tab-view', () => import('@pages/finance/invoice-state-tab-view/invoice-state-tab-view.vue'));
Vue.component('lead-edit-data-panel-view', () => import('@pages/sales/lead-edit-data-panel-view/lead-edit-data-panel-view.vue'));
Vue.component('setting', () => import('@pages/ungroup/setting/setting.vue'));
Vue.component('invoice-quick-create-view', () => import('@pages/finance/invoice-quick-create-view/invoice-quick-create-view.vue'));
......@@ -146,8 +148,8 @@ export const PageComponents = {
Vue.component('ibiz-list-option-view', () => import('@pages/marketing/ibiz-list-option-view/ibiz-list-option-view.vue'));
Vue.component('contact-info-abstract', () => import('@pages/base/contact-info-abstract/contact-info-abstract.vue'));
Vue.component('account-edit-data-panel', () => import('@pages/base/account-edit-data-panel/account-edit-data-panel.vue'));
Vue.component('opportunity-competitor-comp-opp-grid-view', () => import('@pages/sales/opportunity-competitor-comp-opp-grid-view/opportunity-competitor-comp-opp-grid-view.vue'));
Vue.component('invoice-detail-edit-view', () => import('@pages/finance/invoice-detail-edit-view/invoice-detail-edit-view.vue'));
Vue.component('opportunity-competitor-comp-opp-grid-view', () => import('@pages/sales/opportunity-competitor-comp-opp-grid-view/opportunity-competitor-comp-opp-grid-view.vue'));
Vue.component('opportunity-lost-grid-view', () => import('@pages/sales/opportunity-lost-grid-view/opportunity-lost-grid-view.vue'));
Vue.component('product-association-edit-view', () => import('@pages/product/product-association-edit-view/product-association-edit-view.vue'));
Vue.component('sales-order-grid-view', () => import('@pages/sales/sales-order-grid-view/sales-order-grid-view.vue'));
......@@ -219,6 +221,7 @@ export const PageComponents = {
Vue.component('task-edit-view', () => import('@pages/base/task-edit-view/task-edit-view.vue'));
Vue.component('product-substitute-grid-view', () => import('@pages/product/product-substitute-grid-view/product-substitute-grid-view.vue'));
Vue.component('competitor-pickup-view', () => import('@pages/sales/competitor-pickup-view/competitor-pickup-view.vue'));
Vue.component('invoice-cancel-grid-view', () => import('@pages/finance/invoice-cancel-grid-view/invoice-cancel-grid-view.vue'));
Vue.component('product-sales-literature-sal-lit-pro-edit-view', () => import('@pages/sales/product-sales-literature-sal-lit-pro-edit-view/product-sales-literature-sal-lit-pro-edit-view.vue'));
Vue.component('account-stop-grid-view', () => import('@pages/base/account-stop-grid-view/account-stop-grid-view.vue'));
Vue.component('connection-role-pickup-grid-view', () => import('@pages/runtime/connection-role-pickup-grid-view/connection-role-pickup-grid-view.vue'));
......
<studio-view-style2 viewName="invoicecancelgridview" viewTitle="发票信息" class='degridview invoice-cancel-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchCancel"
:newdata="newdata"
:opendata="opendata"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./invoice-cancel-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { InvoiceCancelGridViewBase } from './invoice-cancel-grid-view-base';
import view_grid from '@widgets/invoice/main-grid/main-grid.vue';
import view_searchform from '@widgets/invoice/default-searchform/default-searchform.vue';
/**
* 发票信息视图
*
* @export
* @class InvoiceCancelGridView
* @extends {InvoiceCancelGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class InvoiceCancelGridView extends InvoiceCancelGridViewBase { }
</script>
<studio-view-style2 viewName="invoicepaidgridview" viewTitle="发票信息" class='degridview invoice-paid-grid-view'>
<i-input slot="quickSearch" v-show="!isExpandSearchForm" v-model="query" search @on-search="onSearch($event)"/>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<template slot="searchForm">
<view_searchform
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
v-show="isExpandSearchForm"
loaddraftAction="FilterGetDraft"
loadAction="FilterGet"
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@closeview="closeView($event)">
</view_searchform>
</template>
<view_grid
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:isSingleSelect="isGridSingleSelect"
:showBusyIndicator="true"
:isOpenEdit="false"
:gridRowActiveMode="gridRowActiveMode"
@save="onSave"
updateAction=""
removeAction="Remove"
loaddraftAction=""
loadAction=""
createAction=""
fetchAction="FetchPaid"
:newdata="newdata"
:opendata="opendata"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@closeview="closeView($event)">
</view_grid>
</studio-view-style2>
\ No newline at end of file
<template src="./invoice-paid-grid-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { InvoicePaidGridViewBase } from './invoice-paid-grid-view-base';
import view_grid from '@widgets/invoice/main-grid/main-grid.vue';
import view_searchform from '@widgets/invoice/default-searchform/default-searchform.vue';
/**
* 发票信息视图
*
* @export
* @class InvoicePaidGridView
* @extends {InvoicePaidGridViewBase}
*/
@Component({
components: {
view_grid,
view_searchform,
}
})
@VueLifeCycleProcessing()
export default class InvoicePaidGridView extends InvoicePaidGridViewBase { }
</script>
import { Subject } from 'rxjs';
import { TabExpViewBase } from '@/studio-core';
import InvoiceService from '@/service/invoice/invoice-service';
import TabExpViewEngine from '@engine/view/tab-exp-view-engine';
/**
* 发票状态分页视图视图基类
*
* @export
* @class InvoiceStateTabViewBase
* @extends {TabExpViewBase}
*/
export class InvoiceStateTabViewBase extends TabExpViewBase {
/**
* 视图对应应用实体名称
*
* @protected
* @type {string}
* @memberof InvoiceStateTabViewBase
*/
protected appDeName: string = 'invoice';
/**
* 应用实体主键
*
* @protected
* @type {string}
* @memberof InvoiceStateTabViewBase
*/
protected appDeKey: string = 'invoiceid';
/**
* 应用实体主信息
*
* @protected
* @type {string}
* @memberof InvoiceStateTabViewBase
*/
protected appDeMajor: string = 'invoicename';
/**
* 实体服务对象
*
* @type {InvoiceService}
* @memberof InvoiceStateTabViewBase
*/
protected appEntityService: InvoiceService = new InvoiceService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof InvoiceStateTabViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof InvoiceStateTabViewBase
*/
protected model: any = {
srfCaption: 'entities.invoice.views.statetabview.caption',
srfTitle: 'entities.invoice.views.statetabview.title',
srfSubTitle: 'entities.invoice.views.statetabview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof InvoiceStateTabViewBase
*/
protected containerModel: any = {
view_tabexppanel: { name: 'tabexppanel', type: 'TABEXPPANEL' },
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '02131b45343ed8c70e500cd8ac520361';
/**
* 视图引擎
*
* @public
* @type {Engine}
* @memberof InvoiceStateTabViewBase
*/
public engine: TabExpViewEngine = new TabExpViewEngine();
/**
* 引擎初始化
*
* @public
* @memberof InvoiceStateTabViewBase
*/
public engineInit(): void {
this.engine.init({
view: this,
keyPSDEField: 'invoice',
majorPSDEField: 'invoicename',
isLoadDefault: true,
});
}
}
\ No newline at end of file
<studio-view-style2 viewName="invoicestatetabview" viewTitle="发票状态分页视图" class='detabexpview invoice-state-tab-view'>
<view_tabexppanel
:viewState="viewState"
:viewparams="viewparams"
:context="context"
name="tabexppanel"
ref='tabexppanel'
@closeview="closeView($event)">
</view_tabexppanel>
</studio-view-style2>
\ No newline at end of file
<template src="./invoice-state-tab-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { InvoiceStateTabViewBase } from './invoice-state-tab-view-base';
import view_tabexppanel from '@widgets/invoice/state-tab-viewtabexppanel-tabexppanel/state-tab-viewtabexppanel-tabexppanel.vue';
/**
* 发票状态分页视图视图
*
* @export
* @class InvoiceStateTabView
* @extends {InvoiceStateTabViewBase}
*/
@Component({
components: {
view_tabexppanel,
}
})
@VueLifeCycleProcessing()
export default class InvoiceStateTabView extends InvoiceStateTabViewBase { }
</script>
......@@ -62,6 +62,18 @@ export const viewstate: any = {
'a5213905238dbc5d8e1a505029105cc9',
],
},
{
viewtag: '02131b45343ed8c70e500cd8ac520361',
viewmodule: 'Finance',
viewname: 'InvoiceStateTabView',
viewaction: '',
viewdatachange: false,
refviews: [
'62f0fc5ca41b7b5ba3d04b26b14f537e',
'5c3ef659dc4205cfed28ea4bcbd54cf8',
'e0aef8c0d1f1ae28f628a0541b118961',
],
},
{
viewtag: '0326a502bb574cddc41da4323786dcb5',
viewmodule: 'Base',
......@@ -998,6 +1010,17 @@ export const viewstate: any = {
refviews: [
],
},
{
viewtag: '5c3ef659dc4205cfed28ea4bcbd54cf8',
viewmodule: 'Finance',
viewname: 'InvoicePaidGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'0fc09bf520af62b4d89aef845fc72636',
'ab653866ca40a1cefde21241ac5ba44c',
],
},
{
viewtag: '5f8f689d5dccc3db6d2b74a24a8b24ef',
viewmodule: 'Sales',
......@@ -1032,6 +1055,17 @@ export const viewstate: any = {
'a5213905238dbc5d8e1a505029105cc9',
],
},
{
viewtag: '62f0fc5ca41b7b5ba3d04b26b14f537e',
viewmodule: 'Finance',
viewname: 'InvoiceCancelGridView',
viewaction: '',
viewdatachange: false,
refviews: [
'0fc09bf520af62b4d89aef845fc72636',
'ab653866ca40a1cefde21241ac5ba44c',
],
},
{
viewtag: '631a4276161c551802f3aaf4bd7e607c',
viewmodule: 'Sales',
......@@ -1476,13 +1510,13 @@ export const viewstate: any = {
'efe82dc0a6991dd88da8c33cee6bf451',
'8895fef7ce4f5bdd1cd8f950bd1f8bcc',
'631a4276161c551802f3aaf4bd7e607c',
'02131b45343ed8c70e500cd8ac520361',
'90b48a107932f432e0dde42791a51887',
'9af073dea1ea05903d52e8bdc5a03dd5',
'45fdc8ee4d1401d2d625e80177395ddc',
'9AE386A9-53DE-4F99-BCCA-747AEFE666A4',
'3cac572b3a6905293a0e22e3f3fa3c04',
'7FCD2E75-E34A-493C-922E-8AE47BCE08CA',
'e0aef8c0d1f1ae28f628a0541b118961',
'd1c35f3c52010e1428d7dc1a6bc82f63',
'3a665de6a3970b95fde436c0fea4b1df',
'00367e275947880480763049e5c495be',
......
......@@ -80,8 +80,11 @@ export default class InvoiceUIServiceBase extends UIService {
*/
public initViewMap(){
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'statetabview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'byparentkey',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'paidgridview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'cancelgridview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'invoices'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'invoices'});
......
......@@ -195,7 +195,7 @@ export class CentralBase extends Vue {
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'invoices', parameterName: 'invoice' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'statetabview', parameterName: 'statetabview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
......
......@@ -519,7 +519,7 @@ export default class CentralModel {
textcls: '',
appfunctag: 'Auto6',
appfuncyype: 'APPVIEW',
viewname: 'invoice-grid-view',
viewname: 'invoice-state-tab-view',
resourcetag: '',
}
,
......@@ -910,12 +910,12 @@ export default class CentralModel {
appfunctag: 'Auto6',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'invoicegridview',
codename: 'invoicestatetabview',
deResParameters: [],
routepath: '/central/:central?/invoices/:invoice?/gridview/:gridview?',
routepath: '/central/:central?/invoices/:invoice?/statetabview/:statetabview?',
parameters: [
{ pathName: 'invoices', parameterName: 'invoice' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'statetabview', parameterName: 'statetabview' },
],
},
{
......
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, TabExpPanelControlBase } from '@/studio-core';
import InvoiceService from '@/service/invoice/invoice-service';
import StateTabViewtabexppanelService from './state-tab-viewtabexppanel-tabexppanel-service';
/**
* tabexppanel部件基类
*
* @export
* @class TabExpPanelControlBase
* @extends {StateTabViewtabexppanelTabexppanelBase}
*/
export class StateTabViewtabexppanelTabexppanelBase extends TabExpPanelControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
protected controlType: string = 'TABEXPPANEL';
/**
* 建构部件服务对象
*
* @type {StateTabViewtabexppanelService}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
public service: StateTabViewtabexppanelService = new StateTabViewtabexppanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {InvoiceService}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
public appEntityService: InvoiceService = new InvoiceService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanelTabexppanelBase
*/
protected appDeName: string = 'invoice';
/**
* 是否初始化
*
* @protected
* @returns {any}
* @memberof StateTabViewtabexppanel
*/
protected isInit: any = {
tabviewpanel: true ,
tabviewpanel2: false ,
tabviewpanel3: false ,
}
/**
* 被激活的分页面板
*
* @protected
* @type {string}
* @memberof StateTabViewtabexppanel
*/
protected activatedTabViewPanel: string = 'tabviewpanel';
/**
* 组件创建完毕
*
* @protected
* @memberof StateTabViewtabexppanel
*/
protected ctrlCreated(): void {
//设置分页导航srfparentdename和srfparentkey
if (this.context.invoice) {
Object.assign(this.context, { srfparentdename: 'Invoice', srfparentkey: this.context.invoice });
}
super.ctrlCreated();
}
}
\ No newline at end of file
/**
* StateTabViewtabexppanel 部件模型
*
* @export
* @class StateTabViewtabexppanelModel
*/
export default class StateTabViewtabexppanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabexppanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'billto_line1',
},
{
name: 'billto_telephone',
},
{
name: 'ownertype',
},
{
name: 'accountname',
},
{
name: 'lastonholdtime',
},
{
name: 'billto_stateorprovince',
},
{
name: 'duedate',
},
{
name: 'pricingerrorcode',
},
{
name: 'traversedpath',
},
{
name: 'totaldiscountamount_base',
},
{
name: 'totalamountlessfreight_base',
},
{
name: 'contactname',
},
{
name: 'customername',
},
{
name: 'lastbackofficesubmit',
},
{
name: 'shipto_telephone',
},
{
name: 'billto_city',
},
{
name: 'createman',
},
{
name: 'shipto_composite',
},
{
name: 'overriddencreatedon',
},
{
name: 'billto_postalcode',
},
{
name: 'freightamount_base',
},
{
name: 'invoicename',
},
{
name: 'updatedate',
},
{
name: 'shipto_city',
},
{
name: 'totalamount',
},
{
name: 'customerid',
},
{
name: 'totalamount_base',
},
{
name: 'billto_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'description',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'freightamount',
},
{
name: 'prioritycode',
},
{
name: 'discountamount_base',
},
{
name: 'onholdtime',
},
{
name: 'shipto_country',
},
{
name: 'paymenttermscode',
},
{
name: 'shipto_freighttermscode',
},
{
name: 'updateman',
},
{
name: 'shipto_line3',
},
{
name: 'totaltax',
},
{
name: 'billto_line2',
},
{
name: 'createdate',
},
{
name: 'exchangerate',
},
{
name: 'shipto_line1',
},
{
name: 'invoice',
prop: 'invoiceid',
},
{
name: 'discountpercentage',
},
{
name: 'totallineitemamount_base',
},
{
name: 'stageid',
},
{
name: 'entityimage_url',
},
{
name: 'statecode',
},
{
name: 'totalamountlessfreight',
},
{
name: 'totaltax_base',
},
{
name: 'shipto_line2',
},
{
name: 'billto_country',
},
{
name: 'entityimage',
},
{
name: 'importsequencenumber',
},
{
name: 'customertype',
},
{
name: 'shipto_fax',
},
{
name: 'ownerid',
},
{
name: 'datedelivered',
},
{
name: 'ownername',
},
{
name: 'entityimage_timestamp',
},
{
name: 'processid',
},
{
name: 'totaldiscountamount',
},
{
name: 'pricelocked',
},
{
name: 'willcall',
},
{
name: 'billto_line3',
},
{
name: 'shipto_name',
},
{
name: 'statuscode',
},
{
name: 'totallineitemamount',
},
{
name: 'discountamount',
},
{
name: 'shipto_stateorprovince',
},
{
name: 'entityimageid',
},
{
name: 'versionnumber',
},
{
name: 'shipto_postalcode',
},
{
name: 'invoicenumber',
},
{
name: 'billto_composite',
},
{
name: 'emailaddress',
},
{
name: 'shippingmethodcode',
},
{
name: 'totallineitemdiscountamount',
},
{
name: 'billto_fax',
},
{
name: 'slaname',
},
{
name: 'transactioncurrencyid',
},
{
name: 'pricelevelid',
},
{
name: 'salesorderid',
},
{
name: 'opportunityid',
},
{
name: 'slaid',
},
{
name: 'transactioncurrencyname',
},
{
name: 'pricelevelname',
},
{
name: 'salesordername',
},
{
name: 'opportunityname',
},
]
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import InvoiceService from '@/service/invoice/invoice-service';
import StateTabViewtabexppanelModel from './state-tab-viewtabexppanel-tabexppanel-model';
/**
* StateTabViewtabexppanel 部件服务对象
*
* @export
* @class StateTabViewtabexppanelService
*/
export default class StateTabViewtabexppanelService extends ControlService {
/**
* 发票服务对象
*
* @type {InvoiceService}
* @memberof StateTabViewtabexppanelService
*/
public appEntityService: InvoiceService = new InvoiceService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof StateTabViewtabexppanelService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of StateTabViewtabexppanelService.
*
* @param {*} [opts={}]
* @memberof StateTabViewtabexppanelService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new StateTabViewtabexppanelModel();
}
}
\ No newline at end of file
<div class='tabviewpanel'>
<tabs :value="activatedTabViewPanel" :animated="false" class='tabexppanel' name='statetabviewtabexppanel' @on-click="tabPanelClick($event)">
<tab-pane :index="0" name='tabviewpanel' tab='statetabviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('span', '全部发票'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel"
name="tabviewpanel"
ref='tabviewpanel'
:expActive="activatedTabViewPanel === 'tabviewpanel'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel>
</tab-pane>
<tab-pane :index="1" name='tabviewpanel2' tab='statetabviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('span', '已支付'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel2
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel2"
name="tabviewpanel2"
ref='tabviewpanel2'
:expActive="activatedTabViewPanel === 'tabviewpanel2'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel2>
</tab-pane>
<tab-pane :index="2" name='tabviewpanel3' tab='statetabviewtabexppanel' class=''
:label="(h) =>{
return h('div', [
h('span', '已取消'),
h('Badge', {
props: {
count: undefined,
type: 'primary'
}
})
])
}" >
<view_tabviewpanel3
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
v-if="isInit.tabviewpanel3"
name="tabviewpanel3"
ref='tabviewpanel3'
:expActive="activatedTabViewPanel === 'tabviewpanel3'"
@viewpanelDatasChange = "tabViewPanelDatasChange"
@closeview="closeView($event)">
</view_tabviewpanel3>
</tab-pane>
</tabs>
</div>
\ No newline at end of file
<template src="./state-tab-viewtabexppanel-tabexppanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabexppanelTabexppanelBase } from './state-tab-viewtabexppanel-tabexppanel-base';
import view_tabviewpanel from '@widgets/invoice/state-tab-viewtabviewpanel-tabviewpanel/state-tab-viewtabviewpanel-tabviewpanel.vue';
import view_tabviewpanel2 from '@widgets/invoice/state-tab-viewtabviewpanel2-tabviewpanel/state-tab-viewtabviewpanel2-tabviewpanel.vue';
import view_tabviewpanel3 from '@widgets/invoice/state-tab-viewtabviewpanel3-tabviewpanel/state-tab-viewtabviewpanel3-tabviewpanel.vue';
/**
* tabexppanel部件
*
* @export
* @class StateTabViewtabexppanelTabexppanel
* @extends {StateTabViewtabexppanelTabexppanelBase}
*/
@Component({
components: {
view_tabviewpanel,
view_tabviewpanel2,
view_tabviewpanel3,
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabexppanelTabexppanel extends StateTabViewtabexppanelTabexppanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import InvoiceService from '@/service/invoice/invoice-service';
import StateTabViewtabviewpanelService from './state-tab-viewtabviewpanel-tabviewpanel-service';
/**
* tabviewpanel部件基类
*
* @export
* @class MainControlBase
* @extends {StateTabViewtabviewpanelTabviewpanelBase}
*/
export class StateTabViewtabviewpanelTabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {StateTabViewtabviewpanelService}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
public service: StateTabViewtabviewpanelService = new StateTabViewtabviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {InvoiceService}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
public appEntityService: InvoiceService = new InvoiceService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanelTabviewpanelBase
*/
protected appDeName: string = 'invoice';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StateTabViewtabviewpanel
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StateTabViewtabviewpanel
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof StateTabViewtabviewpanel
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StateTabViewtabviewpanel
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof StateTabViewtabviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof StateTabViewtabviewpanel
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof StateTabViewtabviewpanel
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof StateTabViewtabviewpanel
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof StateTabViewtabviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StateTabViewtabviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* StateTabViewtabviewpanel 部件模型
*
* @export
* @class StateTabViewtabviewpanelModel
*/
export default class StateTabViewtabviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'billto_line1',
},
{
name: 'billto_telephone',
},
{
name: 'ownertype',
},
{
name: 'accountname',
},
{
name: 'lastonholdtime',
},
{
name: 'billto_stateorprovince',
},
{
name: 'duedate',
},
{
name: 'pricingerrorcode',
},
{
name: 'traversedpath',
},
{
name: 'totaldiscountamount_base',
},
{
name: 'totalamountlessfreight_base',
},
{
name: 'contactname',
},
{
name: 'customername',
},
{
name: 'lastbackofficesubmit',
},
{
name: 'shipto_telephone',
},
{
name: 'billto_city',
},
{
name: 'createman',
},
{
name: 'shipto_composite',
},
{
name: 'overriddencreatedon',
},
{
name: 'billto_postalcode',
},
{
name: 'freightamount_base',
},
{
name: 'invoicename',
},
{
name: 'updatedate',
},
{
name: 'shipto_city',
},
{
name: 'totalamount',
},
{
name: 'customerid',
},
{
name: 'totalamount_base',
},
{
name: 'billto_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'description',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'freightamount',
},
{
name: 'prioritycode',
},
{
name: 'discountamount_base',
},
{
name: 'onholdtime',
},
{
name: 'shipto_country',
},
{
name: 'paymenttermscode',
},
{
name: 'shipto_freighttermscode',
},
{
name: 'updateman',
},
{
name: 'shipto_line3',
},
{
name: 'totaltax',
},
{
name: 'billto_line2',
},
{
name: 'createdate',
},
{
name: 'exchangerate',
},
{
name: 'shipto_line1',
},
{
name: 'invoice',
prop: 'invoiceid',
},
{
name: 'discountpercentage',
},
{
name: 'totallineitemamount_base',
},
{
name: 'stageid',
},
{
name: 'entityimage_url',
},
{
name: 'statecode',
},
{
name: 'totalamountlessfreight',
},
{
name: 'totaltax_base',
},
{
name: 'shipto_line2',
},
{
name: 'billto_country',
},
{
name: 'entityimage',
},
{
name: 'importsequencenumber',
},
{
name: 'customertype',
},
{
name: 'shipto_fax',
},
{
name: 'ownerid',
},
{
name: 'datedelivered',
},
{
name: 'ownername',
},
{
name: 'entityimage_timestamp',
},
{
name: 'processid',
},
{
name: 'totaldiscountamount',
},
{
name: 'pricelocked',
},
{
name: 'willcall',
},
{
name: 'billto_line3',
},
{
name: 'shipto_name',
},
{
name: 'statuscode',
},
{
name: 'totallineitemamount',
},
{
name: 'discountamount',
},
{
name: 'shipto_stateorprovince',
},
{
name: 'entityimageid',
},
{
name: 'versionnumber',
},
{
name: 'shipto_postalcode',
},
{
name: 'invoicenumber',
},
{
name: 'billto_composite',
},
{
name: 'emailaddress',
},
{
name: 'shippingmethodcode',
},
{
name: 'totallineitemdiscountamount',
},
{
name: 'billto_fax',
},
{
name: 'slaname',
},
{
name: 'transactioncurrencyid',
},
{
name: 'pricelevelid',
},
{
name: 'salesorderid',
},
{
name: 'opportunityid',
},
{
name: 'slaid',
},
{
name: 'transactioncurrencyname',
},
{
name: 'pricelevelname',
},
{
name: 'salesordername',
},
{
name: 'opportunityname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* StateTabViewtabviewpanel 部件服务对象
*
* @export
* @class StateTabViewtabviewpanelService
*/
export default class StateTabViewtabviewpanelService extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<invoice-grid-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
/>
</div>
\ No newline at end of file
<template src="./state-tab-viewtabviewpanel-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanelTabviewpanelBase } from './state-tab-viewtabviewpanel-tabviewpanel-base';
/**
* tabviewpanel部件
*
* @export
* @class StateTabViewtabviewpanelTabviewpanel
* @extends {StateTabViewtabviewpanelTabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanelTabviewpanel extends StateTabViewtabviewpanelTabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import InvoiceService from '@/service/invoice/invoice-service';
import StateTabViewtabviewpanel2Service from './state-tab-viewtabviewpanel2-tabviewpanel-service';
/**
* tabviewpanel2部件基类
*
* @export
* @class MainControlBase
* @extends {StateTabViewtabviewpanel2TabviewpanelBase}
*/
export class StateTabViewtabviewpanel2TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {StateTabViewtabviewpanel2Service}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
public service: StateTabViewtabviewpanel2Service = new StateTabViewtabviewpanel2Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {InvoiceService}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
public appEntityService: InvoiceService = new InvoiceService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel2TabviewpanelBase
*/
protected appDeName: string = 'invoice';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel2
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StateTabViewtabviewpanel2
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StateTabViewtabviewpanel2
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof StateTabViewtabviewpanel2
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StateTabViewtabviewpanel2
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof StateTabViewtabviewpanel2
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof StateTabViewtabviewpanel2
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof StateTabViewtabviewpanel2
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof StateTabViewtabviewpanel2
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof StateTabViewtabviewpanel2
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StateTabViewtabviewpanel2
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* StateTabViewtabviewpanel2 部件模型
*
* @export
* @class StateTabViewtabviewpanel2Model
*/
export default class StateTabViewtabviewpanel2Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel2Model
*/
public getDataItems(): any[] {
return [
{
name: 'billto_line1',
},
{
name: 'billto_telephone',
},
{
name: 'ownertype',
},
{
name: 'accountname',
},
{
name: 'lastonholdtime',
},
{
name: 'billto_stateorprovince',
},
{
name: 'duedate',
},
{
name: 'pricingerrorcode',
},
{
name: 'traversedpath',
},
{
name: 'totaldiscountamount_base',
},
{
name: 'totalamountlessfreight_base',
},
{
name: 'contactname',
},
{
name: 'customername',
},
{
name: 'lastbackofficesubmit',
},
{
name: 'shipto_telephone',
},
{
name: 'billto_city',
},
{
name: 'createman',
},
{
name: 'shipto_composite',
},
{
name: 'overriddencreatedon',
},
{
name: 'billto_postalcode',
},
{
name: 'freightamount_base',
},
{
name: 'invoicename',
},
{
name: 'updatedate',
},
{
name: 'shipto_city',
},
{
name: 'totalamount',
},
{
name: 'customerid',
},
{
name: 'totalamount_base',
},
{
name: 'billto_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'description',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'freightamount',
},
{
name: 'prioritycode',
},
{
name: 'discountamount_base',
},
{
name: 'onholdtime',
},
{
name: 'shipto_country',
},
{
name: 'paymenttermscode',
},
{
name: 'shipto_freighttermscode',
},
{
name: 'updateman',
},
{
name: 'shipto_line3',
},
{
name: 'totaltax',
},
{
name: 'billto_line2',
},
{
name: 'createdate',
},
{
name: 'exchangerate',
},
{
name: 'shipto_line1',
},
{
name: 'invoice',
prop: 'invoiceid',
},
{
name: 'discountpercentage',
},
{
name: 'totallineitemamount_base',
},
{
name: 'stageid',
},
{
name: 'entityimage_url',
},
{
name: 'statecode',
},
{
name: 'totalamountlessfreight',
},
{
name: 'totaltax_base',
},
{
name: 'shipto_line2',
},
{
name: 'billto_country',
},
{
name: 'entityimage',
},
{
name: 'importsequencenumber',
},
{
name: 'customertype',
},
{
name: 'shipto_fax',
},
{
name: 'ownerid',
},
{
name: 'datedelivered',
},
{
name: 'ownername',
},
{
name: 'entityimage_timestamp',
},
{
name: 'processid',
},
{
name: 'totaldiscountamount',
},
{
name: 'pricelocked',
},
{
name: 'willcall',
},
{
name: 'billto_line3',
},
{
name: 'shipto_name',
},
{
name: 'statuscode',
},
{
name: 'totallineitemamount',
},
{
name: 'discountamount',
},
{
name: 'shipto_stateorprovince',
},
{
name: 'entityimageid',
},
{
name: 'versionnumber',
},
{
name: 'shipto_postalcode',
},
{
name: 'invoicenumber',
},
{
name: 'billto_composite',
},
{
name: 'emailaddress',
},
{
name: 'shippingmethodcode',
},
{
name: 'totallineitemdiscountamount',
},
{
name: 'billto_fax',
},
{
name: 'slaname',
},
{
name: 'transactioncurrencyid',
},
{
name: 'pricelevelid',
},
{
name: 'salesorderid',
},
{
name: 'opportunityid',
},
{
name: 'slaid',
},
{
name: 'transactioncurrencyname',
},
{
name: 'pricelevelname',
},
{
name: 'salesordername',
},
{
name: 'opportunityname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* StateTabViewtabviewpanel2 部件服务对象
*
* @export
* @class StateTabViewtabviewpanel2Service
*/
export default class StateTabViewtabviewpanel2Service extends ControlService {
}
\ No newline at end of file
<div class='tabviewpanel' v-if='isActivied'>
<invoice-paid-grid-view
class='viewcontainer2'
:viewdata="viewdata"
:viewparam="viewparam"
@viewload="viewDatasChange($event)"
:viewDefaultUsage="false"
:viewUsage="7"
:expActive="expActive"
/>
</div>
\ No newline at end of file
<template src="./state-tab-viewtabviewpanel2-tabviewpanel.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { StateTabViewtabviewpanel2TabviewpanelBase } from './state-tab-viewtabviewpanel2-tabviewpanel-base';
/**
* tabviewpanel2部件
*
* @export
* @class StateTabViewtabviewpanel2Tabviewpanel
* @extends {StateTabViewtabviewpanel2TabviewpanelBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class StateTabViewtabviewpanel2Tabviewpanel extends StateTabViewtabviewpanel2TabviewpanelBase { }
</script>
import { Prop, Provide, Emit, Model } from 'vue-property-decorator';
import { Subject, Subscription } from 'rxjs';
import { Watch, MainControlBase } from '@/studio-core';
import InvoiceService from '@/service/invoice/invoice-service';
import StateTabViewtabviewpanel3Service from './state-tab-viewtabviewpanel3-tabviewpanel-service';
/**
* tabviewpanel3部件基类
*
* @export
* @class MainControlBase
* @extends {StateTabViewtabviewpanel3TabviewpanelBase}
*/
export class StateTabViewtabviewpanel3TabviewpanelBase extends MainControlBase {
/**
* 获取部件类型
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel3TabviewpanelBase
*/
protected controlType: string = 'TABVIEWPANEL';
/**
* 建构部件服务对象
*
* @type {StateTabViewtabviewpanel3Service}
* @memberof StateTabViewtabviewpanel3TabviewpanelBase
*/
public service: StateTabViewtabviewpanel3Service = new StateTabViewtabviewpanel3Service({ $store: this.$store });
/**
* 实体服务对象
*
* @type {InvoiceService}
* @memberof StateTabViewtabviewpanel3TabviewpanelBase
*/
public appEntityService: InvoiceService = new InvoiceService({ $store: this.$store });
/**
* 应用实体名称
*
* @protected
* @type {string}
* @memberof StateTabViewtabviewpanel3TabviewpanelBase
*/
protected appDeName: string = 'invoice';
/**
* 导航模式下项是否激活
*
* @type {*}
* @memberof StateTabViewtabviewpanel3
*/
@Prop()
public expActive!: any;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel3
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof StateTabViewtabviewpanel3
*/
public getData(): any {
return null;
}
/**
* 是否被激活
*
* @type {boolean}
* @memberof StateTabViewtabviewpanel3
*/
public isActivied: boolean = true;
/**
* 局部上下文
*
* @type {*}
* @memberof StateTabViewtabviewpanel3
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof StateTabViewtabviewpanel3
*/
public localViewParam: any = null;
/**
* 传入上下文
*
* @type {string}
* @memberof TabExpViewtabviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 传入视图参数
*
* @type {string}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 视图面板过滤项
*
* @type {string}
* @memberof StateTabViewtabviewpanel3
*/
public navfilter: string = "";
/**
* vue 生命周期
*
* @returns
* @memberof StateTabViewtabviewpanel3
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof StateTabViewtabviewpanel3
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
this.$forceUpdate();
this.initNavParam();
});
}
}
/**
* 初始化导航参数
*
* @memberof StateTabViewtabviewpanel3
*/
public initNavParam(){
if(!Object.is(this.navfilter,"")){
Object.assign(this.viewparams,{[this.navfilter]:this.context['majorentity']})
}
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata =JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* 视图数据变化
*
* @memberof StateTabViewtabviewpanel3
*/
public viewDatasChange($event:any){
this.$emit('viewpanelDatasChange',$event);
}
/**
* vue 生命周期
*
* @memberof StateTabViewtabviewpanel3
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof StateTabViewtabviewpanel3
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
\ No newline at end of file
/**
* StateTabViewtabviewpanel3 部件模型
*
* @export
* @class StateTabViewtabviewpanel3Model
*/
export default class StateTabViewtabviewpanel3Model {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof StateTabViewtabviewpanel3Model
*/
public getDataItems(): any[] {
return [
{
name: 'billto_line1',
},
{
name: 'billto_telephone',
},
{
name: 'ownertype',
},
{
name: 'accountname',
},
{
name: 'lastonholdtime',
},
{
name: 'billto_stateorprovince',
},
{
name: 'duedate',
},
{
name: 'pricingerrorcode',
},
{
name: 'traversedpath',
},
{
name: 'totaldiscountamount_base',
},
{
name: 'totalamountlessfreight_base',
},
{
name: 'contactname',
},
{
name: 'customername',
},
{
name: 'lastbackofficesubmit',
},
{
name: 'shipto_telephone',
},
{
name: 'billto_city',
},
{
name: 'createman',
},
{
name: 'shipto_composite',
},
{
name: 'overriddencreatedon',
},
{
name: 'billto_postalcode',
},
{
name: 'freightamount_base',
},
{
name: 'invoicename',
},
{
name: 'updatedate',
},
{
name: 'shipto_city',
},
{
name: 'totalamount',
},
{
name: 'customerid',
},
{
name: 'totalamount_base',
},
{
name: 'billto_name',
},
{
name: 'timezoneruleversionnumber',
},
{
name: 'description',
},
{
name: 'utcconversiontimezonecode',
},
{
name: 'freightamount',
},
{
name: 'prioritycode',
},
{
name: 'discountamount_base',
},
{
name: 'onholdtime',
},
{
name: 'shipto_country',
},
{
name: 'paymenttermscode',
},
{
name: 'shipto_freighttermscode',
},
{
name: 'updateman',
},
{
name: 'shipto_line3',
},
{
name: 'totaltax',
},
{
name: 'billto_line2',
},
{
name: 'createdate',
},
{
name: 'exchangerate',
},
{
name: 'shipto_line1',
},
{
name: 'invoice',
prop: 'invoiceid',
},
{
name: 'discountpercentage',
},
{
name: 'totallineitemamount_base',
},
{
name: 'stageid',
},
{
name: 'entityimage_url',
},
{
name: 'statecode',
},
{
name: 'totalamountlessfreight',
},
{
name: 'totaltax_base',
},
{
name: 'shipto_line2',
},
{
name: 'billto_country',
},
{
name: 'entityimage',
},
{
name: 'importsequencenumber',
},
{
name: 'customertype',
},
{
name: 'shipto_fax',
},
{
name: 'ownerid',
},
{
name: 'datedelivered',
},
{
name: 'ownername',
},
{
name: 'entityimage_timestamp',
},
{
name: 'processid',
},
{
name: 'totaldiscountamount',
},
{
name: 'pricelocked',
},
{
name: 'willcall',
},
{
name: 'billto_line3',
},
{
name: 'shipto_name',
},
{
name: 'statuscode',
},
{
name: 'totallineitemamount',
},
{
name: 'discountamount',
},
{
name: 'shipto_stateorprovince',
},
{
name: 'entityimageid',
},
{
name: 'versionnumber',
},
{
name: 'shipto_postalcode',
},
{
name: 'invoicenumber',
},
{
name: 'billto_composite',
},
{
name: 'emailaddress',
},
{
name: 'shippingmethodcode',
},
{
name: 'totallineitemdiscountamount',
},
{
name: 'billto_fax',
},
{
name: 'slaname',
},
{
name: 'transactioncurrencyid',
},
{
name: 'pricelevelid',
},
{
name: 'salesorderid',
},
{
name: 'opportunityid',
},
{
name: 'slaid',
},
{
name: 'transactioncurrencyname',
},
{
name: 'pricelevelname',
},
{
name: 'salesordername',
},
{
name: 'opportunityname',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* StateTabViewtabviewpanel3 部件服务对象
*
* @export
* @class StateTabViewtabviewpanel3Service
*/
export default class StateTabViewtabviewpanel3Service extends ControlService {
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册