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

ibiz4j 部署微服务应用

上级 4ebe0381
......@@ -26,14 +26,6 @@
}
]
},
{
"srfkey": "SystemPick",
"emptytext": "未定义",
"codelisttype":"dynamic",
"appdataentity":"",
"appdedataset":"",
"items": []
},
{
"srfkey": "AppType",
"emptytext": "未定义",
......
......@@ -100,6 +100,22 @@ export default class AppFileUpload extends Vue {
*/
@Prop() public data!: string;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@Prop() public viewparams!: any;
/**
* 视图上下文
*
* @type {*}
* @memberof AppAutocomplete
*/
@Prop() public context!: any;
/**
* 初始化值
*
......@@ -146,7 +162,7 @@ export default class AppFileUpload extends Vue {
* @type {string}
* @memberof AppFileUpload
*/
@Prop() public uploadparams?: string;
@Prop() public uploadparams?: any;
/**
* 下载参数
......@@ -154,15 +170,7 @@ export default class AppFileUpload extends Vue {
* @type {string}
* @memberof AppFileUpload
*/
@Prop() public exportparams?: string;
/**
* 自定义参数
*
* @type {*}
* @memberof AppFileUpload
*/
@Prop() public customparams?: any;
@Prop() public exportparams?: any;
/**
* 上传文件路径
......@@ -186,20 +194,20 @@ export default class AppFileUpload extends Vue {
public files = [];
/**
* 上传keys
* 上传params
*
* @type {Array<any>}
* @memberof AppFileUpload
*/
public upload_keys: Array<any> = [];
public upload_params: Array<any> = [];
/**
* 导出keys
* 导出params
*
* @type {Array<any>}
* @memberof AppFileUpload
*/
public export_keys: Array<any> = [];
public export_params: Array<any> = [];
/**
* 自定义数组
......@@ -239,31 +247,37 @@ export default class AppFileUpload extends Vue {
* @memberof AppFileUpload
*/
private dataProcess(): void {
let upload_arr: Array<string> = [];
let export_arr: Array<string> = [];
const _data: any = JSON.parse(this.data);
this.upload_keys.forEach((key: string) => {
upload_arr.push(`${key}=${_data[key]}`);
});
this.export_keys.forEach((key: string) => {
export_arr.push(`${key}=${_data[key]}`);
});
let _url = `${Environment.BaseUrl}${Environment.UploadFile}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
_url = `${_url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.upload_params.length > 0 ) {
_url +='?';
this.upload_params.forEach((item:any,i:any)=>{
_url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.upload_params.length-1){
_url += '&';
}
})
}
this.uploadUrl = _url;
this.files.forEach((file: any) => {
let url = `${this.downloadUrl}/${file.id}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
url = `${url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.export_params.length > 0) {
url +='?';
this.export_params.forEach((item:any,i:any)=>{
url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.export_params.length-1){
url += '&';
}
})
}
file.url = url;
});
}
/**
* vue 生命周期
*
......@@ -290,28 +304,36 @@ export default class AppFileUpload extends Vue {
public mounted() {
this.appData = this.$store.getters.getAppData();
let uploadparams: string = '';
let exportparams: string = '';
let uploadparams: any = {};
let exportparams: any = {};
let upload_keys: Array<string> = [];
let export_keys: Array<string> = [];
let upload_params: Array<string> = [];
let export_params: Array<string> = [];
let custom_arr: Array<string> = [];
let param:any = this.viewparams;
let context:any = this.context;
if (this.uploadparams && !Object.is(this.uploadparams, '')) {
uploadparams = this.uploadparams;
upload_keys = uploadparams.split(';');
upload_params = this.$util.computedNavData(this.data,param,context,uploadparams);
}
if (this.exportparams && !Object.is(this.exportparams, '')) {
exportparams = this.exportparams;
export_keys = exportparams.split(';');
export_params = this.$util.computedNavData(this.data,param,context,exportparams);
}
if (this.customparams && !Object.is(this.customparams, '')) {
Object.keys(this.customparams).forEach((name: string) => {
custom_arr.push(`${name}=${this.customparams[name]}`);
});
for (const item in upload_params) {
this.upload_params.push({
[item]:upload_params[item]
})
}
for (const item in export_params) {
this.export_params.push({
[item]:export_params[item]
})
}
this.upload_keys = upload_keys;
this.export_keys = export_keys;
this.custom_arr = custom_arr;
this.setFiles(this.value);
this.dataProcess();
......
......@@ -8,7 +8,8 @@
}
}
.app-form-item-label {
padding: 6px 12px 6px 0px;
padding: 6px 10px 6px 0px;
}
}
......@@ -27,13 +28,14 @@
.app-form-item.label-left {
.app-form-item-label {
float: left;
text-align: right;
}
}
.app-form-item.label-right {
.app-form-item-label {
float: right;
padding-left: 12px;
padding: 6px 0px 6px 10px;
}
}
......
......@@ -4,9 +4,6 @@ export default {
'0': '否',
empty: '',
},
SystemPick: {
empty: '',
},
AppType: {
'INNER': '内置应用',
'THIRD-PARTY': '第三方应用',
......
......@@ -4,9 +4,6 @@ export default {
'0': '否',
empty: '',
},
SystemPick: {
empty: '',
},
AppType: {
'INNER': '内置应用',
'THIRD-PARTY': '第三方应用',
......
......@@ -34,14 +34,6 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
},
]
},
{
"srfkey": "SystemPick",
"emptytext": "未定义",
"codelisttype":"dynamic",
"appdataentity":"",
"appdedataset":"",
"items": []
},
{
srfkey: 'AppType',
emptytext: '未定义',
......
import SystemPick from '@/codelist/system-pick';
import { Store } from 'vuex';
/**
......@@ -50,14 +49,6 @@ export default class CodeListService {
public static codelistCached:Map<string,any> = new Map();
/**
* 代码表--SystemPick
*
* @type {SystemPick}
* @memberof CodeListService
*/
public SystemPick: SystemPick = new SystemPick();
/**
* 获取动态代码表
*
......
......@@ -6,25 +6,7 @@
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.sysapp.main_form.details.group1')" :isShowCaption="true" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<row>
<i-col v-show="detailsModel.pssystemid.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='pssystemid' :itemRules="this.rules.pssystemid" class='' :caption="$t('entities.sysapp.main_form.details.pssystemid')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pssystemid.error" :isEmptyCaption="false" labelPos="LEFT">
<dropdown-list
v-model="data.pssystemid"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.pssystemid.disabled"
tag='SystemPick'
codelistType='DYNAMIC'
placeholder='请选择...' style="">
</dropdown-list>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.appid.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<i-col v-show="detailsModel.appid.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='appid' :itemRules="this.rules.appid" class='' :caption="$t('entities.sysapp.main_form.details.appid')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.appid.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.appid" @enter="onEnter($event)" unit="" :disabled="detailsModel.appid.disabled" type='text' style=""></input-box>
</app-form-item>
......
......@@ -30,26 +30,19 @@
<template v-slot="{row,column,$index}">
<template v-if="actualIsOpenEdit">
<app-form-item :error="gridItemsModel[$index][column.property].error">
<dropdown-list
v-model="row[column.property]"
<input-box
:disabled="row.srfuf === 1 ? (1 & 2) !== 2 : (1 & 1) !== 1"
:data="row"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
tag='SystemPick'
codelistType='DYNAMIC'
placeholder='请选择...'
style=""
v-model="row[column.property]"
style=""
type="text"
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</dropdown-list>
</input-box>
</app-form-item>
</template>
<template v-if="!actualIsOpenEdit">
<codelist :value="row.pssystemid" tag='SystemPick' codelistType='DYNAMIC' ></codelist>
<app-span name='pssystemid' editorType="HIDDEN" :value="row.pssystemid"></app-span>
</template>
</template>
</el-table-column>
......@@ -989,7 +982,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......@@ -1207,14 +1200,6 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public async formatExcelData(filterVal:any, jsonData:any) {
let codelistColumns:Array<any> = [
{
name: 'pssystemid',
srfkey: 'SystemPick',
codelistType : 'DYNAMIC',
renderMode: 'other',
textSeparator: '、',
valueSeparator: ',',
},
{
name: 'apptype',
srfkey: 'AppType',
......
......@@ -32,65 +32,60 @@ export default class MainModel {
dataType: 'TEXT',
},
{
name: 'pssystemid',
prop: 'systemid',
dataType: 'PICKUP',
name: 'visabled',
prop: 'visabled',
dataType: 'YESNO',
},
{
name: 'appname',
prop: 'label',
dataType: 'TEXT',
},
{
name: 'appid',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'pssystemid',
prop: 'systemid',
dataType: 'PICKUP',
},
{
name: 'addr',
prop: 'addr',
dataType: 'TEXT',
},
{
name: 'apptype',
prop: 'type',
dataType: 'SSCODELIST',
},
{
name: 'srfmajortext',
prop: 'label',
dataType: 'TEXT',
},
{
name: 'srfkey',
name: 'srfdataaccaction',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'srfdataaccaction',
name: 'srfkey',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'appname',
prop: 'label',
name: 'fullname',
prop: 'fullname',
dataType: 'TEXT',
},
{
name: 'visabled',
prop: 'visabled',
dataType: 'YESNO',
},
{
name: 'pssystemid_text',
prop: 'systemid',
dataType: 'PICKUP',
},
{
name: 'apptype',
prop: 'type',
dataType: 'SSCODELIST',
},
{
name: 'appgroup',
prop: 'group',
dataType: 'TEXT',
},
{
name: 'fullname',
prop: 'fullname',
dataType: 'TEXT',
},
{
name: 'sysapp',
prop: 'id',
......
......@@ -819,7 +819,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -689,7 +689,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -722,7 +722,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -741,7 +741,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -717,7 +717,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -722,7 +722,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
let _datas:any[] = [];
datas.forEach((record: any, index: number) => {
if (!record.srfkey) {
if (Object.is(record.srfuf,"0")) {
this.items.some((val: any, num: number) =>{
if(JSON.stringify(val) == JSON.stringify(record)){
this.items.splice(num,1);
......
......@@ -37,11 +37,11 @@
git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/
mvn clean package -Papi
cd ibzuaa-provider/ibzuaa-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-provider-api.yaml ibzlab-rt --with-registry-auth
mvn clean package -Pweb
cd ibzuaa-app/ibzuaa-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-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 /ibzuaa-app-web.jar
EXPOSE 8080
EXPOSE 30002
ADD ibzuaa-app-web.jar /ibzuaa-app-web.jar
......@@ -3,9 +3,23 @@ services:
ibzuaa-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest
ports:
- "8080:8080"
- "30002:30002"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30002
- 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
- ABC=1
- DEC=2
deploy:
resources:
limits:
......
......@@ -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 /ibzuaa-provider-api.jar
EXPOSE 40002
EXPOSE 8081
ADD ibzuaa-provider-api.jar /ibzuaa-provider-api.jar
......@@ -3,21 +3,9 @@ services:
ibzuaa-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-provider-api:latest
ports:
- "40002:40002"
- "8081:8081"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40002
- 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:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册