| | |
| | | <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 class="link-btn text-nowrap" @click="handleBuyClick(app.id)"> |
| | | <svg |
| | | t="1739504206748" |
| | | class="svg-size-style" |
| | |
| | | </svg> |
| | | 详细 |
| | | </div> |
| | | <div class="link-btn" @click="handleCertificateClick(app)"> |
| | | <div class="link-btn text-nowrap" @click="handleCertificateClick(app)"> |
| | | <svg |
| | | t="1739503834540" |
| | | class="svg-size-style" |
| | |
| | | fill="#1989FA" |
| | | p-id="34746" |
| | | class="icon-path" |
| | | ></path></svg>证书 |
| | | ></path></svg |
| | | >报告 |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </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"> |
| | |
| | | { name: '容积式空压机', tag: 2 }, |
| | | { name: '通风机', tag: 3 }, |
| | | { name: '冷水机组', tag: 4 }, |
| | | { name: '电力变压器', tag: 5 }, |
| | | { name: '工业锅炉', tag: 6 }, |
| | | { name: '电机', tag: 7 }, |
| | | ]; |
| | | const factory = ref([]); |
| | |
| | | .then((res) => { |
| | | m_PageLoading.value = false; |
| | | let result = res.data; |
| | | |
| | | let arr = []; |
| | | result.forEach((item: any) => { |
| | | result.forEach((item: any, index: number) => { |
| | | if (typeSelect.value === 2) { |
| | | item.Price = item.Price * 10; |
| | | } |
| | | if (typeSelect.value === 4) { |
| | | item.Price = item.Price * 5; |
| | | } |
| | | 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, |
| | |
| | | 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(); |
| | | }) |
| | |
| | | if (factorySelect.value !== '-99') { |
| | | filterProductData.value = filterProductData.value.filter((item) => { |
| | | return factoryIncludeType.value.includes(item.Type); |
| | | }); |
| | | } |
| | | if (typeSelect.value === 1) { |
| | | filterProductData.value.sort((a: any, b: any) => { |
| | | const aContainsDSWQ = a.Model.includes('DSWQ'); |
| | | const bContainsDSWQ = b.Model.includes('DSWQ'); |
| | | const aContainsDRLOrDP = a.Model.substring(0, 3).includes('DRL') || a.Model.substring(0, 2).includes('DP'); |
| | | const bContainsDRLOrDP = b.Model.substring(0, 3).includes('DRL') || b.Model.substring(0, 2).includes('DP'); |
| | | |
| | | if (aContainsDSWQ && !bContainsDSWQ) { |
| | | return -1; |
| | | } else if (!aContainsDSWQ && bContainsDSWQ) { |
| | | return 1; |
| | | } else if (aContainsDRLOrDP && !bContainsDRLOrDP) { |
| | | return -1; |
| | | } else if (!aContainsDRLOrDP && bContainsDRLOrDP) { |
| | | return 1; |
| | | } else { |
| | | return 0; |
| | | } |
| | | }); |
| | | } |
| | | dispEecProduct.value = getSelectPageData(filterProductData.value); |
| | |
| | | color: #fff; |
| | | cursor: pointer; |
| | | |
| | | .icon-path{ |
| | | .icon-path { |
| | | fill: #fff; |
| | | } |
| | | } |
| | |
| | | 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; |