From 04a2d3e3c701a03981c4b66162ff9515f9d7dd12 Mon Sep 17 00:00:00 2001 From: tanghaolin <1723298894@qq.com> Date: 星期一, 21 四月 2025 22:32:21 +0800 Subject: [PATCH] 修改数据与页面逻辑 --- src/views/EecLabel.vue | 222 ++++++++++++++++++++++++++---------------------------- 1 files changed, 107 insertions(+), 115 deletions(-) diff --git a/src/views/EecLabel.vue b/src/views/EecLabel.vue index 6d8e57b..704912c 100644 --- a/src/views/EecLabel.vue +++ b/src/views/EecLabel.vue @@ -52,8 +52,8 @@ > <el-table-column prop="TableIndex" label="搴忓彿" align="center" width="60"> </el-table-column> <el-table-column prop="ModelType" label="浜у搧绫诲瀷" align="center" show-overflow-tooltip> </el-table-column> - <el-table-column prop="Model" label="浜у搧鍨嬪彿" align="center" width="120" show-overflow-tooltip> </el-table-column> - <el-table-column prop="RecordNumber" label="澶囨鍙�" align="center" width="140" show-overflow-tooltip> </el-table-column> + <el-table-column prop="Model" label="浜у搧鍨嬪彿" align="center" show-overflow-tooltip> </el-table-column> + <el-table-column prop="RecordNumber" label="澶囨鍙�" align="center" show-overflow-tooltip> </el-table-column> <el-table-column prop="EnergyEfficiencyClass" label="鑳芥晥绛夌骇" align="center" width="80"> </el-table-column> <el-table-column prop="RecordTime" label="澶囨鏃堕棿" align="center" width="100"> </el-table-column> <el-table-column prop="CompanyName" label="鍘傚晢" align="center" show-overflow-tooltip> </el-table-column> @@ -84,51 +84,6 @@ </svg> 璇︾粏</span > - <span class="table-detail-span" @click="clickDetailCertifcate(scope.row)" v-if="false" - ><svg - t="1739500034021" - class="detail-icon" - viewBox="0 0 1024 1024" - version="1.1" - xmlns="http://www.w3.org/2000/svg" - p-id="34306" - 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="34307" - ></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="34308" - ></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="34309" - ></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="34310" - ></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="34311" - ></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="34312" - ></path> - </svg> - 璇佷功</span - > </template> </el-table-column> </el-table> @@ -148,54 +103,65 @@ </el-card> </div> <el-dialog v-model="dialogVisible" title="璇︾粏" width="500" align-center> - <!-- 娉典骇鍝佹樉绀� --> - <el-form v-if="isPumpProduct" :model="state.m_detailDialogInfo" label-width="120px" size="small"> - <el-form-item label="浜у搧绫诲瀷" prop="ModelType"> - <span>{{ state.m_detailDialogInfo.ModelType }}</span> - </el-form-item> - <el-form-item label="浜у搧鍨嬪彿" prop="Model"> - <span>{{ state.m_detailDialogInfo.Model }}</span> - </el-form-item> - <el-form-item label="鐢熶骇鍘傚晢" prop="CompanyName"> - <span>{{ state.m_detailDialogInfo.CompanyName }}</span> - </el-form-item> - <el-form-item label="鑳芥晥绛夌骇" prop="EnergyEfficiencyClass"> - <span>{{ state.m_detailDialogInfo.EnergyEfficiencyClass }}</span> - </el-form-item> - <el-form-item label="澶囨鍙�" prop="RecordNumber"> - <span class="detail-text">{{ state.m_detailDialogInfo.CompanyName }}</span> - </el-form-item> - <el-form-item label="澶囨鏃堕棿" prop="RecordTime"> - <span>{{ state.m_detailDialogInfo.RecordTime }}</span> - </el-form-item> - <el-form-item label="渚濇嵁鍥藉鏍囧噯" prop="RecordNumber"> - <span></span> - </el-form-item> - </el-form> - <!-- 鍏朵粬浜у搧鏄剧ず --> - <el-form v-if="!isPumpProduct" :model="state.m_detailDialogInfo" label-width="120px" size="small"> - <el-form-item label="浜у搧绫诲瀷" prop="ModelType"> - <span>{{ state.m_detailDialogInfo.ModelType }}</span> - </el-form-item> - <el-form-item label="浜у搧鍨嬪彿" prop="Model"> - <span>{{ state.m_detailDialogInfo.Model }}</span> - </el-form-item> - <el-form-item label="鐢熶骇鍘傚晢" prop="CompanyName"> - <span>{{ state.m_detailDialogInfo.CompanyName }}</span> - </el-form-item> - <el-form-item label="鑳芥晥绛夌骇" prop="EnergyEfficiencyClass"> - <span>{{ state.m_detailDialogInfo.EnergyEfficiencyClass }}</span> - </el-form-item> - <el-form-item label="澶囨鍙�" prop="RecordNumber"> - <span class="detail-text">{{ state.m_detailDialogInfo.CompanyName }}</span> - </el-form-item> - <el-form-item label="澶囨鏃堕棿" prop="RecordTime"> - <span>{{ state.m_detailDialogInfo.RecordTime }}</span> - </el-form-item> - <el-form-item label="渚濇嵁鍥藉鏍囧噯" prop="RecordNumber"> - <span></span> - </el-form-item> - </el-form> + <div v-loading="dialogLoading"> + <!-- 娉典骇鍝佹樉绀� --> + <el-form v-if="isPumpProduct" :model="state.m_detailDialogInfo" label-width="120px" size="small"> + <el-form-item label="浜у搧绫诲瀷" prop="ModelType"> + <span>{{ state.m_detailDialogInfo.ModelType }}</span> + </el-form-item> + <el-form-item label="浜у搧鍨嬪彿" prop="Model"> + <span>{{ state.m_detailDialogInfo.Model }}</span> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚晢" prop="CompanyName"> + <span>{{ state.m_detailDialogInfo.CompanyName }}</span> + </el-form-item> + <el-form-item label="鑳芥晥绛夌骇" prop="EnergyEfficiencyClass"> + <span>{{ state.m_detailDialogInfo.EnergyEfficiencyClass }}</span> + </el-form-item> + <el-form-item label="澶囨鍙�" prop="RecordNumber"> + <span class="detail-text">{{ state.m_detailDialogInfo.CompanyName }}</span> + </el-form-item> + <el-form-item label="澶囨鏃堕棿" prop="RecordTime"> + <span>{{ state.m_detailDialogInfo.RecordTime }}</span> + </el-form-item> + <el-form-item label="渚濇嵁鍥藉鏍囧噯" prop="RecordNumber"> + <span></span> + </el-form-item> + </el-form> + <!-- 鍏朵粬浜у搧鏄剧ず --> + <el-form v-if="!isPumpProduct" :model="state.m_OtherDetailInfo" label-width="120px" size="small"> + <el-form-item label="浜у搧绫诲瀷" prop="ModelType"> + <span>{{ state.m_OtherDetailInfo.ModelType }}</span> + </el-form-item> + <el-form-item label="浜у搧鍨嬪彿" prop="Model"> + <span>{{ state.m_OtherDetailInfo.Model }}</span> + </el-form-item> + <el-form-item label="鐢熶骇鍘傚晢" prop="CompanyName"> + <span>{{ state.m_OtherDetailInfo.CompanyName }}</span> + </el-form-item> + <el-form-item label="鑳芥晥绛夌骇" prop="EnergyEfficiencyClass"> + <span>{{ state.m_OtherDetailInfo.EnergyEfficiencyClass }}</span> + </el-form-item> + <el-form-item label="澶囨鍙�" prop="RecordNumber"> + <span class="detail-text">{{ state.m_OtherDetailInfo.RecordNumber }}</span> + </el-form-item> + <el-form-item label="鍏憡鏃堕棿" prop="AnnouncementTime"> + <span>{{ state.m_OtherDetailInfo.AnnouncementTime }}</span> + </el-form-item> + <el-form-item label="渚濇嵁鍥藉鏍囧噯" prop="Standard"> + <span>{{ state.m_OtherDetailInfo.Standard }}</span> + </el-form-item> + <el-form-item label="澶囨淇℃伅" prop="RecordNumber"> + <div style="padding-left: 30px; background-color: rgb(243 250 255)"> + <el-form label-width="200px"> + <el-form-item v-for="(item, index) in state.m_OtherDetailInfo.List" :key="index" :label="item.name" prop="Standard"> + <span>{{ item.value }}</span> + </el-form-item> + </el-form> + </div> + </el-form-item> + </el-form> + </div> <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="dialogVisible = false"> 纭畾 </el-button> @@ -229,10 +195,11 @@ const dialogVisible = ref(false); const dialogVisibleCertifcate = ref(false); const isPumpProduct = ref(true); +const dialogLoading = ref(false); let state = reactive({ m_formData: { ProductModel: '', - ProductType: 1, + ProductType: 2, RecordNumber: '', }, allEecProduct: [], @@ -253,28 +220,35 @@ RecordTime: '', RecordNumber: '', }, - typeSelect: 1, + m_OtherDetailInfo: { + ModelType: '', + Model: '', + CompanyName: '', + RecordNumber: '', + EnergyEfficiencyClass: '', + AnnouncementTime: '', + Standard: '', + List: '', + RecordTime: '', + }, + typeSelect: 2, // 鍒嗙被閫夐」 type: [ { name: '娉�', tag: 1 }, { name: '瀹圭Н寮忕┖鍘嬫満', tag: 2 }, { name: '閫氶鏈�', tag: 3 }, { name: '鍐锋按鏈虹粍', tag: 4 }, - { name: '鐢靛姏鍙樺帇鍣�', tag: 5 }, - { name: '宸ヤ笟閿呯倝', tag: 6 }, { name: '鐢垫満', tag: 7 }, ], m_PageLoading: false, }); const m_RequestDataObj = { - 1: { requestPath: 'static/EecProductData/Pump.json' }, - 2: { requestPath: 'static/EecProductData/AirCompressor.json' }, - 3: { requestPath: 'static/EecProductData/Fan.json' }, - 4: { requestPath: 'static/EecProductData/WaterChiller.json' }, - 5: { requestPath: 'static/EecProductData/PowerTransformer.json' }, - 6: { requestPath: 'static/EecProductData/IndustrialBoiler.json' }, - 7: { requestPath: 'static/EecProductData/ElectricMachinery.json' }, + 1: { requestPath: 'static/EecProductData/PumpSearch.json' }, + 2: { requestPath: 'static/EecProductData/AirCompressorSearch.json' }, + 3: { requestPath: 'static/EecProductData/FanSearch.json' }, + 4: { requestPath: 'static/EecProductData/WaterChillerSearch.json' }, + 7: { requestPath: 'static/EecProductData/ElectricMachinerySearch.json' }, }; onMounted(() => { @@ -362,16 +336,16 @@ const changeProductType = () => { initData(); }; -const clickDetail = (row: any) => { - if(row.Id.includes('Pupm')){ +const clickDetail = async (row: any) => { + if (row.Id.includes('Pupm')) { isPumpProduct.value = true; - }else { + } else { isPumpProduct.value = false; + getProductDetail(row.Model); } state.m_detailDialogInfo = row; dialogVisible.value = true; - getProductDetail(row.Model) // 鎵惧埌褰撳墠鐐瑰嚮鐨勪骇鍝� // const currentProduct = state.m_dispTableData.find((item) => item.id === row.id); // if (currentProduct) { @@ -381,12 +355,19 @@ // router.push(`/product/${currentProduct.Id}`); }; const clickDetailCertifcate = (row: any) => { - state.m_detailDialogInfo = row; - dialogVisibleCertifcate.value = true; + // state.m_detailDialogInfo = row; + // dialogVisibleCertifcate.value = true; + // 鎵惧埌褰撳墠鐐瑰嚮鐨勪骇鍝� + const currentProduct = state.m_dispTableData.find((item) => item.id === row.id); + if (currentProduct) { + // 淇濆瓨浜у搧淇℃伅鍒發ocalStorage + localStorage.setItem('currentProduct', JSON.stringify(currentProduct)); + } + router.push(`/product/${currentProduct.Id}`); }; const getProductDetail = async (productModel) => { - + dialogLoading.value = true; const productRegistrationList = () => { return new Promise((reslvoe, reject) => { axios({ @@ -435,14 +416,25 @@ if (!result.list.length) { reslvoe([]); } - reslvoe(result.list); + reslvoe(result); }) .catch((err) => {}); }); }; const detailData = await detailResponse(); - return detailData; + dialogLoading.value = false; + state.m_OtherDetailInfo = { + ModelType: detailData.productType, + Model: detailData.productModel, + CompanyName: detailData.producerName, + RecordNumber: detailData.registrationNumber, + EnergyEfficiencyClass: detailData.nxLever, + AnnouncementTime: detailData.announcementTime, + Standard: detailData.standard, + List: detailData.list, + RecordTime: '', + }; }; const resertForm = () => { -- Gitblit v1.9.3