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

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

上级 c8a733bb
import { AuthService } from '../auth-service';
/**
* 手机权限服务对象基类
*
* @export
* @class PhoneAuthServiceBase
* @extends {AuthService}
*/
export class PhoneAuthServiceBase extends AuthService {
/**
* 应用实体动态模型文件路径
*
* @protected
* @type {string}
* @memberof PhoneAuthServiceBase
*/
protected dynaModelFilePath:string = "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json";
/**
* Creates an instance of PhoneAuthServiceBase.
*
* @param {*} [opts={}]
* @memberof PhoneAuthServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 根据当前数据获取实体操作标识
*
* @param {*} activeKey 实体权限数据缓存标识
* @param {*} dataaccaction 操作标识
* @param {*} mainSateOPPrivs 传入数据主状态操作标识集合
* @returns {any}
* @memberof PhoneAuthServiceBase
*/
public getOPPrivs(activeKey: string,dataaccaction:string, mainSateOPPrivs: any): any {
let result: any = { [dataaccaction]: 1 };
const curDefaultOPPrivs: any = this.getSysOPPrivs();
// 统一资源权限
if (curDefaultOPPrivs && (Object.keys(curDefaultOPPrivs).length > 0) && (curDefaultOPPrivs[dataaccaction] === 0)) {
result[dataaccaction] = 0;
}
// 主状态权限
if (mainSateOPPrivs && (Object.keys(mainSateOPPrivs).length > 0) && mainSateOPPrivs.hasOwnProperty(dataaccaction)) {
result[dataaccaction] = result[dataaccaction] && mainSateOPPrivs[dataaccaction];
}
// 实体级权限
if (!this.getActivedDeOPPrivs(activeKey, dataaccaction)) {
result[dataaccaction] = 0;
}
return result;
}
}
\ No newline at end of file
import { PhoneAuthServiceBase } from './phone-auth-service-base';
/**
* 手机权限服务对象
*
* @export
* @class PhoneAuthService
* @extends {PhoneAuthServiceBase}
*/
export default class PhoneAuthService extends PhoneAuthServiceBase {
/**
* 基础权限服务实例
*
* @private
* @type {PhoneAuthService}
* @memberof PhoneAuthService
*/
private static basicUIServiceInstance: PhoneAuthService;
/**
* 动态模型服务存储Map对象
*
* @private
* @type {Map<string, any>}
* @memberof PhoneAuthService
*/
private static AuthServiceMap: Map<string, any> = new Map();
/**
* Creates an instance of PhoneAuthService.
*
* @param {*} [opts={}]
* @memberof PhoneAuthService
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 通过应用上下文获取实例对象
*
* @public
* @memberof PhoneAuthService
*/
public static getInstance(context: any): PhoneAuthService {
if (!this.basicUIServiceInstance) {
this.basicUIServiceInstance = new PhoneAuthService({context:context});
}
if (!context.srfdynainstid) {
return this.basicUIServiceInstance;
} else {
if (!PhoneAuthService.AuthServiceMap.get(context.srfdynainstid)) {
PhoneAuthService.AuthServiceMap.set(context.srfdynainstid, new PhoneAuthService({context:context}));
}
return PhoneAuthService.AuthServiceMap.get(context.srfdynainstid);
}
}
}
\ No newline at end of file
export * from './interface';
export * from './phone/phone';
export * from './raw-material/raw-material';
export * from './book/book';
export * from './reginfo/reginfo';
export * from './entity';
export * from './iphone';
export * from './iraw-material';
export * from './ibook';
export * from './ireginfo';
import { IEntityBase } from 'ibiz-core';
/**
* 手机
*
* @export
* @interface IPhone
* @extends {IEntityBase}
*/
export interface IPhone extends IEntityBase {
/**
* 手机标识
*/
phoneid?: any;
/**
* 建立时间
*/
createdate?: any;
/**
* 手机名称
*/
phonename?: any;
/**
* 建立人
*/
createman?: any;
/**
* 更新时间
*/
updatedate?: any;
/**
* 更新人
*/
updateman?: any;
/**
* 组织部门标识
*/
deptid?: any;
/**
* 组织机构标识
*/
orgid?: any;
/**
* 手机型号
*/
phonetype?: any;
}
import { EntityBase } from 'ibiz-core';
import { IPhone } from '../interface';
/**
* 手机基类
*
* @export
* @abstract
* @class PhoneBase
* @extends {EntityBase}
* @implements {IPhone}
*/
export abstract class PhoneBase extends EntityBase implements IPhone {
/**
* 实体名称
*
* @readonly
* @type {string}
* @memberof PhoneBase
*/
get srfdename(): string {
return 'PHONE';
}
get srfkey() {
return this.phoneid;
}
set srfkey(val: any) {
this.phoneid = val;
}
get srfmajortext() {
return this.phonename;
}
set srfmajortext(val: any) {
this.phonename = val;
}
/**
* 手机标识
*/
phoneid?: any;
/**
* 建立时间
*/
createdate?: any;
/**
* 手机名称
*/
phonename?: any;
/**
* 建立人
*/
createman?: any;
/**
* 更新时间
*/
updatedate?: any;
/**
* 更新人
*/
updateman?: any;
/**
* 组织部门标识
*/
deptid?: any;
/**
* 组织机构标识
*/
orgid?: any;
/**
* 手机型号
*/
phonetype?: any;
/**
* 重置实体数据
*
* @private
* @param {*} [data={}]
* @memberof PhoneBase
*/
reset(data: any = {}): void {
super.reset(data);
this.phoneid = data.phoneid || data.srfkey;
this.phonename = data.phonename || data.srfmajortext;
}
}
import keys from './phone-keys';
import { IContext, IEntityLocalDataService, IParams } from 'ibiz-core';
import { GlobalService } from '../../service';
import { IPhone } from '../interface';
/**
* PhoneDTOdto辅助类
*
* @export
* @class PhoneDTOHelp
*/
export class PhoneDTOHelp {
/**
* 获取数据服务
*
* @param {IContext} context 应用上下文对象
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async getService(context: IContext): Promise<IEntityLocalDataService<IPhone>> {
return new GlobalService().getService('Phone',context);
}
/**
* DTO转化成数据对象
*
* @param {IContext} context 应用上下文对象
* @param {IParams} source dto对象
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async ToDataObj(context: IContext, source: IParams) {
const _data: any = {};
// 建立时间
_data.createdate = source.createdate;
// 建立人
_data.createman = source.createman;
// 组织部门标识
_data.deptid = source.deptid;
// 组织机构标识
_data.orgid = source.orgid;
// 手机标识
_data.phoneid = source.phoneid;
// 手机名称
_data.phonename = source.phonename;
// 手机型号
_data.phonetype = source.phonetype;
// 更新时间
_data.updatedate = source.updatedate;
// 更新人
_data.updateman = source.updateman;
// 处理预置字段(以srf开头)
if(source && Object.keys(source).length >0){
Object.keys(source).forEach((key:string) =>{
if(key.startsWith('srf')){
_data[key] = source[key];
}
})
}
return _data;
}
/**
* 转化数组(dto转化成数据对象)
*
* @param {IContext} context 应用上下文对象
* @param {any[]} data 数据对象
* @returns {any[]}
* @memberof PhoneDTOHelp
*/
public static async ToDataObjArray(context: IContext, data: any[]) {
const _data: any[] = [];
if (data && Array.isArray(data) && data.length > 0) {
for (let i = 0; i < data.length; i++) {
const tempdata = await this.ToDataObj(context, data[i]);
_data.push(tempdata);
}
}
return _data;
}
/**
* 数据对象转化成DTO
*
* @param {IContext} context 应用上下文对象
* @param {*} source 数据对象
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async ToDto(context: IContext, source: IParams) {
const _data: any = {};
const excludes: string[] = [];
// 建立时间
_data.createdate = source.createdate;
// 建立人
_data.createman = source.createman;
// 组织部门标识
_data.deptid = source.deptid;
// 组织机构标识
_data.orgid = source.orgid;
// 手机标识
_data.phoneid = source.phoneid;
// 手机名称
_data.phonename = source.phonename;
// 手机型号
_data.phonetype = source.phonetype;
// 更新时间
_data.updatedate = source.updatedate;
// 更新人
_data.updateman = source.updateman;
// 附加额外数据
if (source && Object.keys(source).length > 0 && keys) {
Object.keys(source).forEach((key: string) => {
if (!keys.includes(key) && !excludes.includes(key)) {
_data[key] = source[key];
}
})
}
return _data;
}
/**
* 转化数组(数据对象转化成dto)
*
* @param {IContext} context 应用上下文对象
* @param {any[]} data
* @returns {any[]}
* @memberof PhoneDTOHelp
*/
public static async ToDtoArray(context: IContext, data: any[]) {
const _data: any[] = [];
if (data && Array.isArray(data) && data.length > 0) {
for (let i = 0; i < data.length; i++) {
const tempdata = await this.ToDto(context, data[i]);
_data.push(tempdata);
}
}
return _data;
}
/**
* 处理响应dto对象
*
* @param {*} context 应用上下文对象
* @param {*} data 响应dto对象
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async set(context: IContext, data: any) {
const _data: IParams = await this.ToDataObj(context, data);
return _data;
}
/**
* 处理请求数据对象
*
* @param {*} context 应用上下文对象
* @param {*} data 数据对象
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async get(context: IContext, data: any = {}) {
return await this.ToDto(context, data);
}
/**
* 获取缓存数据
*
* @param {*} context 应用上下文对象
* @param {*} srfkey 数据主键
* @returns {*}
* @memberof PhoneDTOHelp
*/
public static async getCacheData(context: IContext, srfkey: string) {
const targetService: IEntityLocalDataService<IPhone> = await this.getService(context);
const result = await targetService.getLocal(context, srfkey);
if(result){
return await this.ToDto(context,result);
}
}
/**
* 获取缓存数组
*
* @param {*} context 应用上下文对象
* @returns {any[]}
* @memberof PhoneDTOHelp
*/
public static async getCacheDataArray(context: IContext) {
const targetService: IEntityLocalDataService<IPhone> = await this.getService(context);
const result = await targetService.getLocals(context);
if(result && result.length >0){
return await this.ToDtoArray(context,result);
}else{
return [];
}
}
/**
* 设置缓存数据
*
* @param {*} context 应用上下文对象
* @param {any} data 数据
* @returns {any[]}
* @memberof PhoneDTOHelp
*/
public static async setCacheData(context: IContext, data: any) {
const targetService: IEntityLocalDataService<IPhone> = await this.getService(context);
const _data: any = await this.set(context, data);
await targetService.addLocal(context, _data);
}
/**
* 设置缓存数组
*
* @param {*} context 应用上下文对象
* @param {any[]} data 数据
* @returns {any[]}
* @memberof PhoneDTOHelp
*/
public static async setCacheDataArray(context: IContext, data: any[]) {
if (data && data.length > 0) {
const targetService: IEntityLocalDataService<IPhone> = 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);
}
}
}
}
export default [
'phoneid',
'createdate',
'phonename',
'createman',
'updatedate',
'updateman',
'deptid',
'orgid',
'phonetype',
];
import { PhoneBase } from './phone-base';
/**
* 手机
*
* @export
* @class Phone
* @extends {PhoneBase}
* @implements {IPhone}
*/
export class Phone extends PhoneBase {
/**
* 克隆当前实体
*
* @return {*}
* @memberof Phone
*/
clone(): Phone {
return new Phone(this);
}
}
export default Phone;
......@@ -53,7 +53,8 @@ export class AuthServiceRegister{
* @memberof AuthServiceRegister
*/
protected init(): void {
AuthServiceRegister.allAuthServiceMap.set('rawmaterial', () => import('../authservice/raw-material/raw-material-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('phone', () => import('../authservice/phone/phone-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('rawmaterial', () => import('../authservice/raw-material/raw-material-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('book', () => import('../authservice/book/book-auth-service'));
AuthServiceRegister.allAuthServiceMap.set('reginfo', () => import('../authservice/reginfo/reginfo-auth-service'));
}
......
......@@ -54,7 +54,8 @@ export class UIServiceRegister {
* @memberof UIServiceRegister
*/
protected init(): void {
UIServiceRegister.allUIServiceMap.set('rawmaterial', () => import('../uiservice/raw-material/raw-material-ui-service'));
UIServiceRegister.allUIServiceMap.set('phone', () => import('../uiservice/phone/phone-ui-service'));
UIServiceRegister.allUIServiceMap.set('rawmaterial', () => import('../uiservice/raw-material/raw-material-ui-service'));
UIServiceRegister.allUIServiceMap.set('book', () => import('../uiservice/book/book-ui-service'));
UIServiceRegister.allUIServiceMap.set('reginfo', () => import('../uiservice/reginfo/reginfo-ui-service'));
}
......
......@@ -19,6 +19,16 @@ export class GlobalService {
return targetService;
}
/**
* 手机服务
*
* @param context 应用上下文
* @return {Phone}
* @memberof GlobalService
*/
async getPhoneService(context?: any) {
return (await import('./phone/phone.service')).default.getInstance(context);
}
/**
* 原材料服务
*
......
export { GlobalService } from './global.service';
export * from './phone/phone.service';
export * from './raw-material/raw-material.service';
export * from './book/book.service';
export * from './reginfo/reginfo.service';
import { CodeListService } from '../app/codelist-service';
import { EntityBaseService, IContext, HttpResponse } from 'ibiz-core';
import { GlobalService } from '../global.service';
import { IPhone, Phone } from '../../entities';
import keys from '../../entities/phone/phone-keys';
import { PhoneDTOHelp } from '../../entities/phone/phone-dto-help';
/**
* 手机服务对象基类
*
* @export
* @class PhoneBaseService
* @extends {EntityBaseService}
*/
export class PhoneBaseService extends EntityBaseService<IPhone> {
protected get keys(): string[] {
return keys;
}
protected SYSTEMNAME = 'TrainSys';
protected APPNAME = 'Web';
protected APPDENAME = 'Phone';
protected APPWFDENAME = 'PHONE';
protected APPDENAMEPLURAL = 'Phones';
protected dynaModelFilePath:string = 'PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json';
protected APPDEKEY = 'phoneid';
protected APPDETEXT = 'phonename';
protected quickSearchFields = ['phonename',];
protected selectContextParam = {
};
constructor(opts?: any) {
super(opts, 'Phone');
}
newEntity(data: IPhone): Phone {
return new Phone(data);
}
/**
* Create
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async Create(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data = await this.beforeExecuteAction(_context,_data,'Create');
if (!_data.srffrontuf || _data.srffrontuf != 1) {
_data[this.APPDEKEY] = null;
}
if (_data.srffrontuf != null) {
delete _data.srffrontuf;
}
_data = await PhoneDTOHelp.get(_context,_data);
const res = await this.http.post(`/phones`, _data);
res.data = await PhoneDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Get
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async Get(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.get(`/phones/${encodeURIComponent(_context.phone)}`, _data);
res.data = await PhoneDTOHelp.set(_context,res.data);
res.data = await this.afterExecuteAction(_context,res?.data,'Get');
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* GetDraft
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async GetDraft(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data[this.APPDENAME?.toLowerCase()] = undefined;
_data[this.APPDEKEY] = undefined;
const res = await this.http.get(`/phones/getdraft`, _data);
res.data = await PhoneDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Remove
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async Remove(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.delete(`/phones/${encodeURIComponent(_context.phone)}`, _data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Update
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async Update(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
_data = await this.beforeExecuteAction(_context,_data,'Update');
_data = await PhoneDTOHelp.get(_context,_data);
const res = await this.http.put(`/phones/${encodeURIComponent(_context.phone)}`, _data);
res.data = await PhoneDTOHelp.set(_context,res.data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* FetchDefault
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async FetchDefault(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.post(`/phones/fetchdefault`, _data);
res.data = await PhoneDTOHelp.ToDataObjArray(_context,res.data);
res.data = await this.afterExecuteActionBatch(_context,res?.data,'FetchDefault');
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
/**
* Select
*
* @param {*} [_context={}]
* @param {*} [_data = {}]
* @returns {Promise<HttpResponse>}
* @memberof PhoneService
*/
async Select(_context: any = {}, _data: any = {}): Promise<HttpResponse> {
try {
const res = await this.http.post(`/phones/select`, _data);
return res;
} catch (error) {
return this.handleResponseError(error);
}
}
}
import { PhoneBaseService } from './phone-base.service';
/**
* 手机服务
*
* @export
* @class PhoneService
* @extends {PhoneBaseService}
*/
export class PhoneService extends PhoneBaseService {
/**
* Creates an instance of PhoneService.
* @memberof PhoneService
*/
constructor(opts?: any) {
const { context: context, tag: cacheKey } = opts;
super(context);
if (___ibz___.sc.has(cacheKey)) {
return ___ibz___.sc.get(cacheKey);
}
___ibz___.sc.set(cacheKey, this);
}
/**
* 获取实例
*
* @static
* @param 应用上下文
* @return {*} {PhoneService}
* @memberof PhoneService
*/
static getInstance(context?: any): PhoneService {
const cacheKey: string = context?.srfdynainstid ? `${context.srfdynainstid}PhoneService` : `PhoneService`;
if (!___ibz___.sc.has(cacheKey)) {
new PhoneService({ context: context, tag: cacheKey });
}
return ___ibz___.sc.get(cacheKey);
}
}
export default PhoneService;
export * from './ui-service';
export * from './phone/phone-ui-service';
export * from './raw-material/raw-material-ui-service';
export * from './book/book-ui-service';
export * from './reginfo/reginfo-ui-service';
import { IPSAppDEUIAction } from '@ibiz/dynamic-model-api';
import { UIServiceBase } from 'ibiz-core';
import { AppLogicFactory } from 'ibiz-vue';
import { AuthServiceRegister } from '../../register';
import { GlobalService } from '../../service';
/**
* 手机UI服务对象基类
*
* @export
* @class PhoneUIServiceBase
*/
export class PhoneUIServiceBase extends UIServiceBase {
/**
* 应用实体动态模型文件路径
*
* @protected
* @type {string}
* @memberof PhoneUIServiceBase
*/
protected dynaModelFilePath:string = "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json";
/**
* Creates an instance of PhoneUIServiceBase.
*
* @param {*} [opts={}]
* @memberof PhoneUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 加载应用实体模型数据
*
* @memberof PhoneUIServiceBase
*/
protected async loaded() {
await super.loaded();
this.authService = await AuthServiceRegister.getInstance().getService(this.context,`${this.entityModel?.codeName.toLowerCase()}`);
this.dataService = await new GlobalService().getService(`${this.entityModel?.codeName}`,this.context);
await this.authService.loaded();
}
/**
* 初始化基础数据
*
* @memberof PhoneUIServiceBase
*/
protected initBasicData(){
this.isEnableDEMainState = false;
this.dynaInstTag = "";
this.tempOrgIdDEField ="orgid";
this.stateValue = 0;
this.multiFormDEField = null;
this.indexTypeDEField = null;
this.stateField = "";
this.mainStateFields = [];
}
/**
* 初始化界面行为数据
*
* @memberof PhoneUIServiceBase
*/
protected async initActionMap(): Promise<void> {
const actions = this.entityModel?.getAllPSAppDEUIActions() as IPSAppDEUIAction[];
if (actions && actions.length > 0) {
for (const element of actions) {
const targetAction: any = await AppLogicFactory.getInstance(element, this.context);
this.actionMap.set(element.uIActionTag, targetAction);
}
}
}
/**
* 初始化视图功能数据Map
*
* @memberof PhoneUIServiceBase
*/
protected initViewFuncMap(){
this.allViewFuncMap.set('EDITVIEW:','EDITVIEW');
this.allViewFuncMap.set(':','');
}
}
\ No newline at end of file
import { PhoneUIServiceBase } from './phone-ui-service-base';
/**
* 手机UI服务对象
*
* @export
* @class PhoneUIService
*/
export default class PhoneUIService extends PhoneUIServiceBase {
/**
* 基础UI服务实例
*
* @private
* @type {ORDER1UIServiceBase}
* @memberof PhoneUIService
*/
private static basicUIServiceInstance: PhoneUIService;
/**
* 动态模型服务存储Map对象
*
* @private
* @type {Map<string, any>}
* @memberof PhoneUIService
*/
private static UIServiceMap: Map<string, any> = new Map();
/**
* Creates an instance of PhoneUIService.
*
* @param {*} [opts={}]
* @memberof PhoneUIService
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 通过应用上下文获取实例对象
*
* @public
* @memberof PhoneUIService
*/
public static getInstance(context: any): PhoneUIService {
if (!this.basicUIServiceInstance) {
this.basicUIServiceInstance = new PhoneUIService({context:context});
}
if (!context.srfdynainstid) {
return this.basicUIServiceInstance;
} else {
if (!PhoneUIService.UIServiceMap.get(context.srfdynainstid)) {
PhoneUIService.UIServiceMap.set(context.srfdynainstid, new PhoneUIService({context:context}));
}
return PhoneUIService.UIServiceMap.get(context.srfdynainstid);
}
}
}
\ No newline at end of file
......@@ -671,8 +671,7 @@ export class AppTreeService extends ControlServiceBase {
children: children,
})
} else {
// todo 动态节点的子节点
Object.assign(node, { leaf: true });
Object.assign(node, { leaf: !nodeJson.hasPSDETreeNodeRSs() });
}
treeNodes.push(node)
}
......
import moment from 'moment';
import { init, registerMap } from 'echarts/core';
import { init, registerMap } from 'echarts';
import { MDControlBase } from './md-control-base';
import { AppChartService } from '../ctrl-service';
import {
......
import { MDControlBase } from "./md-control-base";
import { AppMapService } from '../ctrl-service';
import { IPSSysMap, IPSSysMapItem } from '@ibiz/dynamic-model-api';
import { init } from 'echarts/core';
import { init } from 'echarts';
import '../components/control/app-default-map/china.js'
import { MapControlInterface, Util } from "ibiz-core";
......
export const appMapping: any = {
'rawmaterial': 'rawmaterial',
'phone': 'phone',
'rawmaterial': 'rawmaterial',
'book': 'book',
'reginfo': 'reginfo'
}
\ No newline at end of file
......@@ -38,6 +38,24 @@ const router = new Router({
},
component: AppIndexViewShell,
children: [
{
path: 'phones/:phone?/views/:view?',
meta: {
captionTag: '',
caption: '',
info:'',
imgPath: '',
iconCls: '',
parameters: [
{ pathName: 'appindex', parameterName: 'appindex' },
{ pathName: 'phones', parameterName: 'phone' },
{ pathName: 'views', parameterName: 'view' },
],
resource:'phone',
requireAuth: false,
},
component: AppViewShell
},
{
path: 'rawmaterials/:rawmaterial?/views/:view?',
meta: {
......
......@@ -43,6 +43,9 @@ lite-core:
sysauthlog:
path: /sysauthlogs
serviceId: trainsys-trainsys
phone:
path: /phones/**,/phone/**
serviceId: trainsys-trainsys
rawmaterial:
path: /rawmaterials/**,/rawmaterial/**
serviceId: trainsys-trainsys
......
export const EntityPathReplace = {
'phones': 'phone',
'r8_redirect_phone': 'phone',
'rawmaterials': 'rawmaterial',
'r8_redirect_rawmaterial': 'rawmaterial',
'books': 'book',
......
import { PhoneModule } from './phone/phone.module';
import { RawMaterialModule } from './raw-material/raw-material.module';
import { BookModule } from './book/book.module';
import { ReginfoModule } from './reginfo/reginfo.module';
export {
PhoneModule,
RawMaterialModule,
BookModule,
ReginfoModule,
};
export const AllModules = [
PhoneModule,
RawMaterialModule,
BookModule,
ReginfoModule,
......
import { Body, Controller, Delete, Get, Param, Post, Put, Req, Res } from '@nestjs/common';
import { FastifyRequest, FastifyReply } from 'fastify';
import { NetService, ControllerBase } from '@/core';
import { Environment } from '@/environment';
@Controller()
export class PhoneController extends ControllerBase {
protected readonly http: NetService = new NetService('phone');
@Post('/phones')
async create(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/create`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Get('/phones/:phone')
async get(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('phone') phone: string,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/get/${encodeURIComponent(phone)}`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.get(request, response, url);
return this.parseResponse(request, response, res);
}
@Delete('/phones/:phone')
async remove(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('phone') phone: string,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/remove/${encodeURIComponent(phone)}`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.delete(request, response, url);
return this.parseResponse(request, response, res);
}
@Put('/phones/:phone')
async update(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Param('phone') phone: string,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/update/${encodeURIComponent(phone)}`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.put(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Post('/phones/checkkey')
async checkKey(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/checkkey`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Get('/phones/getdraft')
async getDraft(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/getdraft`;
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.get(request, response, url);
return this.parseResponse(request, response, res);
}
@Post('/phones/fetchdefault')
async fetchDefault(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any,
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/fetchdefault`;
this.callFetchAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
@Delete('/phones/batch')
async removeBatch(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any
): Promise<any> {
if (Environment.EnableRuntime) {
let keys = '';
if (body && body instanceof Array) {
keys = body.join(',');
}
const url = `/phone/remove/${keys}`;
delete request.headers['content-length'];
this.callAPI(request, response, url);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.delete(request, response, url, { data: body });
return this.parseResponse(request, response, res);
}
@Post('/phones/batch')
async saveBatch(
@Req() request: FastifyRequest,
@Res() response: FastifyReply,
@Body() body: any
): Promise<any> {
if (Environment.EnableRuntime) {
const url = `/phone/save`;
this.callAPI(request, response, url, body);
return;
}
const url = this.parseUrl(request.url);
const res = await this.http.post(request, response, url, body);
return this.parseResponse(request, response, res);
}
}
import { EntityProxyMiddleware } from '../../core';
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { PhoneController } from './phone.controller';
export class PhoneMiddleware extends EntityProxyMiddleware {
protected serviceTag = 'phone';
}
@Module({
controllers: [PhoneController]
})
export class PhoneModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(PhoneMiddleware).forRoutes('(.*)/importdata', '(.*)/importtemplate', '(.*)/exportdata/(.*)');
}
}
......@@ -26,6 +26,31 @@
</createTable>
</changeSet>
<!--输出实体[T_PHONE]数据结构 -->
<changeSet author="root" id="T_PHONE">
<createTable tableName="T_PHONE" remarks="手机">
<column name="CREATEDATE" remarks="建立时间" type="DATETIME">
</column>
<column name="CREATEMAN" remarks="建立人" type="VARCHAR(60)">
</column>
<column name="DEPTID" remarks="组织部门标识" type="VARCHAR(60)">
</column>
<column name="ORGID" remarks="组织机构标识" type="VARCHAR(60)">
</column>
<column name="PHONEID" remarks="手机标识" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_T_PHONE_PHONEID"/>
</column>
<column name="PHONENAME" remarks="手机名称" type="VARCHAR(200)">
</column>
<column name="PHONETYPE" remarks="手机型号" type="VARCHAR(100)">
</column>
<column name="UPDATEDATE" remarks="更新时间" type="DATETIME">
</column>
<column name="UPDATEMAN" remarks="更新人" type="VARCHAR(60)">
</column>
</createTable>
</changeSet>
<!--输出实体[T_RAWMATERIAL]数据结构 -->
<changeSet author="root" id="T_RAWMATERIAL">
<createTable tableName="T_RAWMATERIAL" remarks="原材料">
......
......@@ -26,8 +26,33 @@
</createTable>
</changeSet>
<!--输出实体[PHONE]数据结构 -->
<changeSet author="root" id="tab-phone-15-2">
<createTable tableName="T_PHONE">
<column name="PHONEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_PHONE"/>
</column>
<column name="CREATEDATE" remarks="" type="DATETIME">
</column>
<column name="PHONENAME" 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>
<column name="DEPTID" remarks="" type="VARCHAR(60)">
</column>
<column name="ORGID" remarks="" type="VARCHAR(60)">
</column>
<column name="PHONETYPE" remarks="" type="VARCHAR(100)">
</column>
</createTable>
</changeSet>
<!--输出实体[REGINFO]数据结构 -->
<changeSet author="root" id="tab-reginfo-28-3">
<changeSet author="root" id="tab-reginfo-33-4">
<createTable tableName="T_REGINFO">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......
......@@ -2,6 +2,9 @@
"getAllPSDataEntities" : [ {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Book.json"
}, {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Phone.json"
}, {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/RawMaterial.json"
......
{
"actionMode" : "CHECKKEY",
"actionType" : "BUILTIN",
"codeName" : "CheckKey",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/CheckKey.json",
"logicName" : "CheckKey",
"name" : "CheckKey",
"getPSDEActionInput" : {
"name" : "CheckKeyInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "CheckKeyResult",
"stdDataType" : 9,
"type" : "SIMPLE"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "CREATE",
"actionType" : "BUILTIN",
"codeName" : "Create",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/Create.json",
"logicName" : "Create",
"name" : "Create",
"orderValue" : 1,
"getPSDEActionInput" : {
"name" : "CreateInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO",
"output" : true
},
"getPSDEActionReturn" : {
"name" : "CreateResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "READ",
"actionType" : "BUILTIN",
"codeName" : "Get",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/Get.json",
"logicName" : "Get",
"name" : "Get",
"orderValue" : 31,
"getPSDEActionInput" : {
"getKeyPSDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"name" : "GetInput",
"type" : "KEYFIELD"
},
"getPSDEActionReturn" : {
"name" : "GetResult",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "GETDRAFT",
"actionType" : "BUILTIN",
"codeName" : "GetDraft",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/GetDraft.json",
"logicName" : "GetDraft",
"name" : "GetDraft",
"orderValue" : 41,
"getPSDEActionInput" : {
"name" : "GetDraftInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "GetDraftResult",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "DELETE",
"actionType" : "BUILTIN",
"batchActionMode" : 1,
"codeName" : "Remove",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/Remove.json",
"logicName" : "Remove",
"name" : "Remove",
"orderValue" : 21,
"getPSDEActionInput" : {
"getKeyPSDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"name" : "RemoveInput",
"type" : "KEYFIELDS"
},
"getPSDEActionReturn" : {
"name" : "RemoveResult",
"type" : "VOID"
},
"batchAction" : true,
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "UNKNOWN",
"actionType" : "BUILTIN",
"codeName" : "Save",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/Save.json",
"logicName" : "Save",
"name" : "Save",
"getPSDEActionInput" : {
"name" : "SaveInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO"
},
"getPSDEActionReturn" : {
"name" : "SaveResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"actionMode" : "UPDATE",
"actionType" : "BUILTIN",
"codeName" : "Update",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEACTIONS/Update.json",
"logicName" : "Update",
"name" : "Update",
"orderValue" : 11,
"getPSDEActionInput" : {
"name" : "UpdateInput",
"getPSDEMethodDTO" : {
"modelref" : true,
"id" : "PhoneDTO"
},
"type" : "DTO",
"output" : true
},
"getPSDEActionReturn" : {
"name" : "UpdateResult",
"type" : "VOID"
},
"builtinAction" : true
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`PHONEID`",
"name" : "PHONEID"
}, {
"expression" : "t1.`PHONENAME`",
"name" : "PHONENAME"
}, {
"expression" : "t1.`PHONETYPE`",
"name" : "PHONETYPE"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`PHONEID`,\nt1.`PHONENAME`,\nt1.`PHONETYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_PHONE` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEDATAQUERIES/Default/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`PHONETYPE`",
"name" : "PHONETYPE"
}, {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`PHONEID`",
"name" : "PHONEID"
}, {
"expression" : "t1.`PHONENAME`",
"name" : "PHONENAME"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`PHONEID`,\nt1.`PHONENAME`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_PHONE` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEDATAQUERIES/Simple/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dBType" : "MYSQL5",
"name" : "MySQL5",
"getPSDEDataQueryCodeExps" : [ {
"expression" : "t1.`CREATEDATE`",
"name" : "CREATEDATE"
}, {
"expression" : "t1.`CREATEMAN`",
"name" : "CREATEMAN"
}, {
"expression" : "t1.`DEPTID`",
"name" : "DEPTID"
}, {
"expression" : "t1.`ORGID`",
"name" : "ORGID"
}, {
"expression" : "t1.`PHONEID`",
"name" : "PHONEID"
}, {
"expression" : "t1.`PHONENAME`",
"name" : "PHONENAME"
}, {
"expression" : "t1.`PHONETYPE`",
"name" : "PHONETYPE"
}, {
"expression" : "t1.`UPDATEDATE`",
"name" : "UPDATEDATE"
}, {
"expression" : "t1.`UPDATEMAN`",
"name" : "UPDATEMAN"
} ],
"queryCode" : "SELECT\nt1.`CREATEDATE`,\nt1.`CREATEMAN`,\nt1.`DEPTID`,\nt1.`ORGID`,\nt1.`PHONEID`,\nt1.`PHONENAME`,\nt1.`PHONETYPE`,\nt1.`UPDATEDATE`,\nt1.`UPDATEMAN`\nFROM `T_PHONE` t1 \n",
"id" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEDATAQUERIES/View/PSDEDQCODES/MYSQL5.json"
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/ALL_R.json",
"name" : "全部数据(读)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "ALL_R",
"userDRAction" : "READ",
"allData" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/ALL_RW.json",
"name" : "全部数据(读写)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
}, {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
}, {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
} ],
"roleTag" : "ALL_RW",
"userDRAction" : "READ",
"allData" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/CURDEPT_R.json",
"name" : "当前部门(读)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURDEPT_R",
"secDR" : 1,
"userDRAction" : "READ",
"enableSecDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/CURDEPT_RW.json",
"name" : "当前部门(读写)",
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
}, {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
}, {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURDEPT_RW",
"secDR" : 1,
"userDRAction" : "READ",
"enableSecDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/CURORG_R.json",
"name" : "当前组织(读)",
"orgDR" : 1,
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
} ],
"roleTag" : "CURORG_R",
"userDRAction" : "READ",
"enableOrgDR" : true
}
\ No newline at end of file
{
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDEUSERROLES/CURORG_RW.json",
"name" : "当前组织(读写)",
"orgDR" : 1,
"getPSDEUserRoleOPPrivs" : [ {
"dataAccessAction" : "CREATE",
"name" : "CREATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "CREATE"
}
}, {
"dataAccessAction" : "DELETE",
"name" : "DELETE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "DELETE"
}
}, {
"dataAccessAction" : "READ",
"name" : "READ",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "READ"
}
}, {
"dataAccessAction" : "UPDATE",
"name" : "UPDATE",
"getPSDEOPPriv" : {
"modelref" : true,
"id" : "UPDATE"
}
} ],
"roleTag" : "CURORG_RW",
"userDRAction" : "READ",
"enableOrgDR" : true
}
\ No newline at end of file
{
"codeName" : "Main",
"controlType" : "FORM",
"getCreatePSControlAction" : {
"modelref" : true,
"id" : "create"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone/PSFORMS/Main.json",
"getGetDraftFromPSControlAction" : {
"modelref" : true,
"id" : "loaddraftfrom"
},
"getGetDraftPSControlAction" : {
"modelref" : true,
"id" : "loaddraft"
},
"getGetPSControlAction" : {
"modelref" : true,
"id" : "load"
},
"hookEventNames" : [ "LOAD", "SAVE", "REMOVE" ],
"logicName" : "主编辑表单",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json"
},
"getPSControlLogics" : [ {
"eventNames" : "LOAD;SAVE;REMOVE",
"logicTag" : "form",
"logicType" : "APPVIEWENGINE",
"name" : "engine_form",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSDEFormItems" : [ {
"id" : "srfupdatedate",
"hidden" : true,
"dataType" : 5,
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"id" : "srforikey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "srfkey",
"hidden" : true,
"dataType" : 25,
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
}
}, {
"id" : "srfmajortext",
"hidden" : true,
"dataType" : 25,
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
}
}, {
"id" : "srftempmode",
"hidden" : true,
"dataType" : 25
}, {
"id" : "srfuf",
"hidden" : true,
"dataType" : 25
}, {
"id" : "srfdeid",
"hidden" : true,
"dataType" : 25
}, {
"id" : "srfsourcekey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "phonename",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
}
}, {
"id" : "createman",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "CREATEMAN",
"codeName" : "CreateMan"
}
}, {
"id" : "createdate",
"dataType" : 5,
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
}
}, {
"id" : "updateman",
"dataType" : 25,
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
}
}, {
"id" : "updatedate",
"dataType" : 5,
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"id" : "phoneid",
"hidden" : true,
"dataType" : 25,
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
}
} ],
"getPSDEFormPages" : [ {
"caption" : "基本信息",
"codeName" : "formpage1",
"detailStyle" : "DEFAULT",
"detailType" : "FORMPAGE",
"name" : "formpage1",
"getPSDEFormDetails" : [ {
"actionGroupExtractMode" : "ITEM",
"caption" : "手机基本信息",
"codeName" : "group1",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"name" : "group1",
"getPSDEFormDetails" : [ {
"caption" : "手机名称",
"codeName" : "phonename",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "phonename",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 200,
"name" : "phonename"
},
"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,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false
}, {
"caption" : "其它",
"codeName" : "formpage2",
"detailStyle" : "DEFAULT",
"detailType" : "FORMPAGE",
"name" : "formpage2",
"getPSDEFormDetails" : [ {
"actionGroupExtractMode" : "ITEM",
"caption" : "操作信息",
"codeName" : "group2",
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"name" : "group2",
"getPSDEFormDetails" : [ {
"caption" : "建立人",
"codeName" : "createman",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 3,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "createman",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "CREATEMAN",
"codeName" : "CreateMan"
},
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "createman",
"getPSAppCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
},
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"convertToCodeItemText" : true,
"showCaption" : true
}, {
"caption" : "建立时间",
"codeName" : "createdate",
"dataType" : 5,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 3,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "createdate",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "CREATEDATE",
"codeName" : "CreateDate"
},
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "createdate",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"valueFormat" : "YYYY-MM-DD HH:mm:ss",
"allowEmpty" : true,
"showCaption" : true
}, {
"caption" : "更新人",
"codeName" : "updateman",
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 3,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "updateman",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
},
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "updateman",
"getPSAppCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
},
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"convertToCodeItemText" : true,
"showCaption" : true
}, {
"caption" : "更新时间",
"codeName" : "updatedate",
"dataType" : 5,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 3,
"labelPos" : "LEFT",
"labelWidth" : 130,
"name" : "updatedate",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
},
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "updatedate",
"enableLinkView" : false
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"valueFormat" : "YYYY-MM-DD HH:mm:ss",
"allowEmpty" : true,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getRemovePSControlAction" : {
"modelref" : true,
"id" : "remove"
},
"tabHeaderPos" : "TOP",
"getUpdatePSControlAction" : {
"modelref" : true,
"id" : "update"
},
"noTabHeader" : false,
"modelid" : "a3ece2843bcddbc92a85087bdad4ecef",
"modeltype" : "PSDEFORM_EDITFORM"
}
\ No newline at end of file
{
"aggMode" : "NONE",
"codeName" : "Main",
"columnEnableLink" : 2,
"controlType" : "GRID",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone/PSGRIDS/Main.json",
"getFetchPSControlAction" : {
"modelref" : true,
"id" : "fetch"
},
"groupMode" : "NONE",
"hookEventNames" : [ "ROWDBLCLICK", "SELECTIONCHANGE", "REMOVE", "LOAD", "BEFORELOAD" ],
"logicName" : "主表格",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json"
},
"getPSControlLogics" : [ {
"eventNames" : "ROWDBLCLICK;SELECTIONCHANGE;REMOVE;LOAD;BEFORELOAD",
"logicTag" : "grid",
"logicType" : "APPVIEWENGINE",
"name" : "engine_grid",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSDEGridColumns" : [ {
"align" : "LEFT",
"cLConvertMode" : "NONE",
"caption" : "手机型号",
"codeName" : "phonetype",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "phonetype",
"excelCaption" : "手机型号",
"name" : "phonetype",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "PHONETYPE",
"codeName" : "Phonetype"
},
"width" : 180,
"widthUnit" : "PX",
"enableRowEdit" : true,
"enableSort" : true
}, {
"align" : "LEFT",
"cLConvertMode" : "NONE",
"caption" : "手机标识",
"codeName" : "phoneid",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "phoneid",
"excelCaption" : "手机标识",
"name" : "phoneid",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"width" : 180,
"widthUnit" : "PX",
"enableRowEdit" : true,
"enableSort" : true
}, {
"align" : "LEFT",
"cLConvertMode" : "NONE",
"caption" : "手机名称",
"codeName" : "phonename",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "phonename",
"excelCaption" : "手机名称",
"name" : "phonename",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
},
"width" : 150,
"widthUnit" : "PX",
"enableSort" : true
}, {
"align" : "LEFT",
"cLConvertMode" : "FRONT",
"caption" : "更新人",
"codeName" : "updateman",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "updateman",
"excelCaption" : "更新人",
"name" : "updateman",
"noPrivDisplayMode" : 1,
"getPSAppCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
},
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
},
"width" : 150,
"widthUnit" : "PX",
"enableSort" : true
}, {
"align" : "LEFT",
"cLConvertMode" : "NONE",
"caption" : "更新时间",
"codeName" : "updatedate",
"columnType" : "DEFGRIDCOLUMN",
"dataItemName" : "updatedate",
"excelCaption" : "更新时间",
"name" : "updatedate",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
},
"valueFormat" : "YYYY-MM-DD HH:mm:ss",
"width" : 150,
"widthUnit" : "PX",
"enableSort" : true
} ],
"getPSDEGridDataItems" : [ {
"dataType" : 25,
"name" : "phonetype",
"getPSAppDEField" : {
"name" : "PHONETYPE",
"codeName" : "Phonetype"
}
}, {
"dataType" : 25,
"name" : "phoneid",
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
}
}, {
"dataType" : 25,
"name" : "phonename",
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
}
}, {
"dataType" : 25,
"name" : "updateman",
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
}
}, {
"format" : "YYYY-MM-DD HH:mm:ss",
"dataType" : 5,
"name" : "updatedate",
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"dataType" : 25,
"name" : "srfkey",
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
}
}, {
"dataType" : 25,
"name" : "srfdataaccaction",
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"dataAccessAction" : true
}, {
"dataType" : 25,
"name" : "srfmajortext",
"getPSAppDEField" : {
"name" : "PHONENAME",
"codeName" : "PhoneName"
}
} ],
"getPSDEGridEditItems" : [ {
"caption" : "手机型号",
"codeName" : "phonetype",
"enableCond" : 3,
"ignoreInput" : 0,
"name" : "phonetype",
"getPSAppDEField" : {
"name" : "PHONETYPE",
"codeName" : "Phonetype"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"maxLength" : 100,
"name" : "phonetype"
},
"allowEmpty" : true
}, {
"caption" : "手机标识",
"codeName" : "phoneid",
"enableCond" : 3,
"ignoreInput" : 0,
"name" : "phoneid",
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"getPSEditor" : {
"editorType" : "SPAN",
"name" : "phoneid",
"enableLinkView" : false
},
"allowEmpty" : true
}, {
"caption" : "手机标识",
"codeName" : "srfkey",
"enableCond" : 3,
"ignoreInput" : 0,
"name" : "srfkey",
"getPSAppDEField" : {
"name" : "PHONEID",
"codeName" : "PhoneId"
},
"getPSEditor" : {
"editorType" : "HIDDEN",
"name" : "srfkey"
},
"allowEmpty" : true
} ],
"pagingSize" : 20,
"getRemovePSControlAction" : {
"actionName" : "Remove",
"actionType" : "DEACTION",
"dataAccessAction" : "DELETE",
"name" : "remove",
"getPSAppDEMethod" : {
"modelref" : true,
"id" : "Remove"
},
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json"
}
},
"sortMode" : "REMOTE",
"hasWFDataItems" : false,
"enableColFilter" : false,
"enableCustomized" : true,
"enableGroup" : false,
"enablePagingBar" : true,
"enableRowEdit" : false,
"enableRowEditOrder" : false,
"enableRowNew" : false,
"forceFit" : false,
"hideHeader" : false,
"noSort" : false,
"singleSelect" : false,
"modelid" : "102fe4f65129bafca1451c4ca125530f",
"modeltype" : "PSDEGRID"
}
\ No newline at end of file
{
"codeName" : "Default",
"controlType" : "SEARCHFORM",
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone/PSSEARCHFORMS/Default.json",
"hookEventNames" : [ "SEARCH", "LOAD", "SAVE" ],
"logicName" : "默认搜索表单",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Phone.json"
},
"getPSControlLogics" : [ {
"eventNames" : "SEARCH;LOAD;SAVE",
"logicTag" : "searchform",
"logicType" : "APPVIEWENGINE",
"name" : "engine_searchform",
"getPSAppViewEngine" : {
"modelref" : true,
"id" : "engine"
}
} ],
"getPSDEFormPages" : [ {
"caption" : "常规条件",
"codeName" : "formpage1",
"detailStyle" : "DEFAULT",
"detailType" : "FORMPAGE",
"name" : "formpage1",
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"infoGroupMode" : false
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"searchButtonStyle" : "DEFAULT",
"tabHeaderPos" : "TOP",
"enableAdvanceSearch" : false,
"enableAutoSearch" : false,
"enableFilterSave" : false,
"noTabHeader" : true,
"modelid" : "6afd5f8f66b6c935007b5669076bf633",
"modeltype" : "PSDEFORM_SEARCHFORM"
}
\ No newline at end of file
......@@ -65,6 +65,24 @@
"layout" : "TABLE_24COL"
},
"tooltip" : "学员信息管理"
}, {
"accUserMode" : 2,
"caption" : "手机",
"itemType" : "MENUITEM",
"name" : "menuitem4",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc4"
},
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"tooltip" : "手机"
} ],
"getPSControlHandler" : {
"enableDEFieldPrivilege" : false,
......
......@@ -33,6 +33,16 @@
"id" : "AppFunc3"
},
"tooltip" : "学员信息管理"
}, {
"accUserMode" : 2,
"caption" : "手机",
"itemType" : "MENUITEM",
"name" : "menuitem4",
"getPSAppFunc" : {
"modelref" : true,
"id" : "AppFunc4"
},
"tooltip" : "手机"
} ],
"enableCustomize" : false,
"name" : "appindex",
......
......@@ -7,6 +7,14 @@
"itemtag" : "PSSYSAPPS/Web/PSAPPDEVIEWS/ReginfoEditView.json",
"psappsbitemid" : "863cbe4b43a90167c89c7d5396783dd0",
"itemtype" : "APPVIEW"
}, {
"psappviewname" : "phonePhoneView",
"psappsbitemname" : "手机表格视图",
"itemtag2" : "3C048F18-9263-4C6E-AC73-53DB4027F632",
"psappviewid" : "940b384d68bf9ac635f6a63cfa0619e1",
"itemtag" : "PSSYSAPPS/Web/PSAPPDEVIEWS/phonePhoneView.json",
"psappsbitemid" : "fbb993bd633a80e403f0e3769d366ba4",
"itemtype" : "APPVIEW"
}, {
"psappviewname" : "RawMaterialEditView",
"psappsbitemname" : "原材料编辑视图",
......@@ -39,6 +47,14 @@
"itemtag" : "PSSYSAPPS/Web/PSAPPDEVIEWS/bookGridView.json",
"psappsbitemid" : "6e0d863884c12e9319095a59719855e2",
"itemtype" : "APPVIEW"
}, {
"psappviewname" : "phoneEditView",
"psappsbitemname" : "手机编辑视图",
"itemtag2" : "15e96773878c25246e15e13878103f6b",
"psappviewid" : "630d217e621e89d9fee5f75d84dd53b7",
"itemtag" : "PSSYSAPPS/Web/PSAPPDEVIEWS/phoneEditView.json",
"psappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"itemtype" : "APPVIEW"
}, {
"psappviewname" : "ReginfoStuInfoList",
"psappsbitemname" : "学员信息清单",
......@@ -788,6 +804,146 @@
"cpsappsbitemid" : "973712c6e750fdbcf0a644ac0a2c7915",
"psappsbitemrsname" : "学员信息管理",
"rstype" : "APPFUNC"
}, {
"psappsbitemrsid" : "ea3e89afc69162984ee14ee794b5c5de",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_保存操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "af6238220ca6dd25d0c30a6790f8fbc3",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_保存并新建操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "279ddc77655163717f8ad0d980b78145",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_保存并退出操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "a62599d118d08350e059272aa4598b42",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_删除并退出操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "a7e9650f1457235e6d18dbb3abebd197",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_保存并开始流程操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "c058a46a4ff0e4d7a78cf4e8bf08fbef",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_查看当前流程步骤用户操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "5a9d398adf3c4a7460902ebba6cb2307",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_新建操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "3e3788732381cf833d8a98bbfdf0201b",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_拷贝操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "1d0b2b512aa61bb0b9d06479d17258d2",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_打印操作",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "7a168eef207f8dc70886581bcfe9ce07",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_第一个记录",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "71835c97f2d4f0ed623c7cc0638d8d34",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_上一个记录",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "d2da7bb9a42a0f104ca2d0979b6dbc9c",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_下一个记录",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "de7122bb693b5cd6532dbe72963768d5",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_最后一个记录",
"rstype" : "UIACTION"
}, {
"psappsbitemrsid" : "b5d346ac12ead01b8000c888cd56dab9",
"ppsappsbitemname" : "手机编辑视图",
"rstag" : "SYS",
"rstag2" : "系统预定义",
"ppsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑界面_帮助操作",
"rstype" : "UIACTION"
}, {
"cpsappsbitemname" : "手机编辑视图",
"psappsbitemrsid" : "d2b706993604115457dc7577763f61a4",
"ppsappsbitemname" : "手机表格视图",
"rstag" : "EDITDATA",
"ppsappsbitemid" : "fbb993bd633a80e403f0e3769d366ba4",
"cpsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "编辑数据视图",
"rstype" : "APPVIEWREF"
}, {
"cpsappsbitemname" : "手机编辑视图",
"psappsbitemrsid" : "841b7c9c3e6404d5573d60f1d070ca5b",
"ppsappsbitemname" : "手机表格视图",
"rstag" : "NEWDATA",
"ppsappsbitemid" : "fbb993bd633a80e403f0e3769d366ba4",
"cpsappsbitemid" : "1e05b6a418d83c8b6229fa787c57335a",
"psappsbitemrsname" : "新建数据视图",
"rstype" : "APPVIEWREF"
}, {
"cpsappsbitemname" : "手机表格视图",
"psappsbitemrsid" : "7002c6c01620a383f6a5334e567eb6e8",
"ppsappsbitemname" : "应用首页视图",
"rstag" : "APPVIEW",
"rstag2" : "打开应用视图",
"ppsappsbitemid" : "04906ee8704e5672b57d0b99f621ea46",
"cpsappsbitemid" : "fbb993bd633a80e403f0e3769d366ba4",
"psappsbitemrsname" : "手机",
"rstype" : "APPFUNC"
} ],
"rootitem" : "04906ee8704e5672b57d0b99f621ea46"
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册