Pārlūkot izejas kodu

Merge branch 'master' of http://git.cc-lotus.info/smart-jobs/web-common

guhongwei 5 gadi atpakaļ
vecāks
revīzija
a7a7eaa66b

+ 8 - 2
src/layout/index/cause.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="cause">
     <el-row>
-      <el-col :span="24">
+      <el-col :span="24" v-if="enterList && enterList.length > 0">
         <el-tabs v-model="activeName" type="border-card" :before-leave="handleClick">
           <el-tab-pane v-for="(item, index) in enterList" :key="index">
             <span slot="label">{{ item.title }}</span>
@@ -17,17 +17,23 @@
         </el-tabs>
         <el-link :inderline="false" class="moreLink" :style="`color:${Color}`" @click="moreClick()">MORE<i class="el-icon-video-play"></i> </el-link>
       </el-col>
+      <el-col :span="24" v-else>
+        <no-data></no-data>
+      </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import noData from '@publics/src/layout/noData.vue';
 export default {
   name: 'cause',
   props: {
     enterList: null,
   },
-  components: {},
+  components: {
+    noData,
+  },
   data: () => ({
     activeName: '',
     Color: '#850000',

+ 8 - 2
src/layout/index/danwei.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="danwei">
     <el-row>
-      <el-col :span="24">
+      <el-col :span="24" v-if="danweiList && danweiList.length > 0">
         <el-tabs v-model="activeName" type="border-card" :before-leave="handleClick">
           <el-tab-pane v-for="(item, index) in danweiList" :key="index">
             <span slot="label">{{ item.title }}</span>
@@ -17,17 +17,23 @@
         </el-tabs>
         <el-link :inderline="false" class="moreLink" :style="`color:${Color}`" @click="moreClick()">MORE<i class="el-icon-video-play"></i> </el-link>
       </el-col>
+      <el-col :span="24" v-else>
+        <no-data></no-data>
+      </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import noData from '@publics/src/layout/noData.vue';
 export default {
   name: 'danwei',
   props: {
     danweiList: null,
   },
-  components: {},
+  components: {
+    noData,
+  },
   data: () => ({
     activeName: '',
     Color: '#850000',

+ 24 - 2
src/layout/index/news.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="news">
     <el-row>
-      <el-col :span="24" class="news">
+      <el-col :span="24" class="news" v-if="haveData(news)">
         <el-col :span="24" class="topTit">
           <el-col :span="20">
             <span :style="`border-color:${borderColor}`">{{ news.title }}</span>
@@ -36,17 +36,24 @@
           </el-col>
         </el-col>
       </el-col>
+      <el-col :span="24" v-else>
+        <no-data></no-data>
+      </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import _ from 'lodash';
+import noData from '@publics/src/layout/noData.vue';
 export default {
   name: 'news',
   props: {
     news: null,
   },
-  components: {},
+  components: {
+    noData,
+  },
   data: () => ({
     borderColor: '#850000',
     Color: '#850000',
@@ -54,6 +61,21 @@ export default {
   created() {},
   computed: {},
   methods: {
+    haveData(data) {
+      let res = false;
+      if (data !== null) {
+        if (_.isArray(data)) {
+          return data.length > 0;
+        } else {
+          let object = _.get(data, 'children', undefined);
+          if (object === undefined) {
+            return false;
+          } else {
+            return this.haveData(object);
+          }
+        }
+      }
+    },
     shuYi(index) {
       this.$refs.shubiao.setActiveItem(`${index}`);
     },

+ 29 - 6
src/layout/index/notice.vue

@@ -1,12 +1,12 @@
 <template>
   <div id="notice">
     <el-row>
-      <el-col :span="24" class="notice">
+      <el-col :span="24" class="notice" v-if="haveData(notice)">
         <el-col :span="24" class="topTit">
-          <el-col :span="20">
+          <el-col :span="18">
             <span :style="`border-color:${borderColor}`">{{ notice.title }}</span>
           </el-col>
-          <el-col :span="4">
+          <el-col :span="5" style="text-align:right">
             <el-link :underline="false" :style="`color:${Color}`" @click="$router.push({ path: `/info/list/${notice.column.id}` })">
               MORE<i class="el-icon-video-play"></i>
             </el-link>
@@ -19,7 +19,7 @@
             v-for="(item, index) in notice.infoList"
             :key="index"
             :name="`${index}`"
-            @click.native="$router.push({ path: `/detail?id=${item.id}` })"
+            @click.native="$router.push({ path: `/info/detail?id=${item.id}` })"
           >
             <el-col :span="4" class="time">
               {{ item.publish_time | getDate }}
@@ -32,17 +32,24 @@
           </el-col>
         </el-col>
       </el-col>
+      <el-col :span="24" v-else>
+        <no-data></no-data>
+      </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
+import noData from '@publics/src/layout/noData.vue';
+import _ from 'lodash';
 export default {
   name: 'notice',
   props: {
     notice: null,
   },
-  components: {},
+  components: {
+    noData,
+  },
   data: () => ({
     borderColor: '#850000',
     Color: '#850000',
@@ -50,7 +57,23 @@ export default {
   }),
   created() {},
   computed: {},
-  methods: {},
+  methods: {
+    haveData(data) {
+      let res = false;
+      if (data !== null) {
+        if (_.isArray(data)) {
+          return data.length > 0;
+        } else {
+          let object = _.get(data, 'children', undefined);
+          if (object === undefined) {
+            return false;
+          } else {
+            return this.haveData(object);
+          }
+        }
+      }
+    },
+  },
   filters: {
     getDate(date) {
       if (date) {

+ 4 - 4
src/layout/noDate.vue

@@ -1,16 +1,16 @@
 <template>
-  <div id="noDate">
+  <div id="noData">
     <el-row>
-      <el-col1 :span="24" class="info">
+      <el-col :span="24" class="info">
         <P>暂无数据,敬请期待</P>
-      </el-col1>
+      </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
 export default {
-  name: 'noDate',
+  name: 'noData',
   props: {},
   components: {},
   data: () => ({}),