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

ibiz4j 发布系统代码

上级 7d26ec8f
*volumes
*target
.settings
*node_modules
......
## v7.0.0-alpha.10 [2020-6-18]
### Bug修复
分页导航视图页面刷新bug
表单项更新,实体行为调用不到bug
关系界面子界面保存不触发父界面保存
表单样式调整
### 功能新增及优化
#### 模板
表格操作列只显示图标时显示tooltip
门户部件高度为0时自适应
面板和多数据部件数据流向
列表,数据视图保存功能
门户部件标题界面行为tooltip
新增面包屑、应用切换器组件
#### 基础文件
formitem样式调整,label适配位置
表格行编辑切换,app-picker不显示
文件上传下载参数格式处理
## v7.0.0-alpha.9 [2020-6-11]
### Bug修复
......
......@@ -28,7 +28,6 @@ import AppCheckboxList from './components/app-checkbox-list/app-checkbox-list.vu
import AppRadioGroup from './components/app-radio-group/app-radio-group.vue'
import AppEmbedPicker from './components/app-embed-picker/app-embed-picker.vue'
import AppTreePicker from './components/app-tree-picker/app-tree-picker.vue'
import AppRichTextEditor from './components/app-rich-text-editor/app-rich-text-editor.vue'
import AppFileUpload from './components/app-file-upload/app-file-upload.vue'
import AppImageUpload from './components/app-image-upload/app-image-upload.vue'
import PropertyLayout from './components/property-layout/property-layout.vue'
......@@ -53,7 +52,6 @@ import AppRate from './components/app-rate/app-rate.vue'
import AppSwitch from './components/app-switch/app-switch.vue'
import AppSlider from './components/app-slider/app-slider.vue'
import AppStepper from './components/app-stepper/app-stepper.vue'
import AppPortalDesign from './components/app-portal-design/app-portal-design.vue'
import DatePickerRange from './components/date-picker-range/date-picker-range.vue'
import AppRangeDate from './components/app-range-date/app-range-date.vue'
import AppActionBar from './components/app-actionbar/app-actionbar.vue'
......@@ -63,7 +61,6 @@ import AppStudioAction from './components/app-studioaction/app-studioaction.vue'
import AppDebugActions from './components/app-debug-actions/app-debug-actions.vue'
import AppHeaderMenus from './components/app-header-menus/app-header-menus.vue'
import AppColumnLink from './components/app-column-link/app-column-link.vue'
import AppDataUploadView from './components/app-data-upload/app-data-upload.vue'
import DropDownListDynamic from './components/dropdown-list-dynamic/dropdown-list-dynamic.vue'
import AppImagePreview from './components/app-image-preview/app-image-preview.vue'
import AppFormatData from './components/app-format-data/app-format-data.vue'
......@@ -76,8 +73,9 @@ import AppDepartmentSelect from './components/app-department-select/app-departme
import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vue'
import IBizGroupPicker from './components/ibiz-group-picker/ibiz-group-picker.vue'
import AppWFApproval from './components/app-wf-approval/app-wf-approval.vue'
import Breadcrumb from './components/app-breadcrumb/app-breadcrumb.vue';
import Breadcrumb from './components/app-breadcrumb/app-breadcrumb.vue'
import AppTransfer from './components/app-transfer/app-transfer.vue'
import ContextMenuDrag from './components/context-menu-drag/context-menu-drag.vue'
// 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister;
......@@ -115,7 +113,7 @@ export const AppComponents = {
v.component('app-radio-group',AppRadioGroup);
v.component('app-embed-picker', AppEmbedPicker);
v.component('app-tree-picker', AppTreePicker);
v.component('app-rich-text-editor',AppRichTextEditor);
v.component('app-rich-text-editor', () => import('./components/app-rich-text-editor/app-rich-text-editor.vue'));
v.component('app-file-upload',AppFileUpload);
v.component('app-image-upload',AppImageUpload);
v.component('property-layout',PropertyLayout);
......@@ -140,7 +138,7 @@ export const AppComponents = {
v.component('app-switch', AppSwitch);
v.component('app-slider', AppSlider);
v.component('app-stepper', AppStepper);
v.component('app-portal-design',AppPortalDesign);
v.component('app-portal-design', () => import('./components/app-portal-design/app-portal-design.vue'));
v.component('date-picker-range',DatePickerRange);
v.component('app-range-date', AppRangeDate);
v.component('app-actionbar', AppActionBar);
......@@ -150,7 +148,7 @@ export const AppComponents = {
v.component('app-debug-actions', AppDebugActions);
v.component('app-header-menus', AppHeaderMenus);
v.component('app-column-link', AppColumnLink);
v.component('app-data-upload', AppDataUploadView);
v.component('app-data-upload', () => import('./components/app-data-upload/app-data-upload.vue'));
v.component('dropdown-list-dynamic', DropDownListDynamic);
v.component('app-image-preview', AppImagePreview);
v.component('app-format-data', AppFormatData);
......@@ -165,5 +163,6 @@ export const AppComponents = {
v.component('app-wf-approval',AppWFApproval);
v.component('app-breadcrumb',Breadcrumb);
v.component('app-transfer',AppTransfer);
v.component('context-menu-drag',ContextMenuDrag);
},
};
\ No newline at end of file
......@@ -13,5 +13,12 @@
.no-redirect {
color: #97a8be;
cursor: text;
.curselected{
color: #2196F3;
font-weight: bold;
}
.app-breadcrumb-selected{
cursor: pointer;
}
}
}
\ No newline at end of file
<template>
<el-breadcrumb
class="app-breadcrumb"
separator="/"
>
<el-breadcrumb class="app-breadcrumb" separator="/">
<transition-group name="breadcrumb">
<el-breadcrumb-item
v-for="(item, index) in breadcrumbs"
:key="item.path"
>
<span
v-if="index === breadcrumbs.length-1"
class="no-redirect"
>{{ $t(item.meta.caption) }}</span>
<a
v-else
@click.prevent="handleLink(item)"
>{{ $t(item.meta.caption) }}</a>
</el-breadcrumb-item>
<template v-if="Object.is(this.navModel,'route')">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.id">
<span v-if="index === breadcrumbs.length-1" class="no-redirect">{{ item.title }}
<span v-if="item.isselected === true">
<dropdown trigger='click' @on-click="selectNavData($event,item)">
<span class="app-breadcrumb-selected">
<i class="el-icon-caret-bottom"></i>
</span>
<dropdown-menu slot='list'>
<dropdown-item v-for="(dataitem) in getPreNavData(item)" :name="dataitem.srfkey" :key="dataitem.srfkey">
<span :class="{'curselected':isCurSelected(item,dataitem)}">{{dataitem.srfmajortext}}</span>
</dropdown-item>
</dropdown-menu>
</dropdown>
</span>
</span>
<a v-else @click.prevent="handleLink(item)">{{ item.title }}</a>
</el-breadcrumb-item>
</template>
<template v-if="!Object.is(this.navModel,'route')">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path">
<span v-if="index === breadcrumbs.length-1" class="no-redirect" >{{ $t(item.meta.caption)}}</span>
<a v-else @click.prevent="handleLink(item)" >{{ $t(item.meta.caption) }}</a>
</el-breadcrumb-item>
</template>
</transition-group>
</el-breadcrumb>
</template>
......@@ -24,14 +33,41 @@
<script lang="ts">
import { Component, Vue, Watch, Prop } from 'vue-property-decorator'
import { RouteRecord, Route } from 'vue-router'
import { Environment } from "@/environments/environment";
import NavDataService from '@/service/app/navdata-service';
import {Subscription } from 'rxjs';
@Component({
})
export default class Breadcrumb extends Vue {
private breadcrumbs: RouteRecord[] = []; //面包屑列表
/**
* 面包屑列表
*
* @memberof Breadcrumb
*/
private breadcrumbs: Array<any> = [];
/**
* 导航服务
*
* @memberof Breadcrumb
*/
private navDataService = NavDataService.getInstance(this.$store);
@Prop() public defPSAppView: any; //默认视图
/**
* 默认视图标识
*
* @memberof Breadcrumb
*/
@Prop() public indexViewTag!: string;
/**
* 导航模式
*
* @memberof Breadcrumb
*/
@Prop({default:'tab'}) public navModel?:string;
/**
* 监听路由
......@@ -43,13 +79,30 @@ export default class Breadcrumb extends Vue {
this.getBreadcrumb()
}
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof Dev
*/
public serviceStateEvent: Subscription | undefined;
/**
* vue 生命周期
*
* @memberof Breadcrumb
*/
created() {
this.getBreadcrumb()
this.getBreadcrumb();
if(Object.is(this.navModel,"route")){
this.serviceStateEvent = this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if (Object.is(action, 'datarefresh')) {
this.getBreadcrumb();
}
});
}
}
/**
......@@ -58,24 +111,90 @@ export default class Breadcrumb extends Vue {
* @memberof Breadcrumb
*/
private getBreadcrumb() {
this.breadcrumbs = this.$route.matched.filter((item) => {
if(Object.is(this.navModel,"route")){
this.breadcrumbs = this.navDataService.getNavData();
this.$forceUpdate();
}else{
this.breadcrumbs = this.$route.matched.filter((item) => {
return item.meta && item.meta.caption
})
if(this.defPSAppView){
/**如果配置了默认视图,给面包屑第一级赋值默认视图为首页 */
}
}
/**
* 单机面包屑
* 获取面包屑指定元素前一条数据
*
* @memberof Breadcrumb
*/
private getPreNavData(item:any){
let preNavData:any = this.navDataService.getPreNavDataById(item.id);
return preNavData.data;
}
/**
* 判断是否为当前选中项
*
* @memberof Breadcrumb
*/
private isCurSelected(item:any,singleItem:any){
return item.srfkey === singleItem.srfkey;
}
/**
* 面包屑点击行为
*
* @memberof Breadcrumb
*/
private handleLink(item: any) {
this.$router.push(item).catch(err => {
console.warn(err);
});
if(Object.is(this.navModel,"route")){
// 首页
if(Object.is(item.id,this.indexViewTag)){
this.$router.push((window.sessionStorage.getItem(Environment.AppName))as string);
}else{
// 非首页
this.$router.push(item.path).catch(err => {
console.warn(err);
});
}
this.navDataService.removeNavData(item.id);
}else{
if(item && item.meta && item.meta.viewType && Object.is(item.meta.viewType,"APPINDEX")){
let path: string | null = window.sessionStorage.getItem(Environment.AppName);
if (path) {
this.$router.push({ path: path });
} else {
this.$router.push("/");
}
}else{
this.$router.push(item).catch(err => {
console.warn(err);
});
}
}
}
/**
* 切换导航行为
*
* @memberof Breadcrumb
*/
private selectNavData($event:any,item:any){
let preNavData:any = this.getPreNavData(item);
let curSrfkey:any = $event;
this.navDataService.serviceState.next({action:'viewrefresh',name:item.id, data:curSrfkey});
}
/**
* 组件销毁
*
* @memberof Breadcrumb
*/
public destroyed() {
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
</script>
......
......@@ -100,6 +100,22 @@ export default class AppFileUpload extends Vue {
*/
@Prop() public data!: string;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@Prop() public viewparams!: any;
/**
* 视图上下文
*
* @type {*}
* @memberof AppAutocomplete
*/
@Prop() public context!: any;
/**
* 初始化值
*
......@@ -146,7 +162,7 @@ export default class AppFileUpload extends Vue {
* @type {string}
* @memberof AppFileUpload
*/
@Prop() public uploadparams?: string;
@Prop() public uploadparams?: any;
/**
* 下载参数
......@@ -154,15 +170,7 @@ export default class AppFileUpload extends Vue {
* @type {string}
* @memberof AppFileUpload
*/
@Prop() public exportparams?: string;
/**
* 自定义参数
*
* @type {*}
* @memberof AppFileUpload
*/
@Prop() public customparams?: any;
@Prop() public exportparams?: any;
/**
* 上传文件路径
......@@ -186,20 +194,20 @@ export default class AppFileUpload extends Vue {
public files = [];
/**
* 上传keys
* 上传params
*
* @type {Array<any>}
* @memberof AppFileUpload
*/
public upload_keys: Array<any> = [];
public upload_params: Array<any> = [];
/**
* 导出keys
* 导出params
*
* @type {Array<any>}
* @memberof AppFileUpload
*/
public export_keys: Array<any> = [];
public export_params: Array<any> = [];
/**
* 自定义数组
......@@ -239,31 +247,37 @@ export default class AppFileUpload extends Vue {
* @memberof AppFileUpload
*/
private dataProcess(): void {
let upload_arr: Array<string> = [];
let export_arr: Array<string> = [];
const _data: any = JSON.parse(this.data);
this.upload_keys.forEach((key: string) => {
upload_arr.push(`${key}=${_data[key]}`);
});
this.export_keys.forEach((key: string) => {
export_arr.push(`${key}=${_data[key]}`);
});
let _url = `${Environment.BaseUrl}${Environment.UploadFile}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
_url = `${_url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.upload_params.length > 0 ) {
_url +='?';
this.upload_params.forEach((item:any,i:any)=>{
_url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.upload_params.length-1){
_url += '&';
}
})
}
this.uploadUrl = _url;
this.files.forEach((file: any) => {
let url = `${this.downloadUrl}/${file.id}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
url = `${url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.export_params.length > 0) {
url +='?';
this.export_params.forEach((item:any,i:any)=>{
url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.export_params.length-1){
url += '&';
}
})
}
file.url = url;
});
}
/**
* vue 生命周期
*
......@@ -290,28 +304,37 @@ export default class AppFileUpload extends Vue {
public mounted() {
this.appData = this.$store.getters.getAppData();
let uploadparams: string = '';
let exportparams: string = '';
let uploadparams: any = {};
let exportparams: any = {};
let upload_keys: Array<string> = [];
let export_keys: Array<string> = [];
let upload_params: Array<string> = [];
let export_params: Array<string> = [];
let custom_arr: Array<string> = [];
let param:any = this.viewparams;
let context:any = this.context;
let _data:any = JSON.parse(this.data);
if (this.uploadparams && !Object.is(this.uploadparams, '')) {
uploadparams = this.uploadparams;
upload_keys = uploadparams.split(';');
upload_params = this.$util.computedNavData(_data,param,context,uploadparams);
}
if (this.exportparams && !Object.is(this.exportparams, '')) {
exportparams = this.exportparams;
export_keys = exportparams.split(';');
export_params = this.$util.computedNavData(_data,param,context,exportparams);
}
if (this.customparams && !Object.is(this.customparams, '')) {
Object.keys(this.customparams).forEach((name: string) => {
custom_arr.push(`${name}=${this.customparams[name]}`);
});
for (const item in upload_params) {
this.upload_params.push({
[item]:upload_params[item]
})
}
for (const item in export_params) {
this.export_params.push({
[item]:export_params[item]
})
}
this.upload_keys = upload_keys;
this.export_keys = export_keys;
this.custom_arr = custom_arr;
this.setFiles(this.value);
this.dataProcess();
......
.app-form-group {
>.ivu-card-head {
>p {
>i {
......@@ -7,9 +8,12 @@
}
}
}
>.ivu-card-extra {
.item-extract-mode {
display: flex;
.item {
margin-left: 12px;
}
......@@ -18,6 +22,7 @@
}
.app-form-group.app-group-collapse-contant {
.ivu-card-body {
display: none;
}
......@@ -25,9 +30,12 @@
.app-group-flex {
height: 100%;
overflow: auto;
> .ivu-card-body {
overflow-y: auto;
overflow-x: hidden;
>.ivu-card-body {
height: calc(100% - 51px);
overflow: auto;
overflow-y: auto;
overflow-x: hidden;
}
}
\ No newline at end of file
<template>
<div class="app-form-group">
<div v-if="uiStyle=='STYLE2'">
<div :class="classes">
<template v-if="uiStyle=='STYLE2'">
<app-form-group2
:caption="caption"
:uiStyle="uiStyle"
......@@ -10,8 +10,8 @@
:titleBarCloseMode="titleBarCloseMode">
<slot></slot>
</app-form-group2>
</div>
<div v-else>
</template>
<template v-else>
<card v-if="isShowCaption === true" :bordered="false" :dis-hover="true" :class="classes">
<p class='' slot='title'>
<icon v-if="titleBarCloseMode !== 0" :type="collapseContant ? 'ios-arrow-dropright-circle' : 'ios-arrow-dropdown-circle'"
......@@ -87,17 +87,17 @@
</template>
</a >
</template>
<div v-if="Object.is(layoutType, 'FLEX')">
<template v-if="Object.is(layoutType, 'FLEX')">
<slot></slot>
</div>
<div v-if="!Object.is(layoutType, 'FLEX')">
</template>
<template v-if="!Object.is(layoutType, 'FLEX')">
<row :gutter="10"><slot></slot></row>
</div>
</template>
</card>
<row v-if="isShowCaption === false" :class="classes">
<slot></slot>
</row>
</div>
<template v-if="isShowCaption === false">
<slot></slot>
</template>
</template>
</div>
</template>
......
.app-form-item {
// margin-bottom: 16px;
>.ivu-form-item-label {
text-decoration: none;
display: block;
overflow: hidden;
white-space: nowrap;
}
>.ivu-form-item-content {
min-height: 36px;
}
height: 100%;
.editor {
height: 100%;
.ivu-form-item-content {
height: 100%;
min-height: 36px;
}
}
.app-form-item-label {
padding: 6px 10px 6px 0px;
}
}
.app-form-item-label-top {
>.ivu-form-item-label {
float: none;
display: inline-block;
padding: 0 0 10px;
}
.app-form-item.label-top, .app-form-item.label-bottom {
.app-form-item-label {
display: block;
}
}
.app-form-item-label-left{
.app-form-item-label{
float: left;
text-align: right;
padding-right: 12px;
.app-form-item.label-left, .app-form-item.label-right {
.app-form-item-label, .editor {
height: 100%;
}
}
.app-form-item-label-right{
.app-form-item-label{
float: right;
text-align: left;
padding-left: 12px;
.app-form-item.label-left {
.app-form-item-label {
float: left;
text-align: right;
}
}
.app-form-item-label-top{
.app-form-item-label{
display: block;
padding-bottom: 10px;
.app-form-item.label-right {
.app-form-item-label {
float: right;
padding: 6px 0px 6px 10px;
}
}
.app-form-item-label-bottom{
.app-form-item-label{
display: block;
padding-top: 10px;
.app-form-item.label-none {
.app-form-item-label {
display: none !important;
}
}
\ No newline at end of file
......@@ -15,7 +15,7 @@
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
overflow: auto;
overflow: initial;
}
}
}
......
......@@ -98,6 +98,22 @@ export default class AppImageUpload extends Vue {
*/
@Prop() public data!: string;
/**
* 视图参数
*
* @type {*}
* @memberof AppFormDRUIPart
*/
@Prop() public viewparams!: any;
/**
* 视图上下文
*
* @type {*}
* @memberof AppAutocomplete
*/
@Prop() public context!: any;
/**
* 初始化值
*
......@@ -185,20 +201,20 @@ export default class AppImageUpload extends Vue {
@Provide() public files = [];
/**
* 上传keys
* 上传params
*
* @type {Array<any>}
* @memberof AppImageUpload
*/
public upload_keys: Array<any> = [];
public upload_params: Array<any> = [];
/**
* 导出keys
* 导出params
*
* @type {Array<any>}
* @memberof AppImageUpload
*/
public export_keys: Array<any> = [];
public export_params: Array<any> = [];
/**
* 自定义数组
......@@ -238,26 +254,31 @@ export default class AppImageUpload extends Vue {
* @memberof AppImageUpload
*/
private dataProcess(): void {
let upload_arr: Array<string> = [];
let export_arr: Array<string> = [];
const _data: any = JSON.parse(this.data);
this.upload_keys.forEach((key: string) => {
upload_arr.push(`${key}=${_data[key]}`);
});
this.export_keys.forEach((key: string) => {
export_arr.push(`${key}=${_data[key]}`);
});
let _url = `${Environment.BaseUrl}${Environment.UploadFile}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
_url = `${_url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.upload_params.length > 0 ) {
_url +='?';
this.upload_params.forEach((item:any,i:any)=>{
_url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.upload_params.length-1){
_url += '&';
}
})
}
this.uploadUrl = _url;
this.files.forEach((file: any) => {
let url = `${this.downloadUrl}/${file.id}`;
if (upload_arr.length > 0 || this.custom_arr.length > 0) {
url = `${url}?${upload_arr.join('&')}${upload_arr.length > 0 ? '&' : ''}${this.custom_arr.join('&')}`;
if (this.export_params.length > 0) {
url +='?';
this.export_params.forEach((item:any,i:any)=>{
url += `${Object.keys(item)[0]}=${Object.values(item)[0]}`;
if(i<this.export_params.length-1){
url += '&';
}
})
}
file.url = url;
});
......@@ -288,28 +309,35 @@ export default class AppImageUpload extends Vue {
public mounted() {
this.appData = this.$store.getters.getAppData();
let uploadparams: string = '';
let exportparams: string = '';
let uploadparams: any = {};
let exportparams: any = {};
let upload_keys: Array<string> = [];
let export_keys: Array<string> = [];
let upload_params: Array<string> = [];
let export_params: Array<string> = [];
let custom_arr: Array<string> = [];
let param:any = this.viewparams;
let context:any = this.context;
let _data:any = JSON.parse(this.data);
if (this.uploadparams && !Object.is(this.uploadparams, '')) {
uploadparams = this.uploadparams;
upload_keys = uploadparams.split(';');
upload_params = this.$util.computedNavData(_data,param,context,uploadparams);
}
if (this.exportparams && !Object.is(this.exportparams, '')) {
exportparams = this.exportparams;
export_keys = exportparams.split(';');
export_params = this.$util.computedNavData(_data,param,context,exportparams);
}
if (this.customparams && !Object.is(this.customparams, '')) {
Object.keys(this.customparams).forEach((name: string) => {
custom_arr.push(`${name}=${this.customparams[name]}`);
});
for (const item in upload_params) {
this.upload_params.push({
[item]:upload_params[item]
})
}
for (const item in export_params) {
this.export_params.push({
[item]:export_params[item]
})
}
this.upload_keys = upload_keys;
this.export_keys = export_keys;
this.custom_arr = custom_arr;
this.setFiles(this.value);
this.dataProcess();
......
......@@ -324,10 +324,10 @@ export default class AppPickerSelectView extends Vue {
this.items.push({ srfmajortext : item.srfmajortext, srfkey: item.srfkey });
}
});
let _viewparam = JSON.parse(this.viewparam);
_viewparam.selectedData = this.selectItems;
this.viewparam = JSON.stringify(_viewparam);
}
let _viewparam = JSON.parse(this.viewparam);
_viewparam.selectedData = this.selectItems;
this.viewparam = JSON.stringify(_viewparam);
}
this.$forceUpdate();
}
......
......@@ -242,7 +242,7 @@ export default class AppPicker extends Vue {
* @param {*} oldVal
* @memberof AppPicker
*/
@Watch('value')
@Watch('value',{immediate: true})
public onValueChange(newVal: any, oldVal: any) {
this.curvalue = newVal;
if (Object.is(this.editortype, 'dropdown') && this.valueitem) {
......
......@@ -148,11 +148,19 @@ export default class AppSpan extends Vue {
if(this.tag){
return; //代码表走codelist组件
}else if(this.editorType === "ADDRESSPICKUP"){
JSON.parse(this.value).forEach((item:any,index:number) => {
this.text += index === 0 ? item.srfmajortext : ","+item.srfmajortext;
});
if(this.$util.isEmpty(this.value)){
this.text = '';
}else{
JSON.parse(this.value).forEach((item:any,index:number) => {
this.text += index === 0 ? item.srfmajortext : ","+item.srfmajortext;
});
}
}else{
this.text = this.value;
if(this.$util.isEmpty(this.value)){
this.text = '';
}else{
this.text = this.value;
}
}
}
......
.menu-drawer {
.ivu-drawer-left {
left: 201px !important;
}
.ivu-drawer {
top: 64px !important;
}
.ivu-drawer-body {
padding: 32px !important;
.menuItems {
display: flex;
flex-wrap: wrap;
> .item {
margin: 0px 10px;
width: calc(33.333% - 20px);
padding: 0px 15px;
font-size: 13px;
transition: all 0.3s;
display: flex;
justify-content: space-between;
height: 32px;
align-items: center;
.star {
display: flex;
height: 100%;
width: 30px;
font-size: 15px;
align-items: center;
justify-content: center;
.ivu-icon-ios-star-outline{
display: none;
}
}
}
> .item:hover {
background-color: #eaeaea;
cursor: pointer;
.ivu-icon-ios-star-outline{
display: inline;
}
}
}
}
}
.sider-drawer {
.ivu-drawer {
background-color: #ffffff !important;
}
.ivu-drawer-body {
padding: 0px !important;
}
.ivu-drawer {
top: 64px !important;
}
.context-menu-drag {
display: flex;
.flip-list-move {
transition: transform 0.3s;
}
.menu-list {
width: 100%;
height: 100%;
.menu-header {
cursor: pointer;
border-bottom: 1px solid rgb(222, 222, 222);
height: 48px;
line-height: 48px;
display: flex;
align-items: center;
.menuicon {
display: inline-block;
width: 50px;
font-size: 16px;
text-align: center;
font-size: 22px;
}
.content {
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1 1 0%;
overflow: hidden;
font-size: 13px;
}
.forward {
margin: 0px 8px 0px 4px;
color: rgb(222, 222, 222);
font-size: 15px;
}
}
.list-group-item {
transition: background 1s;
-webkit-transition: background 1s;
.menuicon {
text-align: center;
}
.el-row {
height: 100%;
display: flex;
align-items: center;
padding: 0px 5px;
}
height: 40px;
cursor: pointer;
position: relative;
display: block;
margin-bottom: -1px;
transition: background-color 0.5s;
transition-timing-function: ease-in-out;
.handle {
cursor: move;
}
.bar {
display: flex;
.ivu-icon-ios-close {
cursor: pointer;
font-size: 25px;
}
}
}
.list-group-item:hover {
background-color: #f5f5f5;
.ivu-icon-ios-star-outline{
display: inline;
}
}
}
}
}
\ No newline at end of file
<template>
<Drawer class-name="sider-drawer" placement="left" :closable="false" :mask="false" width="200" v-model="leftDrawerVisiable">
<div class="context-menu-drag">
<div class="menu-list">
<div class="menu-header" @mouseover="showMenuDrawer" @click="rightDrawerVisiable=!rightDrawerVisiable">
<div class="menuicon">
<Icon type="md-apps" />
</div>
<div class="content">
<span>服务</span>
</div>
<div class="forward">
<Icon type="ios-arrow-forward" />
</div>
</div>
<div style="padding:8px 0px;" class="col-6">
<draggable class="list-group" tag="ul" v-model="selectlist" v-bind="dragOptionsVal" @start="drag=true" @end="drag=false" :animation="250" handle=".handle" ghost-class="ghost">
<transition-group type="transition" :name="!drag ? 'flip-list' : null">
<li class="list-group-item" v-for="(item,index) in selectlist" :key="item.id">
<el-row>
<el-col class="menuicon" :span="4">
<span>
<Icon v-if="item.icon" :type="item.icon" />
<Icon v-else type="md-menu" />
</span>
</el-col>
<el-col :span="14">
<span>{{ item.label }}</span>
</el-col>
<el-col :span="6">
<div class="bar">
<div>
<Icon type="ios-close" @click="removeAt(index)" />
</div>
<div>
<Icon type="ios-move handle" />
</div>
</div>
</el-col>
</el-row>
</li>
</transition-group>
</draggable>
</div>
</div>
<Drawer class-name="menu-drawer" width="60" :closable="true" :mask="false" placement="left" v-model="rightDrawerVisiable">
<div class="menuItems">
<div class="item" v-for="(item) in list" :key="item.id">
<span class="title">{{item.label}}</span>
<span v-if="isStar(item.id)" class="star" @click="outStar(item)">
<Icon type="ios-star" />
</span>
<span v-else class="star" @click="onStar(item)">
<Icon type="ios-star-outline" />
</span>
</div>
</div>
</Drawer>
</div>
</Drawer>
</template>
<script lang="ts">
import draggable from "vuedraggable";
import EntityService from '@/service/entity-service';
import { Vue,Component,Provide,Watch,Prop,Model } from "vue-property-decorator";
// tslint:disable-next-line:max-classes-per-file
@Component({
components: {
draggable
}
})
export default class ContextMenuDrag extends Vue {
/**
* 抽屉菜单状态
*
* @returns
* @memberof ContextMenuDrag
*/
@Prop() public contextMenuDragVisiable?: boolean;
/**
* 拖拽列表配置对象
*
* @returns
* @memberof ContextMenuDrag
*/
@Model("change") public dragOptions: any;
/**
* 右侧飘窗状态
*
* @returns
* @memberof ContextMenuDrag
*/
public rightDrawerVisiable: boolean = false;
/**
* 左侧飘窗状态
*
* @returns
* @memberof ContextMenuDrag
*/
public leftDrawerVisiable: boolean = false;
/**
* 全部应用数据
*
* @returns
* @memberof ContextMenuDrag
*/
public list: Array<any> = [];
/**
* 已选择的应用数据
*
* @returns
* @memberof ContextMenuDrag
*/
public selectlist: Array<any> = [];
/**
* 拖拽列表
*
* @returns
* @memberof ContextMenuDrag
*/
public drag: boolean = false;
/**
* 拖拽列表配置项
*
* @returns
* @memberof ContextMenuDrag
*/
get dragOptionsVal() {
return {
animation: 200,
group: "description",
disabled: false,
ghostClass: "ghost"
};
}
/**
* 实体服务对象
*
* @protected
* @type {EntityService}
* @memberof ContextMenuDrag
*/
protected entityService: EntityService = new EntityService();
/**
* 监听抽屉菜单状态
*
* @returns
* @memberof ContextMenuDrag
*/
@Watch("contextMenuDragVisiable")
public onVisiableChange(newVal: any, oldVal: any) {
if (newVal) {
this.leftDrawerVisiable = newVal;
} else {
let that: any = this;
let params: any = {};
params.model = this.selectlist;
const put: Promise<any> = this.entityService.updateChooseApp(null,params);
this.rightDrawerVisiable = false;
setTimeout(() => {
that.leftDrawerVisiable = false;
}, 300);
}
}
/**
* 鼠标移入服务时显示右侧飘窗
*
* @returns
* @memberof ContextMenuDrag
*/
public showMenuDrawer() {
let that: any = this;
if(this.contextMenuDragVisiable){
setTimeout(() => {
that.rightDrawerVisiable = true;
}, 300);
}
}
/**
* 判断是否已选择该应用
*
* @returns
* @memberof ContextMenuDrag
*/
public isStar(id: any) {
let istar: boolean = false;
this.selectlist.forEach((item: any) => {
if (Object.is(item.id, id)) {
istar = true;
}
});
return istar;
}
/**
* 加入列表
*
* @returns
* @memberof ContextMenuDrag
*/
public onStar(item: any) {
item.visabled = 1;
this.selectlist.push(item);
}
/**
* 从列表中删除
*
* @returns
* @memberof ContextMenuDrag
*/
public outStar(item: any) {
item.visabled = 0;
let index: number = 0;
let that: any = this;
this.selectlist.forEach((select: any, index: number) => {
if (Object.is(item.id, select.id)) {
that.selectlist.splice(index,1);
}
});
}
/**
* 删除已选择应用
*
* @returns
* @memberof ContextMenuDrag
*/
removeAt(index: any) {
this.selectlist.splice(index, 1);
}
/**
* 拖拽列表排序
*/
sort() {
this.selectlist = this.selectlist.sort((a, b) => a.order - b.order);
}
/**
* 过滤已选择的应用
*
* @returns
* @memberof ContextMenuDrag
*/
listFilter() {
let that: any = this;
that.selectlist = [];
this.list.forEach((item: any) => {
if (item.visabled === 1) {
that.selectlist.push(item);
}
});
}
/**
* vue 生命周期
*
* @returns
* @memberof ContextMenuDrag
*/
mounted() {
let that: any = this;
const get: Promise<any> = this.entityService.getAllApp(null,{});
get
.then((response: any) => {
if (response) {
that.list = response.data.model;
that.listFilter();
}
});
}
}
</script>
<style lang='less'>
@import './context-menu-drag.less';
</style>
......@@ -6,6 +6,7 @@
:type="type"
v-model="CurrentVal"
:disabled="disabled ? true : false"
:autosize="autoSize"
@on-enter="enter"
></i-input>
<div class="unit-text">{{unit}}</div>
......@@ -62,6 +63,14 @@ export default class InputBox extends Vue {
*/
@Prop() public type?: string;
/**
* 多行文本行数
*
* @type {string}
* @memberof InputBox
*/
@Prop() public autoSize?: any;
/**
* 当前值
*
......
......@@ -160,6 +160,10 @@ export default class Login extends Vue {
* @memberof Login
*/
public handleSubmit(): void {
// 清除cookie
let leftTime = new Date();
leftTime.setTime(leftTime.getSeconds() - 1000);
document.cookie = "ibzuaa-token=;expires=" + leftTime.toUTCString();
const form: any = this.$refs.loginForm;
let validatestate: boolean = true;
form.validate((valid: boolean) => {
......
......@@ -247,12 +247,19 @@ export default class EditViewEngine extends ViewEngine {
*/
public setTabCaption(info: string): void {
let viewdata: any = this.view.model;
if (viewdata && info && !Object.is(info, '') && this.view.$tabPageExp && (viewdata.srfTitle.indexOf(" - ") === -1)) {
this.view.$tabPageExp.setCurPageCaption(viewdata.srfTitle, viewdata.srfTitle, info);
let index:number = viewdata.srfTitle.indexOf("-");
if (viewdata && info && !Object.is(info, '')) {
if(index !== -1){
viewdata.srfTitle = viewdata.srfTitle.substr(0,index);
}
if(this.view.$tabPageExp){
this.view.$tabPageExp.setCurPageCaption(viewdata.srfTitle, 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.model.srfTitle = `${this.view.$t(viewdata.srfTitle)}-${viewdata.dataInfo}`;
this.view.initNavData();
}
}
......
......@@ -367,6 +367,13 @@ export default class MDViewEngine extends ViewEngine {
* @memberof MDViewEngine
*/
public MDCtrlLoad(args: any[]) {
let cacheArray:Array<any> = [];
if(args.length >0){
args.forEach((item:any) =>{
cacheArray.push({srfkey:item.srfkey,srfmajortext:item.srfmajortext});
})
}
this.view.initNavData(cacheArray);
if (this.view) {
this.view.$emit('viewload', args);
}
......
......@@ -93,7 +93,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -328,6 +329,23 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentEditGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentEditGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -350,7 +368,7 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
* @public
* @memberof IBZDepartmentEditGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -380,12 +398,17 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -463,6 +486,17 @@ 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});
}
}
/**
......@@ -480,10 +514,24 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
* @memberof IBZDepartmentEditGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-edit-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -983,6 +1031,9 @@ export default class IBZDepartmentEditGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -3,36 +3,33 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzdepartmenteditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdepartment.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class="content-container">
<div class='view-top-messages'>
</div>
......@@ -68,7 +65,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import EditViewEngine from '@engine/view/edit-view-engine';
......@@ -291,6 +289,23 @@ export default class IBZDepartmentEditViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentEditViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentEditViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -313,7 +328,7 @@ export default class IBZDepartmentEditViewBase extends Vue {
* @public
* @memberof IBZDepartmentEditViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -343,12 +358,17 @@ export default class IBZDepartmentEditViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -426,6 +446,17 @@ 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});
}
}
/**
......@@ -443,10 +474,24 @@ export default class IBZDepartmentEditViewBase extends Vue {
* @memberof IBZDepartmentEditViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-edit-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -880,6 +925,9 @@ export default class IBZDepartmentEditViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -104,7 +104,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -346,6 +347,23 @@ export default class IBZDepartmentGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -368,7 +386,7 @@ export default class IBZDepartmentGridViewBase extends Vue {
* @public
* @memberof IBZDepartmentGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -398,12 +416,17 @@ export default class IBZDepartmentGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -481,6 +504,17 @@ 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});
}
}
/**
......@@ -498,10 +532,24 @@ export default class IBZDepartmentGridViewBase extends Vue {
* @memberof IBZDepartmentGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -1308,6 +1356,9 @@ export default class IBZDepartmentGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -66,7 +66,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import MPickupViewEngine from '@engine/view/mpickup-view-engine';
......@@ -279,6 +280,23 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentMPickupViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentMPickupViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -301,7 +319,7 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
* @public
* @memberof IBZDepartmentMPickupViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -331,12 +349,17 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -414,6 +437,17 @@ 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});
}
}
/**
......@@ -431,10 +465,24 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
* @memberof IBZDepartmentMPickupViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-mpickup-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -553,6 +601,9 @@ export default class IBZDepartmentMPickupViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -40,7 +40,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import OptionViewEngine from '@engine/view/option-view-engine';
......@@ -251,6 +252,23 @@ export default class IBZDepartmentOptionViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentOptionViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentOptionViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -273,7 +291,7 @@ export default class IBZDepartmentOptionViewBase extends Vue {
* @public
* @memberof IBZDepartmentOptionViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -303,12 +321,17 @@ export default class IBZDepartmentOptionViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -386,6 +409,17 @@ 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});
}
}
/**
......@@ -403,10 +437,24 @@ export default class IBZDepartmentOptionViewBase extends Vue {
* @memberof IBZDepartmentOptionViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-option-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -521,6 +569,9 @@ export default class IBZDepartmentOptionViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -9,6 +9,11 @@
.ivu-card-body {
.content-container{
height: calc(100% - 64px);
.ivu-badge{
.ivu-badge-count{
top: -5px;
}
}
}
}
}
......
......@@ -48,7 +48,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import PickupGridViewEngine from '@engine/view/pickup-grid-view-engine';
......@@ -253,6 +254,23 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentPickupGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentPickupGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -275,7 +293,7 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
* @public
* @memberof IBZDepartmentPickupGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -305,12 +323,17 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -388,6 +411,17 @@ 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});
}
}
/**
......@@ -405,10 +439,24 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
* @memberof IBZDepartmentPickupGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-pickup-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -571,6 +619,9 @@ export default class IBZDepartmentPickupGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -33,7 +33,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import PickupViewEngine from '@engine/view/pickup-view-engine';
......@@ -246,6 +247,23 @@ export default class IBZDepartmentPickupViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentPickupViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentPickupViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -268,7 +286,7 @@ export default class IBZDepartmentPickupViewBase extends Vue {
* @public
* @memberof IBZDepartmentPickupViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -298,12 +316,17 @@ export default class IBZDepartmentPickupViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -381,6 +404,17 @@ 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});
}
}
/**
......@@ -398,10 +432,24 @@ export default class IBZDepartmentPickupViewBase extends Vue {
* @memberof IBZDepartmentPickupViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-pickup-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -519,6 +567,9 @@ export default class IBZDepartmentPickupViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -2,9 +2,10 @@
<div class='view-container detreeexpview ibzdepartment-tree-exp-view'>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzdepartmenttreeexpview"></app-studioaction>
<card class='view-card view-no-toolbar' :dis-hover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
</div>
<div class='content-container'>
<div class='view-top-messages'>
</div>
......@@ -30,7 +31,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDepartmentService from '@/service/ibzdepartment/ibzdepartment-service';
import TreeExpViewEngine from '@engine/view/tree-exp-view-engine';
......@@ -233,6 +235,23 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDepartmentTreeExpViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDepartmentTreeExpViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -255,7 +274,7 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
* @public
* @memberof IBZDepartmentTreeExpViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -285,12 +304,17 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdepartment':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -368,6 +392,17 @@ 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});
}
}
/**
......@@ -385,10 +420,24 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
* @memberof IBZDepartmentTreeExpViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdepartment-tree-exp-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -537,6 +586,9 @@ export default class IBZDepartmentTreeExpViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -3,36 +3,33 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzdeptmembereditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzdeptmember.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class="content-container">
<div class='view-top-messages'>
</div>
......@@ -68,7 +65,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDeptMemberService from '@/service/ibzdept-member/ibzdept-member-service';
import EditViewEngine from '@engine/view/edit-view-engine';
......@@ -291,6 +289,23 @@ export default class IBZDeptMemberEditViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDeptMemberEditViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDeptMemberEditViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -313,7 +328,7 @@ export default class IBZDeptMemberEditViewBase extends Vue {
* @public
* @memberof IBZDeptMemberEditViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -343,12 +358,17 @@ export default class IBZDeptMemberEditViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdeptmember':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -426,6 +446,17 @@ 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});
}
}
/**
......@@ -443,10 +474,24 @@ export default class IBZDeptMemberEditViewBase extends Vue {
* @memberof IBZDeptMemberEditViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdept-member-edit-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -880,6 +925,9 @@ export default class IBZDeptMemberEditViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -73,7 +73,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZDeptMemberService from '@/service/ibzdept-member/ibzdept-member-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -306,6 +307,23 @@ export default class IBZDeptMemberGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZDeptMemberGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZDeptMemberGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -328,7 +346,7 @@ export default class IBZDeptMemberGridViewBase extends Vue {
* @public
* @memberof IBZDeptMemberGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -358,12 +376,17 @@ export default class IBZDeptMemberGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzdeptmember':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -441,6 +464,17 @@ 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});
}
}
/**
......@@ -458,10 +492,24 @@ export default class IBZDeptMemberGridViewBase extends Vue {
* @memberof IBZDeptMemberGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzdept-member-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -874,7 +922,8 @@ export default class IBZDeptMemberGridViewBase extends Vue {
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
let localContext:any = null;
let localViewParam:any =null;
const batchAddPSAppViews=[
let batchAddPSAppViews:Array<any>=[];
batchAddPSAppViews=[
{view:{viewname:'ibzemployee-mpickup-view',height: 0,width: 0,title: '人员数据多项选择视图'},
res:['IBZEmployee'],
'resAppKey':'userid'},
......@@ -1204,6 +1253,9 @@ export default class IBZDeptMemberGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -3,22 +3,19 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzemployeechangepwdview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1.visabled" :disabled="toolBarModels.tbitem1.disabled" class='' @click="toolbar_click({ tag: 'tbitem1' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzemployee.changepwdviewtoolbar_toolbar.tbitem1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.changepwdviewtoolbar_toolbar.tbitem1.tip')}}</div>
</tooltip>
</div>
</div>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem1.visabled" :disabled="toolBarModels.tbitem1.disabled" class='' @click="toolbar_click({ tag: 'tbitem1' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzemployee.changepwdviewtoolbar_toolbar.tbitem1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.changepwdviewtoolbar_toolbar.tbitem1.tip')}}</div>
</tooltip>
</div>
</div>
<div class="content-container">
<div class='view-top-messages'>
</div>
......@@ -54,7 +51,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import EditViewEngine from '@engine/view/edit-view-engine';
......@@ -271,6 +269,23 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeChangePwdViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeChangePwdViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -293,7 +308,7 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
* @public
* @memberof IBZEmployeeChangePwdViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -323,12 +338,17 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -406,6 +426,17 @@ 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});
}
}
/**
......@@ -423,10 +454,24 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
* @memberof IBZEmployeeChangePwdViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-change-pwd-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -609,6 +654,9 @@ export default class IBZEmployeeChangePwdViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -2,9 +2,9 @@
<div class='view-container degridview ibzemployee-edit-grid-view'>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzemployeeeditgridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
</div>
<div class='content-container'>
<div class='view-top-messages'>
</div>
......@@ -96,7 +96,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -331,6 +332,23 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeEditGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeEditGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -353,7 +371,7 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
* @public
* @memberof IBZEmployeeEditGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -383,12 +401,17 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -466,6 +489,17 @@ 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});
}
}
/**
......@@ -483,10 +517,24 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
* @memberof IBZEmployeeEditGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-edit-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -986,6 +1034,9 @@ export default class IBZEmployeeEditGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -3,36 +3,33 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzemployeeeditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzemployee.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class="content-container">
<div class='view-top-messages'>
</div>
......@@ -68,7 +65,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import EditViewEngine from '@engine/view/edit-view-engine';
......@@ -291,6 +289,23 @@ export default class IBZEmployeeEditViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeEditViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeEditViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -313,7 +328,7 @@ export default class IBZEmployeeEditViewBase extends Vue {
* @public
* @memberof IBZEmployeeEditViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -343,12 +358,17 @@ export default class IBZEmployeeEditViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -426,6 +446,17 @@ 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});
}
}
/**
......@@ -443,10 +474,24 @@ export default class IBZEmployeeEditViewBase extends Vue {
* @memberof IBZEmployeeEditViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-edit-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -880,6 +925,9 @@ export default class IBZEmployeeEditViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -111,7 +111,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -356,6 +357,23 @@ export default class IBZEmployeeGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -378,7 +396,7 @@ export default class IBZEmployeeGridViewBase extends Vue {
* @public
* @memberof IBZEmployeeGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -408,12 +426,17 @@ export default class IBZEmployeeGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -491,6 +514,17 @@ 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});
}
}
/**
......@@ -508,10 +542,24 @@ export default class IBZEmployeeGridViewBase extends Vue {
* @memberof IBZEmployeeGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -1350,6 +1398,9 @@ export default class IBZEmployeeGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -66,7 +66,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import MPickupViewEngine from '@engine/view/mpickup-view-engine';
......@@ -279,6 +280,23 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeMPickupViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeMPickupViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -301,7 +319,7 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
* @public
* @memberof IBZEmployeeMPickupViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -331,12 +349,17 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -414,6 +437,17 @@ 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});
}
}
/**
......@@ -431,10 +465,24 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
* @memberof IBZEmployeeMPickupViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-mpickup-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -553,6 +601,9 @@ export default class IBZEmployeeMPickupViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -40,7 +40,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import OptionViewEngine from '@engine/view/option-view-engine';
......@@ -251,6 +252,23 @@ export default class IBZEmployeeOptionViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeeOptionViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeeOptionViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -273,7 +291,7 @@ export default class IBZEmployeeOptionViewBase extends Vue {
* @public
* @memberof IBZEmployeeOptionViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -303,12 +321,17 @@ export default class IBZEmployeeOptionViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -386,6 +409,17 @@ 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});
}
}
/**
......@@ -403,10 +437,24 @@ export default class IBZEmployeeOptionViewBase extends Vue {
* @memberof IBZEmployeeOptionViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-option-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -521,6 +569,9 @@ export default class IBZEmployeeOptionViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -9,6 +9,11 @@
.ivu-card-body {
.content-container{
height: calc(100% - 64px);
.ivu-badge{
.ivu-badge-count{
top: -5px;
}
}
}
}
}
......
......@@ -48,7 +48,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import PickupGridViewEngine from '@engine/view/pickup-grid-view-engine';
......@@ -253,6 +254,23 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeePickupGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeePickupGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -275,7 +293,7 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
* @public
* @memberof IBZEmployeePickupGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -305,12 +323,17 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -388,6 +411,17 @@ 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});
}
}
/**
......@@ -405,10 +439,24 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
* @memberof IBZEmployeePickupGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-pickup-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -571,6 +619,9 @@ export default class IBZEmployeePickupGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -33,7 +33,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZEmployeeService from '@/service/ibzemployee/ibzemployee-service';
import PickupViewEngine from '@engine/view/pickup-view-engine';
......@@ -246,6 +247,23 @@ export default class IBZEmployeePickupViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZEmployeePickupViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZEmployeePickupViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -268,7 +286,7 @@ export default class IBZEmployeePickupViewBase extends Vue {
* @public
* @memberof IBZEmployeePickupViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -298,12 +316,17 @@ export default class IBZEmployeePickupViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzemployee':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -381,6 +404,17 @@ 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});
}
}
/**
......@@ -398,10 +432,24 @@ export default class IBZEmployeePickupViewBase extends Vue {
* @memberof IBZEmployeePickupViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzemployee-pickup-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -519,6 +567,9 @@ export default class IBZEmployeePickupViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -3,36 +3,33 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzorganizationeditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem3.visabled" :disabled="toolBarModels.tbitem3.disabled" class='' @click="toolbar_click({ tag: 'tbitem3' }, $event)">
<i class='fa fa-save'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem3.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem3.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem7.visabled" :disabled="toolBarModels.tbitem7.disabled" class='' @click="toolbar_click({ tag: 'tbitem7' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem7.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem7.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<i-button v-show="toolBarModels.tbitem14.visabled" :disabled="toolBarModels.tbitem14.disabled" class='' @click="toolbar_click({ tag: 'tbitem14' }, $event)">
<i class='fa fa-copy'></i>
<span class='caption'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem14.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibzorganization.editviewtoolbar_toolbar.tbitem14.tip')}}</div>
</tooltip>
</div>
</div>
<div class="content-container">
<div class='view-top-messages'>
</div>
......@@ -68,7 +65,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import EditViewEngine from '@engine/view/edit-view-engine';
......@@ -291,6 +289,23 @@ export default class IBZOrganizationEditViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationEditViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationEditViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -313,7 +328,7 @@ export default class IBZOrganizationEditViewBase extends Vue {
* @public
* @memberof IBZOrganizationEditViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -343,12 +358,17 @@ export default class IBZOrganizationEditViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -426,6 +446,17 @@ 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});
}
}
/**
......@@ -443,10 +474,24 @@ export default class IBZOrganizationEditViewBase extends Vue {
* @memberof IBZOrganizationEditViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-edit-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -880,6 +925,9 @@ export default class IBZOrganizationEditViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -2,9 +2,9 @@
<div class='view-container degridview ibzorganization-grid-view'>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzorganizationgridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
</div>
<div class='content-container'>
<div class='view-top-messages'>
</div>
......@@ -107,7 +107,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import GridViewEngine from '@engine/view/grid-view-engine';
......@@ -349,6 +350,23 @@ export default class IBZOrganizationGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -371,7 +389,7 @@ export default class IBZOrganizationGridViewBase extends Vue {
* @public
* @memberof IBZOrganizationGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -401,12 +419,17 @@ export default class IBZOrganizationGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -484,6 +507,17 @@ 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});
}
}
/**
......@@ -501,10 +535,24 @@ export default class IBZOrganizationGridViewBase extends Vue {
* @memberof IBZOrganizationGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
if(this.formDruipart){
this.formDruipart.subscribe((res:any) =>{
if(Object.is(res.action,'save')){
......@@ -1301,6 +1349,9 @@ export default class IBZOrganizationGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -40,7 +40,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import OptionViewEngine from '@engine/view/option-view-engine';
......@@ -251,6 +252,23 @@ export default class IBZOrganizationOptionViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationOptionViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationOptionViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -273,7 +291,7 @@ export default class IBZOrganizationOptionViewBase extends Vue {
* @public
* @memberof IBZOrganizationOptionViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -303,12 +321,17 @@ export default class IBZOrganizationOptionViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -386,6 +409,17 @@ 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});
}
}
/**
......@@ -403,10 +437,24 @@ export default class IBZOrganizationOptionViewBase extends Vue {
* @memberof IBZOrganizationOptionViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-option-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -521,6 +569,9 @@ export default class IBZOrganizationOptionViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -9,6 +9,11 @@
.ivu-card-body {
.content-container{
height: calc(100% - 64px);
.ivu-badge{
.ivu-badge-count{
top: -5px;
}
}
}
}
}
......
......@@ -48,7 +48,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import PickupGridViewEngine from '@engine/view/pickup-grid-view-engine';
......@@ -253,6 +254,23 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationPickupGridViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationPickupGridViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -275,7 +293,7 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
* @public
* @memberof IBZOrganizationPickupGridViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -305,12 +323,17 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -388,6 +411,17 @@ 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});
}
}
/**
......@@ -405,10 +439,24 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
* @memberof IBZOrganizationPickupGridViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-pickup-grid-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -571,6 +619,9 @@ export default class IBZOrganizationPickupGridViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -33,7 +33,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import PickupViewEngine from '@engine/view/pickup-view-engine';
......@@ -246,6 +247,23 @@ export default class IBZOrganizationPickupViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationPickupViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationPickupViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -268,7 +286,7 @@ export default class IBZOrganizationPickupViewBase extends Vue {
* @public
* @memberof IBZOrganizationPickupViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -298,12 +316,17 @@ export default class IBZOrganizationPickupViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -381,6 +404,17 @@ 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});
}
}
/**
......@@ -398,10 +432,24 @@ export default class IBZOrganizationPickupViewBase extends Vue {
* @memberof IBZOrganizationPickupViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-pickup-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -519,6 +567,9 @@ export default class IBZOrganizationPickupViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
/**
......
......@@ -2,9 +2,10 @@
<div class='view-container detreeexpview ibzorganization-tree-exp-view'>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="ibzorganizationtreeexpview"></app-studioaction>
<card class='view-card view-no-toolbar' :dis-hover="true" :bordered="false">
<p slot='title'>
<div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
</div>
<div class='content-container'>
<div class='view-top-messages'>
</div>
......@@ -30,7 +31,8 @@
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { UIActionTool,Util } from '@/utils';
import { Subject } from 'rxjs';
import NavDataService from '@/service/app/navdata-service';
import { Subject,Subscription } from 'rxjs';
import IBZOrganizationService from '@/service/ibzorganization/ibzorganization-service';
import TreeExpViewEngine from '@engine/view/tree-exp-view-engine';
......@@ -233,6 +235,23 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
});
}
/**
* 应用导航服务
*
* @type {*}
* @memberof IBZOrganizationTreeExpViewBase
*/
public navDataService = NavDataService.getInstance(this.$store);
/**
* 导航服务事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof IBZOrganizationTreeExpViewBase
*/
public serviceStateEvent: Subscription | undefined;
/**
* 应用上下文
*
......@@ -255,7 +274,7 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
* @public
* @memberof IBZOrganizationTreeExpViewBase
*/
public parseViewParam(): void {
public parseViewParam(inputvalue:any = null): void {
for(let key in this.context){
delete this.context[key];
}
......@@ -285,12 +304,17 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
});
});
this.$viewTool.formatRouteParams(tempValue,this.$route,this.context,this.viewparams);
if(inputvalue){
Object.assign(this.context,{'ibzorganization':inputvalue});
}
if(this.$store.getters.getAppData() && this.$store.getters.getAppData().context){
Object.assign(this.context,this.$store.getters.getAppData().context);
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
//初始化导航数据
this.initNavData();
}
/**
......@@ -368,6 +392,17 @@ 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});
}
}
/**
......@@ -385,10 +420,24 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
* @memberof IBZOrganizationTreeExpViewBase
*/
public afterCreated(){
const secondtag = this.$util.createUUID();
this.$store.commit('viewaction/createdView', { viewtag: this.viewtag, secondtag: secondtag });
this.viewtag = secondtag;
this.parseViewParam();
let _this:any = this;
const secondtag = _this.$util.createUUID();
_this.$store.commit('viewaction/createdView', { viewtag: _this.viewtag, secondtag: secondtag });
_this.viewtag = secondtag;
_this.parseViewParam();
_this.serviceStateEvent = _this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
if(!Object.is(name,'ibzorganization-tree-exp-view')){
return;
}
if (Object.is(action, 'viewrefresh')) {
_this.$nextTick(()=>{
_this.parseViewParam(data);
if(_this.engine){
_this.engine.load();
}
});
}
});
}
......@@ -537,6 +586,9 @@ export default class IBZOrganizationTreeExpViewBase extends Vue {
}
})
}
if (this.serviceStateEvent) {
this.serviceStateEvent.unsubscribe();
}
}
}
......
......@@ -3,7 +3,9 @@
}
.ouindex-view{
position: relative;
}
.index_view{
margin-bottom: 1px;
width: 100%;
......@@ -19,6 +21,7 @@
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
.page-logo{
display: flex;
align-items: center;
......@@ -73,7 +76,6 @@
}
}
.ivu-layout .ivu-layout-sider .ivu-layout-sider-children .sider-top{
padding: 4px;
margin-top: -2px;
line-height: 58px;
text-align: center;
......@@ -81,11 +83,22 @@
cursor: pointer;
}
.sider-top{
padding: 0px;
margin-bottom: 1px;
height:65px;
box-shadow: 0 1px 2px 0 rgba(0,0,0,.15);
> .page-logo{
display: flex;
align-items: center;
height: 100%;
>.menuicon{
display: block;
text-align: center;
font-weight: 300;
font-size: 28px;
width:64px;
height:100%;
}
}
}
}
......
此差异已折叠。
......@@ -909,4 +909,26 @@ export default class EntityService {
return Http.getInstance().post(`/${this.APPDENAME}/${data[this.APPDEKEY]}/testuserexistworklist`,requestData,isloading);
}
/**
* 获取所有应用数据
*
* @param context
* @param data
* @param isloading
*/
public async getAllApp(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(`uaa/access-center/app-switcher/default`,data,isloading);
}
/**
* 更新已选择的应用
*
* @param context
* @param data
* @param isloading
*/
public async updateChooseApp(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().put(`uaa/access-center/app-switcher/default`,data,isloading);
}
}
\ No newline at end of file
此差异已折叠。
......@@ -4,29 +4,6 @@
.app-theme-icon {
color: #6ba1d1;
}
/* .el-menu.el-menu--horizontal {
> .el-menu-item, > .el-submenu > .el-submenu__title {
background: #2d5f8b;
color: #6ba1d1;
i {
color: #6ba1d1;
}
}
> .el-menu-item.is-active, > .el-submenu.is-active > .el-submenu__title {
background-color: #4276a4;
color: #f1f1f1;
i {
color: #f1f1f1;
}
}
> .el-menu-item:hover, > .el-submenu:hover > .el-submenu__title {
background-color: #3c6c95;
color: #f1f1f1 !important;
i {
color: #f1f1f1;
}
}
} */
}
> .ivu-layout {
......@@ -34,7 +11,12 @@
background-color: #4276a4;
.sider-top {
color: hsla(0,0%,100%,.8);
background: #2d5f8b;
background-color: #4276a4;
>.page-logo{
>.menuicon:hover{
background-color: #2d5f8b;
}
}
}
}
}
......
......@@ -132,13 +132,16 @@ export class Interceptors {
* @memberof Interceptors
*/
private doNoLogin(data: any = {}): void {
// 清除user和token
// 清除user、token和cookie
if(localStorage.getItem('user')){
localStorage.removeItem('user');
}
if(localStorage.getItem('token')){
localStorage.removeItem('token');
}
let leftTime = new Date();
leftTime.setTime(leftTime.getSeconds() - 1);
document.cookie = "ibzuaa-token=;expires=" + leftTime.toUTCString();
if (data.loginurl && !Object.is(data.loginurl, '') && data.originurl && !Object.is(data.originurl, '')) {
let _url = encodeURIComponent(encodeURIComponent(window.location.href));
let loginurl: string = data.loginurl;
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册