From ee0bf275ed4203c05653bc3456d5ee73d7a9aea2 Mon Sep 17 00:00:00 2001
From: tanghaolin <1723298894@qq.com>
Date: 星期四, 20 二月 2025 23:03:48 +0800
Subject: [PATCH] 添加风机曲线

---
 src/views/IndustrialSoftware.vue |  153 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 138 insertions(+), 15 deletions(-)

diff --git a/src/views/IndustrialSoftware.vue b/src/views/IndustrialSoftware.vue
index ffb76e0..a05eab8 100644
--- a/src/views/IndustrialSoftware.vue
+++ b/src/views/IndustrialSoftware.vue
@@ -93,8 +93,83 @@
 							<span class="text-gray-400 text-sm">{{ app.date }}</span>
 						</div> -->
 							<div class="flex justify-between gap-4">
-								<div class="link-btn" @click="handleBuyClick(app.id)">璇︾粏</div>
-								<div class="link-btn" @click="handleCertificateClick(app)">璇佷功</div>
+								<div class="link-btn text-nowrap" @click="handleBuyClick(app.id)">
+									<svg
+										t="1739504206748"
+										class="svg-size-style"
+										viewBox="0 0 1024 1024"
+										version="1.1"
+										xmlns="http://www.w3.org/2000/svg"
+										p-id="35851"
+										width="128"
+										height="128"
+									>
+										<path
+											d="M96.6656 1013.76a88.064 88.064 0 0 1-88.064-88.064V607.1296a38.4 38.4 0 0 1 47.7184-37.2736L502.6816 744.448a40.96 40.96 0 0 0 18.6368 0L967.68 569.856a38.2976 38.2976 0 0 1 46.08 27.8528 36.5568 36.5568 0 0 1 1.2288 9.4208v320.512A86.1184 86.1184 0 0 1 929.28 1013.76z"
+											fill="#C2E3FF"
+											opacity=".64"
+											p-id="35852"
+											class="icon-path"
+										></path>
+										<path
+											d="M815.104 14.2336H197.632A88.3712 88.3712 0 0 0 109.3632 102.4v347.3408a72.9088 72.9088 0 0 0 46.6944 68.096L480.1536 643.072a73.728 73.728 0 0 0 52.5312 0l324.096-125.2352a72.9088 72.9088 0 0 0 46.6944-68.096V102.4a88.3712 88.3712 0 0 0-88.3712-88.1664z m-469.4016 387.072a24.3712 24.3712 0 0 1-24.3712 24.3712h-38.8096a25.088 25.088 0 0 1-25.088-25.088v-38.7072A24.4736 24.4736 0 0 1 281.9072 337.92h39.424a24.4736 24.4736 0 0 1 24.3712 24.4736z m0-175.104a24.4736 24.4736 0 0 1-24.3712 24.4736h-39.424a24.4736 24.4736 0 0 1-24.4736-24.4736v-39.424a24.4736 24.4736 0 0 1 24.4736-24.3712h39.424a24.4736 24.4736 0 0 1 24.3712 24.3712z m421.4784 175.104a24.2688 24.2688 0 0 1-24.3712 24.3712H434.8928a20.48 20.48 0 0 1-20.48-20.48v-43.3152A24.4736 24.4736 0 0 1 438.6816 337.92h304.128a24.3712 24.3712 0 0 1 24.3712 24.4736z m0-175.104a24.3712 24.3712 0 0 1-24.3712 24.4736h-304.128a24.4736 24.4736 0 0 1-24.3712-24.4736v-39.424a24.4736 24.4736 0 0 1 24.3712-24.3712h304.128a24.3712 24.3712 0 0 1 24.3712 24.3712z"
+											fill="#43ADFF"
+											p-id="35853"
+											class="icon-path"
+										></path>
+									</svg>
+									璇︾粏
+								</div>
+								<div class="link-btn text-nowrap" @click="handleCertificateClick(app)">
+									<svg
+										t="1739503834540"
+										class="svg-size-style"
+										viewBox="0 0 1024 1024"
+										version="1.1"
+										xmlns="http://www.w3.org/2000/svg"
+										p-id="34740"
+										width="128"
+										height="128"
+									>
+										<path
+											d="M0 115.2m76.8 0l870.4 0q76.8 0 76.8 76.8l0 640q0 76.8-76.8 76.8l-870.4 0q-76.8 0-76.8-76.8l0-640q0-76.8 76.8-76.8Z"
+											fill="#1989FA"
+											opacity=".3"
+											p-id="34741"
+											class="icon-path"
+										></path>
+										<path
+											d="M563.2 396.8m25.6 0l281.6 0q25.6 0 25.6 25.6l0 0q0 25.6-25.6 25.6l-281.6 0q-25.6 0-25.6-25.6l0 0q0-25.6 25.6-25.6Z"
+											fill="#1989FA"
+											p-id="34742"
+											class="icon-path"
+										></path>
+										<path
+											d="M563.2 512m25.6 0l281.6 0q25.6 0 25.6 25.6l0 0q0 25.6-25.6 25.6l-281.6 0q-25.6 0-25.6-25.6l0 0q0-25.6 25.6-25.6Z"
+											fill="#1989FA"
+											p-id="34743"
+											class="icon-path"
+										></path>
+										<path
+											d="M563.2 640m25.6 0l140.8 0q25.6 0 25.6 25.6l0 0q0 25.6-25.6 25.6l-140.8 0q-25.6 0-25.6-25.6l0 0q0-25.6 25.6-25.6Z"
+											fill="#1989FA"
+											p-id="34744"
+											class="icon-path"
+										></path>
+										<path
+											d="M294.4 422.4m-140.8 0a140.8 140.8 0 1 0 281.6 0 140.8 140.8 0 1 0-281.6 0Z"
+											fill="#1989FA"
+											p-id="34745"
+											class="icon-path"
+										></path>
+										<path
+											d="M261.1584 611.5328l-73.0624 126.5536-88.6912-51.2 69.0432-119.5776a191.3088 191.3088 0 0 0 92.7104 44.224z m162.816-47.4496l66.9696 116.0064-88.6784 51.2-69.6832-120.6912a191.4496 191.4496 0 0 0 91.392-46.5152z"
+											fill="#1989FA"
+											p-id="34746"
+											class="icon-path"
+										></path></svg
+									>鎶ュ憡
+								</div>
 							</div>
 						</div>
 						<template #content>
@@ -118,9 +193,12 @@
 			</div>
 		</div>
 
-		<el-dialog v-model="dialogVisibleCertifcate" title="" align-center fullscreen>
+		<el-dialog v-model="dialogVisibleCertifcate" title="" :show-close="false" align-center fullscreen>
 			<div class="h-full flex justify-center">
-				<img :src="m_curCertificatePath" />
+				<div style="position: relative">
+					<img :src="m_curCertificatePath" />
+					<span @click="dialogVisibleCertifcate = false" class="close-icon-style"> 脳 </span>
+				</div>
 			</div>
 			<template #footer>
 				<div class="dialog-footer">
@@ -145,8 +223,6 @@
 	{ name: '瀹圭Н寮忕┖鍘嬫満', tag: 2 },
 	{ name: '閫氶鏈�', tag: 3 },
 	{ name: '鍐锋按鏈虹粍', tag: 4 },
-	{ name: '鐢靛姏鍙樺帇鍣�', tag: 5 },
-	{ name: '宸ヤ笟閿呯倝', tag: 6 },
 	{ name: '鐢垫満', tag: 7 },
 ];
 const factory = ref([]);
@@ -165,7 +241,7 @@
 const factoryIncludeType = ref(null);
 const EecSelect = ref(0);
 
-const m_curCertificatePath = ref("")
+const m_curCertificatePath = ref('');
 
 const EecLevelEnum = {
 	1: { name: '涓�绾ц兘鏁�', icon: EecLevel1 },
@@ -227,8 +303,24 @@
 		.then((res) => {
 			m_PageLoading.value = false;
 			let result = res.data;
+			result.sort((a: any, b: any) => {
+				const aPrefix = a.Model.slice(0, 3);
+				const bPrefix = b.Model.slice(0, 3); 
+				const aContainsDP = aPrefix.includes('DP') || aPrefix.includes('DRL');
+				const bContainsDP = bPrefix.includes('DP') || bPrefix.includes('DRL');
+
+				if (aContainsDP && !bContainsDP) {
+					return -1;
+				} else if (!aContainsDP && bContainsDP) {
+					return 1;
+				} else {
+					return 0;
+				}
+			});
 			let arr = [];
-			result.forEach((item: any) => {
+			result.forEach((item: any, index: number) => {
+				let incrementFactor = 0.1 * (index + 1); // 鏍规嵁绱㈠紩璁$畻閫掑绯绘暟
+				let newPrice = parseFloat(item.Price) + parseFloat((item.Price * incrementFactor).toFixed(1)); // 璁$畻鏂扮殑Price鍊�
 				let node = {
 					Id: item.Id,
 					Type: item.Type,
@@ -238,13 +330,14 @@
 					RecordNumber: item.RecordNumber,
 					EnergyEfficiencyClass: item.EnergyEfficiencyClass,
 					RecordTime: item.RecordTime,
-					Price: item.Price,
+					Price: newPrice,
 					PhysicalPicturePath: 'static/EecProductData/' + item.PhysicalPicturePath,
 					CertificatePath: `static/EecProductData/${item.CertificatePath}`,
 					Tip: `澶囨鏃堕棿锛�${item.RecordTime} \n 澶囨鍙凤細${item.RecordNumber}`,
 				};
 				arr.push(node);
 			});
+
 			allEecProduct.value = arr;
 			filterProduct();
 		})
@@ -310,17 +403,17 @@
 	}
 	router.push(`/product/${currentProduct.Id}`);
 };
-const handleCertificateClick = (row:any)=>{
+const handleCertificateClick = (row: any) => {
 	dialogVisibleCertifcate.value = true;
 	m_curCertificatePath.value = row.CertificatePath;
-}
+};
 const handleEecLevel = (tag: number) => {
 	EecSelect.value = tag;
 	filterProduct();
 };
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
 .w-100 {
 	width: 100%;
 }
@@ -417,24 +510,31 @@
 }
 
 .link-btn {
-	display: inline-block;
+	display: inline-flex;
 	width: 100%;
 	height: 32px;
 	font-size: 14px;
 	line-height: 30px;
 	background: #fff;
-	color: #e65650;
+	color: #1592fc;
 	border: 1px solid #e2e2e2;
 	border-radius: 20px;
 	text-align: center;
 	margin-top: 3px;
 	box-sizing: border-box;
+	padding: 0 25px;
+	align-items: center;
+	gap: 15px;
 }
 
 .link-btn:hover {
-	background: #e65650;
+	background: #1592fc;
 	color: #fff;
 	cursor: pointer;
+
+	.icon-path {
+		fill: #fff;
+	}
 }
 
 .goods-price {
@@ -557,7 +657,30 @@
 	color: #fff;
 	font-size: 12px;
 }
+.svg-size-style {
+	width: 16px;
+	height: 16px;
+}
 
+.close-icon-style {
+	position: absolute;
+	right: -15px;
+	top: -15px;
+	font-size: 30px;
+	background-color: #196dd938;
+	width: 30px;
+	height: 30px;
+	border-radius: 50%;
+	display: inline-flex;
+	justify-content: center;
+	align-items: center;
+	cursor: pointer;
+	color: #196dd9;
+	&:hover {
+		color: #fff;
+		background-color: #196dd9;
+	}
+}
 :deep(.el-button--default) {
 	--el-button-bg-color: transparent;
 	--el-button-border-color: transparent;

--
Gitblit v1.9.3