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