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"
>
-
+ /> -->
+
+
+
+
item.lsUrl)
this.dialogConfig.outerTitle = '合同图片详情'
this.dialogConfig.outerWidth = ''
- this.dialogConfig.minHeight = '80vh'
- this.dialogConfig.maxHeight = '80vh'
+ this.dialogConfig.minHeight = ''
+ this.dialogConfig.maxHeight = ''
this.dialogConfig.outerVisible = true
},
diff --git a/src/views/construction-person/red-green-light-mange/contract-witness/index.vue b/src/views/construction-person/red-green-light-mange/contract-witness/index.vue
index cb18d28..be8b7af 100644
--- a/src/views/construction-person/red-green-light-mange/contract-witness/index.vue
+++ b/src/views/construction-person/red-green-light-mange/contract-witness/index.vue
@@ -109,12 +109,23 @@
-
+ /> -->
+
+
+
+
@@ -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}%}`