cuiyalong hace 4 años
padre
commit
876e45f193

+ 14 - 6
jydocs-mobile/src/components/docs-card/Card.vue

@@ -1,13 +1,13 @@
 <template>
   <div class="doc-container van-hairline--bottom" @click="clickCard">
-    <div class="docs-card oneline" v-if="cardType === 'oneline'" key="docs-card">
+    <div class="docs-card oneline" :class="highlightKey.length === 0 ? '' : 'highlight'" v-if="cardType === 'oneline'" key="docs-card">
       <div class="docs-header flex-r-c center">
         <van-icon :name="docTypeIcon" />
         <div class="d-title flex van-ellipsis" v-html="hightLightTitle"></div>
         <Price :price="price" />
       </div>
     </div>
-    <div class="docs-card image flex-r-c" v-else-if="cardType === 'image'" key="docs-card">
+    <div class="docs-card image flex-r-c" :class="highlightKey.length === 0 ? '' : 'highlight'" v-else-if="cardType === 'image'" key="docs-card">
       <div class="image-container">
         <img v-lazy="imageSrc" />
         <van-icon class="doc-type-icon" :name="docTypeIcon" />
@@ -32,7 +32,7 @@
         </div>
       </div>
     </div>
-    <div class="docs-card" v-else key="docs-card">
+    <div class="docs-card" :class="highlightKey.length === 0 ? '' : 'highlight'" v-else key="docs-card">
       <div class="docs-header flex-r-c">
         <van-icon :name="docTypeIcon" />
         <div class="d-title flex van-ellipsis" v-html="hightLightTitle"></div>
@@ -129,6 +129,17 @@ export default class DocsCard extends Vue {
     }
   }
 
+  &.highlight {
+    .docs-desc,
+    .d-title {
+      ::v-deep {
+        em {
+          color: $color_main;
+        }
+      }
+    }
+  }
+
   @include diy-icon('pdf');
   @include diy-icon('word');
   @include diy-icon('excel');
@@ -139,9 +150,6 @@ export default class DocsCard extends Vue {
       margin-left: 4px;
       font-size: 16px;
       color: #171826;
-      em {
-        color: $color_main;
-      }
     }
   }
 

+ 9 - 2
jydocs-mobile/src/views/Search.vue

@@ -11,7 +11,7 @@
       >
         <van-tab v-for="(item, index) in docsTypeConf.list" :key="index" :title="item.label" :name="item.type"></van-tab>
       </van-tabs>
-      <div class="sort-list flex-r-c center">
+      <div class="sort-list flex-r-c center" v-if="listState.loaded">
         <div
           class="sort-list-item flex-r-c center flex"
           :class="{
@@ -279,7 +279,14 @@ export default class extends Vue {
 
   calcSubInfo (item: any) {
     const { uploadDate, downTimes } = item
-    return [dateFormatter(uploadDate, 'yyyy/MM/dd'), `${downTimes}次下载`]
+    const subInfoArr = []
+    if (uploadDate !== undefined) {
+      subInfoArr.push(dateFormatter(uploadDate, 'yyyy/MM/dd'))
+    }
+    if (downTimes !== undefined) {
+      subInfoArr.push(`${downTimes}次下载`)
+    }
+    return subInfoArr
   }
 
   setScrollTop () {

+ 14 - 6
jydocs-pc/src/components/doc-item-card/Card.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="docs-card-container" @click="clickCard">
-    <div class="docs-card hover flex-r-c" v-if="cardType === 'oneline'" key="docs-card">
+    <div class="docs-card hover flex-r-c" :class="highlightKey.length === 0 ? '' : 'highlight'" v-if="cardType === 'oneline'" key="docs-card">
       <div class="docs-card-header flex-r-c flex">
         <span class="card-title-icon" :class="docTypeIcon"></span>
         <span class="card-title flex" v-html="hightLightTitle"></span>
@@ -17,7 +17,7 @@
         </slot>
       </div>
     </div>
-    <div class="docs-card hover flex-r-c" v-else-if="cardType === 'image'" key="docs-card">
+    <div class="docs-card hover flex-r-c" :class="highlightKey.length === 0 ? '' : 'highlight'" v-else-if="cardType === 'image'" key="docs-card">
       <div class="image-container">
         <el-image :src="imageSrc" lazy></el-image>
         <span class="doc-type-icon" :class="docTypeIcon"></span>
@@ -40,7 +40,7 @@
         </div>
       </div>
     </div>
-    <div class="docs-card hover" v-else key="docs-card">
+    <div class="docs-card hover" :class="highlightKey.length === 0 ? '' : 'highlight'" v-else key="docs-card">
       <div class="docs-card-header flex-r-c left">
         <span class="card-title-icon" :class="docTypeIcon"></span>
         <span class="card-title flex" v-html="hightLightTitle"></span>
@@ -155,6 +155,17 @@ export default {
   border-bottom: 1px solid rgba($color: #000, $alpha: 0.05);
   cursor: pointer;
 
+  &.highlight {
+    .card-desc,
+    .card-title {
+      ::v-deep {
+        em {
+          color: $color-text--highlight;
+        }
+      }
+    }
+  }
+
   @include diy-icon("word");
   @include diy-icon("excel");
   @include diy-icon("ppt");
@@ -168,9 +179,6 @@ export default {
     }
     .card-title {
       line-height: 24px;
-      em {
-        color: $color-text--highlight;
-      }
     }
   }
 

+ 5 - 4
jydocs-pc/src/views/Search.vue

@@ -170,10 +170,11 @@ export default {
     },
     toDocDetail (item) {
       const { docId: id } = item
-      this.$router.push({
-        name: 'content',
-        params: { id }
-      })
+      window.open(`./content/${id}`) // 打开新窗口
+      // this.$router.push({
+      //   name: 'content',
+      //   params: { id }
+      // })
     },
     onPageChange (p) {
       this.listState.pageNum = p