From ae33d67ec2a4edc3ccfbb61631c475cfb74bc206 Mon Sep 17 00:00:00 2001
From: tanghaolin <1723298894@qq.com>
Date: 星期三, 19 二月 2025 11:41:41 +0800
Subject: [PATCH] 修改证书图片

---
 src/views/ProductDetail.vue |  157 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 125 insertions(+), 32 deletions(-)

diff --git a/src/views/ProductDetail.vue b/src/views/ProductDetail.vue
index d8f3f79..8653d4b 100644
--- a/src/views/ProductDetail.vue
+++ b/src/views/ProductDetail.vue
@@ -4,7 +4,7 @@
 		<div class="mb-6 text-gray-500">
 			<el-breadcrumb separator="/">
 				<el-breadcrumb-item :to="{ path: '/' }">棣栭〉</el-breadcrumb-item>
-				<el-breadcrumb-item :to="{ path: '/certified-products' }">璁よ瘉浜у搧</el-breadcrumb-item>
+				<el-breadcrumb-item :to="{ path: '/certified-products' }">鑳芥晥浜у搧</el-breadcrumb-item>
 				<el-breadcrumb-item>浜у搧璇︽儏</el-breadcrumb-item>
 			</el-breadcrumb>
 		</div>
@@ -24,10 +24,10 @@
 					<div class="text-gray-500 mb-2">璁㈣揣缂栫爜锛歿{ product.applicationCode }}</div>
 					<div class="flex items-center gap-2">
 						<span class="text-gray-500">鑳芥晥绛夌骇锛�</span>
-						<div class="flex items-center">
-							<img :src="product.eecLevelIcon" class="h-8" />
-							<span class="text-white relative right-[42px] top-[-1px]">1</span>
-							<span class="text-white relative right-[30px] top-[-1px] text-sm">涓�绾ц兘鏁�</span>
+						<div class="flex items-center relative">
+							<img :src="EecLevelEnum[productDataRef.EnergyEfficiencyClass]?.icon" class="h-8" />
+							<!-- <span class="text-white relative right-[42px] top-[-1px]">1</span> -->
+							<!-- <span class="text-white absolute left-[16px] bottom-[10px] text-small">{{ EecLevelEnum[productDataRef.EnergyEfficiencyClass]?.name }}</span> -->
 						</div>
 					</div>
 				</div>
@@ -62,6 +62,10 @@
 				<div class="flex gap-4">
 					<el-button type="primary" size="large" @click="handleBuyNow">绔嬪嵆璐拱</el-button>
 					<el-button size="large" @click="handleAddToCart">鍔犲叆璐墿杞�</el-button>
+					<el-button type="info" plain size="large" class="flex items-center" @click="handleViewCurve">
+						<el-icon class="mr-1" style="font-size: 18px"><TrendCharts /></el-icon>
+						鎬ц兘鏇茬嚎
+					</el-button>
 				</div>
 			</div>
 		</div>
@@ -89,13 +93,30 @@
 						</div>
 					</div>
 				</el-tab-pane>
-				<el-tab-pane label="瑙勬牸鍙傛暟" name="params">
+				<el-tab-pane label="鎬ц兘鏇茬嚎" name="PerformanceCurve">
+					<div style="width: 1200px; height: 750px" v-show="false">
+						<LXBChart ref="lxbChartCtrl"></LXBChart>
+					</div>
+					<el-empty description="鏆傛棤鎬ц兘鏇茬嚎淇℃伅" />
+				</el-tab-pane>
+				<el-tab-pane label="鍙橀�熸洸绾�" name="params">
+					<!-- <div style="width: 1200px; height: 750px"></div> -->
+					<el-empty description="鏆傛棤鍙橀�熸洸绾夸俊鎭�" />
+				</el-tab-pane>
+				<el-tab-pane label="鍒囧壊鏇茬嚎" name="CutCurve">
+					<el-empty description="鏆傛棤鍒囧壊鏇茬嚎淇℃伅" />
+				</el-tab-pane>
+				<el-tab-pane label="瑙勬牸鍙傛暟" name="SpecificParam">
 					<div class="p-6">
-						<el-descriptions :column="1" border>
-							<el-descriptions-item v-for="(value, key) in product.specifications" :key="key" :label="key">
-								{{ value }}
-							</el-descriptions-item>
-						</el-descriptions>
+						<prop ref="propCtrl"></prop>
+					</div>
+				</el-tab-pane>
+				<el-tab-pane label="閫夊瀷鎶ュ憡" name="SelectReport">
+					<el-empty description="鏆傛棤鎶ュ憡" />	
+				</el-tab-pane>
+				<el-tab-pane label="娴嬭瘯鎶ュ憡" name="certificate">
+					<div class="p-6 flex justify-center">
+						<img :src="product.certificatePath" alt="鑺傝兘璇佷功" class="max-w-full" />
 					</div>
 				</el-tab-pane>
 				<el-tab-pane label="鍖呰鍞悗" name="service">
@@ -153,15 +174,22 @@
 </template>
 
 <script setup lang="ts">
-import EecLevel1 from '@/assets/icons/energy_level_1.svg';
-import { Check } from '@element-plus/icons-vue';
+import EecLevel1 from '@/assets/icons/energy1.png';
+import EecLevel2 from '@/assets/icons/energy2.png';
+import { SERVE_URL } from '@/constants';
+import { Check, TrendCharts } from '@element-plus/icons-vue';
 import { ElMessage } from 'element-plus';
 import { onMounted, ref } from 'vue';
 import { useRoute, useRouter } from 'vue-router';
-
+import axios from 'axios';
+import pumpDetailInfo from './mock/DetailsInfo';
+import LXBChart from '@/components/Chart/LXBChart.vue';
+import prop from './components/prop.vue';
 const route = useRoute();
 const router = useRouter();
 
+const lxbChartCtrl = ref();
+const propCtrl = ref();
 const activeTab = ref('intro');
 const showBuyDialog = ref(false);
 
@@ -186,6 +214,7 @@
 	protection: '',
 	eecLevelIcon: EecLevel1,
 	package: '鐢垫満 脳 1, 璇存槑涔� 脳 1, 鍚堟牸璇� 脳 1',
+	certificatePath: '',
 	specifications: {
 		浜у搧鍨嬪彿: '',
 		棰濆畾鍔熺巼: '',
@@ -206,46 +235,110 @@
 	ElMessage.success('宸叉坊鍔犲埌璐墿杞�');
 };
 
+const handleViewCurve = () => {
+	window.open('http://www.xpump.net/V4/#/CN/Target/DOOCH/Pump/Index/C69S4/8978', '_blank');
+};
+
 const confirmOrder = () => {
 	if (!orderForm.value.name || !orderForm.value.phone || !orderForm.value.address) {
 		ElMessage.warning('璇峰~鍐欏畬鏁寸殑鏀惰揣淇℃伅');
 		return;
 	}
+	// 淇濆瓨璁㈠崟淇℃伅鍒發ocalStorage
+	const orderInfo = {
+		orderNo: 'DD' + Date.now(),
+		totalAmount: product.value.price,
+		createTime: new Date().toLocaleString(),
+		product: product.value,
+		address: orderForm.value,
+	};
+	localStorage.setItem('currentOrder', JSON.stringify(orderInfo));
+
 	ElMessage.success('璁㈠崟鎻愪氦鎴愬姛');
 	showBuyDialog.value = false;
-	// 杩欓噷鍙互娣诲姞璺宠浆鍒拌鍗曡鎯呴〉鐨勯�昏緫
+	// 璺宠浆鍒版敮浠橀〉闈�
+	router.push('/payment');
+};
+const EecLevelEnum = {
+	1: { name: '涓�绾ц兘鏁�', icon: EecLevel1 },
+	2: { name: '浜岀骇鑳芥晥', icon: EecLevel2 },
 };
 
+const productDataRef = ref({});
 onMounted(() => {
 	// 浠巐ocalStorage鑾峰彇浜у搧淇℃伅
 	const savedProduct = localStorage.getItem('currentProduct');
 	if (savedProduct) {
 		const productData = JSON.parse(savedProduct);
+		productDataRef.value = productData;
 		// 鍚堝苟榛樿鍊煎拰淇濆瓨鐨勪骇鍝佹暟鎹�
 		product.value = {
 			...product.value,
-			id: productData.id,
-			name: productData.name,
-			applicationCode: productData.applicationCode,
-			price: productData.price,
-			image: productData.logo || productData.image,
-			brand: productData.brand || productData.name.split(' ')[0],
-			model: productData.model || '',
-			power: productData.power || '',
-			voltage: productData.voltage || '',
-			speed: productData.speed || '',
-			protection: productData.protection || '',
-			detailImages: productData.detailImages || [productData.logo || productData.image],
+			id: productData.Id,
+			name: productData.ModelType,
+			applicationCode: productData.RecordNumber,
+			price: productData.Price,
+			image: `${SERVE_URL}${productData.PhysicalPicturePath}`,
+			certificatePath: `${SERVE_URL}${productData.CertificatePath}`,
+			brand: productData.CompanyName,
+			model: productData.Model,
+			power: '璇﹁鍘傚',
+			voltage: '璇﹁鍘傚',
+			speed: '璇﹁鍘傚',
+			protection: '璇﹁鍘傚',
+			detailImages: [`${SERVE_URL}${productData.PhysicalPicturePath}`],
 			specifications: {
-				...product.value.specifications,
-				浜у搧鍨嬪彿: productData.model || '',
-				棰濆畾鍔熺巼: productData.power || '',
-				棰濆畾鐢靛帇: productData.voltage || '',
-				闃叉姢绛夌骇: productData.protection || '',
+				浜у搧鍨嬪彿: productData.Model,
+				鐢熶骇浼佷笟: productData.CompanyName,
+				澶囨缂栧彿: productData.RecordNumber,
+				澶囨鏃堕棿: productData.RecordTime,
+				鑳芥晥绛夌骇: `${productData.EnergyEfficiencyClass}绾,
 			},
 		};
 	}
+	initDetailData();
 });
+const initDetailData = () => {
+	let m_userUnitSetting = {
+		NPSH: 0,
+		isAdjustCoordUnitByUserSetting: false,
+	};
+	let pumpInfoData = pumpDetailInfo;
+	let pumpBaseInfo = {
+		CorpID: 69,
+		SeriesID: 'C69S4',
+		PumpID: 8978,
+		SubID: 0,
+		ChartType: 3,
+		PumpStyle: 0,
+		PumpName4File: 'DRL1-18S',
+		CorpName: '涓煩鏉滅',
+		PumpName: 'DRL1-18S',
+		SeriesName: 'DRL',
+		CatalogName: '绔嬪紡澶氱骇娉�',
+		EecStauts: 0,
+		EecGrade: 0,
+		DefaultMotorPower: 0,
+		MaxD2: 75,
+		WrkD2: 75,
+		MinD2: 75,
+		Ratedn: 2900,
+		WrkSpeed: 2900,
+		FirePumpType: 0,
+		DriveType: 0,
+		RatedParas: {
+			H: '100.5',
+			Q: '1',
+			E: '41',
+			P: '0.67',
+			NPSHr: null,
+		},
+	};
+	lxbChartCtrl.value.initPumpInfoData(0, pumpInfoData, () => {}, m_userUnitSetting);
+
+	//鍒濆鍖栧睘鎬ф帶浠�
+	propCtrl.value.initialData(0, pumpBaseInfo, pumpInfoData.PartFullInfo, pumpInfoData.SettingInfo);
+};
 </script>
 
 <style scoped>

--
Gitblit v1.9.3