소스 검색

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

lrf402788946 5 년 전
부모
커밋
a460380de5

+ 90 - 0
src/layout/duijiehui/duijiehuiexamine.vue

@@ -0,0 +1,90 @@
+<template>
+  <div id="columnDetail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="topBtn">
+            <el-button type="primary" size="mini" @click="returnBtn()">返回</el-button>
+          </el-col>
+        </el-col>
+        <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-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-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'columnDetail',
+  props: {
+    form: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {
+    onSubmit() {
+      this.$emit('submitDate', { data: this.form, id: this.form.id });
+    },
+    returnBtn() {
+      this.$router.push({ path: '/duijiehui/index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  padding: 15px 0;
+}
+.top .topTitle {
+  text-align: left;
+}
+.top .topBtn {
+  text-align: right;
+  padding: 0 5px;
+}
+</style>

+ 87 - 0
src/layout/duijiehui/duijiehuistatus.vue

@@ -0,0 +1,87 @@
+<template>
+  <div id="columnDetail">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="top">
+          <el-col :span="24" class="topBtn">
+            <el-button type="primary" size="mini" @click="returnBtn()">返回</el-button>
+          </el-col>
+        </el-col>
+        <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-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.status" label="1">开始</el-radio>
+              <el-radio v-model="form.status" label="2">结束</el-radio>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="onSubmit()">提交</el-button>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'columnDetail',
+  props: {
+    form: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {
+    onSubmit() {
+      this.$emit('submitDate', { data: this.form, id: this.form.id });
+    },
+    returnBtn() {
+      this.$router.push({ path: '/duijiehui/index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  padding: 15px 0;
+}
+.top .topTitle {
+  text-align: left;
+}
+.top .topBtn {
+  text-align: right;
+  padding: 0 5px;
+}
+</style>

+ 11 - 1
src/router/index.js

@@ -207,11 +207,21 @@ const routes = [
     path: '/duijiehui/duijieshenhe',
     component: () => import('../views/duijiehui/duijieshenhe.vue'),
   },
-  //对接会审核详情
+  //对接会子管理员审核详情
   {
     path: '/duijiehui/duijiedetail',
     component: () => import('../views/duijiehui/duijiedetail.vue'),
   },
+  //对接会管理员审核详情
+  {
+    path: '/duijiehui/duijiehuiexamine',
+    component: () => import('../views/duijiehui/duijiehuiexamine.vue'),
+  },
+  //对接会是否开始
+  {
+    path: '/duijiehui/duijiehuistatus',
+    component: () => import('../views/duijiehui/duijiehuistatus.vue'),
+  },
 
   //权限管理
   //权限管理-权限列表

+ 5 - 0
src/store/live.js

@@ -29,6 +29,11 @@ const actions = {
     const res = await this.$axios.$delete(`${api.informate}/${payload}`);
     return res;
   },
+
+  async shenhe({ commit }, { id, ...data }) {
+    const res = await this.$axios.$post(`${api.informate}/check/${id}`, data);
+    return res;
+  },
 };
 export default {
   namespaced: true,

+ 5 - 0
src/views/duijiehui/detail.vue

@@ -32,6 +32,7 @@ export default {
     this.search();
   },
   computed: {
+    ...mapState(['user']),
     id() {
       return this.$route.query.id;
     },
@@ -52,9 +53,13 @@ export default {
     },
     async onSubmit() {
       if (this.id) {
+        this.form.user_id = this.user.id;
+        console.log(this.form);
+
         let res = await this.liveupdate(this.form);
         this.$checkRes(res, '修改成功', '修改失败');
       } else {
+        this.form.user_id = this.user.id;
         let res = await this.livecreate(this.form);
         this.$checkRes(res, '添加成功', '添加失败');
       }

+ 72 - 0
src/views/duijiehui/duijiehuiexamine.vue

@@ -0,0 +1,72 @@
+<template>
+  <div id="columnDetail">
+    <el-row>
+      <el-col :span="24" class="top">
+        <topInfo :topTitle="topTitle"></topInfo>
+      </el-col>
+      <el-col :span="24" class="main">
+        <duijiehuiexamine :form="form" @submitDate="onSubmit"></duijiehuiexamine>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/public/top.vue';
+import duijiehuiexamine from '@/layout/duijiehui/duijiehuiexamine.vue';
+import { createNamespacedHelpers, mapState } from 'vuex';
+const { mapActions: live } = createNamespacedHelpers('live');
+export default {
+  name: 'columnDetail',
+  props: {},
+  components: {
+    duijiehuiexamine,
+    topInfo,
+  },
+  data: () => ({
+    topTitle: '对接会审核',
+    form: {},
+    xinxi: {},
+  }),
+  created() {
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+
+    keyWord() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      return main;
+    },
+  },
+  methods: {
+    ...live({ livefetch: 'fetch', livelist: 'query', livecreate: 'create', liveupdate: 'update', liveshenhe: 'shenhe' }),
+    async search() {
+      const res = await this.livefetch(this.id);
+      console.log(res.data);
+      this.$set(this, `form`, res.data);
+    },
+    async onSubmit() {
+      if (this.id) {
+        this.form.user_id = this.user.id;
+        let res = await this.liveshenhe(this.form);
+        this.$checkRes(res, '审核成功', '审核失败');
+      }
+      this.$router.push({ path: '/duijiehui/index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  padding: 20px;
+  margin: 10px 20px;
+  border: 1px solid #ccc;
+  width: 96%;
+}
+</style>

+ 79 - 0
src/views/duijiehui/duijiehuistatus.vue

@@ -0,0 +1,79 @@
+<template>
+  <div id="columnDetail">
+    <el-row>
+      <el-col :span="24" class="top">
+        <topInfo :topTitle="topTitle"></topInfo>
+      </el-col>
+      <el-col :span="24" class="main">
+        <duijiehuistatus :form="form" @submitDate="onSubmit"></duijiehuistatus>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import topInfo from '@/layout/public/top.vue';
+import duijiehuistatus from '@/layout/duijiehui/duijiehuistatus.vue';
+import { createNamespacedHelpers, mapState } from 'vuex';
+const { mapActions: live } = createNamespacedHelpers('live');
+export default {
+  name: 'columnDetail',
+  props: {},
+  components: {
+    duijiehuistatus,
+    topInfo,
+  },
+  data: () => ({
+    topTitle: '对接会时间状态审核',
+    form: {},
+    xinxi: {},
+  }),
+  created() {
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+
+    keyWord() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      return main;
+    },
+  },
+  methods: {
+    ...live({ livefetch: 'fetch', livelist: 'query', livecreate: 'create', liveupdate: 'update' }),
+    async search() {
+      if (this.$route.query.id) {
+        const res = await this.livefetch(this.id);
+        this.$set(this, `form`, res.data);
+      }
+    },
+    async onSubmit() {
+      if (this.id) {
+        this.form.user_id = this.user.id;
+        console.log(this.form);
+
+        let res = await this.liveupdate(this.form);
+        this.$checkRes(res, '修改成功', '修改失败');
+      } else {
+        this.form.user_id = this.user.id;
+        let res = await this.livecreate(this.form);
+        this.$checkRes(res, '添加成功', '添加失败');
+      }
+      this.$router.push({ path: '/duijiehui/index' });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  padding: 20px;
+  margin: 10px 20px;
+  border: 1px solid #ccc;
+  width: 96%;
+}
+</style>

+ 0 - 1
src/views/duijiehui/duijieshenhe.vue

@@ -86,7 +86,6 @@ export default {
       let res = await this.update(data);
       this.$checkRes(res, '审核拒绝', '添加失败');
     },
-
     async toDelete({ data }) {
       const res = await this.delete(data.id);
       if (this.$checkRes(res, '删除成功', res.errmsg || '删除失败')) this.search();

+ 59 - 2
src/views/duijiehui/index.vue

@@ -10,7 +10,18 @@
         </el-col>
         <el-col :span="24" class="main">
           <!-- <mainData :tableData="tableData" :total="total" @delete="deleteData"></mainData> -->
-          <data-table :fields="fields" @delete="toDelete" :data="list" :opera="opera" @edit="toEdit" :total="total" @query="search" @share="share"></data-table>
+          <data-table
+            :fields="fields"
+            @delete="toDelete"
+            :data="list"
+            :opera="opera"
+            @edit="toEdit"
+            :total="total"
+            @query="search"
+            @share="share"
+            @tickets="tickets"
+            @order="order"
+          ></data-table>
         </el-col>
       </el-col>
     </el-row>
@@ -21,6 +32,7 @@
 import topInfo from '@/layout/public/top.vue';
 import dataTable from '@/components/data-table.vue';
 import { mapActions, mapState, createNamespacedHelpers } from 'vuex';
+
 const { mapActions: live } = createNamespacedHelpers('live');
 export default {
   name: 'index',
@@ -41,6 +53,26 @@ export default {
         label: '查看申请情况',
         icon: 'el-icon-share',
         method: 'share',
+        display: item => {
+          return item.is_allowed == '1' ? true : false;
+        },
+      },
+
+      {
+        label: '对接会审核',
+        icon: 'el-icon-tickets',
+        method: 'tickets',
+        display: item => {
+          return item.role == '3' ? true : false;
+        },
+      },
+      {
+        label: '对接会开始状态审核',
+        icon: 'el-icon-s-order',
+        method: 'order',
+        display: item => {
+          return item.is_allowed == '1' ? true : false;
+        },
       },
 
       {
@@ -53,6 +85,17 @@ export default {
     fields: [
       { label: '对接会标题', prop: 'title' },
       { label: '对接会简介', prop: 'desc' },
+      { label: '开始时间', prop: 'start_time' },
+      { label: '报名截止时间', prop: 'join_end' },
+      { label: '对接会简介', prop: 'desc' },
+
+      {
+        label: '对接会状态',
+        prop: 'status',
+        format: item => {
+          return item === '1' ? '开始' : item === '2' ? '结束' : '准备中';
+        },
+      },
     ],
     list: [],
     total: 0,
@@ -60,12 +103,18 @@ export default {
   created() {
     this.search();
   },
-  computed: {},
+  computed: {
+    ...mapState(['user']),
+  },
   methods: {
     ...live(['query', 'delete', 'update']),
     async search({ skip = 0, limit = 10, ...info } = {}) {
       const res = await this.query({ skip, limit, ...info });
       if (this.$checkRes(res)) {
+        for (const val of res.data) {
+          val.role = this.user.role;
+        }
+        console.log(res.data);
         this.$set(this, `list`, res.data || []);
         this.$set(this, `total`, res.total);
       }
@@ -81,6 +130,14 @@ export default {
     async share({ data }) {
       this.$router.push({ path: './duijieshenhe', query: { data: data } });
     },
+
+    async tickets({ data }) {
+      this.$router.push({ path: './duijiehuiexamine', query: { id: data.id } });
+    },
+
+    async order({ data }) {
+      this.$router.push({ path: './duijiehuistatus', query: { id: data.id } });
+    },
   },
 };
 </script>