Преглед на файлове

fix: 布局管理-场景布局 公司列表页面修复不显示标签问题

“fujiacheng” преди 1 година
родител
ревизия
0bbfc7bc3a
променени са 2 файла, в които са добавени 20 реда и са изтрити 5 реда
  1. 1 0
      src/types/scene-layout/type.ts
  2. 19 5
      src/views/page-config/component/BasicLayoutList.vue

+ 1 - 0
src/types/scene-layout/type.ts

@@ -5,6 +5,7 @@ export interface CompanyInfoList {
 export interface LayoutInfoList extends CompanyInfoList {
   layout: string;
   imgUrl: string;
+  shopList: string;
 }
 
 export interface CompanyLayoutInfoList {

+ 19 - 5
src/views/page-config/component/BasicLayoutList.vue

@@ -15,7 +15,12 @@
         <el-card v-for="layout in layoutList" :key="layout.id" shadow="hover" class="layout-cards">
           <div class="layout-card" @click="handleClickCompany(layout.id, layout.name)">
             <div v-if="layout.layout">
-              <MapContainerSmall ref="mapContainerRef" :bg-image-url="layout.layout" class="content-pic" />
+              <MapContainerSmall
+                ref="mapContainerRef"
+                :bg-image-url="layout.layout"
+                :show-shops="layout.shopList"
+                class="content-pic"
+              />
             </div>
 
             <div v-else>
@@ -26,8 +31,8 @@
           <template #footer>
             <span class="footer--default">{{ layout.name }}</span>
             <div class="icons">
-              <el-image v-if="layout.layout" :src="preview" :preview-src-list="[layout.layout]" hide-on-click-modal
-                fit="cover" />
+              <!-- <el-image v-if="layout.layout" :src="preview" :preview-src-list="[layout.layout]" hide-on-click-modal
+                fit="cover" /> -->
 
               <img :src="edit" @click="handleClickCompany(layout.id, layout.name)" />
             </div>
@@ -120,8 +125,17 @@ const getLayoutInfoImg = (layoutType: LayoutConfigType.scene | LayoutConfigType.
     case LayoutConfigType.scene:
       scenePlatformApiMap[viewType]({ companyIds: idList }).then((res) => {
         res.map((companyWithLayout) => {
-          layoutList.value.find((company) => company.id === companyWithLayout.targetId)!.layout =
-            JSON.parse(companyWithLayout.layout).bgInfo.img;
+          let img
+          try {
+            img = JSON.parse(companyWithLayout.layout).bgInfo.img;
+          } catch {
+            img = ''
+          }
+          const curCompany = layoutList.value.find(
+            (company) => company.id === companyWithLayout.targetId,
+          );
+          curCompany!.layout = img;
+          curCompany!.shopList = JSON.parse(companyWithLayout.layout).shopList;
         });
       });
       break;