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

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

上级 67ad5d1a
......@@ -871,6 +871,12 @@ export class DataBaseService<T extends IEntityBase> implements IEntityLocalDataS
queryParamKeys: string[] = this.quickSearchFields,
): Promise<HttpResponse> {
let list = [];
// 处理srfpkey
let srfpkey = null;
if (filter.data && filter.data.srfpkey) {
srfpkey = filter.data.srfpkey;
delete filter.data.srfpkey
}
// 走查询条件
if (cond) {
if (this.isLocalStore) {
......@@ -882,7 +888,7 @@ export class DataBaseService<T extends IEntityBase> implements IEntityLocalDataS
list = list.filter(obj => cond.test(obj, filter));
}
} else {
list = await this.selectLocal(filter.context);
list = await this.selectLocal(filter.context, srfpkey ? { srfpkey } : {});
if (list?.length > 0) {
// 识别query查询
const condition = filter.data;
......
import { IPSAppDataEntity, IPSAppDEField, IPSAppDEMethodDTO, IPSAppDEMethodDTOField } from "@ibiz/dynamic-model-api";
import { IContext, IEntityLocalDataService, IParams } from "../../../interface";
import { Util } from "../../../utils";
import { DataEntityService } from "../data-entity-service";
import { DataServiceHelp } from "../data-service-help";
......@@ -57,16 +58,7 @@ export class MethodDto {
* @memberof MethodDto
*/
get enableCache(): boolean {
const appDEMethodDTOFields = this.appDEMethodDTO.getPSAppDEMethodDTOFields();
if (this.appDataEntity.storageMode === 4 && appDEMethodDTOFields) {
const result = appDEMethodDTOFields.find((field: IPSAppDEMethodDTOField) => {
return field.type === 'DTO' || field.type === 'DTOS';
})
if (result) {
return true;
}
}
return false;
return this.appDataEntity.storageMode === 4 ? true : false;
}
/**
......@@ -121,7 +113,12 @@ export class MethodDto {
const targetService = await DataServiceHelp.getInstance().getService(refPSAppDataEntity);
if (targetService) {
const targetMethodDto = targetService.methodDtoMap.get(refPSAppDEMethodDTO.codeName);
await targetMethodDto.setCacheDataArray(context, source[field.codeName.toLowerCase()]);
const sourceData = Util.deepCopy(source[field.codeName.toLowerCase()]);
delete source[field.codeName.toLowerCase()];
const pData = {
srfpkey: source[(this.appDataEntity.getKeyPSAppDEField() as IPSAppDEField).codeName.toLowerCase()]
}
await targetMethodDto.setCacheDataArray(context, sourceData, pData);
}
}
}
......@@ -135,7 +132,9 @@ export class MethodDto {
const targetService = await DataServiceHelp.getInstance().getService(refPSAppDataEntity);
if (targetService) {
const targetMethodDto = targetService.methodDtoMap.get(refPSAppDEMethodDTO.codeName);
await targetMethodDto.setCacheData(context, source[field.codeName.toLowerCase()]);
const sourceData = Util.deepCopy(source[field.codeName.toLowerCase()]);
delete source[field.codeName.toLowerCase()];
await targetMethodDto.setCacheData(context, sourceData);
}
}
}
......@@ -209,7 +208,10 @@ export class MethodDto {
const targetService = await DataServiceHelp.getInstance().getService(refPSAppDataEntity);
if (targetService) {
const targetMethodDto = targetService.methodDtoMap.get(refPSAppDEMethodDTO.codeName);
_data[field.codeName.toLowerCase()] = await targetMethodDto.getCacheDataArray(context);
const selectData = {
srfpkey: source[(this.appDataEntity.getKeyPSAppDEField() as IPSAppDEField).codeName.toLowerCase()]
}
_data[field.codeName.toLowerCase()] = await targetMethodDto.getCacheDataArray(context, selectData);
}
}
}
......@@ -321,9 +323,9 @@ export class MethodDto {
* @returns {any[]}
* @memberof MethodDto
*/
public async getCacheDataArray(context: IContext) {
public async getCacheDataArray(context: IContext, selectData: IParams = {}) {
const targetService: IEntityLocalDataService<any> = await this.getService(context);
const result = await targetService.getLocals(context);
const result = await targetService.getLocals(context, selectData);
if (result && result.length > 0) {
return await this.ToDtoArray(context, result);
} else {
......@@ -340,9 +342,7 @@ export class MethodDto {
* @memberof MethodDto
*/
public async setCacheData(context: IContext, data: any) {
const targetService: IEntityLocalDataService<any> = await this.getService(context);
const _data: any = await this.set(context, data);
await targetService.addLocal(context, _data);
await this.set(context, data);
}
/**
......@@ -353,12 +353,12 @@ export class MethodDto {
* @returns {any[]}
* @memberof MethodDto
*/
public async setCacheDataArray(context: IContext, data: any[]) {
public async setCacheDataArray(context: IContext, data: any[], pData: IParams = {}) {
if (data && data.length > 0) {
const targetService: IEntityLocalDataService<any> = await this.getService(context);
for (let i = 0; i < data.length; i++) {
const _data = await this.set(context, data[i]);
await targetService.addLocal(context, _data);
const targetData = data[i];
Object.assign(targetData, pData);
await this.set(context, targetData);
}
}
}
......
.ivu-dropdown-item{
height: 42px;
padding: 4px 16px !important;
p {
height: 100%;
display: flex;
align-items: center;
.el-input {
width: 62px;
}
.item-text {
margin: 0 8px;
}
}
}
.dropdown-item-custom:hover {
color: inherit !important;
background: inherit !important;
cursor: initial;
}
......@@ -18,6 +18,15 @@
{{caption}}{{$t('components.appexportexcel.currentpage')}}
</p>
</dropdown-item>
<dropdown-item class="dropdown-item-custom">
<p>
<el-input v-model.trim="startPage" @click.native.stop size="small" maxlength="4"></el-input>
<span class="item-text">-</span>
<el-input v-model.trim="endPage" @click.native.stop size="small" maxlength="4"></el-input>
<span class="item-text">{{$t('components.appexportexcel.page')}}</span>
<el-button @click="exportExcel($event, 'custom')" size="small">{{caption}}</el-button>
</p>
</dropdown-item>
</dropdown-menu>
</dropdown>
</template>
......@@ -79,18 +88,18 @@ export default class AppExportExcel extends Vue {
/**
* 起始页
*
* @type {(string | null)}
* @type {string}
* @memberof AppExportExcel
*/
public startPage: string | null = null;
public startPage: string = '1';
/**
* 结束页
*
* @type {(string | null)}
* @type {string}
* @memberof AppExportExcel
*/
public endPage: string | null = null;
public endPage: string = '9999';
/**
* 是否显示下拉菜单
......@@ -140,8 +149,8 @@ export default class AppExportExcel extends Vue {
this.$warning((this.$t('components.appexportexcel.desc1') as string),'exportExcel');
return;
}
this.startPage = null;
this.endPage = null;
this.startPage = '1';
this.endPage = '9999';
Object.assign(exportparms, { startPage: startPage, endPage: endPage });
this.visible = false;
}
......
......@@ -211,6 +211,14 @@ export default class AppFormItem extends Vue {
*/
public iconInfo: any = {};
/**
* 表单项实例
*
* @type {*}
* @memberof AppFormItem
*/
public itemRef: any = null;
/**
* 是否显示表单项Label提示
*
......@@ -347,6 +355,7 @@ export default class AppFormItem extends Vue {
* @memberof AppFormItem
*/
public mounted() {
this.itemRef = this.$refs[this.name];
if (this.itemRules) {
try {
const _rules: any[] = this.itemRules;
......@@ -358,6 +367,10 @@ export default class AppFormItem extends Vue {
this.itemClassName = `${this.controlInstance?.getPSAppDataEntity?.()?.codeName?.toLowerCase()}-${this.controlInstance?.codeName?.toLowerCase()}-item-${this.name}`;
}
public destroyed() {
this.itemRef = null;
}
/**
* 计算是否显示表单项Label提示
......
......@@ -47,13 +47,18 @@ export default class TextboxEditor extends EditorBase {
case 'TEXTAREA':
this.customProps.isDebounce = this.isDebounce;
this.customProps.type = 'textarea';
this.customProps.textareaId = Util.createUUID();
if (this.parentItem.contentHeight) {
this.customProps.textareaStyle = `height: ${this.parentItem.contentHeight}px`
}
break;
case 'TEXTAREA_10':
this.customProps.isDebounce = this.isDebounce;
this.customProps.type = 'textarea';
this.customProps.textareaId = Util.createUUID();
// todo lxm getEditorCssStyle
// this.customProps.textareaStyle = this.editorInstance?.getEditorCssStyle || "";
if (this.parentItem.contentHeight) {
this.customProps.textareaStyle = `height: ${this.parentItem.contentHeight}px`
}
this.customProps.rows = 10;
break;
case 'NUMBER':
......
......@@ -210,7 +210,7 @@
background-color: var(--button-background-color-bright);
a {
color: #FFFFFF;
color: var(--view-font-color);
}
}
......
......@@ -59,6 +59,7 @@ function getLocaleResourceBase(){
max: 'At Most',
row: 'Lines',
currentpage: 'Current Page',
page: 'Page',
desc:'Please enter the start page',
desc1:'Please enter a valid start page',
},
......
......@@ -59,6 +59,7 @@ function getLocaleResourceBase(){
max: '最大',
row: '行',
currentpage: '当前页',
page: '页',
desc:'请输入起始页',
desc1:'请输入有效的起始页',
},
......
......@@ -3,7 +3,7 @@ services:
trainsys-app-web:
image: dstimage
ports:
- "50100:80"
- "80:80"
networks:
- agent_network
environment:
......
......@@ -55,15 +55,6 @@
git clone -b master $para2 trainsys/
export NODE_OPTIONS=--max-old-space-size=4096
cd trainsys/
mkdir -p /var/lib/jenkins/appcache/A3064A91-F42D-4D7F-BC1C-4173A4F5772C
if [ -e app_Web/.dynamic ]
then
cd app_Web
else
cd app_Web/app
fi
sed -i "s#dstimage#registry.cn-shanghai.aliyuncs.com/ibizsys/ibizcloud-standardsys-app-webapp:2022.07.29.003#g" swarm.yaml
docker -H $para1 stack deploy --compose-file=swarm.yaml ebsx --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -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-72-1">
<changeSet author="root" id="tab-book-82-1">
<createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -49,7 +49,7 @@
</changeSet>
<!--输出实体[BOOKTYPE]数据结构 -->
<changeSet author="root" id="tab-booktype-11-2">
<changeSet author="root" id="tab-booktype-13-2">
<createTable tableName="T_BOOKTYPE">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......@@ -96,25 +96,6 @@
</createTable>
</changeSet>
<!--输出实体[RAWMATERIAL]数据结构 -->
<changeSet author="root" id="tab-rawmaterial-12-4">
<createTable tableName="T_RAWMATERIAL">
<column name="RAWMATERIALID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_RAWMATERIAL"/>
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="RAWMATERIALNAME" remarks="" type="VARCHAR(200)">
</column>
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
<column name="UPDATEMAN" remarks="" type="VARCHAR(60)">
</column>
</createTable>
</changeSet>
<!--输出实体[REGINFO]数据结构 -->
<changeSet author="root" id="tab-reginfo-34-5">
<createTable tableName="T_REGINFO">
......
......@@ -2560,6 +2560,24 @@
"name" : "书实体地图视图",
"realModelSubType" : "DEMAPVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "Usr2EditView2",
"logicName" : "书实体编辑视图(左右关系)(2)",
"name" : "书实体编辑视图(左右关系)(2)",
"realModelSubType" : "DEEDITVIEW2",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "EditView3",
"logicName" : "书实体编辑视图(分页关系)",
"name" : "书实体编辑视图(分页关系)",
"realModelSubType" : "DEEDITVIEW3",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "BookEditViewEditorTest",
"logicName" : "书实体编辑视图(测试编辑器)",
"name" : "书实体编辑视图(测试编辑器)",
"realModelSubType" : "DEEDITVIEW",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "PickupGridView",
"logicName" : "书实体选择表格视图(部件视图)",
......@@ -2578,6 +2596,13 @@
"name" : "书实体编辑视图(左右关系)",
"realModelSubType" : "DEEDITVIEW2",
"realModelType" : "PSDEVIEWBASE"
}, {
"codeName" : "editorTest",
"logicName" : "编辑器测试",
"modelTag2" : "0",
"name" : "编辑器测试",
"realModelSubType" : "EDITFORM",
"realModelType" : "PSDEFORM"
}, {
"codeName" : "Main",
"logicName" : "主编辑表单",
......
......@@ -174,14 +174,6 @@
},
"builtinAction" : true
} ],
"getAllPSDEDBConfigs" : [ {
"dBType" : "MYSQL5",
"name" : "MYSQL5",
"objNameCase" : "DEFAULT",
"standardTableName" : "`T_RAWMATERIAL`",
"tableName" : "T_RAWMATERIAL",
"valid" : true
} ],
"getAllPSDEDBTables" : [ {
"getAllPSDEFields" : [ {
"name" : "RAWMATERIALID",
......
......@@ -78,6 +78,20 @@
"id" : "srfsourcekey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "rawmaterialname1",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
}
}, {
"id" : "rawmaterialname2",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
}
}, {
"id" : "rawmaterialname",
"dataType" : 25,
......@@ -137,7 +151,7 @@
"name" : "group1",
"getPSDEFormDetails" : [ {
"caption" : "原材料名称",
"codeName" : "rawmaterialname",
"codeName" : "rawmaterialname1",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -145,7 +159,7 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname",
"name" : "rawmaterialname1",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
......@@ -154,7 +168,7 @@
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname"
"name" : "rawmaterialname1"
},
"getPSLayoutPos" : {
"colMD" : 24,
......@@ -162,6 +176,51 @@
},
"allowEmpty" : true,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "原材料基本信息",
"codeName" : "grouppanel1",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"name" : "grouppanel1",
"getPSDEFormDetails" : [ {
"caption" : "原材料名称",
"codeName" : "rawmaterialname2",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname2",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname2"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......@@ -173,6 +232,33 @@
},
"infoGroupMode" : false,
"showCaption" : true
}, {
"caption" : "原材料名称",
"codeName" : "rawmaterialname",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......
......@@ -1064,6 +1064,20 @@
"id" : "srfsourcekey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "rawmaterialname1",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
}
}, {
"id" : "rawmaterialname2",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
}
}, {
"id" : "rawmaterialname",
"dataType" : 25,
......@@ -1123,7 +1137,7 @@
"name" : "group1",
"getPSDEFormDetails" : [ {
"caption" : "原材料名称",
"codeName" : "rawmaterialname",
"codeName" : "rawmaterialname1",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
......@@ -1131,7 +1145,7 @@
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname",
"name" : "rawmaterialname1",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
......@@ -1140,7 +1154,7 @@
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname"
"name" : "rawmaterialname1"
},
"getPSLayoutPos" : {
"colMD" : 24,
......@@ -1148,6 +1162,51 @@
},
"allowEmpty" : true,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "原材料基本信息",
"codeName" : "grouppanel1",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"name" : "grouppanel1",
"getPSDEFormDetails" : [ {
"caption" : "原材料名称",
"codeName" : "rawmaterialname2",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname2",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname2"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......@@ -1159,6 +1218,33 @@
},
"infoGroupMode" : false,
"showCaption" : true
}, {
"caption" : "原材料名称",
"codeName" : "rawmaterialname",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "rawmaterialname",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "RAWMATERIALNAME",
"codeName" : "RawMaterialName"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "rawmaterialname"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......
......@@ -1981,18 +1981,58 @@
"getPSDEViewCodeName" : "EditView",
"getPSDEViewId" : "03f8c691d733fb230a0506557124022c",
"getPSViewLayoutPanel" : {
"codeName" : "Layoutpanel",
"controlStyle" : "APPDEEDITVIEW",
"getAllPSPanelFields" : [ {
"id" : "field_textbox"
} ],
"codeName" : "Usr0802733332",
"controlType" : "VIEWLAYOUTPANEL",
"layoutMode" : "TABLE_24COL",
"logicName" : "Test20220802",
"name" : "layoutpanel",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Book.json"
},
"getPSControlParam" : { },
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRootPSPanelItems" : [ {
"itemStyle" : "DEFAULT",
"itemType" : "CONTAINER",
"name" : "page_container",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"getPSPanelItems" : [ {
"caption" : "文本框",
"itemStyle" : "DEFAULT",
"itemType" : "FIELD",
"name" : "field_textbox",
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "field_textbox",
"predefinedType" : "FIELD_TEXTBOX"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"hidden" : false,
"showCaption" : false
} ]
} ],
"layoutBodyOnly" : true,
"layoutPanel" : true,
"useDefaultLayout" : true
"useDefaultLayout" : false,
"modelid" : "66FABC08-00E4-4D67-AB37-717AC2E4DE14",
"modeltype" : "PSSYSVIEWLAYOUTPANEL"
},
"title" : "书编辑视图",
"viewStyle" : "DEFAULT",
......
......@@ -664,6 +664,18 @@
"controlType" : "APPMENU"
} ],
"getAllPSAppViews" : [ {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/bookBookEditViewEditorTest.json",
"viewType" : "DEEDITVIEW",
"resource" : "Book",
"view" : "BookEditViewEditorTest"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/bookEditView3.json",
"viewType" : "DEEDITVIEW3",
"resource" : "Book",
"view" : "EditView3"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/RawMaterialEditView.json",
"viewType" : "DEEDITVIEW",
......@@ -734,6 +746,12 @@
"viewType" : "DEGRIDVIEW",
"resource" : "RawMaterial",
"view" : "GridView"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/bookUsr2EditView2.json",
"viewType" : "DEEDITVIEW2",
"resource" : "Book",
"view" : "Usr2EditView2"
}, {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDEVIEWS/BookTypeEditView.json",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册