guhongwei 4 年之前
父節點
當前提交
0abac2b9c6

+ 3 - 1
src/layout/live/head.vue

@@ -16,7 +16,7 @@
                 type="text"
                 class="userCenter"
                 @click="stnmae"
-                v-if="user.role == '2' || user.role == '3' || user.role == '4' || user.role == '6' || user.role == '7'"
+                v-if="user.role == '2' || user.role == '3' || user.role == '4' || user.role == '6' || user.role == '7' || user.role == '9'"
               >
                 个人中心
               </button>
@@ -111,6 +111,8 @@ export default {
         this.$router.push('/hallList/index');
       } else if (this.user.role == '4') {
         this.$router.push({ path: '/adminCenter/index', query: { num: '1' } });
+      } else if (this.user.role == '9') {
+        this.$router.push({ path: '/vipCenter/index', query: { num: '1' } });
       } else {
         this.$router.push('/market/index');
       }

+ 37 - 1
src/layout/login/loginMain.vue

@@ -14,7 +14,7 @@
                   <el-form-item label="登录密码">
                     <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
                   </el-form-item>
-                  <el-form-item label="用户类别">
+                  <!-- <el-form-item label="用户类别">
                     <el-radio-group v-model="form.role">
                       <el-radio label="7">临时用户</el-radio>
                       <el-radio label="2">个人用户</el-radio>
@@ -23,6 +23,11 @@
                       <el-radio label="8">VIP用户</el-radio>
                       <el-radio label="4">管理用户</el-radio>
                     </el-radio-group>
+                  </el-form-item> -->
+                  <el-form-item label="用户类别">
+                    <el-select v-model="form.role" placeholder="请选择用户类别">
+                      <el-option v-for="item in roleList" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+                    </el-select>
                   </el-form-item>
                   <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="loginSubmit">登录</el-button></el-col>
                 </el-form>
@@ -242,6 +247,37 @@ export default {
       paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
       remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
     },
+    // 用户类型
+    roleList: [
+      {
+        value: '7',
+        label: '临时用户',
+      },
+      {
+        value: '2',
+        label: '个人用户',
+      },
+      {
+        value: '3',
+        label: '机构用户',
+      },
+      {
+        value: '6',
+        label: '专家用户',
+      },
+      {
+        value: '8',
+        label: 'VIP用户',
+      },
+      {
+        value: '9',
+        label: '展会VIP用户',
+      },
+      {
+        value: '4',
+        label: '管理用户',
+      },
+    ],
   }),
   created() {},
   computed: {},

+ 122 - 0
src/layout/vipCenter/menuInfo.vue

@@ -0,0 +1,122 @@
+<template>
+  <div id="menuInfo">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-image :src="topUrl"></el-image>
+          <span>个人中心</span>
+        </el-col>
+        <el-col :span="24">
+          <el-menu :default-active="num" @select="selectMenu" text-color="#999" active-text-color="#044b79">
+            <!-- <el-menu-item :index="index + ''" v-for="(item, index) in menu" :key="index">
+              <template slot="title">
+                <i class="el-icon-tickets"></i>
+                <span>{{ item.title }}</span>
+              </template>
+            </el-menu-item> -->
+            <el-menu-item index="1">
+              <template slot="title">
+                <i class="el-icon-tickets"></i>
+                <span>基本信息</span>
+              </template>
+            </el-menu-item>
+            <el-menu-item index="2">
+              <template slot="title">
+                <i class="el-icon-notebook-1"></i>
+                <span>统计报表</span>
+              </template>
+            </el-menu-item>
+            <el-menu-item index="3">
+              <template slot="title">
+                <i class="el-icon-video-camera"></i>
+                <span>修改密码</span>
+              </template>
+            </el-menu-item>
+            <el-menu-item index="4">
+              <template slot="title">
+                <i class="el-icon-circle-close"></i>
+                <span>退出登录</span>
+              </template>
+            </el-menu-item>
+          </el-menu>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: login } = createNamespacedHelpers('login');
+const { mapActions: personalChat } = createNamespacedHelpers('personalchat');
+export default {
+  name: 'menuInfo',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      topUrl: require('@/assets/live/square_big.png'),
+      num: '1',
+      haveMsg: false,
+    };
+  },
+  created() {
+    this.$set(this, `num`, this.$route.query.num);
+  },
+  mounted() {},
+  methods: {
+    ...login({ logout: 'logout', transactiondtetle: 'delete' }),
+    // 菜单跳转
+    selectMenu(key) {
+      if (key == '4') {
+        this.logout();
+        this.$message({
+          message: '退出登录成功',
+          type: 'success',
+        });
+        this.$router.push({ path: '/newlogin' });
+      } else {
+        this.$router.push({ path: '/vipCenter/index', query: { num: key } });
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  height: 50px;
+  line-height: 50px;
+  text-align: center;
+  border-bottom: 1px solid #2d64b3;
+  .el-image {
+    float: left;
+    padding: 10px 40px;
+    width: 30px;
+    height: 30px;
+  }
+  span {
+    font-size: 24px;
+    color: #92959a;
+    font-weight: 600;
+    float: left;
+    text-align: left;
+  }
+}
+/deep/.el-menu-item {
+  font-weight: bold;
+  font-size: 20px;
+  text-align: center;
+  border-bottom: 1px solid #2d64b3;
+  margin: 0 20px;
+}
+</style>

+ 22 - 7
src/views/adminCenter/dockInfo/index.vue

@@ -15,6 +15,7 @@
               @query="search"
               @share="share"
               @order="order"
+              @vipAdd="vipAdd"
             ></data-table>
           </span>
           <span v-else-if="display == '2'">
@@ -26,6 +27,9 @@
           <span v-else-if="display == '4'">
             <dockStatus @back="back" :dockid="dockid"></dockStatus>
           </span>
+          <span v-else-if="display == '5'">
+            <dockVip @back="back" :dockid="dockid"></dockVip>
+          </span>
         </el-col>
       </el-col>
     </el-row>
@@ -38,6 +42,7 @@ import dataTable from '@/components/data-table.vue';
 import dockEdit from './parts/dockEdit.vue';
 import dockShare from './parts/dockShare.vue';
 import dockStatus from './parts/dockStatus.vue';
+import dockVip from './parts/dockVip.vue';
 const { mapActions: dock } = createNamespacedHelpers('dock');
 const { mapActions: place } = createNamespacedHelpers('place');
 const { mapActions: authUser } = createNamespacedHelpers('authUser');
@@ -50,6 +55,7 @@ export default {
     dockEdit,
     dockShare,
     dockStatus,
+    dockVip,
   },
   data: function() {
     return {
@@ -75,7 +81,11 @@ export default {
             return item.is_allowed == '1' ? true : false;
           },
         },
-
+        {
+          label: 'VIP用户',
+          icon: 'el-icon-user',
+          method: 'vipAdd',
+        },
         {
           label: '删除',
           icon: 'el-icon-delete',
@@ -141,19 +151,24 @@ export default {
       this.$set(this, `total`, res.total);
     },
     // 修改
-    toEdit() {
+    toEdit({ data }) {
       this.display = '2';
-      this.$set(this, `dockid`, this.list[0].id);
+      this.$set(this, `dockid`, data.id);
     },
     // 申请
-    share() {
+    share({ data }) {
       this.display = '3';
-      this.$set(this, `dockid`, this.list[0].id);
+      this.$set(this, `dockid`, data.id);
     },
     // 开始审核
-    order() {
+    order({ data }) {
       this.display = '4';
-      this.$set(this, `dockid`, this.list[0].id);
+      this.$set(this, `dockid`, data.id);
+    },
+    // 添加vip用户
+    vipAdd({ data }) {
+      this.display = '5';
+      this.$set(this, `dockid`, data.id);
     },
     // 删除
     async toDelete({ data }) {

+ 158 - 0
src/views/adminCenter/dockInfo/parts/dockVip.vue

@@ -0,0 +1,158 @@
+<template>
+  <div id="dockVip">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="back">
+          <el-button type="primary" size="mini" @click="add()">添加</el-button>
+          <el-button type="primary" size="mini" @click="back()">返回</el-button>
+        </el-col>
+        <el-col :span="24" class="info">
+          <data-table :fields="fields" @delete="toDelete" :data="list" :opera="opera" @edit="toEdit" :total="total" @query="search"></data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="Vip用户管理" :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
+      <el-form :model="form">
+        <el-form-item label="用户名" :label-width="formLabelWidth">
+          <el-input v-model="form.vipname" autocomplete="off" placeholder="请输入用户名"></el-input>
+        </el-form-item>
+        <el-form-item label="手机号" :label-width="formLabelWidth">
+          <el-input v-model="form.vipphone" autocomplete="off" maxlength="11" placeholder="请输入手机号"></el-input>
+        </el-form-item>
+        <el-form-item label="密码" :label-width="formLabelWidth">
+          <el-input v-model="form.password" autocomplete="off" placeholder="请输入密码" show-password></el-input>
+        </el-form-item>
+        <el-form-item label="单位名称" :label-width="formLabelWidth">
+          <el-input v-model="form.company" autocomplete="off" placeholder="请输入单位名称"></el-input>
+        </el-form-item>
+        <el-form-item label="邮箱" :label-width="formLabelWidth">
+          <el-input v-model="form.email" autocomplete="off" placeholder="请输入邮箱"></el-input>
+        </el-form-item>
+        <el-form-item label="简介" :label-width="formLabelWidth">
+          <el-input v-model="form.content" type="textarea" autocomplete="off" placeholder="请输入简介"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer" style="text-align:center;">
+        <el-button type="primary" @click="dialogVisible = false">取 消</el-button>
+        <el-button type="success" @click="onSubmit">保 存</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+import dataTable from '@/components/data-table.vue';
+const { mapActions: apply } = createNamespacedHelpers('apply');
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: authUser } = createNamespacedHelpers('authUser');
+export default {
+  name: 'dockVip',
+  props: {
+    dockid: null,
+  },
+  components: {
+    dataTable,
+  },
+  data: function() {
+    return {
+      opera: [
+        {
+          label: '修改',
+          icon: 'el-icon-edit',
+          method: 'edit',
+        },
+        {
+          label: '刪除',
+          icon: 'el-icon-delete',
+          method: 'delete',
+        },
+      ],
+      fields: [
+        { label: '联系人', prop: 'vipname' },
+        { label: '联系人电话', prop: 'vipphone' },
+        { label: '单位名称', prop: 'company' },
+        { label: '邮箱', prop: 'email' },
+        { label: '简介', prop: 'content' },
+      ],
+      list: [],
+      total: 0,
+      dialogVisible: false,
+      form: {},
+      formLabelWidth: '100px',
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...apply(['query', 'delete', 'update']),
+    ...dock({ dockFetch: 'fetch' }),
+    ...authUser({ authUserQuery: 'query' }),
+    async search() {
+      if (this.dockid) {
+        let res = await this.dockFetch(this.dockid);
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data.apply);
+          this.$set(this, `total`, res.data.apply.length);
+        }
+      }
+    },
+    // 添加
+    add() {
+      this.dialogVisible = true;
+    },
+    // 保存
+    async onSubmit() {
+      if (this.form._id) {
+        alert('修改');
+      } else {
+        const authUserList = await this.authUserQuery();
+        let r = authUserList.data.some(f => f.phone == this.form.vipphone);
+        if (r) {
+          this.$message({
+            message: '手机号已经被注册,请重新输入',
+            type: 'warning',
+          });
+        } else {
+          console.log(this.form);
+        }
+      }
+    },
+    // 关闭
+    handleClose(done) {
+      done();
+    },
+    // 修改
+    toEdit({ data }) {
+      this.dialogVisible = true;
+      this.$set(this, `form`, data);
+      console.log(data);
+    },
+    // 刪除
+    toDelete() {
+      console.log('刪除');
+    },
+    // 返回
+    back() {
+      this.$emit('back');
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.back {
+  text-align: right;
+  margin: 0 0 10px 0;
+}
+</style>

+ 32 - 15
src/views/hall/direct.vue

@@ -6,16 +6,6 @@
           <div class="w_1200">
             <el-col :span="24" class="title">
               {{ title }}
-              <!-- <el-col :span="8" class="userper" v-if="this.user.uid">
-                <span style="padding:0 10px 0 0 "> {{ user.name }}</span>
-                <span
-                  v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6'"
-                  @click="$router.push({ path: '/userCenter/index', query: { num: 1 } })"
-                >
-                  个人中心
-                </span>
-                <span v-if="this.user.role == '4'" @click="$router.push({ path: '/adminCenter/index', query: { num: 1 } })">管理中心</span>
-              </el-col> -->
             </el-col>
             <el-col :span="24" class="zhuban">
               <span>主办方:</span>
@@ -303,11 +293,7 @@
                   <el-col :span="24" class="two">
                     <el-col :span="12" class="twoList" v-for="(item, index) in expertList" :key="index">
                       <el-col :span="4" class="image">
-                        <el-image
-                          :src="item.img_path"
-                          style="height: 92px;
-"
-                        ></el-image>
+                        <el-image :src="item.img_path" style="height: 92px;"></el-image>
                       </el-col>
                       <el-col :span="20" class="info">
                         <p>
@@ -394,6 +380,26 @@
       <div class="pz_down">
         <live-foot></live-foot>
       </div>
+      <el-col :span="24" class="nameShow">
+        <div class="w_1200">
+          <el-col :span="24" v-if="this.user.uid">
+            <span>{{ user.name }}</span>
+            <el-button
+              type="info"
+              size="mini"
+              v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6'"
+              @click="$router.push({ path: '/userCenter/index', query: { num: 1 } })"
+              >个人中心</el-button
+            >
+            <el-button type="info" size="mini" v-else-if="this.user.role == '4'" @click="$router.push({ path: '/adminCenter/index', query: { num: 1 } })"
+              >管理中心</el-button
+            >
+            <el-button type="info" size="mini" v-else-if="this.user.role == '9'" @click="$router.push({ path: '/vipCenter/index', query: { num: 1 } })"
+              >管理中心</el-button
+            >
+          </el-col>
+        </div>
+      </el-col>
     </el-row>
     <el-dialog title="信息详情" :visible.sync="dialogVisible" width="50%" :before-close="handleClose">
       <directDetail :directInfo="directInfo"></directDetail>
@@ -1450,4 +1456,15 @@ export default {
     margin: 6px 0 0 0;
   }
 }
+.nameShow {
+  position: fixed;
+  top: 15px;
+  text-align: right;
+  span {
+    color: #fff;
+    font-weight: bold;
+    font-size: 16px;
+    padding: 0 10px;
+  }
+}
 </style>

+ 111 - 0
src/views/vipCenter/basicInfo/index.vue

@@ -0,0 +1,111 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>基本信息</span> </el-col>
+        <el-col :span="24" class="info">
+          <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+            <el-form-item label="用户名" prop="adminuser">
+              <el-input v-model="form.adminuser" placeholder="请输入用户名"></el-input>
+            </el-form-item>
+            <el-form-item label="手机号" prop="phone">
+              <el-input v-model="form.phone" placeholder="请输入用户名" disabled></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="submitForm('form')">保存</el-button>
+              <el-button @click="resetForm('form')">重置</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: authUser } = createNamespacedHelpers('authUser');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      form: {},
+      rules: {
+        adminuser: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+      },
+    };
+  },
+  created() {
+    this.searchInfo();
+  },
+  methods: {
+    ...dock({ dockQuery: 'query', dockFetch: 'fetch', dockUpdate: 'update' }),
+    ...authUser({ authUserFetch: 'fetch', authUserUpdate: 'update' }),
+    async searchInfo() {
+      if (this.user.uid) {
+        let res = await this.dockQuery(this.user.uid);
+        if (this.$checkRes(res)) {
+          for (const val of res.data) {
+            this.$set(this, `form`, val);
+          }
+        }
+      }
+    },
+    async submitForm() {
+      let res = await this.dockUpdate(this.form);
+      if (this.$checkRes(res)) {
+        let data = {};
+        data.id = this.user.uid;
+        data.name = this.form.adminuser;
+        let arr = await this.authUserUpdate(data);
+        if (this.$checkRes(arr)) {
+          this.$message({
+            message: '修改信息成功',
+            type: 'success',
+          });
+        } else {
+          this.$message({
+            message: '修改信息失败',
+            type: 'error',
+          });
+        }
+      }
+      this.searchInfo();
+    },
+    resetForm() {
+      this.form.adminuser = '';
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.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;
+}
+.info {
+  padding: 0 40px 0 0;
+}
+</style>

+ 71 - 3
src/views/vipCenter/index.vue

@@ -1,15 +1,58 @@
 <template>
   <div id="index">
-    <p>vip用户中心</p>
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <heads></heads>
+        </el-col>
+        <el-col :span="24" class="main">
+          <div class="w_1200">
+            <el-col :span="4" class="mainMenu">
+              <menuInfo></menuInfo>
+            </el-col>
+            <el-col :span="19" class="mainMess">
+              <span v-if="num == '1'">
+                <basicInfo></basicInfo>
+              </span>
+              <span v-else-if="num == '2'">
+                <statisInfo></statisInfo>
+              </span>
+              <span v-else-if="num == '3'">
+                <password></password>
+              </span>
+              <span v-else>
+                退出登录
+              </span>
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="foot">
+          <foot></foot>
+        </el-col>
+      </el-col>
+    </el-row>
   </div>
 </template>
 
 <script>
+import heads from '@/layout/userCenter/heads.vue';
+import menuInfo from '@/layout/vipCenter/menuInfo.vue';
+import foot from '@/layout/live/foot.vue';
+import basicInfo from './basicInfo/index.vue';
+import statisInfo from './statisInfo/index.vue';
+import password from './password/index.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    heads,
+    menuInfo,
+    foot,
+    basicInfo, //个人中心
+    statisInfo, //统计报表
+    password, //修改密码
+  },
   data: function() {
     return {};
   },
@@ -17,6 +60,9 @@ export default {
   methods: {},
   computed: {
     ...mapState(['user']),
+    num() {
+      return this.$route.query.num;
+    },
     pageTitle() {
       return `${this.$route.meta.title}`;
     },
@@ -27,4 +73,26 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+.info {
+  background-color: #e9edf6;
+}
+.main {
+  min-height: 600px;
+  margin: 15px 0;
+}
+.mainMenu {
+  width: 20%;
+  min-height: 600px;
+  background-color: #fff;
+}
+.mainMess {
+  float: right;
+  min-height: 600px;
+  background-color: #fff;
+}
+</style>

+ 98 - 0
src/views/vipCenter/password/index.vue

@@ -0,0 +1,98 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>修改密码</span> </el-col>
+        <el-col :span="24" class="info">
+          <el-form :model="form" :rules="rules" ref="form" label-width="100px">
+            <el-form-item label="旧密码" prop="oldpasswd">
+              <el-input v-model="form.oldpasswd" placeholder="请输入旧密码" show-password></el-input>
+            </el-form-item>
+            <el-form-item label="新密码" prop="newpasswd">
+              <el-input v-model="form.newpasswd" placeholder="请输入新密码" show-password></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button @click="resetForm('form')">取消</el-button>
+              <el-button type="primary" @click="submitForm('form')">提交</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: password } = createNamespacedHelpers('password');
+const { mapActions: login } = createNamespacedHelpers('login');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      form: {},
+      rules: {
+        oldpasswd: [{ required: true, message: '请输入旧密码', trigger: 'blur' }],
+        newpasswd: [{ required: true, message: '请输入新密码', trigger: 'blur' }],
+      },
+    };
+  },
+  created() {},
+  methods: {
+    ...login({ logout: 'logout', transactiondtetle: 'delete' }),
+    ...password({ userFetch: 'fetch', userCreate: 'create', userUpdate: 'update' }),
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+    async submitForm(formName) {
+      this.$refs[formName].validate(async valid => {
+        if (valid) {
+          this.form.id = this.user.uid;
+          let res = await this.userUpdate(this.form);
+          if (res.errcode === 0) {
+            this.$message({
+              message: '密码修改成功',
+              type: 'success',
+            });
+            this.logout();
+            this.$router.push({ path: '/newlogin' });
+          } else {
+            this.$message.error('密码修改失败');
+          }
+        } else {
+          return false;
+        }
+      });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.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;
+}
+.info {
+  padding: 40px 40px 0 0;
+}
+</style>

+ 53 - 0
src/views/vipCenter/statisInfo/index.vue

@@ -0,0 +1,53 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="leftTop"> <span>|</span> <span>统计报表</span> </el-col>
+        <el-col :span="24" class="info">
+          统计报表
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.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;
+}
+.info {
+  padding: 0 40px 0 0;
+}
+</style>