From ba01c8bd58bea9acbb98c2097765b939a81b21cd Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 29 八月 2025 17:52:41 +0800 Subject: [PATCH] Merge branch 'refs/heads/dev_huangjin' into dev --- src/views/equipmentManagement/deviceInfo/index.vue | 190 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 190 insertions(+), 0 deletions(-) diff --git a/src/views/equipmentManagement/deviceInfo/index.vue b/src/views/equipmentManagement/deviceInfo/index.vue new file mode 100644 index 0000000..de162cc --- /dev/null +++ b/src/views/equipmentManagement/deviceInfo/index.vue @@ -0,0 +1,190 @@ +<template> + <div class="device-info-container"> + <div class="page-header"> + <h1>璁惧淇℃伅</h1> + <div class="device-status" :class="deviceStatusClass"> + {{ deviceStatusText }} + </div> + </div> + + <div class="info-card"> + <div class="card-header">鍩烘湰淇℃伅</div> + <div class="card-content"> + <div class="info-row"> + <span class="label">璁惧鍚嶇О锛�</span> + <span class="value">{{ deviceInfo.deviceName }}</span> + </div> + <div class="info-row"> + <span class="label">瑙勬牸鍨嬪彿锛�</span> + <span class="value">{{ deviceInfo.deviceModel }}</span> + </div> + <div class="info-row"> + <span class="label">鐢熶骇鍘傚锛�</span> + <span class="value">{{ deviceInfo.supplierName }}</span> + </div> + <div class="info-row"> + <span class="label">鍗曚綅锛�</span> + <span class="value">{{ deviceInfo.unit }}</span> + </div> + </div> + </div> + + <div class="info-card"> + <div class="card-header">缁存姢淇℃伅</div> + <div class="card-content"> + <div class="maintenance-info"> + <div class="maintenance-item"> + <span class="label">鏈�鍚庣淮鎶わ細</span> + <span class="value">{{ deviceInfo.updateTime }}</span> + </div> + <div class="maintenance-item"> + <span class="label">涓嬫缁存姢锛�</span> + <span class="value">{{ deviceInfo.createTime }}</span> + </div> + <div class="maintenance-item"> + <span class="label">缁存姢鐘舵�侊細</span> + <span class="value status-normal">{{ deviceInfo.statusText }}</span> + </div> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { ref, reactive, onMounted, computed } from 'vue' +import { useRoute } from 'vue-router' +import { ElMessage } from 'element-plus' +import { + getDeviceInfo, +} from '@/api/equipmentManagement/deviceInfo' + +const route = useRoute() + +const deviceInfo = reactive({ + deviceName: '', + deviceModel: '', + supplierName: '', + unit: '', + statusText:'姝e父', + updateTime:'', + createTime:'' +}) + +const deviceStatusClass = computed(() => { + return 'status-normal' +}) + +const deviceStatusText = computed(() => { + return '姝e父' +}) + +const fetchDeviceInfo = async (deviceId) => { + try { + // 鑾峰彇璁惧淇℃伅 + const deviceResponse = await getDeviceInfo({id:deviceId}) + if (deviceResponse.code === 200) { + Object.assign(deviceInfo, deviceResponse.data) + } + + + } catch (error) { + + ElMessage.warning('浣跨敤妯℃嫙鏁版嵁锛屽疄闄匒PI璋冪敤澶辫触') + } +} + +onMounted(() => { + const deviceId = route.query.deviceId || route.params.deviceId || '' + fetchDeviceInfo(deviceId) +}) +</script> + +<style scoped> +.device-info-container { + min-height: 100vh; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + padding: 20px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; +} + +.page-header { + background: rgba(255, 255, 255, 0.95); + border-radius: 16px; + padding: 20px; + margin-bottom: 20px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.page-header h1 { + margin: 0; + color: #2c3e50; + font-size: 24px; +} + +.device-status { + padding: 8px 16px; + border-radius: 20px; + font-size: 14px; + color: white; + background: #52c41a; +} + +.info-card { + background: rgba(255, 255, 255, 0.95); + border-radius: 16px; + margin-bottom: 20px; + overflow: hidden; +} + +.card-header { + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + color: white; + padding: 16px 20px; + font-weight: 500; +} + +.card-content { + padding: 20px; +} + +.info-row, .maintenance-item { + display: flex; + margin-bottom: 12px; + align-items: center; +} + +.label { + width: 100px; + color: #666; + font-size: 14px; +} + +.value { + flex: 1; + color: #2c3e50; + font-weight: 500; +} + +.status-normal { + color: #52c41a; +} + + + +@media (max-width: 768px) { + .device-info-container { + padding: 16px; + } + + .page-header h1 { + font-size: 20px; + } + + .label { + width: 80px; + } +} +</style> -- Gitblit v1.9.3