Forráskód Böngészése

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

lrf402788946 5 éve
szülő
commit
7ae8063eca

+ 43 - 3
package-lock.json

@@ -2283,6 +2283,15 @@
       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
       "dev": true
     },
+    "bar": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npm.taobao.org/bar/download/bar-0.1.2.tgz",
+      "integrity": "sha1-7DbYDF/qERH+HjLJ2zimEFMiUVU=",
+      "requires": {
+        "optimist": "~ 0.2.4",
+        "watch": "~ 0.3.2"
+      }
+    },
     "base": {
       "version": "0.11.2",
       "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
@@ -4249,6 +4258,14 @@
         "safe-buffer": "^5.0.1"
       }
     },
+    "echarts": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npm.taobao.org/echarts/download/echarts-4.7.0.tgz",
+      "integrity": "sha1-Wzh1pML5HjkpQl+rq56s5+QJiz8=",
+      "requires": {
+        "zrender": "4.3.0"
+      }
+    },
     "ee-first": {
       "version": "1.1.1",
       "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
@@ -7790,9 +7807,9 @@
       }
     },
     "moment": {
-      "version": "2.24.0",
-      "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.24.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.24.0.tgz",
-      "integrity": "sha1-DQVdU/UFKqZTyfbraLtdEr9cK1s="
+      "version": "2.25.3",
+      "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.25.3.tgz?cache=0&sync_timestamp=1588605303253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.25.3.tgz",
+      "integrity": "sha1-JS/0ExnPQeR3YaGojKsw7f6YCMA="
     },
     "move-concurrently": {
       "version": "1.0.1",
@@ -8226,6 +8243,14 @@
         "is-wsl": "^1.1.0"
       }
     },
+    "optimist": {
+      "version": "0.2.8",
+      "resolved": "https://registry.npm.taobao.org/optimist/download/optimist-0.2.8.tgz",
+      "integrity": "sha1-6YGrfiaLRXlIWTtVZ0wJmoFcrDE=",
+      "requires": {
+        "wordwrap": ">=0.0.1 <0.1.0"
+      }
+    },
     "optionator": {
       "version": "0.8.3",
       "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz",
@@ -11552,6 +11577,11 @@
       "resolved": "https://registry.npm.taobao.org/wangeditor/download/wangeditor-3.1.1.tgz",
       "integrity": "sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk="
     },
+    "watch": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npm.taobao.org/watch/download/watch-0.3.3.tgz",
+      "integrity": "sha1-Kqd2cW7UY0ZNuqLC5PnGrKHi+jw="
+    },
     "watchpack": {
       "version": "1.6.1",
       "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.1.tgz",
@@ -12020,6 +12050,11 @@
       "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
       "dev": true
     },
+    "wordwrap": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
+      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
+    },
     "worker-farm": {
       "version": "1.7.0",
       "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz",
@@ -12256,6 +12291,11 @@
           "dev": true
         }
       }
+    },
+    "zrender": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npm.taobao.org/zrender/download/zrender-4.3.0.tgz",
+      "integrity": "sha1-nwVhIbILuuREFNKHv2oRn/cEJmE="
     }
   }
 }

+ 2 - 1
package.json

@@ -10,12 +10,13 @@
   "dependencies": {
     "@stomp/stompjs": "^5.4.4",
     "axios": "^0.19.2",
+    "bar": "^0.1.2",
     "core-js": "^3.6.4",
     "echarts": "^4.7.0",
     "element-ui": "^2.13.1",
     "jsonwebtoken": "^8.5.1",
     "loadsh": "0.0.4",
-    "moment": "^2.24.0",
+    "moment": "^2.25.3",
     "naf-core": "^0.1.2",
     "stomp": "^0.1.1",
     "vue": "^2.6.11",

BIN
src/assets/dynamic1.png


BIN
src/assets/dynamic2.png


BIN
src/assets/dynamic3.png


BIN
src/assets/dynamic4.png


BIN
src/assets/dynamic5.png


BIN
src/assets/live/circle.png


+ 6 - 1
src/components/enterprise/appointment.vue

@@ -12,7 +12,8 @@
             </el-col>
           </el-col>
           <el-col :span="19" class="right">
-            <appointment :total="total" v-on="$listeners" :resultTable="resultTable" v-if="display === 'list'"></appointment>
+            <appointment :total="total" v-on="$listeners" :resultTable="resultTable" :limit="limit" v-if="display === 'list'"></appointment>
+            <look v-on="$listeners" :resultTable="resultTable" :pageSize="pageSize" :total="total" v-else></look>
           </el-col>
         </div>
         <el-col :span="24" class="foots">
@@ -27,6 +28,7 @@
 import heads from '@/layout/enterprise/heads.vue';
 import mainMenu from '@/layout/enterprise/mainMenu.vue';
 import appointment from '@/layout/enterprise/appointment.vue';
+import look from '@/layout/enterprise/look.vue';
 import foot from '@/layout/live/foot.vue';
 
 export default {
@@ -37,6 +39,8 @@ export default {
     form: null,
     resultTable: null,
     total: null,
+    pageSize: null,
+    limit: null,
     display: { type: String, default: 'list' },
   },
   components: {
@@ -44,6 +48,7 @@ export default {
     mainMenu, //分类导航
     appointment, //右侧
     foot,
+    look,
   },
   data: () => ({}),
   created() {},

+ 3 - 2
src/layout/enterprise/appointment.vue

@@ -57,7 +57,7 @@
             </el-table-column>
           </el-table>
           <el-col :span="24">
-            <page :total="total" position="center" v-on="$listeners"></page>
+            <page :total="total" position="center" :limit="limit" v-on="$listeners"></page>
           </el-col>
         </el-col>
       </el-col>
@@ -75,6 +75,7 @@ export default {
   props: {
     resultTable: null,
     total: null,
+    limit: null,
   },
   components: {
     page,
@@ -119,7 +120,7 @@ export default {
 
     look(row) {
       console.log(row);
-      this.$router.push({ path: '/enterprise/look', query: { data: row } });
+      this.$emit('searchinfo', row);
     },
   },
 };

+ 2 - 7
src/layout/enterprise/look.vue

@@ -36,13 +36,9 @@
                 <el-button size="mini" type="text" @click.prevent="success(scope.row)">
                   <el-tooltip class="item" effect="dark" content="审核通过" placement="top-start"><i class="el-icon-refresh"></i></el-tooltip>
                 </el-button>
-
                 <el-button size="mini" type="text" @click.prevent="shibai(scope.row)">
                   <el-tooltip class="item" effect="dark" content="审核拒绝" placement="top-start"><i class="el-icon-refresh"></i></el-tooltip>
                 </el-button>
-                <el-button size="mini" type="text" @click.prevent="deleteRow(scope.row.id)">
-                  <el-tooltip class="item" effect="dark" content="删除" placement="top-start"><i class="el-icon-delete"></i></el-tooltip>
-                </el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -107,11 +103,10 @@ export default {
       this.$emit('shibai', row);
     },
     success(row) {
+      console.log(row);
+
       this.$emit('success', row);
     },
-    deleteRow(id) {
-      this.$emit('deleteRow', id);
-    },
 
     handleSizeChange() {},
     handleCurrentChange(currentPage) {

+ 4 - 3
src/layout/enterprise/xiugai.vue

@@ -6,8 +6,11 @@
           <el-col :span="24" class="leftTop"> <span>|</span> <span>修改密码</span></el-col>
           <el-col :span="24" class="context">
             <el-form ref="form" :model="form" label-width="60px">
+              <el-form-item label="旧密码">
+                <el-input v-model="form.oldpasswd" placeholder="请输入新密码" show-password></el-input>
+              </el-form-item>
               <el-form-item label="新密码">
-                <el-input v-model="form.password" placeholder="请输入新密码" show-password></el-input>
+                <el-input v-model="form.newpasswd" placeholder="请输入新密码" show-password></el-input>
               </el-form-item>
               <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="registerSubmit">修改</el-button></el-col>
             </el-form>
@@ -30,8 +33,6 @@ export default {
   computed: {},
   methods: {
     registerSubmit() {
-      console.log(this.form);
-
       this.$emit('submitDates', { data: this.form });
     },
   },

+ 8 - 0
src/router/index.js

@@ -78,6 +78,14 @@ const live = [
         meta: { title: '动态监测列表', subSite: true },
         component: () => import('../views/dynamic/list.vue'),
       },
+      // 动态监测-交易动态详情
+      {
+        path: '/dynamic/dealDetail',
+        name: 'dynamic_dealDetail',
+        meta: { title: '交易动态详情', subSite: true },
+        component: () => import('../views/dynamic/dealDetail.vue'),
+      },
+
       {
         path: '/technical/index',
         name: 'technical_index',

+ 2 - 0
src/store/index.js

@@ -18,6 +18,7 @@ import markettype from '@common/store/market/markettype';
 import enterpriseproject from '@common/store/market/enterpriseproject';
 import newmarketproduct from '@common/store/market/newmarketproduct';
 import place from '@common/store/place/place';
+import password from '@common/store/market/password';
 
 Vue.use(Vuex);
 
@@ -42,5 +43,6 @@ export default new Vuex.Store({
     enterpriseproject,
     newmarketproduct,
     place,
+    password,
   },
 });

+ 84 - 7
src/views/detail/semDetail.vue

@@ -17,10 +17,26 @@
           </el-col>
           <el-col :span="24" class="chatInfo">
             <el-col :span="24" class="message">
-              显示信息
+              <el-col :span="24" class="info chat_frame" id="chat">
+                <el-col :span="24" v-for="(item, index) in fabiaolist" :key="index" class="list">
+                  <el-col :span="4" class="lefts">
+                    <el-image :src="squareImage" style="width:65%;height: 128px;"></el-image>
+                    <p>
+                      <span>{{ item.name }}</span>
+                    </p></el-col
+                  ><el-col :span="19" class="under">
+                    <p>{{ item.context }}</p>
+                    <p>
+                      <span class="date">{{ item.ceng }}&nbsp;&nbsp;{{ item.date }}&nbsp;&nbsp;{{ item.time }}</span>
+                    </p></el-col
+                  >
+                  <el-col></el-col
+                ></el-col>
+              </el-col>
             </el-col>
             <el-col :span="24" class="input">
-              <wang-editor v-model="inputInfo" ref="editor"></wang-editor>
+              <el-col :span="24" class="title"><i class="el-icon-edit"></i> 发布评论 </el-col>
+              <wang-editor v-model="inputInfo" ref="editor" class="huifu"></wang-editor>
               <el-button type="primary">发布评论</el-button>
             </el-col>
           </el-col>
@@ -43,7 +59,21 @@ export default {
   data: () => ({
     detailinfo: {},
     pic: require('@/assets/live/1.jpg'),
+    squareImage: require('@/assets/live/circle.png'),
     inputInfo: '',
+    fabiaolist: [
+      { name: '测试1', context: 'ddasdadssssssssssssssssssssssssssssssssssssssssssssssssad', ceng: '1楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+      { name: '测试1', context: 'dasdsadasd', ceng: '2楼', time: '23:11', date: '2020-03-05' },
+    ],
   }),
   created() {
     this.search();
@@ -83,13 +113,14 @@ export default {
   width: 100%;
   height: 400px;
   overflow: hidden;
-  border-bottom: 1px solid #ccc;
 }
 .messInfo .left p {
   float: left;
   width: 100%;
   font-size: 18px;
   padding: 5px 0 10px 0;
+  color: gold;
+  letter-spacing: 0;
 }
 .messInfo .left p:nth-child(2) {
   font-weight: bold;
@@ -105,6 +136,9 @@ export default {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   padding: 0 30px;
+  border-bottom: 1px solid red;
+  border-right: 1px solid red;
+  height: 380px;
 }
 .semDetail .chatInfo {
   float: left;
@@ -113,17 +147,60 @@ export default {
 }
 .chatInfo .message {
   float: left;
-  border: 1px solid red;
-  height: 400px;
-  overflow: hidden;
+
+  min-height: 400px;
   margin: 0 0 30px 0;
 }
+.list {
+  border-bottom: 1px solid #fff;
+  border-left: 1px solid #fff;
+  min-height: 200px;
+  background-color: #e5e5e5;
+  /* width: 99.9%; */
+  padding: 15px 0 0 0;
+
+  margin: 1px 0 0 1px;
+}
+.lefts {
+  padding: 20px 0 0 20px;
+}
+.lefts p {
+  text-align: center;
+  width: 70%;
+}
+
+.under {
+  padding: 20px 0 20px 20px;
+  width: 80%;
+  background-color: #fff;
+  min-height: 160px;
+}
+.date {
+  text-align: center;
+  position: relative;
+  width: 100%;
+  font-size: 18px;
+  top: 80px;
+  left: 1050px;
+}
 .chatInfo .input {
   float: left;
-  height: 290px;
+  // height: 290px;
+  height: 340px;
+
   overflow: hidden;
   text-align: center;
   padding: 0 10%;
+  background-color: #e5e5e5;
+}
+.huifu {
+  background-color: #ffffff;
+}
+.title {
+  text-align: left;
+  padding: 5px 0 10px 0;
+  background-color: #e5e5e5;
+  color: #ff7f42;
 }
 .chatInfo .input .el-button {
   margin: 20px 0 0 0;

+ 50 - 0
src/views/dynamic/dealDetail.vue

@@ -0,0 +1,50 @@
+<template>
+  <div id="dealDetail">
+    <el-row>
+      <div class="w_1200">
+        <el-col :span="24" class="main">
+          <el-col :span="24" class="top">
+            <el-steps :active="dealDetails.status" align-center>
+              <el-step title="正在洽谈" description="正在洽谈"></el-step>
+              <el-step title="达成意向" description="达成意向"></el-step>
+              <el-step title="交易完成" description="交易完成"></el-step>
+            </el-steps>
+          </el-col>
+          <el-col :span="message">
+            {{ dealDetails.content }}
+          </el-col>
+        </el-col>
+      </div>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'dealDetail',
+  props: {},
+  components: {},
+  data: () => ({
+    dealDetails: {
+      status: 2,
+      content: '信息',
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+.main {
+  float: left;
+  width: 100%;
+  min-height: 600px;
+  margin: 30px 0;
+}
+</style>

+ 182 - 43
src/views/dynamic/index.vue

@@ -5,24 +5,57 @@
         <div class="w_1200">
           <el-col :span="24" class="dataShow">
             <el-col :span="24" class="top">
-              统计监测
+              <span></span>
             </el-col>
-            <el-col :span="8" class="user">
-              <users></users>
+            <el-col :span="24" class="dataShowInfo">
+              <el-col :span="8" class="left">
+                <el-col :span="1" class="leftTit">
+                  <p>数据展示</p>
+                  <p></p>
+                </el-col>
+                <el-col :span="23" class="leftInfo">
+                  <userTwo></userTwo>
+                </el-col>
+              </el-col>
+              <el-col :span="8" class="center">
+                <maps></maps>
+              </el-col>
+              <el-col :span="8" class="right">
+                <el-col :span="23" class="rightInfo">
+                  信息
+                </el-col>
+                <el-col :span="1" class="rightTit">
+                  <p></p>
+                  <p>数据展示</p>
+                </el-col>
+              </el-col>
             </el-col>
-            <el-col :span="8" class="city">
-              <maps></maps>
-            </el-col>
-            <el-col :span="8" class="data">
-              正在洽谈,达成意向,交易成功
+            <el-col :span="24" class="top down">
+              <span></span>
             </el-col>
           </el-col>
+          <el-col :span="24" class="dataImage">
+            <el-image :src="centerImage"></el-image>
+          </el-col>
           <el-col :span="24" class="dealShow">
             <el-col :span="24" class="top">
-              交易动态
+              <span></span>
             </el-col>
-            <el-col :span="24" class="data">
-              <pie></pie>
+            <el-col :span="24" class="dealInfo">
+              <el-col :span="1" class="dealInfoTit">
+                <p>交易动态</p>
+                <p></p>
+              </el-col>
+              <el-col :span="22" class="dealInfoLeft">
+                <pie></pie>
+              </el-col>
+              <el-col :span="1" class="dealInfoTit dealInfoTitTwo">
+                <p></p>
+                <p>交易动态</p>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="top down">
+              <span></span>
             </el-col>
           </el-col>
         </div>
@@ -32,14 +65,16 @@
 </template>
 
 <script>
-import users from './parts/user.vue';
+import userTwo from './parts/userTwo.vue';
 import pie from './parts/down-pie.vue';
 import maps from './parts/map.vue';
 export default {
   name: 'index',
   props: {},
-  components: { users, pie, maps },
-  data: () => ({}),
+  components: { userTwo, maps, pie },
+  data: () => ({
+    centerImage: require('@/assets/dynamic5.png'),
+  }),
   created() {},
   computed: {},
   methods: {},
@@ -54,67 +89,171 @@ export default {
 .main {
   float: left;
   width: 100%;
-  margin: 20px 0;
+  margin: 40px 0;
   min-height: 600px;
 }
 .dataShow {
   float: left;
   width: 100%;
-  height: 500px;
+  height: 709px;
   overflow: hidden;
   margin: 0 0 30px 0;
-  border: 1px solid red;
 }
 .dataShow .top {
   float: left;
   width: 100%;
-  height: 40px;
-  line-height: 40px;
+  height: 1px;
+}
+.dataShow .top span {
+  float: right;
+  width: 30%;
+  height: 1px;
+  background: #9cb9cb;
+}
+.dataShow .down span {
+  float: left;
+  width: 35%;
+  height: 1px;
+  background: #9cb9cb;
+}
+.dataShow .dataShowInfo {
+  float: left;
+  width: 100%;
+  height: 707px;
+}
+.dataShow .dataShowInfo .left {
+  float: left;
+  width: 33%;
+  height: 707px;
+}
+.dataShow .dataShowInfo .left p:first-child {
+  float: left;
+  width: 100%;
+  height: 100px;
   font-size: 18px;
-  padding: 0 15px;
+  color: #003e70;
   font-weight: bold;
 }
-.dataShow .user {
-  width: 32%;
-  height: 460px;
-  overflow: hidden;
-  border: 1px solid red;
-  margin: 0 30px 0 0;
+.dataShow .dataShowInfo .left p:last-child {
+  float: left;
+  width: 2px;
+  height: 606px;
+  background: #003e70;
+  margin: 0;
+  position: relative;
+  left: 5px;
 }
-.dataShow .city {
-  width: 32%;
-  height: 460px;
-  overflow: hidden;
+.dataShow .dataShowInfo .center {
+  float: left;
+  width: 33%;
+  height: 707px;
   border: 1px solid red;
-  margin: 0 30px 0 0;
 }
-.dataShow .data {
-  width: 32%;
-  height: 460px;
-  overflow: hidden;
+.dataShow .dataShowInfo .right {
+  float: left;
+  width: 34%;
+  height: 707px;
   border: 1px solid red;
+}
+.dataShow .dataShowInfo .right p:first-child {
+  float: left;
+  width: 2px;
+  height: 606px;
+  background: #003e70;
   margin: 0;
+  position: relative;
+  left: 5px;
+}
+.dataShow .dataShowInfo .right p:last-child {
+  float: left;
+  width: 100%;
+  height: 100px;
+  font-size: 18px;
+  color: #003e70;
+  font-weight: bold;
+}
+.dataImage {
+  float: left;
+  width: 100%;
+  height: 160px;
+  margin: 20px 0;
+  overflow: hidden;
+}
+.dataImage .el-image {
+  width: 100%;
+  height: 160px;
 }
 .dealShow {
   float: left;
   width: 100%;
   height: 500px;
   overflow: hidden;
-  border: 1px solid blue;
 }
 .dealShow .top {
   float: left;
   width: 100%;
-  height: 40px;
-  line-height: 40px;
+  height: 1px;
+}
+.dealShow .top span {
+  float: right;
+  width: 30%;
+  height: 1px;
+  background: #9cb9cb;
+}
+.dealShow .down span {
+  float: left;
+  width: 35%;
+  height: 1px;
+  background: #9cb9cb;
+}
+.dealShow .dealInfo {
+  float: left;
+  width: 100%;
+  height: 496px;
+}
+.dealShow .dealInfo .dealInfoTit {
+  width: 20px;
+  height: 496px;
+}
+.dealShow .dealInfo .dealInfoTit p:first-child {
+  float: left;
+  width: 100%;
+  height: 100px;
   font-size: 18px;
-  padding: 0 15px;
+  color: #003e70;
   font-weight: bold;
 }
-.dealShow .data {
-  height: 460px;
-  overflow: hidden;
-  border: 1px solid red;
+.dealShow .dealInfo .dealInfoTit p:last-child {
+  float: left;
+  width: 2px;
+  height: 395px;
+  background: #003e70;
   margin: 0;
+  position: relative;
+  left: 5px;
+}
+.dealShow .dealInfo .dealInfoTitTwo p:first-child {
+  float: left;
+  width: 2px;
+  height: 395px;
+  background: #003e70;
+  margin: 0;
+  position: relative;
+  left: 10px;
+}
+.dealShow .dealInfo .dealInfoTitTwo p:last-child {
+  float: left;
+  width: 100%;
+  height: 100px;
+  font-size: 18px;
+  color: #003e70;
+  font-weight: bold;
+  background: transparent;
+}
+.dealShow .dealInfo .dealInfoLeft {
+  width: 95%;
+  height: 495px;
+  margin: 0 15px;
+  padding: 45px 0;
 }
 </style>

+ 43 - 2
src/views/dynamic/parts/down-pie.vue

@@ -1,6 +1,31 @@
 <template>
   <div id="down-pie">
-    <div id="chartPie" class="" style="height:450px;"></div>
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="12">
+          <div id="chartPie" class="" style="height:450px;"></div>
+        </el-col>
+        <el-col :span="12" class="rightData">
+          <el-table :data="tableData" border style="width: 100%">
+            <el-table-column prop="product_name" label="产品名称" align="center"> </el-table-column>
+            <el-table-column prop="market_username" label="营销单位" align="center"> </el-table-column>
+            <el-table-column prop="username" label="采购单位" align="center"> </el-table-column>
+            <el-table-column prop="status" label="交易状态" align="center">
+              <template v-slot="scoped">
+                {{ `${scoped.row.status}` === `0` ? '正在洽谈' : `${scoped.row.status}` === `1` ? '达成意向' : '交易完成' }}
+              </template>
+            </el-table-column>
+            <el-table-column label="操作" width="100" align="center">
+              <template slot-scope="scoped">
+                <el-button @click="$router.push({ path: '/dynamic/dealDetail', query: { id: scoped.row.id } })" type="text" size="small">
+                  <i class="el-icon-view"></i>
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
@@ -25,6 +50,7 @@ export default {
     return {
       myChart: null,
       type: 'pie',
+      tableData: [],
     };
   },
   created() {
@@ -37,9 +63,12 @@ export default {
       let res = await this.query();
       let rooms = await this.countRoom();
       if (this.$checkRes(res)) {
+        let arr = _.chunk(res.data, 6);
+        this.$set(this, `tableData`, arr[0]);
         let taking = rooms.errcode == 0 ? rooms.total : 0;
         let s1 = res.data.filter(f => f.status == '1'); //达成意向
         let s2 = res.data.filter(f => f.status == '2'); //对接完成
+
         let s3 = res.data.filter(f => f.status == '3'); //未达成意向
         this.myChart = echarts.init(document.getElementById('chartPie'));
         const option = {
@@ -88,4 +117,16 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.rightData {
+  padding: 0 30px;
+  height: 391px;
+  overflow: hidden;
+}
+/deep/.el-table td {
+  padding: 8px 0;
+}
+/deep/.el-table th {
+  padding: 8px 0;
+}
+</style>

+ 102 - 0
src/views/dynamic/parts/userTwo.vue

@@ -0,0 +1,102 @@
+<template>
+  <div id="userTwo">
+    <el-row>
+      <el-col :span="24" class="userTwo">
+        <el-col :span="12" class="left">
+          <el-col :span="24" class="one">
+            <el-image style="width:166px;height:166px;" :src="dynamic1"></el-image>
+            <p>企业注册数量</p>
+            <p>{{ detail.num1 }}</p>
+          </el-col>
+          <el-col :span="24" class="one two">
+            <el-image style="width:166px;height:166px;" :src="dynamic2"></el-image>
+            <p>个人注册数量</p>
+            <p>{{ detail.num2 }}</p>
+          </el-col>
+        </el-col>
+        <el-col :span="12" class="left right">
+          <el-col :span="24" class="one">
+            <el-image style="width:166px;height:166px;" :src="dynamic3"></el-image>
+            <p>在线人数</p>
+            <p>{{ detail.num3 }}</p>
+          </el-col>
+          <el-col :span="24" class="one two">
+            <el-image style="width:166px;height:166px;" :src="dynamic4"></el-image>
+            <p>企业项目数量</p>
+            <p>{{ detail.num4 }}</p>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'userTwo',
+  props: {},
+  components: {},
+  data: () => ({
+    dynamic1: require('@/assets/dynamic1.png'),
+    dynamic2: require('@/assets/dynamic2.png'),
+    dynamic3: require('@/assets/dynamic3.png'),
+    dynamic4: require('@/assets/dynamic4.png'),
+    detail: {
+      num1: 1,
+      num2: 2,
+      num3: 3,
+      num4: 4,
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.userTwo {
+  float: left;
+  width: 100%;
+}
+.userTwo .left {
+  width: 50%;
+}
+.userTwo .left .one {
+  float: left;
+  width: 212px;
+  height: 212px;
+  overflow: hidden;
+  border-radius: 10px;
+  box-shadow: 0 0 5px #ccc;
+  text-align: center;
+  padding: 20px 0;
+  position: relative;
+  margin: 40px 0 0 15px;
+}
+
+.userTwo .left .one p:nth-child(2) {
+  position: absolute;
+  top: 80px;
+  font-size: 14px;
+  color: #346da4;
+  font-weight: bold;
+  left: 60px;
+  text-align: center;
+  width: 86px;
+}
+.userTwo .left .one p:nth-child(3) {
+  position: absolute;
+  top: 110px;
+  left: 60px;
+  font-size: 14px;
+  color: #346da4;
+  font-weight: bold;
+  text-align: center;
+  width: 86px;
+}
+.userTwo .right {
+  width: 50%;
+  margin: 110px 0 0 0;
+}
+</style>

+ 51 - 6
src/views/enterprise/appointment.vue

@@ -4,9 +4,15 @@
       :liebiaoList="liebiaoList"
       @query="search"
       :total="total"
-      @deleteRow="deleteRow"
       :resultTable="resultTable"
       @onsave="onsaveClick"
+      @success="success"
+      @shibai="shibai"
+      :limit="limit"
+      @handleCurrentChange="handleCurrentChange"
+      :pageSize="pageSize"
+      :display="display"
+      @searchinfo="look"
     ></appointment-detail>
   </div>
 </template>
@@ -15,7 +21,9 @@
 import appointmentDetail from '@/components/enterprise/appointment.vue';
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: apply } = createNamespacedHelpers('apply');
 const { mapActions: login } = createNamespacedHelpers('login');
+
 export default {
   name: 'adviserList',
   props: {},
@@ -24,7 +32,11 @@ export default {
   },
   data: () => ({
     total: 0,
+    limit: 4,
+    pageSize: 4,
     info: {},
+    datas: {},
+    display: 'list',
     liebiaoList: [
       { name: '基本信息' },
       { name: '消息管理' },
@@ -46,6 +58,7 @@ export default {
   },
   methods: {
     ...dock(['query', 'delete', 'update']),
+    ...apply({ applyupdate: 'update' }),
     ...login({ logout: 'logout', transactiondtetle: 'delete' }),
     //查询
     async search({ skip = 0, limit = 4 } = { skip: 0, limit: 4 }) {
@@ -56,10 +69,24 @@ export default {
       console.log();
     },
 
-    search1({ skip, limit }) {
-      console.log(skip);
+    //查询
+    async searchinfo({ skip = 0, limit = 4, currentPage } = { skip: 0, limit: 4 }) {
+      this.display = 'dadad';
+      this.$set(this, `total`, this.datas.apply.length);
+      const newProducts = [];
+      for (let index = skip; index < skip + limit; index++) {
+        if (this.datas.apply[index]) {
+          newProducts.push(this.datas.apply[index]);
+        }
+      }
+      this.$set(this, `resultTable`, newProducts);
     },
 
+    look(row) {
+      this.display = 'dadad';
+      this.$set(this, `datas`, row);
+      this.searchinfo();
+    },
     async onsaveClick({ id }) {
       console.log(id);
       if (id === '基本信息') {
@@ -89,10 +116,28 @@ export default {
     async toLogin() {
       this.$router.push({ path: '/' });
     },
+    handleCurrentChange({ currentPage }) {
+      this.searchinfo({ skip: (currentPage - 1) * this.pageSize, limit: this.pageSize, currentPage });
+      console.log(currentPage);
+    },
+    async success(row) {
+      row.status = '1';
+      console.log(this.datas);
+      row.dock_id = this.datas.id;
+      row.id = row._id;
+      console.log(row);
 
-    async deleteRow(id) {
-      const res = await this.delete(id);
-      if (this.$checkRes(res, '删除成功', res.errmsg || '删除失败')) this.search();
+      let res = await this.applyupdate(row);
+      this.$checkRes(res, '通过审核', '添加失败');
+    },
+    async shibai(row) {
+      row.status = '2';
+      console.log(this.datas);
+      row.dock_id = this.datas.id;
+      row.id = row._id;
+      console.log(row);
+      let res = await this.applyupdate(row);
+      this.$checkRes(res, '审核拒绝', '添加失败');
     },
   },
 };

+ 2 - 0
src/views/enterprise/look.vue

@@ -11,6 +11,7 @@
       :total="total"
       @handleCurrentChange="handleCurrentChange"
       :pageSize="pageSize"
+      :display="display"
     ></look-detail>
   </div>
 </template>
@@ -29,6 +30,7 @@ export default {
   data: () => ({
     total: 0,
     limit: 4,
+    display: 'list',
     pageSize: 4,
     info: {},
     liebiaoList: [

+ 12 - 6
src/views/enterprise/xiugai.vue

@@ -8,7 +8,7 @@
 import xiugaiDetail from '@/components/enterprise/xiugai.vue';
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: mapSite } = createNamespacedHelpers('site');
-const { mapActions: mapMarket } = createNamespacedHelpers('market');
+const { mapActions: password } = createNamespacedHelpers('password');
 const { mapActions: login } = createNamespacedHelpers('login');
 export default {
   name: 'adviserList',
@@ -36,9 +36,8 @@ export default {
   },
   methods: {
     ...login({ logout: 'logout', transactiondtetle: 'delete' }),
-    ...mapMarket({ userFetch: 'fetch', userCreate: 'create', userUpdate: 'update' }),
-    async onsaveClick({ id }) {
-      console.log(id);
+    ...password({ userFetch: 'fetch', userCreate: 'create', userUpdate: 'update' }),
+    onsaveClick({ id }) {
       if (id === '基本信息') {
         this.$router.push({ path: '/enterprise/enterprisejb' });
       } else if (id === '消息管理') {
@@ -68,8 +67,15 @@ export default {
     async submit({ data }) {
       data.id = this.user.uid;
       let res = await this.userUpdate(data);
-      let msg = `修改成功`;
-      this.$checkRes(res, msg);
+      if (res.errcode === 0) {
+        this.$message({
+          message: '密码修改成功',
+          type: 'success',
+        });
+        this.$router.push({ path: '/login' });
+      } else {
+        this.$message.error('密码修改失败');
+      }
     },
   },
 };

+ 2 - 2
src/views/login.vue

@@ -28,9 +28,9 @@ export default {
     async submitLogin(form) {
       let res = await this.toLogin({ user: form });
       if (res.uid) {
-        if (res.role == '2' || res.role == '3') this.$router.push('/market/index');
+        if (res.role == '2' || res.role == '3') this.$router.push('/enterprise/enterprisejb');
         else if (res.role == '5') this.$router.push('/hallList/index');
-        else this.$router.push('/enterprise/enterprisejb');
+        else this.$router.push('/market/index');
       }
     },
     async submitRegister(forms) {

+ 8 - 3
src/views/service/index.vue

@@ -46,7 +46,7 @@
 </template>
 
 <script>
-import { mapState, createNamespacedHelpers } from 'vuex';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 export default {
   name: 'index',
   props: {},
@@ -145,8 +145,13 @@ export default {
       if (item.title == '智慧推荐') {
       } else if (item.title == '展会预约') {
         console.log('d');
-
-        this.$router.push({ path: '/exhibition/appointment' });
+        if (this.user.role == 2 || this.user.role == 3) {
+          this.$router.push({ path: '/enterprise/appointment' });
+        } else if (this.user == undefined) {
+          this.$router.push({ path: '/login' });
+        } else {
+          this.$router.push({ path: '/login' });
+        }
       } else if (item.title == '科技评估') {
       } else if (item.title == '合同在线') {
       } else if (item.title == '信誉认证') {