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

lab_qyk 发布系统代码

上级 857de11d
## v7.0.0-alpha.11 [2020-6-21]
### Bug修复
修复标题工具栏样式遮挡bug
修复表格行编辑字段格式对齐
修复日历部件初始化压缩成一行问题
修复下拉多选组件最后一项数据无法删除
### 功能新增及优化
#### 模板
新增支持表单、表格新建默认值(当前时间)
新增行编辑浮点数精度格式化
新增首页面包屑导航模式
新增编辑视图第一条记录、上一条记录、下一条记录、最后一条记录界面行为
优化面板和多数据部件数据流向
优化表单在模态打开模式中padding样式
优化嵌入视图中工具栏消息数量提示样式
优化动态导航视图树样式
#### 基础文件
新增行编辑浮点数精度格式化
## v7.0.0-alpha.10 [2020-6-18]
### Bug修复
......
......@@ -58,6 +58,7 @@
"@vue/cli-service": "^4.1.0",
"@vue/test-utils": "1.0.0-beta.29",
"axios-mock-adapter": "^1.17.0",
"compression-webpack-plugin": "^4.0.0",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"mockjs": "^1.1.0",
......
......@@ -68,10 +68,7 @@ import AppUploadFileInfo from './components/app-upload-file-info/app-upload-file
import ContextMenu from './components/context-menu/context-menu'
import AppColumnFormat from './components/app-column-format/app-column-format.vue'
import AppQuickGroup from './components/app-quick-group/app-quick-group.vue'
import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vue'
import IBizGroupPicker from './components/ibiz-group-picker/ibiz-group-picker.vue'
import AppGroupPicker from './components/app-group-picker/app-group-picker.vue'
import AppWFApproval from './components/app-wf-approval/app-wf-approval.vue'
import Breadcrumb from './components/app-breadcrumb/app-breadcrumb.vue'
import AppTransfer from './components/app-transfer/app-transfer.vue'
......@@ -156,10 +153,10 @@ export const AppComponents = {
v.component('context-menu',ContextMenu);
v.component('app-column-format',AppColumnFormat);
v.component('app-quick-group',AppQuickGroup);
v.component('app-org-select',AppOrgSelect);
v.component('app-department-select',AppDepartmentSelect);
v.component('ibiz-group-select',IBizGroupSelect);
v.component('ibiz-group-picker',IBizGroupPicker);
v.component('app-org-select',() => import('./components/app-org-select/app-org-select.vue'));
v.component('app-department-select',() => import('./components/app-department-select/app-department-select.vue'));
v.component('app-group-select',() => import('./components/app-group-select/app-group-select.vue'));
v.component('app-group-picker',() => import('./components/app-group-picker/app-group-picker.vue'));
v.component('app-wf-approval',AppWFApproval);
v.component('app-breadcrumb',Breadcrumb);
v.component('app-transfer',AppTransfer);
......
......@@ -6,7 +6,8 @@
<script lang="ts">
import { Vue, Component, Watch, Prop, Model } from 'vue-property-decorator';
import 'ibiz-vue-lib/lib/ibiz-vue-lib.css';
import {IBizSelectTree} from 'ibiz-vue-lib';
@Component({
})
export default class AppDepartmentSelect extends Vue {
......
<template>
<div class="ibiz-group-picker">
<div class="ibiz-group-container">
<div v-if="showTree" class="ibiz-group-tree">
<ibiz-select-tree :NodesData="treeItems" v-model="treeSelectVal" :treeOnly="true" :defaultChecked="true" @select="treeSelect"></ibiz-select-tree>
</div>
<div class="ibiz-group-content">
<ibiz-group-card :data="cardItems" text="label" value="id" groupName="group" :multiple="multiple" :defaultSelect="cardSelctVal" @select="groupSelect"></ibiz-group-card>
</div>
</div>
<div class="ibiz-group-footer">
<el-button size="small" type="primary" @click="onOK">确认</el-button>
<el-button size="small" @click="onCancel">取消</el-button>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue, Prop, Watch } from 'vue-property-decorator';
import { Subject } from 'rxjs';
import { Http } from '../../utils';
import 'ibiz-vue-lib/lib/ibiz-vue-lib.css';
import {IBizSelectTree} from 'ibiz-vue-lib';
import {IBizGroupCard} from 'ibiz-vue-lib';
@Component({})
export default class IBizGroupPicker extends Vue {
/**
* 视图上下文参数
*
* @type {*}
* @memberof IBizGroupPicker
*/
@Prop() viewdata: any;
/**
* 视图参数
*
* @type {*}
* @memberof IBizGroupPicker
*/
@Prop() viewparam: any;
/**
* 多选
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected multiple: boolean = false;
/**
* 加载树url
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected treeurl:any;
/**
* 加载人员url
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected url:any;
/**
* 树数据集
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected treeItems: any[] = [];
/**
* 分组表数据集
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected cardItems: any[] = [];
/**
* 视图上下文参数对象
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected viewData: any;
/**
* 视图参数对象
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected viewParam: any;
/**
* 树选中值
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected treeSelectVal: string = '';
/**
* 分组表选中集合
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected cardSelctVal: any = [];
/**
* 数据选中集合
*
* @type {*}
* @memberof IBizGroupPicker
*/
protected selects: any[] = [];
/**
* 是否显示树
*
* @type {*}
* @memberof IBizGroupPicker
*/
get showTree() {
if(this.viewParam) {
return this.viewParam.showtree;
}
}
/**
* 生命周期
*
* @type {*}
* @memberof IBizGroupPicker
*/
public created() {
if(!this.viewdata || !this.viewparam) {
return;
}
this.viewData = JSON.parse(this.viewdata);
this.viewParam = JSON.parse(this.viewparam);
this.multiple = this.viewParam.multiple;
this.treeurl = this.viewParam.treeurl;
this.url = this.viewParam.url;
if (this.viewParam.selects) {
this.viewParam.selects.forEach((select: any) => {
this.selects.push(select);
this.cardSelctVal.push(select.id)
})
}
this.load();
}
/**
* 加载数据
*
* @type {*}
* @memberof IBizGroupPicker
*/
public load() {
if(this.showTree) {
this.loadTree();
} else {
this.loadGroupData(this.viewParam.filtervalue);
}
}
/**
* 加载树数据
*
* @type {*}
* @memberof IBizGroupPicker
*/
public loadTree() {
let orgid = this.viewParam.filtervalue;
let tempTreeUrl:string = this.treeurl.replace('${orgid}',orgid);
let get = Http.getInstance().get(tempTreeUrl, true);
get.then((response: any) => {
if(response.status === 200) {
this.treeItems = response.data;
}
}).catch((error: any) => {
console.log(error)
})
}
/**
* 加载分组表数据
*
* @type {*}
* @memberof IBizGroupPicker
*/
public loadGroupData(key: string) {
let tempUrl = this.url.replace('${selected-orgid}',key);
let get = Http.getInstance().get(tempUrl, true);
get.then((response: any) => {
if(response.status === 200) {
this.cardItems = response.data;
}
}).catch((error: any) => {
console.log(error)
})
}
/**
* 树选中
*
* @type {*}
* @memberof IBizGroupPicker
*/
public treeSelect(event: any) {
if(!event || JSON.parse(event).length == 0) {
return;
}
const items: any = JSON.parse(event);
this.loadGroupData(items[0].id);
}
/**
* 分组表选中
*
* @type {*}
* @memberof IBizGroupPicker
*/
public groupSelect(event: any) {
if (!event || !event.select) {
return;
}
if(!this.multiple) {
this.selects = [];
}
if(event.rselect) {
let index: number = this.selects.findIndex((item: any) => Object.is(event.rselect, item.id));
if(index >= 0) {
this.selects.splice(index, 1);
}
} else {
event.select.forEach((key: string) => {
let index: number = this.selects.findIndex((item: any) => Object.is(key, item.id));
if(index >= 0) {
return;
}
let item: any = this.cardItems.find((item: any) => Object.is(key, item.id));
if (item) {
this.selects.push(item);
}
});
}
}
/**
* 确认
*
* @type {*}
* @memberof IBizGroupPicker
*/
public onOK() {
this.$emit('close', this.selects);
}
/**
* 取消
*
* @type {*}
* @memberof IBizGroupPicker
*/
public onCancel() {
this.$emit('close');
}
}
</script>
<style lang="less">
.ibiz-group-picker{
width: 100%;
height: 100%;
.ibiz-group-container {
display: flex;
height: calc(100% - 65px);
.ibiz-group-tree {
min-width: 200px;
border-right: 1px solid #ddd;
padding: 0 34px 0 10px;
overflow: auto;
height: 100%;
}
.ibiz-group-content {
flex-grow: 1;
padding: 0 10px;
overflow: auto;
height: 100%;
}
}
.ibiz-group-footer {
padding: 16px;
text-align: right;
border-top: 1px solid #ddd;
}
}
</style>
\ No newline at end of file
<template>
<div class="ibiz-group-select">
<div class="ibiz-group-content">
<span v-if="!multiple">
{{ selectName }}
</span>
<template v-else v-for="(select, index) of selects">
<div :key="index" class="ibiz-group-item">
{{ select.label }}
<i v-if="!disabled" class="el-icon-close" @click="remove(select)"></i>
</div>
</template>
</div>
<div v-if="!disabled" class="ibiz-group-open">
<i v-if="!disabled && !multiple && selects.length > 0" class="el-icon-close" @click="remove(selects[0])"></i>
<i class="el-icon-search" @click="openView"></i>
</div>
</div>
</template>
<script lang="ts">
import { Component, Vue, Prop, Watch } from 'vue-property-decorator';
import { Subject } from 'rxjs';
@Component({})
export default class IBizGroupSelect extends Vue {
/**
* 名称标识
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() name!: string;
/**
* 树加载地址
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() treeurl?:boolean;
/**
* 数据接口地址
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() url!: string;
/**
* 多选
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop({default: false}) multiple?: boolean;
/**
* 数据对象
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() data: any;
/**
* 过滤属性标识
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() filter?: string;
/**
* 是否启用
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() disabled?: boolean;
/**
* 值
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() value: any;
/**
* 上下文参数
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() context: any;
/**
* 关联属性
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() valueitem: any;
/**
* 填充属性
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Prop() fillmap: any;
/**
* 选中项集合
*
* @type {*}
* @memberof IBizGroupSelect
*/
protected selects: any[] = [];
/**
* 值变化
*
* @type {*}
* @memberof IBizGroupSelect
*/
@Watch('value')
onValueChange(newVal: any) {
this.selects = [];
if (newVal) {
let item: any = {};
item.label = newVal.split(',');
if(this.valueitem) {
item.id = this.data[this.valueitem] ? this.data[this.valueitem].split(',') : [];
}
if(this.fillmap) {
for(let key in this.fillmap) {
item[this.fillmap[key]] = this.data[key] ? this.data[key].split(',') : [];
}
}
item.label.forEach((val: string, index: number) => {
let _item: any = {};
for(let key in item) {
_item[key] = item[key][index] ? item[key][index] : null;
}
this.selects.push(_item)
})
}
}
/**
* 单选时选中名称
*
* @type {*}
* @memberof IBizGroupSelect
*/
get selectName() {
if(this.selects.length > 0) {
return this.selects[0].label;
}
}
/**
* 打开选择视图
*
* @type {*}
* @memberof IBizGroupSelect
*/
public openView() {
const view: any = {
viewname: 'ibiz-group-picker',
title: '分组选择'
};
const context: any = JSON.parse(JSON.stringify(this.context));
let filtervalue:string = "";
if(this.filter){
if(this.data[this.filter]){
filtervalue = this.data[this.filter];
}else if(context[this.filter]){
filtervalue = context[this.filter];
}else{
filtervalue = context.srforgid;
}
}else{
filtervalue = context.srforgid;
}
const param: any = {};
Object.assign(param, {
showtree: this.treeurl?true:false,
url:this.url,
treeurl:this.treeurl,
filtervalue: filtervalue,
multiple: this.multiple,
selects: this.selects
});
let container: Subject<any> = this.$appmodal.openModal(view, context, param);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
this.openViewClose(result);
});
}
/**
* 选择视图关闭
*
* @type {*}
* @memberof IBizGroupSelect
*/
public openViewClose(result: any) {
this.selects = [];
if (result.datas && result.datas.length > 0) {
this.selects = result.datas
}
this.setValue()
}
/**
* 数据删除
*
* @type {*}
* @memberof IBizGroupSelect
*/
public remove(item: any) {
this.selects.splice(this.selects.indexOf(item), 1);
this.setValue()
}
/**
* 设置值
*
* @type {*}
* @memberof IBizGroupSelect
*/
public setValue() {
let item: any = {};
item[this.name] = null;
if(this.valueitem) {
item[this.valueitem] = null;
}
if(this.fillmap) {
for(let key in this.fillmap) {
item[key] = null;
}
}
if(this.multiple) {
this.selects.forEach((select: any) => {
item[this.name] = item[this.name] ? `${item[this.name]},${select.label}` : select.label;
if(this.valueitem) {
item[this.valueitem] = item[this.valueitem] ? `${item[this.valueitem]},${select.id}` : select.id;
}
if(this.fillmap) {
for(let key in this.fillmap) {
item[key] = item[key] ? `${item[key]},${select[this.fillmap[key]]}` : select[this.fillmap[key]];
}
}
});
} else {
item = this.selects.length > 0 ? this.selects[0] : {};
item[this.name] = this.selects.length > 0 ? this.selects[0].label : null;
if(this.valueitem) {
item[this.valueitem] = this.selects.length > 0 ? this.selects[0].id : null;
}
if(this.fillmap) {
for(let key in this.fillmap) {
item[key] = this.selects.length > 0 ? this.selects[0][this.fillmap[key]] : null;
}
}
}
for(let key in item) {
this.$emit('formitemvaluechange', { name: key, value: item[key] });
}
}
}
</script>
<style lang="less">
.ibiz-group-select {
width: 100%;
display: flex;
border: 1px solid #DCDFE6;
min-height: 32px;
border-radius: 4px;
.ibiz-group-content {
flex-grow: 1;
padding: 0 16px;
.ibiz-group-item {
display: inline-block;
border: 1px solid #bbb;
line-height: 24px;
border-radius: 5px;
margin-right: 5px;
padding: 0 5px;
}
}
.ibiz-group-open {
display: flex;
text-align: center;
align-items: center;
padding: 0 5px;
}
}
.ibiz-group-select:hover {
border-color: #108cee;
}
</style>
\ No newline at end of file
......@@ -6,6 +6,8 @@
<script lang = 'ts'>
import { Vue, Component, Prop, Watch } from "vue-property-decorator";
import { Http } from '@/utils';
import 'ibiz-vue-lib/lib/ibiz-vue-lib.css';
import {IBizSelectTree} from 'ibiz-vue-lib';
@Component({})
export default class AppOrgSelect extends Vue {
......
......@@ -5,4 +5,7 @@
margin-right: 10px;
padding: 0 5px;
}
}
.user-dropdownMenu{
margin-top: 9px;
}
\ No newline at end of file
<template>
<div class='app-header-user'>
<dropdown @on-click="userSelect" :transfer="true">
<dropdown transfer-class-name="user-dropdownMenu" @on-click="userSelect" :transfer="true">
<div class='user'>
<span>{{user.name ? user.name : $t('components.appUser.name')}}</span>
&nbsp;&nbsp;<avatar :src="user.avatar" />
</div>
<dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'>
<dropdown-item name='logout' style='font-size: 15px !important;'>
<span><i aria-hidden='true' class='fa fa-cogs' style='margin-right: 8px;'></i></span>
<span><i aria-hidden='true' class='ivu-icon ivu-icon-md-power' style='margin-right: 8px;'></i></span>
<span>{{$t('components.appUser.logout')}}</span>
</dropdown-item>
</dropdown-menu>
......
......@@ -5,4 +5,7 @@
top: 0;
right: 20px;
}
.ivu-input-number-input{
text-align: right;
}
}
\ No newline at end of file
<template>
<div class="input-unit">
<i-input
<InputNumber v-if="type === 'number'"
:placeholder="placeholder"
:size="size"
:precision="precision"
v-model="CurrentVal"
:disabled="disabled ? true : false"
></InputNumber>
<i-input v-else
:placeholder="placeholder"
:size="size"
:type="type"
......@@ -63,6 +70,14 @@ export default class InputBox extends Vue {
*/
@Prop() public type?: string;
/**
* 精度
*
* @type {number}
* @memberof InputBox
*/
@Prop({default: 0}) public precision?: number;
/**
* 多行文本行数
*
......@@ -77,7 +92,11 @@ export default class InputBox extends Vue {
* @memberof InputBox
*/
get CurrentVal() {
return this.itemValue;
if(Object.is(this.type, 'number') && this.itemValue && !isNaN(this.itemValue)){
return Number(Number(this.itemValue).toFixed(this.precision));
}else{
return this.itemValue;
}
}
/**
......
......@@ -227,7 +227,7 @@ export default class TabPageExp extends Vue {
* @memberof TabPageExp
*/
public setCurPageCaption(caption: string, title: any, info: string) {
if (this.$route.meta && !Object.is(this.$route.meta.caption, caption)) {
if (this.$route.meta && !Object.is(this.$t(this.$route.meta.caption), caption)) {
return;
}
this.$store.commit("setCurPageCaption", {
......
......@@ -253,13 +253,13 @@ export default class EditViewEngine extends ViewEngine {
viewdata.srfTitle = viewdata.srfTitle.substr(0,index);
}
if(this.view.$tabPageExp){
this.view.$tabPageExp.setCurPageCaption(viewdata.srfTitle, viewdata.srfTitle, info);
this.view.$tabPageExp.setCurPageCaption(this.view.$t(viewdata.srfTitle), this.view.$t(viewdata.srfTitle), info);
}
if(this.view.$route){
this.view.$route.meta.info = info;
}
this.view.model.srfTitle = `${this.view.$t(viewdata.srfTitle)}-${viewdata.dataInfo}`;
this.view.initNavData();
this.view.initNavDataWithRoute();
}
}
......
......@@ -373,7 +373,9 @@ export default class MDViewEngine extends ViewEngine {
cacheArray.push({srfkey:item.srfkey,srfmajortext:item.srfmajortext});
})
}
this.view.initNavData(cacheArray);
this.view.viewCacheData = cacheArray;
this.view.initNavDataWithRoute(cacheArray);
this.view.initNavDataWithTab(cacheArray,false);
if (this.view) {
this.view.$emit('viewload', args);
}
......@@ -398,11 +400,11 @@ export default class MDViewEngine extends ViewEngine {
}
// 快速分组和快速搜索栏
let otherQueryParam:any = {};
if(this.view && this.view.qucikGroupData){
Object.assign(otherQueryParam,this.view.qucikGroupData);
if(this.view && this.view.quickGroupData){
Object.assign(otherQueryParam,this.view.quickGroupData);
}
if(this.view && this.view.qucikFormData){
Object.assign(otherQueryParam,this.view.qucikFormData);
if(this.view && this.view.quickFormData){
Object.assign(otherQueryParam,this.view.quickFormData);
}
Object.assign(arg,{viewparams:otherQueryParam});
}
......
......@@ -91,7 +91,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -162,6 +162,15 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentEditGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -362,6 +371,14 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentEditGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -408,7 +425,7 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -488,13 +505,24 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentEditGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-edit-grid-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-edit-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentEditGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-edit-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1031,6 +1059,9 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzdepartment/default-searchform/default-s
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -63,7 +63,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -132,6 +132,15 @@ export default class IBZDepartmentEditViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentEditViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -322,6 +331,14 @@ export default class IBZDepartmentEditViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentEditViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -368,7 +385,7 @@ export default class IBZDepartmentEditViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -448,13 +465,24 @@ export default class IBZDepartmentEditViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentEditViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-edit-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-edit-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentEditViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-edit-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -925,6 +953,9 @@ export default class IBZDepartmentEditViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzdepartment/main-form/main-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -102,7 +102,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -174,6 +174,15 @@ export default class IBZDepartmentGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -380,6 +389,14 @@ export default class IBZDepartmentGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -426,7 +443,7 @@ export default class IBZDepartmentGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -506,13 +523,24 @@ export default class IBZDepartmentGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-grid-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1356,6 +1384,9 @@ export default class IBZDepartmentGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzdepartment/default-searchform/default-s
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -64,7 +64,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -133,6 +133,15 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentMPickupViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -313,6 +322,14 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentMPickupViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -359,7 +376,7 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -439,13 +456,24 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentMPickupViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-mpickup-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-mpickup-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentMPickupViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-mpickup-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -601,6 +629,9 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_pickupviewpanel from '@widgets/ibzdepartment/mpickup-viewpickupviewp
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -38,7 +38,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -107,6 +107,15 @@ export default class IBZDepartmentOptionViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentOptionViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -285,6 +294,14 @@ export default class IBZDepartmentOptionViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentOptionViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -331,7 +348,7 @@ export default class IBZDepartmentOptionViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -411,13 +428,24 @@ export default class IBZDepartmentOptionViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentOptionViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-option-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-option-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentOptionViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-option-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -569,6 +597,9 @@ export default class IBZDepartmentOptionViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzdepartment/new-form-form/new-form-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -46,7 +46,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -115,6 +115,15 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentPickupGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -287,6 +296,14 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentPickupGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -333,7 +350,7 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -413,13 +430,24 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentPickupGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-pickup-grid-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentPickupGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -619,6 +647,9 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzdepartment/default-searchform/default-s
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -31,7 +31,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -100,6 +100,15 @@ export default class IBZDepartmentPickupViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentPickupViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -280,6 +289,14 @@ export default class IBZDepartmentPickupViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentPickupViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -326,7 +343,7 @@ export default class IBZDepartmentPickupViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -406,13 +423,24 @@ export default class IBZDepartmentPickupViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentPickupViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-pickup-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-pickup-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentPickupViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-pickup-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -567,6 +595,9 @@ export default class IBZDepartmentPickupViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_pickupviewpanel from '@widgets/ibzdepartment/pickup-viewpickupviewpa
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -14,6 +14,8 @@
:viewparams="viewparams"
:context="context"
:viewUID="viewUID"
:newdata="newdata"
:opendata="opendata"
name="treeexpbar"
ref='treeexpbar'
@selectionchange="treeexpbar_selectionchange($event)"
......@@ -29,7 +31,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -98,6 +100,15 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDepartmentTreeExpViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -268,6 +279,14 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDepartmentTreeExpViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -314,7 +333,7 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -394,13 +413,24 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDepartmentTreeExpViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdepartment-tree-exp-view',srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdepartment-tree-exp-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDepartmentTreeExpViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdepartment-tree-exp-view',tag:this.viewtag,srfkey:this.context.ibzdepartment,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -586,6 +616,9 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_treeexpbar from '@widgets/ibzdepartment/tree-exp-viewtreeexpbar-tree
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -63,7 +63,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -132,6 +132,15 @@ export default class IBZDeptMemberEditViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDeptMemberEditViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -322,6 +331,14 @@ export default class IBZDeptMemberEditViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDeptMemberEditViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -368,7 +385,7 @@ export default class IBZDeptMemberEditViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -448,13 +465,24 @@ export default class IBZDeptMemberEditViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDeptMemberEditViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdept-member-edit-view',srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdept-member-edit-view',tag:this.viewtag,srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDeptMemberEditViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdept-member-edit-view',tag:this.viewtag,srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -925,6 +953,9 @@ export default class IBZDeptMemberEditViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzdept-member/main-form/main-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -71,7 +71,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -142,6 +142,15 @@ export default class IBZDeptMemberGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZDeptMemberGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -340,6 +349,14 @@ export default class IBZDeptMemberGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZDeptMemberGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -386,7 +403,7 @@ export default class IBZDeptMemberGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -466,13 +483,24 @@ export default class IBZDeptMemberGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZDeptMemberGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzdept-member-grid-view',srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzdept-member-grid-view',tag:this.viewtag,srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZDeptMemberGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzdept-member-grid-view',tag:this.viewtag,srfkey:this.context.ibzdeptmember,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1253,6 +1281,9 @@ export default class IBZDeptMemberGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_grid from '@widgets/ibzdept-member/main-grid/main-grid.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -49,7 +49,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -118,6 +118,15 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeChangePwdViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -302,6 +311,14 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeChangePwdViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -348,7 +365,7 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -428,13 +445,24 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeChangePwdViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-change-pwd-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-change-pwd-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeChangePwdViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-change-pwd-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -654,6 +682,9 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzemployee/change-pw-form/change-pw-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -94,7 +94,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -165,6 +165,15 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeEditGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -365,6 +374,14 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeEditGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -411,7 +428,7 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -491,13 +508,24 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeEditGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-edit-grid-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-edit-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeEditGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-edit-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1034,6 +1062,9 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzemployee/default-searchform/default-sea
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -63,7 +63,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -132,6 +132,15 @@ export default class IBZEmployeeEditViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeEditViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -322,6 +331,14 @@ export default class IBZEmployeeEditViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeEditViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -368,7 +385,7 @@ export default class IBZEmployeeEditViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -448,13 +465,24 @@ export default class IBZEmployeeEditViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeEditViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-edit-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-edit-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeEditViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-edit-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -925,6 +953,9 @@ export default class IBZEmployeeEditViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzemployee/main-form/main-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -109,7 +109,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -181,6 +181,15 @@ export default class IBZEmployeeGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -390,6 +399,14 @@ export default class IBZEmployeeGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -436,7 +453,7 @@ export default class IBZEmployeeGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -516,13 +533,24 @@ export default class IBZEmployeeGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-grid-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1398,6 +1426,9 @@ export default class IBZEmployeeGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzemployee/default-searchform/default-sea
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -64,7 +64,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -133,6 +133,15 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeMPickupViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -313,6 +322,14 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeMPickupViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -359,7 +376,7 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -439,13 +456,24 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeMPickupViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-mpickup-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-mpickup-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeMPickupViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-mpickup-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -601,6 +629,9 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_pickupviewpanel from '@widgets/ibzemployee/mpickup-viewpickupviewpan
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -38,7 +38,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -107,6 +107,15 @@ export default class IBZEmployeeOptionViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeeOptionViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -285,6 +294,14 @@ export default class IBZEmployeeOptionViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeeOptionViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -331,7 +348,7 @@ export default class IBZEmployeeOptionViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -411,13 +428,24 @@ export default class IBZEmployeeOptionViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeeOptionViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-option-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-option-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeeOptionViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-option-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -569,6 +597,9 @@ export default class IBZEmployeeOptionViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzemployee/new-form-form/new-form-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -46,7 +46,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -115,6 +115,15 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeePickupGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -287,6 +296,14 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeePickupGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -333,7 +350,7 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -413,13 +430,24 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeePickupGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-pickup-grid-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeePickupGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -619,6 +647,9 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzemployee/default-searchform/default-sea
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -31,7 +31,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -100,6 +100,15 @@ export default class IBZEmployeePickupViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZEmployeePickupViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -280,6 +289,14 @@ export default class IBZEmployeePickupViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZEmployeePickupViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -326,7 +343,7 @@ export default class IBZEmployeePickupViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -406,13 +423,24 @@ export default class IBZEmployeePickupViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZEmployeePickupViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzemployee-pickup-view',srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzemployee-pickup-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZEmployeePickupViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzemployee-pickup-view',tag:this.viewtag,srfkey:this.context.ibzemployee,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -567,6 +595,9 @@ export default class IBZEmployeePickupViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_pickupviewpanel from '@widgets/ibzemployee/pickup-viewpickupviewpane
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -63,7 +63,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -132,6 +132,15 @@ export default class IBZOrganizationEditViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationEditViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -322,6 +331,14 @@ export default class IBZOrganizationEditViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationEditViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -368,7 +385,7 @@ export default class IBZOrganizationEditViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -448,13 +465,24 @@ export default class IBZOrganizationEditViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationEditViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-edit-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-edit-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationEditViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-edit-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -925,6 +953,9 @@ export default class IBZOrganizationEditViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzorganization/main-form/main-form.vue';
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -105,7 +105,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -177,6 +177,15 @@ export default class IBZOrganizationGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -383,6 +392,14 @@ export default class IBZOrganizationGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -429,7 +446,7 @@ export default class IBZOrganizationGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -509,13 +526,24 @@ export default class IBZOrganizationGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-grid-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-grid-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-grid-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -1349,6 +1377,9 @@ export default class IBZOrganizationGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzorganization/default-searchform/default
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -38,7 +38,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -107,6 +107,15 @@ export default class IBZOrganizationOptionViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationOptionViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -285,6 +294,14 @@ export default class IBZOrganizationOptionViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationOptionViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -331,7 +348,7 @@ export default class IBZOrganizationOptionViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -411,13 +428,24 @@ export default class IBZOrganizationOptionViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationOptionViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-option-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-option-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationOptionViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-option-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -569,6 +597,9 @@ export default class IBZOrganizationOptionViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_form from '@widgets/ibzorganization/new-form-form/new-form-form.vue'
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -46,7 +46,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -115,6 +115,15 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationPickupGridViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -287,6 +296,14 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationPickupGridViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -333,7 +350,7 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -413,13 +430,24 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationPickupGridViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-pickup-grid-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationPickupGridViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-pickup-grid-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -619,6 +647,9 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -11,6 +11,9 @@ import view_searchform from '@widgets/ibzorganization/default-searchform/default
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -31,7 +31,7 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -100,6 +100,15 @@ export default class IBZOrganizationPickupViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationPickupViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -280,6 +289,14 @@ export default class IBZOrganizationPickupViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationPickupViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -326,7 +343,7 @@ export default class IBZOrganizationPickupViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -406,13 +423,24 @@ export default class IBZOrganizationPickupViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationPickupViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-pickup-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-pickup-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationPickupViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-pickup-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -567,6 +595,9 @@ export default class IBZOrganizationPickupViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_pickupviewpanel from '@widgets/ibzorganization/pickup-viewpickupview
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -14,6 +14,8 @@
:viewparams="viewparams"
:context="context"
:viewUID="viewUID"
:newdata="newdata"
:opendata="opendata"
name="treeexpbar"
ref='treeexpbar'
@selectionchange="treeexpbar_selectionchange($event)"
......@@ -29,7 +31,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -98,6 +100,15 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图默认使用
*
* @type {string}
* @memberof IBZOrganizationTreeExpViewBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 视图标识
*
......@@ -268,6 +279,14 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof IBZOrganizationTreeExpViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -314,7 +333,7 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -394,13 +413,24 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof IBZOrganizationTreeExpViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ibzorganization-tree-exp-view',srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ibzorganization-tree-exp-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof IBZOrganizationTreeExpViewBase
*/
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ibzorganization-tree-exp-view',tag:this.viewtag,srfkey:this.context.ibzorganization,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -586,6 +616,9 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
}
})
}
if(Object.is(this.navModel,"tab")){
this.navDataService.removeNavDataByTag(this.viewtag);
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
......
......@@ -9,6 +9,9 @@ import view_treeexpbar from '@widgets/ibzorganization/tree-exp-viewtreeexpbar-tr
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -4,14 +4,12 @@ import VueRouter from 'vue-router';
import App from '@/App.vue';
import ElementUi from 'element-ui';
import ViewUI from 'view-design';
import ibizLab from 'ibiz-vue-lib';
import { Interceptors } from '@/utils';
import {Print} from '@/utils/print';
import i18n from '@/locale'
import 'element-ui/lib/theme-chalk/index.css';
import 'view-design/dist/styles/iview.css';
import 'ibiz-vue-lib/lib/ibiz-vue-lib.css';
import '@/styles/default.less';
......@@ -33,7 +31,6 @@ Vue.config.errorHandler = function (err: any, vm: any, info: any) {
}
Vue.config.productionTip = false;
Vue.use(Print);
Vue.use(ibizLab);
Vue.use(Vuex);
Vue.use(VueRouter);;
Vue.use(ElementUi, {
......
......@@ -7,7 +7,7 @@
<div class="sider-top">
<div class="page-logo">
<span class="menuicon" @click="contextMenuDragVisiable=!contextMenuDragVisiable"><Icon type="md-menu" /></span>
<span v-show="!collapseChange" style="display: block;text-align: center;font-weight: 300;font-size: 20px;">{{$t(model.srfCaption)}}</span>
<span v-show="!collapseChange" style="overflow-x: hidden;text-overflow: ellipsis;white-space: nowrap;display: block;text-align: center;font-weight: 300;font-size: 20px;">{{$t(model.srfCaption)}}</span>
</div>
</div>
<view_appmenu
......@@ -59,7 +59,7 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch,Inject } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
......@@ -118,6 +118,7 @@ export default class OUIndexViewBase extends Vue {
*/
@Prop({ default: true }) public viewDefaultUsage!: boolean;
/**
* 视图标识
*
......@@ -274,6 +275,14 @@ export default class OUIndexViewBase extends Vue {
*/
public viewparams:any = {};
/**
* 视图缓存数据
*
* @type {*}
* @memberof OUIndexViewBase
*/
public viewCacheData:any;
/**
* 解析视图参数
*
......@@ -315,7 +324,7 @@ export default class OUIndexViewBase extends Vue {
}
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
this.initNavDataWithRoute();
}
/**
......@@ -395,13 +404,24 @@ export default class OUIndexViewBase extends Vue {
}
/**
* 初始化导航数据
* 初始化导航数据(路由模式)
*
* @memberof OUIndexViewBase
*/
public initNavDataWithRoute(data:any = null){
if(this.viewDefaultUsage && Object.is(this.navModel,"route")){
this.navDataService.addNavData({id:'ouindex-view',tag:this.viewtag,srfkey:null,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
}
}
/**
* 初始化导航数据(分页模式)
*
* @memberof OUIndexViewBase
*/
public initNavData(data:any = null){
if(this.viewDefaultUsage){
this.navDataService.addNavData({id:'ouindex-view',srfkey:null,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath});
public initNavDataWithTab(data:any = null,isOnlyAdd:boolean = true){
if(this.viewDefaultUsage && !Object.is(this.navModel,"route")){
this.navDataService.addNavDataByOnly({id:'ouindex-view',tag:this.viewtag,srfkey:null,title:this.$t(this.model.srfTitle),data:data,context:this.context,viewparams:this.viewparams,path:this.$route.fullPath},isOnlyAdd);
}
}
......@@ -511,6 +531,7 @@ export default class OUIndexViewBase extends Vue {
* @type {string}
* @memberof OUIndexViewBase
*/
@Provide()
public navModel:string = "tab";
/**
......@@ -521,6 +542,16 @@ export default class OUIndexViewBase extends Vue {
*/
public contextMenuDragVisiable: boolean = false;
/**
* 初始化之前
*
* @memberof OUIndexViewBase
*/
public beforeCreate(){
let navDataService = NavDataService.getInstance(this.$store)
navDataService.removeAllNavData();
}
/**
* 当前主题
*
......
......@@ -9,6 +9,9 @@ import view_appmenu from '@widgets/app/ouindex-view-appmenu/ouindex-view-appmenu
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
......
......@@ -49,6 +49,13 @@ export interface NavDataElement {
*/
srfkey:string|null;
/**
* 视图标识
*
* @memberof NavDataElement
*/
tag:string|null;
}
export interface ServiceState {
......@@ -305,4 +312,76 @@ export default class NavDataService {
return [];
}
}
/**
* 从导航数据栈中直接添加数据
*
* @memberof NavDataService
*/
public addNavDataByOnly(curNavData:NavDataElement,isOnlyAdd:boolean){
if(isOnlyAdd){
this.navDataStack.push(curNavData);
}else{
if(this.navDataStack.length >0){
let tempIndex:number = this.navDataStack.findIndex((element:NavDataElement) =>{
return Object.is(element.tag,curNavData.tag);
})
if(tempIndex === -1){
this.navDataStack.push(curNavData);
}else{
this.navDataStack[tempIndex] = curNavData;
}
}else{
this.navDataStack.push(curNavData);
}
}
this.sessionStore.setItem('srfnavdata',JSON.stringify(this.navDataStack));
return curNavData;
}
/**
* 从导航数据栈中直接删除数据
*
* @memberof NavDataService
*/
public removeNavDataByTag(viewtag:string){
if(this.navDataStack.length >0){
let tempIndex:number = this.navDataStack.findIndex((element:NavDataElement) =>{
return Object.is(element.tag,viewtag);
})
let removeNavData = this.navDataStack.splice(tempIndex,1);
this.sessionStore.setItem('srfnavdata',JSON.stringify(this.navDataStack));
return removeNavData;
}else{
return null;
}
}
/**
* 从导航数据栈中获取指定元素前一个元素
*
* @memberof NavDataService
*/
public getPreNavDataByTag(viewtag:string){
if(this.navDataStack.length >0){
let tempIndex:number = this.navDataStack.findIndex((element:NavDataElement) =>{
return Object.is(element.tag,viewtag);
})
return this.navDataStack[tempIndex - 1]?this.navDataStack[tempIndex - 1]:null;
}else{
return null;
}
}
/**
* 从导航数据栈中删除所有数据
*
* @memberof NavDataService
*/
public removeAllNavData(){
if(this.navDataStack.length >0){
this.navDataStack = [];
this.sessionStore.setItem('srfnavdata',JSON.stringify(this.navDataStack));
}
}
}
\ No newline at end of file
......@@ -226,7 +226,6 @@ export default class IBZOrganizationServiceBase extends EntityService {
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/ibzorganizations/${context.ibzorganization}`,isloading);
}
/**
......@@ -243,7 +242,6 @@ export default class IBZOrganizationServiceBase extends EntityService {
this.tempStorage.setItem(context.srfsessionkey+'_ibzemployees',JSON.stringify(res.data.ibzemployees));
this.tempStorage.setItem(context.srfsessionkey+'_ibzdepartments',JSON.stringify(res.data.ibzdepartments));
return res;
}
/**
......
......@@ -94,7 +94,6 @@ export default class IBZTeamServiceBase extends EntityService {
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/ibzteams/${context.ibzteam}`,isloading);
}
/**
......@@ -110,7 +109,6 @@ export default class IBZTeamServiceBase extends EntityService {
let res:any = await Http.getInstance().get(`/ibzteams/${context.ibzteam}`,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_ibzteammembers',JSON.stringify(res.data.ibzteammembers));
return res;
}
/**
......
......@@ -106,7 +106,7 @@
flex-shrink: 0;
}
> .toolbar-container{
display: inline-block;
margin-left: auto;
display: flex;
flex-wrap: wrap;
align-items: center;
......
......@@ -118,16 +118,16 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import OUIndexViewService from './ouindex-view-appmenu-service';
import OUIndexViewModel from './ouindex-view-appmenu-model';
import { Environment } from '@/environments/environment';
import NavDataService from '@/service/app/navdata-service';
@Component({
......@@ -578,8 +578,6 @@ export default class OUIndexViewBase extends Vue implements ControlInterface {
let navDataService = NavDataService.getInstance(this.$store);
if(Object.is(this.navModel,"route")){
navDataService.removeNavData(this.viewtag);
}else{
navDataService.removeNavDataWithoutCache(this.viewtag);
}
switch (item.appfunctag) {
case 'Auto5':
......
......@@ -99,6 +99,9 @@ export default class ControlService {
}
let dataItems: any[] = model.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
dataItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop && item.name ){
......@@ -110,9 +113,6 @@ export default class ControlService {
}
}
});
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
......
......@@ -34,11 +34,12 @@
</i-form>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import DefaultService from './default-searchform-service';
......
......@@ -130,7 +130,7 @@ export default class DefaultService extends ControlService {
@Errorlog
public wfsubmit(action: string,context: any = {}, data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data,true);
context = this.handleRequestData(action,context,data).context;
context = this.handleRequestData(action,context,data,true).context;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
......@@ -334,13 +334,16 @@ export default class DefaultService extends ControlService {
* @param data 数据
* @memberof DefaultService
*/
public handleRequestData(action: string,context:any, data: any = {}){
public handleRequestData(action: string,context:any, data: any = {},isMerge:boolean = false){
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return data;
}
let formItemItems: any[] = mode.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
formItemItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop){
......@@ -352,9 +355,6 @@ export default class DefaultService extends ControlService {
}
}
});
if(data && data.viewparams){
Object.assign(requestData,data.viewparams);
}
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
......
......@@ -48,11 +48,12 @@
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import DeptTreeService from './dept-tree-treeview-service';
......
......@@ -8,6 +8,7 @@
:height="isEnablePagingBar && items.length > 0 ? 'calc(100% - 50px)' : '100%'"
:highlight-current-row ="isSingleSelect"
:row-class-name="getRowClassName"
:cell-class-name="getCellClassName"
@row-click="rowClick($event)"
@select-all="selectAll($event)"
@select="select($event)"
......@@ -363,11 +364,12 @@
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import EditGridService from './edit-grid-grid-service';
......
......@@ -48,7 +48,7 @@
<i-col v-show="detailsModel.leadername.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='leadername' :itemRules="this.rules.leadername" class='' :caption="$t('entities.ibzdepartment.main_form.details.leadername')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.leadername.error" :isEmptyCaption="false" labelPos="LEFT">
<ibiz-group-select
<app-group-select
name="leadername"
:value='data.leadername'
valueitem="leaderid"
......@@ -61,7 +61,7 @@
:data="data"
:context="context"
@formitemvaluechange="onFormItemValueChange">
</ibiz-group-select>
</app-group-select>
</app-form-item>
......@@ -93,11 +93,12 @@
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import MainService from './main-form-service';
......@@ -219,6 +220,15 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 视图默认使用
*
* @type {string}
* @memberof MainBase
*/
@Inject('navModel')
public navModel!:string;
/**
* 工作流审批意见控件绑定值
*
......
......@@ -145,7 +145,7 @@ export default class MainService extends ControlService {
@Errorlog
public wfsubmit(action: string,context: any = {}, data: any = {}, isloading?: boolean,localdata?:any): Promise<any> {
data = this.handleWFData(data,true);
context = this.handleRequestData(action,context,data).context;
context = this.handleRequestData(action,context,data,true).context;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
......@@ -354,13 +354,16 @@ export default class MainService extends ControlService {
* @param data 数据
* @memberof MainService
*/
public handleRequestData(action: string,context:any, data: any = {}){
public handleRequestData(action: string,context:any, data: any = {},isMerge:boolean = false){
let mode: any = this.getMode();
if (!mode && mode.getDataItems instanceof Function) {
return data;
}
let formItemItems: any[] = mode.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
formItemItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop){
......@@ -372,9 +375,6 @@ export default class MainService extends ControlService {
}
}
});
if(data && data.viewparams){
Object.assign(requestData,data.viewparams);
}
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
......
......@@ -6,33 +6,17 @@
}
.app-form {
overflow: auto;
.app-form-group:nth-child(1){
margin-top: 16px;
.app-form-item:nth-child(1){
margin-top: 0;
}
}
.app-form-item:nth-child(1){
margin-top: 16px;
}
> .ivu-row {
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-bar {
margin-bottom: 0px;
}
> .ivu-tabs-content {
margin-top: 16px;
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
.app-form-group{
margin-top: 0px;
}
}
}
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册