Jelajahi Sumber

添加声部

lex-xin 4 tahun lalu
induk
melakukan
1bf0ecf07a

+ 6 - 3
src/layout/components/Navbar.vue

@@ -9,10 +9,10 @@
       <el-popover placement="top-start"
                   width="300"
                   trigger="hover">
-        <template>
+        <div class="popover-container">
           <!-- <p style="color: red">{{ organName }}</p> -->
           <el-tag class="navbar_tag" type="info" v-for="item in organNameList" :key="item">{{ item }}</el-tag>
-        </template>
+        </div>
         <span slot="reference">{{ organName.length > 10 ? organName.substr(0, 10) + '...' : organName}}</span>
       </el-popover>
     </div>
@@ -138,7 +138,6 @@ export default {
     this.toggleSideBar();
     this.username = this.$store.getters.name;
     this.organNameList = this.organName.split(',')
-    console.log(this.organNameList)
   },
   methods: {
     toggleSideBar () {
@@ -223,6 +222,10 @@ export default {
 .navbar_tag {
   margin: 0 5px 8px;
 }
+.popover-container {
+  max-height: 350px;
+  overflow-y: scroll;
+}
 .navbar {
   display: flex;
   flex-direction: row;

+ 1 - 0
src/router/notKeepAliveList.js

@@ -80,5 +80,6 @@ export default [
   '/business/vipReset', // vip修改
   '/business/vipDetail', // vip查看
   '/contentManager/contentManager', // 内容管理
+  '/contentManager/contentOperation', // 内容编辑
   '/business/teamCLassList', // 班级列表
 ]

+ 20 - 4
src/views/contentManager/components/knowledge.vue

@@ -9,7 +9,7 @@
              saveKey="contentKnowledge"
              @submit="search"
              :model="searchForm">
-      <el-form-item prop="hasPracticeCourse">
+      <el-form-item prop="tenantId">
         <el-select class="multiple"
                    v-model.trim="searchForm.tenantId"
                    placeholder="请选择对内或对外">
@@ -19,7 +19,7 @@
                      value="2"></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item>
+      <el-form-item prop="subType">
         <el-select v-model="searchForm.subType"
                    clearable
                    placeholder="请选择知识类别">
@@ -33,6 +33,11 @@
                      :value="4"></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item prop="subjectId">
+          <el-select v-model="searchForm.subjectId" clearable filterable placeholder="请选择声部">
+            <el-option v-for="item in selects.subjects" :value="item.id" :label="item.name" :key="item.id"></el-option>
+          </el-select>
+        </el-form-item>
       <el-form-item>
         <el-button native-type="submit" type="danger">搜索</el-button>
       </el-form-item>
@@ -56,7 +61,7 @@
         <el-table-column align='center'
                          label="跳转连接">
           <template slot-scope="scope">
-            <overflow-text :text="scope.row.linkUrl + '/' + scope.row.id"></overflow-text>
+            <overflow-text width="100%" :text="scope.row.linkUrl + '/' + scope.row.id"></overflow-text>
             <!-- {{ scope.row.linkUrl + '/' + scope.row.id }} -->
           </template>
         </el-table-column>
@@ -82,6 +87,13 @@
           </template>
         </el-table-column>
         <el-table-column align='center'
+                         prop="subjectName"
+                         label="所属声部">
+          <template slot-scope="scope">
+            {{ scope.row.subjectName }}
+          </template>
+        </el-table-column>
+        <el-table-column align='center'
                          prop="order"
                          label="排序">
         </el-table-column>
@@ -129,6 +141,7 @@
 import { newsList, newsUpdate, newsDel } from '@/api/contentManager'
 import pagination from '@/components/Pagination/index'
 import store from '@/store'
+import cleanDeep from 'clean-deep'
 import { permission } from '@/utils/directivePage'
 export default {
   name: 'knowledge',
@@ -139,6 +152,7 @@ export default {
     return {
       searchForm: {
         tenantId: '1',
+        subjectId: null,
         subType: null,
       },
       tableList: [],
@@ -154,6 +168,7 @@ export default {
     }
   },
   mounted () {
+    this.$store.dispatch('setSubjects')
     this.getList()
   },
   methods: {
@@ -169,11 +184,12 @@ export default {
         clientName: 'manage',
         tenantId: this.searchForm.tenantId,
         subType: this.searchForm.subType,
+        subjectId: this.searchForm.subjectId,
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
         type: 7
       }
-      newsList(params).then(res => {
+      newsList(cleanDeep(params)).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows
           this.pageInfo.total = res.data.total

+ 24 - 4
src/views/contentManager/contentOperation.vue

@@ -20,13 +20,24 @@
         </el-form-item>
         <el-form-item label="适用范围"
                       prop="tenantId">
-          <el-select v-model="form.tenantId">
+          <el-select v-model="form.tenantId" style="width: 400px !important">
             <el-option label="对内"
                        value="1"></el-option>
             <el-option label="对外"
                        value="2"></el-option>
           </el-select>
         </el-form-item>
+
+        <el-form-item 
+          prop="subjectIdList"  v-if="type == 7"
+          label="所属声部"
+          :rules="[{required: true, message:'请选择声部', trigger: 'blur, change'}]">
+          <el-select v-model="form.subjectIdList" clearable filterable multiple placeholder="请选择声部" style="width: 400px !important">
+            <el-option v-for="item in selects.subjects" :value="item.id" :label="item.name" :key="item.id"></el-option>
+          </el-select>
+        </el-form-item>
+
+
         <!-- banner图 && app按钮管理,才需要添加版本号 -->
         <el-form-item label="版本号"
                       v-if="type == 3 || type == 6 || type == 8">
@@ -56,7 +67,7 @@
         <!-- 广告管理才有类型 -->
         <el-form-item label="广告类型"
                       v-if="type == 8">
-          <el-select v-model="uploadType"
+          <el-select v-model="uploadType" style="width: 400px !important"
                      :disabled="pageType != 'create'">
             <el-option label="图片"
                        :value="1"></el-option>
@@ -118,7 +129,7 @@
                       label="知识类别"
                       prop="subType"
                       :rules="[{ required: true, message: '请选择知识类别', trigger: 'change' }]">
-          <el-select v-model="form.subType">
+          <el-select v-model="form.subType" style="width: 400px !important">
             <el-option label="演奏小技巧"
                        :value="1"></el-option>
             <el-option label="乐理基础"
@@ -414,6 +425,7 @@ export default {
         videoCoverImage: null,
         attribute1: null, // 时长
         linkUrl: url,
+        subjectIdList: null, // 声部编号
         type: query.type,
         status: 1,
         content: null,
@@ -454,6 +466,7 @@ export default {
         attribute1: null,
         linkUrl: url,
         type: query.type,
+        subjectIdList: null,
         status: 1,
         content: null,
         tenantId: null,
@@ -471,6 +484,8 @@ export default {
     }
     this.type = query.type;
     this.pageType = query.pageType;
+    // 获取声部
+    this.$store.dispatch('setSubjects')
     this.init();
   },
   methods: {
@@ -574,13 +589,18 @@ export default {
     onSubmit (formName) {
       this.$refs[formName].validate(valid => {
         if (valid) {
-          let form = Object.assign({}, this.form)
+          let { subjectIdList, ...rest } = this.form
+          let form = {
+            ...rest,
+            subjectIdList: subjectIdList.join(',')
+          }
           let actionTime = form.actionTime
           // console.log(actionTime)
           if(actionTime && actionTime.length > 0) {
             form.onlineTime = dayjs(actionTime[0]).format('YYYY-MM-DD HH:mm:ss')
             form.offlineTime = dayjs(actionTime[1]).format('YYYY-MM-DD HH:mm:ss')
           }
+
           if (this.pageType == "create") {
             if (form.id) {
               // 判断有没有Id,如果有则删除