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

MoneyQ 发布系统代码 [后台服务,演示应用]

上级 75b52094
......@@ -1031,6 +1031,14 @@
"viewname": "IBIZOrderDetailEditView",
"viewtag": "77142fc6e2a600bdc4d8ad6c4bfa18cd"
},
"ibizuniproductredirectview": {
"title": "统一产品数据重定向视图",
"caption": "统一产品(索引主实体)",
"viewtype": "DEREDIRECTVIEW",
"viewmodule": "Sample",
"viewname": "IBIZUNIProductRedirectView",
"viewtag": "79abf62d7cac6f35c896f412b124956f"
},
"ibizorderdetailchartview": {
"title": "订单明细图表视图",
"caption": "订单明细",
......
......@@ -34,6 +34,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
},
redirectview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据重定向视图",null),
},
pickupview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
......
......@@ -34,6 +34,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
},
redirectview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据重定向视图",null),
},
pickupview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
......
......@@ -34,6 +34,10 @@ function getLocaleResourceBase(){
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
},
redirectview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据重定向视图",null),
},
pickupview: {
caption: commonLogic.appcommonhandle("统一产品(索引主实体)",null),
title: commonLogic.appcommonhandle("统一产品数据选择视图",null),
......
......@@ -1039,6 +1039,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "IBIZOrderDetailEditView",
"viewtag": "77142fc6e2a600bdc4d8ad6c4bfa18cd"
},
"ibizuniproductredirectview": {
"title": "统一产品数据重定向视图",
"caption": "统一产品(索引主实体)",
"viewtype": "DEREDIRECTVIEW",
"viewmodule": "Sample",
"viewname": "IBIZUNIProductRedirectView",
"viewtag": "79abf62d7cac6f35c896f412b124956f"
},
"ibizorderdetailchartview": {
"title": "订单明细图表视图",
"caption": "订单明细",
......
<template>
<div class="view-container deredirectview ibizuniproduct-redirect-view">
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="ibizuniproductredirectview"></app-studioaction>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBIZUNIProductService from '@/service/ibizuniproduct/ibizuniproduct-service';
import IBIZUNIProductAuthService from '@/authservice/ibizuniproduct/ibizuniproduct-auth-service';
import IBIZUNIProductUIService from '@/uiservice/ibizuniproduct/ibizuniproduct-ui-service';
import qs from 'qs';
import { ViewTool } from '@/utils';
@Component({
components: {
},
})
export default class IBIZUNIProductRedirectViewBase extends Vue {
/**
* 实体服务对象
*
* @type {IBIZUNIProductService}
* @memberof IBIZUNIProductRedirectViewBase
*/
public appEntityService: IBIZUNIProductService = new IBIZUNIProductService;
/**
* 实体UI服务对象
*
* @type IBIZUNIProductUIService
* @memberof IBIZUNIProductRedirectViewBase
*/
public appUIService: IBIZUNIProductUIService = new IBIZUNIProductUIService(this.$store);
/**
* 数据变化
*
* @param {*} val
* @returns {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Emit()
public viewDatasChange(val: any):any {
return val;
}
/**
* 传入视图上下文
*
* @type {string}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Prop() public viewdata!: string;
/**
* 传入视图参数
*
* @type {string}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Prop() public viewparam!: string;
/**
* 视图默认使用
*
* @type {boolean}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Inject({from:'navModel',default: 'tab'})
public navModel!:string;
/**
* 视图标识
*
* @type {string}
* @memberof IBIZUNIProductRedirectViewBase
*/
public viewtag: string = '79abf62d7cac6f35c896f412b124956f';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public customViewParams:any ={
};
/**
* 视图模型数据
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public model: any = {
srfCaption: 'entities.ibizuniproduct.views.redirectview.caption',
srfTitle: 'entities.ibizuniproduct.views.redirectview.title',
srfSubTitle: 'entities.ibizuniproduct.views.redirectview.subtitle',
dataInfo: ''
}
/**
* 视图参数变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof IBIZUNIProductRedirectViewBase
*/
@Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) {
if(newVal){
this.viewparams = {};
if(typeof newVal == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
}
}
}
/**
* 处理应用上下文变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof IBIZUNIProductRedirectViewBase
*/
@Watch('viewdata')
onViewData(newVal: any, oldVal: any) {
const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{
_this.parseViewParam();
_this.engine.load();
});
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh();
}
}
/**
* 容器模型
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public containerModel: any = {
};
/**
* 计数器刷新
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 视图状态订阅对象
*
* @public
* @type {Subject<{action: string, data: any}>}
* @memberof IBIZUNIProductRedirectViewBase
*/
public viewState: Subject<ViewState> = new Subject();
/**
* 引擎初始化
*
* @public
* @memberof IBIZUNIProductRedirectViewBase
*/
public engineInit(): void {
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBIZUNIProductRedirectViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 门户部件状态对象
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
@Prop() public portletState?: any;
/**
* 门户部件状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBIZUNIProductRedirectViewBase
*/
public portletStateEvent: Subscription | undefined;
/**
* 应用上下文
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public context:any = {};
/**
* 视图参数
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBIZUNIProductRedirectViewBase
*/
public viewCacheData:any;
/**
* 计数器服务对象集合
*
* @type {Array<*>}
* @memberof IBIZUNIProductRedirectViewBase
*/
public counterServiceArray:Array<any> = [];
/**
* 解析视图参数
*
* @public
* @memberof IBIZUNIProductRedirectViewBase
*/
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
if (!this.viewDefaultUsage && this.viewdata && !Object.is(this.viewdata, '')) {
if(typeof this.viewdata == 'string') {
Object.assign(this.context, JSON.parse(this.viewdata));
}
if(this.context && this.context.srfparentdename){
Object.assign(this.viewparams,{srfparentdename:this.context.srfparentdename});
}
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
const keys: Array<any> = [];
const curReg = this.$pathToRegExp.pathToRegexp(path, keys);
const matchArray = curReg.exec(this.$route.path);
let tempValue: Object = {};
keys.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item.name, {
enumerable: true,
value: matchArray[index + 1]
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibizuniproduct':inputvalue});
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavDataWithRoute();
}
/**
* 处理自定义视图数据
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
if(Object.is(curNavData.value,"null") || Object.is(curNavData.value,"")){
Object.defineProperty(tempData, item.toLowerCase(), {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item.toLowerCase(), {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[(curNavData.value).toLowerCase()] != null){
Object.defineProperty(tempData, item.toLowerCase(), {
value: this.context[(curNavData.value).toLowerCase()],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[(curNavData.value).toLowerCase()] != null){
Object.defineProperty(tempData, item.toLowerCase(), {
value: this.viewparams[(curNavData.value).toLowerCase()],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item.toLowerCase(), {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* 初始化导航数据(路由模式)
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'ibizuniproduct-redirect-view',tag:this.viewtag,srfkey:isNew ? null : this.context.ibizuniproduct,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'ibizuniproduct-redirect-view',tag:this.viewtag,srfkey:this.context.ibizuniproduct,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
/**
* Vue声明周期
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public afterCreated(){
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibizuniproduct-redirect-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'IBIZUNIProductRedirectView')){
return;
}
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
_this.refresh();
}
})
}
this.viewInit();
}
/**
* 销毁之前
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public beforeDestroy() {
this.$store.commit('viewaction/removeView', this.viewtag);
}
/**
* Vue声明周期(组件初始化完毕)
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public mounted() {
this.afterMounted();
}
/**
* 执行mounted后的逻辑
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public afterMounted(){
const _this: any = this;
_this.engineInit();
if (_this.loadModel && _this.loadModel instanceof Function) {
_this.loadModel();
}
}
/**
* 关闭视图
*
* @param {any[]} args
* @memberof IBIZUNIProductRedirectViewBase
*/
public closeView(args: any[]): void {
let _view: any = this;
if (_view.viewdata) {
_view.$emit('viewdataschange', Array.isArray(args)?args:[args]);
_view.$emit('close', Array.isArray(args)?args:[args]);
} else if (_view.$tabPageExp) {
_view.$tabPageExp.onClose(_view.$route.fullPath);
}
}
/**
* 销毁视图回调
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public destroyed(){
this.afterDestroyed();
}
/**
* 执行destroyed后的逻辑
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public afterDestroyed(){
if(this.viewDefaultUsage){
let localStoreLength = Object.keys(localStorage);
if(localStoreLength.length > 0){
localStoreLength.forEach((item:string) =>{
if(item.startsWith(this.context.srfsessionid)){
localStorage.removeItem(item);
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
// 销毁计数器定时器
if(this.counterServiceArray && this.counterServiceArray.length >0){
this.counterServiceArray.forEach((item:any) =>{
if(item.destroyCounter && item.destroyCounter instanceof Function){
item.destroyCounter();
}
})
}
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
/**
* 初始化视图
*
* @memberof IBIZUNIProductRedirectViewBase
*/
public async viewInit(){
let srfkey:any = this.context.ibizuniproduct;
this.appUIService.getRDAppView(srfkey,false).then((res:any) =>{
if(res && res.viewname && res.srfappde){
let indexPath:string = ViewTool.getIndexRoutePath(this.$route);
const path:string =`${indexPath}/${res.srfappde}/${srfkey}/${res.viewname}?${qs.stringify(this.viewparams, { delimiter: ';' })}`;
this.$router.replace({path:path});
}else{
console.error("未查找到重定向视图")
}
})
}
}
</script>
<style lang='less'>
@import './ibizuniproduct-redirect-view.less';
</style>
\ No newline at end of file
.ibizuniproduct-redirect-view{
position: relative;
}
.ibizuniproduct-redirect-view{
display: block;
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import IBIZUNIProductRedirectViewBase from './ibizuniproduct-redirect-view-base.vue';
@Component({
components: {
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class IBIZUNIProductRedirectView extends IBIZUNIProductRedirectViewBase {
}
</script>
\ No newline at end of file
......@@ -1319,29 +1319,10 @@ export default class IBIZUNIProductSGridViewBase extends Vue {
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'ibizuniproducts', parameterName: 'ibizuniproduct' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'redirectview', parameterName: 'redirectview' },
];
const _this: any = this;
if (fullargs && fullargs.length > 0) {
const _args = fullargs[0];
if (_args['srfprocessdefinitionkey'] && _args['srftaskdefinitionkey']) {
Object.assign(data, {
processDefinitionKey: _args['srfprocessdefinitionkey'],
taskDefinitionKey: _args['srftaskdefinitionkey']
});
if (_args['srftaskid']) {
Object.assign(data, { 'srftaskid': _args['srftaskid'] });
}
}
}
if(fullargs && fullargs.copymode){
Object.assign(data,{copymode:true});
}
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
openIndexViewTab(data);
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
}
......
......@@ -147,10 +147,12 @@ export const PageComponents = {
Vue.component('ibizsoftware-suit-grid-view9', () => import('@pages/sample/ibizsoftware-suit-grid-view9/ibizsoftware-suit-grid-view9.vue'));
Vue.component('ibizbookusr10-grid-view', () => import('@pages/sample/ibizbookusr10-grid-view/ibizbookusr10-grid-view.vue'));
Vue.component('ibizbookoption-view', () => import('@pages/sample/ibizbookoption-view/ibizbookoption-view.vue'));
Vue.component('ibizuniproduct-redirect-view', () => import('@pages/sample/ibizuniproduct-redirect-view/ibizuniproduct-redirect-view.vue'));
Vue.component('ibizstorage-edit-view', () => import('@pages/sample/ibizstorage-edit-view/ibizstorage-edit-view.vue'));
Vue.component('ibizsoftware-suit-edit-view', () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'));
Vue.component('ibizuniproduct-edit-view', () => import('@pages/sample/ibizuniproduct-edit-view/ibizuniproduct-edit-view.vue'));
Vue.component('ibizuniproduct-index-pickup-view', () => import('@pages/sample/ibizuniproduct-index-pickup-view/ibizuniproduct-index-pickup-view.vue'));
Vue.component('ibizhardware-edit-view', () => import('@pages/sample/ibizhardware-edit-view/ibizhardware-edit-view.vue'));
Vue.component('ibizsoftware-suit-edit-view', () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'));
Vue.component('ibizsample0021-wfdyna-edit-view', () => import('@pages/sample/ibizsample0021-wfdyna-edit-view/ibizsample0021-wfdyna-edit-view.vue'));
Vue.component('ibizsample0021-edit-view', () => import('@pages/sample/ibizsample0021-edit-view/ibizsample0021-edit-view.vue'));
Vue.component('ibiztaskteamgrid-view9', () => import('@pages/sample/ibiztaskteamgrid-view9/ibiztaskteamgrid-view9.vue'));
......@@ -169,7 +171,6 @@ export const PageComponents = {
Vue.component('ibizcustomer-pickup-tree-view', () => import('@pages/sample/ibizcustomer-pickup-tree-view/ibizcustomer-pickup-tree-view.vue'));
Vue.component('ibizhardware-index-pickup-view', () => import('@pages/sample/ibizhardware-index-pickup-view/ibizhardware-index-pickup-view.vue'));
Vue.component('ibizcpuedit-view', () => import('@pages/sample/ibizcpuedit-view/ibizcpuedit-view.vue'));
Vue.component('ibizstorage-edit-view', () => import('@pages/sample/ibizstorage-edit-view/ibizstorage-edit-view.vue'));
Vue.component('ibizsample0003-pickup-view', () => import('@pages/sample/ibizsample0003-pickup-view/ibizsample0003-pickup-view.vue'));
Vue.component('ibizuniproduct-index-pickup-data-view', () => import('@pages/sample/ibizuniproduct-index-pickup-data-view/ibizuniproduct-index-pickup-data-view.vue'));
Vue.component('ibiztaskteamedit-view9', () => import('@pages/sample/ibiztaskteamedit-view9/ibiztaskteamedit-view9.vue'));
......
......@@ -2286,6 +2286,34 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizbookoption-view/ibizbookoption-view.vue'),
},
{
path: 'ibizstorages/:ibizstorage?/editview/:editview?',
meta: {
caption: 'entities.ibizstorage.views.editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizstorages', parameterName: 'ibizstorage' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizstorage-edit-view/ibizstorage-edit-view.vue'),
},
{
path: 'ibizsoftwaresuits/:ibizsoftwaresuit?/editview/:editview?',
meta: {
caption: 'entities.ibizsoftwaresuit.views.editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizsoftwaresuits', parameterName: 'ibizsoftwaresuit' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'),
},
{
path: 'ibizuniproducts/:ibizuniproduct?/editview/:editview?',
meta: {
......@@ -2328,20 +2356,6 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizhardware-edit-view/ibizhardware-edit-view.vue'),
},
{
path: 'ibizsoftwaresuits/:ibizsoftwaresuit?/editview/:editview?',
meta: {
caption: 'entities.ibizsoftwaresuit.views.editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizsoftwaresuits', parameterName: 'ibizsoftwaresuit' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizsoftware-suit-edit-view/ibizsoftware-suit-edit-view.vue'),
},
{
path: 'ibizsample0021s/:ibizsample0021?/wfdynaeditview/:wfdynaeditview?',
meta: {
......@@ -2639,20 +2653,6 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizcpuedit-view/ibizcpuedit-view.vue'),
},
{
path: 'ibizstorages/:ibizstorage?/editview/:editview?',
meta: {
caption: 'entities.ibizstorage.views.editview.caption',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizstorages', parameterName: 'ibizstorage' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizstorage-edit-view/ibizstorage-edit-view.vue'),
},
{
path: 'ibizsample0003s/:ibizsample0003?/pickupview/:pickupview?',
meta: {
......@@ -2738,6 +2738,21 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizsample0003-pickup-grid-view/ibizsample0003-pickup-grid-view.vue'),
},
{
path: 'ibizuniproducts/:ibizuniproduct?/redirectview/:redirectview?',
meta: {
caption: 'entities.ibizuniproduct.views.redirectview.caption',
info:'',
viewType: 'REDIRECTVIEW',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizuniproducts', parameterName: 'ibizuniproduct' },
{ pathName: 'redirectview', parameterName: 'redirectview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizuniproduct-redirect-view/ibizuniproduct-redirect-view.vue'),
},
...indexRoutes,
],
},
......@@ -3956,6 +3971,21 @@ const router = new Router({
},
component: () => import('@pages/sample/ibizorder-detail-edit-view/ibizorder-detail-edit-view.vue'),
},
{
path: '/ibizuniproducts/:ibizuniproduct?/redirectview/:redirectview?',
meta: {
caption: 'entities.ibizuniproduct.views.redirectview.caption',
info:'',
viewType: 'REDIRECTVIEW',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'ibizuniproducts', parameterName: 'ibizuniproduct' },
{ pathName: 'redirectview', parameterName: 'redirectview' },
],
requireAuth: true,
},
component: () => import('@pages/sample/ibizuniproduct-redirect-view/ibizuniproduct-redirect-view.vue'),
},
{
path: '/ibizorders/:ibizorder?/ibizorderdetails/:ibizorderdetail?/sf2editview/:sf2editview?',
meta: {
......
......@@ -10,10 +10,12 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'79abf62d7cac6f35c896f412b124956f',
'a919926d6265ab194b54cd5b8f658eec',
'88ca61cdf39cd0f97cf3863e9a6974b3',
'0f3e6e5a5ba4b40182153ee4f93f3f7e',
'2358ff370509a1b833cb5023f0ec54fb',
'ae320ac92ef292866895940a2f61be48',
'88ca61cdf39cd0f97cf3863e9a6974b3',
],
},
{
......@@ -1007,6 +1009,17 @@ export const viewstate: any = {
'993e4b7a074b1585f383365fff297164',
],
},
{
viewtag: '79abf62d7cac6f35c896f412b124956f',
viewmodule: 'Sample',
viewname: 'IBIZUNIProductRedirectView',
viewaction: '',
viewdatachange: false,
refviews: [
'a919926d6265ab194b54cd5b8f658eec',
'88ca61cdf39cd0f97cf3863e9a6974b3',
],
},
{
viewtag: '7ccb985d6fc6a6795502a2ba742f95b5',
viewmodule: 'Sample',
......
......@@ -101,6 +101,7 @@ export default class IBIZUNIProductUIServiceBase extends UIService {
this.allViewMap.set(':',{viewname:'indexpickupdataview',srfappde:'ibizuniproducts',component:'ibizuniproduct-index-pickup-data-view'});
this.allViewMap.set(':',{viewname:'gridview9',srfappde:'ibizuniproducts',component:'ibizuniproduct-grid-view9'});
this.allViewMap.set('INDEXDEPICKUPVIEW:',{viewname:'indexpickupview',srfappde:'ibizuniproducts',component:'ibizuniproduct-index-pickup-view'});
this.allViewMap.set('REDIRECTVIEW:',{viewname:'redirectview',srfappde:'ibizuniproducts',component:'ibizuniproduct-redirect-view'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'ibizuniproducts',component:'ibizuniproduct-pickup-view'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'ibizuniproducts',component:'ibizuniproduct-pickup-grid-view'});
}
......
......@@ -54,7 +54,14 @@
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.ibizuniproductname}}</span>
<app-column-link deKeyField='ibizuniproduct' :context="JSON.parse(JSON.stringify(context))" :viewparams="JSON.parse(JSON.stringify(viewparams))" :data="row" :linkview="{viewname: 'ibizuniproduct-redirect-view', height: 0,width: 0,title: $t('entities.ibizuniproduct.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
{ pathName: 'ibizuniproducts', parameterName: 'ibizuniproduct' },
{ pathName: 'redirectview', parameterName: 'redirectview' }
]}" valueitem="ibizuniproductid">
<span>{{row.ibizuniproductname}}</span>
</app-column-link >
</template>
</el-table-column>
</template>
......
......@@ -37,12 +37,6 @@
git clone -b master $para2 demosys/
export NODE_OPTIONS=--max-old-space-size=4096
cd demosys/
mvn clean package -Pweb
mvn install -Pweb
cd demo-app/demo-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/demo-app-web.yaml iBizDemo --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /demo-app-web.jar
EXPOSE 51001
EXPOSE 8080
ADD demo-app-web.jar /demo-app-web.jar
......@@ -22,36 +22,7 @@ spec:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/demo-app-web:latest
imagePullPolicy: Always
ports:
- containerPort: 51001
env:
- name: SPRING_CLOUD_NACOS_DISCOVERY_IP
value: "172.16.240.110"
- name: SERVER_PORT
value: "51001"
- name: SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR
value: "172.16.240.110:8848"
- name: SPRING_REDIS_HOST
value: "172.16.240.110"
- name: SPRING_REDIS_PORT
value: "6379"
- name: SPRING_REDIS_DATABASE
value: "0"
- name: SPRING_DATASOURCE_USERNAME
value: "a_LAB01_df847bdfd"
- name: SPRING_DATASOURCE_PASSWORD
value: "3d6@460A"
- name: SPRING_DATASOURCE_URL
value: "jdbc:mysql://172.16.186.185:3306/a_LAB01_df847bdfd?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true"
- name: SPRING_DATASOURCE_DRIVER-CLASS-NAME
value: "com.mysql.jdbc.Driver"
- name: SPRING_DATASOURCE_DEFAULTSCHEMA
value: "a_LAB01_df847bdfd"
- name: NACOS
value: "172.16.240.110:8848"
- name: SEATA_REGISTRY_NACOS_SERVER-ADDR
value: "172.16.240.110:8848"
- name: SEATA_ENABLED
value: "true"
- containerPort: 8080
volumeMounts:
- name: data
mountPath: /app/file
......@@ -71,9 +42,9 @@ spec:
type: NodePort
ports:
- name: http
port: 51001
targetPort: 51001
nodePort: 51001
port: 8080
targetPort: 8080
nodePort: 8080
protocol: TCP
selector:
app: demo-app-web
......
......@@ -3,30 +3,9 @@ services:
demo-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/demo-app-web:latest
ports:
- "51001:51001"
- "8080:8080"
networks:
- agent_network
#logging:
# driver: loki
# options:
# loki-url: "http://172.16.240.111:3100/loki/api/v1/push"
# max-size: "50m"
# max-file: "10"
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=51001
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_REDIS_HOST=172.16.240.110
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_LAB01_df847bdfd
- SPRING_DATASOURCE_PASSWORD=3d6@460A
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_df847bdfd?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_df847bdfd
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy:
resources:
limits:
......
......@@ -1306,7 +1306,7 @@
<!--输出实体[IBIZUNIPRODUCT]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizuniproduct-1-45">
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizuniproduct-11-45">
<createTable tableName="T_IBIZUNIPRODUCT">
<column name="UNITPRICE" remarks="" type="FLOAT">
</column>
......
......@@ -199,7 +199,7 @@
</createView>
</changeSet>
<!--输出实体[IBIZUNIPRODUCT]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet author="a_LAB01_df847bdfd" id="view-ibizuniproduct-1-35" runOnChange="true">
<changeSet author="a_LAB01_df847bdfd" id="view-ibizuniproduct-11-35" runOnChange="true">
<createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZUNIPRODUCT">
<![CDATA[ SELECT t1.[CREATEDATE], t1.[CREATEMAN], t1.[IBIZUNIPRODUCTID], t1.[IBIZUNIPRODUCTNAME], t1.[IBIZUNIPRODUCTTYPE], t1.[UNIT], t1.[UNITPRICE], t1.[UPDATEDATE], t1.[UPDATEMAN] FROM [T_IBIZUNIPRODUCT] t1 ]]>
</createView>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册