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

zhujiamin 发布系统代码 [TrainSys,网页端]

上级 cc738085
...@@ -40,6 +40,7 @@ import { WizardViewEngine } from "./wizard-view-engine"; ...@@ -40,6 +40,7 @@ import { WizardViewEngine } from "./wizard-view-engine";
import { MPickupView2Engine } from "./mpickup-view2-engine"; import { MPickupView2Engine } from "./mpickup-view2-engine";
import { PickupView3Engine } from "./pickup-view3-engine"; import { PickupView3Engine } from "./pickup-view3-engine";
import { EditView9Engine } from "./edit-view9-engine"; import { EditView9Engine } from "./edit-view9-engine";
import { GridView9Engine } from "./grid-view9-engine";
export class appEngineService{ export class appEngineService{
...@@ -56,6 +57,8 @@ export class appEngineService{ ...@@ -56,6 +57,8 @@ export class appEngineService{
return new GridViewEngine(); return new GridViewEngine();
case 'DEGRIDVIEW4': case 'DEGRIDVIEW4':
return new GridView4Engine(); return new GridView4Engine();
case 'DEGRIDVIEW9':
return new GridView9Engine();
case 'DEEDITVIEW': case 'DEEDITVIEW':
return new EditViewEngine(); return new EditViewEngine();
case 'DEEDITVIEW9': case 'DEEDITVIEW9':
......
...@@ -18,6 +18,15 @@ export class ExpViewEngine extends ViewEngine { ...@@ -18,6 +18,15 @@ export class ExpViewEngine extends ViewEngine {
*/ */
protected expBar: any = null; protected expBar: any = null;
/**
* 是否真正选中
*
* @protected
* @type {boolean}
* @memberof ExpViewEngine
*/
protected isRealSelected: boolean = false;
/** /**
* 是否关闭导航视图 * 是否关闭导航视图
* *
...@@ -67,6 +76,17 @@ export class ExpViewEngine extends ViewEngine { ...@@ -67,6 +76,17 @@ export class ExpViewEngine extends ViewEngine {
this.isCloseNavView = true; this.isCloseNavView = true;
} }
/**
* 处理导航视图重绘(有选中项,且导航视图需要刷新则通知嵌入导航视图执行刷新逻辑)
*
* @memberof ExpViewEngine
*/
public handleNavViewRefresh(tag: string) {
if (this.view && this.view.viewState && this.isRealSelected) {
this.setViewState2({ tag, action: 'load', viewdata: this.view.viewparams });
}
}
/** /**
* 事件处理 * 事件处理
* *
...@@ -107,6 +127,18 @@ export class ExpViewEngine extends ViewEngine { ...@@ -107,6 +127,18 @@ export class ExpViewEngine extends ViewEngine {
if (this.view.backSplit !== 0) { if (this.view.backSplit !== 0) {
this.view.split = this.view.backSplit; this.view.split = this.view.backSplit;
} }
// 计算真实选中值
if (args && args.data && args.data[0]) {
const selectedData = args.data[0];
const result = Object.keys(selectedData).find((key: string) => {
return selectedData[key] !== null && key !== 'srfchecked';
})
if(result){
this.isRealSelected = true;
}else{
this.isRealSelected = false;
}
}
this.view.$forceUpdate(); this.view.$forceUpdate();
} }
this.emitViewEvent('viewdataschange', args?.data); this.emitViewEvent('viewdataschange', args?.data);
......
...@@ -84,6 +84,11 @@ export class ViewEngine { ...@@ -84,6 +84,11 @@ export class ViewEngine {
*/ */
public load(opts: any = {}): void { public load(opts: any = {}): void {
Object.assign(this.view.viewparams, opts); Object.assign(this.view.viewparams, opts);
if(!this.isLoadDefault && this.view && this.view.isNavView){
this.view.renderNoDataShade();
}else{
this.view.removeNoDataShade();
}
} }
/** /**
......
...@@ -728,6 +728,23 @@ export class Util { ...@@ -728,6 +728,23 @@ export class Util {
}) })
} }
/**
* 元素选择器
* @param tag (id选择/class类名选择/css元素选择)
*/
public static selector(tag: string) {
// id选择直接返回
if (document.getElementById(tag)) {
return document.getElementById(tag);
}
// class选择返回找到的第一个元素
if (document.getElementsByClassName(tag)) {
return document.getElementsByClassName(tag)[0];
}
// 通过css元素器获取第一个符合条件的元素
return document.querySelector(tag);
}
} }
/** /**
* 创建 UUID * 创建 UUID
......
import { IPSAppDEUIAction } from '@ibiz/dynamic-model-api'; import { IPSAppDEUIAction } from '@ibiz/dynamic-model-api';
import { PluginService } from 'ibiz-core'; import { PluginService } from 'ibiz-core';
import { AppBackEndAction } from './app-backend-action'; import { AppBackEndAction } from './app-backend-action';
import { AppCustomAction } from './app-custom-action';
import { AppFrontAction } from './app-front-action'; import { AppFrontAction } from './app-front-action';
import { AppSysAction } from './app-sys-action'; import { AppSysAction } from './app-sys-action';
...@@ -39,6 +40,8 @@ export class AppActionFactory { ...@@ -39,6 +40,8 @@ export class AppActionFactory {
return new AppBackEndAction(modelData, context); return new AppBackEndAction(modelData, context);
case 'SYS': case 'SYS':
return new AppSysAction(modelData, context); return new AppSysAction(modelData, context);
case 'CUSTOM':
return new AppCustomAction(modelData, context);
default: default:
return undefined; return undefined;
} }
......
import { LogUtil, Util } from 'ibiz-core';
import { AppDEUIAction } from './app-ui-action';
export class AppCustomAction extends AppDEUIAction {
/**
* 初始化AppCustomAction
*
* @memberof AppCustomAction
*/
constructor(opts: any, context?: any) {
super(opts, context);
}
/**
* 执行界面行为
*
* @param args
* @param context
* @param params
* @param $event
* @param xData
* @param actionContext
* @param srfParentDeName
*
* @memberof AppCustomAction
*/
public async execute(
args: any[],
context: any = {},
params: any = {},
$event?: any,
xData?: any,
actionContext?: any,
srfParentDeName?: string,
deUIService?: any,
) {
// 自定义脚本
if (this.actionModel && this.actionModel.scriptCode) {
// 准备自定义脚本数据(context:应用上下文,params:视图参数,data:业务数据)
const data = args;
const selector = Util.selector;
eval(this.actionModel.scriptCode);
} else {
LogUtil.warn(`自定义界面行为暂未实现`);
}
}
}
...@@ -2,4 +2,5 @@ export { AppBackEndAction } from './app-backend-action'; ...@@ -2,4 +2,5 @@ export { AppBackEndAction } from './app-backend-action';
export { AppFrontAction } from './app-front-action'; export { AppFrontAction } from './app-front-action';
export { AppActionFactory } from './app-action-factory'; export { AppActionFactory } from './app-action-factory';
export { AppSysAction } from './app-sys-action'; export { AppSysAction } from './app-sys-action';
export { AppCustomAction } from './app-custom-action';
export * from './appuilogic'; export * from './appuilogic';
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<i v-if="getIconClass(item)" :class="getIconClass(item)"></i> <i v-if="getIconClass(item)" :class="getIconClass(item)"></i>
<img v-if="isIconImage(item)" :src="item.imgUrlBase64" /> <img v-if="isIconImage(item)" :src="item.imgUrlBase64" />
<span :class="getTextClass(item)" :style="{ color: item.color }"> <span :class="getTextClass(item)" :style="{ color: item.color }">
{{ item.value || item.value == 0 ? ($t(item.text) || item.text) : items.length == 1 ? '- - -' : ''}} {{ item.text ? ($t(item.text) || item.text) : items.length == 1 ? '- - -' : ''}}
</span> </span>
<span v-if="index != items.length-1">{{ textSeparator }}</span> <span v-if="index != items.length-1">{{ textSeparator }}</span>
</span> </span>
......
...@@ -420,12 +420,17 @@ export class AppmenuBase extends AppMenuControlBase { ...@@ -420,12 +420,17 @@ export class AppmenuBase extends AppMenuControlBase {
<el-submenu popper-class="app-popper-menu" v-show={!item.hidden} index={item?.name}> <el-submenu popper-class="app-popper-menu" v-show={!item.hidden} index={item?.name}>
<template slot='title'>{item.caption}</template> <template slot='title'>{item.caption}</template>
{item.getPSAppMenuItems.map((item1: any) => ( {item.getPSAppMenuItems.map((item1: any) => (
<el-menu-item v-show={!item1.hidden} index={item1?.name}> <el-menu-item v-show={!item1.hidden} index={item1?.name} class={{ 'seperator': Object.is(item1.itemType, 'SEPERATOR')}}>
{this.$tl(item1.captionTag, item1.caption)} {
<badge !Object.is(item1.itemType, 'SEPERATOR') ?
count={this.counterdata ? this.counterdata[item1.counterid] : null} [
overflow-count={9999} this.$tl(item1.captionTag, item1.caption),
></badge> <badge
count={this.counterdata ? this.counterdata[item1.counterid] : null}
overflow-count={9999}
></badge>
] : <divider />
}
</el-menu-item> </el-menu-item>
))} ))}
</el-submenu> </el-submenu>
......
...@@ -104,7 +104,7 @@ export class AppTabExpPanelBase extends TabExpPanelBase { ...@@ -104,7 +104,7 @@ export class AppTabExpPanelBase extends TabExpPanelBase {
return ( return (
<tab-pane lazy={true} name={tabViewPanel.name} tab={tabsName} disabled={disabled} <tab-pane lazy={true} name={tabViewPanel.name} tab={tabsName} disabled={disabled}
label={(h: any) => { label={(h: any) => {
return h('div', [ return h('div', { class: tabViewPanel.getPSSysCss()?.cssName }, [
IPSSysImage ? IPSSysImage.imagePath ? IPSSysImage ? IPSSysImage.imagePath ?
h('img', { h('img', {
src: IPSSysImage.imagePath, src: IPSSysImage.imagePath,
......
...@@ -244,6 +244,9 @@ ...@@ -244,6 +244,9 @@
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
} }
.el-menu-item.seperator {
height: auto !important;
}
.el-menu-item { .el-menu-item {
.ivu-badge { .ivu-badge {
.ivu-badge-count { .ivu-badge-count {
......
...@@ -807,7 +807,7 @@ export class ControlContainer extends Vue { ...@@ -807,7 +807,7 @@ export class ControlContainer extends Vue {
} }
/** /**
* 绘制遮罩 * 绘制权限遮罩
* *
* @memberof ControlContainer * @memberof ControlContainer
*/ */
...@@ -822,6 +822,60 @@ export class ControlContainer extends Vue { ...@@ -822,6 +822,60 @@ export class ControlContainer extends Vue {
} }
} }
/**
* 删除权限遮罩
*
* @memberof ControlContainer
*/
public removeShade() {
const currentViewKey = `${this.containerModel.codeName}`;
const el: any = currentViewKey ? document.getElementById(currentViewKey) : null;
if (el) {
el.classList.remove('no-authority-shade');
const targetElement = document.getElementsByClassName("no-authority-shade-child")[0];
if(targetElement){
el.removeChild(targetElement);
}
}
}
/**
* 绘制无数据遮罩
*
* @memberof ControlContainer
*/
public renderNoDataShade() {
const currentViewKey = `${this.containerModel.codeName}`;
const el: any = currentViewKey ? document.getElementById(currentViewKey) : null;
if (el) {
el.classList.add('no-nodata-shade');
const shade = document.createElement('div');
shade.setAttribute('class', 'no-nodata-shade-child');
const span = document.createElement('span');
span.setAttribute('class', 'empty-data-shade-tip')
span.append(`${this.$t('app.commonwords.nodata')}`);
shade.appendChild(span);
el.appendChild(shade);
}
}
/**
* 删除权限遮罩
*
* @memberof ControlContainer
*/
public removeNoDataShade() {
const currentViewKey = `${this.containerModel.codeName}`;
const el: any = currentViewKey ? document.getElementById(currentViewKey) : null;
if (el) {
el.classList.remove('no-nodata-shade');
const targetElement = document.getElementsByClassName("no-nodata-shade-child")[0];
if(targetElement){
el.removeChild(targetElement);
}
}
}
/** /**
* 应用实体代码名称 * 应用实体代码名称
* *
......
...@@ -166,7 +166,9 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface { ...@@ -166,7 +166,9 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface {
const navViewParam = this.navItem.srfnavdata ? this.navItem.srfnavdata.viewparams : {}; const navViewParam = this.navItem.srfnavdata ? this.navItem.srfnavdata.viewparams : {};
const targetCtrlParam: any = { const targetCtrlParam: any = {
staticProps: { staticProps: {
viewDefaultUsage: false viewDefaultUsage: false,
inputState: this.viewState,
isNavView: true
}, },
dynamicProps: { dynamicProps: {
viewdata: JSON.stringify(navContext), viewdata: JSON.stringify(navContext),
...@@ -175,13 +177,18 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface { ...@@ -175,13 +177,18 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface {
} }
return this.$createElement('app-view-shell', { return this.$createElement('app-view-shell', {
class: "viewcontainer2", class: "viewcontainer2",
key: navContext.viewpath, key: Util.createUUID(),
props: targetCtrlParam, props: targetCtrlParam,
on: { on: {
close: (data: any) => { close: (data: any) => {
if (this.engine) { if (this.engine) {
this.engine.closeNavView(); this.engine.closeNavView();
} }
},
viewNeedRefresh: (data: any, tag: string) => {
if (this.engine) {
this.engine.handleNavViewRefresh(tag);
}
} }
} }
}); });
...@@ -211,7 +218,7 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface { ...@@ -211,7 +218,7 @@ export class ExpViewBase extends MainViewBase implements ExpViewInterface {
v-model={this.split} v-model={this.split}
class={[ class={[
"exp-view", "exp-view",
`exp-view-${this.viewInstance.sideBarLayout ? this.viewInstance.sideBarLayout.toLowerCase() : 'left'}` `exp-view-${this.viewInstance.sideBarLayout ? this.viewInstance.sideBarLayout.toLowerCase() : 'left'}`
]} ]}
mode={this.viewInstance.sideBarLayout === 'TOP' ? 'vertical' : 'horizontal'} mode={this.viewInstance.sideBarLayout === 'TOP' ? 'vertical' : 'horizontal'}
on-on-move-end={() => this.handleSplitChange()}> on-on-move-end={() => this.handleSplitChange()}>
......
...@@ -64,6 +64,14 @@ export class ViewBase extends ControlContainer implements ViewInterface { ...@@ -64,6 +64,14 @@ export class ViewBase extends ControlContainer implements ViewInterface {
*/ */
public viewDefaultUsage!: boolean; public viewDefaultUsage!: boolean;
/**
* 是否为嵌入导航视图
*
* @type {boolean}
* @memberof ViewBase
*/
public isNavView:boolean = false;
/** /**
* 视图默认加载 * 视图默认加载
* *
...@@ -347,6 +355,7 @@ export class ViewBase extends ControlContainer implements ViewInterface { ...@@ -347,6 +355,7 @@ export class ViewBase extends ControlContainer implements ViewInterface {
this.cacheRoutePath = this.$route.fullPath; this.cacheRoutePath = this.$route.fullPath;
this.isLoadDefault = data.isLoadDefault ? true : false; this.isLoadDefault = data.isLoadDefault ? true : false;
this.viewDefaultUsage = data.viewDefaultUsage !== false; this.viewDefaultUsage = data.viewDefaultUsage !== false;
this.isNavView = data.isNavView == true;
this.noViewCaption = data.noViewCaption == true; this.noViewCaption = data.noViewCaption == true;
this.viewtag = data.viewtag; this.viewtag = data.viewtag;
this.inputState = data.inputState; this.inputState = data.inputState;
...@@ -982,12 +991,12 @@ export class ViewBase extends ControlContainer implements ViewInterface { ...@@ -982,12 +991,12 @@ export class ViewBase extends ControlContainer implements ViewInterface {
* @memberof ViewBase * @memberof ViewBase
*/ */
public closeViewWithDefault(view: any) { public closeViewWithDefault(view: any) {
const microAppService = AppServiceBase.getInstance().getMicroAppService(); const microAppService = AppServiceBase.getInstance().getMicroAppService();
if (microAppService && microAppService.getIsMicroApp()) { if (microAppService && microAppService.getIsMicroApp()) {
const data = {}; const data = {};
Object.assign(data, { microAppName: this.Environment.microAppName, fullPath: view.$route.fullPath }); Object.assign(data, { microAppName: this.Environment.microAppName, fullPath: view.$route.fullPath });
microAppService.noticeBaseApp({ action: 'REMOVE_PAGE', data }) microAppService.noticeBaseApp({ action: 'REMOVE_PAGE', data })
}else{ } else {
view.$store.commit("deletePage", view.$route.fullPath); view.$store.commit("deletePage", view.$route.fullPath);
const length = view.$store.state.historyPathList.length; const length = view.$store.state.historyPathList.length;
if (length > 0) { if (length > 0) {
...@@ -1034,18 +1043,22 @@ export class ViewBase extends ControlContainer implements ViewInterface { ...@@ -1034,18 +1043,22 @@ export class ViewBase extends ControlContainer implements ViewInterface {
} else { } else {
super.containerMounted(); super.containerMounted();
const _this: any = this; const _this: any = this;
this.$emit('view-event', { viewname: this.viewInstance.name, action: 'viewIsMounted', data: true }) this.$emit('view-event', { viewname: this.viewInstance.name, action: 'viewIsMounted', data: true });
this.handleContainerPreEvent('onViewMounted').then((result: boolean) => { this.handleContainerPreEvent('onViewMounted').then((result: boolean) => {
if (!result) { if (!result) {
return; return;
} }
if (this.engine) { if (this.engine) {
this.engineInit(); this.engineInit();
if(this.engine.loadModel instanceof Function) { if (this.engine.loadModel instanceof Function) {
this.engine.loadModel(); this.engine.loadModel();
} }
} }
this.$emit('view-event', { viewName: this.viewInstance.codeName, action: 'viewIsInited', data: null }); this.$emit('view-event', { viewName: this.viewInstance.codeName, action: 'viewIsInited', data: null });
// 默认不加载,需要重新刷新视图(导航视图专用)
if (this.viewInstance && ((this.viewInstance as any).loadDefault === false)) {
this.$emit('view-event', { viewName: this.viewInstance.name, action: 'viewNeedRefresh', data: true });
}
}) })
} }
} }
......
...@@ -158,6 +158,50 @@ html, body{ ...@@ -158,6 +158,50 @@ html, body{
} }
/*** END:权限遮罩 ***/ /*** END:权限遮罩 ***/
/*** BRGIN:无数据遮罩 ***/
.no-nodata-shade {
position: relative;
height: 100%;
& :first-child {
filter: blur(2px);
}
.no-nodata-shade-child {
height: 100%;
width: 100%;
position: absolute;
top: 0;
background-color: rgba(125,125,125, .3);
background-image: url("/assets/img/empty-data.svg");
background-repeat: no-repeat;
background-position: center;
.empty-data-shade-tip {
filter: brightness(1);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50px, 90px);
font-size: 20px;
}
&+.no-nodata-shade-child {
display: none;
}
}
.no-nodata-shade {
& :first-child {
filter: none;
}
.no-nodata-shade-child {
display: none;
}
}
}
.app-modal .ivu-modal .ivu-modal-content .ivu-modal-body{
.no-nodata-shade {
position: relative !important;
}
}
/*** END:无数据遮罩 ***/
.grid-row-select { .grid-row-select {
background-color: var(--ctrl-font-color-bright) !important; background-color: var(--ctrl-font-color-bright) !important;
td { td {
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</changeSet> </changeSet>
<!--输出实体[BOOK]数据结构 --> <!--输出实体[BOOK]数据结构 -->
<changeSet author="root" id="tab-book-170-3"> <changeSet author="root" id="tab-book-171-3">
<createTable tableName="T_BOOK"> <createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)"> <column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column> </column>
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
</changeSet> </changeSet>
<!--输出实体[REGINFOF]数据结构 --> <!--输出实体[REGINFOF]数据结构 -->
<changeSet author="root" id="tab-reginfof-33-9"> <changeSet author="root" id="tab-reginfof-34-9">
<createTable tableName="T_REGINFOF"> <createTable tableName="T_REGINFOF">
<column name="REGINFOFID" remarks="" type="VARCHAR(100)"> <column name="REGINFOFID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_REGINFOF"/> <constraints primaryKey="true" primaryKeyName="PK_REGINFOF"/>
......
...@@ -1759,6 +1759,13 @@ ...@@ -1759,6 +1759,13 @@
"logicName" : "更新", "logicName" : "更新",
"name" : "UPDATE" "name" : "UPDATE"
} ], } ],
"getAllPSDEPrints" : [ {
"codeName" : "Print",
"name" : "PRINT",
"reportFile" : "#",
"reportType" : "JR",
"id" : "PSMODULES/common/PSDATAENTITIES/Reginfof/PSDEPRINTS/Print.json"
} ],
"getAllPSDEUserRoles" : [ { "getAllPSDEUserRoles" : [ {
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfof/PSDEUSERROLES/ALL_R.json", "dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Reginfof/PSDEUSERROLES/ALL_R.json",
"name" : "全部数据(读)", "name" : "全部数据(读)",
......
{
"codeName" : "Print",
"name" : "PRINT",
"reportFile" : "#",
"reportType" : "JR",
"id" : "PSMODULES/common/PSDATAENTITIES/Reginfof/PSDEPRINTS/Print.json"
}
\ No newline at end of file
...@@ -141,6 +141,13 @@ ...@@ -141,6 +141,13 @@
"name" : "FIELD6", "name" : "FIELD6",
"codeName" : "Field6" "codeName" : "Field6"
} }
}, {
"id" : "field18",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
}
}, { }, {
"id" : "field7", "id" : "field7",
"dataType" : 25, "dataType" : 25,
...@@ -535,15 +542,14 @@ ...@@ -535,15 +542,14 @@
}, },
"getPSEditor" : { "getPSEditor" : {
"editorParams" : { "editorParams" : {
"isDrag" : "true", "uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ",
"accept" : "image/*", "multiple" : "true",
"MAXFILECNT" : "",
"MINFILECNT" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"FILEEXTS" : "", "FILEEXTS" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"accept" : "image/*",
"MAXFILESIZE" : "", "MAXFILESIZE" : "",
"uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ", "MINFILECNT" : "",
"multiple" : "true" "MAXFILECNT" : ""
}, },
"editorType" : "FILEUPLOADER", "editorType" : "FILEUPLOADER",
"maxFileCount" : -1, "maxFileCount" : -1,
...@@ -557,6 +563,35 @@ ...@@ -557,6 +563,35 @@
}, },
"allowEmpty" : true, "allowEmpty" : true,
"showCaption" : true "showCaption" : true
}, {
"caption" : "图片上传",
"codeName" : "field18",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "field18",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
},
"getPSEditor" : {
"editorType" : "PICTURE",
"maxFileCount" : -1,
"maxFileSize" : -1,
"minFileCount" : 0,
"name" : "field18"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, { }, {
"caption" : "HTML", "caption" : "HTML",
"codeName" : "field7", "codeName" : "field7",
......
...@@ -752,6 +752,11 @@ ...@@ -752,6 +752,11 @@
"requestPath" : "/select", "requestPath" : "/select",
"builtinMethod" : false "builtinMethod" : false
} ], } ],
"getAllPSAppDEPrints" : [ {
"codeName" : "Print",
"name" : "PRINT",
"reportType" : "JR"
} ],
"getAllPSDEOPPrivs" : [ { "getAllPSDEOPPrivs" : [ {
"logicName" : "建立", "logicName" : "建立",
"name" : "CREATE" "name" : "CREATE"
......
...@@ -713,6 +713,51 @@ ...@@ -713,6 +713,51 @@
}, },
"showCaption" : true, "showCaption" : true,
"showIcon" : true "showIcon" : true
}, {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "tbitem15",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "toolbar_tbitem15"
},
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"codeName" : "Print",
"fullCodeName" : "Print",
"name" : "编辑界面_打印操作",
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"predefinedType" : "EDITVIEW_PRINTACTION",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Print",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "打印",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"showCaption" : true,
"showIcon" : true
}, { }, {
"itemType" : "SEPERATOR", "itemType" : "SEPERATOR",
"name" : "tbitem16", "name" : "tbitem16",
......
...@@ -1323,6 +1323,55 @@ ...@@ -1323,6 +1323,55 @@
"itemType" : "SEPERATOR", "itemType" : "SEPERATOR",
"name" : "tbitem10", "name" : "tbitem10",
"spanMode" : false "spanMode" : false
}, {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "tbitem11",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "toolbar_tbitem11"
},
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"getPSUIAction" : {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"codeName" : "Print",
"fullCodeName" : "Print",
"name" : "表格界面_打印操作",
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"predefinedType" : "GRIDVIEW_PRINTACTION",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Print",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "打印",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"showCaption" : true,
"showIcon" : true
}, {
"itemType" : "SEPERATOR",
"name" : "tbitem12",
"spanMode" : false
}, { }, {
"caption" : "其它", "caption" : "其它",
"itemType" : "ITEMS", "itemType" : "ITEMS",
......
...@@ -262,6 +262,13 @@ ...@@ -262,6 +262,13 @@
"name" : "FIELD6", "name" : "FIELD6",
"codeName" : "Field6" "codeName" : "Field6"
} }
}, {
"id" : "field18",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
}
}, { }, {
"id" : "field7", "id" : "field7",
"dataType" : 25, "dataType" : 25,
...@@ -656,15 +663,14 @@ ...@@ -656,15 +663,14 @@
}, },
"getPSEditor" : { "getPSEditor" : {
"editorParams" : { "editorParams" : {
"isDrag" : "true", "uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ",
"accept" : "image/*", "multiple" : "true",
"MAXFILECNT" : "",
"MINFILECNT" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"FILEEXTS" : "", "FILEEXTS" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"accept" : "image/*",
"MAXFILESIZE" : "", "MAXFILESIZE" : "",
"uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ", "MINFILECNT" : "",
"multiple" : "true" "MAXFILECNT" : ""
}, },
"editorType" : "FILEUPLOADER", "editorType" : "FILEUPLOADER",
"maxFileCount" : -1, "maxFileCount" : -1,
...@@ -678,6 +684,35 @@ ...@@ -678,6 +684,35 @@
}, },
"allowEmpty" : true, "allowEmpty" : true,
"showCaption" : true "showCaption" : true
}, {
"caption" : "图片上传",
"codeName" : "field18",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "field18",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
},
"getPSEditor" : {
"editorType" : "PICTURE",
"maxFileCount" : -1,
"maxFileSize" : -1,
"minFileCount" : 0,
"name" : "field18"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, { }, {
"caption" : "HTML", "caption" : "HTML",
"codeName" : "field7", "codeName" : "field7",
......
{
"accUserMode" : 0,
"codeName" : "AppPortalView2",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPPORTALVIEWS/AppPortalView2.json",
"name" : "AppPortalView2",
"getPSControls" : [ {
"codeName" : "AppPortalView2_db",
"controlType" : "DASHBOARD",
"name" : "dashboard",
"getPSControlHandler" : {
"enableDEFieldPrivilege" : false,
"id" : "dashboard"
},
"getPSControlParam" : {
"autoLoad" : true,
"showBusyIndicator" : true
},
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"enableCustomized" : false,
"modelid" : "8C32C338-C7EF-486B-AC24-54EC274400E6",
"modeltype" : "PSSYSDASHBOARD"
} ],
"getPSViewLayoutPanel" : {
"codeName" : "Layoutpanel",
"controlStyle" : "APPPORTALVIEW",
"controlType" : "VIEWLAYOUTPANEL",
"name" : "layoutpanel",
"getPSControlParam" : { },
"layoutBodyOnly" : true,
"layoutPanel" : true,
"useDefaultLayout" : true
},
"title" : "应用门户视图2",
"viewStyle" : "DEFAULT",
"viewType" : "APPPORTALVIEW",
"enableDP" : true,
"modelid" : "8C32C338-C7EF-486B-AC24-54EC274400E6",
"modeltype" : "PSAPPPORTALVIEW"
}
\ No newline at end of file
...@@ -1070,6 +1070,11 @@ ...@@ -1070,6 +1070,11 @@
"viewType" : "DETREEEXPVIEW", "viewType" : "DETREEEXPVIEW",
"resource" : "Phone", "resource" : "Phone",
"view" : "TreeExpView" "view" : "TreeExpView"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPPORTALVIEWS/AppPortalView2.json",
"viewType" : "APPPORTALVIEW",
"view" : "AppPortalView2"
}, { }, {
"modelref" : true, "modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/BXDGridView.json", "path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/BXDGridView.json",
...@@ -3969,6 +3974,13 @@ ...@@ -3969,6 +3974,13 @@
"name" : "FIELD6", "name" : "FIELD6",
"codeName" : "Field6" "codeName" : "Field6"
} }
}, {
"id" : "field18",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
}
}, { }, {
"id" : "field7", "id" : "field7",
"dataType" : 25, "dataType" : 25,
...@@ -4363,15 +4375,14 @@ ...@@ -4363,15 +4375,14 @@
}, },
"getPSEditor" : { "getPSEditor" : {
"editorParams" : { "editorParams" : {
"isDrag" : "true", "uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ",
"accept" : "image/*", "multiple" : "true",
"MAXFILECNT" : "",
"MINFILECNT" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"FILEEXTS" : "", "FILEEXTS" : "",
"exportparams" : "{'test1':'%field16%','test2':'%field17%'}",
"accept" : "image/*",
"MAXFILESIZE" : "", "MAXFILESIZE" : "",
"uploadparams" : "{'test1':'%field16%','test2':'%field17%'} ", "MINFILECNT" : "",
"multiple" : "true" "MAXFILECNT" : ""
}, },
"editorType" : "FILEUPLOADER", "editorType" : "FILEUPLOADER",
"maxFileCount" : -1, "maxFileCount" : -1,
...@@ -4385,6 +4396,35 @@ ...@@ -4385,6 +4396,35 @@
}, },
"allowEmpty" : true, "allowEmpty" : true,
"showCaption" : true "showCaption" : true
}, {
"caption" : "图片上传",
"codeName" : "field18",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "field18",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD18",
"codeName" : "Field18"
},
"getPSEditor" : {
"editorType" : "PICTURE",
"maxFileCount" : -1,
"maxFileSize" : -1,
"minFileCount" : 0,
"name" : "field18"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, { }, {
"caption" : "HTML", "caption" : "HTML",
"codeName" : "field7", "codeName" : "field7",
...@@ -8888,6 +8928,55 @@ ...@@ -8888,6 +8928,55 @@
"itemType" : "SEPERATOR", "itemType" : "SEPERATOR",
"name" : "tbitem10", "name" : "tbitem10",
"spanMode" : false "spanMode" : false
}, {
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"groupExtractMode" : "ITEM",
"itemType" : "DEUIACTION",
"name" : "tbitem11",
"noPrivDisplayMode" : 2,
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "toolbar_tbitem11"
},
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"getPSUIAction" : {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
"lanResTag" : "TBB.TEXT.*.PRINT"
},
"caption" : "打印",
"codeName" : "Print",
"fullCodeName" : "Print",
"name" : "表格界面_打印操作",
"getPSSysImage" : {
"glyph" : "xf02f@FontAwesome",
"cssClass" : "fa fa-print"
},
"predefinedType" : "GRIDVIEW_PRINTACTION",
"timeout" : 60000,
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"uIActionMode" : "SYS",
"uIActionTag" : "Print",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "打印",
"getTooltipPSLanguageRes" : {
"lanResTag" : "TBB.TOOLTIP.*.PRINT"
},
"showCaption" : true,
"showIcon" : true
}, {
"itemType" : "SEPERATOR",
"name" : "tbitem12",
"spanMode" : false
}, { }, {
"caption" : "其它", "caption" : "其它",
"itemType" : "ITEMS", "itemType" : "ITEMS",
...@@ -15949,6 +16038,11 @@ ...@@ -15949,6 +16038,11 @@
"requestPath" : "/select", "requestPath" : "/select",
"builtinMethod" : false "builtinMethod" : false
} ], } ],
"getAllPSAppDEPrints" : [ {
"codeName" : "Print",
"name" : "PRINT",
"reportType" : "JR"
} ],
"getAllPSDEOPPrivs" : [ { "getAllPSDEOPPrivs" : [ {
"logicName" : "建立", "logicName" : "建立",
"name" : "CREATE" "name" : "CREATE"
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册