wuhongyu %!s(int64=4) %!d(string=hai) anos
pai
achega
802cf04cca

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

@@ -0,0 +1,131 @@
+<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: '请输入对接会标题' }]"
+        />
+
+        <van-cell title="开始时间" is-link :value="form.start_time" @click="birthdayPopup" />
+        <van-popup v-model="birthdayShow" position="bottom">
+          <van-datetime-picker type="date" @cancel="birthdayShow = false" @confirm="birthdayPicker" />
+        </van-popup>
+
+        <van-cell title="截止时间" is-link :value="form.join_end" @click="birthdayPopups" />
+        <van-popup v-model="newShow" position="bottom">
+          <van-datetime-picker type="date" @cancel="newShow = false" @confirm="birthdayPickers" />
+        </van-popup>
+      </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"> </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="简介">
+          <el-input type="textarea" v-model="form.desc"></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"></upload>
+        </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: () => ({
+    // 出生日期
+    birthday: '',
+    birthdayShow: false,
+    newShow: false,
+    // 学历
+    xlPicker: false,
+    xlList: ['中专及以上', '大专及以上', '本科及以上', '研究生及以上'],
+    // 学位
+    xwPicker: false,
+    xwList: ['学士', '硕士', '博士', '其他'],
+  }),
+  created() {},
+  computed: {
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  methods: {
+    // 出生日期
+    birthdayPopup() {
+      this.birthdayShow = true;
+    },
+
+    birthdayPopups() {
+      this.newShow = true;
+    },
+    // 确认选择之后的时间
+    birthdayPicker(val) {
+      let year = val.getFullYear();
+      let month = val.getMonth() + 1;
+      let day = val.getDate();
+      let birthday = `${year}-${month}-${day}`;
+      this.$set(this.form, `start_time`, birthday);
+      this.birthdayShow = false;
+    },
+    birthdayPickers(val) {
+      let year = val.getFullYear();
+      let month = val.getMonth() + 1;
+      let day = val.getDate();
+      let birthday = `${year}-${month}-${day}`;
+      this.$set(this.form, `join_end`, birthday);
+      this.newShow = false;
+    },
+
+    changeshenge(value) {
+      this.$emit('placesubmit', { value });
+    },
+    onSubmit() {
+      console.log(this.form);
+
+      this.$emit('onSubmit', { data: this.form });
+    },
+    // 图片上传
+    uploadSuccess({ type, data }) {
+      console.log(type, data);
+      this.$set(this.form, `${type}`, data.uri);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  margin: 0 0 50px 0;
+}
+</style>

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

@@ -0,0 +1,111 @@
+<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() {
+      console.log(this.form);
+
+      this.$emit('onSubmit', { data: this.form });
+    },
+    // 图片上传
+    uploadSuccess({ type, data }) {
+      console.log(type, data);
+      this.$set(this.form, `${type}`, data.uri);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  margin: 0 0 50px 0;
+}
+</style>

+ 29 - 1
src/router/index.js

@@ -138,8 +138,36 @@ const routes = [
     meta: { title: '用户详情', isleftarrow: true },
     component: () => import('../views/adminCenter/user/detail.vue'),
   },
+  // 管理员个人中心-对接会管理
+  {
+    path: '/adminCenter/duijiehui/index',
+    name: 'adminCenter_user_detail',
+    meta: { title: '对接会管理', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/index.vue'),
+  },
+  // 管理员个人中心-对接会详情
+  {
+    path: '/adminCenter/duijiehui/detail',
+    name: 'adminCenter_duijiehuir_detail',
+    meta: { title: '对接会详情', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/detail.vue'),
+  },
 
-  ,
+  // 管理员个人中心-对接会审核
+  {
+    path: '/adminCenter/duijiehui/examine',
+    name: 'adminCenter_duijiehuiexamine',
+    meta: { title: '对接会状态审核', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/examine.vue'),
+  },
+
+  // 管理员个人中心-对接会申请状况列表
+  {
+    path: '/adminCenter/duijiehui/apply',
+    name: 'adminCenter_duijiapply',
+    meta: { title: '对接会申请状况列表', isleftarrow: true },
+    component: () => import('../views/adminCenter/duijiehui/apply.vue'),
+  },
 ];
 
 const router = new VueRouter({

+ 3 - 0
src/store/index.js

@@ -14,6 +14,7 @@ import transaction from '@common/store/market/transaction';
 import expertsaudit from '@common/store/market/expertsaudit';
 import exportuser from '@common/store/market/exportuser';
 import user from './user';
+import place from './place';
 import * as ustate from '@/store/common/state';
 import * as umutations from '@/store/common/mutations';
 
@@ -38,5 +39,7 @@ export default new Vuex.Store({
     productpact,
     exportuser,
     user,
+    dock,
+    place,
   },
 });

+ 43 - 0
src/store/place.js

@@ -0,0 +1,43 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+Vue.use(Vuex);
+const api = {
+  userInfo: `/api/setting/xzqh/items`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async query({ commit }, { skip = 0, limit, ...info } = {}) {
+    const res = await this.$axios.$get(`${api.userInfo}`, {
+      skip,
+      limit,
+      ...info,
+    });
+    return res;
+  },
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.userInfo}`, payload);
+    return res;
+  },
+  async fetch({ commit }, payload) {
+    const res = await this.$axios.$get(`${api.userInfo}/${payload}`);
+    return res;
+  },
+  async update({ commit }, { id, ...data }) {
+    const res = await this.$axios.$post(`${api.userInfo}/${id}`, data);
+    return res;
+  },
+
+  async delete({ commit }, payload) {
+    const res = await this.$axios.$delete(`${api.userInfo}/${payload}`);
+    return res;
+  },
+};
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

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

@@ -0,0 +1,92 @@
+<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>

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

@@ -0,0 +1,119 @@
+<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');
+
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    NavBar,
+    detail, //个人信息维护
+  },
+  data: () => ({
+    // 头部标题
+    title: '',
+    // meta为true
+    isleftarrow: '',
+    // 返回
+    navShow: true,
+    // 个人信息
+    form: {},
+    option: [],
+    options: [],
+  }),
+  created() {
+    this.searchinfo();
+    this.search();
+  },
+  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 searchinfo() {
+      let level = 1;
+      let res = await this.palcequery({ level });
+      console.log(res.data);
+      console.log(res.data);
+      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>

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

@@ -0,0 +1,119 @@
+<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();
+  },
+  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 searchinfo() {
+      let level = 1;
+      let res = await this.palcequery({ level });
+      console.log(res.data);
+      console.log(res.data);
+      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>

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

@@ -0,0 +1,92 @@
+<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">
+              <list></list>
+            </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 list from './parts/list.vue';
+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: {},
+  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>

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

@@ -0,0 +1,152 @@
+<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) {
+      console.log(item);
+      item.status = '1';
+      item.dock_id = this.id;
+      item.id = item._id;
+      console.log(item);
+      let res = await this.applyUpdate(item);
+      this.$checkRes(res, '通过审核', '添加失败');
+    },
+    async jujue(item) {
+      console.log(item);
+      item.status = '2';
+      item.dock_id = this.id;
+      item.id = item._id;
+      console.log(item);
+      let res = await this.applyUpdate(item);
+      this.$checkRes(res, '审核拒绝', '添加失败');
+    },
+  },
+  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: 41%;
+
+  overflow: hidden;
+  text-overflow: ellipsis;
+  whitewhite-space: nowrap;
+}
+</style>

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

@@ -0,0 +1,143 @@
+<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.title }}</span>
+            <span style="margin:0 0 0  5px;"> <van-button type="info" size="mini" @click="toDelete(item)">删除</van-button></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="shenqing(item)">申请情况</van-button> </span>
+
+            <span style="margin:0 0 0  5px;"><van-button type="info" size="mini" @click="shenhe(item)">审核</van-button> </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>
+    </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() {
+      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 {
+  float: right;
+  padding: 10px 0 10px 10px;
+}
+.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;
+    }
+    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: 41%;
+
+  overflow: hidden;
+  text-overflow: ellipsis;
+  whitewhite-space: nowrap;
+}
+</style>

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

@@ -11,7 +11,7 @@
         <span v-else>
           <span v-if="user.role == '1'">
             <van-cell is-link title="用户管理" @click="$router.push({ path: '/adminCenter/user/index' })" />
-            <van-cell is-link title="对接会管理" />
+            <van-cell is-link title="对接会管理" @click="$router.push({ path: '/adminCenter/duijiehui/index' })" />
             <van-cell is-link title="产品供求审核管理" />
             <van-cell is-link title="产品供求交易状态审核管理" />
           </span>