guhongwei 2 年之前
父节点
当前提交
c7f1f8d954
共有 4 个文件被更改,包括 92 次插入1 次删除
  1. 5 0
      src/router/module/app.js
  2. 2 0
      src/store/index.js
  3. 79 0
      src/views/app/videos/chat.vue
  4. 6 1
      src/views/app/videos/index.vue

+ 5 - 0
src/router/module/app.js

@@ -59,6 +59,11 @@ export default [
     meta: { title: '信息管理', is_filter: false },
     component: () => import('@/views/app/videos/add.vue'),
   },
+  {
+    path: '/app/videos/chat',
+    meta: { title: '评论管理', is_filter: false },
+    component: () => import('@/views/app/videos/chat.vue'),
+  },
   {
     path: '/app/users',
     meta: { title: '用户管理', is_filter: false },

+ 2 - 0
src/store/index.js

@@ -26,6 +26,7 @@ import appapk from '@common/src/store/app/appapk';
 import scenetype from '@common/src/store/app/scenetype';
 import scenedata from '@common/src/store/app/scenedata';
 import videos from '@common/src/store/app/videos';
+import discuss from '@common/src/store/app/discuss';
 
 Vue.use(Vuex);
 
@@ -54,5 +55,6 @@ export default new Vuex.Store({
     scenetype,
     scenedata,
     videos,
+    discuss,
   },
 });

+ 79 - 0
src/views/app/videos/chat.vue

@@ -0,0 +1,79 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main animate__animated animate__backInRight">
+        <el-col :span="24" class="one">
+          <c-search :is_search="true" :fields="fields" @search="btSearch"> </c-search>
+        </el-col>
+
+        <el-col :span="24" class="thr">
+          <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @del="toDel"> </data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions } = createNamespacedHelpers('discuss');
+
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      // 查询
+      searchInfo: {},
+      fields: [
+        { label: '序号', options: { type: 'index' } },
+        { label: '用户', model: 'user_name', isSearch: true },
+        { label: '视频名称', model: 'video_title', isSearch: true },
+        { label: '内容', model: 'content' },
+        { label: '评论时间', model: 'create_time' },
+      ],
+      opera: [{ label: '删除', method: 'del', confirm: true, type: 'danger' }],
+      list: [],
+      total: 0,
+    };
+  },
+  async created() {
+    await this.search();
+  },
+  methods: {
+    ...mapActions(['query', 'delete']),
+
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      let res = await this.query({ skip, limit, ...info, ...this.searchInfo });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    btSearch(query) {
+      this.$set(this, `searchInfo`, query);
+      this.search();
+    },
+    async toDel({ data }) {
+      let res = await this.delete(data._id);
+      if (this.$checkRes(res, '删除信息成功', res.errmsg)) this.search();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 6 - 1
src/views/app/videos/index.vue

@@ -19,7 +19,7 @@
           <c-button @toAdd="toAdd"></c-button>
         </el-col>
         <el-col :span="24" class="thr">
-          <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel"> </data-table>
+          <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @edit="toEdit" @del="toDel" @chat="toChat"> </data-table>
         </el-col>
       </el-col>
     </el-row>
@@ -97,6 +97,7 @@ export default {
       opera: [
         { label: '修改', method: 'edit' },
         { label: '删除', method: 'del', confirm: true, type: 'danger' },
+        { label: '评论管理', method: 'chat' },
       ],
       list: [],
       total: 0,
@@ -141,6 +142,10 @@ export default {
       let res = await this.delete(data._id);
       if (this.$checkRes(res, '删除信息成功', res.errmsg)) this.search();
     },
+    // 评论管理
+    toChat({ data }) {
+      this.$router.push({ path: '/app/videos/chat', query: { video_id: data._id } });
+    },
     // 字典表
     async searchOther() {
       let res;