Browse Source

Merge branch 'master' of http://git.cc-lotus.info/service-platform/mobile-official into master

wxy 4 years ago
parent
commit
b47724333d

+ 0 - 104
src/layout/duijiehui/detail.vue

@@ -1,104 +0,0 @@
-<template>
-  <div id="person">
-    <el-col :span="24" class="info">
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px" class="demo-ruleForm">
-        <el-form-item label="对接会标题" prop="title">
-          <el-input v-model="form.title" placeholder="请输入对接会标题"></el-input>
-        </el-form-item>
-        <el-form-item label="开始时间">
-          <el-date-picker v-model="form.start_time" type="datetime" placeholder="请选择开始时间" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="结束时间">
-          <el-date-picker v-model="form.end_time" type="datetime" placeholder="请选择结束时间" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="报名截止时间">
-          <el-date-picker v-model="form.join_end" type="datetime" placeholder="请选择报名截止时间" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="省份">
-          <el-select v-model="form.province" placeholder="请选择省份" @change="changeshenge">
-            <el-option v-for="item in option" :key="item.code" :label="item.name" :value="item.code"> </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="市区">
-          <el-select v-model="form.place" placeholder="请选择市">
-            <el-option v-for="item in options" :key="item.code" :label="item.name" :value="item.code"> </el-option>
-          </el-select>
-        </el-form-item>
-        <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" maxlength="11" placeholder="请输入手机号"> </el-input>
-        </el-form-item>
-        <el-form-item label="简介">
-          <el-input type="textarea" v-model="form.desc" placeholder="请输入信息简介"></el-input>
-        </el-form-item>
-      </el-form>
-      <el-col :span="24" class="btn">
-        <el-button type="primary" size="mini" @click="onSubmit('form')">保存</el-button>
-      </el-col>
-    </el-col>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'person',
-  props: {
-    form: null,
-    option: null,
-    options: null,
-  },
-  components: {},
-  data: () => ({
-    rules: {
-      title: [{ required: true, message: '请输入对接标题', trigger: 'blur' }],
-      start_time: [{ type: 'date', required: true, message: '请选择开始时间', trigger: 'change' }],
-      end_time: [{ type: 'date', required: true, message: '请选择结束时间', trigger: 'change' }],
-      adminuser: [{ required: true, message: '请输入负责人姓名', trigger: 'blur' }],
-      phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
-    },
-  }),
-  created() {},
-  computed: {
-    id() {
-      return this.$route.query.id;
-    },
-  },
-  methods: {
-    changeshenge(value) {
-      this.$emit('placesubmit', { value });
-    },
-    onSubmit(formName) {
-      this.$refs[formName].validate(valid => {
-        if (valid) {
-          this.$emit('onSubmit', { data: this.form });
-        } else {
-          console.log('error submit!!');
-          return false;
-        }
-      });
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-/deep/.el-form-item__label {
-  text-align: center;
-}
-.btn {
-  text-align: center;
-  background: #fff;
-  padding: 10px 0;
-}
-/deep/.el-form-item {
-  margin-bottom: 0px;
-  border-bottom: 1px solid #ccc;
-  background-color: #fff;
-  padding: 20px 0;
-}
-</style>

+ 0 - 108
src/layout/duijiehui/examineinfo.vue

@@ -1,108 +0,0 @@
-<template>
-  <div id="person">
-    <el-col :span="24" class="info">
-      <van-form @submit="onSubmit">
-        <van-field
-          v-model="form.title"
-          name="对接会标题"
-          label="对接会标题"
-          placeholder="请输入对接会标题"
-          :rules="[{ required: true, message: '请输入对接会标题' }]"
-          disabled
-        />
-
-        <van-field
-          v-model="form.start_time"
-          name="开始时间"
-          label="开始时间"
-          placeholder="请输入开始时间"
-          :rules="[{ required: true, message: '请输入开始时间' }]"
-          disabled
-        />
-
-        <van-field
-          v-model="form.join_end"
-          name="截止时间"
-          label="截止时间"
-          placeholder="请输入截止时间"
-          :rules="[{ required: true, message: '请输入截止时间' }]"
-          disabled
-        />
-      </van-form>
-
-      <el-form ref="form" :model="form" label-width="58px">
-        <el-form-item label="省份">
-          <el-select v-model="form.province" placeholder="请选择省份" @change="changeshenge">
-            <el-option v-for="item in option" :key="item.code" :label="item.name" :value="item.code" disabled> </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="市">
-          <el-select v-model="form.place" placeholder="请选择市">
-            <el-option v-for="item in options" :key="item.code" :label="item.name" :value="item.code" disabled> </el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="简介">
-          <el-input type="textarea" v-model="form.desc" disabled></el-input>
-        </el-form-item>
-
-        <el-form-item label="对接会视频">
-          <upload :limit="1" :data="form.file_path" type="file_path" listType="" :url="'/files/imgpath/upload'" @upload="uploadSuccess" disabled></upload>
-        </el-form-item>
-
-        <el-form-item label="状态" :disabled="true">
-          <el-radio v-model="form.status" label="1">开始</el-radio>
-          <el-radio v-model="form.status" label="2">结束</el-radio>
-        </el-form-item>
-      </el-form>
-
-      <div style="margin: 16px;">
-        <van-button round block type="info" native-type="submit" @click="onSubmit">
-          保存
-        </van-button>
-      </div>
-    </el-col>
-  </div>
-</template>
-
-<script>
-import upload from '@/components/upload.vue';
-export default {
-  name: 'person',
-  props: {
-    form: null,
-    option: null,
-    options: null,
-  },
-  components: {
-    upload,
-  },
-  data: () => ({
-    // 出生日期
-  }),
-  created() {},
-  computed: {
-    id() {
-      return this.$route.query.id;
-    },
-  },
-  methods: {
-    changeshenge(value) {
-      this.$emit('placesubmit', { value });
-    },
-    onSubmit() {
-      this.$emit('onSubmit', { data: this.form });
-    },
-    // 图片上传
-    uploadSuccess({ type, data }) {
-      this.$set(this.form, `${type}`, data.uri);
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.info {
-  margin: 0 0 50px 0;
-}
-</style>

+ 18 - 0
src/router/index.js

@@ -106,6 +106,24 @@ const routes = [
     meta: { title: '用户管理', isleftarrow: true },
     component: () => import('../views/adminCenter/user/index.vue'),
   },
+  {
+    path: '/adminCenter/user/detail',
+    name: 'adminCenter_user_detail',
+    meta: { title: '审核/查看用户', isleftarrow: true },
+    component: () => import('../views/adminCenter/user/detail.vue'),
+  },
+  {
+    path: '/adminCenter/duijiehui/index',
+    name: 'adminCenter_duijiehui_index',
+    meta: { title: '展会管理', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/index.vue'),
+  },
+  {
+    path: '/adminCenter/duijiehui/add',
+    name: 'adminCenter_duijiehui_add',
+    meta: { title: '展会信息管理', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/add.vue'),
+  },
   // 登录
   {
     path: '/login',

+ 241 - 0
src/views/adminCenter/duijiehui/add.vue

@@ -0,0 +1,241 @@
+<template>
+  <div id="add">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <van-form>
+            <van-field v-model="form.title" name="标题" label="标题" placeholder="标题" />
+            <van-field readonly clickable name="datetimePicker" :value="form.start_time" label="开始时间" placeholder="点击选择时间" @click="onepic = true" />
+            <van-popup v-model="onepic" position="bottom">
+              <van-datetime-picker type="datetime" @confirm="oneSubmit" @cancel="onepic = false" />
+            </van-popup>
+            <van-field readonly clickable name="datetimePicker" :value="form.end_time" label="结束时间" placeholder="点击选择时间" @click="twopic = true" />
+            <van-popup v-model="twopic" position="bottom">
+              <van-datetime-picker type="datetime" @confirm="twoSubmit" @cancel="twopic = false" />
+            </van-popup>
+            <van-field readonly clickable name="datetimePicker" :value="form.join_end" label="报名截止" placeholder="点击选择时间" @click="threepic = true" />
+            <van-popup v-model="threepic" position="bottom">
+              <van-datetime-picker type="datetime" @confirm="threeSubmit" @cancel="threepic = false" />
+            </van-popup>
+            <van-field readonly clickable name="picker" :value="form.province" label="省份" placeholder="点击选择省份" @click="provincepic = true" />
+            <van-popup v-model="provincepic" position="bottom">
+              <van-picker show-toolbar :columns="prodata" @confirm="proSubmit" @cancel="provincepic = false" />
+            </van-popup>
+            <van-field readonly clickable name="picker" :value="form.place" label="市区" placeholder="点击选择市区" @click="placepic = true" />
+            <van-popup v-model="placepic" position="bottom">
+              <van-picker show-toolbar :columns="placedate" @confirm="plaSubmit" @cancel="placepic = false" />
+            </van-popup>
+            <van-field v-model="form.desc" rows="1" autosize label="简介" type="textarea" placeholder="企业简介" />
+            <van-field v-model="form.adminuser" name="负责人" label="负责人" placeholder="负责人" />
+            <van-field v-model="form.phone" name="手机号" label="手机号" placeholder="手机号" />
+            <van-field v-model="form.sponsor" name="主办方" label="主办方" placeholder="主办方" />
+            <van-field v-model="form.organizer" name="承办方" label="承办方" placeholder="承办方" />
+            <van-field v-model="form.videointro" name="文件标题" label="文件标题" placeholder="文件标题" />
+            <van-field name="radio" label="展会状态">
+              <template #input>
+                <van-radio-group v-model="form.status" direction="horizontal">
+                  <van-radio name="0">准备中</van-radio>
+                  <van-radio name="1">开始</van-radio>
+                  <van-radio name="2">结束</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <!-- <van-field v-model="form.file_path" name="视频" label="视频" placeholder="视频" /> -->
+            <div style="margin: 16px;">
+              <van-button round block type="info" @click="onSubmit">
+                提交
+              </van-button>
+            </div>
+          </van-form>
+        </el-col>
+      </el-col>
+    </el-row>
+    <van-dialog v-model="show" title="展会信息" @confirm="closedia">
+      <p style="padding: 10px 15px;">房间号:{{ dockinfo.room_id }}</p>
+      <p style="padding: 10px 15px;">手机号:{{ dockinfo.phone }}</p>
+      <p style="padding: 10px 15px;">密码:{{ dockinfo.passwd }}</p>
+    </van-dialog>
+  </div>
+</template>
+
+<script>
+import NavBar from '@/layout/common/topInfo.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: place } = createNamespacedHelpers('place');
+const { mapActions: dock } = createNamespacedHelpers('dock');
+var moment = require('moment');
+// import { Dialog } from 'vant';
+const jwt = require('jsonwebtoken');
+export default {
+  name: 'add',
+  props: {},
+  components: {
+    NavBar,
+  },
+  data: function() {
+    return {
+      // 头部标题
+      title: '',
+      // meta为true
+      isleftarrow: '',
+      // 返回
+      navShow: true,
+      form: {},
+      onepic: false,
+      twopic: false,
+      threepic: false,
+      // 字典表
+      // 省份
+      // 原数组
+      province: [],
+      // 重组
+      prodata: [],
+      // 市区
+      // 原数组
+      place: [],
+      // 重组
+      placedate: [],
+      // 省份选择
+      provincepic: false,
+      // 市区选择
+      placepic: false,
+      // 展会成功信息
+      dockinfo: {},
+      show: false,
+    };
+  },
+  async created() {
+    await this.searchother();
+    if (this.id) {
+      await this.searchinfo();
+    }
+  },
+  methods: {
+    ...place({ placequery: 'query' }),
+    ...dock(['create', 'fetch', 'update']),
+    // 提交
+    async onSubmit() {
+      let data = this.form;
+      let province = this.province.find(i => i.name == data.province);
+      if (province) data.province = province.code;
+      let place = this.place.find(i => i.name == data.place);
+      if (place) data.place = place.code;
+      if (data.id) {
+        let res = await this.update(data);
+        if (this.$checkRes(res)) {
+          this.$notify({
+            message: '修改成功',
+            type: 'success',
+          });
+          this.closedia();
+        }
+      } else {
+        data.user_id = this.user.uid;
+        let res = await this.create(data);
+        if (this.$checkRes(res)) {
+          res.data.passwd = jwt.decode(res.data.password);
+          this.$set(this, `dockinfo`, res.data);
+          this.show = true;
+        }
+      }
+    },
+    // 关闭
+    closedia() {
+      this.show = false;
+      this.$router.push({ path: '/adminCenter/duijiehui/index' });
+    },
+    // 查询其他信息
+    async searchother() {
+      let res = await this.placequery({ level: 1 });
+      let arr = await this.placequery({ level: 2 });
+      if (res || arr) {
+        this.$set(this, `province`, res.data);
+        var prodata = res.data.map(item => item.name);
+        this.$set(this, `prodata`, prodata);
+        this.$set(this, `place`, arr.data);
+        var placedate = arr.data.map(item => item.name);
+        this.$set(this, `placedate`, placedate);
+      }
+    },
+    // 省份选择
+    async proSubmit(value) {
+      this.$set(this.form, `province`, value);
+      let parentdata = this.province.find(i => i.name == value);
+      if (parentdata) {
+        let arr = await this.placequery({ level: 2, parent: parentdata.code });
+        this.$set(this, `place`, arr.data);
+        var placedate = arr.data.map(item => item.name);
+        this.$set(this, `placedate`, placedate);
+      }
+      this.provincepic = false;
+    },
+    // 市区选择
+    plaSubmit(value) {
+      this.$set(this.form, `place`, value);
+      this.placepic = false;
+    },
+    // 开始时间
+    oneSubmit(time) {
+      let date = moment(time).format('YYYY-MM-DD HH:mm:ss');
+      if (date) this.$set(this.form, `start_time`, date);
+      this.onepic = false;
+    },
+    // 结束时间
+    twoSubmit(time) {
+      let date = moment(time).format('YYYY-MM-DD HH:mm:ss');
+      if (date) this.$set(this.form, `end_time`, date);
+      this.twopic = false;
+    },
+    // 报名截止
+    threeSubmit(time) {
+      let date = moment(time).format('YYYY-MM-DD HH:mm:ss');
+      if (date) this.$set(this.form, `join_end`, date);
+      this.threepic = false;
+    },
+    // 查询详情
+    async searchinfo() {
+      let res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        let data = res.data;
+        let province = this.province.find(i => i.code == res.data.province);
+        if (province) data.province = province.name;
+        let place = this.place.find(i => i.code == res.data.place);
+        if (place) data.place = place.name;
+        this.$set(this, `form`, data);
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+}
+.main {
+  min-height: 570px;
+}
+</style>

+ 0 - 92
src/views/adminCenter/duijiehui/apply.vue

@@ -1,92 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="style">
-        <el-col :span="24" class="top">
-          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
-        </el-col>
-        <el-col :span="24" class="main">
-          <el-col :span="24" class="main">
-            <el-col :span="24" class="one">
-              <applyList></applyList>
-            </el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-import NavBar from '@/layout/common/topInfo.vue';
-import applyList from './parts/applyList.vue';
-export default {
-  name: 'index',
-  props: {},
-  components: { NavBar, applyList },
-  data: () => ({
-    // 头部标题
-    title: '',
-    // meta为true
-    isleftarrow: '',
-    // 返回
-    navShow: true,
-    img_path: require('@/assets/logo.png'),
-    active: 0,
-    show: false,
-    newform: {},
-  }),
-  created() {},
-  computed: {},
-  methods: {},
-  mounted() {
-    this.title = this.$route.meta.title;
-    this.isleftarrow = this.$route.meta.isleftarrow;
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.style {
-  width: 100%;
-  min-height: 667px;
-  position: relative;
-  background-color: #f9fafc;
-}
-.top {
-  height: 46px;
-  overflow: hidden;
-  position: relative;
-  z-index: 999;
-}
-.main {
-  min-height: 570px;
-  .two {
-    position: fixed;
-    top: 80%;
-
-    left: 10px;
-    z-index: 999;
-  }
-}
-/deep/.van-tab {
-  text-align: center;
-}
-/deep/.van-tabs--line .van-tabs__wrap {
-  height: 70px;
-  margin: 0 0 10px 0;
-}
-/deep/.van-tab--active {
-  color: red;
-}
-.van-icon {
-  font-size: 20px;
-}
-/deep/.van-popup--bottom {
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 300px;
-}
-</style>

+ 0 - 141
src/views/adminCenter/duijiehui/detail.vue

@@ -1,141 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="style">
-        <el-col :span="24" class="top">
-          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
-        </el-col>
-        <el-col :span="24" class="main">
-          <detail :form="form" @onSubmit="onSubmit" @placesubmit="placesubmit" :option="option" :options="options"></detail>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import NavBar from '@/layout/common/topInfo.vue';
-import detail from '@/layout/duijiehui/detail.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: dock } = createNamespacedHelpers('dock');
-const { mapActions: place } = createNamespacedHelpers('place');
-const jwt = require('jsonwebtoken');
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    NavBar,
-    detail, //个人信息维护
-  },
-  data: () => ({
-    // 头部标题
-    title: '',
-    // meta为true
-    isleftarrow: '',
-    // 返回
-    navShow: true,
-    // 个人信息
-    form: {},
-    option: [],
-    options: [],
-  }),
-  created() {
-    this.searchinfo();
-    this.search();
-    this.searchplace();
-  },
-  computed: {
-    ...mapState(['user']),
-    id() {
-      return this.$route.query.id;
-    },
-    role() {
-      return this.$route.query.role;
-    },
-  },
-  methods: {
-    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
-    ...dock({ livefetch: 'fetch', livelist: 'query', livecreate: 'create', liveupdate: 'update' }),
-
-    async placesubmit({ value }) {
-      let level = 2;
-      let parent = value;
-      let res = await this.palcequery({ level, parent });
-      this.$set(this, `options`, res.data);
-    },
-    async searchplace() {
-      if (this.id) {
-        let level = 2;
-        let ress = await this.livefetch(this.id);
-        let parent = ress.data.place;
-        let res = await this.palcequery({ level, parent });
-        this.$set(this, `options`, res.data);
-      }
-    },
-
-    async searchinfo() {
-      let level = 1;
-      let res = await this.palcequery({ level });
-      this.$set(this, `option`, res.data);
-    },
-
-    async search() {
-      if (this.id) {
-        let res = await this.livefetch(this.id);
-        this.$set(this, `form`, res.data);
-      }
-    },
-    async onSubmit({ data }) {
-      if (this.id) {
-        let res = await this.liveupdate(data);
-        this.$notify({
-          message: '修改成功',
-          type: 'success',
-        });
-        this.$router.push({ path: '/adminCenter/duijiehui/index' });
-      } else {
-        data.user_id = this.user.uid;
-        let res = await this.livecreate(data);
-        if (this.$checkRes(res)) {
-          let passwd = jwt.decode(res.data.password);
-          this.$alert(`房间号:${res.data.room_id}` + `手机号:${res.data.phone};` + `密码:${passwd};`, '成功', {
-            dangerouslyUseHTMLString: true,
-            confirmButtonText: '确定',
-            type: 'success',
-            center: true,
-            callback: action => {
-              this.$router.push({ path: '/adminCenter/duijiehui/index' });
-            },
-          });
-        }
-      }
-    },
-  },
-  mounted() {
-    this.title = this.$route.meta.title;
-    this.isleftarrow = this.$route.meta.isleftarrow;
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.style {
-  width: 100%;
-  min-height: 667px;
-  position: relative;
-  background-color: #f9fafc;
-}
-.top {
-  height: 46px;
-  overflow: hidden;
-  position: relative;
-  z-index: 999;
-}
-.main {
-  min-height: 570px;
-}
-.foot {
-  position: absolute;
-  bottom: 0;
-}
-</style>

+ 0 - 129
src/views/adminCenter/duijiehui/examine.vue

@@ -1,129 +0,0 @@
-<template>
-  <div id="index">
-    <el-row>
-      <el-col :span="24" class="style">
-        <el-col :span="24" class="top">
-          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
-        </el-col>
-        <el-col :span="24" class="main">
-          <examineinfo :form="form" @onSubmit="onSubmit" @placesubmit="placesubmit" :option="option" :options="options"></examineinfo>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import NavBar from '@/layout/common/topInfo.vue';
-import examineinfo from '@/layout/duijiehui/examineinfo.vue';
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: dock } = createNamespacedHelpers('dock');
-const { mapActions: place } = createNamespacedHelpers('place');
-
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    NavBar,
-    examineinfo, //个人信息维护
-  },
-  data: () => ({
-    // 头部标题
-    title: '',
-    // meta为true
-    isleftarrow: '',
-    // 返回
-    navShow: true,
-    // 个人信息
-    form: {},
-    option: [],
-    options: [],
-  }),
-  created() {
-    this.searchinfo();
-    this.search();
-    this.searchplace();
-  },
-  computed: {
-    ...mapState(['user']),
-    id() {
-      return this.$route.query.id;
-    },
-    role() {
-      return this.$route.query.role;
-    },
-  },
-  methods: {
-    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
-    ...dock({ livefetch: 'fetch', livelist: 'query', livecreate: 'create', liveupdate: 'update' }),
-
-    async placesubmit({ value }) {
-      let level = 2;
-      let parent = value;
-      let res = await this.palcequery({ level, parent });
-      this.$set(this, `options`, res.data);
-    },
-
-    async searchplace() {
-      if (this.id) {
-        let level = 2;
-        let ress = await this.livefetch(this.id);
-        let parent = ress.data.place;
-        let res = await this.palcequery({ level, parent });
-        this.$set(this, `options`, res.data);
-      }
-    },
-
-    async searchinfo() {
-      let level = 1;
-      let res = await this.palcequery({ level });
-
-      this.$set(this, `option`, res.data);
-    },
-
-    async search() {
-      let res = await this.livefetch(this.id);
-      this.$set(this, `form`, res.data);
-    },
-    async onSubmit({ data }) {
-      console.log(data);
-      if (this.id) {
-        let res = await this.liveupdate(data);
-        this.$checkRes(res, '修改成功', '修改失败');
-      } else {
-        this.form.user_id = this.user.uid;
-        this.form.is_allowed = '1';
-        let res = await this.livecreate(data);
-        this.$checkRes(res, '创建成功', '添加失败');
-      }
-      this.$router.push({ path: './index' });
-    },
-  },
-  mounted() {
-    this.title = this.$route.meta.title;
-    this.isleftarrow = this.$route.meta.isleftarrow;
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.style {
-  width: 100%;
-  min-height: 667px;
-  position: relative;
-  background-color: #f9fafc;
-}
-.top {
-  height: 46px;
-  overflow: hidden;
-  position: relative;
-  z-index: 999;
-}
-.main {
-  min-height: 570px;
-}
-.foot {
-  position: absolute;
-  bottom: 0;
-}
-</style>

+ 88 - 47
src/views/adminCenter/duijiehui/index.vue

@@ -6,7 +6,22 @@
           <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
         </el-col>
         <el-col :span="24" class="main">
-          <list></list>
+          <el-col :span="24" style="text-align:center;padding:10px 0;">
+            <el-button type="primary" size="mini" @click="add()">创建对接会</el-button>
+          </el-col>
+          <el-col :span="24">
+            <van-tabs v-model="active">
+              <van-tab title="下期预告">
+                <docklist :list="nextList" @detailBtn="detailBtn" :province="province" :place="place"></docklist>
+              </van-tab>
+              <van-tab title="正在直播">
+                <docklist :list="nowList" @detailBtn="detailBtn" :province="province" :place="place"></docklist>
+              </van-tab>
+              <van-tab title="已往直播">
+                <docklist :list="pastList" @detailBtn="detailBtn" :province="province" :place="place"></docklist>
+              </van-tab>
+            </van-tabs>
+          </el-col>
         </el-col>
       </el-col>
     </el-row>
@@ -14,32 +29,86 @@
 </template>
 
 <script>
-import { mapState, createNamespacedHelpers } from 'vuex';
+import docklist from './parts/docklist.vue';
 import NavBar from '@/layout/common/topInfo.vue';
-import list from './parts/list.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: place } = createNamespacedHelpers('place');
 export default {
   name: 'index',
   props: {},
-  components: { NavBar, list },
-  data: () => ({
-    // 头部标题
-    title: '',
-    // meta为true
-    isleftarrow: '',
-    // 返回
-    navShow: true,
-    img_path: require('@/assets/logo.png'),
-    active: 0,
-    show: false,
-    newform: {},
-  }),
-  created() {},
-  computed: {},
-  methods: {},
+  components: {
+    NavBar,
+    docklist,
+  },
+  data: function() {
+    return {
+      // 头部标题
+      title: '',
+      // meta为true
+      isleftarrow: '',
+      // 返回
+      navShow: true,
+      active: '1',
+      // 下期预告
+      nextList: [],
+      // 正在直播
+      nowList: [],
+      // 以往直播
+      pastList: [],
+      // 省
+      province: [],
+      // 市
+      place: [],
+    };
+  },
+  async created() {
+    await this.searchplace();
+    await this.search();
+  },
+  methods: {
+    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
+    ...dock(['query', 'delete', 'update', 'create']),
+    async search() {
+      let res = await this.query({ user_id: this.user.uid, status: '0' });
+      if (this.$checkRes(res)) this.$set(this, `nextList`, res.data);
+      res = await this.query({ user_id: this.user.uid, status: '1' });
+      if (this.$checkRes(res)) this.$set(this, `nowList`, res.data);
+      res = await this.query({ user_id: this.user.uid, status: '2' });
+      if (this.$checkRes(res)) this.$set(this, `pastList`, res.data);
+    },
+    // 创建对接会
+    add() {
+      this.$router.push({ path: '/adminCenter/duijiehui/add' });
+    },
+    // 审核,编辑
+    detailBtn(data) {
+      if (data.status == '0' || data.status == '1') {
+        this.$router.push({ path: '/adminCenter/duijiehui/add', query: { id: data.id } });
+      } else {
+        console.log(data);
+      }
+    },
+    // 查询省市
+    async searchplace() {
+      let res = await this.palcequery({ level: 1 });
+      let arr = await this.palcequery({ level: 2 });
+      if (res || arr) {
+        this.$set(this, `province`, res.data);
+        this.$set(this, `place`, arr.data);
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
   mounted() {
     this.title = this.$route.meta.title;
     this.isleftarrow = this.$route.meta.isleftarrow;
   },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
 };
 </script>
 
@@ -53,36 +122,8 @@ export default {
 .top {
   height: 46px;
   overflow: hidden;
-  position: relative;
-  z-index: 999;
 }
 .main {
   min-height: 570px;
-  .two {
-    position: fixed;
-    top: 80%;
-
-    left: 10px;
-    z-index: 999;
-  }
-}
-/deep/.van-tab {
-  text-align: center;
-}
-/deep/.van-tabs--line .van-tabs__wrap {
-  height: 70px;
-  margin: 0 0 10px 0;
-}
-/deep/.van-tab--active {
-  color: red;
-}
-.van-icon {
-  font-size: 20px;
-}
-/deep/.van-popup--bottom {
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 300px;
 }
 </style>

+ 0 - 158
src/views/adminCenter/duijiehui/parts/applyList.vue

@@ -1,158 +0,0 @@
-<template>
-  <div id="auditList">
-    <el-row>
-      <el-col :span="24" class="info">
-        <!-- <el-col class="newuser"><van-button type="info" size="small" @click="usersubmit()">新建对接会</van-button> </el-col> -->
-        <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
-          <p class="textOver">
-            <span class="titel">{{ item.user_name }}</span>
-
-            <span style="margin:0 0 0  5px;"><van-button type="info" size="mini" @click="submit(item)">审核通过</van-button> </span>
-
-            <span style="margin:0 0 0  5px;"><van-button type="info" size="mini" @click="jujue(item)">审核拒绝</van-button> </span>
-          </p>
-          <p>
-            <span class="ptwo"
-              ><span>买家/卖家:{{ item.buyer == '0' ? '买家' : item.buyer == '1' ? '卖家' : '' }}</span></span
-            >
-          </p>
-          <p class="newptwo">
-            <span class="ptwo"><span>联系人:</span>{{ item.contact }}</span>
-            <span>联系人电话</span>{{ item.contact_tel }} <span>邮箱:{{ item.email }}</span>
-          </p>
-
-          <p class="newptwo">
-            <span>单位名称:{{ item.company }}</span>
-            <span>申请时间:{{ item.apply_time }}</span>
-          </p>
-
-          <p class="newptwo">
-            <span>申请状态:{{ item.status == '0' ? '待审核' : item.status == '1' ? '已通过' : item.status == '2' ? '已拒绝' : '' }} </span>
-          </p>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: apply } = createNamespacedHelpers('apply');
-const { mapActions: user } = createNamespacedHelpers('user');
-export default {
-  name: 'auditList',
-  props: {},
-  components: {},
-  data: function() {
-    return {
-      list: [],
-    };
-  },
-  created() {
-    this.search();
-  },
-  methods: {
-    ...user(['query', 'delete', 'update']),
-    ...apply({ dockQuery: 'query', dockDteate: 'delete', applyUpdate: 'update' }),
-    async search() {
-      this.$set(this, `list`, this.data.apply);
-    },
-    async submit(item) {
-      item.status = '1';
-      item.dock_id = this.id;
-      item.id = item._id;
-      let res = await this.applyUpdate(item);
-
-      if (this.$checkRes(res)) {
-        this.$message({
-          message: '审核通过',
-          type: 'success',
-        });
-      }
-    },
-    async jujue(item) {
-      item.status = '2';
-      item.dock_id = this.id;
-      item.id = item._id;
-      let res = await this.applyUpdate(item);
-      if (this.$checkRes(res)) {
-        this.$message({
-          message: '审核拒绝',
-          type: 'success',
-        });
-      }
-    },
-  },
-  computed: {
-    data() {
-      return this.$route.query.data;
-    },
-    id() {
-      return this.$route.query.id;
-    },
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.newuser {
-  float: right;
-  padding: 10px 0 10px 10px;
-}
-.info {
-  border-top: 1px solid #f5f5f5;
-  min-height: 400px;
-  .list {
-    background: #fff;
-    padding: 0 10px;
-    border-bottom: 1px solid #ccc;
-    p {
-      font-size: 14px;
-      color: #000;
-      padding: 5px 0;
-    }
-    p:first-child {
-      font-size: 16px;
-    }
-    p:nth-child(2) .ptwo {
-      display: inline-block;
-      width: 50%;
-    }
-    p:nth-child(2) .ptwo span:first-child {
-      color: #ccc;
-    }
-    p:last-child span {
-      color: #ccc;
-    }
-  }
-}
-.content {
-  padding: 16px 16px 160px;
-  height: 160px;
-  background-color: aqua;
-}
-.newptwo {
-  color: #ccc !important;
-}
-/deep/.van-button--small {
-  min-width: 60px;
-  height: 30px;
-  padding: 0 8px;
-  font-size: 12px;
-  margin: 0 5px 0 0;
-}
-.titel {
-  display: inline-block;
-  width: 65%;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  whitewhite-space: nowrap;
-}
-</style>

+ 103 - 0
src/views/adminCenter/duijiehui/parts/docklist.vue

@@ -0,0 +1,103 @@
+<template>
+  <div id="docklist">
+    <el-row>
+      <el-col :span="24" class="docklist">
+        <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
+          <p>
+            <span class="textOver">[{{ item.room_id }}]</span>
+            <span class="textOver">{{ item.title }}</span>
+          </p>
+          <p>
+            <span class="textOver">负责人:{{ item.adminuser }}</span>
+            <span class="textOver">手机号:{{ item.phone }}</span>
+          </p>
+          <p>
+            <span class="textOver">地址:{{ getprovince(item.province) }}-{{ getplace(item.place) }}</span>
+            <span class="textOver">状态:{{ item.status == '0' ? '准备中' : item.status == '1' ? '开始' : '结束' }}</span>
+          </p>
+          <el-col :span="24" class="btn">
+            <el-button type="primary" size="mini" @click="detailBtn(item)">{{
+              item.status == '0' || item.status == '1' ? '编辑/状态审核' : '查看成果'
+            }}</el-button>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'docklist',
+  props: {
+    list: { type: Array },
+    // 省
+    province: { type: Array, default: () => [] },
+    // 市
+    place: { type: Array, default: () => [] },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {
+    // 过滤省
+    getprovince(item) {
+      let res = this.province.find(i => i.code == item);
+      if (res) return res.name;
+    },
+    // 过滤市
+    getplace(item) {
+      let res = this.place.find(i => i.code == item);
+      if (res) return res.name;
+    },
+    detailBtn(data) {
+      this.$emit('detailBtn', data);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.docklist {
+  padding: 0 10px;
+  .list {
+    border-bottom: 1px dashed #ccc;
+    padding: 10px 0;
+    p {
+      font-size: 16px;
+      color: #666;
+      padding: 0 0 5px 0;
+      span {
+        display: inline-block;
+        width: 50%;
+      }
+    }
+    p:nth-child(1) {
+      font-size: 18px;
+      font-weight: bold;
+      span:nth-child(1) {
+        width: 15%;
+        color: #ff0000;
+      }
+      span:nth-child(2) {
+        width: 85%;
+      }
+    }
+    .btn {
+      text-align: center;
+    }
+  }
+}
+</style>

+ 0 - 146
src/views/adminCenter/duijiehui/parts/list.vue

@@ -1,146 +0,0 @@
-<template>
-  <div id="auditList">
-    <el-row>
-      <el-col :span="24" class="info">
-        <el-col class="newuser">
-          <el-button type="primary" size="mini" @click="usersubmit()">创建对接会</el-button>
-        </el-col>
-        <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
-          <el-col :span="20">
-            <p class="textOver">
-              <span class="titel">{{ item.title }}</span>
-            </p>
-            <p>
-              <span class="ptwo"
-                ><span>开始时间:{{ item.start_time || '暂无' }}</span></span
-              >
-            </p>
-            <p class="newptwo">
-              <span class="ptwo"><span>报名截止时间:</span>{{ item.join_end }}</span>
-            </p>
-
-            <p class="newptwo">
-              <span>审核状态:</span>{{ item.is_allowed == '0' ? '待审核' : item.is_allowed == '1' ? '审核成功' : item.is_allowed == '2' ? '审核拒绝' : '' }}
-              <span>对接会状态:</span>{{ item.status == '1' ? '开始' : item.status == '2' ? '结束' : '准备中' }}
-            </p>
-          </el-col>
-          <el-col :span="4">
-            <p><van-button type="info" size="mini" @click="submit(item)">编辑</van-button></p>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: dock } = createNamespacedHelpers('dock');
-const { mapActions: user } = createNamespacedHelpers('user');
-export default {
-  name: 'auditList',
-  props: {},
-  components: {},
-  data: function() {
-    return {
-      list: [],
-    };
-  },
-  created() {
-    this.search();
-  },
-  methods: {
-    ...user(['query', 'delete', 'update']),
-    ...dock({ dockQuery: 'query', dockDteate: 'delete', dockUpdate: 'update' }),
-    async search() {
-      if (this.user.role == 4) {
-        let user_id = this.user.uid;
-        let res = await this.dockQuery({ user_id });
-        if (this.$checkRes(res)) {
-          this.$set(this, `list`, res.data);
-        }
-      } else {
-        let res = await this.dockQuery();
-        if (this.$checkRes(res)) {
-          this.$set(this, `list`, res.data);
-        }
-      }
-    },
-    async submit(item) {
-      this.$router.push({ path: './detail', query: { id: item.id, role: item.role } });
-    },
-    shenhe(item) {
-      this.$router.push({ path: './examine', query: { id: item.id, role: item.role } });
-    },
-    usersubmit() {
-      this.$router.push({ path: './detail' });
-    },
-    shenqing(item) {
-      this.$router.push({ path: './apply', query: { data: item, id: item.id } });
-    },
-    async toDelete(item) {
-      const res = await this.dockDteate(item.id);
-      if (this.$checkRes(res, '删除成功', res.errmsg || '删除失败')) this.search();
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.newuser {
-  text-align: center;
-  padding: 10px 0;
-}
-.info {
-  border-top: 1px solid #f5f5f5;
-  .list {
-    background: #fff;
-    padding: 0 10px;
-    border-bottom: 1px solid #ccc;
-    p {
-      font-size: 14px;
-      color: #000;
-      padding: 5px 0;
-    }
-    p:first-child {
-      font-size: 16px;
-    }
-    p:nth-child(2) .ptwo {
-      display: inline-block;
-      width: 50%;
-    }
-    p:nth-child(2) .ptwo span:first-child {
-      color: #ccc;
-    }
-  }
-}
-
-.content {
-  padding: 16px 16px 160px;
-  height: 160px;
-  background-color: aqua;
-}
-
-/deep/.van-button--small {
-  min-width: 60px;
-  height: 30px;
-  padding: 0 8px;
-  font-size: 12px;
-  margin: 0 5px 0 0;
-}
-.titel {
-  display: inline-block;
-  width: 90%;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-</style>

+ 61 - 72
src/views/adminCenter/user/detail.vue

@@ -1,12 +1,12 @@
 <template>
-  <div id="index">
+  <div id="detail">
     <el-row>
       <el-col :span="24" class="style">
         <el-col :span="24" class="top">
           <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
         </el-col>
         <el-col :span="24" class="main">
-          <person :form="form" @onSubmit="onSubmit"></person>
+          <detailInfo :form="form" :role="userrole" @onSubmit="onSubmit"></detailInfo>
         </el-col>
       </el-col>
     </el-row>
@@ -14,100 +14,95 @@
 </template>
 
 <script>
+import detailInfo from './parts/detailInfo.vue';
 import NavBar from '@/layout/common/topInfo.vue';
-import person from '@/layout/adminuser/release.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: market } = createNamespacedHelpers('market');
-const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
+const { mapActions: marketuser } = createNamespacedHelpers('marketuser');
+const { mapActions: exportuser } = createNamespacedHelpers('exportuser');
 export default {
-  name: 'index',
+  name: 'detail',
   props: {},
   components: {
     NavBar,
-    person, //个人信息维护
+    detailInfo,
   },
-  data: () => ({
-    // 头部标题
-    title: '',
-    // meta为true
-    isleftarrow: '',
-    // 返回
-    navShow: true,
-    // 个人信息
-    form: {},
-  }),
-  created() {
-    this.searchInfo();
+  data: function() {
+    return {
+      // 头部标题
+      title: '',
+      // meta为true
+      isleftarrow: '',
+      // 返回
+      navShow: true,
+      // 用户详情
+      form: {},
+      // 用户类别
+      userrole: '',
+    };
   },
-  computed: {
-    ...mapState(['user']),
-    id() {
-      return this.$route.query.id;
-    },
-    role() {
-      return this.$route.query.role;
-    },
+  async created() {
+    if (this.id) {
+      this.$set(this, `userrole`, this.role);
+      await this.search();
+    }
   },
   methods: {
-    ...market(['fetch', 'update', 'create']),
-    ...expertsuser({ expertsuserFetch: 'fetch', expertsuserUpdate: 'update', expertsuserUpgrade: 'upgrade', expertsuserCreate: 'create' }),
-    async searchInfo() {
-      if (this.role == '4' || this.role == '5' || this.role == '7') {
-        let res = await this.fetch(this.id);
-        if (res.errcode === 0) {
+    ...marketuser({ marketuserfetch: 'fetch', marketuserupdate: 'update' }),
+    ...exportuser({ exportuserfetch: 'fetch', exportuserupdate: 'update' }),
+    // 查询详情
+    async search() {
+      let role = this.role;
+      if (role == '4' || role == '5') {
+        let res = await this.marketuserfetch(this.id);
+        if (this.$checkRes(res)) {
           this.$set(this, `form`, res.data);
         }
-      } else if (this.role == '6') {
-        let res = await this.expertsuserFetch(this.id);
-        if (res.errcode === 0) {
+      } else {
+        let res = await this.exportuserfetch(this.id);
+        if (this.$checkRes(res)) {
           this.$set(this, `form`, res.data);
         }
       }
     },
+    // 审核提交
     async onSubmit({ data }) {
-      if (data.role == '4' || data.role == '5' || data.role == '7') {
-        let res;
-        let msg;
-        if (data.id) {
-          res = await this.update(data);
-          this.$message({
-            message: '个人信息修改成功',
-            type: 'success',
-          });
-        } else {
-          data.status = '0';
-          data.code = this.user.code;
-          res = await this.create(data);
-          this.$message({
-            message: '个人信息创建成功',
+      if (data.role == '4' || data.role == '5') {
+        let res = await this.marketuserupdate(data);
+        if (this.$checkRes(res)) {
+          this.$notify({
+            message: '审核成功',
             type: 'success',
           });
+          this.$router.push({ path: '/adminCenter/user/index' });
         }
-      } else if (data.role == '6') {
-        let res;
-        let msg;
-        if (data.id) {
-          res = await this.expertsuserUpdate(data);
-          this.$message({
-            message: '个人信息修改成功',
-            type: 'success',
-          });
-        } else {
-          data.code = this.user.code;
-          res = await this.expertsuserCreate(data);
-          this.$message({
-            message: '个人信息添加成功',
+      } else {
+        let res = await this.exportuserupdate(data);
+        if (this.$checkRes(res)) {
+          this.$notify({
+            message: '审核成功',
             type: 'success',
           });
+          this.$router.push({ path: '/adminCenter/user/index' });
         }
       }
-      this.$router.push({ path: './index' });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+    role() {
+      return this.$route.query.role;
     },
   },
   mounted() {
     this.title = this.$route.meta.title;
     this.isleftarrow = this.$route.meta.isleftarrow;
   },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
 };
 </script>
 
@@ -121,14 +116,8 @@ export default {
 .top {
   height: 46px;
   overflow: hidden;
-  position: relative;
-  z-index: 999;
 }
 .main {
   min-height: 570px;
 }
-.foot {
-  position: absolute;
-  bottom: 0;
-}
 </style>

+ 31 - 13
src/views/adminCenter/user/index.vue

@@ -6,17 +6,19 @@
           <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
         </el-col>
         <el-col :span="24" class="main">
-          <van-tabs v-model="active">
-            <van-tab title="待审核">
-              <userlist :list="oneList"></userlist>
-            </van-tab>
-            <van-tab title="审核通过">
-              <userlist></userlist>
-            </van-tab>
-            <van-tab title="审核拒绝">
-              <userlist></userlist>
-            </van-tab>
-          </van-tabs>
+          <el-col :span="24">
+            <van-tabs v-model="active">
+              <van-tab title="待审核">
+                <userlist :list="oneList" @shenhebtn="shenhebtn"></userlist>
+              </van-tab>
+              <van-tab title="审核通过">
+                <userlist :list="twoList" @shenhebtn="shenhebtn"></userlist>
+              </van-tab>
+              <van-tab title="审核拒绝">
+                <userlist :list="threeList" @shenhebtn="shenhebtn"></userlist>
+              </van-tab>
+            </van-tabs>
+          </el-col>
         </el-col>
       </el-col>
     </el-row>
@@ -44,6 +46,12 @@ export default {
     active: '1',
     // 待审核
     oneList: [],
+    // 审核通过
+    twoList: [],
+    // 审核拒绝
+    threeList: [],
+    // 搜索
+    value: '',
   }),
   async created() {
     await this.search();
@@ -51,15 +59,25 @@ export default {
   methods: {
     ...marketuser(['userquery']),
     async search({ ...info } = {}) {
-      console.log(this.user);
       let user = this.user;
       if (this.user.code == 'JLCJGLY') {
         const res = await this.userquery({ ...info });
-        console.log(res);
+        if (this.$checkRes(res)) {
+          let one = res.data.filter(i => i.status == '0' && i.isdel == '0');
+          if (one) this.$set(this, `oneList`, one);
+          let two = res.data.filter(i => i.status == '1' && i.isdel == '0');
+          if (two) this.$set(this, `twoList`, two);
+          let three = res.data.filter(i => i.status == '2' && i.isdel == '0');
+          if (three) this.$set(this, `threeList`, three);
+        }
       } else {
         console.log('机构');
       }
     },
+    // 审核用户。查看用户
+    shenhebtn(data) {
+      this.$router.push({ path: '/adminCenter/user/detail', query: { id: data.uid, role: data.role } });
+    },
   },
   computed: {
     ...mapState(['user']),

+ 167 - 0
src/views/adminCenter/user/parts/detailInfo.vue

@@ -0,0 +1,167 @@
+<template>
+  <div id="detailInfo">
+    <el-row>
+      <el-col :span="24">
+        <span v-if="role == '4'">
+          <van-form>
+            <van-field v-model="form.name" name="用户名" label="用户名" placeholder="用户名" readonly />
+            <van-field v-model="form.phone" name="手机号" label="手机号" placeholder="手机号" readonly />
+            <van-field v-model="form.code" name="机构代码" label="机构代码" readonly />
+            <van-field name="radio" label="用户类别">
+              <template #input>
+                <van-radio-group v-model="form.role" direction="horizontal" disabled>
+                  <van-radio name="4">个人</van-radio>
+                  <van-radio name="5">机构</van-radio>
+                  <van-radio name="6">专家</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <van-field v-model="form.email" name="电子邮箱" label="电子邮箱" placeholder="电子邮箱" readonly />
+            <van-field v-model="form.addr" name="联系地址" label="联系地址" placeholder="联系地址" readonly />
+            <van-field v-model="form.office_phone" name="办公电话" label="办公电话" placeholder="办公电话" readonly />
+            <van-field v-model="form.profession" name="所属行业" label="所属行业" placeholder="所属行业" readonly />
+            <van-field name="radio" label="用户状态">
+              <template #input>
+                <van-radio-group v-model="form.status" direction="horizontal">
+                  <van-radio name="0">已注册</van-radio>
+                  <van-radio name="1">通过</van-radio>
+                  <van-radio name="2">未通过</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <div style="margin: 16px;" v-if="form.status == '0'">
+              <van-button round block type="info" @click="onSubmit">
+                提交
+              </van-button>
+            </div>
+          </van-form>
+        </span>
+        <span v-else-if="role == '5'">
+          <van-form>
+            <van-field v-model="form.name" name="用户名" label="用户名" placeholder="用户名" readonly />
+            <van-field v-model="form.phone" name="手机号" label="手机号" placeholder="手机号" readonly />
+            <van-field v-model="form.code" name="机构代码" label="机构代码" readonly />
+            <van-field name="radio" label="用户类别">
+              <template #input>
+                <van-radio-group v-model="form.role" direction="horizontal" disabled>
+                  <van-radio name="4">个人</van-radio>
+                  <van-radio name="5">机构</van-radio>
+                  <van-radio name="6">专家</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <van-field v-model="form.email" name="电子邮箱" label="电子邮箱" placeholder="电子邮箱" readonly />
+            <van-field v-model="form.addr" name="联系地址" label="联系地址" placeholder="联系地址" readonly />
+            <van-field v-model="form.office_phone" name="办公电话" label="办公电话" placeholder="办公电话" readonly />
+            <van-field v-model="form.profession" name="所属行业" label="所属行业" placeholder="所属行业" readonly />
+            <van-field v-model="form.institution_code" name="信用代码" label="信用代码" placeholder="信用代码" readonly />
+            <van-field v-model="form.companytype" name="注册类型" label="注册类型" placeholder="注册类型" readonly />
+            <van-field v-model="form.companydate" name="注册时间" label="注册时间" placeholder="注册时间" readonly />
+            <van-field v-model="form.companycapital" name="注册资金" label="注册资金" placeholder="注册资金" readonly />
+            <van-field v-model="form.companyperson" name="企业法人" label="企业法人" placeholder="企业法人" readonly />
+            <van-field v-model="form.sndqyzsr" name="企业总收入" label="企业总收入" placeholder="企业总收入" readonly />
+            <van-field v-model="form.sndyffy" name="研发费用" label="研发费用" placeholder="研发费用" readonly />
+            <van-field v-model="form.companytotal" name="总人数" label="总人数" placeholder="总人数" readonly />
+            <van-field v-model="form.companybrief" rows="1" autosize label="企业简介" type="textarea" placeholder="企业简介" />
+            <van-field v-model="form.mainproduct" rows="1" autosize label="主要产品" type="textarea" placeholder="主要产品" />
+            <van-field v-model="form.qualifications" rows="1" autosize label="资质/荣誉" type="textarea" placeholder="资质/荣誉" />
+            <van-field name="radio" label="用户状态">
+              <template #input>
+                <van-radio-group v-model="form.status" direction="horizontal">
+                  <van-radio name="0">已注册</van-radio>
+                  <van-radio name="1">通过</van-radio>
+                  <van-radio name="2">未通过</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <div style="margin: 16px;" v-if="form.status == '0'">
+              <van-button round block type="info" @click="onSubmit">
+                提交
+              </van-button>
+            </div>
+          </van-form>
+        </span>
+        <span v-else-if="role == '6'">
+          <van-form>
+            <van-field v-model="form.name" name="用户名" label="用户名" placeholder="用户名" readonly />
+            <van-field v-model="form.phone" name="手机号" label="手机号" placeholder="手机号" readonly />
+            <van-field v-model="form.code" name="机构代码" label="机构代码" readonly />
+            <van-field name="radio" label="用户类别">
+              <template #input>
+                <van-radio-group v-model="form.role" direction="horizontal" disabled>
+                  <van-radio name="4">个人</van-radio>
+                  <van-radio name="5">机构</van-radio>
+                  <van-radio name="6">专家</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <van-field name="uploader" label="用户头像">
+              <template #input>
+                <van-image width="100" height="100" :src="form.expertimage" />
+              </template>
+            </van-field>
+            <van-field v-model="form.education" name="最高学历" label="最高学历" placeholder="最高学历" readonly />
+            <van-field v-model="form.school" name="毕业院校" label="毕业院校" placeholder="毕业院校" readonly />
+            <van-field v-model="form.birthDate" name="出生日期" label="出生日期" placeholder="出生日期" readonly />
+            <van-field v-model="form.qqwx" name="QQ/微信" label="QQ/微信" placeholder="电子邮箱" readonly />
+            <van-field v-model="form.email" name="电子邮箱" label="电子邮箱" placeholder="电子邮箱" readonly />
+            <van-field v-model="form.company" name="工作单位" label="工作单位" placeholder="工作单位" readonly />
+            <van-field v-model="form.zwzc" name="职务职称" label="职务职称" placeholder="职务职称" readonly />
+            <van-field v-model="form.expertise" name="擅长领域" label="擅长领域" placeholder="擅长领域" readonly />
+            <van-field v-model="form.workexperience" rows="1" autosize label="工作经历" type="textarea" placeholder="工作经历" />
+            <van-field v-model="form.scientific" rows="1" autosize label="科研综述" type="textarea" placeholder="科研综述" />
+            <van-field v-model="form.undertakingproject" rows="1" autosize label="承担项目" type="textarea" placeholder="承担项目" />
+            <van-field v-model="form.scienceaward" rows="1" autosize label="科技奖励" type="textarea" placeholder="科技奖励" />
+            <van-field v-model="form.social" rows="1" autosize label="社会任职" type="textarea" placeholder="社会任职" />
+            <van-field name="radio" label="用户状态">
+              <template #input>
+                <van-radio-group v-model="form.status" direction="horizontal">
+                  <van-radio name="0">已注册</van-radio>
+                  <van-radio name="1">通过</van-radio>
+                  <van-radio name="2">未通过</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <div style="margin: 16px;" v-if="form.status == '0'">
+              <van-button round block type="info" @click="onSubmit">
+                提交
+              </van-button>
+            </div>
+          </van-form>
+        </span>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'detailInfo',
+  props: {
+    form: { type: Object },
+    role: { type: String },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {
+    onSubmit() {
+      this.$emit('onSubmit', { data: this.form });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 35 - 5
src/views/adminCenter/user/parts/userlist.vue

@@ -1,9 +1,14 @@
 <template>
   <div id="userlist">
     <el-row>
-      <el-col :span="24">
-        <el-col :span="24" v-for="(item, index) in list" :key="index">
-          <p>{{ item.name }}</p>
+      <el-col :span="24" class="userlist">
+        <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
+          <p class="textOver">{{ item.name }}</p>
+          <p class="textOver">联系电话:{{ item.phone }}</p>
+          <p class="textOver">用户类别:{{ item.role == '4' ? '个人' : item.role == '5' ? '机构用户' : '专家用户' }}</p>
+          <p>
+            <el-button type="primary" size="mini" @click="shenhebtn(item)">{{ item.status == '0' ? '审核用户' : '查看用户' }}</el-button>
+          </p>
         </el-col>
       </el-col>
     </el-row>
@@ -22,7 +27,11 @@ export default {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    shenhebtn(data) {
+      this.$emit('shenhebtn', data);
+    },
+  },
   computed: {
     ...mapState(['user']),
     pageTitle() {
@@ -35,4 +44,25 @@ export default {
 };
 </script>
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.userlist {
+  padding: 0 10px;
+  .list {
+    border-bottom: 1px dashed #ccc;
+    padding: 10px 0;
+    p {
+      font-size: 16px;
+      color: #666;
+      padding: 0 0 5px 0;
+    }
+    p:nth-child(1) {
+      font-size: 18px;
+      font-weight: bold;
+      color: #000;
+    }
+    p:nth-child(4) {
+      text-align: center;
+    }
+  }
+}
+</style>

+ 20 - 15
src/views/dockCenter/applyInfo/index.vue

@@ -27,7 +27,12 @@
                 <el-col :span="24" class="btn">
                   <el-button type="success" size="mini" @click="handlecheck(item)" v-if="item.status == '0'">同意参展</el-button>
                   <el-button type="danger" size="mini" @click="handleclose(item)" v-if="item.status == '0'">拒绝参展</el-button>
-                  <el-button type="primary" size="mini" v-if="item.status == '1'"  @click="$router.push({ path: '/dockCenter/applyInfo/productList', query: { dockid: dock_id,id:item.user_id } })">
+                  <el-button
+                    type="primary"
+                    size="mini"
+                    v-if="item.status == '1'"
+                    @click="$router.push({ path: '/dockCenter/applyInfo/productList', query: { dockid: dock_id, id: item.user_id } })"
+                  >
                     审核参展产品</el-button
                   >
                 </el-col>
@@ -97,15 +102,15 @@ export default {
           status: '1',
         },
       ],
-      dock_id:''
+      dock_id: '',
     };
   },
   created() {
-        this.searchInfo();
+    this.searchInfo();
   },
   methods: {
-    ...dock({ dockQuery: 'query', dockfetch: 'fetch',dockupdate:'update' }),
-        ...apply({ applyUpdate: 'update' }),
+    ...dock({ dockQuery: 'query', dockfetch: 'fetch', dockupdate: 'update' }),
+    ...apply({ applyUpdate: 'update' }),
     async searchInfo() {
       let res = await this.dockfetch(this.user.uid);
       if (this.$checkRes(res)) {
@@ -115,17 +120,17 @@ export default {
         this.$set(this, `dock_id`, res.data.id);
       }
     },
-     // 同意参展
+    // 同意参展
     async handlecheck(data) {
       data.status = '1';
       data.dock_id = this.dock_id;
       data.id = data._id;
       let res = await this.applyUpdate(data);
-           this.$notify({
-            message: '审核通过',
-            type: 'success',
-          });
-          this.searchInfo();
+      this.$notify({
+        message: '审核通过',
+        type: 'success',
+      });
+      this.searchInfo();
     },
     // 拒绝参展
     async handleclose(data) {
@@ -133,10 +138,10 @@ export default {
       data.dock_id = this.dock_id;
       data.id = data._id;
       let res = await this.applyUpdate(data);
-        this.$notify({
-            message: '审核拒绝',
-            type: 'success',
-          });
+      this.$notify({
+        message: '审核拒绝',
+        type: 'success',
+      });
     },
   },
   computed: { ...mapState(['user']) },

+ 1 - 1
src/views/user/parts/clickBtn.vue

@@ -12,7 +12,7 @@
         <span v-else>
           <span v-if="user.role == '0'">
             <van-cell is-link title="用户管理" @click="$router.push({ path: '/adminCenter/user/index' })" />
-            <van-cell is-link title="展会管理" @click="$router.push({ path: '' })" />
+            <van-cell is-link title="展会管理" @click="$router.push({ path: '/adminCenter/duijiehui/index' })" />
             <van-cell is-link title="审核管理" @click="$router.push({ path: '' })" />
             <van-cell is-link title="交易审核" @click="$router.push({ path: '' })" />
           </span>