Browse Source

feat: 解决,内容管理,视频管理详情,翻页面,回到之前界面数据不刷新

332777428@qq.com 2 months ago
parent
commit
164a23c770
3 changed files with 72 additions and 50 deletions
  1. 22 20
      src/router/index.js
  2. 49 28
      src/views/content/video/detail.vue
  3. 1 2
      src/views/content/video/index.vue

+ 22 - 20
src/router/index.js

@@ -90,7 +90,27 @@ export const constantRoutes = [{
 ]
 
 // 动态路由,基于用户权限动态去加载
-export const dynamicRoutes = [{
+export const dynamicRoutes = [
+  //****************** 内容管理 *******************//
+  // 视频管理
+  {
+    path: '/content',
+    name: "videoIndex",
+    component: Layout,
+    hidden: true,
+    permissions: ['content:video:list'],
+    name: 'videoList',
+    children: [{
+      path: 'video/detail',
+      component: () => import('@/views/content/video/detail'),
+      name: 'videoDetail',
+      meta: {
+        title: '视频详情',
+        activeMenu: '/content/video'
+      }
+    }]
+  },
+  {
     path: '/system/user-auth',
     component: Layout,
     hidden: true,
@@ -165,25 +185,7 @@ export const dynamicRoutes = [{
       }
     }]
   },
-  // 内容管理
-  // 视频管理
-  {
-    path: '/content',
-    name: "videoManagement",
-    component: Layout,
-    hidden: true,
-    permissions: ['content:video:list'],
-    name: 'videoList',
-    children: [{
-      path: 'video/detail',
-      component: () => import('@/views/content/video/detail'),
-      name: 'videoDetail',
-      meta: {
-        title: '视频详情',
-        activeMenu: '/content/video'
-      }
-    }]
-  },
+
 
   // 服务管理-VIP套餐
   {

+ 49 - 28
src/views/content/video/detail.vue

@@ -1,81 +1,102 @@
 <template>
-  <div class='app-container'>
-    <el-form :model="form" ref="form" :rules="rules" label-width="auto" :disabled="disabled">
+  <div class="app-container">
+    <el-form
+      :model="form"
+      ref="form"
+      :rules="rules"
+      label-width="auto"
+      :disabled="disabled"
+    >
       <el-form-item label="视频宣传名称:" prop="name">
         <el-input v-model="form.name" placeholder="请输入视频宣传名称" />
       </el-form-item>
       <el-form-item label="设备型号:">
-        <el-input v-model="form.clientType" placeholder="请输入设备型号" disabled />
+        <el-input
+          v-model="form.clientType"
+          placeholder="请输入设备型号"
+          disabled
+        />
       </el-form-item>
       <el-form-item label="视频宣传内容:" prop="content">
         <Editor v-model="form.content" :min-height="250" :readOnly="disabled" />
       </el-form-item>
     </el-form>
-    <div style="margin-left: 120px;">
+    <div style="margin-left: 120px">
       <el-button @click="close">取消</el-button>
-      <el-button v-if="!disabled" type="primary" @click="getSubmit">确定</el-button>
+      <el-button v-if="!disabled" type="primary" @click="getSubmit"
+        >确定</el-button
+      >
     </div>
   </div>
 </template>
 
 <script>
-import { submit, detail } from '@/api/content/video'
+import { detail, submit } from "@/api/content/video";
 export default {
+  name: "videoDetail",
   data() {
     return {
       form: {
-        id: this.$route.query.id
+        id: this.$route.query.id,
       },
       // 只读
       disabled: Boolean(this.$route.query.boolean),
       // 校验
       rules: {
-        name: [{
-          required: true, message: '请输入视频宣传名称', trigger: 'blur'
-        }],
-        content: [{
-          required: true, message: '请输入视频宣传内容', trigger: 'blur'
-        }]
-      }
-    }
+        name: [
+          {
+            required: true,
+            message: "请输入视频宣传名称",
+            trigger: "blur",
+          },
+        ],
+        content: [
+          {
+            required: true,
+            message: "请输入视频宣传内容",
+            trigger: "blur",
+          },
+        ],
+      },
+    };
   },
   mounted() {
     if (this.form.id) {
-      this.getDetail()
+      this.getDetail();
     }
   },
   methods: {
     // 详情
     getDetail() {
-      detail(this.form.id).then(res => {
+      detail(this.form.id).then((res) => {
         if (res.code === 0) {
-          this.form = res.data
+          this.form = res.data;
         }
-      })
+      });
     },
 
     // 确定
     getSubmit() {
       this.$refs.form.validate((valid) => {
         if (valid) {
-          submit(this.form).then(res => {
+          submit(this.form).then((res) => {
             if (res.code === 0) {
-              this.$message.success('提交成功!')
-              this.close()
+              this.$message.success("提交成功!");
+              this.close();
             }
-          })
+          });
         } else {
-          return false
+          return false;
         }
-      })
+      });
     },
 
     // 取消
     close() {
       this.$tab.closeOpenPage("/content/video");
-    }
-  }
-}
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>

+ 1 - 2
src/views/content/video/index.vue

@@ -11,7 +11,6 @@
           end-placeholder="结束日期"
           value-format="yyyy-MM-dd HH:mm:ss"
         />
-
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" @click="getSearch"
@@ -99,7 +98,7 @@ import { change, list } from "@/api/content/video";
 import { dialogCallBack } from "@/utils/DialogUtil";
 import VueQr from "vue-qr";
 export default {
-  name: "VideoManagement",
+  name: "VideoIndex",
   components: {
     VueQr,
   },