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

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

上级 d79e4389
......@@ -2231,6 +2231,14 @@
"viewname": "IBIZOrderState10EditView2",
"viewtag": "d827fd85e8d9be1bb9348765c09cd465"
},
"ibizbookusrpickupview_plugin": {
"title": "选择视图插件(vue3)",
"caption": "选择视图插件(vue3)",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sample",
"viewname": "IBIZBOOKUsrPickupView_plugin",
"viewtag": "D8DC4CF2-3FDF-4FF3-8914-2AEC6063C86F"
},
"ibizsample0017editview": {
"title": "订单编辑视图",
"caption": "订单",
......
......@@ -332,6 +332,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("表格更新默认值",null),
title: commonLogic.appcommonhandle("表格更新默认值",null),
},
usrpickupview_plugin: {
caption: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
title: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
},
listview: {
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("图书列表视图(内置功能)",null),
......@@ -671,6 +675,7 @@ function getLocaleResourceBase(){
alertmessage: commonLogic.appcommonhandle("弹出消息",null),
grouppanel1: commonLogic.appcommonhandle("界面行为",null),
grouppanel2: commonLogic.appcommonhandle("表单项",null),
grouppanel3: commonLogic.appcommonhandle("选择视图",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
......@@ -682,6 +687,7 @@ function getLocaleResourceBase(){
srfsourcekey: commonLogic.appcommonhandle("",null),
formitem: commonLogic.appcommonhandle("",null),
formitem2: commonLogic.appcommonhandle("",null),
formitem1: commonLogic.appcommonhandle("按钮左对齐",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
......@@ -2256,6 +2262,22 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usrlistview_pluginlist_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
},
usrlistview_pluginlist_batchtoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
},
usr4listview_layouttoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("新建",null),
......
......@@ -332,6 +332,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("Update Default",null),
title: commonLogic.appcommonhandle("表格更新默认值",null),
},
usrpickupview_plugin: {
caption: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
title: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
},
listview: {
caption: commonLogic.appcommonhandle("Built In Features",null),
title: commonLogic.appcommonhandle("图书列表视图(内置功能)",null),
......@@ -671,6 +675,7 @@ function getLocaleResourceBase(){
alertmessage: commonLogic.appcommonhandle("弹出消息",null),
grouppanel1: commonLogic.appcommonhandle("界面行为",null),
grouppanel2: commonLogic.appcommonhandle("表单项",null),
grouppanel3: commonLogic.appcommonhandle("选择视图",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
......@@ -682,6 +687,7 @@ function getLocaleResourceBase(){
srfsourcekey: commonLogic.appcommonhandle("",null),
formitem: commonLogic.appcommonhandle("",null),
formitem2: commonLogic.appcommonhandle("",null),
formitem1: commonLogic.appcommonhandle("按钮左对齐",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
......@@ -2256,6 +2262,22 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usrlistview_pluginlist_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("New",null),
tip: commonLogic.appcommonhandle("New",null),
},
},
usrlistview_pluginlist_batchtoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("Edit",null),
tip: commonLogic.appcommonhandle("Edit {0}",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("Remove",null),
tip: commonLogic.appcommonhandle("Remove {0}",null),
},
},
usr4listview_layouttoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("New",null),
......
......@@ -332,6 +332,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("表格更新默认值",null),
title: commonLogic.appcommonhandle("表格更新默认值",null),
},
usrpickupview_plugin: {
caption: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
title: commonLogic.appcommonhandle("选择视图插件(vue3)",null),
},
listview: {
caption: commonLogic.appcommonhandle("图书",null),
title: commonLogic.appcommonhandle("图书列表视图(内置功能)",null),
......@@ -671,6 +675,7 @@ function getLocaleResourceBase(){
alertmessage: commonLogic.appcommonhandle("弹出消息",null),
grouppanel1: commonLogic.appcommonhandle("界面行为",null),
grouppanel2: commonLogic.appcommonhandle("表单项",null),
grouppanel3: commonLogic.appcommonhandle("选择视图",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
srfupdatedate: commonLogic.appcommonhandle("更新时间",null),
srforikey: commonLogic.appcommonhandle("",null),
......@@ -682,6 +687,7 @@ function getLocaleResourceBase(){
srfsourcekey: commonLogic.appcommonhandle("",null),
formitem: commonLogic.appcommonhandle("",null),
formitem2: commonLogic.appcommonhandle("",null),
formitem1: commonLogic.appcommonhandle("按钮左对齐",null),
ibizbookid: commonLogic.appcommonhandle("图书标识",null),
},
uiactions: {
......@@ -2256,6 +2262,22 @@ function getLocaleResourceBase(){
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
},
usrlistview_pluginlist_quicktoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
},
usrlistview_pluginlist_batchtoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
deuiaction2: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
},
usr4listview_layouttoolbar_toolbar: {
deuiaction1: {
caption: commonLogic.appcommonhandle("新建",null),
......
......@@ -2239,6 +2239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "IBIZOrderState10EditView2",
"viewtag": "d827fd85e8d9be1bb9348765c09cd465"
},
"ibizbookusrpickupview_plugin": {
"title": "选择视图插件(vue3)",
"caption": "选择视图插件(vue3)",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sample",
"viewname": "IBIZBOOKUsrPickupView_plugin",
"viewtag": "D8DC4CF2-3FDF-4FF3-8914-2AEC6063C86F"
},
"ibizsample0017editview": {
"title": "订单编辑视图",
"caption": "订单",
......
......@@ -3,7 +3,7 @@ import { Component } from 'vue-property-decorator';
import IBIZBOOKUsrListView_pluginBase from './ibizbookusr-list-view-plugin-base.vue';
import view_searchform from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';
import view_list from '@widgets/ibizbook/auto-group-list-list/auto-group-list-list.vue';
import view_list from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';
// 基于 @VIEW/实体列表视图/VIEW.vue.ftl 生成
@Component({
......
......@@ -2688,6 +2688,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'2dd50b1b88cf8062b625ee8b0b4fa9d7',
],
},
{
......
......@@ -173,6 +173,7 @@ export default class IBIZBOOKUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'calendarview',viewType:'DECALENDARVIEW',srfappde:'ibizbooks',component:'ibizbookcalendar-view'});
this.allViewMap.set(':',{viewname:'usrlistview_plugin',viewType:'DELISTVIEW',srfappde:'ibizbooks',component:'ibizbookusr-list-view-plugin'});
this.allViewMap.set(':',{viewname:'updatedefaultgridview',viewType:'DEGRIDVIEW',srfappde:'ibizbooks',component:'ibizbookupdate-default-grid-view'});
this.allViewMap.set(':',{viewname:'usrpickupview_plugin',viewType:'DEPICKUPVIEW',srfappde:'ibizbooks',component:'ibizbookusr-pickup-view-plugin'});
this.allViewMap.set(':',{viewname:'listview',viewType:'DELISTVIEW',srfappde:'ibizbooks',component:'ibizbooklist-view'});
this.allViewMap.set(':',{viewname:'ruleseditview',viewType:'DEEDITVIEW',srfappde:'ibizbooks',component:'ibizbookrules-edit-view'});
this.allViewMap.set(':',{viewname:'usr2editview',viewType:'DEEDITVIEW',srfappde:'ibizbooks',component:'ibizbookusr2-edit-view'});
......
......@@ -248,7 +248,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
* @memberof IBIZBOOKAutoGroupListViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -274,7 +274,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsrListView_pluginBase
* @memberof IBIZBOOKAutoGroupListViewBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -762,7 +762,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
*/
public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKAutoGroupListView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -893,7 +893,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKAutoGroupListView' + (this.$t('app.list.notConfig.removeAction') as string) });
return;
}
if (datas.length === 0) {
......@@ -999,7 +999,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKAutoGroupListView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -1007,7 +1007,7 @@ export default class AutoGroupListBase extends Vue implements ControlInterface {
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKAutoGroupListView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......
......@@ -75,6 +75,11 @@ export default class AutoGroupListModel {
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
<template>
<i-form :model="this.data" class='app-search-form' ref='quicksearchform' style="">
<i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/>
<row>
<i-col span="20" class="form-content">
......@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
* @memberof QUICKSEARCHFORMBase
*/
public formValidateStatus(): boolean {
const form: any = this.$refs.quicksearchform;
const form: any = this.$refs.searchform;
let validatestate: boolean = true;
form.validate((valid: boolean) => {
validatestate = valid ? true : false;
......@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -43,6 +43,40 @@
</row>
</app-form-group>
</i-col>
<i-col v-show="detailsModel.grouppanel3.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :uiService="appUIService" :data="transformData(data)" :manageContainerStatus="detailsModel.grouppanel3.manageContainerStatus" :isManageContainer="detailsModel.grouppanel3.isManageContainer" @managecontainerclick="manageContainerClick('grouppanel3')" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.grouppanel3.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.ibizbook.usr1206025757_form.details.grouppanel3')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<row>
<i-col v-show="detailsModel.formitem1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='formitem1' :itemRules="this.rules().formitem1" class='' :caption="$t('entities.ibizbook.usr1206025757_form.details.formitem1')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.formitem1.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.formitem1.disabled"
name='formitem1'
:service="service"
:acParams="{ }"
valueitem=''
:value="data.formitem1"
editortype=""
:pickupView="{ viewname: 'ibizcustomer-usr2-pickup-view', title: $t('entities.ibizcustomer.views.usr2pickupview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'usr2pickupview', parameterName: 'usr2pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
</app-form-item>
</i-col>
</row>
</app-form-group>
</i-col>
......@@ -526,6 +560,7 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
srfsourcekey: null,
formitem: null,
formitem2: null,
formitem1: null,
ibizbookid: null,
ibizbook:null,
};
......@@ -586,6 +621,10 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
{ required: this.detailsModel.formitem2.required, type: 'string', message: ' 值不能为空', trigger: 'change' },
{ required: this.detailsModel.formitem2.required, type: 'string', message: ' 值不能为空', trigger: 'blur' },
],
formitem1: [
{ required: this.detailsModel.formitem1.required, type: 'string', message: '按钮左对齐 值不能为空', trigger: 'change' },
{ required: this.detailsModel.formitem1.required, type: 'string', message: '按钮左对齐 值不能为空', trigger: 'blur' },
],
}
}
......@@ -701,6 +740,8 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
grouppanel1: new FormGroupPanelModel({ caption: '界面行为', detailType: 'GROUPPANEL', name: 'grouppanel1', visible: true, isShowCaption: true, form: this, isControlledContent: false , uiActionGroup: { caption: '', langbase: 'entities.ibizbook.usr1206025757_form', extractMode: 'ITEM', details: [] }, isManageContainer: false, showMoreModeItems: [] })
,
grouppanel2: new FormGroupPanelModel({ caption: '表单项', detailType: 'GROUPPANEL', name: 'grouppanel2', visible: true, isShowCaption: true, form: this, isControlledContent: false , uiActionGroup: { caption: '', langbase: 'entities.ibizbook.usr1206025757_form', extractMode: 'ITEM', details: [] }, isManageContainer: false, showMoreModeItems: [] })
,
grouppanel3: new FormGroupPanelModel({ caption: '选择视图', detailType: 'GROUPPANEL', name: 'grouppanel3', visible: true, isShowCaption: true, form: this, isControlledContent: false , uiActionGroup: { caption: '', langbase: 'entities.ibizbook.usr1206025757_form', extractMode: 'ITEM', details: [] }, isManageContainer: false, showMoreModeItems: [] })
,
formpage1: new FormPageModel({ caption: '基本信息', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this, isControlledContent: false })
,
......@@ -723,6 +764,8 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
formitem: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'formitem', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
,
formitem2: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'formitem2', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
,
formitem1: new FormItemModel({ caption: '按钮左对齐', detailType: 'FORMITEM', name: 'formitem1', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
,
ibizbookid: new FormItemModel({ caption: '图书标识', detailType: 'FORMITEM', name: 'ibizbookid', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
,
......@@ -848,6 +891,18 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
this.formDataChange({ name: 'formitem2', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 formitem1 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof Usr1206025757Base
*/
@Watch('data.formitem1')
onFormitem1Change(newVal: any, oldVal: any) {
this.formDataChange({ name: 'formitem1', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 ibizbookid 值
*
......@@ -930,6 +985,8 @@ export default class Usr1206025757Base extends Vue implements ControlInterface {
}
/**
......
......@@ -64,6 +64,11 @@ export default class Usr1206025757Model {
name: 'formitem2',
dataType:'FORMITEM',
},
{
name: 'formitem1',
prop: 'borrower',
dataType: 'TEXT',
},
{
name: 'ibizbookid',
prop: 'ibizbookid',
......
......@@ -48,18 +48,18 @@
<div v-show="flag" class="batch-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction1.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction1.disabled" class='' v-button-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.disabled" class='' v-button-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction2.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction2.disabled" class='' v-button-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.disabled" class='' v-button-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
</tooltip>
</div>
</div>
......@@ -202,18 +202,18 @@ export default class Usr2Base extends Vue implements ControlInterface {
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/**
* dataview_batchtoolbar 部件 click 事件
* dataviewexpbar_dataview_batchtoolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof Usr2Base
*/
public dataview_batchtoolbar_click($event: any, $event2?: any) {
public dataviewexpbar_dataview_batchtoolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.dataview_batchtoolbar_deuiaction1_click(null, 'dataview_batchtoolbar', $event2);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.dataview_batchtoolbar_deuiaction2_click(null, 'dataview_batchtoolbar', $event2);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
}
}
......@@ -226,7 +226,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -254,7 +254,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -282,7 +282,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) {
// 取数
let datas: any[] = [];
let xData: any = null;
......@@ -309,7 +309,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) {
// 取数
let datas: any[] = [];
let xData: any = null;
......@@ -337,7 +337,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase
* @memberof IBIZBOOKDataViewExpViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -363,7 +363,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase
* @memberof IBIZBOOKDataViewExpViewBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -427,6 +427,12 @@ export default class Usr2Base extends Vue implements ControlInterface {
}
let result: boolean = true;
Object.assign(actionData, args);
if ('selectionchange'.indexOf(eventName) !== -1) {
result = await this.execute_dataviewexpbar_selectionchange_ctrl_logic(actionData) && result;
}
if ('load'.indexOf(eventName) !== -1) {
result = await this.execute_dataviewexpbar_load_ctrl_logic(actionData) && result;
}
if (!result) {
return false;
}
......@@ -434,6 +440,30 @@ export default class Usr2Base extends Vue implements ControlInterface {
return true;
}
/**
* 部件逻辑 -- dataviewexpbar_selectionchange
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof Usr2Base
*/
public async execute_dataviewexpbar_selectionchange_ctrl_logic(actionData: any): Promise<boolean> {
console.log('暂未支持 CUSTOM 类型');
return true;
}
/**
* 部件逻辑 -- dataviewexpbar_load
*
* @param {string} eventName 部件事件名称
* @param {any[]} data 数据
* @param {*} event 源事件对象
* @memberof Usr2Base
*/
public async execute_dataviewexpbar_load_ctrl_logic(actionData: any): Promise<boolean> {
console.log('暂未支持 CUSTOM 类型');
return true;
}
......@@ -678,9 +708,9 @@ export default class Usr2Base extends Vue implements ControlInterface {
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsr2DataView
* @memberof IBIZBOOKDataViewExpView
*/
public usr2dataviewdataview_batchtoolbarModels: any = {
public dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
......@@ -1005,7 +1035,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/
public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -1100,7 +1130,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -1217,7 +1247,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -1225,7 +1255,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......@@ -1327,16 +1357,16 @@ export default class Usr2Base extends Vue implements ControlInterface {
public uiAction(data: any, tag: any, $event: any) {
$event.stopPropagation();
if(Object.is('Edit', tag)) {
this.dataview_batchtoolbar_deuiaction1_click(data, tag, $event);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.dataview_batchtoolbar_deuiaction2_click(data, tag, $event);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(data, tag, $event);
}
if(Object.is('Edit', tag)) {
this.dataview_memo1_u37f11a8_click(data, tag, $event);
this.dataviewexpbar_dataview_memo1_u37f11a8_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.dataview_memo1_uc365542_click(data, tag, $event);
this.dataviewexpbar_dataview_memo1_uc365542_click(data, tag, $event);
}
}
......
......@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合
*
* @returns {any[]}
* @memberof Usr2DataViewMode
* @memberof Usr2Dataviewexpbar_dataviewMode
*/
public getDataItems(): any[] {
return [
......@@ -40,17 +40,6 @@ export default class Usr2Model {
dataType: 'FONTKEY',
},
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
......@@ -698,7 +698,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/
public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -792,7 +792,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -908,7 +908,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -916,7 +916,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......
......@@ -5367,6 +5367,14 @@
"rTMOSFilePath" : "psmodeldata$psdataentities/PickupView",
"realModelSubType" : "DEPICKUPVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "UsrPickupView_plugin",
"logicName" : "选择视图插件(vue3)",
"mOSFilePath" : "psmodeldata$psdataentities/UsrPickupView_plugin",
"name" : "选择视图插件(vue3)",
"rTMOSFilePath" : "psmodeldata$psdataentities/UsrPickupView_plugin",
"realModelSubType" : "DEPICKUPVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "Usr5DataView",
"logicName" : "图书实体数据视图(自定义插件)",
......
......@@ -6677,6 +6677,10 @@
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUpdateDefaultGridView.json",
"viewType" : "DEGRIDVIEW"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUsrPickupView_plugin.json",
"viewType" : "DEPICKUPVIEW"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKListView.json",
......
......@@ -108,6 +108,13 @@
}, {
"id" : "formitem2",
"dataType" : 25
}, {
"id" : "formitem1",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "BORROWER",
"codeName" : "Borrower"
}
}, {
"id" : "ibizbookid",
"hidden" : true,
......@@ -294,6 +301,83 @@
"rTMOSFilePath" : "psdeformdetail_grouppanels/grouppanel2",
"infoGroupMode" : false,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "选择视图",
"codeName" : "grouppanel3",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"mOSFilePath" : "psdeformdetail_grouppanels/grouppanel3",
"name" : "grouppanel3",
"getPSDEFormDetails" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "DEF.LNAME.BORROWER",
"mOSFilePath" : "pslanguageres/Auto1872",
"rTMOSFilePath" : "pslanguageres/Auto1872"
},
"caption" : "按钮左对齐",
"codeName" : "formitem1",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"mOSFilePath" : "psdeformdetail_formitems/formitem1",
"name" : "formitem1",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "BORROWER",
"codeName" : "Borrower"
},
"getPSEditor" : {
"editorParams" : {
"AC" : "TRUE",
"PICKUPVIEW" : "TRUE"
},
"editorType" : "PICKER",
"handlerType" : "PickupText",
"getLinkPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZCustomerUsr2PickupView.json",
"viewType" : "DEPICKUPVIEW"
},
"name" : "formitem1",
"getPickupPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZCustomerUsr2PickupView.json",
"viewType" : "DEPICKUPVIEW"
},
"enableAC" : true,
"enablePickupView" : true,
"forceSelection" : true,
"showTrigger" : true,
"singleSelect" : true
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "psdeformdetail_formitems/formitem1",
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "psdeformdetail_grouppanels/grouppanel3",
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"childColLG" : -1,
......
......@@ -12,13 +12,13 @@
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSDETreeColumns" : [ {
"caption" : "借出日期",
"codeName" : "lendouttime",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
......@@ -47,18 +47,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -71,6 +59,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -128,11 +128,11 @@
}
} ],
"getPSControls" : [ {
"codeName" : "Usr4ListView_layoutlist_quicktoolbar",
"codeName" : "UsrListView_pluginlist_quicktoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-快速操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/Usr4ListView_layoutlist_quicktoolbar",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_quicktoolbar",
"name" : "list_quicktoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
......@@ -207,15 +207,15 @@
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list_quicktoolbar",
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_quicktoolbar",
"modelid" : "417d509fb75086f26c79e84b2415d4da",
"modeltype" : "PSDETOOLBAR"
}, {
"codeName" : "Usr4ListView_layoutlist_batchtoolbar",
"codeName" : "UsrListView_pluginlist_batchtoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-批操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/Usr4ListView_layoutlist_batchtoolbar",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_batchtoolbar",
"name" : "list_batchtoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
......@@ -356,7 +356,7 @@
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list_batchtoolbar",
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_batchtoolbar",
"modelid" : "2af289950f1ff781487577fd48319536",
"modeltype" : "PSDETOOLBAR"
} ],
......@@ -510,7 +510,7 @@
"enableSort" : false
} ],
"pagingSize" : 10,
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsr4ListView_layout/psappviewctrls/list",
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list",
"getRemovePSControlAction" : {
"modelref" : true,
"id" : "remove"
......
......@@ -20,6 +20,18 @@
}
} ],
"getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
......@@ -43,18 +55,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -42,13 +42,13 @@
"id" : "GANTT"
},
"getPSDETreeColumns" : [ {
"caption" : "借出日期",
"codeName" : "lendouttime",
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
......@@ -77,18 +77,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "作者",
"codeName" : "author",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "author",
"mOSFilePath" : "psdetreecols/author",
"name" : "author",
"rTMOSFilePath" : "psdetreecols/author",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "出版社",
"codeName" : "press",
......@@ -101,6 +89,18 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "借出日期",
"codeName" : "lendouttime",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "lendouttime",
"mOSFilePath" : "psdetreecols/lendouttime",
"name" : "lendouttime",
"rTMOSFilePath" : "psdetreecols/lendouttime",
"width" : 200,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -88,6 +88,18 @@
"id" : "TREEGRIDEX"
},
"getPSDETreeColumns" : [ {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书描述",
"codeName" : "subtext",
"columnType" : "DEFGRIDCOLUMN",
......@@ -111,18 +123,6 @@
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
}, {
"caption" : "图书名称",
"codeName" : "ibizbookname",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "ibizbookname",
"mOSFilePath" : "psdetreecols/ibizbookname",
"name" : "ibizbookname",
"rTMOSFilePath" : "psdetreecols/ibizbookname",
"width" : 50,
"widthUnit" : "px",
"enableExpand" : false,
"enableSort" : false
} ],
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
......
......@@ -330,6 +330,13 @@
}, {
"id" : "formitem2",
"dataType" : 25
}, {
"id" : "formitem1",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "BORROWER",
"codeName" : "Borrower"
}
}, {
"id" : "ibizbookid",
"hidden" : true,
......@@ -516,6 +523,83 @@
"rTMOSFilePath" : "psdeformdetail_grouppanels/grouppanel2",
"infoGroupMode" : false,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "选择视图",
"codeName" : "grouppanel3",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"mOSFilePath" : "psdeformdetail_grouppanels/grouppanel3",
"name" : "grouppanel3",
"getPSDEFormDetails" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "DEF.LNAME.BORROWER",
"mOSFilePath" : "pslanguageres/Auto1872",
"rTMOSFilePath" : "pslanguageres/Auto1872"
},
"caption" : "按钮左对齐",
"codeName" : "formitem1",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"mOSFilePath" : "psdeformdetail_formitems/formitem1",
"name" : "formitem1",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "BORROWER",
"codeName" : "Borrower"
},
"getPSEditor" : {
"editorParams" : {
"AC" : "TRUE",
"PICKUPVIEW" : "TRUE"
},
"editorType" : "PICKER",
"handlerType" : "PickupText",
"getLinkPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZCustomerUsr2PickupView.json",
"viewType" : "DEPICKUPVIEW"
},
"name" : "formitem1",
"getPickupPSAppView" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZCustomerUsr2PickupView.json",
"viewType" : "DEPICKUPVIEW"
},
"enableAC" : true,
"enablePickupView" : true,
"forceSelection" : true,
"showTrigger" : true,
"singleSelect" : true
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "psdeformdetail_formitems/formitem1",
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"childColLG" : -1,
"childColMD" : 24,
"childColSM" : -1,
"childColXS" : -1,
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"rTMOSFilePath" : "psdeformdetail_grouppanels/grouppanel3",
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"childColLG" : -1,
......
......@@ -988,13 +988,13 @@
"modelid" : "0d02cac81d96729eccac654df3a1950a",
"modeltype" : "PSDEFORM_SEARCHFORM"
}, {
"codeName" : "AutoGroupList",
"codeName" : "LnternalFuncList",
"controlType" : "LIST",
"getCreatePSControlAction" : {
"modelref" : true,
"id" : "create"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSLISTS/AutoGroupList.json",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK/PSLISTS/LnternalFuncList.json",
"getFetchPSControlAction" : {
"modelref" : true,
"id" : "fetch"
......@@ -1003,19 +1003,53 @@
"modelref" : true,
"id" : "load"
},
"groupMode" : "AUTO",
"getGroupPSAppDEField" : {
"name" : "AUTHOR",
"codeName" : "Author"
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"logicName" : "AutoGroupList",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/AutoGroupList",
"logicName" : "MOB",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdelists/LnternalFuncList",
"minorSortDir" : "ASC",
"getMinorSortPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSAppViewLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_quicktoolbar_deuiaction1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1"
},
"getPSViewCtrlName" : "list_quicktoolbar"
}, {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_batchtoolbar_deuiaction1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1"
},
"getPSViewCtrlName" : "list_batchtoolbar"
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTrigger" : "CTRLEVENT",
"logicType" : "APPVIEWUIACTION",
"name" : "list_batchtoolbar_deuiaction2_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2"
},
"getPSViewCtrlName" : "list_batchtoolbar"
}, {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "list_memo1_u37f11a8_click",
......@@ -1033,6 +1067,29 @@
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "list_quicktoolbar_deuiaction1",
"getPSUIAction" : {
"modelref" : true,
"id" : "New"
},
"xDataControlName" : "list"
}, {
"name" : "list_batchtoolbar_deuiaction1",
"getPSUIAction" : {
"modelref" : true,
"id" : "Edit"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "list"
}, {
"name" : "list_batchtoolbar_deuiaction2",
"getPSUIAction" : {
"modelref" : true,
"id" : "Remove"
},
"uIActionTarget" : "MULTIKEY",
"xDataControlName" : "list"
}, {
"name" : "表格界面_编辑操作",
"getPSUIAction" : {
"modelref" : true,
......@@ -1133,11 +1190,247 @@
"showBusyIndicator" : true,
"id" : "LIST"
},
"getPSControls" : [ {
"codeName" : "UsrListView_pluginlist_quicktoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-快速操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_quicktoolbar",
"name" : "list_quicktoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTag" : "list_quicktoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_quicktoolbar_deuiaction1_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1_click"
}
} ],
"getPSControlParam" : {
"id" : "list_quicktoolbar"
},
"getPSDEToolbarItems" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.NEW",
"mOSFilePath" : "pslanguageres/Auto1712",
"rTMOSFilePath" : "pslanguageres/Auto1712"
},
"caption" : "新建",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction1",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_quicktoolbar_deuiaction1"
},
"getPSSysImage" : {
"glyph" : "xf0f6@FontAwesome",
"cssClass" : "fa fa-file-text-o"
},
"getPSUIAction" : {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.NEW",
"mOSFilePath" : "pslanguageres/Auto1712",
"rTMOSFilePath" : "pslanguageres/Auto1712"
},
"caption" : "新建",
"codeName" : "New",
"fullCodeName" : "New",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/New",
"name" : "表格界面_新建操作",
"getPSSysImage" : {
"glyph" : "xf0f6@FontAwesome",
"cssClass" : "fa fa-file-text-o"
},
"predefinedType" : "GRIDVIEW_NEWACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/New",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.NEW",
"mOSFilePath" : "pslanguageres/Auto274",
"rTMOSFilePath" : "pslanguageres/Auto274"
},
"uIActionMode" : "SYS",
"uIActionTag" : "New",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "新建",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.NEW",
"mOSFilePath" : "pslanguageres/Auto274",
"rTMOSFilePath" : "pslanguageres/Auto274"
},
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_quicktoolbar",
"modelid" : "417d509fb75086f26c79e84b2415d4da",
"modeltype" : "PSDETOOLBAR"
}, {
"codeName" : "UsrListView_pluginlist_batchtoolbar",
"controlType" : "TOOLBAR",
"hookEventNames" : [ "CLICK" ],
"logicName" : "列表-批操作工具栏",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psdetoolbars/UsrListView_pluginlist_batchtoolbar",
"name" : "list_batchtoolbar",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlLogics" : [ {
"eventArg" : "deuiaction1",
"eventNames" : "CLICK",
"logicTag" : "list_batchtoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_batchtoolbar_deuiaction1_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1_click"
}
}, {
"eventArg" : "deuiaction2",
"eventNames" : "CLICK",
"logicTag" : "list_batchtoolbar",
"logicType" : "APPVIEWLOGIC",
"name" : "list_batchtoolbar_deuiaction2_click",
"getPSAppViewLogic" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2_click"
}
} ],
"getPSControlParam" : {
"id" : "list_batchtoolbar"
},
"getPSDEToolbarItems" : [ {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto1585",
"rTMOSFilePath" : "pslanguageres/Auto1585"
},
"caption" : "编辑",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction1",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction1"
},
"getPSSysImage" : {
"glyph" : "xf044@FontAwesome",
"cssClass" : "fa fa-edit"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto1585",
"rTMOSFilePath" : "pslanguageres/Auto1585"
},
"caption" : "编辑",
"codeName" : "Edit",
"fullCodeName" : "Edit",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"name" : "表格界面_编辑操作",
"getPSSysImage" : {
"glyph" : "xf044@FontAwesome",
"cssClass" : "fa fa-edit"
},
"predefinedType" : "GRIDVIEW_EDITACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Edit",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto834",
"rTMOSFilePath" : "pslanguageres/Auto834"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Edit",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "编辑",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.EDIT",
"mOSFilePath" : "pslanguageres/Auto834",
"rTMOSFilePath" : "pslanguageres/Auto834"
},
"showCaption" : true,
"showIcon" : true
}, {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto998",
"rTMOSFilePath" : "pslanguageres/Auto998"
},
"caption" : "删除",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "deuiaction2",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "list_batchtoolbar_deuiaction2"
},
"getPSSysImage" : {
"glyph" : "xf00d@FontAwesome",
"cssClass" : "fa fa-remove"
},
"getPSUIAction" : {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto998",
"rTMOSFilePath" : "pslanguageres/Auto998"
},
"caption" : "删除",
"codeName" : "Remove",
"fullCodeName" : "Remove",
"mOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"name" : "表格界面_删除操作",
"getPSSysImage" : {
"glyph" : "xf00d@FontAwesome",
"cssClass" : "fa fa-remove"
},
"predefinedType" : "GRIDVIEW_REMOVEACTION",
"rTMOSFilePath" : "pssysapps/Web/pssysappdeuiactions/Remove",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto1782",
"rTMOSFilePath" : "pslanguageres/Auto1782"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Remove",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "删除",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.REMOVE",
"mOSFilePath" : "pslanguageres/Auto1782",
"rTMOSFilePath" : "pslanguageres/Auto1782"
},
"showCaption" : true,
"showIcon" : true
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrListView_plugin/psappviewctrls/list_batchtoolbar",
"modelid" : "2af289950f1ff781487577fd48319536",
"modeltype" : "PSDETOOLBAR"
} ],
"getPSDEDataImport" : {
"modelref" : true,
"id" : "DataImport"
},
"getPSDEListDataItems" : [ {
"dataType" : 25,
"name" : "ibizbookid"
}, {
"dataType" : 25,
"getFrontPSCodeList" : {
"modelref" : true,
......@@ -1146,7 +1439,7 @@
"name" : "type"
}, {
"dataType" : 25,
"name" : "ibizbookname"
"name" : "press"
}, {
"dataType" : 25,
"name" : "srficon",
......@@ -1155,8 +1448,8 @@
"codeName" : "Icon"
}
}, {
"dataType" : 25,
"name" : "press"
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "srfdate",
......@@ -1167,6 +1460,13 @@
}, {
"dataType" : 9,
"name" : "booknumber"
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfdescription",
......@@ -1177,12 +1477,6 @@
}, {
"dataType" : 25,
"name" : "author"
}, {
"dataType" : 7,
"name" : "price"
}, {
"dataType" : 25,
"name" : "ibizbookid"
}, {
"dataType" : 25,
"name" : "srfkey",
......@@ -1190,13 +1484,6 @@
"name" : "IBIZBOOKID",
"codeName" : "IBIZBOOKId"
}
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "IBIZBOOKNAME",
"codeName" : "IBIZBOOKName"
}
}, {
"dataType" : 25,
"name" : "srfmstag"
......@@ -1296,7 +1583,7 @@
"id" : "update"
},
"hasWFDataItems" : false,
"enableGroup" : true,
"enableGroup" : false,
"enableRowEdit" : false,
"enableRowEditGroup" : false,
"enableRowEditOrder" : false,
......@@ -1304,7 +1591,7 @@
"noSort" : false,
"showHeader" : true,
"name" : "list",
"modelid" : "17c378237cfd38e3533652f3f47d51a3",
"modelid" : "8594b932ea501f73756410b3d22cc1ec",
"modeltype" : "PSDELIST"
} ],
"getPSDEViewCodeName" : "UsrListView_plugin",
......
{
"accUserMode" : 2,
"getCapPSLanguageRes" : {
"lanResTag" : "DE.LNAME.IBIZBOOK",
"mOSFilePath" : "pslanguageres/Auto395",
"rTMOSFilePath" : "pslanguageres/Auto395"
},
"caption" : "选择视图插件(vue3)",
"codeName" : "IBIZBOOKUsrPickupView_plugin",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUsrPickupView_plugin.json",
"mOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrPickupView_plugin",
"name" : "IBIZBOOKUsrPickupView_plugin",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSAppModule" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPMODULES/Sample.json"
},
"getPSAppViewEngines" : [ {
"engineCat" : "VIEW",
"engineType" : "PickupView",
"mOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrPickupView_plugin/psappviewengines/engine",
"name" : "engine",
"getPSUIEngineParams" : [ {
"ctrlName" : "pickupviewpanel",
"name" : "PICKUPVIEWPANEL",
"paramType" : "CTRL"
} ]
} ],
"getPSControls" : [ {
"codeName" : "UsrPickupView_pluginpickupviewpanel",
"controlType" : "PICKUPVIEWPANEL",
"getEmbeddedPSAppDEView" : {
"accUserMode" : 2,
"getCapPSLanguageRes" : {
"lanResTag" : "DE.LNAME.IBIZCUSTOMER",
"mOSFilePath" : "pslanguageres/Auto795",
"rTMOSFilePath" : "pslanguageres/Auto795"
},
"caption" : "客户",
"codeName" : "IBIZCustomerPickupTreeView",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZCustomerPickupTreeView.json",
"height" : 500,
"mDCtrlActiveMode" : 2,
"mOSFilePath" : "pssysapps/Web/psappdeviews/IBIZCustomerPickupTreeView",
"name" : "IBIZCustomerPickupTreeView",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
},
"getPSAppModule" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPMODULES/Sample.json"
},
"getPSAppViewEngines" : [ {
"engineCat" : "VIEW",
"engineType" : "PickupTreeView",
"mOSFilePath" : "pssysapps/Web/psappdeviews/IBIZCustomerPickupTreeView/psappviewengines/engine",
"name" : "engine",
"getPSUIEngineParams" : [ {
"ctrlName" : "tree",
"name" : "TREE",
"paramType" : "CTRL"
} ]
} ],
"getPSControls" : [ {
"codeName" : "Usr",
"controlType" : "TREEVIEW",
"getCreatePSControlAction" : {
"modelref" : true,
"id" : "create"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer/PSTREEVIEWS/Usr.json",
"getFetchPSControlAction" : {
"modelref" : true,
"id" : "fetch"
},
"getGetPSControlAction" : {
"modelref" : true,
"id" : "load"
},
"hookEventNames" : [ "SELECTIONCHANGE", "LOAD" ],
"logicName" : "选择树",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZCUSTOMER/psdetreeviews/Usr",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
},
"getPSControlHandler" : {
"getPSHandlerActions" : [ {
"actionName" : "Get",
"actionType" : "DEACTION",
"dataAccessAction" : "READ",
"name" : "load",
"getPSAppDEMethod" : {
"modelref" : true,
"id" : "Get"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
}
}, {
"actionName" : "Create",
"actionType" : "DEACTION",
"dataAccessAction" : "CREATE",
"name" : "create",
"getPSAppDEMethod" : {
"modelref" : true,
"id" : "Create"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
}
}, {
"actionName" : "Update",
"actionType" : "DEACTION",
"dataAccessAction" : "UPDATE",
"name" : "update",
"getPSAppDEMethod" : {
"modelref" : true,
"id" : "Update"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
}
}, {
"actionName" : "Remove",
"actionType" : "DEACTION",
"dataAccessAction" : "DELETE",
"name" : "remove",
"getPSAppDEMethod" : {
"modelref" : true,
"id" : "Remove"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
}
}, {
"actionType" : "DEDATASET",
"name" : "fetch",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
}
} ],
"userDRAction" : "READ",
"enableDEFieldPrivilege" : false,
"id" : "树视图处理器"
},
"getPSControlLogics" : [ {
"eventNames" : "SELECTIONCHANGE;LOAD",
"logicTag" : "tree",
"logicType" : "APPVIEWENGINE",
"name" : "engine_tree",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSControlParam" : {
"autoLoad" : true,
"showBusyIndicator" : true,
"id" : "TREE"
},
"getPSDETreeNodeRSs" : [ {
"getChildPSDETreeNode" : {
"modelref" : true,
"id" : "personname"
},
"name" : "默认根节点 - 客户名称",
"getParentPSDETreeNode" : {
"modelref" : true,
"id" : "ROOT"
},
"parentValueLevel" : 1,
"searchMode" : 3
}, {
"getChildPSDETreeNode" : {
"modelref" : true,
"id" : "persondata"
},
"name" : "客户名称 - 客户数据",
"getParentPSDETreeNode" : {
"modelref" : true,
"id" : "personname"
},
"parentValueLevel" : 1,
"searchMode" : 3
} ],
"getPSDETreeNodes" : [ {
"counterMode" : 0,
"name" : "默认根节点",
"nodeType" : "ROOT",
"nodeValue" : "root",
"text" : "默认根节点",
"treeNodeType" : "STATIC",
"hasPSDETreeNodeRSs" : true,
"appendPNodeId" : false,
"disableSelect" : false,
"enableCheck" : false,
"enableEditData" : false,
"enableNewData" : false,
"enableQuickCreate" : false,
"enableQuickSearch" : false,
"enableRemoveData" : false,
"enableViewData" : false,
"expandFirstOnly" : false,
"expanded" : false,
"rootNode" : true,
"selectFirstOnly" : false,
"selected" : false,
"id" : "ROOT"
}, {
"counterMode" : 0,
"name" : "客户名称",
"nodeType" : "personname",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
},
"text" : "客户名称",
"treeNodeType" : "STATIC",
"hasPSDETreeNodeRSs" : true,
"appendPNodeId" : false,
"disableSelect" : false,
"enableCheck" : false,
"enableEditData" : false,
"enableNewData" : false,
"enableQuickCreate" : false,
"enableQuickSearch" : false,
"enableRemoveData" : false,
"enableViewData" : false,
"expandFirstOnly" : false,
"expanded" : false,
"rootNode" : false,
"selectFirstOnly" : false,
"selected" : false,
"id" : "personname"
}, {
"counterMode" : 0,
"getIdPSAppDEField" : {
"name" : "IBIZCUSTOMERID",
"codeName" : "IBIZCustomerId"
},
"maxSize" : -1,
"name" : "客户数据",
"nodeType" : "persondata",
"getPSAppDEDataSet" : {
"modelref" : true,
"id" : "FetchDefault"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
},
"getTextPSAppDEField" : {
"name" : "IBIZCUSTOMERNAME",
"codeName" : "IBIZCustomerName"
},
"treeNodeType" : "DE",
"hasPSDETreeNodeRSs" : false,
"appendPNodeId" : false,
"disableSelect" : false,
"enableCheck" : false,
"enableEditData" : false,
"enableNewData" : false,
"enableQuickCreate" : false,
"enableQuickSearch" : false,
"enableRemoveData" : false,
"enableViewData" : false,
"expandFirstOnly" : false,
"expanded" : false,
"rootNode" : false,
"selectFirstOnly" : false,
"selected" : false,
"id" : "persondata"
} ],
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZCustomerPickupTreeView/psappviewctrls/tree",
"getRemovePSControlAction" : {
"modelref" : true,
"id" : "remove"
},
"treeGridMode" : 0,
"getUpdatePSControlAction" : {
"modelref" : true,
"id" : "update"
},
"enableRootSelect" : false,
"outputIconDefault" : true,
"rootVisible" : false,
"name" : "tree",
"modelid" : "9315d1e615ea222d35c5444c302d3a77",
"modeltype" : "PSDETREEVIEW"
} ],
"getPSDEViewCodeName" : "PickupTreeView",
"getPSDEViewId" : "702f3e21fa6fff77cb54ea007059d37f",
"getPSViewLayoutPanel" : {
"codeName" : "Layoutpanel",
"controlStyle" : "APPDEPICKUPTREEVIEW",
"controlType" : "VIEWLAYOUTPANEL",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZCUSTOMER/pssysviewlayoutpanels/Layoutpanel",
"name" : "layoutpanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZCustomer.json"
},
"getPSControlParam" : { },
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZCustomerPickupTreeView/psappviewctrls/layoutpanel",
"layoutBodyOnly" : true,
"layoutPanel" : true,
"useDefaultLayout" : true
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZCustomerPickupTreeView",
"title" : "客户选择树视图",
"viewStyle" : "DEFAULT",
"viewType" : "DEPICKUPTREEVIEW",
"width" : 500,
"xDataControlName" : "tree",
"enableDP" : true,
"enableFilter" : false,
"expandSearchForm" : true,
"pickupMode" : true,
"modelid" : "6a079bac1a6eeb580654cd04e6b1a8b8",
"modeltype" : "PSAPPDEVIEW"
},
"hookEventNames" : [ "SELECTIONCHANGE", "LOAD", "ACTIVATED" ],
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/psviewpanels/UsrPickupView_pluginpickupviewpanel",
"name" : "pickupviewpanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlLogics" : [ {
"eventNames" : "SELECTIONCHANGE;LOAD;ACTIVATED",
"logicTag" : "pickupviewpanel",
"logicType" : "APPVIEWENGINE",
"name" : "engine_pickupviewpanel",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSControlParam" : {
"id" : "PICKUPVIEWPANEL"
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrPickupView_plugin/psappviewctrls/pickupviewpanel"
} ],
"getPSDEViewCodeName" : "UsrPickupView_plugin",
"getPSDEViewId" : "AA38AE81-12E0-43EB-AE77-6CB60D1457C2",
"getPSSysPFPlugin" : {
"pluginType" : "VIEW_CUSTOM",
"pluginCode" : "pickerViewCustom"
},
"getPSViewLayoutPanel" : {
"codeName" : "Layoutpanel",
"controlStyle" : "APPDEPICKUPVIEW",
"controlType" : "VIEWLAYOUTPANEL",
"mOSFilePath" : "psmodules/Sample/psdataentities/IBIZBOOK/pssysviewlayoutpanels/Layoutpanel",
"name" : "layoutpanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/IBIZBOOK.json"
},
"getPSControlParam" : { },
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrPickupView_plugin/psappviewctrls/layoutpanel",
"layoutBodyOnly" : true,
"layoutPanel" : true,
"useDefaultLayout" : true
},
"rTMOSFilePath" : "pssysapps/Web/psappdeviews/IBIZBOOKUsrPickupView_plugin",
"refFlag" : false,
"title" : "选择视图插件(vue3)",
"viewStyle" : "pickerViewCustom",
"viewType" : "DEPICKUPVIEW",
"enableDP" : true,
"showCaptionBar" : false,
"modelid" : "D8DC4CF2-3FDF-4FF3-8914-2AEC6063C86F",
"modeltype" : "PSAPPDEVIEW"
}
\ No newline at end of file
......@@ -5352,7 +5352,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DELISTVIEW",
"templCode" : "<div>列表视图斑马纹</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <AutoGroupListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></AutoGroupListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport AutoGroupListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode3" : ".list-view-stripe {\r\n .ant-list-items {\r\n .ant-list-item:nth-child(even) {\r\n background-color: #fafafa;\r\n }\r\n }\r\n}"
}, {
"name" : "列表面板自定义插件",
"getPSSysPFPlugin" : {
......@@ -5399,7 +5401,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEWIZARDVIEW",
"templCode" : "<div>底部步骤条</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <guideWizardPanel\r\n :actions=\"{\r\n initAction: 'Get',\r\n finishAction: 'Update',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"wizardpanel\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport guideWizardPanel from '@widgets/ibizbook/guide-wizard-panel/guide-wizard-panel.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { WizardViewActionType, IContext, IParam, IWizardViewAbility, IWizardViewControllerParams, IWizardViewStore, WizardViewController, IWizardViewController, ILoadingHelper, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IWizardViewController<IWizardViewStore, IWizardViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IWizardViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n const classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"bottom-steper\": true});\r\n return classNames;\r\n});",
"templCode3" : ".bottom-steper {\r\n .app-control-wizardpanel {\r\n .app-control-wizardpanel__header {\r\n order: 10;\r\n }\r\n }\r\n}"
}, {
"name" : "工具栏测试插件",
"getPSSysPFPlugin" : {
......@@ -5494,7 +5498,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DETREEVIEW",
"templCode" : "<div>树视图右对齐</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <TreeViewTree\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"tree\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template> \r\n </AppViewLayout>",
"templCode2" : "import TreeViewRightAlign from \"@plugins/view/tree-view-right-align/tree-view-right-align.vue\";\r\nimport { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport TreeViewTree from '@widgets/ibizbook/tree-view-tree/tree-view-tree.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { TreeViewActionType, IContext, IParam, ITreeViewAbility, ITreeViewControllerParams, ITreeViewStore, TreeViewController, ITreeViewController, ILoadingHelper, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: ITreeViewController<ITreeViewStore, ITreeViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});",
"templCode3" : ".tree-view-right-align {\r\n .ant-tree-treenode {\r\n justify-content: flex-end;\r\n .ant-tree-node-content-wrapper {\r\n flex: none !important;\r\n }\r\n }\r\n}"
}, {
"name" : "模拟获取动态轮播图数据",
"getPSSysPFPlugin" : {
......@@ -5573,8 +5579,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEEDITVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && controller.model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"controller.model.caption\" :title=\"controller.model.title\" :capPSLanguageRes=\"controller.model.capPSLanguageRes\" :titlePSLanguageRes=\"controller.model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"controller.model.showDataInfoBar\" :dataInfo=\"controller.store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"BOTTOMBTN\"\r\n :items=\"controller.store.toolbarItems\"\r\n :loading=\"controller.store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"controller.store.openView\"\r\n :newView=\"controller.store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\n\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleToolbarItemClick,\r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy,\r\n getViewClassNames\r\n} from \"@/hooks/use-view\";\r\nimport { EditViewActionType, IContext, IParam, IEditViewAbility, IEditViewControllerParams, IEditViewStore, EditViewController, IEditViewController, ILoadingHelper, IEditFormAbility, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IEditViewController<IEditViewStore, IEditViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"BOTTOMBTN\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\n\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleToolbarItemClick,\r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy,\r\n getViewClassNames\r\n} from \"@/hooks/use-view\";\r\nimport { EditViewActionType, IContext, IParam, IEditViewAbility, IEditViewControllerParams, IEditViewStore, EditViewController, IEditViewController, ILoadingHelper, IEditFormAbility, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IEditViewController<IEditViewStore, IEditViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IEditViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n \treturn getViewClassNames(model, props);\r\n});"
}, {
"name" : "获取模拟动态图片数据",
"getPSSysPFPlugin" : {
......@@ -5606,8 +5612,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "APPINDEXVIEW",
"templCode" : "<AppIndexViewLayoutCenter class=\"menu-right-align\" :mainMenuAlign=\"controller.model.mainMenuAlign\" :class=\"classNames\">\r\n <template #appHeaderLeft>\r\n </template>\r\n <template #appHeaderRight>\r\n <template v-if=\"controller.store.showLang\">\r\n <AppLang></AppLang>\r\n </template>\r\n <template v-if=\"controller.store.showTheme\">\r\n <AppTheme></AppTheme>\r\n </template>\r\n <template v-if=\"controller.store.showOrg\">\r\n <span>组织选择</span>\r\n </template>\r\n <AppUser></AppUser>\r\n <template v-if=\"controller.store.showMsgPopover\">\r\n <AppMessagePopover></AppMessagePopover>\r\n </template>\r\n </template>\r\n <template #default>\r\n <Usr1207222915MenuMenu\r\n viewStyle='menuRightAlign'\r\n :isDefaultPage=\"controller.model.defaultPage\"\r\n :isBlankMode=\"controller.model.blankMode\"\r\n :defPSAppView=\"controller.model.defPSAppView\"\r\n :mode='controller.model.mainMenuAlign'\r\n :counterData=\"controller.store.counterData\"\r\n name=\"appmenu\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></Usr1207222915MenuMenu>\r\n </template>\r\n <template #tabPageExp>\r\n <TabPageExp></TabPageExp>\r\n </template>\r\n <template #navPos>\r\n <AppNavPos></AppNavPos>\r\n </template>\r\n </AppIndexViewLayoutCenter>",
"templCode2" : "import { AppIndexViewLayoutCenter } from \"@components/layout/index-view-layout\";\r\nimport Usr1207222915MenuMenu from '@widgets/app/usr-1207222915-menu-menu/usr-1207222915-menu-menu.vue';\r\n\r\nimport { \r\n getIndexViewClassNames, \r\n handleCtrlInit, \r\n handleCtrlAction, \r\n handleCtrlDestroy, \r\n useNavParamsBind, \r\n useEventBind,\r\n} from '@/hooks/use-view';\r\nimport { IIndexViewAbility, IIndexViewController, IIndexViewControllerParams, IIndexViewStore, IndexViewActionType, IndexViewController, IParam, ILoadingHelper, IContext, IEvent } from \"@/core\";\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n appIconPath?: string,\r\n controller: IIndexViewController<IIndexViewStore, IIndexViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});",
"templCode" : "<AppIndexViewLayoutCenter :mainMenuAlign=\"model.mainMenuAlign\" :class=\"classNames\">\r\n <template #appHeaderLeft>\r\n </template>\r\n <template #appHeaderRight>\r\n <template v-if=\"store.showLang\">\r\n <AppLang></AppLang>\r\n </template>\r\n <template v-if=\"store.showTheme\">\r\n <AppTheme></AppTheme>\r\n </template>\r\n <template v-if=\"store.showOrg\">\r\n <span>组织选择</span>\r\n </template>\r\n <AppUser></AppUser>\r\n <template v-if=\"store.showMsgPopover\">\r\n <AppMessagePopover></AppMessagePopover>\r\n </template>\r\n </template>\r\n <template #default>\r\n <Usr1207222915MenuMenu\r\n viewStyle='menuRightAlign'\r\n :isDefaultPage=\"model.defaultPage\"\r\n :isBlankMode=\"model.blankMode\"\r\n :defPSAppView=\"model.defPSAppView\"\r\n :mode='model.mainMenuAlign'\r\n :counterData=\"store.counterData\"\r\n name=\"appmenu\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></Usr1207222915MenuMenu>\r\n </template>\r\n <template #tabPageExp>\r\n <TabPageExp></TabPageExp>\r\n </template>\r\n <template #navPos>\r\n <AppNavPos></AppNavPos>\r\n </template>\r\n </AppIndexViewLayoutCenter>",
"templCode2" : "import { AppIndexViewLayoutCenter } from \"@components/layout/index-view-layout\";\r\nimport Usr1207222915MenuMenu from '@widgets/app/usr-1207222915-menu-menu/usr-1207222915-menu-menu.vue';\r\n\r\nimport { \r\n getIndexViewClassNames, \r\n handleCtrlInit, \r\n handleCtrlAction, \r\n handleCtrlDestroy, \r\n useNavParamsBind, \r\n useEventBind,\r\n} from '@/hooks/use-view';\r\nimport { IIndexViewAbility, IIndexViewController, IIndexViewControllerParams, IIndexViewStore, IndexViewActionType, IndexViewController, IParam, ILoadingHelper, IContext, IEvent } from \"@/core\";\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n appIconPath?: string,\r\n controller: IIndexViewController<IIndexViewStore, IIndexViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IIndexViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n const classNames = getIndexViewClassNames(model, props);\r\n Object.assign(classNames, {\r\n \"menu-right-align\": true\r\n })\r\n \treturn classNames;\r\n});",
"templCode3" : ".menu-right-align {\r\n .app-control-menu--center .app-control-menu__group__content {\r\n justify-content: flex-end;\r\n }\r\n}"
}, {
"name" : "表单测试插件",
......@@ -5630,8 +5636,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEGRIDVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"controller.model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"controller.model.caption\" :title=\"controller.model.title\" :capPSLanguageRes=\"controller.model.capPSLanguageRes\" :titlePSLanguageRes=\"controller.model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!controller.store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"gridViewBottomToolbar\"\r\n :items=\"controller.store.toolbarItems\"\r\n :loading=\"controller.store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <MainGrid\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :defaultEnableRowEdit=\"controller.model.enableRowEdit\"\r\n :openView=\"controller.store.openView\"\r\n :newView=\"controller.store.newView\"\r\n :rowActiveMode='controller.model.rowActiveMode'\r\n name=\"grid\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></MainGrid>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainGrid from '@widgets/ibizbook/main-grid/main-grid.vue';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport {\r\n\tuseNavParamsBind,\r\n\tuseEventBind,\r\n\tgetViewClassNames,\r\n \thandleQuickSearch,\r\n \thandleToolbarItemClick,\r\n\thandleCtrlAction,\r\n\thandleCtrlInit,\r\n\thandleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { GridViewActionType, GridViewController, IGridViewAbility, IGridViewController, IGridViewControllerParams, IGridViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IGridViewController<IGridViewStore, IGridViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});"
"templCode" : "<AppViewLayout class=\"menu-right-align\" :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"gridViewBottomToolbar\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <MainGrid\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :defaultEnableRowEdit=\"model.enableRowEdit\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n :rowActiveMode='model.rowActiveMode'\r\n name=\"grid\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></MainGrid>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainGrid from '@widgets/ibizbook/main-grid/main-grid.vue';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport {\r\n\tuseNavParamsBind,\r\n\tuseEventBind,\r\n\tgetViewClassNames,\r\n \thandleQuickSearch,\r\n \thandleToolbarItemClick,\r\n\thandleCtrlAction,\r\n\thandleCtrlInit,\r\n\thandleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { GridViewActionType, GridViewController, IGridViewAbility, IGridViewController, IGridViewControllerParams, IGridViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IGridViewController<IGridViewStore, IGridViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\n\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IGridViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n \treturn getViewClassNames(model, props);\r\n});"
}, {
"name" : "表格(透视表)",
"getPSSysPFPlugin" : {
......@@ -5686,6 +5692,17 @@
"refMode" : "CONTROL",
"refTag" : "LIST",
"templCode" : " <div>\r\n <p style=\"font-size: 23px;color: #fff;\">订单明细总数</p>\r\n <div style=\"text-align: center;font-size: 41px;color: #fff;\">\r\n <span>10</span>\r\n </div>\r\n </div>"
}, {
"name" : "选择视图自定义",
"getPSSysPFPlugin" : {
"pluginType" : "VIEW_CUSTOM",
"pluginCode" : "pickerViewCustom"
},
"pluginCode" : "pickerViewCustom",
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEPICKUPVIEW",
"templCode" : "<div>选择视图插件</div>"
}, {
"name" : "选项操作视图按钮左对齐",
"getPSSysPFPlugin" : {
......@@ -5696,7 +5713,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEOPTVIEW",
"templCode" : "<div>选项操作视图按钮左对齐</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__buttons\">\r\n <AppButton type=\"primary\" @click=\"handleConfirm\">\r\n {{$t('app.common.confirm', '确认')}}\r\n </AppButton>\r\n <AppButton @click=\"handleCancel\">\r\n {{$t('app.common.cancel', '取消')}}\r\n </AppButton>\r\n </div>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import OptionViewLeftAlign from \"@plugins/view/option-view-left-align/option-view-left-align.vue\";\r\nimport { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleOptViewButtonAction, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { OptViewActionType, IContext, IParam, IOptViewAbility, IOptViewControllerParams, IOptViewStore, OptViewController, IOptViewController,ILoadingHelper, IEvent } from '@/core';\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IOptViewController<IOptViewStore, IOptViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IOptViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n const classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"option-view-left-align\": true});\r\n return classNames;\r\n});",
"templCode3" : ".option-view-left-align {\r\n .view-footer__buttons {\r\n text-align: left;\r\n }\r\n}"
}, {
"name" : "部件数量",
"getPSSysPFPlugin" : {
......@@ -13709,6 +13728,15 @@
"name" : "表格视图(无标题,底部工具栏)",
"typeCode" : "NOCAPBOTTOMTOOLBAR",
"viewType" : "DEGRIDVIEW"
}, {
"name" : "选择视图自定义",
"getPSSysPFPlugin" : {
"pluginType" : "VIEW_CUSTOM",
"pluginCode" : "pickerViewCustom"
},
"pluginCode" : "pickerViewCustom",
"typeCode" : "pickerViewCustom",
"viewType" : "DEPICKUPVIEW"
}, {
"name" : "选项操作视图左对齐按钮",
"getPSSysPFPlugin" : {
......@@ -17590,6 +17618,12 @@
"viewType" : "DEEDITVIEW2",
"resource" : "IBIZOrder",
"view" : "State10EditView2"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUsrPickupView_plugin.json",
"viewType" : "DEPICKUPVIEW",
"resource" : "IBIZBOOK",
"view" : "UsrPickupView_plugin"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZSample0017EditView.json",
......@@ -36416,6 +36450,10 @@
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUpdateDefaultGridView.json",
"viewType" : "DEGRIDVIEW"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKUsrPickupView_plugin.json",
"viewType" : "DEPICKUPVIEW"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/IBIZBOOKListView.json",
......@@ -11,7 +11,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DELISTVIEW",
"templCode" : "<div>列表视图斑马纹</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n <div class=\"view-header__right__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"listViewStripe\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <AutoGroupListList\r\n :rowActiveMode='model.rowActiveMode'\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"list\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></AutoGroupListList>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport AutoGroupListList from '@widgets/ibizbook/lnternal-func-list-list/lnternal-func-list-list.vue';\r\nimport {\r\n useNavParamsBind,\r\n useEventBind,\r\n getViewClassNames,\r\n handleQuickSearch,\r\n handleToolbarItemClick,\r\n handleCtrlAction,\r\n handleCtrlInit,\r\n handleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { ListViewActionType, ListViewController, IListViewAbility, IListViewController, IListViewControllerParams, IListViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IListViewController<IListViewStore, IListViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IListViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n \tconst classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"list-view-stripe\": true});\r\n return classNames;\r\n});",
"templCode3" : ".list-view-stripe {\r\n .ant-list-items {\r\n .ant-list-item:nth-child(even) {\r\n background-color: #fafafa;\r\n }\r\n }\r\n}"
}, {
"name" : "列表面板自定义插件",
"getPSSysPFPlugin" : {
......@@ -58,7 +60,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEWIZARDVIEW",
"templCode" : "<div>底部步骤条</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <guideWizardPanel\r\n :actions=\"{\r\n initAction: 'Get',\r\n finishAction: 'Update',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n name=\"wizardpanel\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport guideWizardPanel from '@widgets/ibizbook/guide-wizard-panel/guide-wizard-panel.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { WizardViewActionType, IContext, IParam, IWizardViewAbility, IWizardViewControllerParams, IWizardViewStore, WizardViewController, IWizardViewController, ILoadingHelper, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IWizardViewController<IWizardViewStore, IWizardViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IWizardViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n const classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"bottom-steper\": true});\r\n return classNames;\r\n});",
"templCode3" : ".bottom-steper {\r\n .app-control-wizardpanel {\r\n .app-control-wizardpanel__header {\r\n order: 10;\r\n }\r\n }\r\n}"
}, {
"name" : "工具栏测试插件",
"getPSSysPFPlugin" : {
......@@ -153,7 +157,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DETREEVIEW",
"templCode" : "<div>树视图右对齐</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <TreeViewTree\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"tree\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template> \r\n </AppViewLayout>",
"templCode2" : "import TreeViewRightAlign from \"@plugins/view/tree-view-right-align/tree-view-right-align.vue\";\r\nimport { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport TreeViewTree from '@widgets/ibizbook/tree-view-tree/tree-view-tree.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { TreeViewActionType, IContext, IParam, ITreeViewAbility, ITreeViewControllerParams, ITreeViewStore, TreeViewController, ITreeViewController, ILoadingHelper, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: ITreeViewController<ITreeViewStore, ITreeViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});",
"templCode3" : ".tree-view-right-align {\r\n .ant-tree-treenode {\r\n justify-content: flex-end;\r\n .ant-tree-node-content-wrapper {\r\n flex: none !important;\r\n }\r\n }\r\n}"
}, {
"name" : "模拟获取动态轮播图数据",
"getPSSysPFPlugin" : {
......@@ -232,8 +238,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEEDITVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && controller.model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"controller.model.caption\" :title=\"controller.model.title\" :capPSLanguageRes=\"controller.model.capPSLanguageRes\" :titlePSLanguageRes=\"controller.model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"controller.model.showDataInfoBar\" :dataInfo=\"controller.store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"BOTTOMBTN\"\r\n :items=\"controller.store.toolbarItems\"\r\n :loading=\"controller.store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"controller.store.openView\"\r\n :newView=\"controller.store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\n\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleToolbarItemClick,\r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy,\r\n getViewClassNames\r\n} from \"@/hooks/use-view\";\r\nimport { EditViewActionType, IContext, IParam, IEditViewAbility, IEditViewControllerParams, IEditViewStore, EditViewController, IEditViewController, ILoadingHelper, IEditFormAbility, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IEditViewController<IEditViewStore, IEditViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"BOTTOMBTN\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\n\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleToolbarItemClick,\r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy,\r\n getViewClassNames\r\n} from \"@/hooks/use-view\";\r\nimport { EditViewActionType, IContext, IParam, IEditViewAbility, IEditViewControllerParams, IEditViewStore, EditViewController, IEditViewController, ILoadingHelper, IEditFormAbility, IEvent } from '@/core';\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IEditViewController<IEditViewStore, IEditViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IEditViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n \treturn getViewClassNames(model, props);\r\n});"
}, {
"name" : "获取模拟动态图片数据",
"getPSSysPFPlugin" : {
......@@ -265,8 +271,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "APPINDEXVIEW",
"templCode" : "<AppIndexViewLayoutCenter class=\"menu-right-align\" :mainMenuAlign=\"controller.model.mainMenuAlign\" :class=\"classNames\">\r\n <template #appHeaderLeft>\r\n </template>\r\n <template #appHeaderRight>\r\n <template v-if=\"controller.store.showLang\">\r\n <AppLang></AppLang>\r\n </template>\r\n <template v-if=\"controller.store.showTheme\">\r\n <AppTheme></AppTheme>\r\n </template>\r\n <template v-if=\"controller.store.showOrg\">\r\n <span>组织选择</span>\r\n </template>\r\n <AppUser></AppUser>\r\n <template v-if=\"controller.store.showMsgPopover\">\r\n <AppMessagePopover></AppMessagePopover>\r\n </template>\r\n </template>\r\n <template #default>\r\n <Usr1207222915MenuMenu\r\n viewStyle='menuRightAlign'\r\n :isDefaultPage=\"controller.model.defaultPage\"\r\n :isBlankMode=\"controller.model.blankMode\"\r\n :defPSAppView=\"controller.model.defPSAppView\"\r\n :mode='controller.model.mainMenuAlign'\r\n :counterData=\"controller.store.counterData\"\r\n name=\"appmenu\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></Usr1207222915MenuMenu>\r\n </template>\r\n <template #tabPageExp>\r\n <TabPageExp></TabPageExp>\r\n </template>\r\n <template #navPos>\r\n <AppNavPos></AppNavPos>\r\n </template>\r\n </AppIndexViewLayoutCenter>",
"templCode2" : "import { AppIndexViewLayoutCenter } from \"@components/layout/index-view-layout\";\r\nimport Usr1207222915MenuMenu from '@widgets/app/usr-1207222915-menu-menu/usr-1207222915-menu-menu.vue';\r\n\r\nimport { \r\n getIndexViewClassNames, \r\n handleCtrlInit, \r\n handleCtrlAction, \r\n handleCtrlDestroy, \r\n useNavParamsBind, \r\n useEventBind,\r\n} from '@/hooks/use-view';\r\nimport { IIndexViewAbility, IIndexViewController, IIndexViewControllerParams, IIndexViewStore, IndexViewActionType, IndexViewController, IParam, ILoadingHelper, IContext, IEvent } from \"@/core\";\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n appIconPath?: string,\r\n controller: IIndexViewController<IIndexViewStore, IIndexViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});",
"templCode" : "<AppIndexViewLayoutCenter :mainMenuAlign=\"model.mainMenuAlign\" :class=\"classNames\">\r\n <template #appHeaderLeft>\r\n </template>\r\n <template #appHeaderRight>\r\n <template v-if=\"store.showLang\">\r\n <AppLang></AppLang>\r\n </template>\r\n <template v-if=\"store.showTheme\">\r\n <AppTheme></AppTheme>\r\n </template>\r\n <template v-if=\"store.showOrg\">\r\n <span>组织选择</span>\r\n </template>\r\n <AppUser></AppUser>\r\n <template v-if=\"store.showMsgPopover\">\r\n <AppMessagePopover></AppMessagePopover>\r\n </template>\r\n </template>\r\n <template #default>\r\n <Usr1207222915MenuMenu\r\n viewStyle='menuRightAlign'\r\n :isDefaultPage=\"model.defaultPage\"\r\n :isBlankMode=\"model.blankMode\"\r\n :defPSAppView=\"model.defPSAppView\"\r\n :mode='model.mainMenuAlign'\r\n :counterData=\"store.counterData\"\r\n name=\"appmenu\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></Usr1207222915MenuMenu>\r\n </template>\r\n <template #tabPageExp>\r\n <TabPageExp></TabPageExp>\r\n </template>\r\n <template #navPos>\r\n <AppNavPos></AppNavPos>\r\n </template>\r\n </AppIndexViewLayoutCenter>",
"templCode2" : "import { AppIndexViewLayoutCenter } from \"@components/layout/index-view-layout\";\r\nimport Usr1207222915MenuMenu from '@widgets/app/usr-1207222915-menu-menu/usr-1207222915-menu-menu.vue';\r\n\r\nimport { \r\n getIndexViewClassNames, \r\n handleCtrlInit, \r\n handleCtrlAction, \r\n handleCtrlDestroy, \r\n useNavParamsBind, \r\n useEventBind,\r\n} from '@/hooks/use-view';\r\nimport { IIndexViewAbility, IIndexViewController, IIndexViewControllerParams, IIndexViewStore, IndexViewActionType, IndexViewController, IParam, ILoadingHelper, IContext, IEvent } from \"@/core\";\r\n\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n appIconPath?: string,\r\n controller: IIndexViewController<IIndexViewStore, IIndexViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IIndexViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n const classNames = getIndexViewClassNames(model, props);\r\n Object.assign(classNames, {\r\n \"menu-right-align\": true\r\n })\r\n \treturn classNames;\r\n});",
"templCode3" : ".menu-right-align {\r\n .app-control-menu--center .app-control-menu__group__content {\r\n justify-content: flex-end;\r\n }\r\n}"
}, {
"name" : "表单测试插件",
......@@ -289,8 +295,8 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEGRIDVIEW",
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"controller.model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"controller.model.caption\" :title=\"controller.model.title\" :capPSLanguageRes=\"controller.model.capPSLanguageRes\" :titlePSLanguageRes=\"controller.model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!controller.store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"gridViewBottomToolbar\"\r\n :items=\"controller.store.toolbarItems\"\r\n :loading=\"controller.store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <MainGrid\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :defaultEnableRowEdit=\"controller.model.enableRowEdit\"\r\n :openView=\"controller.store.openView\"\r\n :newView=\"controller.store.newView\"\r\n :rowActiveMode='controller.model.rowActiveMode'\r\n name=\"grid\"\r\n :context=\"controller.store.context\"\r\n :viewParams=\"controller.store.viewParams\"\r\n :closeView=\"controller.store.closeView\"\r\n :pLoadingHelper=\"controller.store.loadingHelper\"\r\n :pViewCtx=\"controller.store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></MainGrid>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainGrid from '@widgets/ibizbook/main-grid/main-grid.vue';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport {\r\n\tuseNavParamsBind,\r\n\tuseEventBind,\r\n\tgetViewClassNames,\r\n \thandleQuickSearch,\r\n \thandleToolbarItemClick,\r\n\thandleCtrlAction,\r\n\thandleCtrlInit,\r\n\thandleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { GridViewActionType, GridViewController, IGridViewAbility, IGridViewController, IGridViewControllerParams, IGridViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IGridViewController<IGridViewStore, IGridViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});"
"templCode" : "<AppViewLayout class=\"menu-right-align\" :class=\"classNames\">\r\n <template #viewHeaderLeft>\r\n <div v-if=\"model.showCaption && !noViewCaption\" class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n <div class=\"view-header__right__quicksearch\" v-show=\"!store.expandSearchForm\">\r\n <AppQuickSearch @search=\"(searchValue:string) => handleQuickSearch(controller, searchValue)\" />\r\n </div>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__toolbar\">\r\n <AppToolbar\r\n name=\"toolbar\"\r\n mode=\"gridViewBottomToolbar\"\r\n :items=\"store.toolbarItems\"\r\n :loading=\"store.loadingHelper.isLoading\"\r\n @item-click=\"(name: string, event: MouseEvent, logic: any) => { handleToolbarItemClick(controller, name, event, logic) }\">\r\n </AppToolbar>\r\n </div>\r\n </template>\r\n <template #viewContentTop>\r\n </template>\r\n <template #default>\r\n <MainGrid\r\n :actions=\"{\r\n loadDraftAction: 'GetDraft',\r\n createAction: 'Create',\r\n fetchAction: 'FetchDefault',\r\n removeAction: 'Remove',\r\n updateAction: 'Update'\r\n }\"\r\n :defaultEnableRowEdit=\"model.enableRowEdit\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n :rowActiveMode='model.rowActiveMode'\r\n name=\"grid\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"></MainGrid>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport { AppToolbar } from '@components/widgets/toolbar';\r\nimport MainGrid from '@widgets/ibizbook/main-grid/main-grid.vue';\r\nimport QUICKSEARCHFORMSearchForm from '@widgets/ibizbook/quicksearchform-searchform/quicksearchform-searchform.vue';\r\nimport {\r\n\tuseNavParamsBind,\r\n\tuseEventBind,\r\n\tgetViewClassNames,\r\n \thandleQuickSearch,\r\n \thandleToolbarItemClick,\r\n\thandleCtrlAction,\r\n\thandleCtrlInit,\r\n\thandleCtrlDestroy,\r\n} from \"@/hooks/use-view\";\r\nimport { GridViewActionType, GridViewController, IGridViewAbility, IGridViewController, IGridViewControllerParams, IGridViewStore, IParam, IContext, ILoadingHelper, LoadingHelper, IEvent } from \"@/core\";\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IGridViewController<IGridViewStore, IGridViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\n\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IGridViewStore = props.controller.getStore();\r\n\r\nconst classNames = computed(() => {\r\n \treturn getViewClassNames(model, props);\r\n});"
}, {
"name" : "表格(透视表)",
"getPSSysPFPlugin" : {
......@@ -345,6 +351,17 @@
"refMode" : "CONTROL",
"refTag" : "LIST",
"templCode" : " <div>\r\n <p style=\"font-size: 23px;color: #fff;\">订单明细总数</p>\r\n <div style=\"text-align: center;font-size: 41px;color: #fff;\">\r\n <span>10</span>\r\n </div>\r\n </div>"
}, {
"name" : "选择视图自定义",
"getPSSysPFPlugin" : {
"pluginType" : "VIEW_CUSTOM",
"pluginCode" : "pickerViewCustom"
},
"pluginCode" : "pickerViewCustom",
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEPICKUPVIEW",
"templCode" : "<div>选择视图插件</div>"
}, {
"name" : "选项操作视图按钮左对齐",
"getPSSysPFPlugin" : {
......@@ -355,7 +372,9 @@
"pluginType" : "VIEW_CUSTOM",
"refMode" : "APPVIEW",
"refTag" : "DEOPTVIEW",
"templCode" : "<div>选项操作视图按钮左对齐</div>"
"templCode" : "<AppViewLayout :class=\"classNames\">\r\n <template v-if=\"!noViewCaption && model.showCaption\" #viewHeaderLeft>\r\n <div class=\"view-header__left__caption\">\r\n <AppCaptionBar :caption=\"model.caption\" :title=\"model.title\" :capPSLanguageRes=\"model.capPSLanguageRes\" :titlePSLanguageRes=\"model.titlePSLanguageRes\"></AppCaptionBar>\r\n <AppDataInfoBar v-if=\"model.showDataInfoBar\" :dataInfo=\"store.dataInfo\"></AppDataInfoBar>\r\n </div>\r\n </template>\r\n <template #viewHeaderRight>\r\n </template>\r\n <template #default>\r\n <MainForm\r\n :actions=\"{\r\n loadAction: 'Get',\r\n loadDraftAction: 'GetDraft',\r\n updateAction: 'Update',\r\n createAction: 'Create',\r\n removeAction: 'Remove',\r\n wfSubmitAction: '',\r\n wfStartAction: '',\r\n }\"\r\n :openView=\"store.openView\"\r\n :newView=\"store.newView\"\r\n \r\n name=\"form\"\r\n :context=\"store.context\"\r\n :viewParams=\"store.viewParams\"\r\n :closeView=\"store.closeView\"\r\n :pLoadingHelper=\"store.loadingHelper\"\r\n :pViewCtx=\"store.viewCtx\"\r\n @ctrl-init=\"(name:string, ability:any) => { handleCtrlInit(controller, name, ability) }\"\r\n @ctrl-action=\"(name:string, action:any, data:any) => { handleCtrlAction(controller, name, action, data) }\"\r\n @ctrl-destroy=\"(name:string, data:any) => { handleCtrlDestroy(controller, name, data) }\"/>\r\n </template>\r\n <template #viewFooter>\r\n <div class=\"view-footer__buttons\">\r\n <AppButton type=\"primary\" @click=\"handleConfirm\">\r\n {{$t('app.common.confirm', '确认')}}\r\n </AppButton>\r\n <AppButton @click=\"handleCancel\">\r\n {{$t('app.common.cancel', '取消')}}\r\n </AppButton>\r\n </div>\r\n </template>\r\n </AppViewLayout>",
"templCode2" : "import OptionViewLeftAlign from \"@plugins/view/option-view-left-align/option-view-left-align.vue\";\r\nimport { AppViewLayout } from \"@components/layout/view-layout\";\r\nimport MainForm from '@widgets/ibizbook/main-form/main-form.vue';\r\nimport { \r\n useNavParamsBind, \r\n useEventBind, \r\n handleOptViewButtonAction, \r\n handleCtrlAction, \r\n handleCtrlInit, \r\n handleCtrlDestroy, \r\n getViewClassNames,\r\n} from \"@/hooks/use-view\";\r\nimport { OptViewActionType, IContext, IParam, IOptViewAbility, IOptViewControllerParams, IOptViewStore, OptViewController, IOptViewController,ILoadingHelper, IEvent } from '@/core';\r\ninterface Props {\r\n name?: string,\r\n noViewCaption?: boolean,\r\n openType?: 'ROUTE' | 'EMBED' | 'MODAL',\r\n context?: IContext,\r\n viewParams?: IParam,\r\n pLoadingHelper?: ILoadingHelper,\r\n isLoadDefault?: boolean,\r\n controller: IOptViewController<IOptViewStore, IOptViewAbility>\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n noViewCaption: false,\r\n openType: 'ROUTE',\r\n isLoadDefault: true,\r\n});\r\nconst model: IParam = props.controller.getModel();\r\nconst store: IOptViewStore = props.controller.getStore();\r\nconst classNames = computed(() => {\r\n const classNames = getViewClassNames(model, props);\r\n Object.assign(classNames, {\"option-view-left-align\": true});\r\n return classNames;\r\n});",
"templCode3" : ".option-view-left-align {\r\n .view-footer__buttons {\r\n text-align: left;\r\n }\r\n}"
}, {
"name" : "部件数量",
"getPSSysPFPlugin" : {
......
......@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-1095-7">
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-1116-7">
<createTable tableName="T_IBIZBOOK">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册