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

ibiz4j 部署微服务应用

上级 6d37aac8
......@@ -305,7 +305,7 @@
},
"index": {
"title": "ibizlab-runtime",
"caption": "ibizlab-runtime",
"caption": "ibizlab",
"viewtype": "APPINDEXVIEW",
"viewmodule": "rt",
"viewname": "Index",
......
<template>
<Select v-model="dataRight" style="width:586px" multiple>
<Option
class="hidden"
:value="item"
v-for="(item,i) in dataRight"
:key="i"
>{{dataLeft[item-1].label}}</Option>
<Select
@on-open-change="transferRefresh"
@on-change="dataChange"
v-model="dataRight"
:style="{width:width}"
multiple
>
<Option class="hidden" :value="item" v-for="(item,i) in dataRight" :key="i">{{findLabel(item)}}</Option>
<el-transfer v-model="dataRight" :data="dataLeft" @change="dataChange" :titles="['未选择', '已选择']"></el-transfer>
</Select>
</template>
<script lang="ts">
import { Vue, Component, Watch, Prop, Model } from "vue-property-decorator";
import CodeListService from "@service/app/codelist-service";
import { ElSelect } from "element-ui/types/select";
@Component({})
export default class AppTransfer extends Vue {
/**
* 表单传递右侧框中的数据
*/
@Prop() public data?: any;
/**
* 左侧框数据
*/
public dataLeft: any[] = [];
/**
* 右侧框数据
*/
public dataRight: any[] = [];
/**
* 穿梭框宽度
*/
@Prop() public width:any;
/**
* 代码表服务对象
*
......@@ -38,14 +44,6 @@ export default class AppTransfer extends Vue {
$store: this.$store
});
/**
* 额外参数
*
* @type {*}
* @memberof AppTransfer
*/
public otherParam: any;
/**
* 查询参数
* @type {*}
......@@ -53,12 +51,16 @@ export default class AppTransfer extends Vue {
*/
public queryParam: any;
/**
* 表单传入字符串值分隔符
*/
@Prop() public valueSeparator?: string;
/**
* 当前选中值
* @type {any}
* @memberof AppTransfer
*/
@Model("change") readonly itemValue!: any;
@Model("change") public itemValue!: any;
/**
* 代码表标识
......@@ -76,33 +78,18 @@ export default class AppTransfer extends Vue {
*/
@Prop() public codelistType?: string;
/**
* 监听表单数据
*
* @memberof AppTransfer
*/
@Watch("data", { deep: true })
onDataChange(newVal: any, val: any) {
if (newVal) {
}
}
/**
* 组件change事件,右侧框数据变化时
* @memberof AppTransfer
*/
dataChange(e: any) {
console.log(e);
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, typeof newVal);
if (newVal) this.$emit("change", newVal);
newVal = e.join(`${this.valueSeparator}`);
if (newVal) {
this.$emit("change", newVal);
} else {
this.$emit("change", null);
}
}
/**
......@@ -151,55 +138,6 @@ export default class AppTransfer extends Vue {
*/
@Prop() public placeholder?: string;
/**
* 获取值对象
*
* @memberof AppTransfer
*/
get currentVal() {
return this.itemValue;
}
/**
* 代码表
*
* @type {any[]}
* @memberof AppTransfer
*/
// public items: any[] = [];
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof AppTransfer
*/
public handlePublicParams(arg: any) {
// 合并表单参数
arg.param = this.viewparams
? JSON.parse(JSON.stringify(this.viewparams))
: {};
arg.context = this.context ? JSON.parse(JSON.stringify(this.context)) : {};
// 附加参数处理
if (this.itemParam && this.itemParam.context) {
let _context = this.$util.formatData(
this.data,
arg.context,
this.itemParam.context
);
Object.assign(arg.context, _context);
}
if (this.itemParam && this.itemParam.param) {
let _param = this.$util.formatData(
this.data,
arg.param,
this.itemParam.param
);
Object.assign(arg.param, _param);
}
}
/**
* vue 生命周期
*
......@@ -219,13 +157,11 @@ export default class AppTransfer extends Vue {
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}----代码表不存在`);
}
} else if (this.tag && Object.is(this.codelistType, "DYNAMIC")) {
// 公共参数处理
// 处理公共参数
let data: any = {};
this.handlePublicParams(data);
// 参数处理
......@@ -235,7 +171,6 @@ export default class AppTransfer extends Vue {
.getItems(this.tag, _context, _param)
.then((res: any) => {
this.dataLeft = res;
console.log(this.dataLeft);
this.initLeft();
this.initRight();
})
......@@ -244,6 +179,38 @@ export default class AppTransfer extends Vue {
});
}
}
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof AppTransfer
*/
public handlePublicParams(arg: any) {
// 合并表单参数
arg.param = this.viewparams
? JSON.parse(JSON.stringify(this.viewparams))
: {};
arg.context = this.context ? JSON.parse(JSON.stringify(this.context)) : {};
// 附加参数处理
if (this.itemParam && this.itemParam.context) {
let _context = this.$util.formatData(
this.itemValue,
arg.context,
this.itemParam.context
);
Object.assign(arg.context, _context);
}
if (this.itemParam && this.itemParam.param) {
let _param = this.$util.formatData(
this.itemValue,
arg.param,
this.itemParam.param
);
Object.assign(arg.param, _param);
}
}
/**
* 初始化左侧框数据
*/
......@@ -253,8 +220,7 @@ export default class AppTransfer extends Vue {
this.dataLeft = [];
left.forEach((elem: any, i: any) => {
this.dataLeft.push({
key: i + 1,
id: elem.id,
key: elem.id,
value: elem.value,
label: elem.label,
disabled: elem.disabled
......@@ -265,10 +231,9 @@ export default class AppTransfer extends Vue {
* 初始化右侧框数据
*/
public initRight() {
let _data: string = this.data;
console.log(_data);
let _data: any = this.itemValue;
if (_data) {
let newData: any[] = _data.split(",");
let newData: any[] = _data.split(`${this.valueSeparator}`);
this.dataLeft.forEach((elem: any) => {
newData.forEach((item: any) => {
if (item === elem.value) {
......@@ -278,6 +243,25 @@ export default class AppTransfer extends Vue {
});
}
}
/**
* 穿梭框打开时刷新数据
*/
public transferRefresh(e: any) {
if (e && this.codelistType === "DYNAMIC") {
this.dataLeft = [];
this.dataRight = [];
this.dataHandle();
}
}
/**
* 找到dataLeft中key与dataRight中item相等的元素,返回label
*/
public findLabel(item: any) {
for (const elem of this.dataLeft) {
if (elem.key === item) return elem.label;
}
}
}
</script>
......
......@@ -4,7 +4,7 @@ export const Environment = {
// 应用名称
AppName: 'Web',
// 应用 title
AppTitle: 'iBizRT',
AppTitle: 'ibizlab-runtime',
// 应用基础路径
BaseUrl: '../',
// 系统名称
......
......@@ -62,8 +62,8 @@ export default {
// 非实体视图
views: {
index: {
caption: 'ibizlab-runtime',
title: 'ibizlab-runtime',
caption: 'ibizlab',
title: 'ibizlab',
},
},
utilview:{
......
......@@ -62,8 +62,8 @@ export default {
// 非实体视图
views: {
index: {
caption: 'ibizlab-runtime',
title: 'ibizlab-runtime',
caption: 'ibizlab',
title: 'ibizlab',
},
},
utilview:{
......
......@@ -313,7 +313,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
},
"index": {
"title": "ibizlab-runtime",
"caption": "ibizlab-runtime",
"caption": "ibizlab",
"viewtype": "APPINDEXVIEW",
"viewmodule": "rt",
"viewname": "Index",
......
......@@ -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:
......
......@@ -128,7 +128,7 @@
{
"appid":"Web",
"appname":"iBizRT",
"appname":"ibizlab-runtime",
"appmenu":[{"menuid":"Index", "menuname":"Index", "menuitem":[{ "id":"menuitem7" , "name":"单位人事" , "items":[{ "id":"menuitem1" , "name":"单位管理" },{ "id":"menuitem2" , "name":"部门管理" },{ "id":"menuitem3" , "name":"人员管理" }]},{ "id":"menuitem8" , "name":"系统权限" , "items":[{ "id":"menuitem4" , "name":"用户角色" },{ "id":"menuitem9" , "name":"认证日志" }]},{ "id":"menuitem10" , "name":"流程管理" , "items":[{ "id":"menuitem6" , "name":"流程定义" },{ "id":"menuitem5" , "name":"流程角色" },{ "id":"menuitem11" , "name":"发布新流程" }]}] }]
}
]
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册