wuhongyu 5 năm trước cách đây
mục cha
commit
9304a5992d

+ 2 - 2
src/components/enterprise/duijiedetail.vue

@@ -69,7 +69,7 @@ export default {
   background-position: center center;
 }
 .left {
-  min-height: 900px;
+  height: 520px;
   margin: 0 10px 0 0;
   width: 20%;
 }
@@ -82,7 +82,7 @@ export default {
 }
 .right {
   width: 79%;
-  min-height: 1140px;
+  height: 520px;
   overflow: hidden;
   background-color: #fff;
 }

+ 92 - 0
src/components/enterprise/duijiestatus.vue

@@ -0,0 +1,92 @@
+<template>
+  <div id="adviserList">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="top">
+          <heads></heads>
+        </el-col>
+        <div class="w_1200">
+          <el-col :span="5" class="left">
+            <el-col :span="24" class="leftTop">
+              <mainMenu :liebiaoList="liebiaoList" v-on="$listeners"></mainMenu>
+            </el-col>
+          </el-col>
+          <el-col :span="19" class="right">
+            <duijiestatus v-on="$listeners" :options="options" :form="form" :liebiaoList="liebiaoList"></duijiestatus>
+          </el-col>
+        </div>
+        <el-col :span="24" class="foots">
+          <foot></foot>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import heads from '@/layout/enterprise/heads.vue';
+import mainMenu from '@/layout/enterprise/mainMenu.vue';
+import shenhe from '@/layout/enterprise/shenhe.vue';
+import foot from '@/layout/live/foot.vue';
+export default {
+  name: 'adviserList',
+  props: {
+    info: null, //站点信息
+    liebiaoList: null, //分类导航
+    options: null,
+    form: null,
+  },
+  components: {
+    heads,
+    mainMenu, //分类导航
+    duijiestatus, //基本信息
+    foot,
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+
+.menu {
+  height: 70px;
+  overflow: hidden;
+}
+.main {
+  min-height: 740px;
+  overflow: hidden;
+  padding: 10px 0 0 0;
+  background: #e9edf6;
+  background-attachment: fixed;
+  background-size: cover;
+  background-position: center center;
+}
+.left {
+  height: 520px;
+  margin: 0 10px 0 0;
+  width: 20%;
+}
+
+.leftTop {
+  background: #fff;
+  height: 520px;
+  overflow: hidden;
+  margin: 0 0 10px 0;
+}
+.right {
+  width: 79%;
+  height: 520px;
+  overflow: hidden;
+  background-color: #fff;
+}
+.foots {
+  margin: 10px 0 0 0;
+}
+</style>

+ 92 - 0
src/components/enterprise/shenhe.vue

@@ -0,0 +1,92 @@
+<template>
+  <div id="adviserList">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="top">
+          <heads></heads>
+        </el-col>
+        <div class="w_1200">
+          <el-col :span="5" class="left">
+            <el-col :span="24" class="leftTop">
+              <mainMenu :liebiaoList="liebiaoList" v-on="$listeners"></mainMenu>
+            </el-col>
+          </el-col>
+          <el-col :span="19" class="right">
+            <shenhe v-on="$listeners" :options="options" :form="form" :liebiaoList="liebiaoList"></shenhe>
+          </el-col>
+        </div>
+        <el-col :span="24" class="foots">
+          <foot></foot>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import heads from '@/layout/enterprise/heads.vue';
+import mainMenu from '@/layout/enterprise/mainMenu.vue';
+import shenhe from '@/layout/enterprise/shenhe.vue';
+import foot from '@/layout/live/foot.vue';
+export default {
+  name: 'adviserList',
+  props: {
+    info: null, //站点信息
+    liebiaoList: null, //分类导航
+    options: null,
+    form: null,
+  },
+  components: {
+    heads,
+    mainMenu, //分类导航
+    shenhe, //基本信息
+    foot,
+  },
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+
+.menu {
+  height: 70px;
+  overflow: hidden;
+}
+.main {
+  min-height: 740px;
+  overflow: hidden;
+  padding: 10px 0 0 0;
+  background: #e9edf6;
+  background-attachment: fixed;
+  background-size: cover;
+  background-position: center center;
+}
+.left {
+  height: 520px;
+  margin: 0 10px 0 0;
+  width: 20%;
+}
+
+.leftTop {
+  background: #fff;
+  height: 520px;
+  overflow: hidden;
+  margin: 0 0 10px 0;
+}
+.right {
+  width: 79%;
+  height: 520px;
+  overflow: hidden;
+  background-color: #fff;
+}
+.foots {
+  margin: 10px 0 0 0;
+}
+</style>

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

@@ -33,8 +33,25 @@
 
             <el-table-column label="操作">
               <template slot-scope="scope">
-                <el-button size="mini" type="text" @click.prevent="handleEdit(scope.row.id)">编辑</el-button>
-                <el-button size="mini" type="text" @click.prevent="deleteRow(scope.row.id)">删除</el-button>
+                <el-button size="mini" type="text" @click.prevent="handleEdit(scope.row.id)"
+                  ><el-tooltip class="item" effect="dark" content="编辑" placement="top-start"> <i class="el-icon-edit"></i> </el-tooltip
+                ></el-button>
+
+                <el-button size="mini" type="text" @click.prevent="handleshenhe(scope.row.id)" v-if="scope.row.is_allowed == '0'">
+                  <el-tooltip class="item" effect="dark" content="审核" placement="top-start"><i class="el-icon-refresh"></i></el-tooltip>
+                </el-button>
+
+                <el-button size="mini" type="text" @click.prevent="deleteRow(scope.row.id)">
+                  <el-tooltip class="item" effect="dark" content="删除" placement="top-start"><i class="el-icon-delete"></i></el-tooltip>
+                </el-button>
+
+                <el-button size="mini" type="text" v-if="scope.row.is_allowed == '1'" @click.prevent="status(scope.row.id)">
+                  <el-tooltip class="item" effect="dark" content="审核对接会状态" placement="top-start"><i class="el-icon-bangzhu"></i></el-tooltip>
+                </el-button>
+
+                <el-button size="mini" type="text" v-if="scope.row.is_allowed == '1'" @click.prevent="deleteRow(scope.row.id)">
+                  <el-tooltip class="item" effect="dark" content="查看申请状况" placement="top-start"><i class="el-icon-pie-chart"></i></el-tooltip>
+                </el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -80,10 +97,17 @@ export default {
       console.log(id);
       this.$router.push({ path: '/enterprise/duijiedetail', query: { id: id } });
     },
-
+    handleshenhe(id) {
+      this.$router.push({ path: '/enterprise/shenhe', query: { id: id } });
+    },
     deleteRow(id) {
       this.$emit('deleteRow', id);
     },
+
+    status(id) {
+      console.log(id);
+            this.$router.push({ path: '/enterprise/duijiestatus', query: { id: id } });
+    },
   },
 };
 </script>

+ 1 - 1
src/layout/enterprise/duijiecontext.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="rightcont">
     <el-col class="zhengce">
-      <el-col :span="24" class="topTitle"> <span>基本信息</span></el-col>
+      <el-col :span="24" class="topTitle"> <span>详情</span></el-col>
       <el-col :span="24" class="info">
         <el-col :span="24" class="messgae">
           <el-form ref="form" :model="form" label-width="120px">

+ 116 - 0
src/layout/enterprise/duijiestatus.vue

@@ -0,0 +1,116 @@
+<template>
+  <div id="rightcont">
+    <el-col class="zhengce">
+      <el-col :span="24" class="topTitle"> <span>详情</span></el-col>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="messgae">
+          <el-form ref="form" :model="form" label-width="120px">
+            <el-form-item label="对接会标题">
+              <el-input v-model="form.title" :disabled="true"></el-input>
+            </el-form-item>
+            <el-form-item label="开始时间">
+              <el-date-picker
+                :disabled="true"
+                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
+                :disabled="true"
+                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.place" :disabled="true" placeholder="请选择地址">
+                <el-option v-for="item in options" :key="item.name" :label="item.name" :value="item.name"> </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="简介">
+              <el-input type="textarea" v-model="form.desc" :disabled="true"></el-input>
+            </el-form-item>
+            <el-form-item label="审核" :disabled="true">
+              <el-radio v-model="form.is_allowed" label="1">允许</el-radio>
+              <el-radio v-model="form.is_allowed" label="2">拒绝</el-radio>
+            </el-form-item>
+
+            <el-form-item label="拒绝理由" v-if="form.is_allowed == 2">
+              <el-input type="textarea" v-model="form.reason" placeholder="无"></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit()">提交</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+
+export default {
+  name: 'rightcont',
+  props: {
+    userinfo: null,
+    form: null,
+    options: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    onSubmit() {
+      console.log(this.form);
+      this.$emit('onSubmit', { data: this.form });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.zhengce {
+  padding: 20px;
+}
+.zhengce .topTitle {
+  font-size: 22px;
+  color: #22529a;
+  margin: 0 0 20px 0;
+}
+
+.zhengce .info {
+  float: left;
+  width: 100%;
+}
+.zhengce .info p {
+  float: left;
+  width: 100%;
+  padding: 10px 0;
+}
+.zhengce .info p span {
+  float: left;
+  margin: 0 10px 0 0;
+}
+.zhengce .info p image {
+  float: left;
+  width: 100px;
+  height: 100px;
+}
+</style>

+ 116 - 0
src/layout/enterprise/shenhe.vue

@@ -0,0 +1,116 @@
+<template>
+  <div id="rightcont">
+    <el-col class="zhengce">
+      <el-col :span="24" class="topTitle"> <span>详情</span></el-col>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="messgae">
+          <el-form ref="form" :model="form" label-width="120px">
+            <el-form-item label="对接会标题">
+              <el-input v-model="form.title" :disabled="true"></el-input>
+            </el-form-item>
+            <el-form-item label="开始时间">
+              <el-date-picker
+                :disabled="true"
+                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
+                :disabled="true"
+                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.place" :disabled="true" placeholder="请选择地址">
+                <el-option v-for="item in options" :key="item.name" :label="item.name" :value="item.name"> </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="简介">
+              <el-input type="textarea" v-model="form.desc" :disabled="true"></el-input>
+            </el-form-item>
+            <el-form-item label="审核" :disabled="true">
+              <el-radio v-model="form.is_allowed" label="1">允许</el-radio>
+              <el-radio v-model="form.is_allowed" label="2">拒绝</el-radio>
+            </el-form-item>
+
+            <el-form-item label="拒绝理由" v-if="form.is_allowed == 2">
+              <el-input type="textarea" v-model="form.reason" placeholder="无"></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit()">提交</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+
+export default {
+  name: 'rightcont',
+  props: {
+    userinfo: null,
+    form: null,
+    options: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    onSubmit() {
+      console.log(this.form);
+      this.$emit('onSubmit', { data: this.form });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.zhengce {
+  padding: 20px;
+}
+.zhengce .topTitle {
+  font-size: 22px;
+  color: #22529a;
+  margin: 0 0 20px 0;
+}
+
+.zhengce .info {
+  float: left;
+  width: 100%;
+}
+.zhengce .info p {
+  float: left;
+  width: 100%;
+  padding: 10px 0;
+}
+.zhengce .info p span {
+  float: left;
+  margin: 0 10px 0 0;
+}
+.zhengce .info p image {
+  float: left;
+  width: 100px;
+  height: 100px;
+}
+</style>

+ 7 - 0
src/router/index.js

@@ -176,6 +176,13 @@ const live = [
     meta: { title: '对接会', subSite: true },
     component: () => import('../views/enterprise/duijiedetail.vue'),
   },
+  //展会预约-创建
+  {
+    path: '/enterprise/shenhe',
+    name: 'exhibitishenhe',
+    meta: { title: '对接会状态审核', subSite: true },
+    component: () => import('../views/enterprise/shenhe.vue'),
+  },
   //企业-基本信息
   {
     path: '/enterprise/enterprisejb',

+ 2 - 2
src/store/index.js

@@ -17,7 +17,7 @@ import personalroom from '@common/store/live/personalroom';
 import markettype from '@common/store/market/markettype';
 import enterpriseproject from '@common/store/market/enterpriseproject';
 import newmarketproduct from '@common/store/market/newmarketproduct';
-import palce from '@common/store/palce/palce';
+import place from '@common/store/place/place';
 
 Vue.use(Vuex);
 
@@ -41,6 +41,6 @@ export default new Vuex.Store({
     markettype,
     enterpriseproject,
     newmarketproduct,
-    palce,
+    place,
   },
 });

+ 2 - 2
src/views/enterprise/duijiedetail.vue

@@ -16,7 +16,7 @@ import duijiedetailDetail from '@/components/enterprise/duijiedetail.vue';
 import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
 const { mapActions: login } = createNamespacedHelpers('login');
 const { mapActions: dock } = createNamespacedHelpers('dock');
-const { mapActions: palce } = createNamespacedHelpers('palce');
+const { mapActions: place } = createNamespacedHelpers('place');
 export default {
   name: 'adviserList',
   props: {},
@@ -55,7 +55,7 @@ export default {
   },
   methods: {
     ...dock(['query', 'delete', 'update', 'create', 'fetch']),
-    ...palce({ palcequery: 'query', transactiondtetle: 'delete' }),
+    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
 
     ...login({ logout: 'logout', transactiondtetle: 'delete' }),
     // 查询基本信息

+ 119 - 0
src/views/enterprise/duijiestatus.vue

@@ -0,0 +1,119 @@
+<template>
+  <div id="adviserList">
+    <duijiestatus-detail
+      :info="info"
+      :options="options"
+      :form="form"
+      @onSubmit="onSubmit"
+      :liebiaoList="liebiaoList"
+      @onsave="onsaveClick"
+    ></duijiestatus-detail>
+  </div>
+</template>
+
+<script>
+import duijiestatusDetail from '@/components/enterprise/duijiestatus.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: login } = createNamespacedHelpers('login');
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: place } = createNamespacedHelpers('place');
+export default {
+  name: 'adviserList',
+  props: {},
+  components: {
+    duijiestatusDetail,
+  },
+  data: () => ({
+    form: {},
+    info: {},
+    options: [],
+    liebiaoList: [
+      { name: '基本信息' },
+      { name: '消息管理' },
+      { name: '我的发布' },
+      { name: '事项管理' },
+      { name: '展会预约' },
+      { name: '返回首页' },
+      { name: '修改密码' },
+      { name: '注销账号' },
+    ],
+  }),
+  created() {
+    this.searchInfo();
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+    keyWord() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      return main;
+    },
+  },
+  methods: {
+    ...dock(['query', 'delete', 'update', 'create', 'fetch', 'shenhe']),
+    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
+
+    ...login({ logout: 'logout', transactiondtetle: 'delete' }),
+    // 查询基本信息
+    async searchInfo() {
+      if (this.id) {
+        let res = await this.fetch(this.id);
+        if (res.errcode === 0) {
+          this.$set(this, `form`, res.data);
+        }
+      }
+    },
+    async search() {
+      let parent = 220000;
+      let level = 2;
+      let res = await this.palcequery({ parent, level });
+
+      this.$set(this, `options`, res.data);
+    },
+
+    async onSubmit() {
+      if (this.id) {
+        this.form.user_id = this.user.uid;
+        let res = await this.shenhe(this.form);
+        this.$checkRes(res, '审核成功', '审核失败');
+      }
+      this.$router.push({ path: '/enterprise/appointment' });
+    },
+
+    async onsaveClick({ id }) {
+      console.log(id);
+      if (id === '基本信息') {
+        this.$router.push({ path: '/enterprise/enterprisejb' });
+      } else if (id === '消息管理') {
+        this.$router.push({ path: '/enterprise/enterprisexx' });
+      } else if (id === '我的发布') {
+        this.$router.push({ path: '/enterprise/enterprisefabu' });
+      } else if (id === '事项管理') {
+        this.$router.push({ path: '/enterprise/enterprisedg' });
+      } else if (id === '展会预约') {
+        this.$router.push({ path: '/enterprise/appointment' });
+      } else if (id === '修改密码') {
+        this.$router.push({ path: '/enterprise/xiugai' });
+      } else if (id === '返回首页') {
+        this.$router.push({ path: '/' });
+      } else if (id === '注销账号') {
+        this.logout();
+        this.$message({
+          message: '注销成功',
+          type: 'success',
+        });
+        this.toLogin();
+      }
+    },
+    async toLogin() {
+      this.$router.push({ path: '/' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 112 - 0
src/views/enterprise/shenhe.vue

@@ -0,0 +1,112 @@
+<template>
+  <div id="adviserList">
+    <shenhe-detail :info="info" :options="options" :form="form" @onSubmit="onSubmit" :liebiaoList="liebiaoList" @onsave="onsaveClick"></shenhe-detail>
+  </div>
+</template>
+
+<script>
+import shenheDetail from '@/components/enterprise/shenhe.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: login } = createNamespacedHelpers('login');
+const { mapActions: dock } = createNamespacedHelpers('dock');
+const { mapActions: place } = createNamespacedHelpers('place');
+export default {
+  name: 'adviserList',
+  props: {},
+  components: {
+    shenheDetail,
+  },
+  data: () => ({
+    form: {},
+    info: {},
+    options: [],
+    liebiaoList: [
+      { name: '基本信息' },
+      { name: '消息管理' },
+      { name: '我的发布' },
+      { name: '事项管理' },
+      { name: '展会预约' },
+      { name: '返回首页' },
+      { name: '修改密码' },
+      { name: '注销账号' },
+    ],
+  }),
+  created() {
+    this.searchInfo();
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+    keyWord() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      return main;
+    },
+  },
+  methods: {
+    ...dock(['query', 'delete', 'update', 'create', 'fetch', 'shenhe']),
+    ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
+
+    ...login({ logout: 'logout', transactiondtetle: 'delete' }),
+    // 查询基本信息
+    async searchInfo() {
+      if (this.id) {
+        let res = await this.fetch(this.id);
+        if (res.errcode === 0) {
+          this.$set(this, `form`, res.data);
+        }
+      }
+    },
+    async search() {
+      let parent = 220000;
+      let level = 2;
+      let res = await this.palcequery({ parent, level });
+
+      this.$set(this, `options`, res.data);
+    },
+
+    async onSubmit() {
+      if (this.id) {
+        this.form.user_id = this.user.uid;
+        let res = await this.shenhe(this.form);
+        this.$checkRes(res, '审核成功', '审核失败');
+      }
+      this.$router.push({ path: '/enterprise/appointment' });
+    },
+
+    async onsaveClick({ id }) {
+      console.log(id);
+      if (id === '基本信息') {
+        this.$router.push({ path: '/enterprise/enterprisejb' });
+      } else if (id === '消息管理') {
+        this.$router.push({ path: '/enterprise/enterprisexx' });
+      } else if (id === '我的发布') {
+        this.$router.push({ path: '/enterprise/enterprisefabu' });
+      } else if (id === '事项管理') {
+        this.$router.push({ path: '/enterprise/enterprisedg' });
+      } else if (id === '展会预约') {
+        this.$router.push({ path: '/enterprise/appointment' });
+      } else if (id === '修改密码') {
+        this.$router.push({ path: '/enterprise/xiugai' });
+      } else if (id === '返回首页') {
+        this.$router.push({ path: '/' });
+      } else if (id === '注销账号') {
+        this.logout();
+        this.$message({
+          message: '注销成功',
+          type: 'success',
+        });
+        this.toLogin();
+      }
+    },
+    async toLogin() {
+      this.$router.push({ path: '/' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>