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

xignzi006 发布系统代码

上级 deb96ce4
...@@ -1249,6 +1249,16 @@ ...@@ -1249,6 +1249,16 @@
"viewtag": "7FCD2E75-E34A-493C-922E-8AE47BCE08CA", "viewtag": "7FCD2E75-E34A-493C-922E-8AE47BCE08CA",
"memo": "" "memo": ""
}, },
"accounttreegridexview": {
"title": "客户树表格视图",
"caption": "客户",
"viewtype": "DETREEGRIDEXVIEW",
"viewmodule": "Base",
"viewname": "AccountTreeGridExView",
"viewfilename": "account-tree-grid-ex-view",
"viewtag": "8199e26c05058f9a505c39d85fcf1d46",
"memo": ""
},
"campaignquickcreateview": { "campaignquickcreateview": {
"title": "快速新建", "title": "快速新建",
"caption": "市场活动", "caption": "市场活动",
......
...@@ -222,6 +222,10 @@ export default { ...@@ -222,6 +222,10 @@ export default {
caption: "客户", caption: "客户",
title: "客户编辑视图", title: "客户编辑视图",
}, },
treegridexview: {
caption: "客户",
title: "客户树表格视图",
},
edit_introduction: { edit_introduction: {
caption: "简介信息", caption: "简介信息",
title: "简介信息", title: "简介信息",
...@@ -730,6 +734,8 @@ export default { ...@@ -730,6 +734,8 @@ export default {
tip: "关闭", tip: "关闭",
}, },
}, },
treegridexviewtoolbar_toolbar: {
},
usablegridviewtoolbar_toolbar: { usablegridviewtoolbar_toolbar: {
tbitem1_openquickcreateview: { tbitem1_openquickcreateview: {
caption: "新建", caption: "新建",
......
...@@ -221,6 +221,10 @@ export default { ...@@ -221,6 +221,10 @@ export default {
caption: "客户", caption: "客户",
title: "客户编辑视图", title: "客户编辑视图",
}, },
treegridexview: {
caption: "客户",
title: "客户树表格视图",
},
edit_introduction: { edit_introduction: {
caption: "简介信息", caption: "简介信息",
title: "简介信息", title: "简介信息",
...@@ -729,6 +733,8 @@ export default { ...@@ -729,6 +733,8 @@ export default {
tip: "关闭", tip: "关闭",
}, },
}, },
treegridexviewtoolbar_toolbar: {
},
usablegridviewtoolbar_toolbar: { usablegridviewtoolbar_toolbar: {
tbitem1_openquickcreateview: { tbitem1_openquickcreateview: {
caption: "新建", caption: "新建",
...@@ -839,4 +845,11 @@ export default { ...@@ -839,4 +845,11 @@ export default {
account_remove: "删除", account_remove: "删除",
}, },
}, },
gradation_treegridex: {
uiactions: {
account_openmaineditview: "编辑",
account_inactive: "停用",
account_remove: "删除",
},
},
}; };
\ No newline at end of file
...@@ -1007,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => { ...@@ -1007,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "CenteralPortal", "viewname": "CenteralPortal",
"viewtag": "7FCD2E75-E34A-493C-922E-8AE47BCE08CA" "viewtag": "7FCD2E75-E34A-493C-922E-8AE47BCE08CA"
}, },
"accounttreegridexview": {
"title": "客户树表格视图",
"caption": "客户",
"viewtype": "DETREEGRIDEXVIEW",
"viewmodule": "Base",
"viewname": "AccountTreeGridExView",
"viewtag": "8199e26c05058f9a505c39d85fcf1d46"
},
"campaignquickcreateview": { "campaignquickcreateview": {
"title": "快速新建", "title": "快速新建",
"caption": "市场活动", "caption": "市场活动",
......
import { Subject } from 'rxjs';
import { TreeGridExViewBase } from '@/studio-core';
import AccountService from '@/service/account/account-service';
/**
* 客户树表格视图视图基类
*
* @export
* @class AccountTreeGridExViewBase
* @extends {TreeGridExViewBase}
*/
export class AccountTreeGridExViewBase extends TreeGridExViewBase {
/**
* 实体服务对象
*
* @type {AccountService}
* @memberof AccountTreeGridExViewBase
*/
protected appEntityService: AccountService = new AccountService;
/**
* 计数器服务对象集合
*
* @protected
* @type {Array<*>}
* @memberof AccountTreeGridExViewBase
*/
protected counterServiceArray: Array<any> = [];
/**
* 视图模型数据
*
* @protected
* @type {*}
* @memberof AccountTreeGridExViewBase
*/
protected model: any = {
srfCaption: 'entities.account.views.treegridexview.caption',
srfTitle: 'entities.account.views.treegridexview.title',
srfSubTitle: 'entities.account.views.treegridexview.subtitle',
dataInfo: ''
}
/**
* 容器模型
*
* @protected
* @type {*}
* @memberof AccountTreeGridExViewBase
*/
protected containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_treegridex: { name: 'treegridex', type: 'TREEGRIDEX' },
};
/**
* 工具栏模型
*
* @type {*}
* @memberof AccountTreeGridExView
*/
public toolBarModels: any = {
};
/**
* 视图唯一标识
*
* @protected
* @type {string}
* @memberof ViewBase
*/
protected viewtag: string = '8199e26c05058f9a505c39d85fcf1d46';
/**
* 引擎初始化
*
* @public
* @memberof AccountTreeGridExViewBase
*/
public engineInit(): void {
}
}
\ No newline at end of file
<studio-view-style2 viewName="accounttreegridexview" viewTitle="客户树表格视图" class='detreegridexview account-tree-grid-ex-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<template slot="toolbar">
<view-toolbar mode="STYLE2" :model="toolBarModels" @item-click="toolbar_click($event)"/> </template>
<view_treegridex
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:showBusyIndicator="true"
name="treegridex"
ref='treegridex'
@closeview="closeView($event)">
</view_treegridex>
</studio-view-style2>
\ No newline at end of file
<template src="./account-tree-grid-ex-view.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { AccountTreeGridExViewBase } from './account-tree-grid-ex-view-base';
import view_treegridex from '@widgets/account/gradation-treegridex/gradation-treegridex.vue';
/**
* 客户树表格视图视图
*
* @export
* @class AccountTreeGridExView
* @extends {AccountTreeGridExViewBase}
*/
@Component({
components: {
view_treegridex,
}
})
@VueLifeCycleProcessing()
export default class AccountTreeGridExView extends AccountTreeGridExViewBase { }
</script>
...@@ -152,6 +152,7 @@ export const PageComponents = { ...@@ -152,6 +152,7 @@ export const PageComponents = {
Vue.component('sales-order-detail-soproduct-grid-view', () => import('@pages/sales/sales-order-detail-soproduct-grid-view/sales-order-detail-soproduct-grid-view.vue')); Vue.component('sales-order-detail-soproduct-grid-view', () => import('@pages/sales/sales-order-detail-soproduct-grid-view/sales-order-detail-soproduct-grid-view.vue'));
Vue.component('account-info-all', () => import('@pages/base/account-info-all/account-info-all.vue')); Vue.component('account-info-all', () => import('@pages/base/account-info-all/account-info-all.vue'));
Vue.component('opportunity-competitor-edit-view', () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue')); Vue.component('opportunity-competitor-edit-view', () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue'));
Vue.component('account-tree-grid-ex-view', () => import('@pages/base/account-tree-grid-ex-view/account-tree-grid-ex-view.vue'));
Vue.component('incident-info-incident-view', () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue')); Vue.component('incident-info-incident-view', () => import('@pages/service/incident-info-incident-view/incident-info-incident-view.vue'));
Vue.component('contact-stop-grid-view', () => import('@pages/base/contact-stop-grid-view/contact-stop-grid-view.vue')); Vue.component('contact-stop-grid-view', () => import('@pages/base/contact-stop-grid-view/contact-stop-grid-view.vue'));
Vue.component('competitor-sales-literature-sal-lit-comp-edit-view', () => import('@pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view.vue')); Vue.component('competitor-sales-literature-sal-lit-comp-edit-view', () => import('@pages/sales/competitor-sales-literature-sal-lit-comp-edit-view/competitor-sales-literature-sal-lit-comp-edit-view.vue'));
......
...@@ -4469,6 +4469,20 @@ const router = new Router({ ...@@ -4469,6 +4469,20 @@ const router = new Router({
}, },
component: () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue'), component: () => import('@pages/sales/opportunity-competitor-edit-view/opportunity-competitor-edit-view.vue'),
}, },
{
path: 'accounts/:account?/treegridexview/:treegridexview?',
meta: {
caption: 'entities.account.views.treegridexview.title',
info:'',
parameters: [
{ pathName: 'central', parameterName: 'central' },
{ pathName: 'accounts', parameterName: 'account' },
{ pathName: 'treegridexview', parameterName: 'treegridexview' },
],
requireAuth: true,
},
component: () => import('@pages/base/account-tree-grid-ex-view/account-tree-grid-ex-view.vue'),
},
{ {
path: 'incidents/:incident?/info_incidentview/:info_incidentview?', path: 'incidents/:incident?/info_incidentview/:info_incidentview?',
meta: { meta: {
......
...@@ -331,7 +331,7 @@ export const viewstate: any = { ...@@ -331,7 +331,7 @@ export const viewstate: any = {
viewaction: '', viewaction: '',
viewdatachange: false, viewdatachange: false,
refviews: [ refviews: [
'5c7e90ccfaeb49b5bd84ae6c17b479e3', '8199e26c05058f9a505c39d85fcf1d46',
'6d920bddee09ffdf2e18a0701ab9e9e7', '6d920bddee09ffdf2e18a0701ab9e9e7',
'9433b49c4e43a15dfc8bbd91bdd4c27f', '9433b49c4e43a15dfc8bbd91bdd4c27f',
], ],
...@@ -1092,6 +1092,16 @@ export const viewstate: any = { ...@@ -1092,6 +1092,16 @@ export const viewstate: any = {
refviews: [ refviews: [
], ],
}, },
{
viewtag: '8199e26c05058f9a505c39d85fcf1d46',
viewmodule: 'Base',
viewname: 'AccountTreeGridExView',
viewaction: '',
viewdatachange: false,
refviews: [
'6e18ac74e5685439110f9b4e534ee005',
],
},
{ {
viewtag: '8206069d9567cbc0a06e441869343819', viewtag: '8206069d9567cbc0a06e441869343819',
viewmodule: 'Marketing', viewmodule: 'Marketing',
......
...@@ -93,6 +93,7 @@ export default class AccountUIServiceBase extends UIService { ...@@ -93,6 +93,7 @@ export default class AccountUIServiceBase extends UIService {
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'accounts'}); this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'innerpickupgridview',srfappde:'accounts'}); this.allViewMap.set(':',{viewname:'innerpickupgridview',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'info_introduction',srfappde:'accounts'}); this.allViewMap.set(':',{viewname:'info_introduction',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'treegridexview',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'edit_introduction',srfappde:'accounts'}); this.allViewMap.set(':',{viewname:'edit_introduction',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'info_address',srfappde:'accounts'}); this.allViewMap.set(':',{viewname:'info_address',srfappde:'accounts'});
this.allViewMap.set(':',{viewname:'stopgridview',srfappde:'accounts'}); this.allViewMap.set(':',{viewname:'stopgridview',srfappde:'accounts'});
......
/**
* Gradation 部件模型
*
* @export
* @class GradationModel
*/
export default class GradationModel {
/**
* 日历项类型
*
* @returns {any[]}
* @memberof GradationTreegridexMode
*/
public itemType: string = "";
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof GradationTreegridexMode
*/
public getDataItems(): any[] {
let dataItems: any = [
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'style',
},
{
name: 'textColor',
},
{
name: 'itemType',
},
{
name: 'parentId'
},
{
name: 'query',
prop: 'query',
},
];
switch(this.itemType){
case "RootAccount":
dataItems = [...dataItems,
{
name: 'id',
prop: 'accountid'
},
];
break;
case "ChildAccount":
dataItems = [...dataItems,
{
name: 'id',
prop: 'accountid'
},
];
break;
}
return dataItems;
}
}
\ No newline at end of file
<el-table ref="treegridex"
:data="items"
row-key="id"
border
lazy
height="100%"
:row-class-name="setRowClass"
:load="loadTreeNode.bind(_self)"
:tree-props="{ children: 'children', hasChildren: 'leaf' }"
:select-on-indeterminate="isSingleSelect"
@current-change="select.apply(_self, arguments)"
>
</el-table>
\ No newline at end of file
<template src="./gradation-treegridex.html"/>
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { GradationTreegridexBase } from './gradation-treegridex-base';
/**
* treegridex部件
*
* @export
* @class GradationTreegridex
* @extends {GradationTreegridexBase}
*/
@Component({
components: {
}
})
@VueLifeCycleProcessing()
export default class GradationTreegridex extends GradationTreegridexBase { }
</script>
<div class='tabviewpanel' v-if='isActivied'> <div class='tabviewpanel' v-if='isActivied'>
<account-grid-view <account-tree-grid-ex-view
class='viewcontainer2' class='viewcontainer2'
:viewdata="viewdata" :viewdata="viewdata"
:viewparam="viewparam" :viewparam="viewparam"
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册