bug修改、菜单三角形

This commit is contained in:
zhaoxiao
2021-10-15 15:48:59 +08:00
parent 3c4d61bff1
commit e3eef7508a
10 changed files with 258 additions and 159 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<template>
<!-- 父组件的文件id如果是异步获取的 需要加上v-if判断-->
<div style="display: inline-block">
<div>
<!-- 2021-10-09 author:zx 把span换成了div实现多个文件显示换行-->
<div v-for="(item) of fileList" :key="item.id">{{ item.name + ' ' }}
<span class="m-l-4 color-blue" @click="handleDownLoad(item)">下载</span>
+131 -106
View File
@@ -20,7 +20,7 @@
<span v-if="device === 'desktop'">欢迎进入标准所协同工作平台</span>
<span v-else>Jero-Boot</span>
<user-menu />
<user-menu/>
</div>
<!-- 顶部导航栏模式 -->
<div v-else :class="['top-nav-header-index']">
@@ -48,128 +48,128 @@
</template>
<script>
import UserMenu from '../tools/UserMenu'
import SMenu from '../menu/'
import Logo from '../tools/Logo'
import UserMenu from '../tools/UserMenu'
import SMenu from '../menu/'
import Logo from '../tools/Logo'
import { mixin } from '@/utils/mixin.js'
import { mixin } from '@/utils/mixin.js'
export default {
name: 'GlobalHeader',
components: {
UserMenu,
SMenu,
Logo,
export default {
name: 'GlobalHeader',
components: {
UserMenu,
SMenu,
Logo
},
mixins: [mixin],
props: {
mode: {
type: String,
// sidemenu, topmenu
default: 'sidemenu'
},
mixins: [mixin],
props: {
mode: {
type: String,
// sidemenu, topmenu
default: 'sidemenu'
},
menus: {
type: Array,
required: true
},
theme: {
type: String,
required: false,
default: 'dark'
},
collapsed: {
type: Boolean,
required: false,
default: false
},
device: {
type: String,
required: false,
default: 'desktop'
}
menus: {
type: Array,
required: true
},
data() {
return {
headerBarFixed: false,
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
topMenuStyle: {
headerIndexLeft: {},
topNavHeader: {},
headerIndexRight: {},
topSmenuStyle: {}
},
chatStatus: '',
isIndexBool:true,
}
theme: {
type: String,
required: false,
default: 'dark'
},
created() {
// 防止刷新页面 上面导航栏不存在
this.isIndexBool = this.$route.path === '/dashboard/analysis'
collapsed: {
type: Boolean,
required: false,
default: false
},
watch: {
/** 监听设备变化 */
device() {
if (this.mode === 'topmenu') {
this.buildTopMenuStyle()
}
},
/** 监听导航栏模式变化 */
mode(newVal) {
if (newVal === 'topmenu') {
this.buildTopMenuStyle()
}
},
/** 监听是否是首页 */
$route(val){
this.isIndexBool = val.path === '/dashboard/analysis'
}
},
//update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
mounted() {
window.addEventListener('scroll', this.handleScroll)
device: {
type: String,
required: false,
default: 'desktop'
}
},
data() {
return {
headerBarFixed: false,
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
topMenuStyle: {
headerIndexLeft: {},
topNavHeader: {},
headerIndexRight: {},
topSmenuStyle: {}
},
chatStatus: '',
isIndexBool: true
}
},
created() {
// 防止刷新页面 上面导航栏不存在
this.isIndexBool = this.$route.path === '/dashboard/analysis'
},
watch: {
/** 监听设备变化 */
device() {
if (this.mode === 'topmenu') {
this.buildTopMenuStyle()
}
//update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
},
methods: {
handleScroll() {
if (this.autoHideHeader) {
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
if (scrollTop > 100) {
this.headerBarFixed = true
} else {
this.headerBarFixed = false
}
/** 监听导航栏模式变化 */
mode(newVal) {
if (newVal === 'topmenu') {
this.buildTopMenuStyle()
}
},
/** 监听是否是首页 */
$route(val) {
this.isIndexBool = val.path === '/dashboard/analysis'
}
},
//update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
mounted() {
window.addEventListener('scroll', this.handleScroll)
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
if (this.mode === 'topmenu') {
this.buildTopMenuStyle()
}
//update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
},
methods: {
handleScroll() {
if (this.autoHideHeader) {
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
if (scrollTop > 100) {
this.headerBarFixed = true
} else {
this.headerBarFixed = false
}
},
toggle() {
this.$emit('toggle')
},
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
buildTopMenuStyle() {
if (this.mode === 'topmenu') {
if (this.device === 'mobile') {
// 手机端需要清空样式,否则显示会错乱
this.topMenuStyle.topNavHeader = {}
this.topMenuStyle.topSmenuStyle = {}
this.topMenuStyle.headerIndexRight = {}
this.topMenuStyle.headerIndexLeft = {}
} else {
let rightWidth = '360px'
this.topMenuStyle.topNavHeader = { 'min-width': '165px' }
this.topMenuStyle.topSmenuStyle = { 'width': 'calc(100% - 165px)' }
this.topMenuStyle.headerIndexRight = { 'min-width': rightWidth }
this.topMenuStyle.headerIndexLeft = { 'width': `calc(100% - ${rightWidth})` }
}
} else {
this.headerBarFixed = false
}
},
toggle() {
this.$emit('toggle')
},
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
buildTopMenuStyle() {
if (this.mode === 'topmenu') {
if (this.device === 'mobile') {
// 手机端需要清空样式,否则显示会错乱
this.topMenuStyle.topNavHeader = {}
this.topMenuStyle.topSmenuStyle = {}
this.topMenuStyle.headerIndexRight = {}
this.topMenuStyle.headerIndexLeft = {}
} else {
let rightWidth = '360px'
this.topMenuStyle.topNavHeader = { 'min-width': '165px' }
this.topMenuStyle.topSmenuStyle = { 'width': 'calc(100% - 165px)' }
this.topMenuStyle.headerIndexRight = { 'min-width': rightWidth }
this.topMenuStyle.headerIndexLeft = { 'width': `calc(100% - ${ rightWidth })` }
}
}
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
}
//update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
}
}
</script>
<style lang="less" scoped>
@@ -181,9 +181,11 @@
.top-nav-header-index {
background: #069F99 !important;
.header-index-wide {
margin-left: 10px;
.header-index-left{
.header-index-left {
background: #069F99;
}
@@ -191,9 +193,30 @@
height: @height;
line-height: @height;
}
//去掉自带菜单选中下面的边框,添加三角形
/deep/ .ant-menu-horizontal > .ant-menu-item-selected {
border-bottom: 2px solid transparent;
&::after {
content: '';
width: 20px;
height: 12px;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 6px solid #FFFFFF;
border-top: 6px solid transparent;
position: absolute;
top: 40px;
left: 50%;
transform: translateX(-50%);
}
}
}
.trigger {
line-height: 64px;
&:hover {
background: rgba(0, 0, 0, 0.05);
}
@@ -208,6 +231,7 @@
transition: background 300ms;
/* dark 样式 */
&.dark {
color: #000000;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
@@ -227,6 +251,7 @@
line-height: @height;
}
/* update_end author:scott date:20190220 for: 缩小首页布局顶部的高度*/
</style>
+19 -8
View File
@@ -3,7 +3,6 @@
<template v-if="statusType && statusNo">
<a-tooltip
overlay-class-name="status-tooltip"
placement="topLeft"
:title="currentTitle"
arrow-point-at-center
:mouse-enter-delay="0.1"
@@ -94,7 +93,12 @@ export default {
}else {
// 应收金额不为0 都正常判断
if(this.statusNo === 0 ){
return error
// 开票或邮寄时,不需要发票
if ((this.statusKey === 'bill' || this.statusKey === 'mail') && this.statuObj.needInvoice === 0) {
return zero
} else {
return error
}
}else if(this.statusNo === 1){
return finished
}else if(this.statusNo === 2){
@@ -144,6 +148,7 @@ export default {
},
/**
* 显示的模板数据,即根据返回值怎么处理数据
* 添加字段是否存在的判断
* @param item -传入的item的值
* @return 返回一个模板字符串用于后续显示,可按照需求进行更改
*/
@@ -151,12 +156,18 @@ export default {
let result = ''
console.log(item)
// 来款
if(this.statusKey === 'paymentRecord') {
result = `${item.paymentDate}到账${item.amountReceived}`
} else if(this.statusKey === 'bill') {
result = `${item.billDate}新增发票,发票单号:${item.billNo}`
} else if(this.statusKey === 'mail' || this.statusKey === 'payMailContract') {
result = `${item.sendDate}新增邮寄信息,邮寄单号:${item.postNo}`
if (this.statusKey === 'paymentRecord') {
if (item.paymentDate || item.amountReceived) {
result = `${ item.paymentDate }到账${ item.amountReceived }`
}
} else if (this.statusKey === 'bill') {
if (item.billDate || item.billNo) {
result = `${ item.billDate }新增发票,发票单号:${ item.billNo }`
}
} else if (this.statusKey === 'mail') {
if (item.sendDate || item.postNo) {
result = `${ item.sendDate }新增邮寄信息,邮寄单号:${ item.postNo }`
}
}
return result
}
+45 -30
View File
@@ -10,63 +10,61 @@
<section class="base-info">
<h3 class="title">基本信息</h3>
<a-row :gutter="24">
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>项目名称</label>
<span><j-ellipsis :value="basicInfo.chargeProject" :length="20"></j-ellipsis></span>
</a-col>
<!-- 我的项目--款项用途-->
<a-col :span="12" v-if="projectType === 1">
<a-col :span="12" v-if="projectType === 1" class="detail-item">
<label>款项用途</label>
<span><j-ellipsis :value="basicInfo.chargeUse_dictText" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>项目负责人</label>
<span><j-ellipsis :value="basicInfo.principalName" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>应付金额</label>
<span><j-ellipsis :value="`${basicInfo.receivableAmount}元`" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>实付金额</label>
<span><j-ellipsis :value="`${basicInfo.paidAmount}元`" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>打包</label>
<span><j-ellipsis :value="basicInfo.pack_dictText" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>需要发票</label>
<span><j-ellipsis :value="basicInfo.needInvoice_dictText" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<a-col :span="12" class="detail-item">
<label>付款方式</label>
<span><j-ellipsis :value="basicInfo.chargeWay_dictText" :length="20"></j-ellipsis></span>
</a-col>
<!-- 合同-->
<a-col :span="12" v-if="basicInfo.chargeWay === 2">
<label>合同号</label>
<a-col :span="12" v-if="basicInfo.chargeWay === 2" class="detail-item">
<label>合同</label>
<span class="contract-num" @click="toContractDetail"><j-ellipsis :value="basicInfo.contractNum"
:length="20"></j-ellipsis></span>
</a-col>
<!-- 收费通知-->
<a-col :span="12" v-if="basicInfo.chargeWay === 3">
<a-col :span="12" v-if="basicInfo.chargeWay === 3" class="detail-item">
<label>收费通知号</label>
<span><j-ellipsis :value="basicInfo.chargeNoticeNo" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12" v-if="basicInfo.chargeWay === 3">
<a-col :span="12" v-if="basicInfo.chargeWay === 3" class="detail-item">
<label>收费通知</label>
<span><preview-file :file-id="basicInfo.chargeNoticeId"></preview-file></span>
</a-col>
</a-row>
<a-row :gutter="24" v-if="basicInfo.files">
<a-col :span="12">
<div class="files">
<a-col class="detail-item">
<label>项目资料</label>
<div>
<span>
<preview-file :file-id="basicInfo.files"></preview-file>
</div>
</div>
</span>
</a-col>
</a-row>
</section>
@@ -74,13 +72,15 @@
<!--到账信息begin-->
<section class="payment-info">
<h3 class="title">付款信息</h3>
<section class="payment-info-title">付款信息</section>
<template v-if="paymentInfoList && paymentInfoList.length > 0">
<div class="payment-info-content" v-for="item of paymentInfoList" :key="item.id">
{{ item.paymentDate }}付款{{ item.amountReceived }}
</div>
</template>
<a-list class="payment-info-content" v-else :data-source="[]"/>
<div class="payment-info-box">
<section class="payment-info-title">付款信息</section>
<template v-if="paymentInfoList && paymentInfoList.length > 0">
<div class="payment-info-content" v-for="item of paymentInfoList" :key="item.id">
{{ item.paymentDate }}付款{{ item.amountReceived }}
</div>
</template>
<a-list v-else :data-source="[]"/>
</div>
</section>
<!--到账信息end-->
<!--开票邮寄信息begin-->
@@ -175,17 +175,17 @@ const columns = [
{
title: '项目',
align: 'center',
dataIndex: 'chargeCompanyName'
dataIndex: 'projectName'
},
{
title: '邮寄人',
align: 'center',
dataIndex: 'liaisonMan'
dataIndex: 'contactName'
},
{
title: '快递',
align: 'center',
dataIndex: 'sendMethod'
dataIndex: 'sendMethod_dictText'
},
{
title: '快递单号',
@@ -354,9 +354,20 @@ h3.title::before {
.ant-col {
margin: 3px 0;
}
}
.files {
display: flex;
.detail-item {
max-width: 100%;
display: flex;
label {
flex-shrink: 0;
display: block;
}
span {
word-break: break-all;
display: block;
}
}
@@ -364,6 +375,10 @@ h3.title::before {
.payment-info {
margin-bottom: 14px;
&-box {
border: 1px solid #ccc;
}
&-title {
text-align: center;
font-size: 14px;
@@ -379,7 +394,7 @@ h3.title::before {
//background: #efefef;
padding: 5px;
padding-left: 10px;
border: 1px solid #ccc;
//border: 1px solid #ccc;
border-top: none;
}
+12 -3
View File
@@ -20,17 +20,17 @@
</div>
<div >
<div class="message-list-item" v-for="item of dataMessageList" :key="item.id">
<div style="display: flex">
<div class="message-list-item-name">
<div>{{item.titile_dictText}}</div>
<a-tooltip>
<template slot="title">
<span v-html="item.msgContent" class="ellipsis-span"></span>
</template>
<span v-html="myEllipsis(item.msgContent,40)" class="ellipsis-span"></span>
<span v-html="myEllipsis(item.msgContent,38)" class="ellipsis-span"></span>
</a-tooltip>
</div>
<!-- <span v-html="item.msgContent"></span>-->
<span>{{item.sendTime}}</span>
<span class="message-list-item-time">{{item.sendTime}}</span>
<span class="operate">
<a @click="showAnnouncement(item)" style="margin-right: 8px">查看</a>
<a @click="haveRead(item)" v-if="item.readFlag === '0' ">已读</a>
@@ -249,6 +249,15 @@ export default {
color: #FFF;
font-weight: 500;
}
&-item-name {
display: flex;
width: 35rem;
}
&-item-time {
width: 10rem;
}
}
}
.center {
+23 -2
View File
@@ -12,7 +12,7 @@
</a-col>
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="需要发票">
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择需要发票"
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择是否需要发票"
v-model="queryParam.needInvoice"></j-dict-select-tag>
</a-form-item>
</a-col>
@@ -66,6 +66,24 @@
<j-ellipsis style="font-size: 14px" :value="record.projectName" :length="20"></j-ellipsis>
</div>
</template>
<!-- 需要tooltip的文本-->
<template v-slot:text="{record,text}">
<a-tooltip>
<template slot="title">
{{ text }}
</template>
{{ text }}
</a-tooltip>
</template>
<!-- 金额-->
<template v-slot:money="{record,text}">
<a-tooltip>
<template slot="title">
{{ text }}
</template>
{{ text }}
</a-tooltip>
</template>
</project-table>
</a-spin>
</div>
@@ -98,14 +116,17 @@ export default {
}, {
title: '应付金额',
dataIndex: 'amountReceivable',
scopedSlots: 'money',
col: 4
}, {
title: '实付金额',
dataIndex: 'paidAmount',
scopedSlots: 'money',
col: 3
}, {
title: '负责人',
dataIndex: 'principalName',
dataIndex: 'directorName',
scopedSlots: 'text',
col: 3
}, {
title: '打包',
@@ -81,8 +81,8 @@
</p>
<p class="item-meeting-img item-meeting-meetingTime">
<img src="../../assets/meetingImgs/meeting-time.png"/>
召开时间
<j-ellipsis :value="item.startTime + '~' + item.endTime" :length="30"></j-ellipsis>
召开时间{{ item.startTime }}~{{ item.endTime }}
<!-- <j-ellipsis :value="item.startTime + '~' + item.endTime" :length="30"></j-ellipsis>-->
</p>
<p class="item-meeting-img item-meeting-meetingPaymode">
<img src="../../assets/meetingImgs/meeting_paymode.png"/>
@@ -114,7 +114,7 @@ export default {
loading: false,
columns: [
{
title: '合同号',
title: '合同号',
align: 'center',
dataIndex: 'contractNum'
},
+12 -3
View File
@@ -12,7 +12,7 @@
</a-col>
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="需要发票">
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择需要发票"
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择是否需要发票"
v-model="queryParam.needInvoice"></j-dict-select-tag>
</a-form-item>
</a-col>
@@ -74,6 +74,15 @@
{{ text }}
</a-tooltip>
</template>
<!-- 金额-->
<template v-slot:money="{record,text}">
<a-tooltip>
<template slot="title">
{{ text }}
</template>
{{ text }}
</a-tooltip>
</template>
</project-table>
</a-spin>
</div>
@@ -109,12 +118,12 @@ export default {
}, {
title: '应付金额',
dataIndex: 'receivableAmount',
scopedSlots: 'text',
scopedSlots: 'money',
col: 3
}, {
title: '实付金额',
dataIndex: 'paidAmount',
scopedSlots: 'text',
scopedSlots: 'money',
col: 3
}, {
title: '负责人',
+12 -3
View File
@@ -12,7 +12,7 @@
</a-col>
<a-col :xl="6" :lg="8" :md="8" :sm="24">
<a-form-item label="需要发票">
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择需要发票"
<j-dict-select-tag dict-code="invoice_type" placeholder="请选择是否需要发票"
v-model="queryParam.needInvoice"></j-dict-select-tag>
</a-form-item>
</a-col>
@@ -69,6 +69,15 @@
{{ text }}
</a-tooltip>
</template>
<!-- 金额-->
<template v-slot:money="{record,text}">
<a-tooltip>
<template slot="title">
{{ text }}
</template>
{{ text }}
</a-tooltip>
</template>
<template v-slot:meeting>
<a-button type="primary" @click="toMeeting">工作组会议
<a-icon type="right"></a-icon>
@@ -105,12 +114,12 @@ export default {
}, {
title: '应付金额',
dataIndex: 'receivableAmount',
scopedSlots: 'text',
scopedSlots: 'money',
col: 4
}, {
title: '实付金额',
dataIndex: 'paidAmount',
scopedSlots: 'text',
scopedSlots: 'money',
col: 3
}, {
title: '负责人',