yangzj пре 2 година
родитељ
комит
546e596d0c

+ 19 - 3
src/api/CooperativeColleges/index.js

@@ -1,15 +1,15 @@
 /**
- * @Description: 合作企业
+ * @Description: 合作院校
  * @Author: 空白格
  * @Date: 2022-08-11 17:29:58
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-11 17:29:59
+ * @LastEditTime: 2022-08-16 10:59:17
  * @FilePath: \veterans_client_web\src\api\CooperativeColleges\index.js
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
  */
 import request from '@/utils/request'
 /**
- * 获取合作企业列表
+ * 获取合作学校列表
  * @param {*} params
  * @returns
  */
@@ -23,3 +23,19 @@ export function getSchoolList(params) {
     params
   })
 }
+
+/**
+ * 获取院校详情
+ * @param {*} params
+ * @returns
+ */
+export function getSchoolDetails(params) {
+  return request({
+    url: '/app/school/getDetail/' + params.schoolId,
+    method: 'get',
+    headers: {
+      noLoginFlag: true
+    },
+    params
+  })
+}

+ 19 - 0
src/router/index.js

@@ -67,6 +67,17 @@ const routes = [
           title: '合作院校'
         }
       },
+      {
+        path: 'collegesdetails',
+        name: 'CollegesDetailsIndex',
+        component: () =>
+          import(
+            '@/views/CooperativeColleges/CollegesDetails/CollegesDetailsIndex.vue'
+          ),
+        meta: {
+          title: '院校详情'
+        }
+      },
       {
         path: 'skilltraining',
         name: 'SkillTrainingIndex',
@@ -75,6 +86,14 @@ const routes = [
           title: '技能培训'
         }
       },
+      {
+        path: 'coursevideo',
+        name: 'CourseVideoIndex',
+        component: () => import('@/views/SkillTraining/CourseVideo/CourseVideoIndex.vue'),
+        meta: {
+          title: '技能培训'
+        }
+      },
       {
         path: 'workguide',
         name: 'WorkGuideIndex',

+ 43 - 38
src/utils/request.js

@@ -1,9 +1,9 @@
-import axios from 'axios';
-import { Notification, MessageBox, Message, Loading } from 'element-ui';
-import { getToken } from '@/utils/auth';
+import axios from 'axios'
+import { Notification, MessageBox, Message, Loading } from 'element-ui'
+import { getToken } from '@/utils/auth'
 import { tansParams } from '@/utils/utils'
 
-axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';
+axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 
 // 创建axios实例
 const service = axios.create({
@@ -11,87 +11,92 @@ const service = axios.create({
   baseURL: '/api',
   // 超时
   timeout: 60000
-});
+})
 
 // request拦截器
 service.interceptors.request.use(
   (config) => {
     // 不需要token验证标识
     if (config.headers.noLoginFlag) {
-      config.headers['noLoginFlag'] = true;
+      config.headers['noLoginFlag'] = true
     }
     // 是否需要设置 token
-    const isToken = (config.headers || {}).isToken === false;
+    const isToken = (config.headers || {}).isToken === false
 
     // 让每个请求携带自定义token 请根据实际情况自行修改
     if (getToken() && !isToken) {
-      config.headers['Authorization'] = `Bearer ${getToken()}`;
+      config.headers['Authorization'] = `Bearer ${getToken()}`
     }
     // url拼接时间戳参数
-    config.url = `${config.url}?_t=${new Date().getTime()}`;
+    config.url = `${config.url}?_t=${new Date().getTime()}`
     // get请求映射params参数
     if (config.method === 'get' && config.params) {
-      let url = config.url + '&' + tansParams(config.params);
-      url = url.slice(0, -1);
-      config.params = {};
-      config.url = url;
+      let url = config.url + '&' + tansParams(config.params)
+      url = url.slice(0, -1)
+      config.params = {}
+      config.url = url
     }
-    return config;
+    return config
   },
   (error) => {
-    Promise.reject(error);
+    Promise.reject(error)
   }
-);
+)
 
 // 响应拦截器
 service.interceptors.response.use(
   (res) => {
     // 未设置状态码则默认成功状态
-    const code = res.data.code || 200;
+    const code = res.data.code || 200
     // 鉴权校验
     if (code === 401) {
-      MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
-        confirmButtonText: '重新登录',
-        cancelButtonText: '取消',
-        type: 'warning'
-      })
+      MessageBox.confirm(
+        '登录状态已过期,您可以继续留在该页面,或者重新登录',
+        '系统提示',
+        {
+          confirmButtonText: '重新登录',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }
+      )
         .then(() => {
-
+          location.href = '/login'
         })
         .catch(() => {
-          return Promise.reject('登录状态已过期,请重新登录。');
-        });
+          return Promise.reject('登录状态已过期,请重新登录。')
+        })
+      return Promise.reject('登录状态已过期,请重新登录。')
     } else if (code === 500) {
       Message({
         message: msg,
         type: 'error'
-      });
-      return Promise.reject(new Error(msg));
+      })
+      return Promise.reject(new Error(msg))
     } else if (code !== 200) {
       Notification.error({
         title: res?.data?.msg
-      });
-      return Promise.reject('error');
+      })
+      return Promise.reject('error')
     } else {
-      return res.data;
+      return res.data
     }
   },
   (error) => {
-    let { message } = error;
+    let { message } = error
     if (message == 'Network Error') {
-      message = '后端接口连接异常';
+      message = '后端接口连接异常'
     } else if (message.includes('timeout')) {
-      message = '系统接口请求超时';
+      message = '系统接口请求超时'
     } else if (message.includes('Request failed with status code')) {
-      message = '系统接口' + message.substr(message.length - 3) + '异常';
+      message = '系统接口' + message.substr(message.length - 3) + '异常'
     }
     Message({
       message: message,
       type: 'error',
       duration: 5 * 1000
-    });
-    return Promise.reject(error);
+    })
+    return Promise.reject(error)
   }
-);
+)
 
-export default service;
+export default service

+ 449 - 0
src/views/CooperativeColleges/CollegesDetails/CollegesDetailsIndex.vue

@@ -0,0 +1,449 @@
+<!--
+ * @Description: 合作院校详情
+ * @Author: 空白格
+ * @Date: 2022-08-16 10:40:45
+ * @LastEditors: 空白格
+ * @LastEditTime: 2022-08-16 11:44:55
+ * @FilePath: \veterans_client_web\src\views\CooperativeColleges\CollegesDetails\CollegesDetailsIndex.vue
+ * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
+-->
+<template>
+  <div class="app-main enterprise-details" v-loading="loading">
+    <div class="enterprise-details-header">
+      <div class="enterprise-details-header-box app-main-box">
+        <div class="edhb-left">
+          <div class="edhb-left-logo">
+            <el-avatar
+              shape="square"
+              :size="73"
+              :src="details.schoolLogoUrl"
+              @error="errorHandler"
+            >
+              <el-avatar
+                shape="square"
+                :size="73"
+                :src="require('@/assets/images/default-school.png')"
+              ></el-avatar>
+            </el-avatar>
+          </div>
+          <div class="edhb-left-info">
+            <div class="edhb-left-info-name">
+              {{ details.schoolName || "-" }}
+            </div>
+            <div
+              class="edhb-left-info-link"
+              @click="jumpExternalLink(details.schoolUrl)"
+            >
+              {{ details.schoolUrl || "-" }}
+            </div>
+          </div>
+        </div>
+        <div class="edhb-right">
+          <div class="edhb-right-item">
+            {{ details.schoolNature | filtersDict(schoolNatureList) }}、{{
+              details.trainMethod || "-"
+            }}
+          </div>
+          <div class="edhb-right-item">{{ details.linkPhone || "-" }}</div>
+          <div class="edhb-right-item position">
+            {{ details.schoolAddress || "-" }}
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="app-main-box enterprise-details-main">
+      <!-- 学校信息 -->
+      <div class="app-main-box-content enterprise-details-main-info">
+        <!-- 学校信息 -->
+        <div class="edmi-introduce">
+          <h4>学校信息</h4>
+          <template v-if="details.detatil">
+            <div v-html="details.detatil"></div>
+          </template>
+          <template v-else>
+            <div class="edmi-introduce-content">暂无学校信息</div>
+          </template>
+        </div>
+        <!-- 学校相册 -->
+        <!-- <div class="edmi-album">
+          <h4>学校相册</h4>
+          <div
+            class="edmi-album-list"
+            v-if="
+              details.environmentUrlList && details.environmentUrlList.length
+            "
+          >
+            <el-carousel
+              height="178px"
+              :autoplay="false"
+              arrow="never"
+              indicator-position="none"
+            >
+              <el-carousel-item
+                v-for="(item, Cindex) in details.environmentUrlList"
+                :key="Cindex"
+              >
+                <el-row :gutter="18">
+                  <el-col
+                    :xs="24"
+                    :sm="12"
+                    :md="12"
+                    :lg="6"
+                    :xl="6"
+                    v-for="(img, index) in item"
+                    :key="index"
+                  >
+                    <el-image
+                      :src="img"
+                      class="image"
+                      fit="contain"
+                      :preview-src-list="item"
+                    >
+                      <div slot="placeholder" class="image-slot">
+                        加载图片中<span class="dot">...</span>
+                      </div>
+                    </el-image>
+                  </el-col>
+                </el-row>
+              </el-carousel-item>
+            </el-carousel>
+          </div>
+          <el-empty v-else :image-size="80" description="无公司相册数据"></el-empty>
+        </div> -->
+        <!-- 双高专业 -->
+        <div class="edmi-position">
+          <h4>双高专业</h4>
+          <div
+            class="edmi-position-list"
+            v-if="details.twinList && details.twinList.length"
+          >
+            <el-row :gutter="12">
+              <el-col
+                :xs="24"
+                :sm="24"
+                :md="24"
+                :lg="12"
+                :xl="12"
+                v-for="(item, index) in details.twinList"
+                :key="index"
+              >
+                <div class="edmi-position-list-item">
+                  <div class="epli-left">
+                    {{ item.professionName }}(专业代码:{{
+                      item.professionCode
+                    }})
+                  </div>
+                  <div class="epli-right">
+                    <span class="el-icon-arrow-right"></span>
+                  </div>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+          <el-empty
+            :image-size="80"
+            v-else
+            description="无双高专业数据"
+          ></el-empty>
+        </div>
+        <!-- 招生专业 -->
+        <div class="edmi-position">
+          <h4>招生专业</h4>
+          <div
+            class="edmi-position-list"
+            v-if="details.enrollList && details.enrollList.length"
+          >
+            <el-row :gutter="12">
+              <el-col
+                :xs="24"
+                :sm="24"
+                :md="24"
+                :lg="12"
+                :xl="12"
+                v-for="(item, index) in details.enrollList"
+                :key="index"
+              >
+                <div class="edmi-position-list-item">
+                  <div class="epli-left">
+                    {{ item.professionName }}(专业代码:{{
+                      item.professionCode
+                    }})
+                  </div>
+                  <div class="epli-right">
+                    <span class="el-icon-arrow-right"></span>
+                  </div>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+          <el-empty
+            v-else
+            :image-size="80"
+            description="无招生专业数据"
+          ></el-empty>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getSchoolDetails } from "@/api/CooperativeColleges";
+import { getDictData } from "@/api/Dict";
+export default {
+  name: "EnterpriseDetailsIndex",
+  data() {
+    return {
+      details: {},
+      schoolNatureList: [],
+      loading: false,
+    };
+  },
+  created() {
+    this.getDict();
+    const { schoolId } = this.$route.query;
+    if (schoolId) {
+      this.getSchoolDetails(schoolId);
+    }
+  },
+  methods: {
+    /**
+     * 获取字典
+     * @date 2022-08-11
+     * @returns {any}
+     */
+    getDict() {
+      getDictData({ key: "school_nature" }).then((res) => {
+        this.schoolNatureList = res.data;
+      });
+    },
+    /**
+     * 获取院校详情
+     * @date 2022-08-15
+     * @param {any} schoolId
+     * @returns {any}
+     */
+    getSchoolDetails(schoolId) {
+      this.loading = true;
+      getSchoolDetails({ schoolId }).then((res) => {
+        this.details = res?.data;
+        this.loading = false;
+      });
+    },
+    /**
+     * 加载logo错误触发
+     * @date 2022-08-15
+     * @returns {any}
+     */
+    errorHandler() {
+      return true;
+    },
+    /**
+     * 跳转外部链接
+     * @date 2022-08-16
+     * @param {any} link
+     * @returns {any}
+     */
+    jumpExternalLink(link) {
+      if (link) {
+        window.open(link);
+      }
+    },
+  },
+  filters: {
+    filtersDict(val, list) {
+      let label = "-";
+      list.forEach((item) => {
+        if (Number(val) === Number(item.text)) {
+          label = item.label;
+        }
+      });
+      return label;
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.enterprise-details {
+  &-header {
+    background-color: #43565f;
+    &-box {
+      margin: 0 auto;
+      padding: 36px 0;
+      display: flex;
+      justify-content: space-between;
+      .edhb-left {
+        display: flex;
+        &-logo {
+          margin-right: 13px;
+          :deep(.el-avatar) {
+            background-color: #65cafd;
+          }
+        }
+        &-info {
+          &-name {
+            font-size: 28px;
+            color: #fff;
+            font-family: SourceHanSansCN;
+            margin-bottom: 5px;
+          }
+          &-link {
+            font-size: 14px;
+            color: #fff;
+            font-family: SourceHanSansCN;
+            cursor: pointer;
+          }
+        }
+      }
+      .edhb-right {
+        &-item {
+          color: rgba($color: #fff, $alpha: 0.7);
+          font-size: 14px;
+          text-align: right;
+          margin-bottom: 8px;
+        }
+        .position {
+          position: relative;
+          &::before {
+            content: "";
+            display: inline-block;
+            width: 13px;
+            height: 17px;
+            background: url("./../../../assets/images/dingwei.svg") no-repeat
+              center center;
+            background-size: cover;
+            vertical-align: bottom;
+            margin-right: 5px;
+          }
+        }
+      }
+    }
+  }
+  &-main {
+    &-hot {
+      margin-bottom: 20px;
+      .edmh-header {
+        display: flex;
+        justify-content: space-between;
+        align-items: flex-end;
+        margin-bottom: 18px;
+
+        &-view {
+          color: #858585;
+          font-size: 14px;
+          cursor: pointer;
+        }
+      }
+      h4 {
+        color: #1a1a1a;
+        font-size: 20px;
+      }
+      .edmh-list {
+        &-item {
+          background-color: #fff;
+          padding: 18px 20px;
+          border-radius: 6px;
+          display: flex;
+          justify-content: space-between;
+          cursor: pointer;
+          &:hover {
+            opacity: 0.8;
+          }
+          &-left {
+            .elil-item {
+              color: #919191;
+              font-size: 14px;
+              margin-bottom: 10px;
+              &:first-child {
+                color: #1a1a1a;
+                font-size: 20px;
+              }
+              &:last-child {
+                font-size: 13px;
+              }
+            }
+          }
+          &-right {
+            text-align: right;
+            display: flex;
+            flex-direction: column;
+            .elir-item {
+              font-size: 13px;
+              color: #919191;
+              &:first-child {
+                flex: 1;
+                color: #ee5a0f;
+                font-size: 18px;
+              }
+            }
+          }
+        }
+      }
+    }
+    &-info {
+      padding-bottom: 100px;
+      .edmi-introduce {
+        margin-top: 10px;
+        margin-bottom: 24px;
+        h4 {
+          font-size: 20px;
+          color: #1a1a1a;
+          font-family: SourceHanSansCN;
+          margin-bottom: 10px;
+        }
+        &-content {
+          line-height: 30px;
+          font-size: 14px;
+          color: #6c6c6c;
+        }
+      }
+      .edmi-album {
+        margin-bottom: 24px;
+        h4 {
+          font-size: 20px;
+          color: #1a1a1a;
+          font-family: SourceHanSansCN;
+          margin-bottom: 24px;
+        }
+        &-list {
+          .image {
+            width: 100%;
+            height: 178px;
+          }
+        }
+      }
+      .edmi-position {
+        h4 {
+          font-size: 20px;
+          color: #1a1a1a;
+          font-family: SourceHanSansCN;
+          margin-bottom: 20px;
+        }
+        &-list {
+          &-item {
+            display: flex;
+            justify-content: space-between;
+            padding: 14px 16px;
+            box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+            margin-bottom: 20px;
+            cursor: pointer;
+          }
+        }
+        .pagination {
+          text-align: center;
+          margin-top: 20px;
+          :deep(.el-pager .active) {
+            background-color: #ff3939;
+          }
+          :deep(.el-pagination.is-background
+              .el-pager
+              li:not(.disabled).active) {
+            background-color: #ff3939;
+          }
+        }
+      }
+    }
+  }
+}
+</style>

+ 26 - 3
src/views/CooperativeColleges/CooperativeCollegesIndex.vue

@@ -3,7 +3,7 @@
  * @Author: 空白格
  * @Date: 2022-08-11 17:17:33
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-12 09:13:31
+ * @LastEditTime: 2022-08-16 11:59:58
  * @FilePath: \veterans_client_web\src\views\CooperativeColleges\CooperativeCollegesIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->
@@ -22,7 +22,7 @@
             v-for="(school, index) in schoolList"
             :key="index"
           >
-            <div class="company-list-item">
+            <div class="company-list-item" @click="jumpPage(school)">
               <div class="company-list-item-left">
                 <el-image
                   class="image"
@@ -119,7 +119,30 @@ export default {
         this.loading = false;
       });
     },
-    currentChange(page) {},
+    /**
+     * 分页切换触发
+     * @date 2022-08-16
+     * @param {any} page
+     * @returns {any}
+     */
+    currentChange(page) {
+      this.queryParams.pageNum = page
+      this.getList()
+    },
+    /**
+     * 跳转指定页面
+     * @date 2022-08-16
+     * @param {any} school
+     * @returns {any}
+     */
+    jumpPage(school) {
+      this.$router.push({
+        path: '/collegesdetails',
+        query: {
+          schoolId: school.id
+        }
+      })
+    }
   },
   filters: {
     filtersDict(val, list) {

+ 1 - 1
src/views/CooperativeEnterprise/CooperativeEnterpriseIndex.vue

@@ -3,7 +3,7 @@
  * @Author: 空白格
  * @Date: 2022-08-11 16:00:30
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-15 15:23:01
+ * @LastEditTime: 2022-08-16 13:25:37
  * @FilePath: \veterans_client_web\src\views\CooperativeEnterprise\CooperativeEnterpriseIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->

+ 8 - 6
src/views/CooperativeEnterprise/EnterpriseDetails/EnterpriseDetailsIndex.vue

@@ -3,12 +3,12 @@
  * @Author: 空白格
  * @Date: 2022-08-15 14:54:50
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-15 18:04:03
+ * @LastEditTime: 2022-08-16 13:27:50
  * @FilePath: \veterans_client_web\src\views\CooperativeEnterprise\EnterpriseDetails\EnterpriseDetailsIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->
 <template>
-  <div class="app-main enterprise-details">
+  <div class="app-main enterprise-details" v-loading="loading">
     <div class="enterprise-details-header">
       <div class="enterprise-details-header-box app-main-box">
         <div class="edhb-left">
@@ -84,7 +84,7 @@
               </div>
             </el-col>
           </el-row>
-          <el-empty v-else description="无热招职位数据"></el-empty>
+          <el-empty v-else :image-size="80" description="无热招职位数据"></el-empty>
         </div>
       </div>
       <!-- 公司信息 -->
@@ -140,7 +140,7 @@
               </el-carousel-item>
             </el-carousel>
           </div>
-          <el-empty v-else description="无公司相册数据"></el-empty>
+          <el-empty v-else :image-size="80" description="无公司相册数据"></el-empty>
         </div>
         <!-- 公司职位 -->
         <div class="edmi-position">
@@ -211,7 +211,7 @@
               </el-pagination>
             </div>
           </div>
-          <el-empty v-else description="无在招职业数据"></el-empty>
+          <el-empty v-else :image-size="80" description="无在招职业数据"></el-empty>
         </div>
       </div>
     </div>
@@ -230,6 +230,7 @@ export default {
   data() {
     return {
       details: {},
+      loading: false,
       parseTime: parseTime,
       hotPositionList: [],
       educationList: [],
@@ -280,6 +281,7 @@ export default {
      * @returns {any}
      */
     getCompanyDetails(companyId) {
+      this.loading = true
       getCompanyDetails({ companyId }).then((res) => {
         this.details = res?.data;
         let arr = [],
@@ -288,7 +290,7 @@ export default {
           arr.push(data.slice(i, i + 4));
         }
         this.details.environmentUrlList = arr;
-        console.log(this.details);
+        this.loading = false
       });
     },
     /**

+ 10 - 4
src/views/PersonalCenter/PersonalCenterIndex.vue

@@ -3,7 +3,7 @@
  * @Author: 空白格
  * @Date: 2022-08-15 10:09:03
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-15 14:49:44
+ * @LastEditTime: 2022-08-16 13:42:52
  * @FilePath: \veterans_client_web\src\views\PersonalCenter\PersonalCenterIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->
@@ -232,7 +232,9 @@ export default {
      */
     getPersonInfo() {
       getPersonInfoData().then((res) => {
-        this.userInfo = res?.data;
+        if (res.code === 200) {
+          this.userInfo = res?.data;
+        }
       });
     },
     /**
@@ -242,7 +244,9 @@ export default {
      */
     getPersonIntegral() {
       getPersonIntegralData().then((res) => {
-        this.integralTotal = res?.data;
+        if (res.code === 200) {
+          this.integralTotal = res?.data;
+        }
       });
     },
     /**
@@ -252,7 +256,9 @@ export default {
      */
     getPersonStaticis() {
       getPersonStaticisData().then((res) => {
-        this.learnObj = res?.data;
+        if (res.code === 200) {
+          this.learnObj = res?.data;
+        }
       });
     },
   },

+ 24 - 6
src/views/RecruitmentEmployment/RecruitmentEmploymentIndex.vue

@@ -3,7 +3,7 @@
  * @Author: 空白格
  * @Date: 2022-08-11 13:25:43
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-12 09:10:10
+ * @LastEditTime: 2022-08-16 12:00:16
  * @FilePath: \veterans_client_web\src\views\RecruitmentEmployment\RecruitmentEmploymentIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->
@@ -15,7 +15,9 @@
       <div class="app-main-box-content enterprise-recommendation">
         <div class="enterprise-recommendation-title">
           <div class="title">企业推荐</div>
-          <div class="more" @click="jumpPage">更多</div>
+          <div class="more" @click="jumpPage('/cooperativeenterprise')">
+            更多
+          </div>
         </div>
         <div class="enterprise-recommendation-list">
           <el-carousel
@@ -39,7 +41,14 @@
                     v-for="(company, cIndex) in item"
                     :key="cIndex"
                   >
-                    <div class="company-list-item">
+                    <div
+                      class="company-list-item"
+                      @click="
+                        jumpPage('/enterprisedetails', {
+                          companyId: company.id,
+                        })
+                      "
+                    >
                       <div class="logo">
                         <el-image
                           class="image"
@@ -248,9 +257,18 @@ export default {
       });
       return label;
     },
-    jumpPage() {
-      this.$router.push('/cooperativeenterprise')
-    }
+    /**
+     * 跳转指定链接
+     * @date 2022-08-16
+     * @param {any} path
+     * @returns {any}
+     */
+    jumpPage(path, query) {
+      this.$router.push({
+        path,
+        query,
+      });
+    },
   },
 };
 </script>

+ 12 - 0
src/views/SkillTraining/CourseVideo/CourseVideoIndex.vue

@@ -0,0 +1,12 @@
+<!--
+ * @Description: 课程视频
+ * @Author: 空白格
+ * @Date: 2022-08-16 13:29:35
+ * @LastEditors: 空白格
+ * @LastEditTime: 2022-08-16 13:29:35
+ * @FilePath: \veterans_client_web\src\views\SkillTraining\CourseVideo\CourseVideoIndex.vue
+ * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
+-->
+<template>
+  <div>课程视频</div>
+</template>

+ 18 - 2
src/views/SkillTraining/SkillTrainingIndex.vue

@@ -3,7 +3,7 @@
  * @Author: 空白格
  * @Date: 2022-08-11 17:53:41
  * @LastEditors: 空白格
- * @LastEditTime: 2022-08-12 13:34:34
+ * @LastEditTime: 2022-08-16 13:33:13
  * @FilePath: \veterans_client_web\src\views\SkillTraining\SkillTrainingIndex.vue
  * @Copyright: Copyright (c) 2016~2022 by 空白格, All Rights Reserved.
 -->
@@ -77,7 +77,10 @@
               v-for="(item, index) in packageList"
               :key="index"
             >
-              <div class="stcp-list-item">
+              <div
+                class="stcp-list-item"
+                @click="jumpPage('/coursevideo', { id: item.id })"
+              >
                 <div class="stcp-list-item-image">
                   <el-image :src="item.img" class="image" fit="cover">
                     <div slot="placeholder" class="image-slot">
@@ -191,6 +194,19 @@ export default {
         this.learnTime = (Number(res.data.learnTime) / 3600).toFixed(2);
       });
     },
+    /**
+     * 跳转指定页面
+     * @date 2022-08-16
+     * @param {any} path
+     * @param {any} query
+     * @returns {any}
+     */
+    jumpPage(path, query) {
+      this.$router.push({
+        path,
+        query
+      })
+    },
     /**
      * 分页切换
      * @date 2022-08-12