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

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

上级 599220cf
import { IParams } from "./i-params";
export interface IRedirectResult {
/**
* 原始数据
*
* @type {IParams}
* @memberof IRedirectResult
*/
srfdata?: IParams;
/**
* 重定向类型
*
* @type {string}
* @memberof IRedirectResult
*/
srfstate?: 'inwf' | 'multiform' | 'indextype' | 'redirectitem' | 'funcview';
/**
* 重定向计算目标值
*
* @type {string}
* @memberof IRedirectResult
*/
param?: string;
}
......@@ -5,4 +5,5 @@ export * from './i-http-response';
export * from './i-params';
export * from './layout-state';
export * from './i-loading-service';
export * from './i-runtime-data';
\ No newline at end of file
export * from './i-runtime-data';
export * from './i-redirect-result';
\ No newline at end of file
......@@ -22,6 +22,8 @@ export class AppDeLogicBeginNode extends AppDeLogicNodeBase {
* @memberof AppDeLogicBeginNode
*/
public async executeNode(logicNode: IPSDELogicNode, actionContext: ActionContext) {
// 默认设置当前逻辑返回结果为当前默认输入参数
actionContext.setResult(actionContext.defaultParam.getReal());
return this.computeNextNodes(logicNode, actionContext);
}
}
\ No newline at end of file
import { IPSAppDataEntity, IPSAppDEField, IPSAppDEView, IPSAppView, IPSAppWF, IPSAppWFDE, IPSDEMainState, IPSDEMainStateOPPriv, IPSDEOPPriv } from '@ibiz/dynamic-model-api';
import { IRunTimeData } from '../../interface';
import { IContext, IParams, IRedirectResult, IRunTimeData } from '../../interface';
import { LogUtil, ModelTool } from '../../utils';
import { AppServiceBase } from '../app-service/app-base.service';
import { AuthServiceHelp } from '../auth-service';
......@@ -340,27 +340,36 @@ export class UIServiceBase {
* 获取指定数据的重定向页面
*
* @param context 应用上下文
* @param srfkey 数据主键
* @param enableWorkflowParam 重定向视图需要处理流程中的数据
* @param viewparam 视图参数
* @param data 业务数据
* @param redirectParam 重定向视图参数 (获取数据行为和数据识别参数)
* @memberof UIServiceBase
*/
protected async getRDAppView(context: any, srfkey: string, enableWorkflowParam: any, redirectParam: any = {}) {
protected async getRDAppView(context: IContext, viewParam: IParams, data: IParams = {}, redirectParam: IParams = {}): Promise<IRedirectResult> {
// 进行数据查询
let returnData: any = {};
Object.assign(context, { [this.appDataEntity.codeName.toLowerCase()]: srfkey });
let returnData: IRedirectResult = {};
const key: string = this.appDataEntity.codeName.toLowerCase();
let srfkey: string | null = null;
if (data && data.hasOwnProperty(key)) {
srfkey = data[key];
} else if (context && context[key]) {
srfkey = context[key];
} else if (viewParam && viewParam[key]) {
srfkey = viewParam[key];
}
Object.assign(context, { [key]: srfkey });
let result: any = {};
try {
if (
redirectParam && redirectParam.action && this.dataService
) {
result = await this.dataService.execute(redirectParam.action, context);
result = await this.dataService.execute(redirectParam.action, context, viewParam);
} else {
result = await this.dataService.execute('Get', context);
result = await this.dataService.execute('Get', context, viewParam);
}
} catch (error: any) {
AppServiceBase.getInstance().getNotification().error(error?.message ? error.message : '获取数据异常');
return;
throw new Error(error?.message ? error.message : '获取数据异常');
}
const curData: any = result.data;
// 设置原始数据
......@@ -370,18 +379,12 @@ export class UIServiceBase {
let bDataInWF: boolean = false;
// 计算数据模式
if (
(enableWorkflowParam &&
enableWorkflowParam.srfwf &&
this.InWorkflowArray.indexOf(enableWorkflowParam.srfwf) !== -1)
(viewParam &&
viewParam.srfwf &&
this.InWorkflowArray.indexOf(viewParam.srfwf) !== -1)
) {
bDataInWF = true;
}
if (bDataInWF) {
// 设置临时组织标识(用于工作流获取多实例)
if (this.tempOrgIdDEField && curData && curData[this.tempOrgIdDEField]) {
Object.assign(returnData, { 'srfsandboxtag': curData[this.tempOrgIdDEField] });
}
}
let strPDTViewParam: string = await this.getDESDDEViewPDTParam(bDataInWF, curData, redirectParam);
// 工作流
if (bDataInWF) {
......@@ -480,10 +483,10 @@ export class UIServiceBase {
const typeValue = curData[redirectParam.type.toLowerCase()];
if (typeValue) {
if (!Environment.isAppMode) {
let tempParam = 'MOBEDITVIEW:' + typeValue;
let tempParam = typeValue;
return tempParam;
}
let tempParam = 'EDITVIEW:' + typeValue;
let tempParam = typeValue;
return tempParam;
}
}
......@@ -583,4 +586,4 @@ export class UIServiceBase {
(ModelTool.getAppEntityKeyField(this.appDataEntity) as IPSAppDEField)?.codeName || ''
);
}
}
}
\ No newline at end of file
import { IPSAppDERedirectView, IPSAppViewRef } from '@ibiz/dynamic-model-api';
import qs from 'qs';
import { IParams } from '../../interface';
import { IContext, IParams } from '../../interface';
import { AppServiceBase } from '../../service';
import { getSessionStorage, Util } from '../util/util';
......@@ -508,4 +508,33 @@ export class ViewTool {
return targetViewRef;
}
/**
* 清除父数据
*
* @static
* @param {IContext} context
* @param {IParams} viewParam
* @memberof ViewTool
*/
public static clearParentParams(context: IContext, viewParam: IParams) {
if(context && context.srfparentkey){
delete context.srfparentkey;
}
if(context && context.srfparentdename){
delete context.srfparentdename;
}
if(context && context.srfparentdemapname){
delete context.srfparentdemapname;
}
if(viewParam && viewParam.srfparentkey){
delete viewParam.srfparentkey;
}
if(viewParam && viewParam.srfparentdename){
delete viewParam.srfparentdename;
}
if(viewParam && viewParam.srfparentdemapname){
delete viewParam.srfparentdemapname;
}
}
}
\ No newline at end of file
......@@ -2,7 +2,6 @@ import {
getPSUIActionByModelObject,
IPSAppDataEntity,
IPSAppDEField,
IPSAppDERedirectView,
IPSAppDEUIAction,
IPSAppDEView,
IPSAppView,
......@@ -10,7 +9,7 @@ import {
IPSNavigateContext,
IPSNavigateParam
} from '@ibiz/dynamic-model-api';
import { Http, IContext, IParams, LogUtil, ModelTool, StringUtil, UIActionTool, Util } from 'ibiz-core';
import { Http, IContext, IParams, LogUtil, ModelTool, StringUtil, UIActionTool, UIServiceHelp, Util, ViewTool } from 'ibiz-core';
import { Subject } from 'rxjs';
import { AppGlobalService } from '../app-service';
import { appPopup } from '../utils';
......@@ -297,37 +296,64 @@ export class AppFrontAction extends AppDEUIAction {
}
// 打开重定向视图
if (frontPSAppView.redirectView) {
const data = args[0];
const field: IPSAppDEField | null = (frontPSAppView as IPSAppDERedirectView).getTypePSAppDEField();
if (field) {
const type = data[field.codeName.toLocaleLowerCase()];
const appViewRefs = (frontPSAppView as IPSAppDERedirectView).getRedirectPSAppViewRefs()!;
let appViewRef: IPSAppViewRef | undefined = appViewRefs?.find(
(appViewRef: IPSAppViewRef) =>
appViewRef.name === type || appViewRef.name === `EDITVIEW:${type}`,
);
if (!appViewRef) {
appViewRef = appViewRefs?.find((appViewRef: IPSAppViewRef) => {
const entityName = frontPSAppView.getPSAppDataEntity()?.name;
return appViewRef.name === type || appViewRef.name === `${entityName}:EDITVIEW:${type}`;
});
const redirectUIService: any = await UIServiceHelp.getInstance().getService(frontPSAppView.getPSAppDataEntity(), { context });
await redirectUIService.loaded();
const redirectAppEntity: IPSAppDataEntity | null = frontPSAppView.getPSAppDataEntity();
await ViewTool.calcRedirectContext(context, args[0], redirectAppEntity);
redirectUIService.getRDAppView(
context,
data,
args[0],
{ action: frontPSAppView.getGetDataPSAppDEAction()?.codeName, type: frontPSAppView.getTypePSAppDEField()?.codeName }
).then(async (result: any) => {
if (!result) {
return;
}
if (appViewRef) {
const appView: any = await appViewRef.getRefPSAppView()?.fill();
return this.oPenView(
appView,
actionContext,
context,
args,
deUIService,
params,
$event,
data,
xData,
_args,
let targetOpenViewRef:
| IPSAppViewRef
| undefined = ViewTool.computeRedirectViewRef(frontPSAppView, params, result);
if (!targetOpenViewRef) {
return;
}
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
return;
}
await targetOpenView.fill(true);
if (result && result.indextype) {
const indexContext: any = Util.formatNavParam(
[{ key: targetOpenView?.getPSAppDataEntity()?.codeName, rawValue: false, value: ModelTool.getContainerAppEntityCodeName(frontPSAppView) }],
true,
);
const _context: any = Util.computedNavData(args[0], context, data, indexContext);
Object.assign(context, _context);
}
}
if (
targetOpenViewRef.getPSNavigateContexts() &&
(targetOpenViewRef.getPSNavigateContexts() as IPSNavigateContext[]).length > 0
) {
let localContextRef: any = Util.formatNavParam(
targetOpenViewRef.getPSNavigateContexts(),
true,
);
let _context: any = Util.computedNavData(args[0], context, data, localContextRef);
Object.assign(context, _context);
}
ViewTool.clearParentParams(context,params);
return this.oPenView(
targetOpenView,
actionContext,
context,
args,
deUIService,
params,
$event,
data,
xData,
_args,
);
})
} else if (!frontPSAppView.openMode || frontPSAppView.openMode == 'INDEXVIEWTAB') {
const routePath = actionContext.$viewTool.buildUpRoutePath(
actionContext.$route,
......@@ -487,11 +513,11 @@ export class AppFrontAction extends AppDEUIAction {
if (actionContext.context && actionContext.context.srfparentdename && actionContext.context.srfparentkey) {
Object.assign(tempContext, { srfparentdename: actionContext.context.srfparentdename });
Object.assign(tempContext, { srfparentkey: actionContext.context.srfparentkey });
}else{
if(tempContext.srfparentdename){
} else {
if (tempContext.srfparentdename) {
delete tempContext.srfparentdename;
}
if(tempContext.srfparentkey){
if (tempContext.srfparentkey) {
delete tempContext.srfparentkey;
}
}
......
......@@ -21,6 +21,8 @@ export class AppUILogicBeginNode extends AppUILogicNodeBase {
* @memberof AppUILogicBeginNode
*/
public async executeNode(logicNode: IPSAppUILogic, actionContext: UIActionContext) {
// 默认设置当前逻辑返回结果为当前默认输入参数
actionContext.setResult(actionContext.defaultParam.getReal());
return this.computeNextNodes(logicNode, actionContext);
}
}
\ No newline at end of file
......@@ -250,8 +250,8 @@ export default class AppColumnLink extends Vue {
await ViewTool.calcRedirectContext(context, this.data, redirectAppEntity);
let result = await redirectUIService.getRDAppView(
context,
this.data[this.deKeyField] ? this.data[this.deKeyField] : this.data[this.valueitem as string],
params,
this.data,
{ action: targetRedirectView.getGetDataPSAppDEAction()?.codeName, type: targetRedirectView.getTypePSAppDEField()?.codeName }
);
if (!result) {
......@@ -269,15 +269,12 @@ export default class AppColumnLink extends Vue {
let _context: any = Util.computedNavData(this.data, context, params, localContextRef);
Object.assign(context, _context);
}
if (result && result.hasOwnProperty('srfsandboxtag')) {
Object.assign(context, { srfsandboxtag: result['srfsandboxtag'] });
Object.assign(params, { srfsandboxtag: result['srfsandboxtag'] });
}
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
return;
}
await targetOpenView.fill(true);
ViewTool.clearParentParams(context,params);
const view: any = {
viewname: 'app-view-shell',
height: targetOpenView.height,
......
......@@ -773,7 +773,7 @@ export default class AppPicker extends Vue {
await redirectUIService.loaded();
const redirectAppEntity: IPSAppDataEntity | null = targetRedirectView.getPSAppDataEntity();
await ViewTool.calcRedirectContext(context, this.data, redirectAppEntity);
let result = await redirectUIService.getRDAppView(context, this.data['srfkey'], params, {
let result = await redirectUIService.getRDAppView(context, params,this.data, {
action: targetRedirectView.getGetDataPSAppDEAction()?.codeName,
type: targetRedirectView.getTypePSAppDEField()?.codeName,
});
......@@ -796,15 +796,12 @@ export default class AppPicker extends Vue {
let _context: any = Util.computedNavData(this.data, context, params, localContextRef);
Object.assign(context, _context);
}
if (result && result.hasOwnProperty('srfsandboxtag')) {
Object.assign(context, { srfsandboxtag: result['srfsandboxtag'] });
Object.assign(params, { srfsandboxtag: result['srfsandboxtag'] });
}
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
return;
}
await targetOpenView.fill(true);
ViewTool.clearParentParams(context,params);
const view: any = {
viewname: 'app-view-shell',
height: targetOpenView.height,
......
......@@ -97,7 +97,7 @@ export class DeRedirectViewBase extends MainViewBase implements RedirectViewInte
});
}
}
this.appUIService.getRDAppView(this.context, this.context[this.appDeCodeName.toLowerCase()], localParams, dataSetParams).then(async (result: any) => {
this.appUIService.getRDAppView(this.context, localParams, {}, dataSetParams).then(async (result: any) => {
if (!result) {
return;
}
......@@ -143,16 +143,13 @@ export class DeRedirectViewBase extends MainViewBase implements RedirectViewInte
Object.assign(tempContext, { srfdynainstid: curDynaInst.id });
}
}
if (result && result.hasOwnProperty('srfsandboxtag')) {
Object.assign(tempContext, { 'srfsandboxtag': result['srfsandboxtag'] });
Object.assign(tempViewParams, { 'srfsandboxtag': result['srfsandboxtag'] });
}
if (targetOpenViewRef.getRefPSAppView()) {
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
return;
}
await targetOpenView.fill(true);
ViewTool.clearParentParams(tempContext,tempViewParams);
const view: any = {
viewname: 'app-view-shell',
height: targetOpenView.height,
......@@ -261,4 +258,4 @@ export class DeRedirectViewBase extends MainViewBase implements RedirectViewInte
}
}
}
}
\ No newline at end of file
......@@ -547,8 +547,8 @@ export class GanttControlBase extends MDControlBase implements GanttControlInter
await ViewTool.calcRedirectContext(tempContext, fullargs[0], redirectAppEntity);
redirectUIService.getRDAppView(
tempContext,
args[0][this.appDeCodeName.toLowerCase()],
params,
args[0],
{ action: targetRedirectView.getGetDataPSAppDEAction()?.codeName, type: targetRedirectView.getTypePSAppDEField()?.codeName }
)
.then(async (result: any) => {
......@@ -572,15 +572,12 @@ export class GanttControlBase extends MDControlBase implements GanttControlInter
let _context: any = Util.computedNavData(fullargs[0], tempContext, data, localContextRef);
Object.assign(tempContext, _context);
}
if (result && result.hasOwnProperty('srfsandboxtag')) {
Object.assign(tempContext, { 'srfsandboxtag': result['srfsandboxtag'] });
Object.assign(data, { 'srfsandboxtag': result['srfsandboxtag'] });
}
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
return;
}
await targetOpenView.fill();
ViewTool.clearParentParams(tempContext,data);
const view: any = {
viewname: 'app-view-shell',
height: targetOpenView.height,
......
......@@ -15,6 +15,14 @@
</column>
<column name="DEPTID" remarks="组织部门标识" type="VARCHAR(60)">
</column>
<column name="FIELD" remarks="属性" type="VARCHAR(100)">
</column>
<column name="FIELD2" remarks="属性2" type="VARCHAR(100)">
</column>
<column name="FIELD3" remarks="属性3" type="VARCHAR(100)">
</column>
<column name="FIELD4" remarks="属性4" type="VARCHAR(100)">
</column>
<column name="ORGID" remarks="组织机构标识" type="VARCHAR(60)">
</column>
<column name="TYPE" remarks="类型" type="VARCHAR(100)">
......
......@@ -2,7 +2,7 @@
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<!--输出实体[BOOK]数据结构 -->
<changeSet author="root" id="tab-book-19-1">
<changeSet author="root" id="tab-book-30-1">
<createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -23,6 +23,14 @@
</column>
<column name="TYPE" remarks="" type="VARCHAR(100)">
</column>
<column name="FIELD" remarks="" type="VARCHAR(100)">
</column>
<column name="FIELD2" remarks="" type="VARCHAR(100)">
</column>
<column name="FIELD3" remarks="" type="VARCHAR(100)">
</column>
<column name="FIELD4" remarks="" type="VARCHAR(100)">
</column>
</createTable>
</changeSet>
......
......@@ -16,6 +16,18 @@
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`FIELD`",
"name" : "FIELD"
}, {
"expression" : "t1.`FIELD2`",
"name" : "FIELD2"
}, {
"expression" : "t1.`FIELD3`",
"name" : "FIELD3"
}, {
"expression" : "t1.`FIELD4`",
"name" : "FIELD4"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
......@@ -29,6 +41,6 @@
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`BOOKID`,\nt1.`BOOKNAME`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`TYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_BOOK` t1 \n",
"queryCode" : "SELECT\nt1.`BOOKID`,\nt1.`BOOKNAME`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`FIELD`,\nt1.`FIELD2`,\nt1.`FIELD3`,\nt1.`FIELD4`,\nt1.`ORGID`,\nt1.`TYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_BOOK` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEDATAQUERIES/Default/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
......@@ -16,6 +16,18 @@
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`FIELD`",
"name" : "FIELD"
}, {
"expression" : "t1.`FIELD2`",
"name" : "FIELD2"
}, {
"expression" : "t1.`FIELD3`",
"name" : "FIELD3"
}, {
"expression" : "t1.`FIELD4`",
"name" : "FIELD4"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
......@@ -29,6 +41,6 @@
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`BOOKID`,\nt1.`BOOKNAME`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`TYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_BOOK` t1 \n",
"queryCode" : "SELECT\nt1.`BOOKID`,\nt1.`BOOKNAME`,\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`FIELD`,\nt1.`FIELD2`,\nt1.`FIELD3`,\nt1.`FIELD4`,\nt1.`ORGID`,\nt1.`TYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_BOOK` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEDATAQUERIES/View/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
......@@ -283,6 +283,30 @@
"name" : "TYPE",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field",
"logicName" : "属性",
"name" : "FIELD",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field2",
"logicName" : "属性2",
"name" : "FIELD2",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field3",
"logicName" : "属性3",
"name" : "FIELD3",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field4",
"logicName" : "属性4",
"name" : "FIELD4",
"stdDataType" : 25,
"stringLength" : 100
} ],
"getAllPSAppDEMethodDTOs" : [ {
"codeName" : "BookDTO",
......@@ -350,6 +374,54 @@
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field",
"logicName" : "属性",
"name" : "Field",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field2",
"logicName" : "属性2",
"name" : "Field2",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field3",
"logicName" : "属性3",
"name" : "Field3",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field4",
"logicName" : "属性4",
"name" : "Field4",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "OrgId",
"logicName" : "组织机构标识",
......
......@@ -93,17 +93,33 @@
"codeName" : "Type"
}
}, {
"id" : "formitem",
"dataType" : 25
"id" : "field",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
}
}, {
"id" : "formitem1",
"dataType" : 25
"id" : "field2",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
}
}, {
"id" : "formitem3",
"dataType" : 25
"id" : "field3",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
}
}, {
"id" : "formitem2",
"dataType" : 25
"id" : "field4",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
}
}, {
"id" : "createman",
"dataType" : 25,
......@@ -249,7 +265,8 @@
"detailType" : "TABPAGE",
"name" : "tabpage1",
"getPSDEFormDetails" : [ {
"codeName" : "formitem",
"caption" : "属性",
"codeName" : "field",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -257,21 +274,27 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem",
"name" : "field",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "formitem"
"maxLength" : 100,
"name" : "field"
},
"getPSLayoutPos" : {
"colLG" : 12,
"colMD" : 24,
"colLG" : 8,
"colMD" : 8,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, {
"codeName" : "formitem1",
"caption" : "属性2",
"codeName" : "field2",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -279,15 +302,20 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem1",
"name" : "field2",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
},
"getPSEditor" : {
"editorType" : "NUMBER",
"name" : "formitem1"
"editorType" : "TEXTBOX",
"maxLength" : 100,
"name" : "field2"
},
"getPSLayoutPos" : {
"colLG" : 12,
"colMD" : 24,
"colLG" : 8,
"colMD" : 8,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
......@@ -306,7 +334,8 @@
"detailType" : "TABPAGE",
"name" : "tabpage2",
"getPSDEFormDetails" : [ {
"codeName" : "formitem3",
"caption" : "属性3",
"codeName" : "field3",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -314,11 +343,16 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem3",
"name" : "field3",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
},
"getPSEditor" : {
"editorType" : "PASSWORD",
"name" : "formitem3"
"editorType" : "TEXTBOX",
"maxLength" : 100,
"name" : "field3"
},
"getPSLayoutPos" : {
"grow" : -1,
......@@ -327,7 +361,8 @@
"allowEmpty" : true,
"showCaption" : true
}, {
"codeName" : "formitem2",
"caption" : "属性4",
"codeName" : "field4",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -335,11 +370,16 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem2",
"name" : "field4",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "formitem2"
"maxLength" : 100,
"name" : "field4"
},
"getPSLayoutPos" : {
"grow" : -1,
......@@ -349,6 +389,8 @@
"showCaption" : true
} ],
"getPSLayout" : {
"align" : "center",
"dir" : "row",
"layout" : "FLEX"
},
"infoGroupMode" : false,
......
......@@ -1079,17 +1079,33 @@
"codeName" : "Type"
}
}, {
"id" : "formitem",
"dataType" : 25
"id" : "field",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
}
}, {
"id" : "formitem1",
"dataType" : 25
"id" : "field2",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
}
}, {
"id" : "formitem3",
"dataType" : 25
"id" : "field3",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
}
}, {
"id" : "formitem2",
"dataType" : 25
"id" : "field4",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
}
}, {
"id" : "createman",
"dataType" : 25,
......@@ -1235,7 +1251,8 @@
"detailType" : "TABPAGE",
"name" : "tabpage1",
"getPSDEFormDetails" : [ {
"codeName" : "formitem",
"caption" : "属性",
"codeName" : "field",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -1243,21 +1260,27 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem",
"name" : "field",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "formitem"
"maxLength" : 100,
"name" : "field"
},
"getPSLayoutPos" : {
"colLG" : 12,
"colMD" : 24,
"colLG" : 8,
"colMD" : 8,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, {
"codeName" : "formitem1",
"caption" : "属性2",
"codeName" : "field2",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -1265,15 +1288,20 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem1",
"name" : "field2",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
},
"getPSEditor" : {
"editorType" : "NUMBER",
"name" : "formitem1"
"editorType" : "TEXTBOX",
"maxLength" : 100,
"name" : "field2"
},
"getPSLayoutPos" : {
"colLG" : 12,
"colMD" : 24,
"colLG" : 8,
"colMD" : 8,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
......@@ -1292,7 +1320,8 @@
"detailType" : "TABPAGE",
"name" : "tabpage2",
"getPSDEFormDetails" : [ {
"codeName" : "formitem3",
"caption" : "属性3",
"codeName" : "field3",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -1300,11 +1329,16 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem3",
"name" : "field3",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
},
"getPSEditor" : {
"editorType" : "PASSWORD",
"name" : "formitem3"
"editorType" : "TEXTBOX",
"maxLength" : 100,
"name" : "field3"
},
"getPSLayoutPos" : {
"grow" : -1,
......@@ -1313,7 +1347,8 @@
"allowEmpty" : true,
"showCaption" : true
}, {
"codeName" : "formitem2",
"caption" : "属性4",
"codeName" : "field4",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -1321,11 +1356,16 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "formitem2",
"name" : "field4",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "formitem2"
"maxLength" : 100,
"name" : "field4"
},
"getPSLayoutPos" : {
"grow" : -1,
......@@ -1335,6 +1375,8 @@
"showCaption" : true
} ],
"getPSLayout" : {
"align" : "center",
"dir" : "row",
"layout" : "FLEX"
},
"infoGroupMode" : false,
......
......@@ -8621,6 +8621,30 @@
"name" : "TYPE",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field",
"logicName" : "属性",
"name" : "FIELD",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field2",
"logicName" : "属性2",
"name" : "FIELD2",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field3",
"logicName" : "属性3",
"name" : "FIELD3",
"stdDataType" : 25,
"stringLength" : 100
}, {
"codeName" : "Field4",
"logicName" : "属性4",
"name" : "FIELD4",
"stdDataType" : 25,
"stringLength" : 100
} ],
"getAllPSAppDEMethodDTOs" : [ {
"codeName" : "BookDTO",
......@@ -8688,6 +8712,54 @@
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field",
"logicName" : "属性",
"name" : "Field",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD",
"codeName" : "Field"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field2",
"logicName" : "属性2",
"name" : "Field2",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD2",
"codeName" : "Field2"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field3",
"logicName" : "属性3",
"name" : "Field3",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD3",
"codeName" : "Field3"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "Field4",
"logicName" : "属性4",
"name" : "Field4",
"orderValue" : 1000,
"getPSAppDEField" : {
"name" : "FIELD4",
"codeName" : "Field4"
},
"sourceType" : "DEFIELD",
"stdDataType" : 25,
"type" : "SIMPLE"
}, {
"codeName" : "OrgId",
"logicName" : "组织机构标识",
......
......@@ -35,6 +35,34 @@
"name" : "DEPTID",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "FIELD",
"length" : 100,
"logicName" : "属性",
"name" : "FIELD",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "FIELD2",
"length" : 100,
"logicName" : "属性2",
"name" : "FIELD2",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "FIELD3",
"length" : 100,
"logicName" : "属性3",
"name" : "FIELD3",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "FIELD4",
"length" : 100,
"logicName" : "属性4",
"name" : "FIELD4",
"stdDataType" : 25,
"nullable" : true
}, {
"codeName" : "ORGID",
"length" : 60,
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册