提交 1fb0f6f1 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

......@@ -68,15 +68,14 @@ import AppUploadFileInfo from './components/app-upload-file-info/app-upload-file
import ContextMenu from './components/context-menu/context-menu'
import AppColumnFormat from './components/app-column-format/app-column-format.vue'
import AppQuickGroup from './components/app-quick-group/app-quick-group.vue'
import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vue'
import IBizGroupPicker from './components/ibiz-group-picker/ibiz-group-picker.vue'
import AppGroupPicker from './components/app-group-picker/app-group-picker.vue'
import AppWFApproval from './components/app-wf-approval/app-wf-approval.vue'
import Breadcrumb from './components/app-breadcrumb/app-breadcrumb.vue'
import AppTransfer from './components/app-transfer/app-transfer.vue'
import ContextMenuDrag from './components/context-menu-drag/context-menu-drag.vue'
import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import AppGroupSelect from './components/app-group-select/app-group-select.vue'
// 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister;
// 全局挂载功能服务注册中心
......@@ -158,8 +157,8 @@ export const AppComponents = {
v.component('app-quick-group',AppQuickGroup);
v.component('app-org-select',AppOrgSelect);
v.component('app-department-select',AppDepartmentSelect);
v.component('ibiz-group-select',IBizGroupSelect);
v.component('ibiz-group-picker',IBizGroupPicker);
v.component('app-group-select',AppGroupSelect);
v.component('app-group-picker',AppGroupPicker);
v.component('app-wf-approval',AppWFApproval);
v.component('app-breadcrumb',Breadcrumb);
v.component('app-transfer',AppTransfer);
......
......@@ -4,7 +4,7 @@
<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">
<span v-if="isShowSelected(item)">
<dropdown trigger='click' @on-click="selectNavData($event,item)">
<span class="app-breadcrumb-selected">
<i class="el-icon-caret-bottom"></i>
......@@ -195,6 +195,15 @@ export default class Breadcrumb extends Vue {
}
}
/**
* 是否显示下拉列表
*
* @memberof Breadcrumb
*/
public isShowSelected(item:any){
return item.isselected && !this.$util.isEmpty(item.srfkey);
}
}
</script>
......
......@@ -6,7 +6,6 @@
<script lang="ts">
import { Vue, Component, Watch, Prop, Model } from 'vue-property-decorator';
@Component({
})
export default class AppDepartmentSelect extends Vue {
......
......@@ -19,15 +19,14 @@
import { Component, Vue, Prop, Watch } from 'vue-property-decorator';
import { Subject } from 'rxjs';
import { Http } from '../../utils';
@Component({})
export default class IBizGroupPicker extends Vue {
export default class AppGroupPicker extends Vue {
/**
* 视图上下文参数
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
@Prop() viewdata: any;
......@@ -35,7 +34,7 @@ export default class IBizGroupPicker extends Vue {
* 视图参数
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
@Prop() viewparam: any;
......@@ -43,7 +42,7 @@ export default class IBizGroupPicker extends Vue {
* 多选
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected multiple: boolean = false;
......@@ -51,7 +50,7 @@ export default class IBizGroupPicker extends Vue {
* 加载树url
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected treeurl:any;
......@@ -59,7 +58,7 @@ export default class IBizGroupPicker extends Vue {
* 加载人员url
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected url:any;
......@@ -67,7 +66,7 @@ export default class IBizGroupPicker extends Vue {
* 树数据集
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected treeItems: any[] = [];
......@@ -75,7 +74,7 @@ export default class IBizGroupPicker extends Vue {
* 分组表数据集
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected cardItems: any[] = [];
......@@ -83,7 +82,7 @@ export default class IBizGroupPicker extends Vue {
* 视图上下文参数对象
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected viewData: any;
......@@ -91,7 +90,7 @@ export default class IBizGroupPicker extends Vue {
* 视图参数对象
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected viewParam: any;
......@@ -99,7 +98,7 @@ export default class IBizGroupPicker extends Vue {
* 树选中值
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected treeSelectVal: string = '';
......@@ -107,7 +106,7 @@ export default class IBizGroupPicker extends Vue {
* 分组表选中集合
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected cardSelctVal: any = [];
......@@ -115,7 +114,7 @@ export default class IBizGroupPicker extends Vue {
* 数据选中集合
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
protected selects: any[] = [];
......@@ -123,7 +122,7 @@ export default class IBizGroupPicker extends Vue {
* 是否显示树
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
get showTree() {
if(this.viewParam) {
......@@ -135,7 +134,7 @@ export default class IBizGroupPicker extends Vue {
* 生命周期
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public created() {
if(!this.viewdata || !this.viewparam) {
......@@ -159,7 +158,7 @@ export default class IBizGroupPicker extends Vue {
* 加载数据
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public load() {
if(this.showTree) {
......@@ -173,7 +172,7 @@ export default class IBizGroupPicker extends Vue {
* 加载树数据
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public loadTree() {
let orgid = this.viewParam.filtervalue;
......@@ -192,7 +191,7 @@ export default class IBizGroupPicker extends Vue {
* 加载分组表数据
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public loadGroupData(key: string) {
let tempUrl = this.url.replace('${selected-orgid}',key);
......@@ -210,7 +209,7 @@ export default class IBizGroupPicker extends Vue {
* 树选中
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public treeSelect(event: any) {
if(!event || JSON.parse(event).length == 0) {
......@@ -224,7 +223,7 @@ export default class IBizGroupPicker extends Vue {
* 分组表选中
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public groupSelect(event: any) {
if (!event || !event.select) {
......@@ -256,7 +255,7 @@ export default class IBizGroupPicker extends Vue {
* 确认
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public onOK() {
this.$emit('close', this.selects);
......@@ -266,7 +265,7 @@ export default class IBizGroupPicker extends Vue {
* 取消
*
* @type {*}
* @memberof IBizGroupPicker
* @memberof AppGroupPicker
*/
public onCancel() {
this.$emit('close');
......
......@@ -23,12 +23,12 @@ import { Component, Vue, Prop, Watch } from 'vue-property-decorator';
import { Subject } from 'rxjs';
@Component({})
export default class IBizGroupSelect extends Vue {
export default class AppGroupSelect extends Vue {
/**
* 名称标识
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() name!: string;
......@@ -36,7 +36,7 @@ export default class IBizGroupSelect extends Vue {
* 树加载地址
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() treeurl?:boolean;
......@@ -44,7 +44,7 @@ export default class IBizGroupSelect extends Vue {
* 数据接口地址
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() url!: string;
......@@ -52,7 +52,7 @@ export default class IBizGroupSelect extends Vue {
* 多选
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop({default: false}) multiple?: boolean;
......@@ -60,7 +60,7 @@ export default class IBizGroupSelect extends Vue {
* 数据对象
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() data: any;
......@@ -68,7 +68,7 @@ export default class IBizGroupSelect extends Vue {
* 过滤属性标识
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() filter?: string;
......@@ -76,7 +76,7 @@ export default class IBizGroupSelect extends Vue {
* 是否启用
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() disabled?: boolean;
......@@ -84,7 +84,7 @@ export default class IBizGroupSelect extends Vue {
* 值
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() value: any;
......@@ -92,7 +92,7 @@ export default class IBizGroupSelect extends Vue {
* 上下文参数
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() context: any;
......@@ -100,7 +100,7 @@ export default class IBizGroupSelect extends Vue {
* 关联属性
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() valueitem: any;
......@@ -108,7 +108,7 @@ export default class IBizGroupSelect extends Vue {
* 填充属性
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Prop() fillmap: any;
......@@ -116,7 +116,7 @@ export default class IBizGroupSelect extends Vue {
* 选中项集合
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
protected selects: any[] = [];
......@@ -124,7 +124,7 @@ export default class IBizGroupSelect extends Vue {
* 值变化
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
@Watch('value')
onValueChange(newVal: any) {
......@@ -154,7 +154,7 @@ export default class IBizGroupSelect extends Vue {
* 单选时选中名称
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
get selectName() {
if(this.selects.length > 0) {
......@@ -166,11 +166,11 @@ export default class IBizGroupSelect extends Vue {
* 打开选择视图
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
public openView() {
const view: any = {
viewname: 'ibiz-group-picker',
viewname: 'app-group-picker',
title: '分组选择'
};
const context: any = JSON.parse(JSON.stringify(this.context));
......@@ -208,7 +208,7 @@ export default class IBizGroupSelect extends Vue {
* 选择视图关闭
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
public openViewClose(result: any) {
this.selects = [];
......@@ -222,7 +222,7 @@ export default class IBizGroupSelect extends Vue {
* 数据删除
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
public remove(item: any) {
this.selects.splice(this.selects.indexOf(item), 1);
......@@ -233,7 +233,7 @@ export default class IBizGroupSelect extends Vue {
* 设置值
*
* @type {*}
* @memberof IBizGroupSelect
* @memberof AppGroupSelect
*/
public setValue() {
let item: any = {};
......
......@@ -5,4 +5,7 @@
margin-right: 10px;
padding: 0 5px;
}
}
.user-dropdownMenu{
margin-top: 9px;
}
\ No newline at end of file
<template>
<div class='app-header-user'>
<dropdown @on-click="userSelect" :transfer="true">
<dropdown transfer-class-name="user-dropdownMenu" @on-click="userSelect" :transfer="true">
<div class='user'>
<span>{{user.name ? user.name : $t('components.appUser.name')}}</span>
&nbsp;&nbsp;<avatar :src="user.avatar" />
</div>
<dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'>
<dropdown-item name='logout' style='font-size: 15px !important;'>
<span><i aria-hidden='true' class='fa fa-cogs' style='margin-right: 8px;'></i></span>
<span><i aria-hidden='true' class='ivu-icon ivu-icon-md-power' style='margin-right: 8px;'></i></span>
<span>{{$t('components.appUser.logout')}}</span>
</dropdown-item>
</dropdown-menu>
......
......@@ -2,12 +2,12 @@
<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="menu-header" @click="rightDrawerVisiable=!rightDrawerVisiable">
<div class="menuicon">
<Icon type="md-apps" />
</div>
<div class="content">
<span>服务</span>
<span>全部应用</span>
</div>
<div class="forward">
<Icon type="ios-arrow-forward" />
......@@ -16,7 +16,7 @@
<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">
<li @click="skipTo(item)" class="list-group-item" v-for="(item,index) in selectlist" :key="item.id">
<el-row>
<el-col class="menuicon" :span="4">
<span>
......@@ -30,7 +30,7 @@
<el-col :span="6">
<div class="bar">
<div>
<Icon type="ios-close" @click="removeAt(index)" />
<Icon type="ios-close" @click.stop="removeAt(index)" />
</div>
<div>
<Icon type="ios-move handle" />
......@@ -45,12 +45,12 @@
</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">
<div @click="skipTo(item)" 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)">
<span v-if="isStar(item.id)" class="star" @click.stop="outStar(item)">
<Icon type="ios-star" />
</span>
<span v-else class="star" @click="onStar(item)">
<span v-else class="star" @click.stop="onStar(item)">
<Icon type="ios-star-outline" />
</span>
</div>
......@@ -73,6 +73,8 @@ import { Vue,Component,Provide,Watch,Prop,Model } from "vue-property-decorator";
})
export default class ContextMenuDrag extends Vue {
public panelShow: boolean = true;
/**
* 抽屉菜单状态
*
......@@ -206,6 +208,23 @@ export default class ContextMenuDrag extends Vue {
return istar;
}
/**
* 跳转到应用
*
* @returns
* @memberof ContextMenuDrag
*/
public skipTo(item: any){
if(item.addr){
let params: any = {};
params.model = this.selectlist;
const put: Promise<any> = this.entityService.updateChooseApp(null,params);
window.location.href = item.addr;
}else{
this.$message.info("未找到该应用");
}
}
/**
* 加入列表
*
......
......@@ -103,7 +103,7 @@ export default class EditViewEngine extends ViewEngine {
public onFormLoad(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new');
this.setTabCaption(this.view.model.dataInfo);
this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0'));
const newdata: boolean = !Object.is(arg.srfuf, '1');
this.calcToolbarItemState(newdata);
}
......@@ -117,7 +117,7 @@ export default class EditViewEngine extends ViewEngine {
public onFormSave(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new');
this.setTabCaption(this.view.model.dataInfo);
this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0'));
const newdata: boolean = !Object.is(arg.srfuf, '1');
this.calcToolbarItemState(newdata);
this.view.$emit('save',arg);
......@@ -245,7 +245,7 @@ export default class EditViewEngine extends ViewEngine {
*
* @memberof EditViewEngine
*/
public setTabCaption(info: string): void {
public setTabCaption(info: string,isNew:boolean): void {
let viewdata: any = this.view.model;
let index:number = viewdata.srfTitle.indexOf("-");
if (viewdata && info && !Object.is(info, '')) {
......@@ -259,7 +259,7 @@ export default class EditViewEngine extends ViewEngine {
this.view.$route.meta.info = info;
}
this.view.model.srfTitle = `${this.view.$t(viewdata.srfTitle)}-${viewdata.dataInfo}`;
this.view.initNavDataWithRoute();
this.view.initNavDataWithRoute(null,isNew);
}
}
......
......@@ -64,14 +64,14 @@
// tab分页模式首页布局
.index_tab_content{
.view-container {
>.view-container {
height: calc(100% - 65px);
margin: 0px 12px;
}
}
// 面包屑模式首页布局
.index_route_content{
.view-container {
>.view-container {
height: calc(100% - 36px);
margin: 12px;
}
......@@ -107,7 +107,6 @@
}
> .toolbar-container{
margin-left: auto;
display: inline-block;
display: flex;
flex-wrap: wrap;
align-items: center;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册