Przeglądaj źródła

Merge branch 'master' of http://git.cc-lotus.info/service-platform/web-test

wuhongyu 5 lat temu
rodzic
commit
72870d783a
3 zmienionych plików z 110 dodań i 215 usunięć
  1. 5 49
      src/views/dynamic/list.vue
  2. 36 56
      src/views/market/index.vue
  3. 69 110
      src/views/technical/list.vue

+ 5 - 49
src/views/dynamic/list.vue

@@ -8,8 +8,8 @@
           <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
         </el-col>
       </el-col>
-      <el-col v-if="menuIndex == '0'" :span="19" class="info">
-        <el-col class="leftInfo">
+      <el-col :span="19" class="info">
+        <el-col v-if="menuIndex == '0'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
@@ -20,21 +20,7 @@
             <el-table-column prop="buy_unit" label="采购单位" show-overflow-tooltip="true"> </el-table-column>
           </el-table>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '1'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '1'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
@@ -45,21 +31,7 @@
             <el-table-column prop="buy_unit" label="采购单位" show-overflow-tooltip="true"> </el-table-column>
           </el-table>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '2'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '2'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
@@ -70,21 +42,7 @@
             <el-table-column prop="buy_unit" label="采购单位" show-overflow-tooltip="true"> </el-table-column>
           </el-table>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '3'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '3'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
@@ -166,8 +124,6 @@ export default {
       }
     },
     changeMenu(name, index) {
-      console.log(name);
-      console.log(index);
       this.menuIndex = index;
       this.menuColor = 'rgb(254, 149, 14)';
       this.menuName = name;

+ 36 - 56
src/views/market/index.vue

@@ -40,22 +40,22 @@
             <el-col :span="24" class="downLeftTop">
               <el-image :src="downLeftTopImage"></el-image>
               <span class="topText">
-                <span>金融供求</span>
+                <span>服务供求</span>
                 <span
-                  ><p>B</p>
-                  <p>anking</p></span
+                  ><p>S</p>
+                  <p>ervice</p></span
                 >
                 <span>更多</span>
               </span>
             </el-col>
             <el-col :span="24" class="downLeftInfo">
-              <el-col :span="24" class="bankingList" v-for="(item, index) in bankingList" :key="index">
+              <el-col :span="24" class="bankingList" v-for="(item, index) in serviceList" :key="index">
                 <el-col :span="10">
-                  <el-image :src="item.image"></el-image>
+                  <el-image :src="item.image[0].url"></el-image>
                 </el-col>
                 <el-col :span="14">
-                  <span class="textOver">{{ item.title }}</span>
-                  <span>{{ item.content }}</span>
+                  <span class="textOver">{{ item.name }}</span>
+                  <span>{{ item.introduction }}</span>
                 </el-col>
               </el-col>
             </el-col>
@@ -64,10 +64,10 @@
             <el-col :span="24" class="downLeftTop">
               <el-image :src="downLeftTopImage"></el-image>
               <span class="topText">
-                <span>服务供求</span>
+                <span>金融供求</span>
                 <span
-                  ><p>S</p>
-                  <p>ervice</p></span
+                  ><p>B</p>
+                  <p>anking</p></span
                 >
                 <span>更多</span>
               </span>
@@ -76,7 +76,7 @@
               <el-image src="http://img2.imgtn.bdimg.com/it/u=1300722955,3173826431&fm=26&gp=0.jpg"></el-image>
             </el-col>
             <el-col :span="24">
-              <el-col :span="24" class="downRightList" v-for="(item, index) in serviceList" :key="index">
+              <el-col :span="24" class="downRightList" v-for="(item, index) in bankingList" :key="index">
                 <span></span>
                 <span>{{ item.title }}</span>
               </el-col>
@@ -89,6 +89,11 @@
 </template>
 
 <script>
+import _ from 'lodash';
+import { mapActions, mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+const { mapActions: talentExperts } = createNamespacedHelpers('talentExperts');
+var moment = require('moment');
 export default {
   name: 'index',
   props: {},
@@ -96,42 +101,8 @@ export default {
   data: () => ({
     gongqiuImage: require('@/assets/live/main2.png'),
     downLeftTopImage: require('@/assets/live/square_big.png'),
-    productList: [
-      { name: '浮台式水质监测系统浮台式水质监测系统', image: [{ url: 'http://img4.imgtn.bdimg.com/it/u=401434628,1454377580&fm=26&gp=0.jpg' }] },
-      { name: '浮台式水质监测系统', image: [{ url: 'http://img4.imgtn.bdimg.com/it/u=401434628,1454377580&fm=26&gp=0.jpg' }] },
-      { name: '浮台式水质监测系统', image: [{ url: 'http://img4.imgtn.bdimg.com/it/u=401434628,1454377580&fm=26&gp=0.jpg' }] },
-      { name: '浮台式水质监测系统', image: [{ url: 'http://img4.imgtn.bdimg.com/it/u=401434628,1454377580&fm=26&gp=0.jpg' }] },
-    ],
-    tecList: [
-      {
-        name: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-      {
-        name: '测试型数据测试型数测试型数测试型数据',
-        meta: { state: 0, createdAt: '2020-03-20T07:45:47.673Z', updatedAt: '2020-03-20T07:46:15.585Z' },
-      },
-    ],
+    productList: [],
+    tecList: [],
     bankingList: [
       {
         image:
@@ -162,15 +133,11 @@ export default {
           '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据',
       },
     ],
-    serviceList: [
-      { title: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据' },
-      { title: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据' },
-      { title: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据' },
-      { title: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据' },
-      { title: '测试型数据测试型数测试型数测试型数据测试型数据测试型数测试型数测试型数据' },
-    ],
+    serviceList: [],
   }),
-  created() {},
+  created() {
+    this.search();
+  },
   filters: {
     getDate(meta) {
       let createdAt = _.get(meta, `createdAt`);
@@ -182,7 +149,20 @@ export default {
     },
   },
   computed: {},
-  methods: {},
+  methods: {
+    ...product(['query']),
+    ...talentExperts({ expertQuery: 'query' }),
+    async search() {
+      let res = await this.query({ skip: 0, limit: 4, totaltype: '0' });
+      if (this.$checkRes(res)) this.$set(this, `tecList`, res.data);
+      res = await this.query({ skip: 0, limit: 4, totaltype: '1' });
+      if (this.$checkRes(res)) this.$set(this, `productList`, res.data);
+      res = await this.query({ skip: 0, limit: 4, totaltype: '2' });
+      if (this.$checkRes(res)) this.$set(this, `serviceList`, res.data);
+      // res = await this.expertQuery({ skip: 0, limit: 4 });
+      // if (this.$checkRes(res)) this.$set(this, `expertsList`, res.data);
+    },
+  },
 };
 </script>
 

+ 69 - 110
src/views/technical/list.vue

@@ -8,91 +8,49 @@
           <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
         </el-col>
       </el-col>
-      <el-col v-if="menuIndex == '0'" :span="19" class="info">
-        <el-col class="leftInfo">
+      <el-col :span="19" class="info">
+        <el-col v-if="menuIndex == '0'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
           <el-col class="infoLeftList" :span="24" v-for="(item, index) in zhuantiList" :key="index">
             <p>{{ item.publish_time }}</p>
             <p>
-              <span class="textOver">{{ item.title }}</span>
+              <span class="textOver" @click="clickzhuanti(item.id)">{{ item.title }}</span>
               <span>{{ item.content }}</span>
             </p>
           </el-col>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '1'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '1'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
           <el-col class="infoRightList" :span="24" v-for="(item, index) in hangyeList" :key="index">
             <p>
-              <span class="textOver">{{ item.title }}</span
+              <span class="textOver" @click="clickjishu(item.id)">{{ item.title }}</span
               ><span class="textOver">{{ item.publish_time }}</span>
             </p>
           </el-col>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '2'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '2'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
           <el-col class="infoRightList" :span="24" v-for="(item, index) in hangyeList" :key="index">
             <p>
-              <span class="textOver">{{ item.title }}</span
+              <span class="textOver" @click="clickhangye(item.id)">{{ item.title }}</span
               ><span class="textOver">{{ item.publish_time }}</span>
             </p>
           </el-col>
         </el-col>
-        <el-col class="page">
-          <el-pagination
-            background
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page.sync="currentPage"
-            :page-size="10"
-            layout="total,prev, pager, next, jumper"
-            :total="1000"
-          >
-          </el-pagination>
-        </el-col>
-      </el-col>
-      <el-col v-if="menuIndex == '3'" :span="19" class="info">
-        <el-col class="leftInfo">
+        <el-col v-if="menuIndex == '3'" class="leftInfo">
           <el-col :span="24" class="leftTop">
             <span>|</span> <span>{{ menuName }}</span>
           </el-col>
           <el-col class="infoLeftList" :span="24" v-for="(item, index) in zhuantiList" :key="index">
             <p>{{ item.publish_time }}</p>
             <p>
-              <span class="textOver">{{ item.title }}</span>
+              <span class="textOver" @click="clickjiaoyu(item.id)">{{ item.title }}</span>
               <span>{{ item.content }}</span>
             </p>
           </el-col>
@@ -100,12 +58,11 @@
         <el-col class="page">
           <el-pagination
             background
-            @size-change="handleSizeChange"
             @current-change="handleCurrentChange"
             :current-page.sync="currentPage"
-            :page-size="10"
+            :page-size="pageSize"
             layout="total,prev, pager, next, jumper"
-            :total="1000"
+            :total="pageTotal"
           >
           </el-pagination>
         </el-col>
@@ -115,6 +72,9 @@
 </template>
 
 <script>
+import _ from 'lodash';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: news } = createNamespacedHelpers('news');
 export default {
   name: 'list',
   props: {},
@@ -126,63 +86,20 @@ export default {
     menuName: '专题研讨',
     menuColor: 'rgb(254, 149, 14)',
     currentPage: 1,
-    zhuantiList: [
-      {
-        publish_time: '2020-05-01',
-        title: '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束',
-        content:
-          '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束',
-      },
-      { publish_time: '2020-05-01', title: '五条数据', content: '五条数据' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-    ],
-    jishuList: [
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '十条数据' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第十条创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-    ],
-    hangyeList: [
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '十条数据' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束' },
-    ],
-    jiaoyuList: [
-      {
-        publish_time: '2020-05-01',
-        title: '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束',
-        content: '第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束第六届创新创业大赛总决赛圆满结束',
-      },
-      { publish_time: '2020-05-01', title: '五条数据', content: '五条数据' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-      { publish_time: '2020-05-01', title: '第六届创新创业大赛总决赛圆满结束', content: '第六届创新创业大赛总决赛圆满结束' },
-    ],
+    pageTotal: 0,
+    pageSize: 10,
+    limit: 10,
+    zhuantiList: [],
+    jishuList: [],
+    hangyeList: [],
+    jiaoyuList: [],
   }),
   created() {
     this.searchList();
   },
   computed: {},
   methods: {
+    ...news(['query']),
     async searchList({ skip = 0, limit = 10, ...info } = {}) {
       if (this.$route.query.column_name == '专题研讨') {
         this.changeMenu(this.$route.query.column_name, 0);
@@ -194,18 +111,60 @@ export default {
         this.changeMenu(this.$route.query.column_name, 3);
       }
     },
-    changeMenu(name, index) {
-      console.log(name);
-      console.log(index);
+    async changeMenu(name, index) {
       this.menuIndex = index;
       this.menuColor = 'rgb(254, 149, 14)';
       this.menuName = name;
+      console.log(name);
+      this.initList({ name });
     },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`);
+    async initList({ name, skip = 0, limit = 10, ...info } = {}) {
+      let res = [];
+      console.log(name);
+      if (name == '专题研讨') {
+        this.pageSize = 5;
+        res = await this.query({ skip, limit, column_name: '专题研讨', ...info });
+        this.$set(this, `zhuantiList`, res.data);
+      } else if (name == '技术问答') {
+        res = await this.query({ skip, limit, column_name: '技术问答', ...info });
+        this.$set(this, `jishuList`, res.data);
+      } else if (name == '行业研究') {
+        res = await this.query({ skip, limit, column_name: '行业研究', ...info });
+        this.$set(this, `hangyeList`, res.data);
+      } else if (name == '教育培训') {
+        this.pageSize = 5;
+        res = await this.query({ skip, limit, column_name: '教育培训', ...info });
+        this.$set(this, `jiaoyuList`, res.data);
+      }
+      console.log(res);
+
+      this.$set(this, `pageTotal`, res.total);
     },
     handleCurrentChange(val) {
       console.log(`当前页: ${val}`);
+      console.log(this.menuName);
+      const name = this.menuName;
+      if (name == '专题研讨' || name == '教育培训') {
+        this.limit = 5;
+      }
+      this.initList({ name: name, skip: (val - 1) * this.limit, limit: this.limit });
+    },
+    clickzhuanti(id) {
+      this.$router.push({ path: '/live/detail', query: { id: id } });
+      console.log(id);
+    },
+    clickjishu(id) {
+      this.$router.push({ path: '/live/detail', query: { id: id } });
+      console.log(id);
+    },
+    clickhangye(id) {
+      this.$router.push({ path: '/live/detail', query: { id: id } });
+      console.log(id);
+    },
+
+    clickjiaoyu(id) {
+      this.$router.push({ path: '/live/detail', query: { id: id } });
+      console.log(id);
     },
   },
 };