From c84b22901837782f7de6ef305151d3127afa9bc8 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期六, 24 一月 2026 16:46:32 +0800
Subject: [PATCH] 111
---
screen/src/view/login/index.vue | 4 +
screen/.env.development | 2
screen/src/view/projectHome/index.vue | 6 ++-
screen/src/view/planOfAudit/index.vue | 103 ++++++++++++++++++++++++++++++++++++++-------------
4 files changed, 84 insertions(+), 31 deletions(-)
diff --git a/screen/.env.development b/screen/.env.development
index deae50b..d758fa7 100644
--- a/screen/.env.development
+++ b/screen/.env.development
@@ -1,3 +1,3 @@
-VUE_APP_BASE_URL=http://192.168.110.188:9908
+VUE_APP_BASE_URL=http://192.168.110.111:9908
# VUE_APP_BASE_URL=http://221.182.45.100:8180
VUE_APP_IMAGE_BASE_URL=http://221.182.45.100:11225/images/files/
diff --git a/screen/src/view/login/index.vue b/screen/src/view/login/index.vue
index 7121d98..35a0f18 100644
--- a/screen/src/view/login/index.vue
+++ b/screen/src/view/login/index.vue
@@ -357,6 +357,8 @@
: []
)
);
+ localStorage.setItem("deviceTemplateId", r.deviceTemplateId);//设备模板id
+ localStorage.setItem("safetyId", r.safetyId);//安全报告模板id
if (this.userInfo.type == 2) {
this.$router.replace({
path: "/projectHome",
@@ -618,4 +620,4 @@
box-shadow: 0 4px 12px rgba(9, 185, 255, 0.3);
}
}
-</style>
\ No newline at end of file
+</style>
diff --git a/screen/src/view/planOfAudit/index.vue b/screen/src/view/planOfAudit/index.vue
index 3c52be1..a872a98 100644
--- a/screen/src/view/planOfAudit/index.vue
+++ b/screen/src/view/planOfAudit/index.vue
@@ -148,26 +148,45 @@
class="btnColor"
>检查资料</el-button
>
- <el-popover trigger="click" popper-class="custom-popper">
+ <el-popover
+ trigger="click"
+ popper-class="custom-popper"
+ :disabled="!hasAnyReport(row)"
+ >
<template #reference>
- <el-button type="text" class="btnColor">查看报告</el-button>
+ <el-button
+ type="text"
+ class="btnColor"
+ :disabled="!hasAnyReport(row)"
+ @click="checkReportAvailability(row)"
+ >
+ 查看报告
+ </el-button>
</template>
<div
class="h100 flex flex-column a-center j-between c-fff fs--16 SHSBold"
>
<div
@click="openReport('safe', row)"
- class="py--12 w100 txt-center br--10 bgcolor6 cursor-pointer"
- :class="{ disabled: row.containSystemRes !== 1 }"
+ class="py--12 w100 txt-center br--10 bgcolor6 report-btn"
+ :class="{
+ 'report-disabled': row.containSystemRes !== 1,
+ 'report-enabled': row.containSystemRes === 1
+ }"
>
- 安全报告
+ <span>安全报告</span>
+ <span v-if="row.containSystemRes !== 1" class="no-report-tag">(暂无)</span>
</div>
<div
@click="openReport('device', row)"
- class="py--12 w100 txt-center br--10 bgcolor7 cursor-pointer"
- :class="{ disabled: row.containDeviceRes !== 1 }"
+ class="py--12 w100 txt-center br--10 bgcolor7 report-btn"
+ :class="{
+ 'report-disabled': row.containDeviceRes !== 1,
+ 'report-enabled': row.containDeviceRes === 1
+ }"
>
- 设备报告
+ <span>设备报告</span>
+ <span v-if="row.containDeviceRes !== 1" class="no-report-tag">(暂无)</span>
</div>
</div>
</el-popover>
@@ -607,26 +626,36 @@
}
},
+ // 检查是否有任何报告
+ hasAnyReport(row) {
+ return row.containSystemRes === 1 || row.containDeviceRes === 1;
+ },
+
+ // 检查报告可用性(当按钮被禁用时点击)
+ checkReportAvailability(row) {
+ if (!this.hasAnyReport(row)) {
+ this.$message.warning("该计划暂无可查看的报告");
+ }
+ },
+
// 打开报告
openReport(type, row) {
- this.currentRow = row;
- if (type === "safe") {
- // 安全报告
- if (row.containSystemRes === 1) {
- this.reportUrl = row.systemReportUrl || "";
- } else {
- this.$message.warning("暂无安全报告");
- return;
- }
- } else if (type === "device") {
- // 设备报告
- if (row.containDeviceRes === 1) {
- this.reportUrl = row.deviceReportUrl || "";
- } else {
- this.$message.warning("暂无设备报告");
- return;
- }
+ // 根据类型检查是否有对应报告
+ const hasReport = type === "safe"
+ ? row.containSystemRes === 1
+ : row.containDeviceRes === 1;
+
+ if (!hasReport) {
+ this.$message.warning(`暂无${type === "safe" ? "安全" : "设备"}报告`);
+ return;
}
+
+ this.currentRow = row;
+
+ // 获取报告URL
+ this.reportUrl = type === "safe"
+ ? row.systemReportUrl || ""
+ : row.deviceReportUrl || "";
if (this.reportUrl) {
this.reportVisible = true;
@@ -844,9 +873,29 @@
color: #00ebfc;
}
-.disabled {
- opacity: 0.5;
+.report-btn {
+ cursor: pointer;
+ transition: all 0.3s ease;
+ position: relative;
+}
+
+.report-enabled {
+ &:hover {
+ opacity: 0.8;
+ transform: translateY(-2px);
+ }
+}
+
+.report-disabled {
+ opacity: 0.4;
cursor: not-allowed !important;
+ pointer-events: none;
+}
+
+.no-report-tag {
+ font-size: 12px;
+ margin-left: 4px;
+ opacity: 0.7;
}
::v-deep .el-descriptions {
diff --git a/screen/src/view/projectHome/index.vue b/screen/src/view/projectHome/index.vue
index 4d26728..24ec1c1 100644
--- a/screen/src/view/projectHome/index.vue
+++ b/screen/src/view/projectHome/index.vue
@@ -441,9 +441,11 @@
console.log('res', res)
this.projectName = res.name
const permissions = res.permissionProject ? res.permissionProject.split(",") : []
- this.permissionProject =['1','2','3','4','5','6','7']|| permissions
- localStorage.setItem( "permissionProject", JSON.stringify(permissions));
+ this.permissionProject = ['1', '2', '3', '4', '5', '6', '7'] || permissions
+ localStorage.setItem("permissionProject", JSON.stringify(permissions));
localStorage.setItem('commentType', res.commentType)
+ localStorage.setItem("deviceTemplateId", res.deviceTemplateId);//设备模板id
+ localStorage.setItem("safetyId", res.safetyId);//安全报告模板id
}).catch(err => {
console.error('获取登录信息失败:', err)
// 设置默认值,确保页面可以继续渲染
--
Gitblit v1.7.1