Bladeren bron

1.课程管理界面增加关联公司选项

jzp 6 dagen geleden
bovenliggende
commit
f7cd6be2df
2 gewijzigde bestanden met toevoegingen van 43 en 1 verwijderingen
  1. 24 0
      src/utils/request.js
  2. 19 1
      src/views/course/userCourse/index.vue

+ 24 - 0
src/utils/request.js

@@ -25,6 +25,30 @@ service.interceptors.request.use(config => {
     config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
     config.headers['X-Frontend-Type'] = 'company'
   }
+  // get请求映射params参数
+  if (config.method === 'get' && config.params) {
+    let url = config.url + '?';
+    for (const propName of Object.keys(config.params)) {
+      const value = config.params[propName];
+      var part = encodeURIComponent(propName) + "=";
+      if (value !== null && typeof(value) !== "undefined") {
+        if (typeof value === 'object') {
+          for (const key of Object.keys(value)) {
+            if (value[key] !== null && typeof (value[key]) !== 'undefined') {
+              let params = propName + '[' + key + ']';
+              let subPart = encodeURIComponent(params) + '=';
+              url += subPart + encodeURIComponent(value[key]) + '&';
+            }
+          }
+        } else {
+          url += part + encodeURIComponent(value) + "&";
+        }
+      }
+    }
+    url = url.slice(0, -1);
+    config.params = {};
+    config.url = url;
+  }
   return config
 }, error => {
     console.log(error)

+ 19 - 1
src/views/course/userCourse/index.vue

@@ -30,6 +30,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="关联的公司" prop="companyIds">
+        <el-select v-model="queryParams.companyIdsList" multiple placeholder="请选择公司" filterable clearable style="width: 90%;">
+          <el-option
+            v-for="dict in companyOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -111,6 +121,7 @@ import Editor from '@/components/Editor/wang';
 import ImageUpload from '@/components/ImageUpload/index';
 import userCourseCatalogDetails from '../../components/course/userCourseCatalogDetails.vue';
 import { getAllCourseCategoryList,getCatePidList ,getCateListByPid} from "@/api/course/userCourseCategory";
+import {allList} from "@/api/company/company";
 
 export default {
   name: "UserCourse",
@@ -133,6 +144,7 @@ export default {
       projectOptions:[],
       tagsOptions:[],
       tags:[],
+      companyIds: [],
       courseTypeOptions:[],
       orOptions: [],
       specShowOptions: [],
@@ -156,6 +168,7 @@ export default {
       total: 0,
       // 课程表格数据
       userCourseList: [],
+      companyOptions: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -180,7 +193,8 @@ export default {
         hotRanking: null,
         integral: null,
         price: null,
-        isPrivate: 1
+        isPrivate: 1,
+        companyIdsList:[],
       },
       // 表单参数
       form: {},
@@ -276,6 +290,9 @@ export default {
     this.getDicts("sys_company_or").then(response => {
       this.orOptions = response.data;
     });
+    allList().then(response => {
+      this.companyOptions = response.rows;
+    });
   },
   methods: {
 
@@ -378,6 +395,7 @@ export default {
       };
       this.tags=[];
       this.subCategoryOptions=[]
+      this.companyIds = []
       this.resetForm("form");
     },
     /** 搜索按钮操作 */