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

ibiz4j 发布系统代码

上级 71d7ca90
## v7.0.0-alpha.17 [2020-8-9]
### Bug修复
修复系统级的操作标识异常问题
修复表格新增插件异常问题
修复表格单击行绑定数据异常bug
修复表格合计行样式问题
### 功能新增及优化
#### 模板
新增支持前后端分离部署
新增动态代码表预定义代码表支持
新增数据选择(调用接口)组件
新增部件样式表支持
优化数据服务逻辑
优化代码表服务基类、动态代码表
优化导航参数处理逻辑
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
优化部件关联外键值
#### 基础文件
新增前后端分离部署
新增下拉列表控件支持树状代码表
新增数据选择(调用接口)组件
优化数据拷贝逻辑
优化组织、部门、人员控件只绑定id逻辑
## v7.0.0-alpha.16 [2020-8-2] ## v7.0.0-alpha.16 [2020-8-2]
### Bug修复 ### Bug修复
......
...@@ -18,7 +18,7 @@ export default class AuthService { ...@@ -18,7 +18,7 @@ export default class AuthService {
public $store: Store<any> | null = null; public $store: Store<any> | null = null;
/** /**
* 默认操作 * 默认操作标识
* *
* @public * @public
* @type {(any)} * @type {(any)}
......
...@@ -103,7 +103,7 @@ export default class AppDepartmentSelect extends Vue { ...@@ -103,7 +103,7 @@ export default class AppDepartmentSelect extends Vue {
* @type {*} * @type {*}
* @memberof AppDepartmentSelect * @memberof AppDepartmentSelect
*/ */
public oldurl: any[] = []; public oldurl: any;
/** /**
* 获取节点数据 * 获取节点数据
...@@ -136,14 +136,14 @@ export default class AppDepartmentSelect extends Vue { ...@@ -136,14 +136,14 @@ export default class AppDepartmentSelect extends Vue {
} }
this.oldurl = _url; this.oldurl = _url;
// 缓存机制 // 缓存机制
const result:any = this.$store.getters.getDepData(this.filter); const result:any = this.$store.getters.getDepData(_url);
if(result){ if(result){
this.Nodesdata = result; this.Nodesdata = result;
return; return;
} }
this.$http.get(_url).then((response: any) => { this.$http.get(_url).then((response: any) => {
this.Nodesdata = response.data; this.Nodesdata = response.data;
this.$store.commit('addDepData', { srfkey: this.filter, depData: response.data }); this.$store.commit('addDepData', { srfkey: _url, depData: response.data });
}).catch((response: any) => { }).catch((response: any) => {
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.error') as string), desc: (this.$t('app.commonWords.sysException') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.error') as string), desc: (this.$t('app.commonWords.sysException') as string) });
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop, Watch } from 'vue-property-decorator'; import { Component, Vue, Prop, Watch } from 'vue-property-decorator';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import CodeListService from '@/service/app/codelist-service';
@Component({}) @Component({})
export default class AppGroupSelect extends Vue { export default class AppGroupSelect extends Vue {
...@@ -64,6 +65,20 @@ export default class AppGroupSelect extends Vue { ...@@ -64,6 +65,20 @@ export default class AppGroupSelect extends Vue {
*/ */
@Prop() data: any; @Prop() data: any;
/**
* 代码表标识
*
* @memberof AppGroupSelect
*/
@Prop() public tag?:string;
/**
* 代码表类型
*
* @memberof AppGroupSelect
*/
@Prop() public codelistType?:string;
/** /**
* 过滤属性标识 * 过滤属性标识
* *
...@@ -126,12 +141,12 @@ export default class AppGroupSelect extends Vue { ...@@ -126,12 +141,12 @@ export default class AppGroupSelect extends Vue {
* @type {*} * @type {*}
* @memberof AppGroupSelect * @memberof AppGroupSelect
*/ */
@Watch('value') @Watch('data',{immediate:true,deep:true})
onValueChange(newVal: any) { onValueChange(newVal: any, oldVal: any) {
this.selects = []; this.selects = [];
if (newVal) { if (newVal) {
let item: any = {}; let item: any = {};
item.label = newVal.split(','); item.label = this.data[this.name]?this.data[this.name].split(','):[];
if(this.valueitem) { if(this.valueitem) {
item.id = this.data[this.valueitem] ? this.data[this.valueitem].split(',') : []; item.id = this.data[this.valueitem] ? this.data[this.valueitem].split(',') : [];
} }
...@@ -140,6 +155,7 @@ export default class AppGroupSelect extends Vue { ...@@ -140,6 +155,7 @@ export default class AppGroupSelect extends Vue {
item[this.fillmap[key]] = this.data[key] ? this.data[key].split(',') : []; item[this.fillmap[key]] = this.data[key] ? this.data[key].split(',') : [];
} }
} }
const callback:any = (item:any) =>{
item.label.forEach((val: string, index: number) => { item.label.forEach((val: string, index: number) => {
let _item: any = {}; let _item: any = {};
for(let key in item) { for(let key in item) {
...@@ -148,6 +164,16 @@ export default class AppGroupSelect extends Vue { ...@@ -148,6 +164,16 @@ export default class AppGroupSelect extends Vue {
this.selects.push(_item) this.selects.push(_item)
}) })
} }
if(item.label.length == 0 && item.id.length > 0){
this.fillLabel(item,item.id,(result:any) =>{
item.label = result.label;
callback(item);
});
}else{
callback(item);
}
}
} }
/** /**
...@@ -259,7 +285,6 @@ export default class AppGroupSelect extends Vue { ...@@ -259,7 +285,6 @@ export default class AppGroupSelect extends Vue {
} }
}); });
} else { } else {
item = this.selects.length > 0 ? this.selects[0] : {};
item[this.name] = this.selects.length > 0 ? this.selects[0].label : null; item[this.name] = this.selects.length > 0 ? this.selects[0].label : null;
if(this.valueitem) { if(this.valueitem) {
item[this.valueitem] = this.selects.length > 0 ? this.selects[0].id : null; item[this.valueitem] = this.selects.length > 0 ? this.selects[0].id : null;
...@@ -274,6 +299,33 @@ export default class AppGroupSelect extends Vue { ...@@ -274,6 +299,33 @@ export default class AppGroupSelect extends Vue {
this.$emit('formitemvaluechange', { name: key, value: item[key] }); this.$emit('formitemvaluechange', { name: key, value: item[key] });
} }
} }
/**
* 填充label
*
* @memberof AppGroupSelect
*/
public fillLabel(tempObject:any,valueItem:Array<any>,callback:any){
if(tempObject.label.length === 0 && tempObject.id.length >0 && this.tag && this.codelistType && Object.is(this.codelistType,"DYNAMIC")){
let codeListService:CodeListService = new CodeListService();
codeListService.getItems(this.tag).then((items:any) =>{
if(items && items.length >0 && valueItem.length >0){
let tempLabel:Array<any> = [];
valueItem.forEach((value:any) =>{
let result:any = items.find((item:any) =>{
return item.id === value;
})
tempLabel.push(result.label);
})
Object.assign(tempObject,{label:tempLabel});
}
callback(tempObject);
}).catch((error:any) =>{
console.log(error);
})
}
}
} }
</script> </script>
......
.app-picker { .app-upicker {
width: 100%; width: 100%;
.el-select { .el-select {
.el-input__suffix { .el-input__suffix {
right: 20px; display: none;
} }
} }
.text-value { .text-value {
......
...@@ -193,19 +193,19 @@ export default class EditViewEngine extends ViewEngine { ...@@ -193,19 +193,19 @@ export default class EditViewEngine extends ViewEngine {
*/ */
public setTabCaption(info: string,isNew:boolean): void { public setTabCaption(info: string,isNew:boolean): void {
let viewdata: any = this.view.model; let viewdata: any = this.view.model;
let index:number = viewdata.srfTitle.indexOf("-"); let index:number = viewdata.srfCaption.indexOf("-");
if (viewdata && info && !Object.is(info, '')) { if (viewdata && info && !Object.is(info, '')) {
if(index !== -1){ if(index !== -1){
viewdata.srfTitle = viewdata.srfTitle.substr(0,index); viewdata.srfCaption = viewdata.srfCaption.substr(0,index);
} }
// 解决表格视图标题问题 // 解决表格视图标题问题
if(this.view.$tabPageExp && this.view.viewDefaultUsage){ if(this.view.$tabPageExp && this.view.viewDefaultUsage){
this.view.$tabPageExp.setCurPageCaption(this.view.$t(viewdata.srfTitle), this.view.$t(viewdata.srfTitle), info); this.view.$tabPageExp.setCurPageCaption(this.view.$t(viewdata.srfCaption), this.view.$t(viewdata.srfCaption), info);
} }
if(this.view.$route){ if(this.view.$route){
this.view.$route.meta.info = info; this.view.$route.meta.info = info;
} }
this.view.model.srfTitle = `${this.view.$t(viewdata.srfTitle)}-${viewdata.dataInfo}`; this.view.model.srfCaption = `${this.view.$t(viewdata.srfCaption)}-${viewdata.dataInfo}`;
this.view.initNavDataWithRoute(null,isNew); this.view.initNavDataWithRoute(null,isNew);
} }
} }
......
...@@ -192,6 +192,7 @@ export default { ...@@ -192,6 +192,7 @@ export default {
back: "Back", back: "Back",
next: "Next", next: "Next",
complete: "Complete", complete: "Complete",
preactionmessage:"The calculation of the previous behavior is not configured"
}, },
viewLayoutPanel: { viewLayoutPanel: {
appLogoutView: { appLogoutView: {
......
...@@ -191,6 +191,7 @@ export default { ...@@ -191,6 +191,7 @@ export default {
back: "上一步", back: "上一步",
next: "下一步", next: "下一步",
complete: "完成", complete: "完成",
preactionmessage:"未配置计算上一步行为"
}, },
viewLayoutPanel: { viewLayoutPanel: {
appLogoutView: { appLogoutView: {
......
<template> <template>
<div class="view-container deeditview sdfile-edit-view"> <div class="view-container deeditview sdfile-edit-view">
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="sdfileeditview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="sdfileeditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false"> <card class='view-card ' :disHover="true" :bordered="false">
<div slot='title' class="header-container"> <div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span> <span class='caption-info'>{{$t(model.srfCaption)}}</span>
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)"> <i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
...@@ -555,7 +555,7 @@ export default class SDFileEditViewBase extends Vue { ...@@ -555,7 +555,7 @@ export default class SDFileEditViewBase extends Vue {
*/ */
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){ public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'sdfile-edit-view',tag:this.viewtag,srfkey:isNew ? null : this.context.sdfile,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath}); this.navDataService.addNavData({id:'sdfile-edit-view',tag:this.viewtag,srfkey:isNew ? null : this.context.sdfile,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
} }
} }
...@@ -566,7 +566,7 @@ export default class SDFileEditViewBase extends Vue { ...@@ -566,7 +566,7 @@ export default class SDFileEditViewBase extends Vue {
*/ */
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){ public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'sdfile-edit-view',tag:this.viewtag,srfkey:this.context.sdfile,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd); this.navDataService.addNavDataByOnly({id:'sdfile-edit-view',tag:this.viewtag,srfkey:this.context.sdfile,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
} }
} }
......
<template> <template>
<div class='view-container degridview sdfile-grid-view'> <div class='view-container degridview sdfile-grid-view'>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="sdfilegridview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="sdfilegridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false"> <card class='view-card ' :dis-hover="true" :bordered="false">
<div slot='title' class="header-container"> <div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span> <span class='caption-info'>{{$t(model.srfCaption)}}</span>
</div> </div>
<div class='content-container'> <div class='content-container'>
<div class='view-top-messages'> <div class='view-top-messages'>
...@@ -589,7 +589,7 @@ export default class SDFileGridViewBase extends Vue { ...@@ -589,7 +589,7 @@ export default class SDFileGridViewBase extends Vue {
*/ */
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){ public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'sdfile-grid-view',tag:this.viewtag,srfkey:isNew ? null : this.context.sdfile,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath}); this.navDataService.addNavData({id:'sdfile-grid-view',tag:this.viewtag,srfkey:isNew ? null : this.context.sdfile,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
} }
} }
...@@ -600,7 +600,7 @@ export default class SDFileGridViewBase extends Vue { ...@@ -600,7 +600,7 @@ export default class SDFileGridViewBase extends Vue {
*/ */
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){ public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'sdfile-grid-view',tag:this.viewtag,srfkey:this.context.sdfile,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd); this.navDataService.addNavDataByOnly({id:'sdfile-grid-view',tag:this.viewtag,srfkey:this.context.sdfile,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
} }
} }
......
...@@ -25,7 +25,7 @@ const router = new Router({ ...@@ -25,7 +25,7 @@ const router = new Router({
}); });
}, },
meta: { meta: {
caption: 'app.views.sdindexview.title', caption: 'app.views.sdindexview.caption',
info:'', info:'',
viewType: 'APPINDEX', viewType: 'APPINDEX',
parameters: [ parameters: [
...@@ -38,7 +38,7 @@ const router = new Router({ ...@@ -38,7 +38,7 @@ const router = new Router({
{ {
path: 'sdfiles/:sdfile?/gridview/:gridview?', path: 'sdfiles/:sdfile?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.sdfile.views.gridview.title', caption: 'entities.sdfile.views.gridview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdindexview', parameterName: 'sdindexview' }, { pathName: 'sdindexview', parameterName: 'sdindexview' },
...@@ -52,7 +52,7 @@ const router = new Router({ ...@@ -52,7 +52,7 @@ const router = new Router({
{ {
path: 'sdfiles/:sdfile?/editview/:editview?', path: 'sdfiles/:sdfile?/editview/:editview?',
meta: { meta: {
caption: 'entities.sdfile.views.editview.title', caption: 'entities.sdfile.views.editview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdindexview', parameterName: 'sdindexview' }, { pathName: 'sdindexview', parameterName: 'sdindexview' },
...@@ -69,7 +69,7 @@ const router = new Router({ ...@@ -69,7 +69,7 @@ const router = new Router({
{ {
path: '/sdfiles/:sdfile?/gridview/:gridview?', path: '/sdfiles/:sdfile?/gridview/:gridview?',
meta: { meta: {
caption: 'entities.sdfile.views.gridview.title', caption: 'entities.sdfile.views.gridview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
...@@ -82,7 +82,7 @@ const router = new Router({ ...@@ -82,7 +82,7 @@ const router = new Router({
{ {
path: '/sdfiles/:sdfile?/editview/:editview?', path: '/sdfiles/:sdfile?/editview/:editview?',
meta: { meta: {
caption: 'entities.sdfile.views.editview.title', caption: 'entities.sdfile.views.editview.caption',
info:'', info:'',
parameters: [ parameters: [
{ pathName: 'sdfiles', parameterName: 'sdfile' }, { pathName: 'sdfiles', parameterName: 'sdfile' },
......
...@@ -412,7 +412,7 @@ export default class SDIndexViewBase extends Vue { ...@@ -412,7 +412,7 @@ export default class SDIndexViewBase extends Vue {
*/ */
public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){ public initNavDataWithRoute(data:any = null, isNew:boolean = false, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && Object.is(this.navModel,"route")) ){
this.navDataService.addNavData({id:'sdindex-view',tag:this.viewtag,srfkey:isNew ? null : null,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath}); this.navDataService.addNavData({id:'sdindex-view',tag:this.viewtag,srfkey:isNew ? null : null,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
} }
} }
...@@ -423,7 +423,7 @@ export default class SDIndexViewBase extends Vue { ...@@ -423,7 +423,7 @@ export default class SDIndexViewBase extends Vue {
*/ */
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){ public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true, isAlways:boolean = false){
if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){ if( isAlways || (this.viewDefaultUsage && !Object.is(this.navModel,"route")) ){
this.navDataService.addNavDataByOnly({id:'sdindex-view',tag:this.viewtag,srfkey:null,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd); this.navDataService.addNavDataByOnly({id:'sdindex-view',tag:this.viewtag,srfkey:null,title:this.$t(this.model.srfCaption),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
} }
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
:disabled="detailsModel.n_filename_like.disabled" :disabled="detailsModel.n_filename_like.disabled"
type='text' type='text'
style="width:100px;"> style="">
</input-box> </input-box>
</app-form-item> </app-form-item>
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
</i-col> </i-col>
</row> </row>
</i-form> </i-form>
</template> </template>
<script lang='tsx'> <script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator'; import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
......
...@@ -776,6 +776,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -776,6 +776,9 @@ export default class MainBase extends Vue implements ControlInterface {
if(!falg.hasOwnProperty("isPast")){ if(!falg.hasOwnProperty("isPast")){
falg.isPast = true; falg.isPast = true;
} }
if(!this.data[name]){
falg.isPast = true;
}
return falg; return falg;
} }
...@@ -1459,6 +1462,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1459,6 +1462,9 @@ export default class MainBase extends Vue implements ControlInterface {
if (Object.is('refresh', action)) { if (Object.is('refresh', action)) {
this.refresh(data); this.refresh(data);
} }
if (Object.is('panelaction', action)) {
this.panelAction(data.action,data.emitAction,data);
}
}); });
} }
this.dataChang this.dataChang
...@@ -1950,6 +1956,50 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1950,6 +1956,50 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 面板行为
*
* @param {string} [action] 调用的实体行为
* @param {string} [emitAction] 抛出行为
* @param {*} [data={}] 传入数据
* @param {boolean} [showloading] 是否显示加载状态
*
* @memberof MainBase
*/
public panelAction(action:string,emitAction:string,data:any ={},showloading?:boolean):void{
if (!action || (action && Object.is(action, ''))) {
return;
}
const arg: any = { ...data };
const formdata = this.getValues();
Object.assign(arg, formdata);
Object.assign(arg,this.viewparams);
const post: Promise<any> = this.service.frontLogic(action,JSON.parse(JSON.stringify(this.context)),arg, showloading);
post.then((response: any) => {
if (!response.status || response.status !== 200) {
if (response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
}
return;
}
const data = response.data;
this.onFormLoad(data,emitAction);
this.$emit(emitAction, data);
this.$nextTick(() => {
this.formState.next({ type: emitAction, data: data });
});
}).catch((response: any) => {
if (response && response.status && response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
return;
}
});
}
/** /**
* 表单项更新 * 表单项更新
* *
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
height: 100%; height: 100%;
display:flex; display:flex;
flex-direction: column; flex-direction: column;
justify-content: start; justify-content: flex-start;
.el-table__row{ .el-table__row{
.grid-uiaction-divider { .grid-uiaction-divider {
padding:0 10px 0 10px; padding:0 10px 0 10px;
...@@ -66,6 +66,15 @@ ...@@ -66,6 +66,15 @@
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
.el-table__header-wrapper{
display: contents;
}
.el-table__body-wrapper{
height: auto !important;
}
.el-table__footer-wrapper{
display: contents;
}
} }
.grid-pagination { .grid-pagination {
height: 50px; height: 50px;
......
...@@ -4,9 +4,9 @@ public class DTOClient extends DTOBase { ...@@ -4,9 +4,9 @@ public class DTOClient extends DTOBase {
@Override @Override
public void modify(String field,Object val) { public void modify(String field,Object val) {
getExtensionparams().put("dirtyflagenable",true);
if(val==null){ if(val==null){
this.getFocusNull().add(field.toLowerCase()); this.getFocusNull().add(field.toLowerCase());
getExtensionparams().put("dirtyflagenable",true);
getExtensionparams().put(field.toLowerCase()+"dirtyflag",true); getExtensionparams().put(field.toLowerCase()+"dirtyflag",true);
} }
else{ else{
......
...@@ -30,6 +30,9 @@ public class PermissionSyncJob implements ApplicationRunner { ...@@ -30,6 +30,9 @@ public class PermissionSyncJob implements ApplicationRunner {
@Value("${ibiz.systemid:ibzdisk}") @Value("${ibiz.systemid:ibzdisk}")
private String systemId; private String systemId;
@Value("${ibiz.systemname:ibzdisk}")
private String systemName;
@Override @Override
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
...@@ -39,7 +42,7 @@ public class PermissionSyncJob implements ApplicationRunner { ...@@ -39,7 +42,7 @@ public class PermissionSyncJob implements ApplicationRunner {
String permissionResult = IOUtils.toString(permission,"UTF-8"); String permissionResult = IOUtils.toString(permission,"UTF-8");
JSONObject system= new JSONObject(); JSONObject system= new JSONObject();
system.put("pssystemid",systemId); system.put("pssystemid",systemId);
system.put("pssystemname",systemId); system.put("pssystemname",systemName);
system.put("sysstructure",JSONObject.parseObject(permissionResult)); system.put("sysstructure",JSONObject.parseObject(permissionResult));
system.put("md5check",DigestUtils.md5DigestAsHex(permissionResult.getBytes())); system.put("md5check",DigestUtils.md5DigestAsHex(permissionResult.getBytes()));
if(client.syncSysAuthority(system)){ if(client.syncSysAuthority(system)){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册