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

ibiz4j 发布系统代码 [ibz-wf,统一工作流]

上级 73b15d48
## v7.0.0-alpha.21 [2020-10-31]
### Bug修复
修复视图类型门户部件通知嵌入视图刷新问题
修复表格行编辑传值无效和设置表格行编辑禁用无效问题
修复表格列触发行为权限控制无效问题
修复表格导出代码表转化问题
修复行编辑时合并行主键到上下文中
修复多表单编辑视图(部件视图)临时模式异常问题
修复修复表单值规则异常问题
### 功能新增及优化
#### 模板
新增导航类部件快速搜索栏提示
新增分页导航面板主状态逻辑
新增图片预览(可旋转)控件
新增多数据部件无值显示内容适配
新增分页导航视图工具栏权限状态逻辑
新增适配界面行为中显示处理
新增支持是否支持实体主状态属性
优化列表加载、刷新逻辑
优化直接内容项组件
优化甘特图部件和树表格部件加载逻辑
优化后台界面行为异常处理逻辑
优化分页导航面板切换分页刷新逻辑
优化树导航视图树节点刷新逻辑
优化表单更新项传入调用方法名称
优化行编辑值校验错误信息提示
#### 基础文件
新增图片预览(可旋转)控件
新增计算分页导航视图工具栏权限状态逻辑
新增支持是否支持实体主状态逻辑
新增切换组织部门功能
优化数据选择下拉控件(下拉列表宽度和编辑器宽度保持一致)
优化直接内容项组件
修复数据选择无值抛出null
修复登录完成user存储到localStorage
修复表格值为0不显示问题
## v7.0.0-alpha.20 [2020-10-18] ## v7.0.0-alpha.20 [2020-10-18]
### Bug修复 ### Bug修复
......
...@@ -97,6 +97,7 @@ import AppFormPart from './components/app-form-part/app-form-part.vue' ...@@ -97,6 +97,7 @@ import AppFormPart from './components/app-form-part/app-form-part.vue'
import AppAlert from './components/app-alert/app-alert.vue' import AppAlert from './components/app-alert/app-alert.vue'
import AppAlertGroup from './components/app-alert-group/app-alert-group.vue' import AppAlertGroup from './components/app-alert-group/app-alert-group.vue'
import AppRawItem from './components/app-rawitem/app-rawitem.vue' import AppRawItem from './components/app-rawitem/app-rawitem.vue'
import AppImageRomate from './components/app-image-romate/app-image-romate.vue'
// 全局挂载UI实体服务注册中心 // 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister; window['uiServiceRegister'] = uiServiceRegister;
...@@ -209,5 +210,6 @@ export const AppComponents = { ...@@ -209,5 +210,6 @@ export const AppComponents = {
v.component('app-alert', AppAlert); v.component('app-alert', AppAlert);
v.component('app-alert-group', AppAlertGroup); v.component('app-alert-group', AppAlertGroup);
v.component('app-rawitem',AppRawItem); v.component('app-rawitem',AppRawItem);
v.component('app-image-romate', AppImageRomate)
}, },
}; };
\ No newline at end of file
...@@ -100,6 +100,8 @@ export default class AppActionBar extends Vue { ...@@ -100,6 +100,8 @@ export default class AppActionBar extends Vue {
* @memberof AppActionBar * @memberof AppActionBar
*/ */
public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){ public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){
if(!UIService.isEnableDEMainState)
return;
for (const key in ActionModel) { for (const key in ActionModel) {
if (!ActionModel.hasOwnProperty(key)) { if (!ActionModel.hasOwnProperty(key)) {
return; return;
......
...@@ -279,7 +279,7 @@ export default class AppColumnLink extends Vue { ...@@ -279,7 +279,7 @@ export default class AppColumnLink extends Vue {
if (result.datas && Array.isArray(result.datas)) { if (result.datas && Array.isArray(result.datas)) {
Object.assign(item, result.datas[0]); Object.assign(item, result.datas[0]);
} }
console.log(item); this.$emit('refresh',item);
} }
/** /**
......
...@@ -158,6 +158,8 @@ export default class AppFormGroup extends Vue { ...@@ -158,6 +158,8 @@ export default class AppFormGroup extends Vue {
* @memberof AppFormGroup * @memberof AppFormGroup
*/ */
public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){ public calcActionItemAuthState(data:any,ActionModel:any,UIService:any){
if(!UIService.isEnableDEMainState)
return;
for (const key in ActionModel) { for (const key in ActionModel) {
if (!ActionModel.hasOwnProperty(key)) { if (!ActionModel.hasOwnProperty(key)) {
return; return;
......
...@@ -47,7 +47,7 @@ export default class AppFormatData extends Vue { ...@@ -47,7 +47,7 @@ export default class AppFormatData extends Vue {
* @memberof AppFormatData * @memberof AppFormatData
*/ */
getcurValue(){ getcurValue(){
if(this.data){ if(this.data || this.data == 0){
if(Object.is(this.dataType,"DECIMAL") || Object.is(this.dataType,"FLOAT") || Object.is(this.dataType,"CURRENCY")){ if(Object.is(this.dataType,"DECIMAL") || Object.is(this.dataType,"FLOAT") || Object.is(this.dataType,"CURRENCY")){
let number = Number(this.data); let number = Number(this.data);
let precision = Number(this.precision); let precision = Number(this.precision);
......
<template>
<div class='app-image-preview'>
<el-image :src="data[name]" :previewSrcList="previewList" :disabled="disabled">
</el-image>
</div>
</template>
<script lang = 'ts'>
import { Vue, Component, Prop, Watch, Provide } from 'vue-property-decorator';
import { Subject, Unsubscribable } from 'rxjs';
@Component({})
export default class AppImageRomate extends Vue {
/**
* 表单状态
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public formState: any;
/**
* 图片数据
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public data!: any;
/**
* 字段名
*
* @type {any}
* @memberof AppImageRomate
*/
@Prop() public name: any;
/**
* 禁用状态
*
* @type {boolean}
* @memberof AppImageRomate
*/
@Prop() public disabled: boolean = false;
/**
* 预览图片数组
*
* @type {boolean}
* @memberof AppImageRomate
*/
public previewList:Array<any> = [];
/**
* 表单状态事件
*
* @private
* @type {(Unsubscribable | undefined)}
* @memberof AppImageUpload
*/
private formStateEvent: Unsubscribable | undefined;
/**
* Vue生命周期
*
* @type {boolean}
* @memberof AppImageRomate
*/
public created() {
if (this.formState) {
this.formStateEvent = this.formState.subscribe(($event: any) => {
// 表单加载完成
if(this.data && this.name) {
this.handleData();
}
});
}
}
/**
* 数据处理
*
* @type {boolean}
* @memberof AppImageRomate
*/
public handleData() {
this.previewList.push(this.data[this.name]);
}
/**
* 组件销毁
*
* @memberof AppImageRomate
*/
public destroyed(): void {
if (this.formStateEvent) {
this.formStateEvent.unsubscribe();
}
}
}
</script>
\ No newline at end of file
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
</div> </div>
</template> </template>
<script lang = 'ts'> <script lang = 'ts'>
import { Http } from '@/utils/http/http';
import { Vue, Component, Inject } from "vue-property-decorator"; import { Vue, Component, Inject } from "vue-property-decorator";
@Component({}) @Component({})
...@@ -110,17 +111,33 @@ export default class AppOrgSector extends Vue { ...@@ -110,17 +111,33 @@ export default class AppOrgSector extends Vue {
let item: any = this.selectedOrgArray.find((_item: any) => { let item: any = this.selectedOrgArray.find((_item: any) => {
return _item.srforgsectorid === data; return _item.srforgsectorid === data;
}); });
if (item.srforgsectorid && item.srforgsectorname) { this.switchDepartment(data).then((response:any) =>{
this.selectedOrgId = item.srforgsectorid; if (response.status == 200) {
this.selectedOrgName = item.srforgsectorname; if (item.srforgsectorid && item.srforgsectorname) {
this.reload(); this.selectedOrgId = item.srforgsectorid;
this.selectedOrgName = item.srforgsectorname;
}
this.updateStoreOrgData(item);
this.reload();
}else{
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data?response.data.message:(this.$t('components.appOrgSector.errorSwitch') as string) });
}
}).catch((error:any) =>{
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('components.appOrgSector.errorSwitch') as string) });
})
}
} /**
this.updateStoreOrgData(item); * 调用远端切换部门接口
*
* @memberof AppOrgSector
*/
public async switchDepartment(data:any){
return await Http.getInstance().post(`/oumaps/switch`,data,false);
} }
/** /**
* 更新仓库Org信息 * 更新仓库部门信息
* *
* @memberof AppOrgSector * @memberof AppOrgSector
*/ */
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</div> </div>
<div v-else-if="Object.is(editortype, 'dropdown')" class='app-picker'> <div v-else-if="Object.is(editortype, 'dropdown')" class='app-picker'>
<el-select ref="appPicker" remote :remote-method="(query) => this.onSearch(query, null, true)" :value="refvalue" size='small' filterable <el-select ref="appPicker" remote :remote-method="(query) => this.onSearch(query, null, true)" :value="refvalue" size='small' filterable
@change="onSelect" :disabled="disabled" style='width:100%;' clearable @change="onSelect" :disabled="disabled" style='width:100%;' clearable popper-class="app-picker-dropdown"
@clear="onClear" @visible-change="onSelectOpen"> @clear="onClear" @visible-change="onSelectOpen">
<template v-if="items"> <template v-if="items">
<template v-for="_item in items"> <template v-for="_item in items">
...@@ -260,6 +260,14 @@ export default class AppPicker extends Vue { ...@@ -260,6 +260,14 @@ export default class AppPicker extends Vue {
*/ */
public selectValue = this.value; public selectValue = this.value;
/**
* 下拉列表节点元素
*
* @type {*}
* @memberof AppPicker
*/
public dropdownDom:any = {};
/** /**
* 获取关联数据项值 * 获取关联数据项值
* *
...@@ -314,6 +322,8 @@ export default class AppPicker extends Vue { ...@@ -314,6 +322,8 @@ export default class AppPicker extends Vue {
* @memberof AppPicker * @memberof AppPicker
*/ */
public mounted() { public mounted() {
const dropdownDom:any = this.$el.getElementsByClassName('app-picker-dropdown')[0];
this.dropdownDom = dropdownDom;
} }
/** /**
...@@ -331,10 +341,22 @@ export default class AppPicker extends Vue { ...@@ -331,10 +341,22 @@ export default class AppPicker extends Vue {
public onSelectOpen(flag: boolean): void { public onSelectOpen(flag: boolean): void {
this.open = flag; this.open = flag;
if (this.open) { if (this.open) {
//设置下拉列表的最大宽度
this.setDropdownWidth();
this.onSearch(this.curvalue, null, true); this.onSearch(this.curvalue, null, true);
} }
} }
/**
* 设置下拉列表最大宽度使下拉列表宽度和编辑器宽度一致
*
* @memberof AppPicker
*/
public setDropdownWidth(){
const elInput:any = this.$el.getElementsByClassName('el-input__inner')[0];
this.dropdownDom.style.maxWidth = elInput.offsetWidth+'px';
}
/** /**
* 执行搜索数据 * 执行搜索数据
* @param query * @param query
...@@ -434,10 +456,10 @@ export default class AppPicker extends Vue { ...@@ -434,10 +456,10 @@ export default class AppPicker extends Vue {
*/ */
public onClear($event: any): void { public onClear($event: any): void {
if (this.valueitem) { if (this.valueitem) {
this.$emit('formitemvaluechange', { name: this.valueitem, value: '' }); this.$emit('formitemvaluechange', { name: this.valueitem, value: null });
} }
if (this.name) { if (this.name) {
this.$emit('formitemvaluechange', { name: this.name, value: '' }); this.$emit('formitemvaluechange', { name: this.name, value: null });
} }
this.fillPickUpData(); this.fillPickUpData();
this.$forceUpdate(); this.$forceUpdate();
......
<template> <template>
<div> <div :style="sizeStyle">
<span v-if="caption">{{caption}}</span> <span>{{caption}}</span>
<div :class="contentStyle" :style="sizeStyle"> <div v-if="Object.is(contentType,'RAW')" :class="contentStyle">
<template v-if="Object.is(contentType,'RAW')"> <slot></slot>
{{rawContent ? rawContent : ''}} </div>
</template> <div v-else-if="Object.is(contentType,'HTML')" :class="contentStyle" v-html="htmlContent" />
<template v-else-if="Object.is(contentType,'HTML')"> <div v-else-if="Object.is(contentType,'IMAGE')" :class="contentStyle">
{{htmlContent ? htmlContent : ''}} <i :class="imageClass ? imageClass : ''"></i>
</template>
<template v-else-if="Object.is(contentType,'IMAGE')">
<i :class="imageClass ? imageClass : ''"></i>
</template>
</div> </div>
</div> </div>
</template> </template>
...@@ -22,20 +18,28 @@ import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator"; ...@@ -22,20 +18,28 @@ import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
export default class AppRawItem extends Vue { export default class AppRawItem extends Vue {
/** /**
* 内容类型 * 应用上下文
* *
* @type {string} * @type {string}
* @memberof AppRawItem * @memberof AppRawItem
*/ */
@Prop() public contentType!: string; @Prop() public context!: any;
/** /**
* 直接内容 * 视图参数
* *
* @type {strin} * @type {string}
* @memberof AppRawItem * @memberof AppRawItem
*/ */
@Prop() public rawContent?: string; @Prop() public viewparams!: any;
/**
* 内容类型
*
* @type {string}
* @memberof AppRawItem
*/
@Prop() public contentType!: string;
/** /**
* html内容 * html内容
...@@ -46,7 +50,7 @@ export default class AppRawItem extends Vue { ...@@ -46,7 +50,7 @@ export default class AppRawItem extends Vue {
@Prop() public htmlContent?: string; @Prop() public htmlContent?: string;
/** /**
* html内容 * 图片
* *
* @type {strin} * @type {strin}
* @memberof AppRawItem * @memberof AppRawItem
......
...@@ -183,6 +183,9 @@ export default class Login extends Vue { ...@@ -183,6 +183,9 @@ export default class Login extends Vue {
localStorage.setItem('token', data.token); localStorage.setItem('token', data.token);
this.setCookie('ibzuaa-token',data.token,0); this.setCookie('ibzuaa-token',data.token,0);
} }
if(data && data.user){
localStorage.setItem('user', JSON.stringify(data.user));
}
// 设置cookie,保存账号密码7天 // 设置cookie,保存账号密码7天
this.setCookie("loginname",loginname, 7); this.setCookie("loginname",loginname, 7);
// 跳转首页 // 跳转首页
......
...@@ -44,4 +44,14 @@ export default class TabExpViewEngine extends ViewEngine { ...@@ -44,4 +44,14 @@ export default class TabExpViewEngine extends ViewEngine {
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context }); this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
}); });
} }
/**
* 计算按钮状态
*
* @memberof TabExpViewEngine
*/
public computeToolbarState(state:boolean,data:any){
this.calcToolbarItemState(state);
this.calcToolbarItemAuthState(data);
}
} }
\ No newline at end of file
...@@ -187,6 +187,8 @@ export default class ViewEngine { ...@@ -187,6 +187,8 @@ export default class ViewEngine {
*/ */
public calcToolbarItemAuthState(data:any){ public calcToolbarItemAuthState(data:any){
const _this: any = this; const _this: any = this;
if(!_this.view.appUIService.isEnableDEMainState)
return;
for (const key in _this.view.toolBarModels) { for (const key in _this.view.toolBarModels) {
if (!_this.view.toolBarModels.hasOwnProperty(key)) { if (!_this.view.toolBarModels.hasOwnProperty(key)) {
return; return;
......
...@@ -44,7 +44,6 @@ export default { ...@@ -44,7 +44,6 @@ export default {
show: "Show", show: "Show",
records: "records", records: "records",
totle: "totle", totle: "totle",
noData: "No data",
valueVail: "Value cannot be empty", valueVail: "Value cannot be empty",
group:"Group", group:"Group",
other:"Other", other:"Other",
......
...@@ -44,7 +44,6 @@ export default { ...@@ -44,7 +44,6 @@ export default {
show: "显示", show: "显示",
records: "条", records: "条",
totle: "共", totle: "共",
noData: "无数据",
valueVail: "值不能为空", valueVail: "值不能为空",
group:"分组", group:"分组",
other:"其他", other:"其他",
......
...@@ -11,6 +11,10 @@ export default { ...@@ -11,6 +11,10 @@ export default {
indexPage: 'home page', indexPage: 'home page',
continue: 'to continue browsing', continue: 'to continue browsing',
}, },
appOrgSector:{
successSwitch:'The switch was successful',
errorSwitch:'The switchover failed',
},
appAutocomplete: { appAutocomplete: {
error: 'Error', error: 'Error',
miss: 'Missing parameter ', miss: 'Missing parameter ',
......
...@@ -11,6 +11,10 @@ export default { ...@@ -11,6 +11,10 @@ export default {
indexPage: '首页', indexPage: '首页',
continue: '继续浏览', continue: '继续浏览',
}, },
appOrgSector:{
successSwitch:'切换成功',
errorSwitch:'切换失败',
},
appAutocomplete: { appAutocomplete: {
error: '错误', error: '错误',
miss: '缺少参数', miss: '缺少参数',
......
...@@ -52,6 +52,7 @@ export default { ...@@ -52,6 +52,7 @@ export default {
groupname: "组名称", groupname: "组名称",
groupscope: "范围", groupscope: "范围",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -51,6 +51,7 @@ export default { ...@@ -51,6 +51,7 @@ export default {
groupname: "组名称", groupname: "组名称",
groupscope: "范围", groupscope: "范围",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -51,6 +51,7 @@ export default { ...@@ -51,6 +51,7 @@ export default {
mdeptname: "主部门", mdeptname: "主部门",
groupname: "用户组", groupname: "用户组",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -50,6 +50,7 @@ export default { ...@@ -50,6 +50,7 @@ export default {
mdeptname: "主部门", mdeptname: "主部门",
groupname: "用户组", groupname: "用户组",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -55,6 +55,7 @@ export default { ...@@ -55,6 +55,7 @@ export default {
modelversion: "模型版本", modelversion: "模型版本",
modelenable: "模型是否启用", modelenable: "模型是否启用",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -54,6 +54,7 @@ export default { ...@@ -54,6 +54,7 @@ export default {
modelversion: "模型版本", modelversion: "模型版本",
modelenable: "模型是否启用", modelenable: "模型是否启用",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -53,6 +53,7 @@ export default { ...@@ -53,6 +53,7 @@ export default {
taskdefinitionkey: "TaskDefinitionKey", taskdefinitionkey: "TaskDefinitionKey",
taskid: "任务标识", taskid: "任务标识",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -52,6 +52,7 @@ export default { ...@@ -52,6 +52,7 @@ export default {
taskdefinitionkey: "TaskDefinitionKey", taskdefinitionkey: "TaskDefinitionKey",
taskid: "任务标识", taskid: "任务标识",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -60,6 +60,7 @@ export default { ...@@ -60,6 +60,7 @@ export default {
orgname: "单位名称", orgname: "单位名称",
mdeptname: "主部门名称", mdeptname: "主部门名称",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -59,6 +59,7 @@ export default { ...@@ -59,6 +59,7 @@ export default {
orgname: "单位名称", orgname: "单位名称",
mdeptname: "主部门名称", mdeptname: "主部门名称",
}, },
nodata:"",
uiactions: { uiactions: {
}, },
}, },
......
...@@ -274,11 +274,11 @@ export default class WFGroupEditViewBase extends Vue { ...@@ -274,11 +274,11 @@ export default class WFGroupEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -646,7 +646,7 @@ export default class WFGroupEditViewBase extends Vue { ...@@ -646,7 +646,7 @@ export default class WFGroupEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFGroupEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -303,11 +303,11 @@ export default class WFGroupGridViewBase extends Vue { ...@@ -303,11 +303,11 @@ export default class WFGroupGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -680,7 +680,7 @@ export default class WFGroupGridViewBase extends Vue { ...@@ -680,7 +680,7 @@ export default class WFGroupGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFGroupGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -7,60 +7,7 @@ ...@@ -7,60 +7,7 @@
<div class="content-container pickup-view"> <div class="content-container pickup-view">
<div class='view-body-messages'> <div class='view-body-messages'>
</div> </div>
<div class="translate-contant">
<div class="center" :style="{width : !isShowButton ? '100%' : ''}">
<view_pickupviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
name="pickupviewpanel"
ref='pickupviewpanel'
@selectionchange="pickupviewpanel_selectionchange($event)"
@activated="pickupviewpanel_activated($event)"
@load="pickupviewpanel_load($event)"
@closeview="closeView($event)">
</view_pickupviewpanel>
</div>
<div v-if="isShowButton" class="translate-buttons">
<div class="buttons">
<i-button type="primary" :title="this.containerModel.view_rightbtn.text"
:disabled="this.containerModel.view_rightbtn.disabled"
@click="onCLickRight">
<i class="el-icon-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_leftbtn.text"
:disabled="this.containerModel.view_leftbtn.disabled"
@click="onCLickLeft">
<i class="el-icon-arrow-left"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allrightbtn.text"
@click="onCLickAllRight">
<i class="el-icon-d-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allleftbtn.text"
@click="onCLickAllLeft">
<i class="el-icon-d-arrow-left"></i>
</i-button>
</div>
</div>
<div v-if="isShowButton" class="right">
<div class="mpicker-select">
<div v-for="(item, index) in viewSelections" :key="index" :class="item._select ? 'select' : ''" @click="selectionsClick(item)" @dblclick="selectionsDBLClick(item)">
<span>{{item.srfmajortext}}</span>
</div>
</div>
</div>
</div>
<card v-if="isShowButton" :dis-hover="true" :bordered="false" class="footer">
<row :style="{ textAlign: 'right' }">
<i-button type="primary" :disabled="this.viewSelections.length > 0 ? false : true" @click="onClickOk">{{this.containerModel.view_okbtn.text}}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel">{{this.containerModel.view_cancelbtn.text}}</i-button>
</row>
</card>
</div> </div>
<div class='view-bottom-messages'> <div class='view-bottom-messages'>
</div> </div>
...@@ -222,11 +169,11 @@ export default class WFGroupMPickupViewBase extends Vue { ...@@ -222,11 +169,11 @@ export default class WFGroupMPickupViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -550,7 +497,7 @@ export default class WFGroupMPickupViewBase extends Vue { ...@@ -550,7 +497,7 @@ export default class WFGroupMPickupViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFGroupMPickupView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -198,11 +198,11 @@ export default class WFGroupPickupGridViewBase extends Vue { ...@@ -198,11 +198,11 @@ export default class WFGroupPickupGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -533,7 +533,7 @@ export default class WFGroupPickupGridViewBase extends Vue { ...@@ -533,7 +533,7 @@ export default class WFGroupPickupGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFGroupPickupGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -188,11 +188,11 @@ export default class WFGroupPickupViewBase extends Vue { ...@@ -188,11 +188,11 @@ export default class WFGroupPickupViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -516,7 +516,7 @@ export default class WFGroupPickupViewBase extends Vue { ...@@ -516,7 +516,7 @@ export default class WFGroupPickupViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFGroupPickupView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -187,11 +187,11 @@ export default class WFIndexViewBase extends Vue { ...@@ -187,11 +187,11 @@ export default class WFIndexViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -489,7 +489,7 @@ export default class WFIndexViewBase extends Vue { ...@@ -489,7 +489,7 @@ export default class WFIndexViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFIndexView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -274,11 +274,11 @@ export default class WFMemberEditViewBase extends Vue { ...@@ -274,11 +274,11 @@ export default class WFMemberEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -646,7 +646,7 @@ export default class WFMemberEditViewBase extends Vue { ...@@ -646,7 +646,7 @@ export default class WFMemberEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFMemberEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -303,11 +303,11 @@ export default class WFMemberGridViewBase extends Vue { ...@@ -303,11 +303,11 @@ export default class WFMemberGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -680,7 +680,7 @@ export default class WFMemberGridViewBase extends Vue { ...@@ -680,7 +680,7 @@ export default class WFMemberGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFMemberGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -274,11 +274,11 @@ export default class WFProcessDefinitionEditViewBase extends Vue { ...@@ -274,11 +274,11 @@ export default class WFProcessDefinitionEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -646,7 +646,7 @@ export default class WFProcessDefinitionEditViewBase extends Vue { ...@@ -646,7 +646,7 @@ export default class WFProcessDefinitionEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFProcessDefinitionEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -303,11 +303,11 @@ export default class WFProcessDefinitionGridViewBase extends Vue { ...@@ -303,11 +303,11 @@ export default class WFProcessDefinitionGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -680,7 +680,7 @@ export default class WFProcessDefinitionGridViewBase extends Vue { ...@@ -680,7 +680,7 @@ export default class WFProcessDefinitionGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFProcessDefinitionGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -199,11 +199,11 @@ export default class WFREModelEditViewBase extends Vue { ...@@ -199,11 +199,11 @@ export default class WFREModelEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -546,7 +546,7 @@ export default class WFREModelEditViewBase extends Vue { ...@@ -546,7 +546,7 @@ export default class WFREModelEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFREModelEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -274,11 +274,11 @@ export default class WFTaskEditViewBase extends Vue { ...@@ -274,11 +274,11 @@ export default class WFTaskEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -646,7 +646,7 @@ export default class WFTaskEditViewBase extends Vue { ...@@ -646,7 +646,7 @@ export default class WFTaskEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFTaskEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -280,11 +280,11 @@ export default class WFTaskGridViewBase extends Vue { ...@@ -280,11 +280,11 @@ export default class WFTaskGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -647,7 +647,7 @@ export default class WFTaskGridViewBase extends Vue { ...@@ -647,7 +647,7 @@ export default class WFTaskGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFTaskGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -274,11 +274,11 @@ export default class WFUserEditViewBase extends Vue { ...@@ -274,11 +274,11 @@ export default class WFUserEditViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -646,7 +646,7 @@ export default class WFUserEditViewBase extends Vue { ...@@ -646,7 +646,7 @@ export default class WFUserEditViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFUserEditView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -303,11 +303,11 @@ export default class WFUserGridViewBase extends Vue { ...@@ -303,11 +303,11 @@ export default class WFUserGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -680,7 +680,7 @@ export default class WFUserGridViewBase extends Vue { ...@@ -680,7 +680,7 @@ export default class WFUserGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFUserGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -7,60 +7,7 @@ ...@@ -7,60 +7,7 @@
<div class="content-container pickup-view"> <div class="content-container pickup-view">
<div class='view-body-messages'> <div class='view-body-messages'>
</div> </div>
<div class="translate-contant">
<div class="center" :style="{width : !isShowButton ? '100%' : ''}">
<view_pickupviewpanel
:viewState="viewState"
:viewparams="JSON.parse(JSON.stringify(viewparams))"
:context="JSON.parse(JSON.stringify(context))"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
name="pickupviewpanel"
ref='pickupviewpanel'
@selectionchange="pickupviewpanel_selectionchange($event)"
@activated="pickupviewpanel_activated($event)"
@load="pickupviewpanel_load($event)"
@closeview="closeView($event)">
</view_pickupviewpanel>
</div>
<div v-if="isShowButton" class="translate-buttons">
<div class="buttons">
<i-button type="primary" :title="this.containerModel.view_rightbtn.text"
:disabled="this.containerModel.view_rightbtn.disabled"
@click="onCLickRight">
<i class="el-icon-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_leftbtn.text"
:disabled="this.containerModel.view_leftbtn.disabled"
@click="onCLickLeft">
<i class="el-icon-arrow-left"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allrightbtn.text"
@click="onCLickAllRight">
<i class="el-icon-d-arrow-right"></i>
</i-button>
<i-button type="primary" :title="this.containerModel.view_allleftbtn.text"
@click="onCLickAllLeft">
<i class="el-icon-d-arrow-left"></i>
</i-button>
</div>
</div>
<div v-if="isShowButton" class="right">
<div class="mpicker-select">
<div v-for="(item, index) in viewSelections" :key="index" :class="item._select ? 'select' : ''" @click="selectionsClick(item)" @dblclick="selectionsDBLClick(item)">
<span>{{item.srfmajortext}}</span>
</div>
</div>
</div>
</div>
<card v-if="isShowButton" :dis-hover="true" :bordered="false" class="footer">
<row :style="{ textAlign: 'right' }">
<i-button type="primary" :disabled="this.viewSelections.length > 0 ? false : true" @click="onClickOk">{{this.containerModel.view_okbtn.text}}</i-button>
&nbsp;&nbsp;
<i-button @click="onClickCancel">{{this.containerModel.view_cancelbtn.text}}</i-button>
</row>
</card>
</div> </div>
<div class='view-bottom-messages'> <div class='view-bottom-messages'>
</div> </div>
...@@ -222,11 +169,11 @@ export default class WFUserMPickupViewBase extends Vue { ...@@ -222,11 +169,11 @@ export default class WFUserMPickupViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -550,7 +497,7 @@ export default class WFUserMPickupViewBase extends Vue { ...@@ -550,7 +497,7 @@ export default class WFUserMPickupViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFUserMPickupView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -198,11 +198,11 @@ export default class WFUserPickupGridViewBase extends Vue { ...@@ -198,11 +198,11 @@ export default class WFUserPickupGridViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -533,7 +533,7 @@ export default class WFUserPickupGridViewBase extends Vue { ...@@ -533,7 +533,7 @@ export default class WFUserPickupGridViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFUserPickupGridView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -188,11 +188,11 @@ export default class WFUserPickupViewBase extends Vue { ...@@ -188,11 +188,11 @@ export default class WFUserPickupViewBase extends Vue {
@Watch('viewdata') @Watch('viewdata')
onViewData(newVal: any, oldVal: any) { onViewData(newVal: any, oldVal: any) {
const _this: any = this; const _this: any = this;
if (!Object.is(newVal, oldVal) && _this.engine) { if (!Object.is(newVal, oldVal) && _this.engine) {
this.$nextTick(()=>{ this.$nextTick(()=>{
_this.parseViewParam(); _this.parseViewParam();
_this.engine.load(); _this.engine.load();
}); });
} else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) { } else if(!Object.is(newVal, oldVal) && _this.refresh && _this.refresh instanceof Function) {
_this.refresh(); _this.refresh();
...@@ -516,7 +516,7 @@ export default class WFUserPickupViewBase extends Vue { ...@@ -516,7 +516,7 @@ export default class WFUserPickupViewBase extends Vue {
}); });
if(_this.portletState){ if(_this.portletState){
_this.portletStateEvent = _this.portletState.subscribe((res:any) =>{ _this.portletStateEvent = _this.portletState.subscribe((res:any) =>{
if(!Object.is(res.name,'calendar-view9')){ if(!Object.is(res.name,'WFUserPickupView')){
return; return;
} }
if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){ if(Object.is(res.action,'refresh') && _this.refresh && _this.refresh instanceof Function){
......
...@@ -20,6 +20,13 @@ export default class WFGroupUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFGroupUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFGroupUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFMemberUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFMemberUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFMemberUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFProcessDefinitionUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFProcessDefinitionUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFProcessDefinitionUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFREModelUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFREModelUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFREModelUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFSystemUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFSystemUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFSystemUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFTaskUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFTaskUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFTaskUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -20,6 +20,13 @@ export default class WFUserUIServiceBase extends UIService { ...@@ -20,6 +20,13 @@ export default class WFUserUIServiceBase extends UIService {
*/ */
public isEnableWorkflow:boolean = false; public isEnableWorkflow:boolean = false;
/**
* 是否支持实体主状态
*
* @memberof WFUserUIServiceBase
*/
public isEnableDEMainState:boolean = false;
/** /**
* 当前UI服务对应的数据服务对象 * 当前UI服务对应的数据服务对象
* *
......
...@@ -258,7 +258,7 @@ export class ViewTool { ...@@ -258,7 +258,7 @@ export class ViewTool {
return result; return result;
} }
const _item = ActionModel[key]; const _item = ActionModel[key];
if(_item && _item['dataaccaction'] && UIService){ if(_item && _item['dataaccaction'] && UIService && UIService.isEnableDEMainState){
let dataActionResult:any; let dataActionResult:any;
if(Object.is(_item['actiontarget'],"NONE") || Object.is(_item['actiontarget'],"")){ if(Object.is(_item['actiontarget'],"NONE") || Object.is(_item['actiontarget'],"")){
dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']); dataActionResult = UIService.getResourceOPPrivs(_item['dataaccaction']);
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@row-dblclick="rowDBLClick($event)" @row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader"> ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty"> <template slot="empty">
{{$t('app.gridpage.noData')}} {{$t('entities.wfgroup.main_grid.nodata')}}
</template> </template>
<template v-if="!isSingleSelect"> <template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column> <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
...@@ -566,6 +566,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -566,6 +566,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public isDisplay:boolean = true; public isDisplay:boolean = true;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public errorMessages: Array<any> = [];
/** /**
* 部件刷新 * 部件刷新
* *
...@@ -606,6 +614,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -606,6 +614,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'groupname', name: 'groupname',
...@@ -614,6 +623,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -614,6 +623,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'groupscope', name: 'groupscope',
...@@ -622,6 +632,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -622,6 +632,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
] ]
...@@ -732,6 +743,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -732,6 +743,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public async validateAll(){ public async validateAll(){
this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for(let item of this.items){
...@@ -740,6 +752,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -740,6 +752,7 @@ export default class MainBase extends Vue implements ControlInterface {
for(let property of Object.keys(this.rules)){ for(let property of Object.keys(this.rules)){
if(!await this.validate(property,item,index)){ if(!await this.validate(property,item,index)){
validateState = false; validateState = false;
this.errorMessages.push(this.gridItemsModel[index][property].error);
} }
} }
} }
...@@ -1099,7 +1112,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1099,7 +1112,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public getCodelistValue(items: any[], value: any, codelist: any,){ public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){ if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty'); return this.$t('codelist.'+codelist.srfkey+'.empty');
} }
if (items) { if (items) {
...@@ -1674,8 +1687,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1674,8 +1687,16 @@ export default class MainBase extends Vue implements ControlInterface {
} }
} }
} }
if(!await this.validateAll()){ if (!await this.validateAll()) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = '';
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
return []; return [];
} }
let successItems:any = []; let successItems:any = [];
...@@ -1815,9 +1836,11 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1815,9 +1836,11 @@ export default class MainBase extends Vue implements ControlInterface {
if (!mode || (mode && Object.is(mode, ''))) { if (!mode || (mode && Object.is(mode, ''))) {
return; return;
} }
let tempContext: any = this.$util.deepCopy(this.context);
Object.is(tempContext, { wfgroup: data.groupid });
const arg: any = JSON.parse(JSON.stringify(data)); const arg: any = JSON.parse(JSON.stringify(data));
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(this.context)),arg, showloading); const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(tempContext)),arg, showloading);
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) });
...@@ -2058,6 +2081,24 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2058,6 +2081,24 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public getColumnDisabled(data:any,name:string){
if(this.allColumns || Array.isArray(this.allColumns)){
const curColumn:any = this.allColumns.find((item:any) =>{
return item.name === name;
})
if(curColumn.hasOwnProperty('enableCond')){
return data.srfuf == 1 ? (curColumn.enableCond & 2) !== 2 : (curColumn.enableCond & 1) !== 1
}else{
return false;
}
}
}
} }
</script> </script>
......
...@@ -216,7 +216,7 @@ export default class MainService extends ControlService { ...@@ -216,7 +216,7 @@ export default class MainService extends ControlService {
result.then((response) => { result.then((response) => {
//处理返回数据,补充判断标识 //处理返回数据,补充判断标识
if(response.data){ if(response.data){
Object.assign(response.data,{srfuf:0}); Object.assign(response.data,{srfuf:'0'});
} }
resolve(response); resolve(response);
}).catch(response => { }).catch(response => {
...@@ -347,7 +347,7 @@ export default class MainService extends ControlService { ...@@ -347,7 +347,7 @@ export default class MainService extends ControlService {
requestData[item.prop] = context[item.name]; requestData[item.prop] = context[item.name];
} }
}else{ }else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0) || Object.is(data[item.name],"")) ){ if(item && item.isEditable && item.prop && item.name && data.hasOwnProperty(item.name)){
requestData[item.prop] = data[item.name]; requestData[item.prop] = data[item.name];
} }
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@row-dblclick="rowDBLClick($event)" @row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader"> ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty"> <template slot="empty">
{{$t('app.gridpage.noData')}} {{$t('entities.wfmember.main_grid.nodata')}}
</template> </template>
<template v-if="!isSingleSelect"> <template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column> <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
...@@ -578,6 +578,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -578,6 +578,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public isDisplay:boolean = true; public isDisplay:boolean = true;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public errorMessages: Array<any> = [];
/** /**
* 部件刷新 * 部件刷新
* *
...@@ -618,6 +626,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -618,6 +626,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'orgname', name: 'orgname',
...@@ -626,6 +635,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -626,6 +635,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'mdeptname', name: 'mdeptname',
...@@ -634,6 +644,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -634,6 +644,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'groupname', name: 'groupname',
...@@ -642,6 +653,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -642,6 +653,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
] ]
...@@ -752,6 +764,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -752,6 +764,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public async validateAll(){ public async validateAll(){
this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for(let item of this.items){
...@@ -760,6 +773,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -760,6 +773,7 @@ export default class MainBase extends Vue implements ControlInterface {
for(let property of Object.keys(this.rules)){ for(let property of Object.keys(this.rules)){
if(!await this.validate(property,item,index)){ if(!await this.validate(property,item,index)){
validateState = false; validateState = false;
this.errorMessages.push(this.gridItemsModel[index][property].error);
} }
} }
} }
...@@ -1119,7 +1133,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1119,7 +1133,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public getCodelistValue(items: any[], value: any, codelist: any,){ public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){ if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty'); return this.$t('codelist.'+codelist.srfkey+'.empty');
} }
if (items) { if (items) {
...@@ -1695,8 +1709,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1695,8 +1709,16 @@ export default class MainBase extends Vue implements ControlInterface {
} }
} }
} }
if(!await this.validateAll()){ if (!await this.validateAll()) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = '';
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
return []; return [];
} }
let successItems:any = []; let successItems:any = [];
...@@ -1836,9 +1858,10 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1836,9 +1858,10 @@ export default class MainBase extends Vue implements ControlInterface {
if (!mode || (mode && Object.is(mode, ''))) { if (!mode || (mode && Object.is(mode, ''))) {
return; return;
} }
let tempContext: any = this.$util.deepCopy(this.context);
const arg: any = JSON.parse(JSON.stringify(data)); const arg: any = JSON.parse(JSON.stringify(data));
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(this.context)),arg, showloading); const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(tempContext)),arg, showloading);
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) });
...@@ -2079,6 +2102,24 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2079,6 +2102,24 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public getColumnDisabled(data:any,name:string){
if(this.allColumns || Array.isArray(this.allColumns)){
const curColumn:any = this.allColumns.find((item:any) =>{
return item.name === name;
})
if(curColumn.hasOwnProperty('enableCond')){
return data.srfuf == 1 ? (curColumn.enableCond & 2) !== 2 : (curColumn.enableCond & 1) !== 1
}else{
return false;
}
}
}
} }
</script> </script>
......
...@@ -216,7 +216,7 @@ export default class MainService extends ControlService { ...@@ -216,7 +216,7 @@ export default class MainService extends ControlService {
result.then((response) => { result.then((response) => {
//处理返回数据,补充判断标识 //处理返回数据,补充判断标识
if(response.data){ if(response.data){
Object.assign(response.data,{srfuf:0}); Object.assign(response.data,{srfuf:'0'});
} }
resolve(response); resolve(response);
}).catch(response => { }).catch(response => {
...@@ -347,7 +347,7 @@ export default class MainService extends ControlService { ...@@ -347,7 +347,7 @@ export default class MainService extends ControlService {
requestData[item.prop] = context[item.name]; requestData[item.prop] = context[item.name];
} }
}else{ }else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0) || Object.is(data[item.name],"")) ){ if(item && item.isEditable && item.prop && item.name && data.hasOwnProperty(item.name)){
requestData[item.prop] = data[item.name]; requestData[item.prop] = data[item.name];
} }
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@row-dblclick="rowDBLClick($event)" @row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader"> ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty"> <template slot="empty">
{{$t('app.gridpage.noData')}} {{$t('entities.wfprocessdefinition.main_grid.nodata')}}
</template> </template>
<template v-if="!isSingleSelect"> <template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column> <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
...@@ -592,6 +592,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -592,6 +592,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public isDisplay:boolean = true; public isDisplay:boolean = true;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public errorMessages: Array<any> = [];
/** /**
* 部件刷新 * 部件刷新
* *
...@@ -632,6 +640,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -632,6 +640,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'definitionname', name: 'definitionname',
...@@ -640,6 +649,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -640,6 +649,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'pssystemid', name: 'pssystemid',
...@@ -648,6 +658,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -648,6 +658,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'modelversion', name: 'modelversion',
...@@ -656,6 +667,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -656,6 +667,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'modelenable', name: 'modelenable',
...@@ -664,6 +676,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -664,6 +676,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
] ]
...@@ -774,6 +787,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -774,6 +787,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public async validateAll(){ public async validateAll(){
this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for(let item of this.items){
...@@ -782,6 +796,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -782,6 +796,7 @@ export default class MainBase extends Vue implements ControlInterface {
for(let property of Object.keys(this.rules)){ for(let property of Object.keys(this.rules)){
if(!await this.validate(property,item,index)){ if(!await this.validate(property,item,index)){
validateState = false; validateState = false;
this.errorMessages.push(this.gridItemsModel[index][property].error);
} }
} }
} }
...@@ -1110,14 +1125,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1110,14 +1125,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public async formatExcelData(filterVal:any, jsonData:any) { public async formatExcelData(filterVal:any, jsonData:any) {
let codelistColumns:Array<any> = [ let codelistColumns:Array<any> = [
{ {
name: 'modelenable', name: 'modelenable',
srfkey: 'YesNo', srfkey: 'YesNo',
codelistType : 'STATIC', codelistType : 'STATIC',
renderMode: 'other', renderMode: 'other',
textSeparator: '、', textSeparator: '、',
valueSeparator: ',', valueSeparator: ',',
}, },
]; ];
let _this = this; let _this = this;
for (const codelist of codelistColumns) { for (const codelist of codelistColumns) {
...@@ -1149,7 +1164,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1149,7 +1164,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public getCodelistValue(items: any[], value: any, codelist: any,){ public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){ if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty'); return this.$t('codelist.'+codelist.srfkey+'.empty');
} }
if (items) { if (items) {
...@@ -1726,8 +1741,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1726,8 +1741,16 @@ export default class MainBase extends Vue implements ControlInterface {
} }
} }
} }
if(!await this.validateAll()){ if (!await this.validateAll()) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = '';
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
return []; return [];
} }
let successItems:any = []; let successItems:any = [];
...@@ -1867,9 +1890,11 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1867,9 +1890,11 @@ export default class MainBase extends Vue implements ControlInterface {
if (!mode || (mode && Object.is(mode, ''))) { if (!mode || (mode && Object.is(mode, ''))) {
return; return;
} }
let tempContext: any = this.$util.deepCopy(this.context);
Object.is(tempContext, { wfprocessdefinition: data.definitionkey });
const arg: any = JSON.parse(JSON.stringify(data)); const arg: any = JSON.parse(JSON.stringify(data));
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(this.context)),arg, showloading); const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(tempContext)),arg, showloading);
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) });
...@@ -2110,6 +2135,24 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2110,6 +2135,24 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public getColumnDisabled(data:any,name:string){
if(this.allColumns || Array.isArray(this.allColumns)){
const curColumn:any = this.allColumns.find((item:any) =>{
return item.name === name;
})
if(curColumn.hasOwnProperty('enableCond')){
return data.srfuf == 1 ? (curColumn.enableCond & 2) !== 2 : (curColumn.enableCond & 1) !== 1
}else{
return false;
}
}
}
} }
</script> </script>
......
...@@ -216,7 +216,7 @@ export default class MainService extends ControlService { ...@@ -216,7 +216,7 @@ export default class MainService extends ControlService {
result.then((response) => { result.then((response) => {
//处理返回数据,补充判断标识 //处理返回数据,补充判断标识
if(response.data){ if(response.data){
Object.assign(response.data,{srfuf:0}); Object.assign(response.data,{srfuf:'0'});
} }
resolve(response); resolve(response);
}).catch(response => { }).catch(response => {
...@@ -347,7 +347,7 @@ export default class MainService extends ControlService { ...@@ -347,7 +347,7 @@ export default class MainService extends ControlService {
requestData[item.prop] = context[item.name]; requestData[item.prop] = context[item.name];
} }
}else{ }else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0) || Object.is(data[item.name],"")) ){ if(item && item.isEditable && item.prop && item.name && data.hasOwnProperty(item.name)){
requestData[item.prop] = data[item.name]; requestData[item.prop] = data[item.name];
} }
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@row-dblclick="rowDBLClick($event)" @row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader"> ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty"> <template slot="empty">
{{$t('app.gridpage.noData')}} {{$t('entities.wftask.main_grid.nodata')}}
</template> </template>
<template v-if="!isSingleSelect"> <template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column> <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
...@@ -643,6 +643,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -643,6 +643,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public isDisplay:boolean = true; public isDisplay:boolean = true;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public errorMessages: Array<any> = [];
/** /**
* 部件刷新 * 部件刷新
* *
...@@ -683,6 +691,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -683,6 +691,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'taskname', name: 'taskname',
...@@ -691,6 +700,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -691,6 +700,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'description', name: 'description',
...@@ -699,6 +709,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -699,6 +709,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'createtime', name: 'createtime',
...@@ -707,6 +718,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -707,6 +718,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'businesskey', name: 'businesskey',
...@@ -715,6 +727,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -715,6 +727,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'definitionid', name: 'definitionid',
...@@ -723,6 +736,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -723,6 +736,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'definitionkey', name: 'definitionkey',
...@@ -731,6 +745,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -731,6 +745,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'instanceid', name: 'instanceid',
...@@ -739,6 +754,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -739,6 +754,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'taskdefinitionkey', name: 'taskdefinitionkey',
...@@ -747,6 +763,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -747,6 +763,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'taskid', name: 'taskid',
...@@ -755,6 +772,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -755,6 +772,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: false, show: false,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
] ]
...@@ -865,6 +883,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -865,6 +883,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public async validateAll(){ public async validateAll(){
this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for(let item of this.items){
...@@ -873,6 +892,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -873,6 +892,7 @@ export default class MainBase extends Vue implements ControlInterface {
for(let property of Object.keys(this.rules)){ for(let property of Object.keys(this.rules)){
if(!await this.validate(property,item,index)){ if(!await this.validate(property,item,index)){
validateState = false; validateState = false;
this.errorMessages.push(this.gridItemsModel[index][property].error);
} }
} }
} }
...@@ -1232,7 +1252,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1232,7 +1252,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public getCodelistValue(items: any[], value: any, codelist: any,){ public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){ if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty'); return this.$t('codelist.'+codelist.srfkey+'.empty');
} }
if (items) { if (items) {
...@@ -1814,8 +1834,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1814,8 +1834,16 @@ export default class MainBase extends Vue implements ControlInterface {
} }
} }
} }
if(!await this.validateAll()){ if (!await this.validateAll()) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = '';
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
return []; return [];
} }
let successItems:any = []; let successItems:any = [];
...@@ -1955,9 +1983,11 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1955,9 +1983,11 @@ export default class MainBase extends Vue implements ControlInterface {
if (!mode || (mode && Object.is(mode, ''))) { if (!mode || (mode && Object.is(mode, ''))) {
return; return;
} }
let tempContext: any = this.$util.deepCopy(this.context);
Object.is(tempContext, { wftask: data.taskid });
const arg: any = JSON.parse(JSON.stringify(data)); const arg: any = JSON.parse(JSON.stringify(data));
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(this.context)),arg, showloading); const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(tempContext)),arg, showloading);
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) });
...@@ -2198,6 +2228,24 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2198,6 +2228,24 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public getColumnDisabled(data:any,name:string){
if(this.allColumns || Array.isArray(this.allColumns)){
const curColumn:any = this.allColumns.find((item:any) =>{
return item.name === name;
})
if(curColumn.hasOwnProperty('enableCond')){
return data.srfuf == 1 ? (curColumn.enableCond & 2) !== 2 : (curColumn.enableCond & 1) !== 1
}else{
return false;
}
}
}
} }
</script> </script>
......
...@@ -216,7 +216,7 @@ export default class MainService extends ControlService { ...@@ -216,7 +216,7 @@ export default class MainService extends ControlService {
result.then((response) => { result.then((response) => {
//处理返回数据,补充判断标识 //处理返回数据,补充判断标识
if(response.data){ if(response.data){
Object.assign(response.data,{srfuf:0}); Object.assign(response.data,{srfuf:'0'});
} }
resolve(response); resolve(response);
}).catch(response => { }).catch(response => {
...@@ -347,7 +347,7 @@ export default class MainService extends ControlService { ...@@ -347,7 +347,7 @@ export default class MainService extends ControlService {
requestData[item.prop] = context[item.name]; requestData[item.prop] = context[item.name];
} }
}else{ }else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0) || Object.is(data[item.name],"")) ){ if(item && item.isEditable && item.prop && item.name && data.hasOwnProperty(item.name)){
requestData[item.prop] = data[item.name]; requestData[item.prop] = data[item.name];
} }
} }
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@row-dblclick="rowDBLClick($event)" @row-dblclick="rowDBLClick($event)"
ref='multipleTable' :data="items" :show-header="!isHideHeader"> ref='multipleTable' :data="items" :show-header="!isHideHeader">
<template slot="empty"> <template slot="empty">
{{$t('app.gridpage.noData')}} {{$t('entities.wfuser.main_grid.nodata')}}
</template> </template>
<template v-if="!isSingleSelect"> <template v-if="!isSingleSelect">
<el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column> <el-table-column align="center" type='selection' :width="checkboxColWidth"></el-table-column>
...@@ -590,6 +590,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -590,6 +590,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public isDisplay:boolean = true; public isDisplay:boolean = true;
/**
* 表格行编辑项校验错误提示信息
*
* @type {boolean}
* @memberof MainBase
*/
public errorMessages: Array<any> = [];
/** /**
* 部件刷新 * 部件刷新
* *
...@@ -630,6 +638,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -630,6 +638,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'personname', name: 'personname',
...@@ -638,6 +647,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -638,6 +647,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'username', name: 'username',
...@@ -646,6 +656,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -646,6 +656,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'orgname', name: 'orgname',
...@@ -654,6 +665,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -654,6 +665,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
{ {
name: 'mdeptname', name: 'mdeptname',
...@@ -662,6 +674,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -662,6 +674,7 @@ export default class MainBase extends Vue implements ControlInterface {
show: true, show: true,
unit: 'PX', unit: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
enableCond: 3 ,
}, },
] ]
...@@ -772,6 +785,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -772,6 +785,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public async validateAll(){ public async validateAll(){
this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for(let item of this.items){
...@@ -780,6 +794,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -780,6 +794,7 @@ export default class MainBase extends Vue implements ControlInterface {
for(let property of Object.keys(this.rules)){ for(let property of Object.keys(this.rules)){
if(!await this.validate(property,item,index)){ if(!await this.validate(property,item,index)){
validateState = false; validateState = false;
this.errorMessages.push(this.gridItemsModel[index][property].error);
} }
} }
} }
...@@ -1139,7 +1154,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1139,7 +1154,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public getCodelistValue(items: any[], value: any, codelist: any,){ public getCodelistValue(items: any[], value: any, codelist: any,){
if(!value){ if(!value && value !== 0 && value !== false){
return this.$t('codelist.'+codelist.srfkey+'.empty'); return this.$t('codelist.'+codelist.srfkey+'.empty');
} }
if (items) { if (items) {
...@@ -1716,8 +1731,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1716,8 +1731,16 @@ export default class MainBase extends Vue implements ControlInterface {
} }
} }
} }
if(!await this.validateAll()){ if (!await this.validateAll()) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = '';
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
return []; return [];
} }
let successItems:any = []; let successItems:any = [];
...@@ -1857,9 +1880,11 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1857,9 +1880,11 @@ export default class MainBase extends Vue implements ControlInterface {
if (!mode || (mode && Object.is(mode, ''))) { if (!mode || (mode && Object.is(mode, ''))) {
return; return;
} }
let tempContext: any = this.$util.deepCopy(this.context);
Object.is(tempContext, { wfuser: data.userid });
const arg: any = JSON.parse(JSON.stringify(data)); const arg: any = JSON.parse(JSON.stringify(data));
Object.assign(arg,{viewparams:this.viewparams}); Object.assign(arg,{viewparams:this.viewparams});
const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(this.context)),arg, showloading); const post: Promise<any> = this.service.frontLogic(mode,JSON.parse(JSON.stringify(tempContext)),arg, showloading);
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.gridpage.formitemFailed') as string) });
...@@ -2100,6 +2125,24 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2100,6 +2125,24 @@ export default class MainBase extends Vue implements ControlInterface {
}) })
} }
/**
* 获取表格列禁用状态
*
* @memberof MainBase
*/
public getColumnDisabled(data:any,name:string){
if(this.allColumns || Array.isArray(this.allColumns)){
const curColumn:any = this.allColumns.find((item:any) =>{
return item.name === name;
})
if(curColumn.hasOwnProperty('enableCond')){
return data.srfuf == 1 ? (curColumn.enableCond & 2) !== 2 : (curColumn.enableCond & 1) !== 1
}else{
return false;
}
}
}
} }
</script> </script>
......
...@@ -216,7 +216,7 @@ export default class MainService extends ControlService { ...@@ -216,7 +216,7 @@ export default class MainService extends ControlService {
result.then((response) => { result.then((response) => {
//处理返回数据,补充判断标识 //处理返回数据,补充判断标识
if(response.data){ if(response.data){
Object.assign(response.data,{srfuf:0}); Object.assign(response.data,{srfuf:'0'});
} }
resolve(response); resolve(response);
}).catch(response => { }).catch(response => {
...@@ -347,7 +347,7 @@ export default class MainService extends ControlService { ...@@ -347,7 +347,7 @@ export default class MainService extends ControlService {
requestData[item.prop] = context[item.name]; requestData[item.prop] = context[item.name];
} }
}else{ }else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0) || Object.is(data[item.name],"")) ){ if(item && item.isEditable && item.prop && item.name && data.hasOwnProperty(item.name)){
requestData[item.prop] = data[item.name]; requestData[item.prop] = data[item.name];
} }
} }
......
...@@ -37,11 +37,6 @@ ...@@ -37,11 +37,6 @@
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 -Papi
cd ibzwf-provider/ibzwf-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzwf-provider-api.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-provider-api.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-provider-api.jar
EXPOSE 40003 EXPOSE 8081
ADD ibzwf-provider-api.jar /ibzwf-provider-api.jar ADD ibzwf-provider-api.jar /ibzwf-provider-api.jar
...@@ -3,22 +3,9 @@ services: ...@@ -3,22 +3,9 @@ services:
ibzwf-provider-api: ibzwf-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-provider-api:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-provider-api:latest
ports: ports:
- "40003:40003" - "8081:8081"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40003
- 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&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.102.211:8848
deploy: deploy:
resources: resources:
limits: limits:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册