wuhongyu 5 年 前
コミット
dbf944a21f

+ 8 - 8
src/views/dynamic/index.vue

@@ -5,21 +5,21 @@
         <div class="w_1200">
           <el-col :span="24" class="dataShow">
             <el-col :span="24" class="dataShowInfo">
-              <el-col :span="8" class="left">
+              <el-col :span="12" class="left">
                 <el-col :span="24" class="leftInfo">
                   <userTwo></userTwo>
                 </el-col>
               </el-col>
-              <el-col :span="8" class="center">
+              <el-col :span="12" class="center">
                 <el-col :span="24" class="centerInfo">
                   <maps></maps>
                 </el-col>
               </el-col>
-              <el-col :span="8" class="right">
+              <!-- <el-col :span="8" class="right">
                 <el-col :span="24" class="rightInfo">
                   <top-right></top-right>
                 </el-col>
-              </el-col>
+              </el-col> -->
             </el-col>
           </el-col>
           <el-col :span="24" class="dataImage">
@@ -55,12 +55,12 @@
 <script>
 import userTwo from './parts/userTwo.vue';
 import pie from './parts/down-pie.vue';
-import topRight from './parts/top-right.vue';
+// import topRight from './parts/top-right.vue';
 import maps from './parts/map.vue';
 export default {
   name: 'index',
   props: {},
-  components: { userTwo, maps, pie, topRight },
+  components: { userTwo, maps, pie },
   data: () => ({
     centerImage: require('@/assets/dynamic5.png'),
   }),
@@ -112,7 +112,7 @@ export default {
 }
 .dataShow .dataShowInfo .left {
   float: left;
-  width: 33%;
+  width: 50%;
   height: 500px;
 }
 .dataShow .dataShowInfo .left .leftInfo {
@@ -156,7 +156,7 @@ export default {
 }
 .dataShow .dataShowInfo .center {
   float: left;
-  width: 33%;
+  width: 50%;
   height: 500px;
   // border: 1px solid red;
 }

+ 38 - 6
src/views/dynamic/parts/userTwo.vue

@@ -6,33 +6,52 @@
           统计数据
         </el-col>
         <el-col :span="12" class="left">
-          <el-col class="box" :span="20">
+          <el-col class="box" :span="10">
             <el-col :span="24" class="one">
               <p>企业注册数量</p>
               <p>{{ detail.num1 }}</p>
             </el-col>
           </el-col>
-          <el-col class="box" :span="20">
+          <el-col class="box" :span="10">
             <el-col :span="24" class="two one">
               <p>个人注册数量</p>
               <p>{{ detail.num2 }}</p>
             </el-col>
           </el-col>
-        </el-col>
-        <el-col :span="12" class="right">
-          <el-col class="box" :span="20" style="margin:50px 10px 10px 15px;">
+          <el-col class="box" :span="10" style="margin:50px 10px 10px 15px;">
             <el-col :span="24" class="three one">
               <p>专家注册数量</p>
               <p>{{ detail.num3 }}</p>
             </el-col>
           </el-col>
-          <el-col class="box" :span="20">
+
+          <el-col class="box" :span="10">
             <el-col :span="24" class="four one">
               <p>发布需求数量</p>
               <p>{{ detail.num4 }}</p>
             </el-col>
           </el-col>
         </el-col>
+        <el-col :span="12" class="right">
+          <el-col class="box" :span="10" style="margin:30px 10px 10px 15px;">
+            <el-col :span="24" class="three one">
+              <p>正在洽谈</p>
+              <p>{{ transaction1 }}</p>
+            </el-col>
+          </el-col>
+          <el-col class="box" :span="10" style="margin:50px 10px 10px 15px;">
+            <el-col :span="24" class="four one">
+              <p>达成意向</p>
+              <p>{{ transaction2 }}</p>
+            </el-col>
+          </el-col>
+          <el-col class="box" :span="10">
+            <el-col :span="24" class="two one">
+              <p>对接完成</p>
+              <p>{{ transaction3 }}</p>
+            </el-col>
+          </el-col>
+        </el-col>
       </el-col>
     </el-row>
   </div>
@@ -43,6 +62,7 @@ import { mapState, mapActions, createNamespacedHelpers } from 'vuex';
 const { mapActions: users } = createNamespacedHelpers('users');
 const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
 const { mapActions: marketproduct } = createNamespacedHelpers('marketproduct');
+const { mapActions: transaction } = createNamespacedHelpers('transaction');
 export default {
   name: 'userTwo',
   props: {},
@@ -52,6 +72,9 @@ export default {
     dynamic2: require('@/assets/dynamic2.png'),
     dynamic3: require('@/assets/dynamic3.png'),
     dynamic4: require('@/assets/dynamic4.png'),
+    transaction1: '',
+    transaction2: '',
+    transaction3: '',
     detail: {
       num1: 0,
       num2: 0,
@@ -66,6 +89,8 @@ export default {
     ...users({ userQuery: 'query' }),
     ...expertsuser({ expertsuserQurty: 'query' }),
     ...marketproduct({ marketproductQuery: 'query' }),
+    ...transaction({ transactionQuery: 'query' }),
+
     async searchInfo({} = {}) {
       // 个人,企业
       let res = await this.userQuery();
@@ -78,6 +103,13 @@ export default {
       let productNum = await this.marketproductQuery();
       let listData = { num1: s2.length, num2: s1.length, num3: exportNum.data.length, num4: productNum.data.length };
       this.$set(this, `detail`, listData);
+      //交易
+      let transaction1 = await this.transactionQuery({ status: 0 });
+      let transaction2 = await this.transactionQuery({ status: 1 });
+      let transaction3 = await this.transactionQuery({ status: 2 });
+      this.$set(this, `transaction1`, transaction1.total);
+      this.$set(this, `transaction2`, transaction2.total);
+      this.$set(this, `transaction3`, transaction3.total);
     },
   },
   computed: {

+ 31 - 1
src/views/hall/direct.vue

@@ -117,7 +117,24 @@
                       <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>
+                            <p>
+                              <span class="inname"> {{ item.name }}</span>
+                              <span>
+                                {{
+                                  item.coopermode == '0'
+                                    ? '技术转让'
+                                    : item.coopermode == '1'
+                                    ? '技术服务'
+                                    : item.coopermode == '2'
+                                    ? '技术许可'
+                                    : item.coopermode == '3'
+                                    ? '技术融资'
+                                    : item.coopermode == '4'
+                                    ? '其他'
+                                    : '暂无'
+                                }}</span
+                              >
+                            </p>
                           </el-col>
                           <el-col :span="4" class="click">
                             <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
@@ -1291,6 +1308,14 @@ export default {
         line-height: 30px;
         p {
           font-size: 16px;
+          .inname {
+            display: inline-block;
+            width: 700px;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            -o-text-overflow: ellipsis;
+            white-space: nowrap;
+          }
         }
       }
       .click {
@@ -1317,8 +1342,13 @@ export default {
       .name {
         height: 30px;
         line-height: 30px;
+
         p {
           font-size: 16px;
+          span:first-child {
+            display: inline-block;
+            width: 300px;
+          }
         }
       }
       .click {

+ 71 - 15
src/views/market/index.vue

@@ -64,10 +64,33 @@
             </span>
           </el-col>
           <el-col :span="24" class="tecList" v-for="(item, index) in tecList" :key="index">
-            <span></span>
-            <span class="textOver" @click="tecDetail(item.id)">{{ item.name || '暂无' }}</span>
-            <span @click="toChat(item)" style="display:none">对接</span>
-            <span>{{ item.meta | getDate }}</span>
+            <p>
+              <el-col :span="24">
+                <span></span>
+                <span @click="tecDetail(item.id)">{{ item.name || '暂无' }}</span>
+                <span>{{ item.meta | getDate }}</span>
+              </el-col>
+              <!-- <span @click="toChat(item)" style="display:none">对接</span> -->
+              <el-col :span="24">
+                <el-col :span="18" class="coopermode">
+                  {{
+                    item.coopermode == '0'
+                      ? '技术转让'
+                      : item.coopermode == '1'
+                      ? '技术服务'
+                      : item.coopermode == '2'
+                      ? '技术许可'
+                      : item.coopermode == '3'
+                      ? '技术融资'
+                      : item.coopermode == '4'
+                      ? '其他'
+                      : '暂无'
+                  }}</el-col
+                >
+                <el-col :span="6" class="price" v-if="item.price">{{ item.price }}</el-col>
+                <el-col :span="6" class="price" v-else>{{ '面议' }}</el-col>
+              </el-col>
+            </p>
           </el-col>
         </el-col>
         <el-col :span="24">
@@ -229,9 +252,9 @@ export default {
       } else {
       }
     },
-    toChat(data) {
-      this.$router.push({ path: '/market/contact', query: { id: data.id } });
-    },
+    // toChat(data) {
+    //   this.$router.push({ path: '/market/contact', query: { id: data.id } });
+    // },
   },
 };
 </script>
@@ -366,26 +389,58 @@ export default {
   padding: 0 15px;
   margin: 10px 0 10px 0;
 }
-.tecList span:first-child {
+.tecList p span:first-child {
   display: inline-block;
   width: 10px;
   height: 10px;
   background: #2188c6;
   border-radius: 90px;
+  overflow: hidden;
 }
-.tecList span:nth-child(2n) {
+
+.tecList p .coopermode {
   display: inline-block;
-  width: 80%;
+  width: 65%;
+  font-size: 16px;
+  padding: 5px 27px;
+
+  cursor: pointer;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis;
+  white-space: nowrap;
+}
+.tecList p .price {
+  display: inline-block;
+  width: 27%;
+  text-align: center;
+  overflow: hidden;
+  // height: 20px;
+  // background-color: #044b79;
+  font-size: 16px;
+  padding: 5px 0 5px 33px;
+  cursor: pointer;
+}
+
+.tecList p span:nth-child(2n) {
+  display: inline-block;
+  width: 65%;
   font-size: 18px;
+  height: 20px;
   padding: 0 15px;
   cursor: pointer;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis;
+  white-space: nowrap;
 }
-.tecList span:nth-child(3n) {
+.tecList p span:nth-child(3n) {
   display: inline-block;
-  width: 10%;
+  width: 27%;
   text-align: center;
-  background-color: #044b79;
-  color: #ffffff;
+  overflow: hidden;
+  height: 20px;
+  // background-color: #044b79;
   font-size: 16px;
   padding: 3px 0px;
   cursor: pointer;
@@ -593,7 +648,7 @@ export default {
 .downRightList .infos p {
   float: left;
   width: 100%;
-  font-size: 16px;
+  // font-size: 16px;
   padding: 0 0 10px 0;
 }
 .downRightList .infos p:first-child {
@@ -603,6 +658,7 @@ export default {
 .downRightList .infos p span {
   display: inline-block;
   width: 50%;
+  font-size: 14px !important;
 }
 .marketNew {
   float: none;