reloaded 4 anni fa
parent
commit
62608bd85b

+ 3 - 4
src/layout/index/service.vue

@@ -2,7 +2,7 @@
   <div id="service">
     <el-col :span="24" class="maintoplefttitle">
       <div style="border-bottom: 1px solid #ccc;height: 40px;">
-        <span></span><span>科技支撑</span><span @click="morekeji()" style="cursor:pointer;"><i class="el-icon-more"></i></span>
+        <span></span><span>技术问答</span><span @click="morekeji()" style="cursor:pointer;"><i class="el-icon-more"></i></span>
       </div>
     </el-col>
     <el-col :span="24">
@@ -26,14 +26,13 @@ export default {
   computed: {},
   methods: {
     morekeji() {
-      this.$router.push({ path: '/achievement/index', query: { col_name: '科技支撑', display: '0' } });
+      this.$router.push({ path: '/communication/list', query: { col_name: '技术问答', display: '0' } });
     },
-
     async keji(item) {
       if (item.url) {
         window.open(item.url);
       } else {
-        this.$router.push({ path: '/achievement/index', query: { col_name: '科技支撑', id: item.id, display: '1' } });
+        this.$router.push({ path: '/communication/list', query: { col_name: '技术问答', id: item.id, display: '1' } });
       }
     },
   },

+ 3 - 4
src/layout/index/technology.vue

@@ -2,7 +2,7 @@
   <div id="technology">
     <el-col :span="24" class="maintoplefttitle">
       <div style="border-bottom: 1px solid #ccc;height: 40px;">
-        <span></span><span>技术问答</span><span @click="morekeji()" style="cursor:pointer;"><i class="el-icon-more"></i></span>
+        <span></span><span>学习园地</span><span @click="morekeji()" style="cursor:pointer;"><i class="el-icon-more"></i></span>
       </div>
     </el-col>
     <el-col :span="24">
@@ -26,14 +26,13 @@ export default {
   computed: {},
   methods: {
     morekeji() {
-      this.$router.push({ path: '/communication/list', query: { col_name: '技术问答', display: '0' } });
+      this.$router.push({ path: '/partisan/listDetail', query: { col_name: '学习园地', display: '0' } });
     },
-
     async keji(item) {
       if (item.url) {
         window.open(item.url);
       } else {
-        this.$router.push({ path: '/communication/list', query: { col_name: '技术问答', id: item.id, display: '1' } });
+        this.$router.push({ path: '/partisan/listDetail', query: { col_name: '学习园地', id: item.id, display: '1' } });
       }
     },
   },

+ 89 - 134
src/views/achievement/index.vue

@@ -22,72 +22,39 @@
             </el-col>
             <el-col :span="19" class="context">
               <el-col :span="18" class="right">
-                <span v-if="displays == '0'">
-                  <el-col :span="24" class="one">
-                    <span></span>
-                    <span>{{ columnName }}</span>
-                  </el-col>
-                  <el-col :span="24" class="list">
-                    <span v-if="columnName == '平台建设'">
-                      <achievementsList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></achievementsList>
-                    </span>
-                    <span v-else-if="columnName == '项目成果'">
-                      <projectList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></projectList>
-                    </span>
-                    <span v-else-if="columnName == '知识产权'">
-                      <knowledgeList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></knowledgeList>
-                    </span>
-                    <span v-else-if="columnName == '科技支撑'">
-                      <technologyList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></technologyList>
-                    </span>
-                    <span v-else-if="columnName == '超算联盟'">
-                      <supercomputingList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></supercomputingList>
-                    </span>
-                    <span v-else-if="columnName == '国家网格'">
-                      <countryList :list="list" :total="total" @detailBtn="detailBtn" @query="searchinfo"></countryList>
-                    </span>
-                    <span v-else-if="columnName == '数学中心'">
-                      <teachingList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></teachingList>
-                    </span>
-                    <span v-else-if="columnName == '创新基地'">
-                      <entrepreneurshipList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></entrepreneurshipList>
-                    </span>
-                    <span v-else-if="columnName == '软件中心'">
-                      <softwareList :list="list" :total="total" :limit="limit" @detailBtn="detailBtn" @query="searchinfo"></softwareList>
-                    </span>
-                  </el-col>
-                </span>
-                <span v-else>
-                  <achievementsDetail :details="details">
-                    <span v-if="columnName == '平台建设'">
-                      <achievementsDetail :details="details"></achievementsDetail>
-                    </span>
-                    <span v-else-if="columnName == '项目成果'">
-                      <projectDetail :details="details"></projectDetail>
-                    </span>
-                    <span v-else-if="columnName == '知识产权'">
-                      <knowledgeDetail :details="details"></knowledgeDetail>
-                    </span>
-                    <span v-else-if="columnName == '科技支撑'">
-                      <technologyDetail :details="details"></technologyDetail>
-                    </span>
-                    <span v-else-if="columnName == '超算联盟'">
-                      <supercomputingDetail :details="details"></supercomputingDetail>
-                    </span>
-                    <span v-else-if="columnName == '国家网格'">
-                      <countryDetail :details="details"></countryDetail>
-                    </span>
-                    <span v-else-if="columnName == '中心'">
-                      <teachingDetail :details="details"></teachingDetail>
-                    </span>
-                    <span v-else-if="columnName == '创新基地'">
-                      <entrepreneurshipDetail :details="details"></entrepreneurshipDetail>
-                    </span>
-                    <span v-else-if="columnName == '软件中心'">
-                      <softwareDetail :details="details"></softwareDetail>
-                    </span>
-                  </achievementsDetail>
-                </span>
+                <el-col :span="24" class="one">
+                  <span></span>
+                  <span>{{ columnName }}</span>
+                </el-col>
+                <el-col :span="24" class="list">
+                  <span v-if="columnName == '平台建设'">
+                    <achievementsList :details="achievementsDetail"></achievementsList>
+                  </span>
+                  <span v-else-if="columnName == '项目成果'">
+                    <projectList :details="projectDetail"></projectList>
+                  </span>
+                  <span v-else-if="columnName == '知识产权'">
+                    <knowledgeList :details="knowledgeDetail"></knowledgeList>
+                  </span>
+                  <span v-else-if="columnName == '科技支撑'">
+                    <technologyList :details="technologyDetail"></technologyList>
+                  </span>
+                  <span v-else-if="columnName == '超算联盟'">
+                    <supercomputingList :details="supercomputingDetail"></supercomputingList>
+                  </span>
+                  <span v-else-if="columnName == '国家网格'">
+                    <countryList :details="countryDetail"></countryList>
+                  </span>
+                  <span v-else-if="columnName == '数学中心'">
+                    <teachingList :details="teachingtDetail"></teachingList>
+                  </span>
+                  <span v-else-if="columnName == '创新基地'">
+                    <entrepreneurshipList :details="entrepreneurshipDetail"></entrepreneurshipList>
+                  </span>
+                  <span v-else-if="columnName == '软件中心'">
+                    <softwareList :details="softwareDetail"></softwareList>
+                  </span>
+                </el-col>
               </el-col>
             </el-col>
           </div>
@@ -107,26 +74,15 @@ import top from '@/layout/common/topInfo.vue';
 import menus from '@/layout/common/menus.vue';
 import foot from '@/layout/common/foot.vue';
 import seminar from '@/layout/achievement/seminar.vue';
-import achievementsDetail from './parts/achievementsDetail.vue';
 import achievementsList from './parts/achievementsList.vue';
-import knowledgeDetail from './parts/knowledgeDetail.vue';
 import knowledgeList from './parts/knowledgeList.vue';
 import projectList from './parts/projectList.vue';
-import projectDetail from './parts/projectDetail.vue';
 import technologyList from './parts/technologyList.vue';
-import technologyDetail from './parts/technologyDetail.vue';
 import supercomputingList from './parts/supercomputingList.vue';
-import supercomputingDetail from './parts/supercomputingDetail.vue';
 import countryList from './parts/countryList.vue';
-import countryDetail from './parts/countryDetail.vue';
-
 import teachingList from './parts/teachingList.vue';
-import teachingDetail from './parts/teachingDetail.vue';
-
 import entrepreneurshipList from './parts/entrepreneurshipList.vue';
-import entrepreneurshipDetail from './parts/entrepreneurshipDetail.vue';
 import softwareList from './parts/softwareList.vue';
-import softwareDetail from './parts/softwareDetail.vue';
 import cooperation from '@/layout/achievement/cooperation.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: news } = createNamespacedHelpers('news');
@@ -140,85 +96,84 @@ export default {
     seminar,
     achievementsList,
     cooperation,
-    achievementsDetail,
     projectList,
-    projectDetail,
     knowledgeList,
-    knowledgeDetail,
     technologyList,
-    technologyDetail,
     supercomputingList,
-    supercomputingDetail,
     countryList,
-    countryDetail,
     teachingList,
-    teachingDetail,
     entrepreneurshipList,
-    entrepreneurshipDetail,
     softwareList,
-    softwareDetail,
   },
   data: () => ({
-    displays: '0',
     columnName: '平台建设',
-    total: 1,
-    limit: 16,
-    details: {},
-    list: [],
-    details: {},
+    achievementsDetail: {},
+    projectDetail: {},
+    knowledgeDetail: {},
+    technologyDetail: {},
+    supercomputingDetail: {},
+    countryDetail: {},
+    teachingtDetail: {},
+    entrepreneurshipDetail: {},
+    softwareDetail: {},
   }),
   created() {
     this.search();
   },
-  computed: {
-    display() {
-      return this.$route.query.display;
-    },
-
-    id() {
-      return this.$route.query.id;
-    },
-    col_name() {
-      return this.$route.query.col_name;
-    },
-  },
+  computed: {},
   methods: {
     ...news({ newsQuery: 'query', newsFetch: 'fetch' }),
     async search() {
-      this.columnName = this.col_name;
-      if (this.display == '0') {
-        let res = await this.newsQuery({ skip: 0, limit: 16, col_name: this.col_name, status: 2, is_del: 0 });
-        if (this.$checkRes(res)) this.$set(this, `list`, res.data);
-        this.$set(this, `total`, res.total);
-      } else {
-        let res = await this.newsFetch(this.id);
-        if (this.$checkRes(res)) this.$set(this, `details`, res.data);
-        this.$set(this, `displays`, this.display);
-      }
-    },
-
-    async detailBtn(item) {
-      if (item.url) {
-        window.open(item.url);
-      } else {
-        let res = await this.newsFetch(item.id);
-        if (this.$checkRes(res)) this.$set(this, `details`, res.data);
-        this.$set(this, `displays`, 1);
+      if (this.columnName == '平台建设') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '平台建设', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `achievementsDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '项目成果') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '项目成果', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `projectDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '知识产权') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '知识产权', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `knowledgeDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '科技支撑') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '科技支撑', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `technologyDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '超算联盟') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '超算联盟', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `supercomputingDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '国家网格') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '国家网格', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `countryDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '数学中心') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '数学中心', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `teachingtDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '创新基地') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '创新基地', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `entrepreneurshipDetail`, res.data[0]);
+        }
+      } else if (this.columnName == '软件中心') {
+        let res = await this.newsQuery({ skip: 0, limit: 1, col_name: '软件中心', status: 2, is_del: 0 });
+        if (this.$checkRes(res)) {
+          this.$set(this, `softwareDetail`, res.data[0]);
+        }
       }
     },
     async leftdaohang(title) {
-      this.$set(this, `displays`, 0);
       this.$set(this, `columnName`, title);
-      let res = await this.newsQuery({ skip: 0, limit: 16, col_name: title, status: 2 });
-      if (this.$checkRes(res)) this.$set(this, `list`, res.data);
-      this.$set(this, `total`, res.total);
-    },
-
-    //分页
-    async searchinfo({ skip, limit }) {
-      let res = await this.newsQuery({ skip, limit: 16, col_name: this.columnName, status: 2 });
-      if (this.$checkRes(res)) this.$set(this, `list`, res.data);
-      this.$set(this, `total`, res.total);
+      this.search();
     },
   },
 };

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/achievementsList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/countryList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 22 - 43
src/views/achievement/parts/entrepreneurshipList.vue

@@ -2,32 +2,25 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
@@ -51,35 +44,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/knowledgeList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 47
src/views/achievement/parts/projectList.vue

@@ -2,14 +2,12 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
@@ -21,22 +19,14 @@ import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +41,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/softwareList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 49
src/views/achievement/parts/supercomputingList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -48,38 +37,23 @@ export default {
   },
 };
 </script>
-
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/teachingList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

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

@@ -1,73 +0,0 @@
-<template>
-  <div id="achievementsDetail">
-    <el-row>
-      <el-col :span="24" class="info">
-        <h3>{{ details.title }}</h3>
-        <div>
-          <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>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'achievementsDetail',
-  props: {
-    details: null,
-  },
-  components: {},
-  data: function() {
-    return {};
-  },
-  created() {},
-  methods: {},
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  padding: 20px 0;
-  h3 {
-    font-size: 24px;
-    color: #005293;
-    text-align: center;
-  }
-  div {
-    text-align: center;
-    border-bottom: 1px solid #ccc;
-    padding: 0 0 40px 0;
-    margin: 0 0 20px 0;
-    span {
-      color: #666666;
-      padding: 0 10px;
-    }
-  }
-}
-
-.detailimage {
-  text-align: center;
-  padding: 20px 0 0 0;
-}
-
-.detailimg {
-  width: 300px;
-  height: 300px;
-}
-</style>

+ 23 - 48
src/views/achievement/parts/technologyList.vue

@@ -2,41 +2,30 @@
   <div id="newsList">
     <el-row>
       <el-col :span="24" class="info">
-        <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.publish_time }}</span>
-        </el-col>
-        <el-col :span="24" class="page">
-          <pagination :total="total" :limit="limit" v-on="$listeners"></pagination>
-        </el-col>
+        <h3>{{ details.title }}</h3>
+        <div>
+          <span>文章来源:{{ details.publish_unit }}</span>
+          <span>时间:{{ details.publish_time }}</span>
+        </div>
+        <p v-html="details.content"></p>
       </el-col>
     </el-row>
   </div>
 </template>
 
 <script>
-import pagination from '@/components/pagination.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'newsList',
   props: {
-    list: null,
-    total: null,
-    limit: null,
-  },
-  components: {
-    pagination,
+    details: null,
   },
+  components: {},
   data: function() {
     return {};
   },
   created() {},
-  methods: {
-    detailBtn(item) {
-      this.$emit('detailBtn', item);
-    },
-  },
+  methods: {},
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -51,35 +40,21 @@ export default {
 
 <style lang="less" scoped>
 .info {
-  .list {
-    padding: 0 0 7px 0;
-
-    span:first-child {
-      display: inline-block;
-      width: 4px;
-      height: 4px;
-      background: #ccc;
-      margin: 0px 10px 7px 0px;
-    }
-    span:nth-child(2) {
-      display: inline-block;
-      font-size: 16px;
-      color: #555555;
-      font-family: '微软雅黑';
-      width: 85%;
-      margin: 0 30px 0 0;
-    }
-    span:last-child {
-      display: inline-block;
-      width: 90px;
-      font-size: 16px;
-      color: #a8abb7;
-      font-family: '微软雅黑';
-      text-align: right;
-    }
+  padding: 0 0 20px 0;
+  h3 {
+    font-size: 24px;
+    color: #005293;
+    text-align: center;
   }
-  .page {
-    height: 50px;
+  div {
+    text-align: center;
+    border-bottom: 1px solid #ccc;
+    padding: 0 0 40px 0;
+    margin: 0 0 20px 0;
+    span {
+      color: #666666;
+      padding: 0 10px;
+    }
   }
 }
 </style>

+ 24 - 39
src/views/communication/index.vue

@@ -16,7 +16,18 @@
               <el-col :span="8" class="left">
                 <demand></demand>
               </el-col>
-              <el-col :span="16" class="right"><right :ztytList="ztytList" :jswdList="jswdList" :hyyjList="hyyjList" :kjpxList="kjpxList"></right></el-col>
+              <el-col :span="16" class="right">
+                <right
+                  :ztytList="ztytList"
+                  :ztytTotal="ztytTotal"
+                  :jswdList="jswdList"
+                  :jswdTotal="jswdTotal"
+                  :hyyjList="hyyjList"
+                  :hyyjTotal="hyyjTotal"
+                  :kjpxList="kjpxList"
+                  :kjpxTotal="kjpxTotal"
+                ></right>
+              </el-col>
             </el-col>
           </div>
         </el-col>
@@ -46,48 +57,18 @@ export default {
     menus,
     demand,
     right,
-
     foot,
   },
   data: function() {
     return {
-      ztytList: [
-        {
-          title: '试测试测',
-          date: '2013-12-03',
-        },
-        {
-          title: '16条',
-          date: '2013-12-03',
-        },
-      ],
-
-      jswdList: [
-        {
-          title: '测试测试测试测',
-          date: '2013-12-03',
-        },
-        {
-          title: '8条',
-          date: '2013-12-03',
-        },
-      ], //技术问答
-      hyyjList: [
-        {
-          title: '测试测试',
-          date: '2013-12-03',
-        },
-        {
-          title: '16条',
-          date: '2013-12-03',
-        },
-      ], //行业研究
-      kjpxList: [
-        {
-          title: '16条',
-          date: '2013-12-03',
-        },
-      ], //科技培训
+      ztytList: [], //专题研讨
+      ztytTotal: 0,
+      jswdList: [], //技术问答
+      jswdTotal: 0,
+      hyyjList: [], //行业研究
+      hyyjTotal: 0,
+      kjpxList: [], //科技培训
+      kjpxTotal: 0,
     };
   },
   created() {
@@ -98,12 +79,16 @@ export default {
     async search() {
       let res = await this.newsQuery({ skip: 0, limit: 16, col_name: '专题研讨', status: 2, is_del: 0 });
       if (this.$checkRes(res)) this.$set(this, `ztytList`, res.data);
+      this.$set(this, `ztytTotal`, res.total);
       res = await this.newsQuery({ skip: 0, limit: 16, col_name: '技术问答', status: 2, is_del: 0 });
       if (this.$checkRes(res)) this.$set(this, `jswdList`, res.data);
+      this.$set(this, `jswdTotal`, res.total);
       res = await this.newsQuery({ skip: 0, limit: 16, col_name: '行业研究', status: 2, is_del: 0 });
       if (this.$checkRes(res)) this.$set(this, `hyyjList`, res.data);
+      this.$set(this, `hyyjTotal`, res.total);
       res = await this.newsQuery({ skip: 0, limit: 16, col_name: '科技培训', status: 2, is_del: 0 });
       if (this.$checkRes(res)) this.$set(this, `kjpxList`, res.data);
+      this.$set(this, `kjpxTotal`, res.total);
     },
   },
   computed: {

+ 7 - 6
src/views/communication/list.vue

@@ -136,19 +136,16 @@ export default {
         this.menuIndex = 1;
         this.columnName = this.col_name;
         this.menuColor = 'rgb(5,73,130)';
-
         this.$set(this, `displays`, this.display);
       } 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);
       } 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);
       }
     },
@@ -163,10 +160,14 @@ export default {
     },
 
     async search() {
-      let res = await this.newsQuery({ skip: 0, limit: 14, col_name: this.col_name, status: 2, is_del: 0 });
-      if (this.$checkRes(res)) this.$set(this, `list`, res.data);
+      if (this.id) {
+        let res = await this.newsFetch(this.id);
+        if (this.$checkRes(res)) this.$set(this, `details`, res.data);
+      } else {
+        let res = await this.newsQuery({ skip: 0, limit: 14, col_name: this.col_name, status: 2, is_del: 0 });
+        if (this.$checkRes(res)) this.$set(this, `list`, res.data);
+      }
     },
-
     async searchinfo(skip, limit) {
       let res = await this.newsQuery({ skip, limit: 14, col_name: this.col_name, status: 2, is_del: 0 });
       if (this.$checkRes(res)) this.$set(this, `list`, res.data);

+ 16 - 5
src/views/communication/parts/right.vue

@@ -13,7 +13,9 @@
                   <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>
+              <el-col class="more" :span="24" v-if="ztytTotal >= 16">
+                <el-link :underline="false" @click="morezt()">查看更多</el-link>
+              </el-col>
             </el-col>
           </el-tab-pane>
           <el-tab-pane>
@@ -26,7 +28,9 @@
                   <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>
+              <el-col class="more" :span="24" v-if="jswdTotal >= 16">
+                <el-link :underline="false" @click="morejishu()">查看更多</el-link>
+              </el-col>
             </el-col>
           </el-tab-pane>
           <el-tab-pane>
@@ -39,7 +43,9 @@
                   <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>
+              <el-col class="more" :span="24" v-if="hyyjTotal >= 16">
+                <el-link :underline="false" @click="morehangye()">查看更多</el-link>
+              </el-col>
             </el-col>
           </el-tab-pane>
           <el-tab-pane>
@@ -51,7 +57,9 @@
                   <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>
+              <el-col class="more" :span="24" v-if="kjpxTotal >= 16">
+                <el-link :underline="false" @click="morekeji()">查看更多</el-link>
+              </el-col>
             </el-col>
           </el-tab-pane>
         </el-tabs>
@@ -65,9 +73,13 @@ export default {
   name: 'zhuanti',
   props: {
     ztytList: null, //专题研讨
+    ztytTotal: null,
     jswdList: null, //技术问答
+    jswdTotal: null,
     hyyjList: null, //行业研究
+    hyyjTotal: null,
     kjpxList: null, //科技培训
+    kjpxTotal: null,
   },
   components: {},
   data: () => ({}),
@@ -168,7 +180,6 @@ li {
 }
 
 .list ul {
-  min-height: 30px;
   max-height: 583px;
   overflow: hidden;
   padding: 0 0 0 20px;

+ 2 - 2
src/views/index.vue

@@ -93,9 +93,9 @@ export default {
       if (this.$checkRes(res)) this.$set(this, `jobsList`, res.data);
       res = await this.newsQuery({ skip: 0, limit: 6, col_name: '通知通告', status: 2 });
       if (this.$checkRes(res)) this.$set(this, `noticeList`, res.data);
-      res = await this.newsQuery({ skip: 0, limit: 6, col_name: '科技合作', status: 2 });
-      if (this.$checkRes(res)) this.$set(this, `serviceList`, res.data);
       res = await this.newsQuery({ skip: 0, limit: 6, col_name: '技术问答', status: 2 });
+      if (this.$checkRes(res)) this.$set(this, `serviceList`, res.data);
+      res = await this.newsQuery({ skip: 0, limit: 6, col_name: '学习园地', status: 2 });
       if (this.$checkRes(res)) this.$set(this, `jishuList`, res.data);
       res = await this.linkQuery({ skip: 0, limit: 4 });
       if (this.$checkRes(res)) this.$set(this, `linklist`, res.data);

+ 1 - 1
src/views/login.vue

@@ -26,7 +26,7 @@
                   </el-form-item>
                   <el-col :span="24" style="text-align:center;">
                     <el-button type="primary" @click="submitForm('form')">登录</el-button>
-                    <!-- <el-button @click="resetForm('ruleForm')">重置</el-button> -->
+                    <el-button @click="$router.push({ path: '/register' })">注册</el-button>
                   </el-col>
                 </el-form>
               </el-col>