Prechádzať zdrojové kódy

Merge branch 'master' of http://git.cc-lotus.info/count/webnew-count

reloaded 5 rokov pred
rodič
commit
7fbc5b5c95
35 zmenil súbory, kde vykonal 373 pridanie a 149 odobranie
  1. 2 1
      .env
  2. 1 1
      src/layout/common/top.vue
  3. 13 0
      src/views/achievement/parts/achievementsDetail.vue
  4. 1 1
      src/views/achievement/parts/achievementsList.vue
  5. 13 0
      src/views/achievement/parts/countryDetail.vue
  6. 1 1
      src/views/achievement/parts/countryList.vue
  7. 13 0
      src/views/achievement/parts/entrepreneurshipDetail.vue
  8. 1 1
      src/views/achievement/parts/entrepreneurshipList.vue
  9. 13 0
      src/views/achievement/parts/knowledgeDetail.vue
  10. 1 1
      src/views/achievement/parts/knowledgeList.vue
  11. 13 0
      src/views/achievement/parts/projectDetail.vue
  12. 1 1
      src/views/achievement/parts/projectList.vue
  13. 13 0
      src/views/achievement/parts/softwareDetail.vue
  14. 1 1
      src/views/achievement/parts/softwareList.vue
  15. 13 0
      src/views/achievement/parts/supercomputingDetail.vue
  16. 1 1
      src/views/achievement/parts/supercomputingList.vue
  17. 13 0
      src/views/achievement/parts/teachingDetail.vue
  18. 1 1
      src/views/achievement/parts/teachingList.vue
  19. 13 0
      src/views/achievement/parts/technologyDetail.vue
  20. 1 1
      src/views/achievement/parts/technologyList.vue
  21. 3 5
      src/views/communication/list.vue
  22. 1 1
      src/views/communication/parts/industryList.vue
  23. 39 28
      src/views/communication/parts/right.vue
  24. 20 16
      src/views/communication/parts/scienceDetail.vue
  25. 1 1
      src/views/communication/parts/scienceList.vue
  26. 22 14
      src/views/communication/parts/technologyDetail.vue
  27. 1 1
      src/views/communication/parts/technologyList.vue
  28. 21 9
      src/views/communication/parts/topicDetail.vue
  29. 1 1
      src/views/communication/parts/topicList.vue
  30. 13 0
      src/views/news/parts/newsDetail.vue
  31. 26 42
      src/views/partisan/index.vue
  32. 70 10
      src/views/partisan/listDetail.vue
  33. 12 5
      src/views/partisan/parts/newsDetail.vue
  34. 8 2
      src/views/partisan/parts/newsList.vue
  35. 6 3
      src/views/pcenter/parts/personnelAdmin.vue

+ 2 - 1
.env

@@ -1,2 +1,3 @@
 VUE_APP_AXIOS_BASE_URL = ''
-VUE_APP_ROUTER="/www"
+VUE_APP_ROUTER="/count"
+VUE_APP_LIMIT = 10

+ 1 - 1
src/layout/common/top.vue

@@ -11,7 +11,7 @@
             <el-button size="mini" @click="$router.push({ path: '/register' })">注册</el-button>
           </span>
           <span v-else>
-            <span style="padding:0 15px 0 0;">{{ user.name }}</span>
+            <!-- <span style="padding:0 15px 0 0;">{{ user.name }}</span> -->
             <el-button @click="$router.push({ path: '/pcenter/index' })">个人中心</el-button>
           </span>
         </el-col>

+ 13 - 0
src/views/achievement/parts/achievementsDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/achievementsList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/countryDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/countryList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/entrepreneurshipDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/entrepreneurshipList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/knowledgeDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/knowledgeList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/projectDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/projectList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/softwareDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/softwareList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/supercomputingDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/supercomputingList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/teachingDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/teachingList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/achievement/parts/technologyDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 1 - 1
src/views/achievement/parts/technologyList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 3 - 5
src/views/communication/list.vue

@@ -52,13 +52,13 @@
                   <topicDetail :newsid="newsid" :details="details"></topicDetail>
                 </span>
                 <span v-else-if="columnName == '技术问答'">
-                  <technologyDetail :details="details"></technologyDetail>
+                  <technologyDetail :details="details" :newsid="newsid"></technologyDetail>
                 </span>
                 <span v-else-if="columnName == '行业研究'">
-                  <industryDetail :details="details"></industryDetail>
+                  <technologyDetail :details="details" :newsid="newsid"></technologyDetail>
                 </span>
                 <span v-else-if="columnName == '科技培训'">
-                  <scienceDetail :details="details"></scienceDetail>
+                  <scienceDetail :details="details" :newsid="newsid"></scienceDetail>
                 </span>
               </span>
             </el-col>
@@ -81,7 +81,6 @@ import foot from '@/layout/common/foot.vue';
 import technologyList from './parts/technologyList.vue';
 import technologyDetail from './parts/technologyDetail.vue';
 import industryList from './parts/industryList.vue';
-import industryDetail from './parts/industryDetail.vue';
 import topicList from './parts/topicList.vue';
 import topicDetail from './parts/topicDetail.vue';
 import scienceList from './parts/scienceList.vue';
@@ -100,7 +99,6 @@ export default {
     technologyDetail,
     technologyList,
     industryList,
-    industryDetail,
     scienceList,
     scienceDetail,
   },

+ 1 - 1
src/views/communication/parts/industryList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"> </pagination>

+ 39 - 28
src/views/communication/parts/right.vue

@@ -8,14 +8,9 @@
             <span slot="label" class="dian"></span>
             <el-col :span="24" class="list">
               <ul>
-                <li
-                  class="zhuantiList"
-                  v-for="(item, index) in ztytList"
-                  :key="index"
-                  @click="$router.push({ path: '/communication/list', query: { col_name: '专题研讨', id: 'id', display: '1' } })"
-                >
+                <li class="zhuantiList" v-for="(item, index) in ztytList" :key="index" @click="zhuanti(item)">
                   <el-col :span="20" class="title textOver">{{ item.title }}</el-col>
-                  <el-col :span="4" class="date textOver">{{ item.date }}</el-col>
+                  <el-col :span="4" class="date textOver">{{ item.publish_time }}</el-col>
                 </li>
               </ul>
               <el-col class="more" :span="24"><el-link :underline="false" @click="morezt()">查看更多</el-link></el-col>
@@ -26,14 +21,9 @@
             <span slot="label" class="dian"></span>
             <el-col :span="24" class="list">
               <ul>
-                <li
-                  class="zhuantiList"
-                  v-for="(item, index) in jswdList"
-                  :key="index"
-                  @click="$router.push({ path: '/communication/list', query: { col_name: '技术问答', id: 'id', display: '1' } })"
-                >
+                <li class="zhuantiList" v-for="(item, index) in jswdList" :key="index" @click="jishu(item)">
                   <el-col :span="20" class="title textOver">{{ item.title }}</el-col>
-                  <el-col :span="4" class="date textOver">{{ item.date }}</el-col>
+                  <el-col :span="4" class="date textOver">{{ item.publish_time }}</el-col>
                 </li>
               </ul>
               <el-col class="more" :span="24"><el-link :underline="false" @click="morejishu()">查看更多</el-link></el-col>
@@ -44,14 +34,9 @@
             <span slot="label" class="dian"></span>
             <el-col :span="24" class="list">
               <ul>
-                <li
-                  class="zhuantiList"
-                  v-for="(item, index) in hyyjList"
-                  :key="index"
-                  @click="$router.push({ path: '/communication/list', query: { col_name: '行业研究', id: 'id', display: '1' } })"
-                >
+                <li class="zhuantiList" v-for="(item, index) in hyyjList" :key="index" @click="hangye(item)">
                   <el-col :span="20" class="title textOver">{{ item.title }}</el-col>
-                  <el-col :span="4" class="date textOver">{{ item.date }}</el-col>
+                  <el-col :span="4" class="date textOver">{{ item.publish_time }}</el-col>
                 </li>
               </ul>
               <el-col class="more" :span="24"><el-link :underline="false" @click="morehangye()">查看更多</el-link></el-col>
@@ -61,14 +46,9 @@
             <span slot="label">科技培训</span>
             <el-col :span="24" class="list">
               <ul>
-                <li
-                  class="zhuantiList"
-                  v-for="(item, index) in kjpxList"
-                  :key="index"
-                  @click="$router.push({ path: '/communication/list', query: { col_name: '科技培训', id: 'id', display: '1' } })"
-                >
+                <li class="zhuantiList" v-for="(item, index) in kjpxList" :key="index" @click="keji(item)">
                   <el-col :span="20" class="title textOver">{{ item.title }}</el-col>
-                  <el-col :span="4" class="date textOver">{{ item.date }}</el-col>
+                  <el-col :span="4" class="date textOver">{{ item.publish_time }}</el-col>
                 </li>
               </ul>
               <el-col class="more" :span="24"><el-link :underline="false" @click="morekeji()">查看更多</el-link></el-col>
@@ -107,6 +87,37 @@ export default {
     morekeji() {
       this.$router.push({ path: '/communication/list', query: { col_name: '科技培训', display: '0' } });
     },
+    //专题
+    zhuanti(item) {
+      if (item.url) {
+        window.open(item.url);
+      } else {
+        this.$router.push({ path: '/communication/list', query: { col_name: '专题研讨', id: item.id, display: '1' } });
+      }
+    },
+    //技术
+    jishu(item) {
+      if (item.url) {
+        window.open(item.url);
+      } else {
+        this.$router.push({ path: '/communication/list', query: { col_name: '技术问答', newsid: item.id, display: '1' } });
+      }
+    },
+    hangye(item) {
+      if (item.url) {
+        window.open(item.url);
+      } else {
+        this.$router.push({ path: '/communication/list', query: { col_name: '行业研究', newsid: item.id, display: '1' } });
+      }
+    },
+
+    keji(item) {
+      if (item.url) {
+        window.open(item.url);
+      } else {
+        this.$router.push({ path: '/communication/list', query: { col_name: '科技培训', newsid: item.id, display: '1' } });
+      }
+    },
   },
 };
 </script>

+ 20 - 16
src/views/communication/parts/scienceDetail.vue

@@ -7,14 +7,14 @@
             <span>{{ detailinfo.title }}</span>
           </div>
           <div class="detailtopleft">
-            <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.orgin }}</span>
+            <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.publish_time }}</span>
           </div>
-          <div class="detailimage" v-if="detailinfo.picture">
-            <img :src="detailinfo.picture" class="detailimg" />
+          <div class="detailimage" v-if="detailinfo.img_url">
+            <img :src="detailinfo.img_url" class="detailimg" />
           </div>
-          <div class="detailVideo">
-            <video :src="detailinfo.filepath" controls="controls">
-              您的浏览器不支持 video 标签。
+          <div class="detailVideo" v-if="detailinfo.file_url">
+            <video :src="detailinfo.file_url" controls="controls">
+              <!-- 您的浏览器不支持 video 标签。 -->
             </video>
           </div>
           <div class="detailcontext">
@@ -28,11 +28,11 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
-// const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: news } = createNamespacedHelpers('news');
 export default {
   name: 'eduDetail',
   props: {
-    // newsid: null,
+    newsid: null,
   },
   components: {},
   data: () => {
@@ -47,19 +47,23 @@ export default {
     };
   },
   created() {
-    // this.search();
+    this.search();
   },
   methods: {
-    // ...news(['fetch']),
-    // async search() {
-    //   console.log(this.newsid);
-    //   const res = await this.fetch(this.newsid);
-    //   this.$set(this, `detailinfo`, res.data);
-    // },
+    ...news(['fetch']),
+    async search() {
+      if (this.id) {
+        const res = await this.fetch(this.id);
+        this.$set(this, `detailinfo`, res.data);
+      } else {
+        const res = await this.fetch(this.newsid);
+        this.$set(this, `detailinfo`, res.data);
+      }
+    },
   },
   computed: {
     id() {
-      return this.$route.query.id;
+      return this.$route.query.newsid;
     },
     ...mapState(['user']),
     pageTitle() {

+ 1 - 1
src/views/communication/parts/scienceList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 22 - 14
src/views/communication/parts/technologyDetail.vue

@@ -7,16 +7,16 @@
             <span>{{ detailinfo.title }}</span>
           </div>
           <div class="detailtopleft">
-            <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.orgin }}</span>
+            <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.publish_unit }}</span>
           </div>
 
-          <div class="detailimage" v-if="detailinfo.picture">
-            <img :src="detailinfo.picture" class="detailimg" />
+          <div class="detailimage" v-if="detailinfo.img_url">
+            <img :src="detailinfo.img_url" class="detailimg" />
           </div>
           <div class="detailcontext">
             <p v-html="detailinfo.content"></p>
           </div>
-          <div class="development" v-if="detailinfo.column_name == '专家问诊'">
+          <div class="development" v-if="detailinfo.col_name == '技术问答'">
             <p>功能开发中</p>
             <p>功能实现流程:<span>问诊记录展示</span>-<span>在线咨询</span>-<span>专家在线问诊</span></p>
           </div>
@@ -28,10 +28,12 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
-// const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: news } = createNamespacedHelpers('news');
 export default {
   name: 'detail',
-  props: {},
+  props: {
+    newsid: null,
+  },
   components: {},
   data: () => {
     return {
@@ -51,19 +53,25 @@ export default {
     };
   },
   created() {
-    // this.search();
+    this.search();
   },
   methods: {
-    // ...news(['fetch']),
-    // async search() {
-    //   const res = await this.fetch(this.newsid);
-    //   this.$set(this, `detailinfo`, res.data);
-    //   console.log(res.data);
-    // },
+    ...news(['fetch']),
+    async search() {
+      if (this.id) {
+        const res = await this.fetch(this.id);
+        this.$set(this, `detailinfo`, res.data);
+        console.log(res.data);
+      } else {
+        const res = await this.fetch(this.newsid);
+        this.$set(this, `detailinfo`, res.data);
+        console.log(res.data);
+      }
+    },
   },
   computed: {
     id() {
-      return this.$route.query.id;
+      return this.$route.query.newsid;
     },
     ...mapState(['user']),
     pageTitle() {

+ 1 - 1
src/views/communication/parts/technologyList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 21 - 9
src/views/communication/parts/topicDetail.vue

@@ -52,7 +52,7 @@
                 <el-col :span="21" class="right">
                   <el-col :span="24" class="date">
                     <i class="el-icon-user icon"></i>
-                    <span>评论发布于{{ publish_time }}</span>
+                    <span>评论发布于{{ item.meta | getDate }}</span>
                     <span>{{ index + 2 }}楼</span>
                   </el-col>
                   <el-col :span="24" class="info">
@@ -129,6 +129,8 @@ export default {
     ...comment({ commentquery: 'query', commentCreate: 'create', commentUpdate: 'update' }),
     async searchinfo() {
       if (this.id) {
+        const res = await this.fetch(this.id);
+        this.$set(this, `detail`, res.data);
       } else {
         let id = this.newsid;
         const res = await this.fetch(id);
@@ -136,7 +138,7 @@ export default {
       }
     },
     async search({ skip = 0, limit = this.limit, newsid = this.newsid } = { skip: 0, limit: this.limit }) {
-      let res = await this.commentquery({ skip, limit, newsid });
+      let res = await this.commentquery({ skip, limit, newsid, status: 1 });
       console.log(res);
       this.$set(this, `list`, res.data);
       this.$set(this, `total`, res.total);
@@ -146,13 +148,23 @@ export default {
         this.$message.error('游客身份无法评论,请先登录');
         return;
       } else {
-        this.form.newsid = this.newsid;
-        this.form.uid = this.user.uid;
-        let data = this.form;
-        let res = await this.commentCreate(data);
-        console.log(res);
-        this.$checkRes(res, '评论成功', '评论失败');
-        this.search();
+        if (this.id) {
+          this.form.newsid = this.id;
+          this.form.uid = this.user.uid;
+          let data = this.form;
+          let res = await this.commentCreate(data);
+          console.log(res);
+          this.$checkRes(res, '评论成功', '评论失败');
+          this.search();
+        } else {
+          this.form.newsid = this.newsid;
+          this.form.uid = this.user.uid;
+          let data = this.form;
+          let res = await this.commentCreate(data);
+          console.log(res);
+          this.$checkRes(res, '评论成功', '评论失败');
+          this.search();
+        }
       }
     },
   },

+ 1 - 1
src/views/communication/parts/topicList.vue

@@ -5,7 +5,7 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
           <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>

+ 13 - 0
src/views/news/parts/newsDetail.vue

@@ -7,6 +7,9 @@
           <span>文章来源:{{ details.publish_unit }}</span>
           <span>时间:{{ details.publish_time }}</span>
         </div>
+        <div class="detailimage" v-if="details.img_url">
+          <img :src="details.img_url" class="detailimg" />
+        </div>
         <p v-html="details.content"></p>
       </el-col>
     </el-row>
@@ -57,4 +60,14 @@ export default {
     }
   }
 }
+
+.detailimage {
+  text-align: center;
+  padding: 20px 0 0 0;
+}
+
+.detailimg {
+  width: 300px;
+  height: 300px;
+}
 </style>

+ 26 - 42
src/views/partisan/index.vue

@@ -18,7 +18,7 @@
               <el-carousel-item
                 v-for="(item, index) in ruleList"
                 :key="index"
-                @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '图片新闻', id: 'id', display: '1' } })"
+                @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '图片新闻', id: item.id, display: '1' } })"
                 class="ruleList"
               >
                 <el-image :src="item.img_url"></el-image>
@@ -36,7 +36,7 @@
               class="info"
               v-for="(item, index) in workList"
               :key="index"
-              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '党建工作', id: 'id', display: '1' } })"
+              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '党建工作', id: item.id, display: '1' } })"
             >
               <span></span><span class="textOver">{{ item.title }}</span
               ><span>{{ item.publish_time }}</span>
@@ -52,7 +52,7 @@
               class="info"
               v-for="(item, index) in stuList"
               :key="index"
-              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '学习园地', id: 'id', display: '1' } })"
+              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '学习园地', id: item.id, display: '1' } })"
             >
               <span></span><span class="textOver">{{ item.title }}</span
               ><span>{{ item.publish_time }}</span>
@@ -68,7 +68,7 @@
               class="info"
               v-for="(item, index) in politicsList"
               :key="index"
-              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '党风廉政', id: 'id', display: '1' } })"
+              @click.native="$router.push({ path: '/partisan/listDetail', query: { col_name: '党风廉政', id: item.id, display: '1' } })"
             >
               <span></span><span class="textOver">{{ item.title }}</span
               ><span>{{ item.publish_time }}</span>
@@ -89,55 +89,39 @@
 import top from '@/layout/common/top.vue';
 import menus from '@/layout/common/menus.vue';
 import foot from '@/layout/common/foot.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: news } = createNamespacedHelpers('news');
 export default {
   name: 'partisan',
   props: {},
   components: { top, menus, foot },
   data: () => ({
     // 图片新闻
-    ruleList: [
-      {
-        title: '标题',
-        img_url: require('@/assets/123.jpg'),
-      },
-    ],
+    ruleList: [],
     // 党建工作
-    workList: [
-      {
-        title: '标题',
-        publish_time: '2020-05-23',
-      },
-      {
-        title: '八条数据',
-        publish_time: '2020-05-23',
-      },
-    ],
+    workList: [],
     // 学习园地
-    stuList: [
-      {
-        title: '标题',
-        publish_time: '2020-05-23',
-      },
-      {
-        title: '八条数据',
-        publish_time: '2020-05-23',
-      },
-    ],
+    stuList: [],
     // 党风廉政
-    politicsList: [
-      {
-        title: '标题',
-        publish_time: '2020-05-23',
-      },
-      {
-        title: '八条数据',
-        publish_time: '2020-05-23',
-      },
-    ],
+    politicsList: [],
   }),
-  created() {},
+  created() {
+    this.searchInfo();
+  },
   computed: {},
-  methods: {},
+  methods: {
+    ...news({ newsQuery: 'query', newsFetch: 'fetch' }),
+    async searchInfo({ skip = 0, limit = 8, status = 2, ...info } = {}) {
+      let res = await this.newsQuery({ skip, limit, status, col_name: '图片新闻' });
+      if (this.$checkRes(res)) this.$set(this, `ruleList`, res.data);
+      res = await this.newsQuery({ skip, limit, status, col_name: '党建工作' });
+      if (this.$checkRes(res)) this.$set(this, `workList`, res.data);
+      res = await this.newsQuery({ skip, limit, status, col_name: '学习园地' });
+      if (this.$checkRes(res)) this.$set(this, `stuList`, res.data);
+      res = await this.newsQuery({ skip, limit, status, col_name: '党风廉政' });
+      if (this.$checkRes(res)) this.$set(this, `politicsList`, res.data);
+    },
+  },
 };
 </script>
 

+ 70 - 10
src/views/partisan/listDetail.vue

@@ -32,7 +32,7 @@
                   <span>{{ columnName }}</span>
                 </el-col>
                 <el-col :span="24" class="list">
-                  <newsList :list="list" :total="total" @detailBtn="detailBtn"></newsList>
+                  <newsList :list="list" :total="total" @detailBtn="detailBtn" @searchList="searchList"></newsList>
                 </el-col>
               </span>
               <span v-else>
@@ -58,6 +58,7 @@ import foot from '@/layout/common/foot.vue';
 import newsList from './parts/newsList.vue';
 import newsDetail from './parts/newsDetail.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: news } = createNamespacedHelpers('news');
 export default {
   name: 'listDetail',
   props: {},
@@ -89,51 +90,110 @@ export default {
       // 总数
       total: 10,
       // 详情
-      details: {
-        title: '信息标题',
-        source: '信息部',
-        date: '2020-02-02',
-        content: '信息内容',
-      },
+      details: {},
     };
   },
   created() {
     this.changeColumn();
+    if (this.id) {
+      this.searchInfo();
+    }
   },
   methods: {
+    ...news({ newsQuery: 'query', newsFetch: 'fetch' }),
     // 选择栏目
-    changeColumn() {
+    async changeColumn({ skip = 0, limit = 14, status = 2, ...info } = {}) {
       if (this.col_name == '图片新闻') {
         this.menuIndex = 0;
         this.columnName = this.col_name;
         this.menuColor = 'rgb(5,73,130)';
         this.$set(this, `displays`, this.display);
+        let res = await this.newsQuery({ skip, limit, status, col_name: '图片新闻' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
       } else if (this.col_name == '党建工作') {
         this.menuIndex = 1;
         this.columnName = this.col_name;
         this.menuColor = 'rgb(5,73,130)';
         this.$set(this, `displays`, this.display);
+        let res = await this.newsQuery({ skip, limit, status, col_name: '党建工作' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
       } else if (this.col_name == '学习园地') {
         this.menuIndex = 2;
         this.columnName = this.col_name;
         this.menuColor = 'rgb(5,73,130)';
         this.$set(this, `displays`, this.display);
+        let res = await this.newsQuery({ skip, limit, status, col_name: '学习园地' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
       } else if (this.col_name == '党风廉政') {
         this.menuIndex = 3;
         this.columnName = this.col_name;
         this.menuColor = 'rgb(5,73,130)';
         this.$set(this, `displays`, this.display);
+        let res = await this.newsQuery({ skip, limit, status, col_name: '党风廉政' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
       }
     },
     // 点击选择菜单
-    changeMenu(name, index) {
+    async changeMenu(name, index) {
       this.menuIndex = index;
       this.columnName = name;
       this.menuColor = 'rgb(5,73,130)';
       this.$set(this, `displays`, 0);
+      this.searchList();
+    },
+    // 点击选择查询列表
+    async searchList({ skip = 0, limit = 14, status = 2, ...info } = {}) {
+      if (this.columnName == '图片新闻') {
+        let res = await this.newsQuery({ skip, limit, status, col_name: '图片新闻' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else if (this.columnName == '党建工作') {
+        let res = await this.newsQuery({ skip, limit, status, col_name: '党建工作' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else if (this.columnName == '学习园地') {
+        let res = await this.newsQuery({ skip, limit, status, col_name: '学习园地' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else if (this.columnName == '党风廉政') {
+        let res = await this.newsQuery({ skip, limit, status, col_name: '党风廉政' });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      }
+    },
+    // 详情
+    async searchInfo(id) {
+      let res = await this.newsFetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `details`, res.data);
+      }
     },
     // 点击详情
-    detailBtn(id) {
+    async detailBtn(id) {
+      let res = await this.newsFetch(id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `details`, res.data);
+      }
       this.$set(this, `displays`, 1);
     },
   },

+ 12 - 5
src/views/partisan/parts/newsDetail.vue

@@ -3,11 +3,14 @@
     <el-row>
       <el-col :span="24" class="info">
         <h3>{{ details.title }}</h3>
-        <div>
-          <span>文章来源:{{ details.source }}</span>
-          <span>时间:{{ details.date }}</span>
+        <div class="date">
+          <span>发布单位:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
         </div>
-        <p>{{ details.content }}</p>
+        <el-col :span="24" class="image">
+          <el-image :src="details.img_url"></el-image>
+        </el-col>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
@@ -46,7 +49,7 @@ export default {
     color: #005293;
     text-align: center;
   }
-  div {
+  .date {
     text-align: center;
     border-bottom: 1px solid #ccc;
     padding: 0 0 40px 0;
@@ -56,5 +59,9 @@ export default {
       padding: 0 10px;
     }
   }
+  .image {
+    text-align: center;
+    margin-bottom: 0 0 15px 0;
+  }
 }
 </style>

+ 8 - 2
src/views/partisan/parts/newsList.vue

@@ -5,10 +5,10 @@
         <el-col :span="24" class="list" @click.native="detailBtn(item.id)" v-for="(item, index) in list" :key="index">
           <span></span>
           <span class="textOver">{{ item.title }}</span>
-          <span>{{ item.date }}</span>
+          <span>{{ item.publish_time }}</span>
         </el-col>
         <el-col :span="24" class="page">
-          <pagination :total="total"></pagination>
+          <pagination :total="total" @query="searchList"></pagination>
         </el-col>
       </el-col>
     </el-row>
@@ -35,6 +35,9 @@ export default {
     detailBtn(id) {
       this.$emit('detailBtn', id);
     },
+    searchList() {
+      this.$emit('searchList');
+    },
   },
   computed: {
     ...mapState(['user']),
@@ -76,6 +79,9 @@ export default {
       text-align: right;
     }
   }
+  .list:hover {
+    cursor: pointer;
+  }
   .page {
     height: 50px;
   }

+ 6 - 3
src/views/pcenter/parts/personnelAdmin.vue

@@ -13,7 +13,7 @@
               <el-table-column prop="birthday" label="出生日期" align="center"> </el-table-column>
               <el-table-column label="操作" align="center" width="220">
                 <template slot-scope="scope">
-                  <el-button size="mini" type="primary" @click="editBtn(scope.row)">编辑</el-button>
+                  <el-button size="mini" type="primary" @click="editBtn(scope.row.id)">编辑</el-button>
                   <el-button size="mini" type="danger" @click="deleteBtn(scope.row.id)">删除</el-button>
                 </template>
               </el-table-column>
@@ -157,8 +157,11 @@ export default {
       this.display = 'list';
     },
     // 编辑
-    async editBtn(data) {
-      this.$set(this, `form`, data);
+    async editBtn(id) {
+      let res = await this.staffFetch(id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `form`, res.data);
+      }
       this.display = 'detail';
     },
     // 删除