提交 28e8522f 编写于 作者: sq3536's avatar sq3536

Merge remote-tracking branch 'origin/master'

...@@ -123,12 +123,12 @@ export default class AppMpicker extends Vue { ...@@ -123,12 +123,12 @@ export default class AppMpicker extends Vue {
* @param newVal * @param newVal
* @param val * @param val
*/ */
@Watch('curvalue', { deep: true }) @Watch('curvalue', {immediate:true, deep: true })
oncurvalueChange(newVal: any, val: any) { oncurvalueChange(newVal: any, val: any) {
this.value = []; this.value = [];
this.selectItems = []; this.selectItems = [];
if (newVal) { if (newVal) {
this.selectItems = JSON.parse(newVal); this.selectItems = this.parseValue(JSON.parse(newVal));
this.selectItems.forEach((item: any) => { this.selectItems.forEach((item: any) => {
this.value.push(item[this.deKeyField]); this.value.push(item[this.deKeyField]);
let index = this.items.findIndex((i) => Object.is(i[this.deKeyField], item[this.deKeyField])); let index = this.items.findIndex((i) => Object.is(i[this.deKeyField], item[this.deKeyField]));
...@@ -187,7 +187,7 @@ export default class AppMpicker extends Vue { ...@@ -187,7 +187,7 @@ export default class AppMpicker extends Vue {
let index = this.items.findIndex((item) => Object.is(item[this.deKeyField], select)); let index = this.items.findIndex((item) => Object.is(item[this.deKeyField], select));
if (index >= 0) { if (index >= 0) {
let item = this.items[index]; let item = this.items[index];
val.push({ [this.deKeyField]: item[this.deKeyField], [this.deMajorField]: item.text }); val.push({ [this.deKeyField]: item[this.deKeyField], [this.deMajorField]: item[this.deMajorField] });
} else { } else {
index = this.selectItems.findIndex((item: any) => Object.is(item[this.deKeyField], select)); index = this.selectItems.findIndex((item: any) => Object.is(item[this.deKeyField], select));
if (index >= 0) { if (index >= 0) {
...@@ -196,7 +196,7 @@ export default class AppMpicker extends Vue { ...@@ -196,7 +196,7 @@ export default class AppMpicker extends Vue {
} }
} }
}); });
let value = val.length > 0 ? JSON.stringify(val) : ''; let value = val.length > 0 ? JSON.stringify(this.formatValue(val)) : '';
this.$emit('formitemvaluechange', { name: this.name, value: value }); this.$emit('formitemvaluechange', { name: this.name, value: value });
} }
} }
...@@ -211,7 +211,7 @@ export default class AppMpicker extends Vue { ...@@ -211,7 +211,7 @@ export default class AppMpicker extends Vue {
let index = this.selectItems.findIndex((item: any) => Object.is(item[this.deKeyField], tag)); let index = this.selectItems.findIndex((item: any) => Object.is(item[this.deKeyField], tag));
if (index >= 0) { if (index >= 0) {
this.selectItems.splice(index, 1); this.selectItems.splice(index, 1);
let value = this.selectItems.length > 0 ? JSON.stringify(this.selectItems) : ''; let value = this.selectItems.length > 0 ? JSON.stringify(this.formatValue(this.selectItems)) : '';
this.$emit('formitemvaluechange', { name: this.name, value: value }); this.$emit('formitemvaluechange', { name: this.name, value: value });
} }
} }
...@@ -256,13 +256,50 @@ export default class AppMpicker extends Vue { ...@@ -256,13 +256,50 @@ export default class AppMpicker extends Vue {
}); });
} }
if (this.name && this.activeData) { if (this.name && this.activeData) {
let value = selects.length > 0 ? JSON.stringify(selects) : ''; let value = selects.length > 0 ? JSON.stringify(this.formatValue(selects)) : '';
this.$emit('formitemvaluechange', { name: this.name, value: value }); this.$emit('formitemvaluechange', { name: this.name, value: value });
} }
}) })
} }
} }
/**
* 解析值,把srfkey和srfmajortext解析成实体属性名
*
* @param {any[]} value 需要转换的数组
* @memberof AppMpicker
*/
public parseValue(value: any[]){
let result = [];
if(this.deKeyField !== "srfkey" || this.deMajorField !== "srfmajortext"){
value.forEach((item: any) => {
result.push({[this.deMajorField]: item.srfmajortext, [this.deKeyField]: item.srfkey});
});
}else{
result = value;
}
return result;
}
/**
* 格式化值,把实体属性名格式化成srfkey和srfmajortext
*
* @param {any[]} value 需要转换的数组
* @memberof AppMpicker
*/
public formatValue(value: any[]){
let result = [];
if(this.deKeyField !== "srfkey" || this.deMajorField !== "srfmajortext"){
value.forEach((item: any) => {
result.push({srfmajortext : item[this.deMajorField], srfkey : item[this.deKeyField]});
});
}else{
result = value;
}
return result;
}
} }
</script> </script>
<style lang="less"> <style lang="less">
......
...@@ -108,6 +108,11 @@ export default class AppSpan extends Vue { ...@@ -108,6 +108,11 @@ export default class AppSpan extends Vue {
public load(){ public load(){
if(!this.value || this.tag){ if(!this.value || this.tag){
return; //代码表走codelist组件 return; //代码表走codelist组件
}else if(this.editorType === "ADDRESSPICKUP"){
JSON.parse(this.value).forEach((item:any,index:number) => {
this.text += index === 0 ? item.srfmajortext : ","+item.srfmajortext;
});
}else{ }else{
this.text = this.value; this.text = this.value;
} }
......
<template> <template>
<div class="view-container depickupview wfgroup-pickup-view"> <div class="view-container depickupview wfgroup-pickup-view">
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="wfgrouppickupview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfTitle)" viewName="wfgrouppickupview"></app-studioaction>
<card class='view-card' :dis-hover="true" :padding="0" :bordered="false"> <card class='view-card view-no-caption' :dis-hover="true" :padding="0" :bordered="false">
<div class="content-container pickup-view"> <div class="content-container pickup-view">
<view_pickupviewpanel <view_pickupviewpanel
:viewState="viewState" :viewState="viewState"
......
...@@ -1089,9 +1089,11 @@ export default class WFMemberGridViewBase extends Vue { ...@@ -1089,9 +1089,11 @@ export default class WFMemberGridViewBase extends Vue {
protected newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) { protected newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
const batchAddPSAppViews=[ const batchAddPSAppViews=[
{view:{viewname:'wfgroup-mpickup-view',height: 0,width: 0,title: '角色/用户组数据多项选择视图'}, {view:{viewname:'wfgroup-mpickup-view',height: 0,width: 0,title: '角色/用户组数据多项选择视图'},
res:['WFGroup'],'resAppKey':'groupid'}, res:['WFGroup'],
'resAppKey':'groupid'},
{view:{viewname:'wfuser-mpickup-view',height: 0,width: 0,title: '用户数据多项选择视图'}, {view:{viewname:'wfuser-mpickup-view',height: 0,width: 0,title: '用户数据多项选择视图'},
res:['WFUser'],'resAppKey':'userid'} res:['WFUser'],
'resAppKey':'userid'}
]; ];
if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){ if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){
this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' }); this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' });
......
<template> <template>
<div class="view-container depickupview wfuser-pickup-view"> <div class="view-container depickupview wfuser-pickup-view">
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="wfuserpickupview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfTitle)" viewName="wfuserpickupview"></app-studioaction>
<card class='view-card' :dis-hover="true" :padding="0" :bordered="false"> <card class='view-card view-no-caption' :dis-hover="true" :padding="0" :bordered="false">
<div class="content-container pickup-view"> <div class="content-container pickup-view">
<view_pickupviewpanel <view_pickupviewpanel
:viewState="viewState" :viewState="viewState"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<i-form :model="this.data" class='app-search-form' ref='searchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20"> <i-col span="20" class="form-content">
<row> <row>
<i-col v-show="detailsModel.n_groupname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.n_groupname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='n_groupname_like' :itemRules="this.rules.n_groupname_like" class='' :caption="$t('entities.wfgroup.default_searchform.details.n_groupname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_groupname_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_groupname_like' :itemRules="this.rules.n_groupname_like" class='' :caption="$t('entities.wfgroup.default_searchform.details.n_groupname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_groupname_like.error" :isEmptyCaption="false" labelPos="LEFT">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</i-col> </i-col>
</row> </row>
</i-col> </i-col>
<i-col span="4"> <i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0"> <row v-show="Object.keys(data).length>0">
<i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button> <i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button>
<i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button> <i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button>
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
margin-right: 12px; margin-right: 12px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.search-button{
text-align: right;
}
} }
.app-search-form-flex { .app-search-form-flex {
height: 100%; height: 100%;
......
...@@ -491,7 +491,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -491,7 +491,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {number} * @type {number}
* @memberof AppIndex * @memberof AppIndex
*/ */
protected checkboxColWidth: number = 80; protected checkboxColWidth: number = 50;
/** /**
* 是否允许拖动列宽 * 是否允许拖动列宽
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<i-form :model="this.data" class='app-search-form' ref='searchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20"> <i-col span="20" class="form-content">
<row> <row>
<i-col v-show="detailsModel.n_personname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.n_personname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='n_personname_like' :itemRules="this.rules.n_personname_like" class='' :caption="$t('entities.wfmember.default_searchform.details.n_personname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_personname_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_personname_like' :itemRules="this.rules.n_personname_like" class='' :caption="$t('entities.wfmember.default_searchform.details.n_personname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_personname_like.error" :isEmptyCaption="false" labelPos="LEFT">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</i-col> </i-col>
</row> </row>
</i-col> </i-col>
<i-col span="4"> <i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0"> <row v-show="Object.keys(data).length>0">
<i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button> <i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button>
<i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button> <i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button>
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
margin-right: 12px; margin-right: 12px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.search-button{
text-align: right;
}
} }
.app-search-form-flex { .app-search-form-flex {
height: 100%; height: 100%;
......
...@@ -484,7 +484,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -484,7 +484,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {number} * @type {number}
* @memberof AppIndex * @memberof AppIndex
*/ */
protected checkboxColWidth: number = 80; protected checkboxColWidth: number = 50;
/** /**
* 是否允许拖动列宽 * 是否允许拖动列宽
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<i-form :model="this.data" class='app-search-form' ref='searchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20"> <i-col span="20" class="form-content">
<row> <row>
<i-col v-show="detailsModel.n_deploykey_like.visible" :style="{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }"> <i-col v-show="detailsModel.n_deploykey_like.visible" :style="{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='n_deploykey_like' :itemRules="this.rules.n_deploykey_like" class='' :caption="$t('entities.wfprocessdefinition.default_searchform.details.n_deploykey_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_deploykey_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_deploykey_like' :itemRules="this.rules.n_deploykey_like" class='' :caption="$t('entities.wfprocessdefinition.default_searchform.details.n_deploykey_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_deploykey_like.error" :isEmptyCaption="false" labelPos="LEFT">
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</i-col> </i-col>
</row> </row>
</i-col> </i-col>
<i-col span="4"> <i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0"> <row v-show="Object.keys(data).length>0">
<i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button> <i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button>
<i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button> <i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button>
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
margin-right: 12px; margin-right: 12px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.search-button{
text-align: right;
}
} }
.app-search-form-flex { .app-search-form-flex {
height: 100%; height: 100%;
......
...@@ -507,7 +507,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -507,7 +507,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {number} * @type {number}
* @memberof AppIndex * @memberof AppIndex
*/ */
protected checkboxColWidth: number = 80; protected checkboxColWidth: number = 50;
/** /**
* 是否允许拖动列宽 * 是否允许拖动列宽
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<i-form :model="this.data" class='app-search-form' ref='searchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20"> <i-col span="20" class="form-content">
<row> <row>
<i-col v-show="detailsModel.n_personname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.n_personname_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='n_personname_like' :itemRules="this.rules.n_personname_like" class='' :caption="$t('entities.wfuser.default_searchform.details.n_personname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_personname_like.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_personname_like' :itemRules="this.rules.n_personname_like" class='' :caption="$t('entities.wfuser.default_searchform.details.n_personname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_personname_like.error" :isEmptyCaption="false" labelPos="LEFT">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</i-col> </i-col>
</row> </row>
</i-col> </i-col>
<i-col span="4"> <i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0"> <row v-show="Object.keys(data).length>0">
<i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button> <i-button class='search_reset' size="default" type="primary" @click="onSearch">{{$t('app.searchButton.search')}}</i-button>
<i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button> <i-button class='search_reset' size="default" @click="onReset">{{this.$t('app.searchButton.reset')}}</i-button>
......
...@@ -13,6 +13,9 @@ ...@@ -13,6 +13,9 @@
margin-right: 12px; margin-right: 12px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.search-button{
text-align: right;
}
} }
.app-search-form-flex { .app-search-form-flex {
height: 100%; height: 100%;
......
...@@ -491,7 +491,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -491,7 +491,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {number} * @type {number}
* @memberof AppIndex * @memberof AppIndex
*/ */
protected checkboxColWidth: number = 80; protected checkboxColWidth: number = 50;
/** /**
* 是否允许拖动列宽 * 是否允许拖动列宽
......
...@@ -32,17 +32,11 @@ ...@@ -32,17 +32,11 @@
<hudson.tasks.Shell> <hudson.tasks.Shell>
<command> <command>
BUILD_ID=DONTKILLME BUILD_ID=DONTKILLME
echo "registry.cn-shanghai.aliyuncs.com/ibizsys"
source /etc/profile source /etc/profile
rm -rf ibzwf rm -rf ibzwf
git clone -b master $para2 ibzwf/ git clone -b master $para2 ibzwf/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibzwf/ cd ibzwf/
mvn clean package -Pweb
cd ibzwf-app/ibzwf-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzwf-app-web.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \ ...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \
sleep ${IBZ_SLEEP} && \ sleep ${IBZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-app-web.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-app-web.jar
EXPOSE 30003 EXPOSE 8080
ADD ibzwf-app-web.jar /ibzwf-app-web.jar ADD ibzwf-app-web.jar /ibzwf-app-web.jar
...@@ -3,11 +3,9 @@ services: ...@@ -3,11 +3,9 @@ services:
ibzwf-app-web: ibzwf-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-app-web:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-app-web:latest
ports: ports:
- "30003:30003" - "8080:8080"
networks: networks:
- agent_network - agent_network
environment:
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.16.180.237
deploy: deploy:
mode: replicated mode: replicated
replicas: 1 replicas: 1
......
server: server:
port: 30003 port: 8080
\ No newline at end of file \ No newline at end of file
server: server:
port: 30003 port: 8080
#zuul网关路由设置 #zuul网关路由设置
zuul: zuul:
......
...@@ -32,7 +32,7 @@ public class PermissionSyncJob implements ApplicationRunner { ...@@ -32,7 +32,7 @@ public class PermissionSyncJob implements ApplicationRunner {
@Value("${ibiz.enablePermissionValid:false}") @Value("${ibiz.enablePermissionValid:false}")
boolean enablePermissionValid; //是否开启权限校验 boolean enablePermissionValid; //是否开启权限校验
@Value("${ibiz.systemid:0A91C1B1-3B67-4EDA-9572-5DB491871FEE}") @Value("${ibiz.systemid:2C40DFCD-0DF5-47BF-91A5-C45F810B0001}")
private String systemId; private String systemId;
@Override @Override
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册