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

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

上级 f3904da6
......@@ -72,7 +72,7 @@
"@interactjs/actions": "^1.10.11",
"@interactjs/modifiers": "^1.10.11",
"@interactjs/dev-tools": "^1.10.11",
"@ibiz/dynamic-model-api": "0.0.61",
"@ibiz/dynamic-model-api": "1.0.5",
"@ibiz/model-location": "^0.0.4",
"xgplayer":"2.31.4",
"xlsx": "^0.16.9"
......
......@@ -18,10 +18,6 @@ export class AppModelService extends PSModelServiceImpl { }
if(param && param.srfsandboxtag){
return SandboxService.getInstance().getSandBoxInstance(param.srfsandboxtag).getModelService(param);
}else{
if(param && param.instTag && param.instTag2){
return GlobalHelp.getModelServiceByTag(param.instTag,param.instTag2);
}else{
return GlobalHelp.getModelService(param?.srfdynainstid);
}
return GlobalHelp.getModelService();
}
}
\ No newline at end of file
import { DynamicInstanceConfig, GlobalHelp, ModelInstanceHelp } from "@ibiz/dynamic-model-api";
import { GlobalHelp, ModelInstanceHelp } from "@ibiz/dynamic-model-api";
import qs from 'qs';
import { Http } from "../../../utils/net/http";
import { AppServiceBase } from "../../app-service/app-base.service";
......@@ -45,7 +45,7 @@ export class SandboxInstance {
*/
public async initSandBox() {
const service = new AppModelService();
this.help = await GlobalHelp.sandboxInstall(service, async (strPath: string, config: DynamicInstanceConfig) => {
this.help = await GlobalHelp.sandboxInstall(service, async (strPath: string) => {
let url: string = '';
const Environment = AppServiceBase.getInstance().getAppEnvironment();
if (Environment.bDynamic) {
......@@ -55,17 +55,14 @@ export class SandboxInstance {
if (dynamodeltag) {
Object.assign(queryParam, { dynamodeltag });
}
if (config) {
Object.assign(queryParam, { srfInstTag: config.instTag, srfInstTag2: config.instTag2 });
}
if (queryParam && Object.keys(queryParam).length > 0) {
url += `?${qs.stringify(queryParam)}`;
}
} else {
const microAppService = AppServiceBase.getInstance().getMicroAppService();
if(microAppService && microAppService.getIsMicroApp() && microAppService.getMicroAppFolder()){
if (microAppService && microAppService.getIsMicroApp() && microAppService.getMicroAppFolder()) {
url = `./${microAppService.getMicroAppFolder()}/assets/model${strPath}`;
}else{
} else {
url = `./assets/model${strPath}`;
}
}
......@@ -86,11 +83,7 @@ export class SandboxInstance {
* @memberof SandboxInstance
*/
public async getModelService(param: any) {
if (param && param.instTag && param.instTag2) {
return this.help.getModelServiceByTag(param.instTag, param.instTag2);
} else {
return this.help.getModelService(param?.srfdynainstid);
}
return this.help.getModelService();
}
}
\ No newline at end of file
import { IPSAppDEUIAction, IPSAppView, IPSAppViewRef, IPSPanelContainer, IPSPanelField, IPSPanelItem, IPSPanelTabPage, IPSPanelTabPanel, IPSPanelUserControl, DynamicInstanceConfig } from "@ibiz/dynamic-model-api";
import { IPSAppDEUIAction, IPSAppView, IPSAppViewRef, IPSPanelContainer, IPSPanelField, IPSPanelItem, IPSPanelTabPage, IPSPanelTabPanel, IPSPanelUserControl } from "@ibiz/dynamic-model-api";
import { clearCookie, setCookie } from "qx-util";
import { AppServiceBase, DataServiceHelp, GetModelService, Http, ModelTool, PluginService, removeSessionStorage, Util, ViewTool } from "ibiz-core";
import { NavDataService } from "../common-service/app-navdata-service";
......@@ -765,13 +765,7 @@ export class AppGlobalService {
let localdata: any;
let requestResult: Promise<any>;
let copyContext: any = Util.deepCopy(_this.context);
if (copyContext.srfdynainstid) {
let dynainstParam: DynamicInstanceConfig = (await GetModelService(copyContext)).getDynaInsConfig();
Object.assign(copyContext, dynainstParam ? dynainstParam : {});
requestResult = _this.appEntityService.getCopyWorkflow(copyContext);
} else {
requestResult = _this.appEntityService.getStandWorkflow(copyContext);
}
requestResult = _this.appEntityService.getStandWorkflow(copyContext);
requestResult.then((response: any) => {
const { data: targetData, status: status } = response;
if (status !== 200) {
......
......@@ -241,7 +241,7 @@ export default class AppColumnLink extends Vue {
* @param {*} params
* @memberof AppColumnLink
*/
private async openRedirectView($event: any, context: any, params: any) {
private async openRedirectView($event: any, context: any, params: any) {
let targetRedirectView: IPSAppDERedirectView = this.linkview.viewModel;
await targetRedirectView.fill(true);
if (
......@@ -254,6 +254,16 @@ export default class AppColumnLink extends Vue {
targetRedirectView.getPSAppDataEntity(),
{context}
);
if (targetRedirectView.getPSAppViewNavContexts()) {
const localContextRef: any = Util.formatNavParam(targetRedirectView.getPSAppViewNavContexts(), true);
const _context: any = Util.computedNavData(this.data, context, params, localContextRef);
Object.assign(context, _context);
}
if (targetRedirectView.getPSAppViewNavParams()) {
const localContextRef: any = Util.formatNavParam(targetRedirectView.getPSAppViewNavParams(), true);
const _params: any = Util.computedNavData(this.data, context, params, localContextRef);
Object.assign(params, _params);
}
await redirectUIService.loaded();
const redirectAppEntity: IPSAppDataEntity | null = targetRedirectView.getPSAppDataEntity();
await ViewTool.calcRedirectContext(context, this.data, redirectAppEntity);
......@@ -266,6 +276,18 @@ export default class AppColumnLink extends Vue {
if (!result) {
return;
}
const data = result.srfdata;
if (data) {
const linkUrl: string = data.linkurl;
if (linkUrl && linkUrl !== '') {
if (linkUrl.startsWith('http://') || linkUrl.startsWith('https://')) {
window.open(linkUrl, '_blank');
} else {
this.$router.push(linkUrl);
}
return;
}
}
let targetOpenViewRef: IPSAppViewRef | undefined = ViewTool.computeRedirectViewRef(targetRedirectView,params,result);
if (!targetOpenViewRef) {
return;
......@@ -347,7 +369,7 @@ export default class AppColumnLink extends Vue {
this.openDrawer(view, context, params);
}
}
/**
* 打开页面关闭
*
......
import Vue from 'vue';
import qs from 'qs';
import { DynamicInstanceConfig, IPSAppView } from '@ibiz/dynamic-model-api';
import { IPSAppView } from '@ibiz/dynamic-model-api';
import { AppServiceBase, GetModelService, SandboxInstance, Util } from 'ibiz-core';
import { AppNavHistory } from '../app-service';
import { CommunicationService } from '@ibiz/model-location';
......@@ -165,13 +165,6 @@ export class ViewContainerBase extends Vue {
if (tempViewParam && tempViewParam.hasOwnProperty('srfsandboxtag')) {
await this.initSandBoxInst(tempViewParam);
}
if (tempViewParam.srfinsttag && tempViewParam.srfinsttag2) {
let dynainstParam: DynamicInstanceConfig = (await GetModelService({ srfsandboxtag: tempViewParam.srfsandboxtag, instTag: tempViewParam.srfinsttag, instTag2: tempViewParam.srfinsttag2 })).getDynaInsConfig();
this.context = { srfdynainstid: dynainstParam.id };
}
if (tempViewParam.srfdynainstid) {
this.context = { srfdynainstid: tempViewParam.srfdynainstid };
}
// 补充沙箱实例参数(路由)
if (tempViewParam && tempViewParam.hasOwnProperty('srfsandboxtag')) {
Object.assign(this.context, { 'srfsandboxtag': tempViewParam.srfsandboxtag });
......@@ -359,4 +352,4 @@ export class ViewContainerBase extends Vue {
});
return tempValue;
}
}
}
\ No newline at end of file
import { VNode } from 'vue';
import { DynamicInstanceConfig, IPSAppDataEntity, IPSAppDERedirectView, IPSAppDEView, IPSAppView, IPSAppViewRef, IPSNavigateContext, IPSNavigateParam } from "@ibiz/dynamic-model-api";
import { IPSAppDataEntity, IPSAppDERedirectView, IPSAppDEView, IPSAppView, IPSAppViewRef, IPSNavigateContext, IPSNavigateParam } from "@ibiz/dynamic-model-api";
import { GetModelService, LogUtil, ModelTool, RedirectViewInterface, StringUtil, Util, ViewTool } from "ibiz-core";
import { MainViewBase } from "./mainview-base";
......@@ -135,14 +135,6 @@ export class DeRedirectViewBase extends MainViewBase implements RedirectViewInte
}
Object.assign(tempViewParams, _viewParams);
}
// 存在动态实例
let splitArray: Array<any> = result.param.split(":");
if (splitArray && (splitArray.length == 3)) {
let curDynaInst: DynamicInstanceConfig = (await GetModelService({ instTag: splitArray[2], instTag2: splitArray[1] }))?.getDynaInsConfig();
if (curDynaInst) {
Object.assign(tempContext, { srfdynainstid: curDynaInst.id });
}
}
if (targetOpenViewRef.getRefPSAppView()) {
let targetOpenView: IPSAppView | null = targetOpenViewRef.getRefPSAppView();
if (!targetOpenView) {
......
......@@ -2,7 +2,6 @@ import { Subject, Subscription } from 'rxjs';
import { IPSAppView, IPSControl, IPSLanguageRes } from '@ibiz/dynamic-model-api';
import { ViewMessageService, Util, ViewTool, AppServiceBase, ViewContext, ModelTool, GetModelService, AppModelService, LogUtil, SandboxInstance, ViewInterface, appEngineService, throttle } from 'ibiz-core';
import { AppMessageBoxService, AppNavHistory, NavDataService } from '../app-service';
import { DynamicInstanceConfig } from '@ibiz/dynamic-model-api/dist/types/core';
import { createUUID, isNilOrEmpty } from 'qx-util';
import { ControlContainer } from '../control-container/control-container';
......@@ -736,7 +735,6 @@ export class ViewBase extends ControlContainer implements ViewInterface {
Object.assign(_this.viewparams, { srfparentkey: _this.context.srfparentkey });
}
_this.handleCustomViewData();
_this.handleOtherViewData();
return;
}
const path = (_this.$route.matched[_this.$route.matched.length - 1]).path;
......@@ -759,19 +757,11 @@ export class ViewBase extends ControlContainer implements ViewInterface {
if (_this.viewInstance && ModelTool.getContainerAppEntityCodeName(this.viewInstance)) {
Object.assign(_this.context, { srfsessionid: Util.createUUID() });
}
if (_this.viewparams.srfinsttag && _this.viewparams.srfinsttag2 && this.modelService) {
let dynainstParam: DynamicInstanceConfig = this.modelService.getDynaInsConfig();
Object.assign(_this.context, { srfdynainstid: dynainstParam.id });
}
if (_this.viewparams && _this.viewparams.srfdynainstid) {
Object.assign(_this.context, { srfdynainstid: this.viewparams.srfdynainstid });
}
// 补充沙箱实例参数(路由)
if (_this.viewparams && _this.viewparams.hasOwnProperty('srfsandboxtag')) {
Object.assign(_this.context, { 'srfsandboxtag': _this.viewparams.srfsandboxtag });
}
_this.handleCustomViewData();
_this.handleOtherViewData();
}
/**
......@@ -799,21 +789,6 @@ export class ViewBase extends ControlContainer implements ViewInterface {
}
}
/**
* 处理其他数据(多实例)
*
* @memberof ViewBase
*/
public handleOtherViewData() {
let appEnvironment = AppServiceBase.getInstance().getAppEnvironment();
if (appEnvironment.bDynamic && this.modelService) {
let dynainstParam: DynamicInstanceConfig = this.modelService.getDynaInsConfig();
if (dynainstParam) {
Object.assign(this.viewparams, { srfinsttag: dynainstParam.instTag, srfinsttag2: dynainstParam.instTag2 });
}
}
}
/**
* 处理指定视图控制关系将父键转为父实体上下文
*
......
import qs from 'qs';
import { GlobalHelp, IPSAppView, DynamicInstanceConfig } from '@ibiz/dynamic-model-api';
import { GlobalHelp, IPSAppView } from '@ibiz/dynamic-model-api';
import { clearCookie, getCookie, SyncSeriesHook } from 'qx-util';
import { AppServiceBase, Http, getSessionStorage, setSessionStorage, AppModelService, Util, GetModelService, ViewTool } from 'ibiz-core';
import { AppCenterService, AppNoticeService, AppViewLogicService, NoticeHandler } from 'ibiz-vue';
......@@ -210,7 +210,7 @@ export class AuthGuard {
AppServiceBase.getInstance().setViewLogicService(AppViewLogicService.getInstance());
AppServiceBase.getInstance().setAppComponentService(AppComponentService);
const service = new AppModelService();
await GlobalHelp.install(service, async (strPath: string, config: DynamicInstanceConfig) => {
await GlobalHelp.install(service, async (strPath: string) => {
let url: string = '';
if (Environment.bDynamic) {
url = `${Environment.remoteDynaPath}${strPath}`;
......@@ -219,9 +219,6 @@ export class AuthGuard {
if (dynamodeltag) {
Object.assign(queryParam, { dynamodeltag });
}
if (config) {
Object.assign(queryParam, { srfInstTag: config.instTag, srfInstTag2: config.instTag2 });
}
if (queryParam && Object.keys(queryParam).length > 0) {
url += `?${qs.stringify(queryParam)}`;
}
......
......@@ -50,7 +50,7 @@
</changeSet>
<!--输出实体[BOOK]数据结构 -->
<changeSet author="root" id="tab-book-173-3">
<changeSet author="root" id="tab-book-178-3">
<createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -194,7 +194,7 @@
</changeSet>
<!--输出实体[REGINFO]数据结构 -->
<changeSet author="root" id="tab-reginfo-36-8">
<changeSet author="root" id="tab-reginfo-38-8">
<createTable tableName="T_REGINFO">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......
......@@ -216,6 +216,41 @@
"labelWidth" : 130,
"name" : "name",
"noPrivDisplayMode" : 1,
"getPSDEFDGroupLogics" : [ {
"groupOP" : "AND",
"logicCat" : "PANELVISIBLE",
"logicType" : "GROUP",
"name" : "表单成员[name][面板显示]逻辑",
"getPSDEFDLogics" : [ {
"groupOP" : "AND",
"logicType" : "GROUP",
"name" : "AND",
"getPSDEFDLogics" : [ {
"condOP" : "LT",
"dEFDName" : "Age",
"logicType" : "SINGLE",
"name" : "Age 小于(<) (113)",
"value" : "113"
} ],
"notMode" : false
} ],
"relatedDetailNames" : [ "age" ],
"notMode" : false
}, {
"groupOP" : "AND",
"logicCat" : "ITEMENABLE",
"logicType" : "GROUP",
"name" : "表单成员[name][表单项启用]逻辑",
"getPSDEFDLogics" : [ {
"condOP" : "GT",
"dEFDName" : "Age",
"logicType" : "SINGLE",
"name" : "Age 大于(>) (22)",
"value" : "22"
} ],
"relatedDetailNames" : [ "age" ],
"notMode" : false
} ],
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "name"
......
......@@ -1202,6 +1202,41 @@
"labelWidth" : 130,
"name" : "name",
"noPrivDisplayMode" : 1,
"getPSDEFDGroupLogics" : [ {
"groupOP" : "AND",
"logicCat" : "PANELVISIBLE",
"logicType" : "GROUP",
"name" : "表单成员[name][面板显示]逻辑",
"getPSDEFDLogics" : [ {
"groupOP" : "AND",
"logicType" : "GROUP",
"name" : "AND",
"getPSDEFDLogics" : [ {
"condOP" : "LT",
"dEFDName" : "Age",
"logicType" : "SINGLE",
"name" : "Age 小于(<) (113)",
"value" : "113"
} ],
"notMode" : false
} ],
"relatedDetailNames" : [ "age" ],
"notMode" : false
}, {
"groupOP" : "AND",
"logicCat" : "ITEMENABLE",
"logicType" : "GROUP",
"name" : "表单成员[name][表单项启用]逻辑",
"getPSDEFDLogics" : [ {
"condOP" : "GT",
"dEFDName" : "Age",
"logicType" : "SINGLE",
"name" : "Age 大于(>) (22)",
"value" : "22"
} ],
"relatedDetailNames" : [ "age" ],
"notMode" : false
} ],
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "name"
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册