From 2291b7406cdc184abfa1b1986baeb55499771343 Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期一, 16 三月 2026 17:07:15 +0800
Subject: [PATCH] fix(设备管理): 修正添加维护接口的URL路径

---
 src/pages/consumablesLogistics/stockManagement/view.vue |  121 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/src/pages/consumablesLogistics/stockManagement/view.vue b/src/pages/consumablesLogistics/stockManagement/view.vue
new file mode 100644
index 0000000..fd68338
--- /dev/null
+++ b/src/pages/consumablesLogistics/stockManagement/view.vue
@@ -0,0 +1,121 @@
+<template>
+  <view class="detail-page">
+    <PageHeader title="搴撳瓨璇︽儏" @back="goBack" />
+    <view v-if="loading" class="loading-wrap">
+      <text class="loading-text">鍔犺浇涓�...</text>
+    </view>
+    <view v-else-if="detail" class="detail-wrap">
+      <view class="section-card">
+        <view class="section-head">
+          <view class="section-dot"></view>
+          <text class="section-title">鍩虹淇℃伅</text>
+        </view>
+        <view class="section-body">
+          <view class="detail-row">
+            <text class="label">搴忓彿</text>
+            <text class="value">{{ detail.index ?? '-' }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">浜у搧澶х被</text>
+            <text class="value value-strong">{{ detail.productName || '-' }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">瑙勬牸鍨嬪彿</text>
+            <text class="value">{{ detail.model || '-' }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">鍗曚綅</text>
+            <text class="value">{{ detail.unit || '-' }}</text>
+          </view>
+          <view class="detail-row detail-row-highlight">
+            <text class="label">鎬诲簱瀛�</text>
+            <text class="value value-num">{{ detail.qualitity ?? '-' }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">鍐荤粨鏁伴噺</text>
+            <text class="value">{{ detail.lockedQuantity ?? 0 }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">鍙敤搴撳瓨</text>
+            <text class="value">{{ detail.unLockedQuantity ?? '-' }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">搴撳瓨绫诲瀷</text>
+            <text class="value">{{ detail.typeLabel }}</text>
+          </view>
+          <view class="detail-row">
+            <text class="label">鏈�杩戞洿鏂版椂闂�</text>
+            <text class="value">{{ detail.updateTime || '-' }}</text>
+          </view>
+        </view>
+      </view>
+    </view>
+    <view v-else class="empty">
+      <text class="empty-text">鏆傛棤璇︽儏鏁版嵁</text>
+    </view>
+  </view>
+</template>
+
+<script setup>
+import { ref } from "vue";
+import { onLoad } from "@dcloudio/uni-app";
+import PageHeader from "@/components/PageHeader.vue";
+
+const detail = ref(null);
+const loading = ref(true);
+
+function normalizeDetail(raw, type) {
+  if (!raw) return null;
+  const d = typeof raw === "object" ? raw : {};
+  return {
+    index: d.index ?? 1,
+    productName: d.productName,
+    model: d.model,
+    unit: d.unit,
+    qualitity: d.qualitity,
+    lockedQuantity: d.lockedQuantity,
+    unLockedQuantity: d.unLockedQuantity ?? (d.qualitity - (d.lockedQuantity || 0)),
+    updateTime: d.updateTime,
+    typeLabel: type === "1" ? "涓嶅悎鏍煎簱瀛�" : "鍚堟牸搴撳瓨",
+  };
+}
+
+onLoad(() => {
+  const cached = uni.getStorageSync("stockDetailItem");
+  if (cached) {
+    try {
+      const payload = typeof cached === "string" ? JSON.parse(cached) : cached;
+      const item = payload && payload.item != null ? payload.item : payload;
+      const type = payload && payload.type != null ? payload.type : "0";
+      detail.value = normalizeDetail({ ...item, index: 1 }, type);
+      uni.removeStorageSync("stockDetailItem");
+    } catch (e) {
+      uni.removeStorageSync("stockDetailItem");
+    }
+  }
+  loading.value = false;
+});
+
+const goBack = () => uni.navigateBack();
+</script>
+
+<style lang="scss" scoped>
+.detail-page { min-height: 100vh; background: linear-gradient(180deg, #e8eef7 0%, #f2f5fa 100%); padding-bottom: 48rpx; }
+.loading-wrap { padding: 120rpx 48rpx; text-align: center; }
+.loading-text { color: #8c9aa8; font-size: 28rpx; }
+.empty { padding: 120rpx 48rpx; text-align: center; }
+.empty-text { color: #8c9aa8; font-size: 28rpx; }
+.detail-wrap { padding: 24rpx 24rpx 32rpx; }
+.section-card { background: #fff; border-radius: 24rpx; overflow: hidden; margin-bottom: 28rpx; box-shadow: 0 8rpx 32rpx rgba(41, 121, 255, 0.06); border: 1rpx solid rgba(41, 121, 255, 0.06); }
+.section-head { display: flex; align-items: center; padding: 28rpx 32rpx; background: linear-gradient(135deg, #f8fbff 0%, #f0f6ff 100%); border-bottom: 1rpx solid #eef3fa; }
+.section-dot { width: 8rpx; height: 8rpx; border-radius: 50%; background: #2979ff; margin-right: 16rpx; }
+.section-title { font-size: 30rpx; font-weight: 600; color: #1e3a5f; letter-spacing: 0.5rpx; }
+.section-body { padding: 8rpx 32rpx 24rpx; }
+.detail-row { display: flex; align-items: center; min-height: 96rpx; padding: 0 16rpx; border-radius: 12rpx; font-size: 28rpx; margin-bottom: 4rpx; }
+.detail-row .label { width: 200rpx; flex-shrink: 0; color: #6b7c93; font-size: 26rpx; }
+.detail-row .value { flex: 1; color: #2c3e50; text-align: right; word-break: break-all; font-size: 28rpx; }
+.detail-row .value-strong { color: #1e3a5f; font-weight: 500; }
+.detail-row .value-num { color: #2979ff; font-weight: 600; font-size: 32rpx; }
+.detail-row-highlight { background: linear-gradient(90deg, rgba(41, 121, 255, 0.06) 0%, transparent 100%); margin: 12rpx -16rpx 4rpx; padding: 20rpx 16rpx; }
+</style>
+

--
Gitblit v1.9.3