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

Mosher 发布系统代码 [后台服务,演示应用]

上级 43520a61
......@@ -197,6 +197,8 @@ export default {
menuitem82: "远程聚合",
menuitem83: "列表",
menuitem84: "列表内置功能",
menuitem85: "列表自动分组",
menuitem86: "代码表分组",
menuitem14: "树视图",
menuitem60: "静态节点",
menuitem61: "动态节点(代码表)",
......
......@@ -197,6 +197,8 @@ export default {
menuitem82: "远程聚合",
menuitem83: "列表",
menuitem84: "列表内置功能",
menuitem85: "列表自动分组",
menuitem86: "代码表分组",
menuitem14: "树视图",
menuitem60: "静态节点",
menuitem61: "动态节点(代码表)",
......
......@@ -213,12 +213,9 @@ export default {
uiactions: {
},
},
lnternalfunclist_list: {
groupbycodelistlist_list: {
nodata:"",
uiactions: {
new: "New",
edit: "Edit",
remove: "Remove",
},
},
list_list: {
......@@ -226,9 +223,12 @@ export default {
uiactions: {
},
},
groupbycodelistlist_list: {
lnternalfunclist_list: {
nodata:"",
uiactions: {
new: "New",
edit: "Edit",
remove: "Remove",
},
},
dataview_dataview: {
......@@ -330,6 +330,8 @@ export default {
},
usr4gridviewtoolbar_toolbar: {
},
groupbycodelistlistviewtoolbar_toolbar: {
},
newdefaultvaluegridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
......@@ -396,6 +398,8 @@ export default {
tip: "数据导入",
},
},
autogrouplistviewtoolbar_toolbar: {
},
updatedefaultgridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
......@@ -630,10 +634,6 @@ export default {
},
usr3gridviewtoolbar_toolbar: {
},
autogrouplistviewtoolbar_toolbar: {
},
dataviewtoolbar_toolbar: {
},
groupbycodelistlistviewtoolbar_toolbar: {
},
};
\ No newline at end of file
......@@ -212,12 +212,9 @@ export default {
uiactions: {
},
},
lnternalfunclist_list: {
groupbycodelistlist_list: {
nodata:"",
uiactions: {
new: "新建",
edit: "编辑",
remove: "批量删除",
},
},
list_list: {
......@@ -225,9 +222,12 @@ export default {
uiactions: {
},
},
groupbycodelistlist_list: {
lnternalfunclist_list: {
nodata:"",
uiactions: {
new: "新建",
edit: "编辑",
remove: "批量删除",
},
},
dataview_dataview: {
......@@ -329,6 +329,8 @@ export default {
},
usr4gridviewtoolbar_toolbar: {
},
groupbycodelistlistviewtoolbar_toolbar: {
},
newdefaultvaluegridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
......@@ -395,6 +397,8 @@ export default {
tip: "数据导入",
},
},
autogrouplistviewtoolbar_toolbar: {
},
updatedefaultgridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
......@@ -629,10 +633,6 @@ export default {
},
usr3gridviewtoolbar_toolbar: {
},
autogrouplistviewtoolbar_toolbar: {
},
dataviewtoolbar_toolbar: {
},
groupbycodelistlistviewtoolbar_toolbar: {
},
};
\ No newline at end of file
......@@ -627,6 +627,42 @@ mock.onGet('v7/main-menuappmenu').reply((config: any) => {
textcls: '',
appfunctag: 'AppFunc11',
resourcetag: '',
},
{
id: '9B66B71B-5CD9-4EA5-9558-9202918B9ED7',
name: 'menuitem85',
text: '列表自动分组',
type: 'MENUITEM',
counterid: '',
tooltip: '列表自动分组',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: 'AppFunc12',
resourcetag: '',
},
{
id: '89B74788-65AF-4B98-8E75-2343653D1DA2',
name: 'menuitem86',
text: '代码表分组',
type: 'MENUITEM',
counterid: '',
tooltip: '代码表分组',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: 'AppFunc13',
resourcetag: '',
},
],
},
......
.ibizbookauto-group-list-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import IBIZBOOKAutoGroupListViewBase from './ibizbookauto-group-list-view-base.vue';
import view_list from '@widgets/ibizbook/list-list/list-list.vue';
import view_searchform from '@widgets/ibizbook/default-searchform/default-searchform.vue';
@Component({
components: {
view_list,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class IBIZBOOKAutoGroupListView extends IBIZBOOKAutoGroupListViewBase {
}
</script>
\ No newline at end of file
.ibizbookgroup-by-codelist-list-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import IBIZBOOKGroupByCodelistListViewBase from './ibizbookgroup-by-codelist-list-view-base.vue';
import view_list from '@widgets/ibizbook/group-by-codelist-list-list/group-by-codelist-list-list.vue';
import view_searchform from '@widgets/ibizbook/default-searchform/default-searchform.vue';
@Component({
components: {
view_list,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class IBIZBOOKGroupByCodelistListView extends IBIZBOOKGroupByCodelistListViewBase {
}
</script>
\ No newline at end of file
......@@ -21,8 +21,8 @@ export const PageComponents = {
Vue.component('ibizuniproduct-pickup-grid-view', () => import('@pages/sample/ibizuniproduct-pickup-grid-view/ibizuniproduct-pickup-grid-view.vue'));
Vue.component('ibizorder-odsp-wfexp-view', () => import('@pages/sample/ibizorder-odsp-wfexp-view/ibizorder-odsp-wfexp-view.vue'));
Vue.component('ibizorder-detail-sgrid-view', () => import('@pages/sample/ibizorder-detail-sgrid-view/ibizorder-detail-sgrid-view.vue'));
Vue.component('ibizorder-pickup-view', () => import('@pages/sample/ibizorder-pickup-view/ibizorder-pickup-view.vue'));
Vue.component('ibizsoftware-suit-edit-view', () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'));
Vue.component('ibizorder-pickup-view', () => import('@pages/sample/ibizorder-pickup-view/ibizorder-pickup-view.vue'));
Vue.component('ibizorder-sf4-grid-view', () => import('@pages/sample/ibizorder-sf4-grid-view/ibizorder-sf4-grid-view.vue'));
Vue.component('ibizsample0003-grid-view', () => import('@pages/sample/ibizsample0003-grid-view/ibizsample0003-grid-view.vue'));
Vue.component('ibizsample0003-sf4-edit-view', () => import('@pages/sample/ibizsample0003-sf4-edit-view/ibizsample0003-sf4-edit-view.vue'));
......@@ -50,8 +50,8 @@ export const PageComponents = {
Vue.component('ibizorder-edit-view', () => import('@pages/sample/ibizorder-edit-view/ibizorder-edit-view.vue'));
Vue.component('ibizorder-odsp-d-wfgrid-view', () => import('@pages/sample/ibizorder-odsp-d-wfgrid-view/ibizorder-odsp-d-wfgrid-view.vue'));
Vue.component('ibizorder-detail-grid-view', () => import('@pages/sample/ibizorder-detail-grid-view/ibizorder-detail-grid-view.vue'));
Vue.component('ibizorder-s2-edit-view', () => import('@pages/sample/ibizorder-s2-edit-view/ibizorder-s2-edit-view.vue'));
Vue.component('ibizorder-sf2-edit-view', () => import('@pages/sample/ibizorder-sf2-edit-view/ibizorder-sf2-edit-view.vue'));
Vue.component('ibizorder-s2-edit-view', () => import('@pages/sample/ibizorder-s2-edit-view/ibizorder-s2-edit-view.vue'));
Vue.component('ibizorder-sf4-edit-view', () => import('@pages/sample/ibizorder-sf4-edit-view/ibizorder-sf4-edit-view.vue'));
Vue.component('ibizorder-sf1-edit-view', () => import('@pages/sample/ibizorder-sf1-edit-view/ibizorder-sf1-edit-view.vue'));
Vue.component('ibizsample0013-pickup-view', () => import('@pages/sample/ibizsample0013-pickup-view/ibizsample0013-pickup-view.vue'));
......@@ -114,10 +114,12 @@ export const PageComponents = {
Vue.component('ibizorder-sf7-edit-view', () => import('@pages/sample/ibizorder-sf7-edit-view/ibizorder-sf7-edit-view.vue'));
Vue.component('ibizbookedit-view', () => import('@pages/sample/ibizbookedit-view/ibizbookedit-view.vue'));
Vue.component('ibizsample0001-sf5-edit-view', () => import('@pages/sample/ibizsample0001-sf5-edit-view/ibizsample0001-sf5-edit-view.vue'));
Vue.component('ibizbookgroup-by-codelist-list-view', () => import('@pages/sample/ibizbookgroup-by-codelist-list-view/ibizbookgroup-by-codelist-list-view.vue'));
Vue.component('ibizorder-radar-chart-view', () => import('@pages/sample/ibizorder-radar-chart-view/ibizorder-radar-chart-view.vue'));
Vue.component('ibizbookupdate-default-grid-view', () => import('@pages/sample/ibizbookupdate-default-grid-view/ibizbookupdate-default-grid-view.vue'));
Vue.component('ibizsample0003-stab-exp-view', () => import('@pages/sample/ibizsample0003-stab-exp-view/ibizsample0003-stab-exp-view.vue'));
Vue.component('ibizsample0017-pickup-grid-view', () => import('@pages/sample/ibizsample0017-pickup-grid-view/ibizsample0017-pickup-grid-view.vue'));
Vue.component('ibizbookauto-group-list-view', () => import('@pages/sample/ibizbookauto-group-list-view/ibizbookauto-group-list-view.vue'));
Vue.component('ibizsample0013-pickup-grid-view', () => import('@pages/sample/ibizsample0013-pickup-grid-view/ibizsample0013-pickup-grid-view.vue'));
Vue.component('ibizsample0003-sf5-edit-view', () => import('@pages/sample/ibizsample0003-sf5-edit-view/ibizsample0003-sf5-edit-view.vue'));
Vue.component('ibizuniproduct-grid-view9', () => import('@pages/sample/ibizuniproduct-grid-view9/ibizuniproduct-grid-view9.vue'));
......
......@@ -375,32 +375,32 @@ const router = new Router({
component: () => import('@pages/sample/ibizorder-detail-sgrid-view/ibizorder-detail-sgrid-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/pickupview/:pickupview?',
path: 'ibizsoftwaresuits/:ibizsoftwaresuit?/editview/:editview?',
meta: {
caption: 'entities.ibizorder.views.pickupview.caption',
caption: 'entities.ibizsoftwaresuit.views.editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
{ pathName: 'ibizsoftwaresuits', parameterName: 'ibizsoftwaresuit' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-pickup-view/ibizorder-pickup-view.vue'),
component: () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'),
},
{
path: 'ibizsoftwaresuits/:ibizsoftwaresuit?/editview/:editview?',
path: 'ibizorders/:ibizorder?/pickupview/:pickupview?',
meta: {
caption: 'entities.ibizsoftwaresuit.views.editview.caption',
caption: 'entities.ibizorder.views.pickupview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizsoftwaresuits', parameterName: 'ibizsoftwaresuit' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'),
component: () => import('@pages/sample/ibizorder-pickup-view/ibizorder-pickup-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/sf4gridview/:sf4gridview?',
......@@ -781,32 +781,32 @@ const router = new Router({
component: () => import('@pages/sample/ibizorder-detail-grid-view/ibizorder-detail-grid-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/s2editview/:s2editview?',
path: 'ibizorders/:ibizorder?/sf2editview/:sf2editview?',
meta: {
caption: 'entities.ibizorder.views.s2editview.caption',
caption: 'entities.ibizorder.views.sf2editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 's2editview', parameterName: 's2editview' },
{ pathName: 'sf2editview', parameterName: 'sf2editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-s2-edit-view/ibizorder-s2-edit-view.vue'),
component: () => import('@pages/sample/ibizorder-sf2-edit-view/ibizorder-sf2-edit-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/sf2editview/:sf2editview?',
path: 'ibizorders/:ibizorder?/s2editview/:s2editview?',
meta: {
caption: 'entities.ibizorder.views.sf2editview.caption',
caption: 'entities.ibizorder.views.s2editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizorders', parameterName: 'ibizorder' },
{ pathName: 'sf2editview', parameterName: 'sf2editview' },
{ pathName: 's2editview', parameterName: 's2editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizorder-sf2-edit-view/ibizorder-sf2-edit-view.vue'),
component: () => import('@pages/sample/ibizorder-s2-edit-view/ibizorder-s2-edit-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/sf4editview/:sf4editview?',
......@@ -1691,6 +1691,20 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizsample0001-sf5-edit-view/ibizsample0001-sf5-edit-view.vue'),
},
{
path: 'ibizbooks/:ibizbook?/groupbycodelistlistview/:groupbycodelistlistview?',
meta: {
caption: 'entities.ibizbook.views.groupbycodelistlistview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'groupbycodelistlistview', parameterName: 'groupbycodelistlistview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookgroup-by-codelist-list-view/ibizbookgroup-by-codelist-list-view.vue'),
},
{
path: 'ibizorders/:ibizorder?/radarchartview/:radarchartview?',
meta: {
......@@ -1747,6 +1761,20 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizsample0017-pickup-grid-view/ibizsample0017-pickup-grid-view.vue'),
},
{
path: 'ibizbooks/:ibizbook?/autogrouplistview/:autogrouplistview?',
meta: {
caption: 'entities.ibizbook.views.autogrouplistview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'autogrouplistview', parameterName: 'autogrouplistview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookauto-group-list-view/ibizbookauto-group-list-view.vue'),
},
{
path: 'ibizsample0013s/:ibizsample0013?/pickupgridview/:pickupgridview?',
meta: {
......@@ -2094,6 +2122,19 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizsample0003-pickup-view/ibizsample0003-pickup-view.vue'),
},
{
path: '/ibizbooks/:ibizbook?/autogrouplistview/:autogrouplistview?',
meta: {
caption: 'entities.ibizbook.views.autogrouplistview.caption',
info:'',
parameters: [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'autogrouplistview', parameterName: 'autogrouplistview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookauto-group-list-view/ibizbookauto-group-list-view.vue'),
},
{
path: '/ibizorders/:ibizorder?/f13editview/:f13editview?',
meta: {
......@@ -3370,6 +3411,19 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizuniproduct-pickup-view/ibizuniproduct-pickup-view.vue'),
},
{
path: '/ibizbooks/:ibizbook?/groupbycodelistlistview/:groupbycodelistlistview?',
meta: {
caption: 'entities.ibizbook.views.groupbycodelistlistview.caption',
info:'',
parameters: [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'groupbycodelistlistview', parameterName: 'groupbycodelistlistview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizbookgroup-by-codelist-list-view/ibizbookgroup-by-codelist-list-view.vue'),
},
{
path: '/ibizhardwares/:ibizhardware?/indexpickupdataview/:indexpickupdataview?',
meta: {
......
......@@ -197,8 +197,8 @@ export const viewstate: any = {
'94e6694a65d9cacb171b6e0b581216ba',
'8a4ccafa81445d49488874a8c7575932',
'3bbf72a3e5b59fed0dee362a9b1384a8',
'f73da4cb47a88d3fe5b92716e0137741',
'fdb8ed39fbfea00f65416b9aaebd64e7',
'f73da4cb47a88d3fe5b92716e0137741',
'b7c0a73eb248d41eb750bbf095fa5505',
'd99f9680b535dcf3ad0d0f853a8b89d9',
'dd8d7ffe00cabb07784f30f66a5b34da',
......@@ -213,12 +213,14 @@ export const viewstate: any = {
'b8ae19200ec9d4e8e588bc31e3f9bcb4',
'b1256beac1e95915b675893c61559b59',
'09663b7a4e3dce70524d1b64e02b5e2d',
'edca8ee67304eb78c02bbfb9e4cb11bb',
'491c2bc6eab0ad313d4b6f06f6a396f5',
'e53fed4d0b4dd614057f426b02115b41',
'836bdb4063978b55fedd6a180d60c323',
'e54ae8e27a53b3425ac78a229a163bd5',
'369a14f21cbff0d0fe23831aecfca7ba',
'00a0716a2029a7fe79fe03b6f74c7c90',
'2b42718d8fb3b4c9a01651222304445a',
'a894de140705ecab2f39797d2922a3ce',
'e57dd501c75c6933363fa245edcadbbd',
'ea604a66caf499c70c9002a917dd1694',
......@@ -274,6 +276,16 @@ export const viewstate: any = {
'5b01a962455b84e1830e5e2f397ff9e8',
],
},
{
viewtag: '2b42718d8fb3b4c9a01651222304445a',
viewmodule: 'Sample',
viewname: 'IBIZBOOKAutoGroupListView',
viewaction: '',
viewdatachange: false,
refviews: [
'b3429ecc4d89a02bc5f5279f1bd7f620',
],
},
{
viewtag: '2cd3a77cbd2aad4551b7a6a009419d52',
viewmodule: 'Sample',
......@@ -1239,6 +1251,16 @@ export const viewstate: any = {
'80c9ae9ed04e7107ed9fc93734a447d1',
],
},
{
viewtag: 'edca8ee67304eb78c02bbfb9e4cb11bb',
viewmodule: 'Sample',
viewname: 'IBIZBOOKGroupByCodelistListView',
viewaction: '',
viewdatachange: false,
refviews: [
'b3429ecc4d89a02bc5f5279f1bd7f620',
],
},
{
viewtag: 'ef58fa6d7d250a60a7907ed895681ea1',
viewmodule: 'Sample',
......
......@@ -611,6 +611,9 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case 'Auto243':
this.clickAuto243(item);
return;
case 'AppFunc13':
this.clickAppFunc13(item);
return;
case 'AppFunc5':
this.clickAppFunc5(item);
return;
......@@ -620,12 +623,12 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case 'Auto319':
this.clickAuto319(item);
return;
case 'AppFunc3':
this.clickAppFunc3(item);
return;
case 'Auto408':
this.clickAuto408(item);
return;
case 'AppFunc3':
this.clickAppFunc3(item);
return;
case 'Auto235':
this.clickAuto235(item);
return;
......@@ -650,6 +653,9 @@ export default class MainMenuBase extends Vue implements ControlInterface {
case 'Auto145':
this.clickAuto145(item);
return;
case 'AppFunc12':
this.clickAppFunc12(item);
return;
case 'Auto338':
this.clickAuto338(item);
return;
......@@ -1438,6 +1444,29 @@ export default class MainMenuBase extends Vue implements ControlInterface {
})
}
/**
* 图书列表(代码表分组)
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickAppFunc13(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'groupbycodelistlistview', parameterName: 'groupbycodelistlistview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 图书表格视图-更新默认值
*
......@@ -1508,18 +1537,18 @@ export default class MainMenuBase extends Vue implements ControlInterface {
}
/**
* 图书实体行编辑表格
* 单选
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickAppFunc3(item: any = {}) {
public clickAuto408(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'roweditgridview', parameterName: 'roweditgridview' },
{ pathName: 'ibizsample0003s', parameterName: 'ibizsample0003' },
{ pathName: 'sf1editview', parameterName: 'sf1editview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
......@@ -1531,18 +1560,18 @@ export default class MainMenuBase extends Vue implements ControlInterface {
}
/**
* 单选
* 图书实体行编辑表格
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickAuto408(item: any = {}) {
public clickAppFunc3(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizsample0003s', parameterName: 'ibizsample0003' },
{ pathName: 'sf1editview', parameterName: 'sf1editview' },
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'roweditgridview', parameterName: 'roweditgridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
......@@ -1737,6 +1766,29 @@ export default class MainMenuBase extends Vue implements ControlInterface {
})
}
/**
* 图书列表(自动分组)
*
* @param {*} [item={}]
* @memberof MainMenu
*/
public clickAppFunc12(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizbooks', parameterName: 'ibizbook' },
{ pathName: 'autogrouplistview', parameterName: 'autogrouplistview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.fullPath,path)){
return;
}
this.$nextTick(function(){
this.$router.push(path);
})
}
/**
* 属性类型
*
......
......@@ -665,6 +665,44 @@ export default class MainMenuModel {
appfunctag: 'AppFunc11',
resourcetag: '',
authtag:'Web-MainMenu-menuitem84',
},
{
id: '9B66B71B-5CD9-4EA5-9558-9202918B9ED7',
name: 'menuitem85',
text: '列表自动分组',
type: 'MENUITEM',
counterid: '',
tooltip: '列表自动分组',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: 'AppFunc12',
resourcetag: '',
authtag:'Web-MainMenu-menuitem85',
},
{
id: '89B74788-65AF-4B98-8E75-2343653D1DA2',
name: 'menuitem86',
text: '代码表分组',
type: 'MENUITEM',
counterid: '',
tooltip: '代码表分组',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: '',
icon: '',
textcls: '',
appfunctag: 'AppFunc13',
resourcetag: '',
authtag:'Web-MainMenu-menuitem86',
},
],
},
......
/**
* GroupByCodelistList 部件模型
*
* @export
* @class GroupByCodelistListModel
*/
export default class GroupByCodelistListModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof GroupByCodelistListListMode
*/
public getDataItems(): any[] {
return [
{
name: 'type',
},
{
name: 'booknumber',
},
{
name: 'author',
},
{
name: 'price',
},
{
name: 'ibizbookname',
},
{
name: 'press',
},
{
name: 'ibizbookid',
},
{
name: 'srfkey',
prop: 'ibizbookid',
dataType: 'GUID',
},
{
name: 'srfmajortext',
prop: 'ibizbookname',
dataType: 'TEXT',
},
{
name: 'ibizbook',
prop: 'ibizbookid',
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 IBIZBOOKService from '@/service/ibizbook/ibizbook-service';
import GroupByCodelistListModel from './group-by-codelist-list-list-model';
/**
* GroupByCodelistList 部件服务对象
*
* @export
* @class GroupByCodelistListService
*/
export default class GroupByCodelistListService extends ControlService {
/**
* 图书服务对象
*
* @type {IBIZBOOKService}
* @memberof GroupByCodelistListService
*/
public appEntityService: IBIZBOOKService = new IBIZBOOKService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof GroupByCodelistListService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of GroupByCodelistListService.
*
* @param {*} [opts={}]
* @memberof GroupByCodelistListService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new GroupByCodelistListModel();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GroupByCodelistListService
*/
@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 GroupByCodelistListService
*/
@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);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GroupByCodelistListService
*/
@Errorlog
public add(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.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof GroupByCodelistListService
*/
@Errorlog
public update(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.Update(Context,Data,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
}
\ No newline at end of file
// this is less
.app-list {
height:100%;
flex-grow: 1;
overflow-y: auto;
.el-collapse-item__header.is-active{
color: #409eff;
background-color: #ecf5ff;
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
}
.app-list-item.isSelect {
background: #ecf5ff;
border-left: 5px solid #2d8cf0;
box-shadow: 0px 0px 3px 1px #82bff7;
}
.app-list-item:hover {
background: #ecf5ff;
}
.loadmore {
text-align: center;
padding: 10px;
text-decoration: underline;
color: #82bff7;
cursor: default;
}
}
.app-list-empty {
height:100%;
color: #909399;
display: flex;
justify-content: center;
align-items: center;
}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import GroupByCodelistListBase from './group-by-codelist-list-list-base.vue';
@Component({
components: {
}
})
export default class GroupByCodelistList extends GroupByCodelistListBase {
}
</script>
\ No newline at end of file
/**
* List 部件模型
*
* @export
* @class ListModel
*/
export default class ListModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof ListListMode
*/
public getDataItems(): any[] {
return [
{
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 IBIZBOOKService from '@/service/ibizbook/ibizbook-service';
import ListModel from './list-list-model';
/**
* List 部件服务对象
*
* @export
* @class ListService
*/
export default class ListService extends ControlService {
/**
* 图书服务对象
*
* @type {IBIZBOOKService}
* @memberof ListService
*/
public appEntityService: IBIZBOOKService = new IBIZBOOKService({ $store: this.getStore() });
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof ListService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of ListService.
*
* @param {*} [opts={}]
* @memberof ListService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new ListModel();
}
/**
* 查询数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListService
*/
@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 ListService
*/
@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);
});
});
}
/**
* 添加数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListService
*/
@Errorlog
public add(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.Create(Context,Data, isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
/**
* 修改数据
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ListService
*/
@Errorlog
public update(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.Update(Context,Data,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
}
\ No newline at end of file
// this is less
.app-list {
height:100%;
flex-grow: 1;
overflow-y: auto;
.el-collapse-item__header.is-active{
color: #409eff;
background-color: #ecf5ff;
}
.app-list-item {
line-height: 34px;
border-radius:5px;
padding: 6px;
margin: 6px;
box-shadow: 0px 0px 2px 1px rgb(209, 208, 208);
background: #f7f7fa;
min-height: 24px;
display: flex;
justify-content: space-between;
align-items: center;
}
.app-list-item.isSelect {
background: #ecf5ff;
border-left: 5px solid #2d8cf0;
box-shadow: 0px 0px 3px 1px #82bff7;
}
.app-list-item:hover {
background: #ecf5ff;
}
.loadmore {
text-align: center;
padding: 10px;
text-decoration: underline;
color: #82bff7;
cursor: default;
}
}
.app-list-empty {
height:100%;
color: #909399;
display: flex;
justify-content: center;
align-items: center;
}
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import ListBase from './list-list-base.vue';
@Component({
components: {
}
})
export default class List extends ListBase {
}
</script>
\ No newline at end of file
......@@ -302,7 +302,7 @@
{
"appid":"Web",
"appname":"演示应用",
"appmenu":[{"menuid":"MainMenu", "menuname":"MainMenu", "menuitem":[{ "id":"menuitem1" , "name":"工作台" },{ "id":"menuitem3" , "name":"控件" , "items":[{ "id":"menuitem6" , "name":"默认数据类型" },{ "id":"menuitem7" , "name":"默认编辑器类型" },{ "id":"menuitem15" , "name":"基础表单项" },{ "id":"menuitem72" , "name":"编辑器扩展" }]},{ "id":"menuitem4" , "name":"部件" , "items":[{ "id":"menuitem12" , "name":"编辑表单" , "items":[{ "id":"menuitem47" , "name":"默认值" },{ "id":"menuitem48" , "name":"输入提示" },{ "id":"menuitem49" , "name":"辅助输入" },{ "id":"menuitem50" , "name":"自动填充" },{ "id":"menuitem51" , "name":"超链接" },{ "id":"menuitem52" , "name":"值重置" },{ "id":"menuitem55" , "name":"动态显示" },{ "id":"menuitem53" , "name":"动态启用" },{ "id":"menuitem54" , "name":"动态空输入" },{ "id":"menuitem56" , "name":"表单项更新" }]},{ "id":"menuitem16" , "name":"搜索表单" },{ "id":"menuitem13" , "name":"表格" , "items":[{ "id":"menuitem57" , "name":"禁用排序" },{ "id":"menuitem59" , "name":"行操作" },{ "id":"menuitem58" , "name":"行编辑" },{ "id":"menuitem73" , "name":"表格内置功能" },{ "id":"menuitem74" , "name":"表格行编辑" },{ "id":"menuitem75" , "name":"新建默认值" },{ "id":"menuitem76" , "name":"更新默认值" },{ "id":"menuitem77" , "name":"表格值规则" },{ "id":"menuitem78" , "name":"自动分组" },{ "id":"menuitem80" , "name":"代码表分组" },{ "id":"menuitem81" , "name":"当前页聚合" },{ "id":"menuitem82" , "name":"远程聚合" }]},{ "id":"menuitem83" , "name":"列表" , "items":[{ "id":"menuitem84" , "name":"列表内置功能" }]},{ "id":"menuitem14" , "name":"树视图" , "items":[{ "id":"menuitem60" , "name":"静态节点" },{ "id":"menuitem61" , "name":"动态节点(代码表)" },{ "id":"menuitem62" , "name":"动态节点(实体)" },{ "id":"menuitem63" , "name":"右键操作" },{ "id":"menuitem64" , "name":"动态参数过滤" }]},{ "id":"menuitem37" , "name":"图表" , "items":[{ "id":"menuitem38" , "name":"柱状图" },{ "id":"menuitem39" , "name":"折线图" },{ "id":"menuitem40" , "name":"饼图" },{ "id":"menuitem41" , "name":"区域图" },{ "id":"menuitem42" , "name":"雷达图" },{ "id":"menuitem43" , "name":"仪表盘" },{ "id":"menuitem44" , "name":"K线图" }]},{ "id":"menuitem17" , "name":"向导" },{ "id":"menuitem18" , "name":"界面行为" , "items":[{ "id":"menuitem65" , "name":"前端界面行为" },{ "id":"menuitem66" , "name":"后台界面行为" }]}]},{ "id":"menuitem5" , "name":"视图" , "items":[{ "id":"menuitem9" , "name":"列表视图" , "items":[{ "id":"menuitem19" , "name":"常规表格视图" },{ "id":"menuitem21" , "name":"左右表格视图" },{ "id":"menuitem20" , "name":"嵌入表格视图" }]},{ "id":"menuitem8" , "name":"编辑视图" , "items":[{ "id":"menuitem22" , "name":"常规编辑视图" },{ "id":"menuitem23" , "name":"左右编辑视图" },{ "id":"menuitem24" , "name":"分页编辑视图" },{ "id":"menuitem25" , "name":"嵌入编辑视图" }]},{ "id":"menuitem26" , "name":"选择视图" , "items":[{ "id":"menuitem27" , "name":"单选视图" },{ "id":"menuitem28" , "name":"多选视图" },{ "id":"menuitem29" , "name":"树形选择视图" },{ "id":"menuitem30" , "name":"左右单选视图" },{ "id":"menuitem31" , "name":"左右多选视图" }]},{ "id":"menuitem10" , "name":"导航视图" , "items":[{ "id":"menuitem32" , "name":"常规导航视图" },{ "id":"menuitem33" , "name":"分页导航视图" },{ "id":"menuitem34" , "name":"嵌入导航视图" }]},{ "id":"menuitem11" , "name":"其他视图" , "items":[{ "id":"menuitem35" , "name":"图表视图" },{ "id":"menuitem36" , "name":"报表视图" }]},{ "id":"menuitem79" , "name":"表格视图" }]},{ "id":"menuitem69" , "name":"工作流" },{ "id":"menuitem2" , "name":"更多" , "items":[{ "id":"menuitem46" , "name":"数据导出导入" },{ "id":"menuitem45" , "name":"数据打印" },{ "id":"menuitem67" , "name":"索引实体" },{ "id":"menuitem68" , "name":"继承实体" },{ "id":"menuitem70" , "name":"主状态" },{ "id":"menuitem71" , "name":"多表单" }]}] }]
"appmenu":[{"menuid":"MainMenu", "menuname":"MainMenu", "menuitem":[{ "id":"menuitem1" , "name":"工作台" },{ "id":"menuitem3" , "name":"控件" , "items":[{ "id":"menuitem6" , "name":"默认数据类型" },{ "id":"menuitem7" , "name":"默认编辑器类型" },{ "id":"menuitem15" , "name":"基础表单项" },{ "id":"menuitem72" , "name":"编辑器扩展" }]},{ "id":"menuitem4" , "name":"部件" , "items":[{ "id":"menuitem12" , "name":"编辑表单" , "items":[{ "id":"menuitem47" , "name":"默认值" },{ "id":"menuitem48" , "name":"输入提示" },{ "id":"menuitem49" , "name":"辅助输入" },{ "id":"menuitem50" , "name":"自动填充" },{ "id":"menuitem51" , "name":"超链接" },{ "id":"menuitem52" , "name":"值重置" },{ "id":"menuitem55" , "name":"动态显示" },{ "id":"menuitem53" , "name":"动态启用" },{ "id":"menuitem54" , "name":"动态空输入" },{ "id":"menuitem56" , "name":"表单项更新" }]},{ "id":"menuitem16" , "name":"搜索表单" },{ "id":"menuitem13" , "name":"表格" , "items":[{ "id":"menuitem57" , "name":"禁用排序" },{ "id":"menuitem59" , "name":"行操作" },{ "id":"menuitem58" , "name":"行编辑" },{ "id":"menuitem73" , "name":"表格内置功能" },{ "id":"menuitem74" , "name":"表格行编辑" },{ "id":"menuitem75" , "name":"新建默认值" },{ "id":"menuitem76" , "name":"更新默认值" },{ "id":"menuitem77" , "name":"表格值规则" },{ "id":"menuitem78" , "name":"自动分组" },{ "id":"menuitem80" , "name":"代码表分组" },{ "id":"menuitem81" , "name":"当前页聚合" },{ "id":"menuitem82" , "name":"远程聚合" }]},{ "id":"menuitem83" , "name":"列表" , "items":[{ "id":"menuitem84" , "name":"列表内置功能" },{ "id":"menuitem85" , "name":"列表自动分组" },{ "id":"menuitem86" , "name":"代码表分组" }]},{ "id":"menuitem14" , "name":"树视图" , "items":[{ "id":"menuitem60" , "name":"静态节点" },{ "id":"menuitem61" , "name":"动态节点(代码表)" },{ "id":"menuitem62" , "name":"动态节点(实体)" },{ "id":"menuitem63" , "name":"右键操作" },{ "id":"menuitem64" , "name":"动态参数过滤" }]},{ "id":"menuitem37" , "name":"图表" , "items":[{ "id":"menuitem38" , "name":"柱状图" },{ "id":"menuitem39" , "name":"折线图" },{ "id":"menuitem40" , "name":"饼图" },{ "id":"menuitem41" , "name":"区域图" },{ "id":"menuitem42" , "name":"雷达图" },{ "id":"menuitem43" , "name":"仪表盘" },{ "id":"menuitem44" , "name":"K线图" }]},{ "id":"menuitem17" , "name":"向导" },{ "id":"menuitem18" , "name":"界面行为" , "items":[{ "id":"menuitem65" , "name":"前端界面行为" },{ "id":"menuitem66" , "name":"后台界面行为" }]}]},{ "id":"menuitem5" , "name":"视图" , "items":[{ "id":"menuitem9" , "name":"列表视图" , "items":[{ "id":"menuitem19" , "name":"常规表格视图" },{ "id":"menuitem21" , "name":"左右表格视图" },{ "id":"menuitem20" , "name":"嵌入表格视图" }]},{ "id":"menuitem8" , "name":"编辑视图" , "items":[{ "id":"menuitem22" , "name":"常规编辑视图" },{ "id":"menuitem23" , "name":"左右编辑视图" },{ "id":"menuitem24" , "name":"分页编辑视图" },{ "id":"menuitem25" , "name":"嵌入编辑视图" }]},{ "id":"menuitem26" , "name":"选择视图" , "items":[{ "id":"menuitem27" , "name":"单选视图" },{ "id":"menuitem28" , "name":"多选视图" },{ "id":"menuitem29" , "name":"树形选择视图" },{ "id":"menuitem30" , "name":"左右单选视图" },{ "id":"menuitem31" , "name":"左右多选视图" }]},{ "id":"menuitem10" , "name":"导航视图" , "items":[{ "id":"menuitem32" , "name":"常规导航视图" },{ "id":"menuitem33" , "name":"分页导航视图" },{ "id":"menuitem34" , "name":"嵌入导航视图" }]},{ "id":"menuitem11" , "name":"其他视图" , "items":[{ "id":"menuitem35" , "name":"图表视图" },{ "id":"menuitem36" , "name":"报表视图" }]},{ "id":"menuitem79" , "name":"表格视图" }]},{ "id":"menuitem69" , "name":"工作流" },{ "id":"menuitem2" , "name":"更多" , "items":[{ "id":"menuitem46" , "name":"数据导出导入" },{ "id":"menuitem45" , "name":"数据打印" },{ "id":"menuitem67" , "name":"索引实体" },{ "id":"menuitem68" , "name":"继承实体" },{ "id":"menuitem70" , "name":"主状态" },{ "id":"menuitem71" , "name":"多表单" }]}] }]
}
]
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册