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

ibiz4j 部署微服务应用

上级 ee01c320
......@@ -3,7 +3,8 @@
<component
:is="viewname"
class="viewcontainer2"
:viewdata ="viewdata"
:viewdata ="viewdata"
:viewparam="viewparam"
:viewDefaultUsage="false"
:formDruipart="formDruipart"
:isformDruipart="true"
......@@ -119,6 +120,22 @@ export default class AppFormDRUIPart extends Vue {
*/
@Prop() public viewparams!: any;
/**
* 局部上下文
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@Prop() public localContext!:any;
/**
* 局部参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@Prop() public localParam!:any;
/**
* 应用实体参数名称
*
......@@ -240,21 +257,32 @@ export default class AppFormDRUIPart extends Vue {
}
const formData: any = data?data:JSON.parse(this.data);
const _paramitem = formData[this.paramItem];
let viewdata = {};
Object.assign(viewdata, this.$viewTool.getIndexViewParam());
let tempContext:any = {};
let tempParam:any = {};
Object.assign(tempContext, this.$viewTool.getIndexViewParam());
const _parameters: any[] = [...this.$viewTool.getIndexParameters(), ...this.parameters];
_parameters.forEach((parameter: any) => {
const { pathName, parameterName }: { pathName: string, parameterName: string } = parameter;
if (formData[parameterName] && !Object.is(formData[parameterName], '')) {
Object.assign(viewdata, { [parameterName]: formData[parameterName] });
Object.assign(tempContext, { [parameterName]: formData[parameterName] });
}
});
Object.assign(viewdata, { [this.paramItem]: _paramitem });
Object.assign(tempContext, { [this.paramItem]: _paramitem });
//设置顶层视图唯一标识
Object.assign(viewdata,this.context);
Object.assign(viewdata,{srfparentdename:this.parentName,srfparentkey:_paramitem});
this.viewdata = JSON.stringify(viewdata);
this.viewparam = JSON.stringify(this.viewparams);
Object.assign(tempContext,this.context);
Object.assign(tempContext,{srfparentdename:this.parentName,srfparentkey:_paramitem});
// 设置局部上下文
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData(formData,tempContext,this.viewparams,this.localContext);
Object.assign(tempContext,_context);
}
this.viewdata = JSON.stringify(tempContext);
// 设置局部参数
if(this.localParam && Object.keys(this.localParam).length >0){
let _param:any = this.$util.computedNavData(formData,tempContext,this.viewparams,this.localParam);
Object.assign(tempParam,_param);
}
this.viewparam = JSON.stringify(tempParam);
if (this.isRelationalData) {
if (!_paramitem || _paramitem == null || Object.is(_paramitem, '')) {
this.blockUIStart();
......
<template>
<div class="app-picker-select-view">
<Dropdown :visible="visible" trigger="custom" style="left:0px;width: 100%" @on-clickoutside="() => {triggerMenu(false);}" >
<Input v-if="isSingleSelect" v-model="queryValue" class="tree-input" type="text" :placeholder="placeholder ? placeholder : $t('components.AppPickerSelectViewSelectView.placeholder')" :disabled="disabled" @on-change="OnInputChange" @on-focus="()=>{triggerMenu(true);}" >
<Input v-if="isSingleSelect" v-model="queryValue" class="tree-input" type="text" :placeholder="placeholder ? placeholder : $t('components.appPickerSelectView.placeholder')" :disabled="disabled" @on-change="OnInputChange" @on-focus="()=>{triggerMenu(true);}" >
<template v-slot:suffix>
<i v-if="queryValue && !disabled" class='el-icon-circle-close' @click="onClear"></i>
<Icon :type="visible ? 'ios-arrow-up' : 'ios-arrow-down'" class="icon-arrow" @click="() => {triggerMenu();}"></Icon>
......@@ -34,7 +34,7 @@ import { ViewTool } from '@/utils/view-tool/view-tool';
@Component({
})
export default class AppPickerSelectViewSelectView extends Vue {
export default class AppPickerSelectView extends Vue {
/**
* 视图上下文
*
......@@ -256,7 +256,7 @@ export default class AppPickerSelectViewSelectView extends Vue {
*/
public handlePublicParams(arg: any): boolean {
if (!this.data) {
this.$Notice.error({ title: (this.$t('components.AppPickerSelectViewSelectView.error') as any), desc: (this.$t('components.AppPickerSelectViewSelectView.formdataException') as any) });
this.$Notice.error({ title: (this.$t('components.appPickerSelectView.error') as any), desc: (this.$t('components.appPickerSelectView.formdataException') as any) });
return false;
}
// 合并表单参数
......@@ -306,7 +306,7 @@ export default class AppPickerSelectViewSelectView extends Vue {
if(this.isSingleSelect){
this.queryValue = newVal;
if (!this.data || !this.valueitem || !this.data[this.valueitem]) {
this.$Notice.error({ title: (this.$t('components.AppPickerSelectViewSelectView.error') as any), desc: (this.$t('components.AppPickerSelectViewSelectView.editor') as any)+this.name+(this.$t('components.AppPickerSelectViewSelectView.valueitemException') as any) });
this.$Notice.error({ title: (this.$t('components.appPickerSelectView.error') as any), desc: (this.$t('components.appPickerSelectView.editor') as any)+this.name+(this.$t('components.appPickerSelectView.valueitemException') as any) });
}else{
let _viewparam = JSON.parse(this.viewparam);
_viewparam.selectedData = [{srfkey: this.data[this.valueitem], srfmajortext: this.value }];
......@@ -418,7 +418,7 @@ export default class AppPickerSelectViewSelectView extends Vue {
*/
public openLinkView($event: any): void {
if (!this.data || !this.valueitem || !this.data[this.valueitem]) {
console.error({ title: (this.$t('components.AppPickerSelectViewSelectView.error') as any), desc: (this.$t('components.AppPickerSelectViewSelectView.editor') as any)+this.name+(this.$t('components.AppPickerSelectViewSelectView.valueitemException') as any) });
console.error({ title: (this.$t('components.appPickerSelectView.error') as any), desc: (this.$t('components.appPickerSelectView.editor') as any)+this.name+(this.$t('components.appPickerSelectView.valueitemException') as any) });
return;
}
// 公共参数处理
......
<template>
<codelist v-if="tag" :tag="tag" :value="value" :codelistType="codelistType" :renderMode="renderMode" :valueSeparator="valueSeparator" :textSeparator="textSeparator" :data="data" :itemParam="itemParam" :context="context" :viewparams="viewparams"></codelist>
<codelist v-if="tag" :tag="tag" :value="value" :codelistType="codelistType" :renderMode="renderMode" :valueSeparator="valueSeparator" :textSeparator="textSeparator" :data="data" :localContext="localContext" :localParam="localParam" :context="context" :viewparams="viewparams"></codelist>
<app-upload-file-info v-else-if="Object.is(this.editorType,'PICTURE') || Object.is(this.editorType,'PICTURE_ONE') || Object.is(this.editorType,'FILEUPLOADER')" :value="value" :name="name"></app-upload-file-info>
<span class="app-span" v-else >{{text}}</span>
</template>
......
......@@ -6,7 +6,7 @@
v-for="(item,i) in dataRight"
:key="i"
>{{dataLeft[item-1].label}}</Option>
<el-transfer v-model="dataRight" :data="dataLeft" @change=dataChange></el-transfer>
<el-transfer v-model="dataRight" :data="dataLeft" @change="dataChange"></el-transfer>
</Select>
</template>
<script lang="ts">
......@@ -14,11 +14,11 @@ import { Vue, Component, Watch, Prop, Model } from "vue-property-decorator";
import CodeListService from "@service/app/codelist-service";
@Component({})
export default class FromTransfer extends Vue {
export default class AppTransfer extends Vue {
/**
* 表单传递右侧框中的数据
*/
@Prop() public data: any;
@Prop() public data?: any;
/**
* 左侧框数据
*/
......@@ -31,7 +31,7 @@ export default class FromTransfer extends Vue {
* 代码表服务对象
*
* @type {CodeListService}
* @memberof FromTransfer
* @memberof AppTransfer
*/
public codeListService: CodeListService = new CodeListService({
......@@ -42,21 +42,21 @@ export default class FromTransfer extends Vue {
* 额外参数
*
* @type {*}
* @memberof FromTransfer
* @memberof AppTransfer
*/
public otherParam: any;
/**
* 查询参数
* @type {*}
* @memberof FromTransfer
* @memberof AppTransfer
*/
public queryParam: any;
/**
* 当前选中值
* @type {any}
* @memberof Drop
* @memberof AppTransfer
*/
@Model("change") readonly itemValue!: any;
......@@ -64,7 +64,7 @@ export default class FromTransfer extends Vue {
* 代码表标识
*
* @type {string}
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Prop() public tag?: string;
......@@ -72,15 +72,14 @@ export default class FromTransfer extends Vue {
* 代码表类型
*
* @type {string}
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Prop() public codelistType?: string;
/**
* 监听表单数据
*
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Watch("data", { deep: true })
......@@ -90,27 +89,27 @@ export default class FromTransfer extends Vue {
}
/**
* 组件change事件,右侧框数据变化时
* @memberof FromTransfer
* @memberof AppTransfer
*/
dataChange(e:any){
dataChange(e: any) {
console.log(e);
let val:any[]=[];
let newVal:any;
let val: any[] = [];
let newVal: any;
this.dataLeft.forEach((elem: any) => {
e.forEach((item: any) => {
if (elem.key === item) val.push(elem.value);
});
});
newVal=val.join(',');
console.log(newVal);
this.$emit("change", newVal);
newVal = val.join(",");
console.log(newVal, typeof newVal);
if (newVal) this.$emit("change", newVal);
}
/**
* 传入额外参数
*
* @type {*}
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Prop() public itemParam?: any;
......@@ -133,7 +132,7 @@ export default class FromTransfer extends Vue {
/**
* 是否禁用
* @type {any}
* @memberof FromTransfer
* @memberof AppTransfer
*
*/
@Prop() public disabled?: any;
......@@ -141,43 +140,22 @@ export default class FromTransfer extends Vue {
/**
* 是否支持过滤
* @type {boolean}
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Prop() public filterable?: boolean;
/**
* 下拉选提示内容
* @type {string}
* @memberof FromTransfer
* @memberof AppTransfer
*/
@Prop() public placeholder?: string;
/**
* 计算属性(当前值)
* @type {any}
* @memberof FromTransfer
*/
set currentVal(val: any) {
// const type: string = this.$util.typeOf(val);
// val =
// Object.is(type, "null") || Object.is(type, "undefined") ? undefined : val;
// this.dataLeft.forEach((elem: any) => {
// this.dataRight.forEach((item: any) => {
// if (elem.key === item) val.push(elem.value);
// });
// });
// val=val.join(',');
// this.$emit("change", val);
}
/**
* 获取值对象
*
* @memberof FromTransfer
* @memberof AppTransfer
*/
// get currentVal() {
// return this.itemValue;
// }
get currentVal() {
return this.itemValue;
}
......@@ -186,7 +164,7 @@ export default class FromTransfer extends Vue {
* 代码表
*
* @type {any[]}
* @memberof FromTransfer
* @memberof AppTransfer
*/
// public items: any[] = [];
......@@ -195,7 +173,7 @@ export default class FromTransfer extends Vue {
*
* @param {*} arg
* @returns
* @memberof FromTransfer
* @memberof AppTransfer
*/
public handlePublicParams(arg: any) {
// 合并表单参数
......@@ -225,11 +203,10 @@ export default class FromTransfer extends Vue {
/**
* vue 生命周期
*
* @memberof FromTransfer
* @memberof AppTransfer
*/
public created() {
this.dataHandle();
this.initRight();
}
/**
......@@ -241,7 +218,9 @@ export default class FromTransfer extends Vue {
if (codelist) {
this.dataLeft = [...JSON.parse(JSON.stringify(codelist.items))];
this.initLeft();
this.initRight();
console.log(this.dataLeft);
console.log(this.dataRight);
} else {
console.log(`----${this.tag}----代码表不存在`);
}
......@@ -257,8 +236,8 @@ export default class FromTransfer extends Vue {
.then((res: any) => {
this.dataLeft = res;
console.log(this.dataLeft);
this.initLeft();
this.initRight();
})
.catch((error: any) => {
console.log(`----${this.tag}----代码表不存在`);
......@@ -286,9 +265,16 @@ export default class FromTransfer extends Vue {
* 初始化右侧框数据
*/
public initRight() {
if (this.data) {
this.data.forEach((elem: any) => {
this.dataRight.push(elem);
let _data: string = this.data;
console.log(_data);
if (_data) {
let newData: any[] = _data.split(",");
this.dataLeft.forEach((elem: any) => {
newData.forEach((item: any) => {
if (item === elem.value) {
this.dataRight.push(elem.key);
}
});
});
}
}
......
......@@ -178,6 +178,8 @@
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='ibzemployee'
parentName="IBZEmployee"
refviewtype='DEGRIDVIEW'
......
......@@ -47,6 +47,8 @@
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='sysrole'
parentName="SysRole"
refviewtype='DECUSTOMVIEW'
......@@ -83,6 +85,8 @@
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='sysrole'
parentName="SysRole"
refviewtype='DEGRIDVIEW'
......
......@@ -30,6 +30,8 @@
]"
:context="context"
:viewparams="viewparams"
:localContext ='{}'
:localParam ='{}'
parameterName='wfgroup'
parentName="WFGroup"
refviewtype='DEGRIDVIEW'
......
......@@ -37,6 +37,11 @@
git clone -b master $para2 ibzrt/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzrt/
mvn clean package -Pweb
cd ibzrt-app/ibzrt-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzrt-app-web.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzrt-app-web.jar
EXPOSE 8080
EXPOSE 30000
ADD ibzrt-app-web.jar /ibzrt-app-web.jar
......@@ -3,9 +3,21 @@ services:
ibzrt-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzrt-app-web:latest
ports:
- "8080:8080"
- "30000:30000"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30000
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
deploy:
resources:
limits:
......
......@@ -67,5 +67,9 @@ zuul:
path: /v7/login
serviceId: ibzuaa-api
stripPrefix: false
uaa:
path: /uaa/**
serviceId: ibzuaa-api
stripPrefix: false
sensitive-headers:
- Cookie,Set-Cookie,Authorization
......@@ -100,5 +100,9 @@ zuul:
path: /v7/login
serviceId: ibzuaa-api
stripPrefix: false
uaa:
path: /uaa/**
serviceId: ibzuaa-api
stripPrefix: false
sensitive-headers:
- Cookie,Set-Cookie,Authorization
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册