From 3d962b17d3a0f18b080ae3b715347da966354b4f Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Mon, 17 Nov 2025 11:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/styles/index.scss | 237 ++++++++++-------- .../contract-details-list.vue | 24 +- .../contract-witness/index.vue | 19 +- .../wage-card-witness/index.vue | 19 +- .../projectInfo/components/item-three.vue | 22 +- 5 files changed, 190 insertions(+), 131 deletions(-) diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index e01b579..49c52c3 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -6,226 +6,241 @@ @import './btn.scss'; body { - height: 100%; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, + Microsoft YaHei, Arial, sans-serif; } label { - font-weight: 700; + font-weight: 700; } html { - height: 100%; - box-sizing: border-box; + height: 100%; + box-sizing: border-box; } #app { - height: 100%; + height: 100%; } *, *:before, *:after { - box-sizing: inherit; + box-sizing: inherit; } .no-padding { - padding: 0px !important; + padding: 0px !important; } .padding-content { - padding: 4px 0; + padding: 4px 0; } a:focus, a:active { - outline: none; + outline: none; } a, a:focus, a:hover { - cursor: pointer; - color: inherit; - text-decoration: none; + cursor: pointer; + color: inherit; + text-decoration: none; } div:focus { - outline: none; + outline: none; } .fr { - float: right; + float: right; } .fl { - float: left; + float: left; } .pr-5 { - padding-right: 5px; + padding-right: 5px; } .pl-5 { - padding-left: 5px; + padding-left: 5px; } .block { - display: block; + display: block; } .pointer { - cursor: pointer; + cursor: pointer; } .inlineBlock { - display: block; + display: block; } .clearfix { - &:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: ' '; + clear: both; + height: 0; + } } aside { - background: #eef1f6; - padding: 8px 24px; - margin-bottom: 20px; - border-radius: 2px; - display: block; - line-height: 32px; - font-size: 16px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - color: #2c3e50; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, + Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; - a { - color: #337ab7; - cursor: pointer; + a { + color: #337ab7; + cursor: pointer; - &:hover { - color: rgb(32, 160, 255); + &:hover { + color: rgb(32, 160, 255); + } } - } } //main-container全局样式 .app-container { - height: calc(100vh - 84px); - padding: 20px; - // box-sizing: border-box; - // display: flex; - // flex-direction: column; - overflow-y: auto; + height: calc(100vh - 84px); + padding: 20px; + // box-sizing: border-box; + // display: flex; + // flex-direction: column; + overflow-y: auto; } .components-container { - margin: 30px 50px; - position: relative; + margin: 30px 50px; + position: relative; } .pagination-container { - margin-top: 30px; + margin-top: 30px; } .text-center { - text-align: center + text-align: center; } .sub-navbar { - height: 50px; - line-height: 50px; - position: relative; - width: 100%; - text-align: right; - padding-right: 20px; - transition: 600ms ease position; - background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient( + 90deg, + rgba(32, 182, 249, 1) 0%, + rgba(32, 182, 249, 1) 0%, + rgba(33, 120, 241, 1) 100%, + rgba(33, 120, 241, 1) 100% + ); - .subtitle { - font-size: 20px; - color: #fff; - } + .subtitle { + font-size: 20px; + color: #fff; + } - &.draft { - background: #d0d0d0; - } + &.draft { + background: #d0d0d0; + } - &.deleted { - background: #d0d0d0; - } + &.deleted { + background: #d0d0d0; + } } .link-type, .link-type:focus { - color: #337ab7; - cursor: pointer; + color: #337ab7; + cursor: pointer; - &:hover { - color: rgb(32, 160, 255); - } + &:hover { + color: rgb(32, 160, 255); + } } .filter-container { - padding-bottom: 10px; + padding-bottom: 10px; - .filter-item { - display: inline-block; - vertical-align: middle; - margin-bottom: 10px; - } + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } } .dialog-setting-btn { - display: flex; - margin-top: 10px; - padding-top: 10px; - justify-content: flex-end; - border-top: 1px solid #e5e5e5; + display: flex; + margin-top: 10px; + padding-top: 10px; + justify-content: flex-end; + border-top: 1px solid #e5e5e5; } .title-right { - font-size: 14px; - font-weight: bold; - font-family: 'PingFang SC'; + font-size: 14px; + font-weight: bold; + font-family: 'PingFang SC'; } .mt-10 { - margin-top: 10px; + margin-top: 10px; } .cursor-blue { - color: #409EFF; - cursor: pointer; + color: #409eff; + cursor: pointer; } .dialog-footer-btn { - display: flex; - justify-content: flex-end; - margin-top: 20px; - padding: 12px 0; - border-top: 1px solid #e5e5e5; + display: flex; + justify-content: flex-end; + margin-top: 20px; + padding: 12px 0; + border-top: 1px solid #e5e5e5; } .tip-text { - padding-left: 12px; - font-size: 14px; - color: $red; + padding-left: 12px; + font-size: 14px; + color: $red; } .files-content { - width: 100%; - display: flex; - align-items: center; - justify-content: space-between; + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; +} + +.contract-img-item-box { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 10px; } diff --git a/src/views/construction-person/red-green-light-mange/contract-witness/contract-details-list.vue b/src/views/construction-person/red-green-light-mange/contract-witness/contract-details-list.vue index 6812bcc..bcd1292 100644 --- a/src/views/construction-person/red-green-light-mange/contract-witness/contract-details-list.vue +++ b/src/views/construction-person/red-green-light-mange/contract-witness/contract-details-list.vue @@ -78,12 +78,26 @@ @closeDialogOuter="handleCloseDialogOuter" > @@ -233,8 +244,8 @@ export default { .filter((item) => item.sourceType != 6) .map((item) => item.lsUrl) this.dialogConfig.outerTitle = '合同图片详情' - this.dialogConfig.minHeight = '80vh' - this.dialogConfig.maxHeight = '80vh' + this.dialogConfig.minHeight = '' + this.dialogConfig.maxHeight = '' this.dialogConfig.outerWidth = '' this.dialogConfig.outerVisible = true }, diff --git a/src/views/construction-person/red-green-light-mange/wage-card-witness/index.vue b/src/views/construction-person/red-green-light-mange/wage-card-witness/index.vue index 9dfa526..efd3ae0 100644 --- a/src/views/construction-person/red-green-light-mange/wage-card-witness/index.vue +++ b/src/views/construction-person/red-green-light-mange/wage-card-witness/index.vue @@ -99,11 +99,22 @@ @@ -193,8 +204,8 @@ export default { .map((item) => item.lsUrl) this.dialogConfig.outerTitle = '工资卡图片详情' - this.dialogConfig.minHeight = '90vh' - this.dialogConfig.maxHeight = '90vh' + this.dialogConfig.minHeight = '' + this.dialogConfig.maxHeight = '' this.dialogConfig.outerWidth = '' this.dialogConfig.outerVisible = true }, diff --git a/src/views/home-index/components/projectInfo/components/item-three.vue b/src/views/home-index/components/projectInfo/components/item-three.vue index 9b7edee..5fbdcfc 100644 --- a/src/views/home-index/components/projectInfo/components/item-three.vue +++ b/src/views/home-index/components/projectInfo/components/item-three.vue @@ -75,6 +75,7 @@ export default { }, methods: { initChart() { + console.log(this.threeData, 'this.threeData') this.chart = echarts.init(this.$el, 'macarons') // const pieData = this.pieData.map((item) => ({ // ...item, @@ -82,6 +83,12 @@ export default { // })) const pieData = this.threeData + + const totalAmount = pieData.reduce( + (sum, item) => sum + item.value * 1, + 0, + ) + // 默认显示第一条数据 const defaultSelectedIndex = 0 const defaultSelectedData = pieData[defaultSelectedIndex] @@ -89,7 +96,7 @@ export default { this.chart.setOption({ tooltip: { trigger: 'item', - formatter: '{a}
{b}: {c} ({d}%)', + formatter: '{a}
{b}: {c} ({d}%) ', }, legend: { orient: 'vertical', @@ -99,17 +106,18 @@ export default { itemWidth: 10, itemHeight: 10, selectedMode: false, // 关键点:关闭 legend 的交互 - formatter: function (name) { + formatter: (name) => { // 获取对应的数据项 const dataItem = pieData.find( (item) => item.name === name, ) - const total = pieData.reduce( - (sum, item) => sum + item.value, - 0, - ) + if (!dataItem || totalAmount === 0) { + return `{a|${ + dataItem?.value || 0 + }} {b|${name}} {c|0%}` + } const percent = ( - (dataItem.value / total) * + (dataItem.value / totalAmount) * 100 ).toFixed(1) return `{a|${dataItem.value}} {b|${name}} {c|${percent}%}`