guhongwei 4 years ago
parent
commit
c5fe148e35
3 changed files with 840 additions and 752 deletions
  1. 36 122
      src/views/market/index.vue
  2. 677 0
      src/views/market/marketlists copy.vue
  3. 127 630
      src/views/market/marketlists.vue

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

@@ -13,11 +13,17 @@
                   <span>技术成果</span>
                   <span>A</span>
                   <span>chieve</span>
-                  <span>更多</span>
+                  <span @click="$router.push({ path: '/market/marketlists', query: { type: '1', column_name: '技术成果' } })">更多</span>
                 </el-col>
               </el-col>
               <el-col :span="24" class="leftDown">
-                <el-col :span="12" class="achieveList" v-for="(item, index) in achieveList" :key="index">
+                <el-col
+                  :span="12"
+                  class="achieveList"
+                  v-for="(item, index) in achieveList"
+                  :key="index"
+                  @click.native="$router.push({ path: '/market/marketlists', query: { type: '1', column_name: '技术成果', id: item.id } })"
+                >
                   <el-col :span="24" class="achieveImage">
                     <el-image v-if="item.image && item.image.length > 0" :src="item.image[0].url"></el-image>
                     <el-image v-else :src="achievezb"></el-image>
@@ -37,11 +43,17 @@
                   <span>科技需求</span>
                   <span>T</span>
                   <span>echnology</span>
-                  <span>更多</span>
+                  <span @click="$router.push({ path: '/market/marketlists', query: { type: '0', column_name: '科技需求' } })">更多</span>
                 </el-col>
               </el-col>
               <el-col :span="24" class="rightDown">
-                <el-col :span="24" class="technologyList" v-for="(item, index) in technologyList" :key="index">
+                <el-col
+                  :span="24"
+                  class="technologyList"
+                  v-for="(item, index) in technologyList"
+                  :key="index"
+                  @click.native="$router.push({ path: '/market/marketlists', query: { type: '0', column_name: '科技需求', id: item.id } })"
+                >
                   <el-col :span="20" class="name textOver">
                     {{ item.name }}
                   </el-col>
@@ -69,11 +81,17 @@
                   <span>商务信息</span>
                   <span>B</span>
                   <span>usiness</span>
-                  <span>更多</span>
+                  <span @click="$router.push({ path: '/market/marketlists', query: { type: '2', column_name: '商务信息' } })">更多</span>
                 </el-col>
               </el-col>
               <el-col :span="24" class="leftDown">
-                <el-col :span="24" class="businessList" v-for="(item, index) in businessList" :key="index">
+                <el-col
+                  :span="24"
+                  class="businessList"
+                  v-for="(item, index) in businessList"
+                  :key="index"
+                  @click.native="$router.push({ path: '/market/marketlists', query: { type: '2', column_name: '商务信息', id: item.id } })"
+                >
                   <el-col :span="10" class="name textOver">
                     {{ item.name }}
                   </el-col>
@@ -96,11 +114,17 @@
                   <span>专家服务</span>
                   <span>E</span>
                   <span>xpert</span>
-                  <span>更多</span>
+                  <span @click="$router.push({ path: '/market/marketlists', query: { type: '3', column_name: '专家服务' } })">更多</span>
                 </el-col>
               </el-col>
               <el-col :span="24" class="rightDown">
-                <el-col :span="12" class="expertList" v-for="(item, index) in expertList" :key="index">
+                <el-col
+                  :span="12"
+                  class="expertList"
+                  v-for="(item, index) in expertList"
+                  :key="index"
+                  @click.native="$router.push({ path: '/market/marketlists', query: { type: '3', column_name: '专家服务', id: item.id } })"
+                >
                   <el-col :span="6" class="expertimage">
                     <el-image v-if="item.expertimage != ''" :src="item.expertimage"></el-image>
                     <el-image v-else :src="expertimage"></el-image>
@@ -139,123 +163,13 @@ export default {
       achievezb: require('@/assets/achievezb.jpg'),
       expertimage: require('@/assets/live/222.png'),
       // 成果
-      achieveList: [
-        {
-          name: '成果名称',
-        },
-        {
-          name: '成果名称',
-        },
-        {
-          name: '成果名称',
-        },
-        {
-          name: '成果名称',
-        },
-      ],
+      achieveList: [],
       // 技术
-      technologyList: [
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-        {
-          name: '科技需求',
-          date: '2020-10-10',
-          field: '科技需求',
-          cooperation: '科技需求',
-        },
-      ],
+      technologyList: [],
       // 商务信息
-      businessList: [
-        {
-          name: '商务信息',
-          messattribute: '需求方',
-          date: '2020-10-10',
-          informationdesc: '商务信息',
-        },
-        {
-          name: '商务信息',
-          messattribute: '需求方',
-          date: '2020-10-10',
-          informationdesc: '商务信息',
-        },
-        {
-          name: '商务信息',
-          messattribute: '需求方',
-          date: '2020-10-10',
-          informationdesc: '商务信息',
-        },
-        {
-          name: '商务信息',
-          messattribute: '需求方',
-          date: '2020-10-10',
-          informationdesc: '商务信息',
-        },
-        {
-          name: '商务信息',
-          messattribute: '需求方',
-          date: '2020-10-10',
-          informationdesc: '商务信息',
-        },
-      ],
+      businessList: [],
       // 专家信息
-      expertList: [
-        {
-          expertimage: '',
-          name: '姓名是',
-          school: '吉林大学',
-          education: '本科',
-          company: '按时建档立卡史黛拉开始的',
-        },
-        {
-          expertimage: '',
-          name: '姓名是',
-          school: '吉林大学',
-          education: '本科',
-          company: '按时建档立卡史黛拉开始的',
-        },
-        {
-          expertimage: '',
-          name: '姓名是',
-          school: '吉林大学',
-          education: '本科',
-          company: '按时建档立卡史黛拉开始的',
-        },
-        {
-          expertimage: '',
-          name: '姓名是',
-          school: '吉林大学',
-          education: '本科',
-          company: '按时建档立卡史黛拉开始的',
-        },
-      ],
+      expertList: [],
     };
   },
   created() {

+ 677 - 0
src/views/market/marketlists copy.vue

@@ -0,0 +1,677 @@
+<template>
+  <div id="marketlists">
+    <el-col :span="24" class="main">
+      <el-col :span="24">
+        <el-col :span="5" class="menu">
+          <el-image :src="squareImage"></el-image>
+          <span>Menu</span>
+          <el-col class="menuList" :span="24" v-for="(item, index) in menuList" :key="index">
+            <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
+          </el-col>
+        </el-col>
+        <el-col :span="19" class="info" v-if="display == '1'">
+          <el-col v-if="menuIndex == '0'" class="leftInfo">
+            <el-col :span="24" class="leftTop">
+              <el-col :span="12">
+                <span>|</span> <span>{{ menuName }}</span>
+              </el-col>
+              <el-col :span="12" class="search">
+                <el-input v-model="chanpinInput" placeholder="请输入内容"></el-input>
+                <el-button type="primary" size="mini" @click="chanpinBtn()">查询</el-button>
+              </el-col>
+            </el-col>
+            <el-col class="chanpinList" :span="24" v-for="(item, index) in chanpinList" :key="index">
+              <el-col :span="24">
+                <el-col :span="20" class="name textOver" @click.native="clickshanpin(item.id)">
+                  {{ item.name }}
+                </el-col>
+                <el-col :span="4" class="date">
+                  {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                </el-col>
+                <el-col :span="24" class="introduction"> 简介:{{ item.introduction }} </el-col>
+              </el-col>
+            </el-col>
+          </el-col>
+          <el-col v-if="menuIndex == '1'" class="leftInfo">
+            <el-col :span="24" class="leftTop">
+              <el-col :span="12">
+                <span>|</span> <span>{{ menuName }}</span>
+              </el-col>
+              <el-col :span="12" class="search">
+                <el-input v-model="jishuInput" placeholder="请输入内容"></el-input>
+                <el-button type="primary" size="mini" @click="jishuBtn()">查询</el-button>
+              </el-col>
+            </el-col>
+            <el-col class="infoRightList" :span="24" v-for="(item, index) in jishuList" :key="index">
+              <p>
+                <span class="textOver" @click="clickjishu(item.id)">{{ item.name }}</span>
+                <span class="textOver">
+                  所属领域:{{
+                    `${item.field}` === `0`
+                      ? '先进制造'
+                      : `${item.field}` === `1`
+                      ? '新材料'
+                      : `${item.field}` === `2`
+                      ? '光电子'
+                      : `${item.field}` === `3`
+                      ? '信息技术'
+                      : `${item.field}` === `4`
+                      ? '文化和科技融合'
+                      : '暂无'
+                  }}
+                </span>
+                <span class="textOver">{{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}</span>
+              </p>
+            </el-col>
+          </el-col>
+          <el-col v-if="menuIndex == '2'" class="leftInfo">
+            <el-col :span="24" class="leftTop">
+              <el-col :span="12">
+                <span>|</span> <span>{{ menuName }}</span>
+              </el-col>
+              <el-col :span="12" class="search">
+                <el-input v-model="fuwuInput" placeholder="请输入内容"></el-input>
+                <el-button type="primary" size="mini" @click="fuwuBtn()">查询</el-button>
+              </el-col>
+            </el-col>
+            <el-col class="infoRightList" :span="24" v-for="(item, index) in serviceList" :key="index">
+              <p>
+                <span class="textOver" @click="clickfuwu(item.id)">{{ item.name }}</span>
+                <span class="textOver">{{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}</span>
+              </p>
+            </el-col>
+          </el-col>
+          <el-col v-if="menuIndex == '3'" class="leftInfo">
+            <el-col :span="24" class="leftTop">
+              <el-col :span="12">
+                <span>|</span> <span>{{ menuName }}</span>
+              </el-col>
+              <el-col :span="12" class="search">
+                <el-input v-model="exportInput" placeholder="请输入内容"></el-input>
+                <el-button type="primary" size="mini" @click="exportBtn()">查询</el-button>
+              </el-col>
+            </el-col>
+            <el-col class="exportList" :span="24" v-for="(item, index) in exportList" :key="index">
+              <el-col :span="20" class="name textOver" @click.native="clickzhuanjia(item.id)">
+                {{ item.name }}
+              </el-col>
+              <el-col :span="4" class="date">
+                {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+              </el-col>
+              <el-col :span="24" class="introduction"> 简介:{{ item.resume }} </el-col>
+            </el-col>
+          </el-col>
+          <el-col class="page">
+            <el-pagination
+              background
+              @current-change="handleCurrentChange"
+              :current-page.sync="currentPage"
+              :page-size="pageSize"
+              layout="total,prev, pager, next, jumper"
+              :total="pageTotal"
+            >
+            </el-pagination>
+          </el-col>
+          <el-col :span="24" class="marketPublish" @click.native="fabu()"> <span>我要发布</span></el-col>
+        </el-col>
+        <el-col :span="19" v-else-if="display == '2'" class="info">
+          <context :detailInfo="detailInfo" @onSubmit="onSubmit"></context>
+        </el-col>
+        <el-col :span="19" v-else-if="display == '3'" class="info">
+          <zhuanjia :zhuanjiainfo="zhuanjiainfo" @zjsubmit="zjsubmit"></zhuanjia>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import _ from 'lodash';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('enterpriseproject');
+const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
+const { mapActions: transaction } = createNamespacedHelpers('transaction');
+const { mapActions: tranaudit } = createNamespacedHelpers('tranaudit');
+import zhuanjia from '@/layout/market/zhuanjia.vue';
+import context from '@/layout/market/context.vue';
+
+export default {
+  name: 'marketlists',
+  props: {},
+  components: {
+    context,
+    zhuanjia,
+  },
+  data: () => ({
+    squareImage: require('@/assets/live/square_big.png'),
+    menuList: [{ name: '产品供求' }, { name: '技术供求' }, { name: '服务供求' }, { name: '专家供求' }],
+    menuIndex: '0',
+    menuName: '产品供求',
+    menuColor: 'rgb(254, 149, 14)',
+    currentPage: 1,
+    pageTotal: 0,
+    pageSize: 10,
+    limit: 10,
+    chanpinList: [],
+    jishuList: [],
+    serviceList: [],
+    exportList: [],
+    display: '1',
+    detailInfo: {},
+    zhuanjiainfo: {},
+    // 产品
+    chanpinInput: '',
+    // 技术
+    jishuInput: '',
+    // 服务
+    fuwuInput: '',
+    // 专家
+    exportInput: '',
+  }),
+  created() {
+    this.searchList();
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
+    dispaly() {
+      return this.$route.query.display;
+    },
+
+    id() {
+      return this.$route.query.id;
+    },
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+    totaltype() {
+      return this.$route.query.totaltype;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+
+  methods: {
+    ...product({ list: 'newquery', newfetch: 'newfetch' }),
+    ...expertsuser({ lists: 'query', fetch: 'fetch' }),
+    ...transaction({ transactioncreate: 'create', transactionfetch: 'fetch' }),
+    ...tranaudit({ tranauditcreate: 'create' }),
+    async searchList({ skip = 0, limit = 10, ...info } = {}) {
+      if (this.$route.query.column_name == '产品供求') {
+        this.display = '1';
+        this.changeMenu(this.$route.query.column_name, 0);
+      } else if (this.$route.query.column_name == '技术供求') {
+        this.display = '1';
+        this.changeMenu(this.$route.query.column_name, 1);
+      } else if (this.$route.query.column_name == '服务供求') {
+        this.display = '1';
+        this.changeMenu(this.$route.query.column_name, 2);
+      } else if (this.$route.query.column_name == '专家供求') {
+        this.display = '1';
+        this.changeMenu(this.$route.query.column_name, 3);
+      }
+    },
+    async changeMenu(name, index) {
+      this.menuIndex = index;
+      this.menuColor = 'rgb(254, 149, 14)';
+      this.menuName = name;
+      this.initList({ name });
+    },
+    async initList({ name, skip = 0, limit = 10, ...info } = {}) {
+      this.display = '1';
+      let res = [];
+      this.pageSize = 5;
+      if (name == '产品供求') {
+        let totaltype = '1';
+        res = await this.list({ skip, limit, totaltype, status: 1, ...info });
+        this.$set(this, `chanpinList`, res.data);
+        this.$set(this, `pageTotal`, res.total);
+      } else if (name == '技术供求') {
+        // this.skip = 0;
+        this.limit = 10;
+        this.pageSize = 10;
+        let totaltype = '0';
+        res = await this.list({ skip, limit: 10, totaltype, status: 1, ...info });
+        this.$set(this, `jishuList`, res.data);
+        this.$set(this, `pageTotal`, res.total);
+      } else if (name == '服务供求') {
+        let totaltype = '2';
+        this.skip = 0;
+        this.limit = 10;
+        res = await this.list({ skip, limit, totaltype, status: 1, ...info });
+        this.$set(this, `serviceList`, res.data);
+        this.$set(this, `pageTotal`, res.total);
+      } else if (name == '专家供求') {
+        let totaltype = this.totaltype;
+        res = await this.lists({ skip, limit, ...info });
+        this.$set(this, `exportList`, res.data);
+        this.$set(this, `pageTotal`, res.total);
+      }
+      // this.$set(this, `pageTotal`, res.total);
+    },
+    handleCurrentChange(val) {
+      const name = this.menuName;
+      if (name == '产品供求' || name == '专家供求') {
+        this.limit = 5;
+      }
+      this.initList({ name: name, skip: (val - 1) * this.limit, limit: this.limit });
+    },
+    async clickshanpin(id) {
+      this.display = '2';
+      const res = await this.newfetch(id);
+      this.$set(this, `detailInfo`, res.data);
+    },
+    async clickjishu(id) {
+      this.display = '2';
+      const res = await this.newfetch(id);
+      this.$set(this, `detailInfo`, res.data);
+    },
+    async search() {
+      this.display = this.$route.query.display;
+      if (this.display == '2') {
+        const res = await this.newfetch(this.id);
+        this.$set(this, `detailInfo`, res.data);
+      } else if (this.dispaly == '3') {
+        const res = await this.fetch(this.id);
+        res.data.phone = this.phoneNumFilter(res.data.phone);
+        res.data.cardnumber = this.cardnumberNumFilter(res.data.cardnumber);
+        this.$set(this, `zhuanjiainfo`, res.data);
+      }
+    },
+    phoneNumFilter(phone) {
+      let start = phone.slice(0, 3);
+      let end = phone.slice(-4);
+      return `${start}****${end}`;
+    },
+    cardnumberNumFilter(cardnumber) {
+      let start = cardnumber.slice(0, 4);
+      let end = cardnumber.slice(-3);
+      return `${start}****${end}`;
+    },
+    async clickfuwu(id) {
+      this.display = '2';
+      const res = await this.newfetch(id);
+      this.$set(this, `detailInfo`, res.data);
+    },
+    async clickzhuanjia(id) {
+      this.display = '3';
+      const res = await this.fetch(id);
+      res.data.phone = this.phoneNumFilter(res.data.phone);
+      res.data.cardnumber = this.cardnumberNumFilter(res.data.cardnumber);
+      this.$set(this, `zhuanjiainfo`, res.data);
+    },
+    fabu() {
+      if (this.user.role == '4' || this.user.role == '5') {
+        this.$router.push({ path: '/market/marketfabu' });
+      } else if (this.user.uid == undefined) {
+        this.$router.push({ path: '/webLogin' });
+      } else {
+      }
+    },
+    // 专家
+    async zjsubmit() {
+      let form = {};
+      form.userid = this.user.uid;
+      form.username = this.user.name;
+      form.product_id = this.zhuanjiainfo.id;
+      form.product_name = this.zhuanjiainfo.name;
+      form.market_userid = this.zhuanjiainfo.id;
+      form.market_username = this.zhuanjiainfo.name;
+      form.status = '0';
+      form.type = '1';
+      if (!this.user.uid) {
+        // this.$message.error('游客身份无法与卖家对话,请先注册');
+        this.$message({
+          dangerouslyUseHTMLString: true,
+          message: '<strong><a href="http://free.liaoningdoupo.com/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
+          type: 'error',
+        });
+        return;
+      } else {
+        let res = await this.transactioncreate(form);
+        this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
+      }
+    },
+    // 技术产品服务
+    async onSubmit() {
+      let form = {};
+      form.userid = this.user.uid;
+      form.username = this.user.name;
+      form.product_id = this.detailInfo.id;
+      form.product_name = this.detailInfo.name;
+      form.market_userid = this.detailInfo.userid;
+      form.market_username = this.detailInfo.contact_user;
+      form.status = '0';
+
+      if (!this.user.uid) {
+        // this.$message.error('游客身份无法与卖家对话,请先注册');
+        this.$message({
+          dangerouslyUseHTMLString: true,
+          message: '<strong><a href="http://free.liaoningdoupo.com/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
+          type: 'error',
+        });
+        return;
+      } else {
+        let res = await this.transactioncreate(form);
+        this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
+      }
+
+      // console.log(this.user.uid);
+      // let form = {};
+      // form.userid = this.user.uid;
+      // form.username = this.user.name;
+      // form.product_id = this.detailInfo.id;
+      // form.product_name = this.detailInfo.name;
+      // form.market_userid = this.detailInfo.userid;
+      // form.market_username = this.detailInfo.contact_user;
+      // form.status = '0';
+      // console.log(form);
+      // let res = await this.transactioncreate(form);
+      // this.$checkRes(res, '发起洽谈交易成功', '交易失败');
+      // let shenhe = {};
+      // shenhe.result = '0';
+      // console.log(res.data.id);
+
+      // shenhe.transaction_id = res.data.id;
+      // shenhe.userid = this.detailInfo.userid;
+      // shenhe.product_id = this.detailInfo.userid;
+      // console.log(shenhe);
+      // let ress = await this.tranauditcreate(shenhe);
+      // this.$router.push({ path: '/live/hall/dock/dockDetail', query: { id: this.detailInfo.id } });
+    },
+    // 产品查询
+    async chanpinBtn() {
+      const res = await this.list({ name: this.chanpinInput, totaltype: '1', status: 1 });
+      this.$set(this, `chanpinList`, res.data);
+    },
+    // 技术
+    async jishuBtn() {
+      const res = await this.list({ name: this.jishuInput, totaltype: '0', status: 1 });
+      this.$set(this, `jishuList`, res.data);
+    },
+    // 技术
+    async fuwuBtn() {
+      const res = await this.list({ name: this.fuwuInput, totaltype: '2', status: 1 });
+      this.$set(this, `serviceList`, res.data);
+    },
+    // 专家
+    async exportBtn() {
+      const res = await this.lists({ name: this.exportInput });
+      this.$set(this, `exportList`, res.data);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  width: 80%;
+  margin: 0 auto;
+  float: none;
+}
+.menu {
+  float: left;
+  min-height: 600px;
+  width: 20%;
+  background: no-repeat bottom right;
+  background-image: url(../../assets/live/menu_back.jpg);
+  margin: 30px 0;
+  padding: 10px 0 0 10px;
+  box-sizing: border-box;
+  box-shadow: 0 0 10px #bbbaba;
+}
+.menu .el-image {
+  width: 30px;
+  display: inline-table;
+  margin: 10px 5px;
+}
+.menu span {
+  font-size: 24px;
+  color: #92959a;
+  font-weight: 600;
+  margin-left: 3px;
+  position: relative;
+  top: 10px;
+}
+.menuList p {
+  line-height: 60px;
+  font-size: 18px;
+  cursor: pointer;
+  border-bottom: 1px solid #2d64b3;
+  color: #044b79;
+  font-weight: 600;
+}
+.info {
+  width: 77%;
+  float: right;
+  margin: 30px 0 30px 2px;
+  min-height: 600px;
+  box-shadow: 0 0 10px #2d64b3;
+  overflow: hidden;
+  right: 0px;
+  background: #ffffff;
+}
+.leftInfo {
+  height: 500px;
+  overflow: hidden;
+}
+.leftTop {
+  font-size: 18px;
+  width: 96%;
+  height: 41px;
+  line-height: 35px;
+  border-bottom: 1px solid #e5e5e5;
+  position: relative;
+  bottom: 1px;
+  margin: 10px;
+  font-weight: 600;
+  color: #22529a;
+  .search {
+    .el-input {
+      width: 85%;
+    }
+    .el-button--mini,
+    .el-button--mini.is-round {
+      padding: 12px 15px;
+    }
+  }
+}
+.infoLeftList {
+  float: left;
+  width: 95%;
+  border-bottom: 1px dashed #ccc;
+  padding: 10px 0 10px 10px;
+  height: 87px;
+  margin: 0 0 0 5px;
+}
+.infoLeftList:hover p:last-child span:first-child {
+  -webkit-transform: translateY(-3px);
+  -ms-transform: translateY(-3px);
+  transform: translateY(-3px);
+  -webkit-box-shadow: 0 0 6px #999;
+  box-shadow: 0 0 6px #999;
+  -webkit-transition: all 0.5s ease-out;
+  transition: all 0.5s ease-out;
+  color: #005293;
+  cursor: pointer;
+}
+.infoLeftList p:first-child {
+  float: left;
+  width: 20%;
+  font-size: 15px;
+  background: #044b79;
+  text-align: center;
+  color: #fff;
+  font-weight: bold;
+  padding: 4px 0px;
+  margin: 0 0 0 5px;
+}
+.infoLeftList p:last-child {
+  float: right;
+  width: 70%;
+  padding: 0 0 0 10px;
+}
+.infoLeftList p:last-child span:first-child {
+  float: left;
+  width: 90%;
+  font-size: 18px;
+  margin: 0 0 20px 0;
+}
+.infoLeftList p:last-child span:last-child {
+  float: left;
+  width: 90%;
+  font-size: 16px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 2;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  margin: -20px 0 0 0;
+  color: #666;
+}
+.page {
+  text-align: center;
+  margin: 10px 0;
+}
+.infoRightList {
+  float: left;
+  width: 95%;
+  padding: 7px 0;
+  margin: 0 0 0 5px;
+}
+.infoRightList:nth-child(6) {
+  border-bottom: 1px solid #ccc;
+  padding: 0 0 17px 0;
+}
+.infoRightList:nth-child(7) {
+  padding: 15px 0 0 0;
+}
+.infoRightList:nth-child(11) {
+  border-bottom: 1px solid #ccc;
+  padding: 0 0 15px 0;
+}
+.infoRightList:hover p span:first-child {
+  -webkit-transform: translateY(-3px);
+  -ms-transform: translateY(-3px);
+  transform: translateY(-3px);
+  -webkit-box-shadow: 0 0 6px #999;
+  box-shadow: 0 0 6px #999;
+  -webkit-transition: all 0.5s ease-out;
+  transition: all 0.5s ease-out;
+  color: #005293;
+  cursor: pointer;
+}
+.infoRightList p {
+  font-size: 18px;
+}
+.infoRightList p span:first-child {
+  display: inline-block;
+  width: 60%;
+  margin: 0 20px 0 10px;
+}
+.infoRightList p span:nth-child(2) {
+  display: inline-block;
+  width: 20%;
+  text-align: left;
+  font-size: 16px;
+}
+.infoRightList p span:last-child {
+  display: inline-block;
+  width: 16%;
+  text-align: center;
+  font-size: 16px;
+}
+.marketPublish {
+  position: fixed;
+  background: #0279d5;
+  width: 100px;
+  height: 100px;
+  z-index: 999;
+  left: 2%;
+  top: 80%;
+  border-radius: 20px;
+  box-shadow: 2px 2px 2px #055c9f;
+  text-align: center;
+  line-height: 100px;
+  font-size: 20px;
+  color: #fff;
+  font-weight: bold;
+}
+.marketPublish:hover {
+  background: #f60;
+  cursor: pointer;
+}
+// 新增
+// 技术
+.chanpinList {
+  padding: 0 30px 0 10px;
+  margin: 0px 0 20px 0;
+  .name {
+    font-size: 18px;
+    margin: 0 0 5px 0;
+    color: #22529a;
+    font-weight: bold;
+  }
+  .date {
+    text-align: right;
+    font-size: 18px;
+    margin: 0 0 5px 0;
+  }
+  .introduction {
+    font-size: 14px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    -webkit-line-clamp: 2;
+    word-break: break-all;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+  }
+}
+.chanpinList .name:hover {
+  -webkit-transform: translateY(-3px);
+  -ms-transform: translateY(-3px);
+  transform: translateY(-3px);
+  -webkit-box-shadow: 0 0 6px #999;
+  box-shadow: 0 0 6px #999;
+  -webkit-transition: all 0.5s ease-out;
+  transition: all 0.5s ease-out;
+  color: #005293;
+  cursor: pointer;
+}
+// 专家
+.exportList {
+  padding: 0 30px 0 10px;
+  margin: 0px 0 11px 0;
+  .name {
+    font-size: 18px;
+    margin: 0 0 10px 0;
+  }
+  .date {
+    text-align: right;
+    font-size: 18px;
+    margin: 0 0 10px 0;
+  }
+  .introduction {
+    font-size: 16px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    -webkit-line-clamp: 2;
+    word-break: break-all;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+  }
+}
+.exportList .name:hover {
+  -webkit-transform: translateY(-3px);
+  -ms-transform: translateY(-3px);
+  transform: translateY(-3px);
+  -webkit-box-shadow: 0 0 6px #999;
+  box-shadow: 0 0 6px #999;
+  -webkit-transition: all 0.5s ease-out;
+  transition: all 0.5s ease-out;
+  color: #005293;
+  cursor: pointer;
+}
+</style>

+ 127 - 630
src/views/market/marketlists.vue

@@ -1,677 +1,174 @@
 <template>
   <div id="marketlists">
-    <el-col :span="24" class="main">
-      <el-col :span="24">
-        <el-col :span="5" class="menu">
-          <el-image :src="squareImage"></el-image>
-          <span>Menu</span>
-          <el-col class="menuList" :span="24" v-for="(item, index) in menuList" :key="index">
-            <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
-          </el-col>
-        </el-col>
-        <el-col :span="19" class="info" v-if="display == '1'">
-          <el-col v-if="menuIndex == '0'" class="leftInfo">
-            <el-col :span="24" class="leftTop">
-              <el-col :span="12">
-                <span>|</span> <span>{{ menuName }}</span>
-              </el-col>
-              <el-col :span="12" class="search">
-                <el-input v-model="chanpinInput" placeholder="请输入内容"></el-input>
-                <el-button type="primary" size="mini" @click="chanpinBtn()">查询</el-button>
-              </el-col>
+    <el-row>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="5" class="menu">
+            <el-image :src="squareImage"></el-image>
+            <span class="menuTitle">Menu</span>
+            <el-col :span="24" class="menuList" v-for="(item, index) in menuList" :key="index">
+              <p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
             </el-col>
-            <el-col class="chanpinList" :span="24" v-for="(item, index) in chanpinList" :key="index">
-              <el-col :span="24">
-                <el-col :span="20" class="name textOver" @click.native="clickshanpin(item.id)">
-                  {{ item.name }}
+          </el-col>
+          <el-col :span="18" class="listInfo">
+            <span v-if="display == 'list'">
+              <el-col :span="24" class="listTop">
+                <el-col :span="12" class="columnname">
+                  <span>|</span> <span>{{ column_name }}</span>
                 </el-col>
-                <el-col :span="4" class="date">
-                  {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
+                <el-col :span="12" class="search">
+                  <el-input placeholder="请输入名称" v-model="infoName" class="input-with-select">
+                    <el-button slot="append" icon="el-icon-search"></el-button>
+                  </el-input>
                 </el-col>
-                <el-col :span="24" class="introduction"> 简介:{{ item.introduction }} </el-col>
-              </el-col>
-            </el-col>
-          </el-col>
-          <el-col v-if="menuIndex == '1'" class="leftInfo">
-            <el-col :span="24" class="leftTop">
-              <el-col :span="12">
-                <span>|</span> <span>{{ menuName }}</span>
-              </el-col>
-              <el-col :span="12" class="search">
-                <el-input v-model="jishuInput" placeholder="请输入内容"></el-input>
-                <el-button type="primary" size="mini" @click="jishuBtn()">查询</el-button>
-              </el-col>
-            </el-col>
-            <el-col class="infoRightList" :span="24" v-for="(item, index) in jishuList" :key="index">
-              <p>
-                <span class="textOver" @click="clickjishu(item.id)">{{ item.name }}</span>
-                <span class="textOver">
-                  所属领域:{{
-                    `${item.field}` === `0`
-                      ? '先进制造'
-                      : `${item.field}` === `1`
-                      ? '新材料'
-                      : `${item.field}` === `2`
-                      ? '光电子'
-                      : `${item.field}` === `3`
-                      ? '信息技术'
-                      : `${item.field}` === `4`
-                      ? '文化和科技融合'
-                      : '暂无'
-                  }}
-                </span>
-                <span class="textOver">{{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}</span>
-              </p>
-            </el-col>
-          </el-col>
-          <el-col v-if="menuIndex == '2'" class="leftInfo">
-            <el-col :span="24" class="leftTop">
-              <el-col :span="12">
-                <span>|</span> <span>{{ menuName }}</span>
-              </el-col>
-              <el-col :span="12" class="search">
-                <el-input v-model="fuwuInput" placeholder="请输入内容"></el-input>
-                <el-button type="primary" size="mini" @click="fuwuBtn()">查询</el-button>
-              </el-col>
-            </el-col>
-            <el-col class="infoRightList" :span="24" v-for="(item, index) in serviceList" :key="index">
-              <p>
-                <span class="textOver" @click="clickfuwu(item.id)">{{ item.name }}</span>
-                <span class="textOver">{{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}</span>
-              </p>
-            </el-col>
-          </el-col>
-          <el-col v-if="menuIndex == '3'" class="leftInfo">
-            <el-col :span="24" class="leftTop">
-              <el-col :span="12">
-                <span>|</span> <span>{{ menuName }}</span>
               </el-col>
-              <el-col :span="12" class="search">
-                <el-input v-model="exportInput" placeholder="请输入内容"></el-input>
-                <el-button type="primary" size="mini" @click="exportBtn()">查询</el-button>
+              <el-col :span="24" class="listDown">
+                <el-button @click="display = 'detail'">详情</el-button>
               </el-col>
-            </el-col>
-            <el-col class="exportList" :span="24" v-for="(item, index) in exportList" :key="index">
-              <el-col :span="20" class="name textOver" @click.native="clickzhuanjia(item.id)">
-                {{ item.name }}
-              </el-col>
-              <el-col :span="4" class="date">
-                {{ item.meta && item.meta.createdAt ? new Date(item.meta.createdAt).toLocaleDateString() : '' || '' }}
-              </el-col>
-              <el-col :span="24" class="introduction"> 简介:{{ item.resume }} </el-col>
-            </el-col>
+            </span>
+            <span v-else>
+              <el-button @click="display = 'list'">返回</el-button>
+            </span>
           </el-col>
-          <el-col class="page">
-            <el-pagination
-              background
-              @current-change="handleCurrentChange"
-              :current-page.sync="currentPage"
-              :page-size="pageSize"
-              layout="total,prev, pager, next, jumper"
-              :total="pageTotal"
-            >
-            </el-pagination>
-          </el-col>
-          <el-col :span="24" class="marketPublish" @click.native="fabu()"> <span>我要发布</span></el-col>
-        </el-col>
-        <el-col :span="19" v-else-if="display == '2'" class="info">
-          <context :detailInfo="detailInfo" @onSubmit="onSubmit"></context>
-        </el-col>
-        <el-col :span="19" v-else-if="display == '3'" class="info">
-          <zhuanjia :zhuanjiainfo="zhuanjiainfo" @zjsubmit="zjsubmit"></zhuanjia>
-        </el-col>
+        </div>
       </el-col>
-    </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
-import _ from 'lodash';
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: product } = createNamespacedHelpers('enterpriseproject');
-const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
-const { mapActions: transaction } = createNamespacedHelpers('transaction');
-const { mapActions: tranaudit } = createNamespacedHelpers('tranaudit');
-import zhuanjia from '@/layout/market/zhuanjia.vue';
-import context from '@/layout/market/context.vue';
-
 export default {
   name: 'marketlists',
   props: {},
-  components: {
-    context,
-    zhuanjia,
+  components: {},
+  data: function() {
+    return {
+      squareImage: require('@/assets/live/square_big.png'),
+      // 菜单
+      menuList: [{ name: '科技需求' }, { name: '技术成果' }, { name: '商务信息' }, { name: '专家服务' }],
+      menuIndex: '0',
+      menuColor: 'rgb(254, 149, 14)',
+      // 右侧显示
+      // list:列表,detail:详情
+      display: 'list',
+      // 右侧头部栏目
+      column_name: '科技需求',
+      // 搜索
+      infoName: '',
+    };
   },
-  data: () => ({
-    squareImage: require('@/assets/live/square_big.png'),
-    menuList: [{ name: '产品供求' }, { name: '技术供求' }, { name: '服务供求' }, { name: '专家供求' }],
-    menuIndex: '0',
-    menuName: '产品供求',
-    menuColor: 'rgb(254, 149, 14)',
-    currentPage: 1,
-    pageTotal: 0,
-    pageSize: 10,
-    limit: 10,
-    chanpinList: [],
-    jishuList: [],
-    serviceList: [],
-    exportList: [],
-    display: '1',
-    detailInfo: {},
-    zhuanjiainfo: {},
-    // 产品
-    chanpinInput: '',
-    // 技术
-    jishuInput: '',
-    // 服务
-    fuwuInput: '',
-    // 专家
-    exportInput: '',
-  }),
   created() {
-    this.searchList();
-    this.search();
+    this.searchColumn();
+  },
+  methods: {
+    // 查询栏目
+    async searchColumn() {
+      if (this.type == 0) {
+        this.changeMenu(this.columnName, this.type);
+      } else if (this.type == 1) {
+        this.changeMenu(this.columnName, this.type);
+      } else if (this.type == 2) {
+        this.changeMenu(this.columnName, this.type);
+      } else if (this.type == 3) {
+        this.changeMenu(this.columnName, this.type);
+      }
+      if (this.id) {
+        this.display = 'detail';
+      } else {
+        this.display = 'list';
+      }
+    },
+    // 选择菜单
+    changeMenu(name, index) {
+      this.display = 'list';
+      this.column_name = name;
+      this.menuIndex = index;
+      this.menuColor = 'rgb(254, 149, 14)';
+    },
   },
   computed: {
     ...mapState(['user']),
-    dispaly() {
-      return this.$route.query.display;
+    type() {
+      return this.$route.query.type;
+    },
+    columnName() {
+      return this.$route.query.column_name;
     },
-
     id() {
       return this.$route.query.id;
     },
     pageTitle() {
       return `${this.$route.meta.title}`;
     },
-    totaltype() {
-      return this.$route.query.totaltype;
-    },
   },
   metaInfo() {
     return { title: this.$route.meta.title };
   },
-
-  methods: {
-    ...product({ list: 'newquery', newfetch: 'newfetch' }),
-    ...expertsuser({ lists: 'query', fetch: 'fetch' }),
-    ...transaction({ transactioncreate: 'create', transactionfetch: 'fetch' }),
-    ...tranaudit({ tranauditcreate: 'create' }),
-    async searchList({ skip = 0, limit = 10, ...info } = {}) {
-      if (this.$route.query.column_name == '产品供求') {
-        this.display = '1';
-        this.changeMenu(this.$route.query.column_name, 0);
-      } else if (this.$route.query.column_name == '技术供求') {
-        this.display = '1';
-        this.changeMenu(this.$route.query.column_name, 1);
-      } else if (this.$route.query.column_name == '服务供求') {
-        this.display = '1';
-        this.changeMenu(this.$route.query.column_name, 2);
-      } else if (this.$route.query.column_name == '专家供求') {
-        this.display = '1';
-        this.changeMenu(this.$route.query.column_name, 3);
-      }
-    },
-    async changeMenu(name, index) {
-      this.menuIndex = index;
-      this.menuColor = 'rgb(254, 149, 14)';
-      this.menuName = name;
-      this.initList({ name });
-    },
-    async initList({ name, skip = 0, limit = 10, ...info } = {}) {
-      this.display = '1';
-      let res = [];
-      this.pageSize = 5;
-      if (name == '产品供求') {
-        let totaltype = '1';
-        res = await this.list({ skip, limit, totaltype, status: 1, ...info });
-        this.$set(this, `chanpinList`, res.data);
-        this.$set(this, `pageTotal`, res.total);
-      } else if (name == '技术供求') {
-        // this.skip = 0;
-        this.limit = 10;
-        this.pageSize = 10;
-        let totaltype = '0';
-        res = await this.list({ skip, limit: 10, totaltype, status: 1, ...info });
-        this.$set(this, `jishuList`, res.data);
-        this.$set(this, `pageTotal`, res.total);
-      } else if (name == '服务供求') {
-        let totaltype = '2';
-        this.skip = 0;
-        this.limit = 10;
-        res = await this.list({ skip, limit, totaltype, status: 1, ...info });
-        this.$set(this, `serviceList`, res.data);
-        this.$set(this, `pageTotal`, res.total);
-      } else if (name == '专家供求') {
-        let totaltype = this.totaltype;
-        res = await this.lists({ skip, limit, ...info });
-        this.$set(this, `exportList`, res.data);
-        this.$set(this, `pageTotal`, res.total);
-      }
-      // this.$set(this, `pageTotal`, res.total);
-    },
-    handleCurrentChange(val) {
-      const name = this.menuName;
-      if (name == '产品供求' || name == '专家供求') {
-        this.limit = 5;
-      }
-      this.initList({ name: name, skip: (val - 1) * this.limit, limit: this.limit });
-    },
-    async clickshanpin(id) {
-      this.display = '2';
-      const res = await this.newfetch(id);
-      this.$set(this, `detailInfo`, res.data);
-    },
-    async clickjishu(id) {
-      this.display = '2';
-      const res = await this.newfetch(id);
-      this.$set(this, `detailInfo`, res.data);
-    },
-    async search() {
-      this.display = this.$route.query.display;
-      if (this.display == '2') {
-        const res = await this.newfetch(this.id);
-        this.$set(this, `detailInfo`, res.data);
-      } else if (this.dispaly == '3') {
-        const res = await this.fetch(this.id);
-        res.data.phone = this.phoneNumFilter(res.data.phone);
-        res.data.cardnumber = this.cardnumberNumFilter(res.data.cardnumber);
-        this.$set(this, `zhuanjiainfo`, res.data);
-      }
-    },
-    phoneNumFilter(phone) {
-      let start = phone.slice(0, 3);
-      let end = phone.slice(-4);
-      return `${start}****${end}`;
-    },
-    cardnumberNumFilter(cardnumber) {
-      let start = cardnumber.slice(0, 4);
-      let end = cardnumber.slice(-3);
-      return `${start}****${end}`;
-    },
-    async clickfuwu(id) {
-      this.display = '2';
-      const res = await this.newfetch(id);
-      this.$set(this, `detailInfo`, res.data);
-    },
-    async clickzhuanjia(id) {
-      this.display = '3';
-      const res = await this.fetch(id);
-      res.data.phone = this.phoneNumFilter(res.data.phone);
-      res.data.cardnumber = this.cardnumberNumFilter(res.data.cardnumber);
-      this.$set(this, `zhuanjiainfo`, res.data);
-    },
-    fabu() {
-      if (this.user.role == '4' || this.user.role == '5') {
-        this.$router.push({ path: '/market/marketfabu' });
-      } else if (this.user.uid == undefined) {
-        this.$router.push({ path: '/webLogin' });
-      } else {
-      }
-    },
-    // 专家
-    async zjsubmit() {
-      let form = {};
-      form.userid = this.user.uid;
-      form.username = this.user.name;
-      form.product_id = this.zhuanjiainfo.id;
-      form.product_name = this.zhuanjiainfo.name;
-      form.market_userid = this.zhuanjiainfo.id;
-      form.market_username = this.zhuanjiainfo.name;
-      form.status = '0';
-      form.type = '1';
-      if (!this.user.uid) {
-        // this.$message.error('游客身份无法与卖家对话,请先注册');
-        this.$message({
-          dangerouslyUseHTMLString: true,
-          message: '<strong><a href="http://free.liaoningdoupo.com/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
-          type: 'error',
-        });
-        return;
-      } else {
-        let res = await this.transactioncreate(form);
-        this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
-      }
-    },
-    // 技术产品服务
-    async onSubmit() {
-      let form = {};
-      form.userid = this.user.uid;
-      form.username = this.user.name;
-      form.product_id = this.detailInfo.id;
-      form.product_name = this.detailInfo.name;
-      form.market_userid = this.detailInfo.userid;
-      form.market_username = this.detailInfo.contact_user;
-      form.status = '0';
-
-      if (!this.user.uid) {
-        // this.$message.error('游客身份无法与卖家对话,请先注册');
-        this.$message({
-          dangerouslyUseHTMLString: true,
-          message: '<strong><a href="http://free.liaoningdoupo.com/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
-          type: 'error',
-        });
-        return;
-      } else {
-        let res = await this.transactioncreate(form);
-        this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
-      }
-
-      // console.log(this.user.uid);
-      // let form = {};
-      // form.userid = this.user.uid;
-      // form.username = this.user.name;
-      // form.product_id = this.detailInfo.id;
-      // form.product_name = this.detailInfo.name;
-      // form.market_userid = this.detailInfo.userid;
-      // form.market_username = this.detailInfo.contact_user;
-      // form.status = '0';
-      // console.log(form);
-      // let res = await this.transactioncreate(form);
-      // this.$checkRes(res, '发起洽谈交易成功', '交易失败');
-      // let shenhe = {};
-      // shenhe.result = '0';
-      // console.log(res.data.id);
-
-      // shenhe.transaction_id = res.data.id;
-      // shenhe.userid = this.detailInfo.userid;
-      // shenhe.product_id = this.detailInfo.userid;
-      // console.log(shenhe);
-      // let ress = await this.tranauditcreate(shenhe);
-      // this.$router.push({ path: '/live/hall/dock/dockDetail', query: { id: this.detailInfo.id } });
-    },
-    // 产品查询
-    async chanpinBtn() {
-      const res = await this.list({ name: this.chanpinInput, totaltype: '1', status: 1 });
-      this.$set(this, `chanpinList`, res.data);
-    },
-    // 技术
-    async jishuBtn() {
-      const res = await this.list({ name: this.jishuInput, totaltype: '0', status: 1 });
-      this.$set(this, `jishuList`, res.data);
-    },
-    // 技术
-    async fuwuBtn() {
-      const res = await this.list({ name: this.fuwuInput, totaltype: '2', status: 1 });
-      this.$set(this, `serviceList`, res.data);
-    },
-    // 专家
-    async exportBtn() {
-      const res = await this.lists({ name: this.exportInput });
-      this.$set(this, `exportList`, res.data);
-    },
-  },
 };
 </script>
 
 <style lang="less" scoped>
-.main {
+.w_1200 {
   width: 80%;
   margin: 0 auto;
-  float: none;
-}
-.menu {
-  float: left;
-  min-height: 600px;
-  width: 20%;
-  background: no-repeat bottom right;
-  background-image: url(../../assets/live/menu_back.jpg);
-  margin: 30px 0;
-  padding: 10px 0 0 10px;
-  box-sizing: border-box;
-  box-shadow: 0 0 10px #bbbaba;
-}
-.menu .el-image {
-  width: 30px;
-  display: inline-table;
-  margin: 10px 5px;
-}
-.menu span {
-  font-size: 24px;
-  color: #92959a;
-  font-weight: 600;
-  margin-left: 3px;
-  position: relative;
-  top: 10px;
-}
-.menuList p {
-  line-height: 60px;
-  font-size: 18px;
-  cursor: pointer;
-  border-bottom: 1px solid #2d64b3;
-  color: #044b79;
-  font-weight: 600;
-}
-.info {
-  width: 77%;
-  float: right;
-  margin: 30px 0 30px 2px;
-  min-height: 600px;
-  box-shadow: 0 0 10px #2d64b3;
-  overflow: hidden;
-  right: 0px;
-  background: #ffffff;
 }
-.leftInfo {
-  height: 500px;
-  overflow: hidden;
-}
-.leftTop {
-  font-size: 18px;
-  width: 96%;
-  height: 41px;
-  line-height: 35px;
-  border-bottom: 1px solid #e5e5e5;
-  position: relative;
-  bottom: 1px;
-  margin: 10px;
-  font-weight: 600;
-  color: #22529a;
-  .search {
-    .el-input {
-      width: 85%;
+.main {
+  margin: 15px 0;
+  .menu {
+    height: 600px;
+    overflow: hidden;
+    padding: 15px 10px;
+    background: no-repeat 100% 100%;
+    background-image: url('~@/assets/live/menu_back.jpg');
+    box-sizing: border-box;
+    box-shadow: 0 0 10px #bbbaba;
+    .menuTitle {
+      font-size: 24px;
+      color: #92959a;
+      font-weight: bold;
+      position: relative;
+      top: -10px;
+      left: 10px;
     }
-    .el-button--mini,
-    .el-button--mini.is-round {
-      padding: 12px 15px;
+    .menuList {
+      height: 60px;
+      line-height: 60px;
+      border-bottom: 1px solid #2d64b3;
+      p {
+        font-weight: bold;
+        font-size: 18px;
+        color: #044b79;
+      }
+    }
+    .menuList:hover {
+      cursor: pointer;
     }
   }
-}
-.infoLeftList {
-  float: left;
-  width: 95%;
-  border-bottom: 1px dashed #ccc;
-  padding: 10px 0 10px 10px;
-  height: 87px;
-  margin: 0 0 0 5px;
-}
-.infoLeftList:hover p:last-child span:first-child {
-  -webkit-transform: translateY(-3px);
-  -ms-transform: translateY(-3px);
-  transform: translateY(-3px);
-  -webkit-box-shadow: 0 0 6px #999;
-  box-shadow: 0 0 6px #999;
-  -webkit-transition: all 0.5s ease-out;
-  transition: all 0.5s ease-out;
-  color: #005293;
-  cursor: pointer;
-}
-.infoLeftList p:first-child {
-  float: left;
-  width: 20%;
-  font-size: 15px;
-  background: #044b79;
-  text-align: center;
-  color: #fff;
-  font-weight: bold;
-  padding: 4px 0px;
-  margin: 0 0 0 5px;
-}
-.infoLeftList p:last-child {
-  float: right;
-  width: 70%;
-  padding: 0 0 0 10px;
-}
-.infoLeftList p:last-child span:first-child {
-  float: left;
-  width: 90%;
-  font-size: 18px;
-  margin: 0 0 20px 0;
-}
-.infoLeftList p:last-child span:last-child {
-  float: left;
-  width: 90%;
-  font-size: 16px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-line-clamp: 2;
-  word-break: break-all;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  margin: -20px 0 0 0;
-  color: #666;
-}
-.page {
-  text-align: center;
-  margin: 10px 0;
-}
-.infoRightList {
-  float: left;
-  width: 95%;
-  padding: 7px 0;
-  margin: 0 0 0 5px;
-}
-.infoRightList:nth-child(6) {
-  border-bottom: 1px solid #ccc;
-  padding: 0 0 17px 0;
-}
-.infoRightList:nth-child(7) {
-  padding: 15px 0 0 0;
-}
-.infoRightList:nth-child(11) {
-  border-bottom: 1px solid #ccc;
-  padding: 0 0 15px 0;
-}
-.infoRightList:hover p span:first-child {
-  -webkit-transform: translateY(-3px);
-  -ms-transform: translateY(-3px);
-  transform: translateY(-3px);
-  -webkit-box-shadow: 0 0 6px #999;
-  box-shadow: 0 0 6px #999;
-  -webkit-transition: all 0.5s ease-out;
-  transition: all 0.5s ease-out;
-  color: #005293;
-  cursor: pointer;
-}
-.infoRightList p {
-  font-size: 18px;
-}
-.infoRightList p span:first-child {
-  display: inline-block;
-  width: 60%;
-  margin: 0 20px 0 10px;
-}
-.infoRightList p span:nth-child(2) {
-  display: inline-block;
-  width: 20%;
-  text-align: left;
-  font-size: 16px;
-}
-.infoRightList p span:last-child {
-  display: inline-block;
-  width: 16%;
-  text-align: center;
-  font-size: 16px;
-}
-.marketPublish {
-  position: fixed;
-  background: #0279d5;
-  width: 100px;
-  height: 100px;
-  z-index: 999;
-  left: 2%;
-  top: 80%;
-  border-radius: 20px;
-  box-shadow: 2px 2px 2px #055c9f;
-  text-align: center;
-  line-height: 100px;
-  font-size: 20px;
-  color: #fff;
-  font-weight: bold;
-}
-.marketPublish:hover {
-  background: #f60;
-  cursor: pointer;
-}
-// 新增
-// 技术
-.chanpinList {
-  padding: 0 30px 0 10px;
-  margin: 0px 0 20px 0;
-  .name {
-    font-size: 18px;
-    margin: 0 0 5px 0;
-    color: #22529a;
-    font-weight: bold;
-  }
-  .date {
-    text-align: right;
-    font-size: 18px;
-    margin: 0 0 5px 0;
-  }
-  .introduction {
-    font-size: 14px;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    -webkit-line-clamp: 2;
-    word-break: break-all;
-    display: -webkit-box;
-    -webkit-box-orient: vertical;
-  }
-}
-.chanpinList .name:hover {
-  -webkit-transform: translateY(-3px);
-  -ms-transform: translateY(-3px);
-  transform: translateY(-3px);
-  -webkit-box-shadow: 0 0 6px #999;
-  box-shadow: 0 0 6px #999;
-  -webkit-transition: all 0.5s ease-out;
-  transition: all 0.5s ease-out;
-  color: #005293;
-  cursor: pointer;
-}
-// 专家
-.exportList {
-  padding: 0 30px 0 10px;
-  margin: 0px 0 11px 0;
-  .name {
-    font-size: 18px;
-    margin: 0 0 10px 0;
-  }
-  .date {
-    text-align: right;
-    font-size: 18px;
-    margin: 0 0 10px 0;
-  }
-  .introduction {
-    font-size: 16px;
+  .listInfo {
+    float: right;
+    width: 78%;
+    height: 600px;
     overflow: hidden;
-    text-overflow: ellipsis;
-    -webkit-line-clamp: 2;
-    word-break: break-all;
-    display: -webkit-box;
-    -webkit-box-orient: vertical;
+    box-shadow: 0 0 10px #2d64b3;
+    padding: 10px;
+    .listTop {
+      height: 49px;
+      line-height: 49px;
+      border-bottom: 1px solid #ccc;
+      .columnname {
+        span:first-child {
+          color: #22529a;
+          font-weight: bold;
+          font-size: 25px;
+        }
+        span:last-child {
+          color: #22529a;
+          font-size: 20px;
+          font-weight: bold;
+        }
+      }
+    }
   }
 }
-.exportList .name:hover {
-  -webkit-transform: translateY(-3px);
-  -ms-transform: translateY(-3px);
-  transform: translateY(-3px);
-  -webkit-box-shadow: 0 0 6px #999;
-  box-shadow: 0 0 6px #999;
-  -webkit-transition: all 0.5s ease-out;
-  transition: all 0.5s ease-out;
-  color: #005293;
-  cursor: pointer;
-}
 </style>