guhongwei 4 年 前
コミット
f205035006
2 ファイル変更244 行追加88 行削除
  1. 7 0
      src/router/index.js
  2. 237 88
      src/views/hall/direct.vue

+ 7 - 0
src/router/index.js

@@ -252,6 +252,13 @@ const live = [
     meta: { title: '直播大厅', subSite: true },
     component: () => import('../views/hall/direct.vue'),
   },
+  // 直播大厅-查看更多技术列表
+  {
+    path: '/hall/productList/technologyList',
+    name: 'live_technologyList',
+    meta: { title: '产品列表', subSite: true },
+    component: () => import('../views/hall/productList/technologyList.vue'),
+  },
   {
     path: '/hall/index',
     name: 'hall_index',

+ 237 - 88
src/views/hall/direct.vue

@@ -113,101 +113,147 @@
               <el-tabs type="border-card" @tab-click="handleClick">
                 <el-tab-pane label="找技术">
                   <el-col :span="24" class="one">
-                    <el-col :span="24" class="onnList" v-for="(item, index) in jishulist" :key="index">
-                      <el-col :span="20" class="oneName">
-                        {{ item.name }}
-                      </el-col>
-                      <el-col :span="4" class="btn">
-                        <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
-                        <el-button
-                          size="mini"
-                          type="success"
-                          @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
-                          >对接</el-button
-                        >
-                      </el-col>
-                      <el-col :span="24" class="oneInfo">
-                        <el-col :span="12" class="oneInfoLeft">
-                          <p>
-                            <span>类型:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : '暂无' }}</span>
-                            <span>研发阶段:{{ item.phase == '0' ? '阶段成果' : item.phase == '1' ? '阶段成果' : '暂无' }}</span>
-                          </p>
-                          <p>
-                            <span>交易方式:{{ item.business == '0' ? '公用' : item.business == '1' ? '转让' : item.business == '2' ? '竞价' : '暂无' }}</span>
-                            <span>交易价格:{{ item.price || '暂无' }}/{{ item.priceunit || '暂无' }}</span>
-                          </p>
-                        </el-col>
-                        <el-col :span="12" class="oneInfoRight">
-                          {{ item.introduction }}
+                    <el-row class="jishulist">
+                      <el-col :span="24" class="topList">
+                        <el-col :span="24" class="list" v-for="(item, index) in jishulist" :key="index">
+                          <el-col :span="20" class="name">
+                            <p>{{ item.name }}</p>
+                          </el-col>
+                          <el-col :span="4" class="click">
+                            <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
+                            <el-button
+                              size="mini"
+                              type="success"
+                              @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
+                              >对接</el-button
+                            >
+                          </el-col>
                         </el-col>
                       </el-col>
-                    </el-col>
+                      <el-col :span="24" class="btn">
+                        <el-button type="primary" size="mini" @click="$router.push({ path: '/hall/productList/technologyList' })">查看所有项目</el-button>
+                      </el-col>
+                    </el-row>
                   </el-col>
                 </el-tab-pane>
                 <el-tab-pane label="找产品">
                   <el-col :span="24" class="one">
-                    <el-col :span="24" class="onnList" v-for="(item, index) in demandList" :key="index">
-                      <el-col :span="20" class="oneName">
-                        {{ item.name }}
-                      </el-col>
-                      <el-col :span="4" class="btn">
-                        <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
-                        <el-button
-                          size="mini"
-                          type="success"
-                          @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
-                          >对接</el-button
-                        >
-                      </el-col>
-                      <el-col :span="24" class="oneInfo">
-                        <el-col :span="12" class="oneInfoLeft">
-                          <p>
-                            <span>类型:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : '暂无' }}</span>
-                            <span>研发阶段:{{ item.phase == '0' ? '阶段成果' : item.phase == '1' ? '阶段成果' : '暂无' }}</span>
-                          </p>
-                          <p>
-                            <span>交易方式:{{ item.business == '0' ? '公用' : item.business == '1' ? '转让' : item.business == '2' ? '竞价' : '暂无' }}</span>
-                            <span>交易价格:{{ item.price || '暂无' }}/{{ item.priceunit || '暂无' }}</span>
-                          </p>
+                    <el-row>
+                      <el-col :span="24" class="demandList">
+                        <el-col :span="24" class="topList">
+                          <el-col :span="24" class="list" v-for="(item, index) in demandList" :key="index">
+                            <el-col :span="20" class="name">
+                              <p>{{ item.name }}</p>
+                            </el-col>
+                            <el-col :span="4" class="click">
+                              <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
+                              <el-button
+                                size="mini"
+                                type="success"
+                                @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
+                                >对接</el-button
+                              >
+                            </el-col>
+                            <el-col :span="16" class="otherInfo">
+                              <el-col :span="12">
+                                <p class="field">
+                                  <span>所属领域:</span
+                                  ><span>{{
+                                    item.field == '0'
+                                      ? '先进制造'
+                                      : item.field == '1'
+                                      ? '新材料'
+                                      : item.field == '2'
+                                      ? '光电子'
+                                      : item.field == '3'
+                                      ? '信息技术'
+                                      : item.field == '4'
+                                      ? '文化和科技融合'
+                                      : '暂无'
+                                  }}</span>
+                                </p>
+                              </el-col>
+                              <el-col :span="12">
+                                <p class="coopermode">
+                                  <span>合作方式:</span
+                                  ><span>
+                                    {{
+                                      item.coopermode == '0'
+                                        ? '技术转让'
+                                        : item.coopermode == '1'
+                                        ? '技术服务'
+                                        : item.coopermode == '2'
+                                        ? '技术许可'
+                                        : item.coopermode == '3'
+                                        ? '技术融资'
+                                        : item.coopermode == '4'
+                                        ? '其他'
+                                        : '暂无'
+                                    }}
+                                  </span>
+                                </p>
+                              </el-col>
+                            </el-col>
+                            <el-col :span="8" class="introduction">
+                              <p><span>简介:</span>{{ item.introduction }}</p>
+                            </el-col>
+                          </el-col>
                         </el-col>
-                        <el-col :span="12" class="oneInfoRight">
-                          {{ item.introduction }}
+                        <el-col :span="24" class="btn">
+                          <el-button type="primary" size="mini" @click="$router.push({ path: '/hall/productList/technologyList' })">查看所有项目</el-button>
                         </el-col>
                       </el-col>
-                    </el-col>
+                    </el-row>
                   </el-col>
                 </el-tab-pane>
                 <el-tab-pane label="找服务">
                   <el-col :span="24" class="one">
-                    <el-col :span="24" class="onnList" v-for="(item, index) in serviceList" :key="index">
-                      <el-col :span="20" class="oneName">
-                        {{ item.name }}
-                      </el-col>
-                      <el-col :span="4" class="btn">
-                        <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
-                        <el-button
-                          size="mini"
-                          type="success"
-                          @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
-                          >对接</el-button
-                        >
-                      </el-col>
-                      <el-col :span="24" class="oneInfo">
-                        <el-col :span="12" class="oneInfoLeft">
-                          <p>
-                            <span>类型:{{ item.totaltype === '0' ? '技术' : item.totaltype === '1' ? '产品' : item.totaltype === '2' ? '服务' : '暂无' }}</span>
-                            <span>研发阶段:{{ item.phase == '0' ? '阶段成果' : item.phase == '1' ? '阶段成果' : '暂无' }}</span>
-                          </p>
-                          <p>
-                            <span>交易方式:{{ item.business == '0' ? '公用' : item.business == '1' ? '转让' : item.business == '2' ? '竞价' : '暂无' }}</span>
-                            <span>交易价格:{{ item.price || '暂无' }}/{{ item.priceunit || '暂无' }}</span>
-                          </p>
+                    <el-row>
+                      <el-col :span="24" class="serviceList">
+                        <el-col :span="24" class="topList">
+                          <el-col :span="24" class="list" v-for="(item, index) in serviceList" :key="index">
+                            <el-col :span="20" class="name">
+                              <p>{{ item.name }}</p>
+                            </el-col>
+                            <el-col :span="4" class="click">
+                              <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
+                              <el-button
+                                size="mini"
+                                type="success"
+                                @click="$router.push({ path: '/live/hall/dock/dockDetail', query: { id: item.id, dockid: id, user_id: user_id } })"
+                                >对接</el-button
+                              >
+                            </el-col>
+                            <el-col :span="16" class="otherInfo">
+                              <el-col :span="12">
+                                <p class="field">
+                                  <span>所属领域:</span
+                                  ><span>{{
+                                    item.field == '0'
+                                      ? '先进制造'
+                                      : item.field == '1'
+                                      ? '新材料'
+                                      : item.field == '2'
+                                      ? '光电子'
+                                      : item.field == '3'
+                                      ? '信息技术'
+                                      : item.field == '4'
+                                      ? '文化和科技融合'
+                                      : '暂无'
+                                  }}</span>
+                                </p>
+                              </el-col>
+                            </el-col>
+                            <el-col :span="8" class="introduction">
+                              <p><span>简介:</span>{{ item.introduction }}</p>
+                            </el-col>
+                          </el-col>
                         </el-col>
-                        <el-col :span="12" class="oneInfoRight">
-                          {{ item.introduction }}
+                        <el-col :span="24" class="btn">
+                          <el-button type="primary" size="mini" @click="$router.push({ path: '/hall/productList/technologyList' })">查看所有项目</el-button>
                         </el-col>
                       </el-col>
-                    </el-col>
+                    </el-row>
                   </el-col>
                 </el-tab-pane>
                 <el-tab-pane label="找专家">
@@ -576,22 +622,17 @@ export default {
     //技术
     async searchInfo(newname) {
       let res = await this.mapProductQuery({ skip: 0, limit: 10, totaltype: '0', name: newname });
+      console.log(res);
       if (this.$checkRes(res)) this.$set(this, `jishulist`, res.data);
-      // res = await this.mapProductQuery({ skip: 0, limit: 10, totaltype: '1' });
-      // if (this.$checkRes(res)) this.$set(this, `demandList`, res.data);
-      // res = await this.mapProductQuery({ skip: 0, limit: 10, totaltype: '2' });
-      // if (this.$checkRes(res)) this.$set(this, `serviceList`, res.data);
-      // res = await this.expertQuery({ skip: 0, limit: 10 });
-      // if (this.$checkRes(res)) this.$set(this, `expertList`, res.data);
     },
     //产品
     async searchchanpin(newname) {
-      let res = await this.mapProductQuery({ skip: 0, limit: 10, totaltype: '1', name: newname });
+      let res = await this.mapProductQuery({ skip: 0, limit: 5, totaltype: '1', name: newname });
       if (this.$checkRes(res)) this.$set(this, `demandList`, res.data);
     },
     //服务
     async searchfuwu(newname) {
-      let res = await this.mapProductQuery({ skip: 0, limit: 10, totaltype: '2', name: newname });
+      let res = await this.mapProductQuery({ skip: 0, limit: 5, totaltype: '2', name: newname });
       if (this.$checkRes(res)) this.$set(this, `serviceList`, res.data);
     },
     //专家
@@ -658,7 +699,7 @@ export default {
     // 技术,产品,服务详情
     oneBtnDetail(data) {
       this.dialogVisible = true;
-      console.log(data.introduction.length);
+      console.log(data);
       this.$set(this, `directInfo`, data);
     },
     // 关闭dialog
@@ -1215,4 +1256,112 @@ export default {
 /deep/.video-js {
   height: 396px !important;
 }
+// 新增
+// 产品
+.jishulist {
+  .topList {
+    .list {
+      border-bottom: 1px dashed #ccc;
+      padding: 6px 0;
+      .name {
+        height: 30px;
+        line-height: 30px;
+        p {
+          font-size: 16px;
+        }
+      }
+      .click {
+        height: 30px;
+        line-height: 30px;
+        text-align: center;
+      }
+    }
+  }
+  .btn {
+    margin: 6px 0 0 0;
+    text-align: center;
+  }
+}
+// 技术
+.demandList {
+  .topList {
+    .list {
+      padding: 11px 0;
+      border-bottom: 1px dashed #ccc;
+      .name {
+        height: 30px;
+        line-height: 30px;
+        p {
+          font-size: 16px;
+        }
+      }
+      .click {
+        height: 30px;
+        line-height: 30px;
+        text-align: center;
+      }
+      .otherInfo {
+        .field {
+          font-size: 14px;
+          padding: 8px 0 0 0;
+        }
+        .coopermode {
+          font-size: 14px;
+          padding: 8px 0 0 0;
+        }
+      }
+      .introduction {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        -webkit-line-clamp: 2;
+        word-break: break-all;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+      }
+    }
+  }
+  .btn {
+    text-align: center;
+    margin: 6px 0 0 0;
+  }
+}
+// 服务
+.serviceList {
+  .topList {
+    .list {
+      padding: 11px 0;
+      border-bottom: 1px dashed #ccc;
+      .name {
+        height: 30px;
+        line-height: 30px;
+        p {
+          font-size: 16px;
+        }
+      }
+      .click {
+        height: 30px;
+        line-height: 30px;
+        text-align: center;
+      }
+      .otherInfo {
+        .field {
+          font-size: 14px;
+          padding: 8px 0 0 0;
+        }
+      }
+      .introduction {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        -webkit-line-clamp: 2;
+        word-break: break-all;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+      }
+    }
+  }
+  .btn {
+    text-align: center;
+    margin: 6px 0 0 0;
+  }
+}
 </style>