From a60d21cdda7df7733050315fc6462a70c273fcb4 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期三, 04 二月 2026 17:01:02 +0800
Subject: [PATCH] Merge branch 'dev_new' of http://114.132.189.42:9002/r/product-inventory-APP-before into dev_new

---
 src/pages/safeProduction/accidentReportingRecord/view.vue |  223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 223 insertions(+), 0 deletions(-)

diff --git a/src/pages/safeProduction/accidentReportingRecord/view.vue b/src/pages/safeProduction/accidentReportingRecord/view.vue
new file mode 100644
index 0000000..c696dc3
--- /dev/null
+++ b/src/pages/safeProduction/accidentReportingRecord/view.vue
@@ -0,0 +1,223 @@
+<template>
+  <view class="accident-view">
+    <PageHeader title="浜嬫晠鎶ュ憡璇︽儏"
+                @back="goBack" />
+    <view class="detail-container">
+      <!-- 浜嬫晠鍩烘湰淇℃伅 -->
+      <view class="info-section">
+        <view class="info-title">鍩烘湰淇℃伅</view>
+        <view class="info-content">
+          <view class="info-row">
+            <view class="info-label">浜嬫晠鍚嶇О锛�</view>
+            <view class="info-value">{{ accidentInfo.accidentName || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠缂栫爜锛�</view>
+            <view class="info-value">{{ accidentInfo.accidentCode || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠绫诲瀷锛�</view>
+            <view class="info-value">{{ accidentTypeLabel(accidentInfo.accidentType) || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠绛夌骇锛�</view>
+            <view class="info-value">
+              <u-tag :type="getAccidentLevelType(accidentInfo.accidentGrade)">
+                {{ accidentInfo.accidentGrade || '-' }}
+              </u-tag>
+            </view>
+          </view>
+        </view>
+      </view>
+      <!-- 浜嬫晠璇︾粏淇℃伅 -->
+      <view class="info-section">
+        <view class="info-title">璇︾粏淇℃伅</view>
+        <view class="info-content">
+          <view class="info-row">
+            <view class="info-label">鍙戠敓鏃堕棿锛�</view>
+            <view class="info-value">{{ accidentInfo.happenTime || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠鍦扮偣锛�</view>
+            <view class="info-value">{{ accidentInfo.happenLocation || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">涓婃姤浜猴細</view>
+            <view class="info-value">{{ accidentInfo.createUserName || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">涓婃姤鏃堕棿锛�</view>
+            <view class="info-value">{{ accidentInfo.createTime || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">鐩存帴璐骇鎹熷け锛�</view>
+            <view class="info-value">{{ accidentInfo.assetLoss || '-' }}<span v-if="accidentInfo.assetLoss">鍏�</span></view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">涓婃姤鏃堕棿锛�</view>
+            <view class="info-value">{{ accidentInfo.createTime || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠鐩存帴鍘熷洜锛�</view>
+            <view class="info-value">{{ accidentInfo.accidentCause || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">浜嬫晠鏍规湰鍘熷洜锛�</view>
+            <view class="info-value">{{ accidentInfo.rootCause || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">鐢熶骇褰卞搷鎯呭喌锛�</view>
+            <view class="info-value">{{ accidentInfo.productionLoss || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">鐜板満搴旀�ュ缃帾鏂斤細</view>
+            <view class="info-value">{{ accidentInfo.handleMeasures || '-' }}</view>
+          </view>
+          <view class="info-row">
+            <view class="info-label">澶囨敞锛�</view>
+            <view class="info-value">{{ accidentInfo.remark || '-' }}</view>
+          </view>
+        </view>
+      </view>
+      <!-- 浜嬫晠鎻忚堪 -->
+      <view class="info-section"
+            v-if="accidentInfo.accidentDescription">
+        <view class="info-title">浜嬫晠鎻忚堪</view>
+        <view class="description-content">
+          {{ accidentInfo.accidentDescription }}
+        </view>
+      </view>
+      <!-- 澶勭悊鎺柦 -->
+      <view class="info-section"
+            v-if="accidentInfo.handlingMeasures">
+        <view class="info-title">澶勭悊鎺柦</view>
+        <view class="description-content">
+          {{ accidentInfo.handlingMeasures }}
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script setup>
+  import { ref, onMounted, computed } from "vue";
+  import PageHeader from "@/components/PageHeader.vue";
+  import { onLoad } from "@dcloudio/uni-app";
+  import { useDict } from "@/utils/dict";
+  // 搴旀�ラ妗堢被鍨嬮�夐」
+  const { accident_type } = useDict("accident_type");
+  const emergencyPlanTypeOptions = computed(() => accident_type?.value || []);
+
+  // 鑾峰彇浜嬫晠绫诲瀷鏍囩
+  const accidentTypeLabel = val => {
+    const item = emergencyPlanTypeOptions.value.find(
+      i => String(i.value) === String(val)
+    );
+    return item ? item.label : val;
+  };
+
+  // 鏇挎崲 toast 鏂规硶
+  defineOptions({ name: "accident-view" });
+  const showToast = message => {
+    uni.showToast({ title: message, icon: "none" });
+  };
+
+  // 浜嬫晠淇℃伅
+  const accidentInfo = ref({});
+
+  // 杩斿洖涓婁竴椤�
+  const goBack = () => {
+    uni.navigateBack();
+  };
+
+  // 鑾峰彇浜嬫晠绛夌骇鏍囩绫诲瀷
+  const getAccidentLevelType = val => {
+    switch (val) {
+      case "杞诲井浜嬫晠":
+        return "info";
+      case "涓�鑸簨鏁�":
+        return "info";
+      case "杈冨ぇ浜嬫晠":
+        return "warning";
+      case "閲嶅ぇ浜嬫晠":
+        return "error";
+      default:
+        return "info";
+    }
+  };
+
+  onLoad(() => {
+    // 浠庢湰鍦板瓨鍌ㄨ幏鍙栦簨鏁呬俊鎭�
+    const accidentReport = uni.getStorageSync("accidentReport");
+    if (accidentReport) {
+      accidentInfo.value = accidentReport;
+    }
+  });
+</script>
+
+<style scoped lang="scss">
+  @import "@/static/scss/form-common.scss";
+
+  .accident-view {
+    min-height: 100vh;
+    background: #f8f9fa;
+    padding-bottom: 2rem;
+  }
+
+  .detail-container {
+    padding: 1rem;
+  }
+
+  .info-section {
+    background: #fff;
+    border-radius: 0.5rem;
+    margin-bottom: 1rem;
+    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.05);
+    overflow: hidden;
+  }
+
+  .info-title {
+    padding: 1rem;
+    font-size: 1rem;
+    font-weight: 500;
+    color: #303133;
+    background: #f5f5f5;
+    border-bottom: 1px solid #e4e7ed;
+  }
+
+  .info-content {
+    padding: 1rem;
+  }
+
+  .info-row {
+    display: flex;
+    margin-bottom: 0.75rem;
+    align-items: flex-start;
+  }
+
+  .info-row:last-child {
+    margin-bottom: 0;
+  }
+
+  .info-label {
+    width: 240rpx;
+    font-size: 0.875rem;
+    color: #606266;
+  }
+
+  .info-value {
+    flex: 1;
+    font-size: 0.875rem;
+    color: #303133;
+    word-break: break-all;
+    white-space: normal;
+    line-height: 1.4;
+  }
+
+  .description-content {
+    padding: 1rem;
+    font-size: 0.875rem;
+    color: #303133;
+    line-height: 1.5;
+  }
+</style>

--
Gitblit v1.9.3