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