Quellcode durchsuchen

Merge branch 'wxl' into online

lex-xin vor 4 Jahren
Ursprung
Commit
4d25af2759

+ 29 - 2
src/views/contentManager/components/knowledge.vue

@@ -18,6 +18,14 @@
         </el-select>
       </el-form-item>
       <el-form-item>
+          <el-select v-model="searchForm.subType" clearable placeholder="请选择知识类别">
+            <el-option label="演奏小技巧" :value="1"></el-option>
+            <el-option label="乐理基础" :value="2"></el-option>
+            <el-option label="乐器保养" :value="3"></el-option>
+            <el-option label="乐曲演奏展示" :value="4"></el-option>
+          </el-select>
+        </el-form-item>
+      <el-form-item>
         <el-button @click="getList"
                    type="danger">搜索</el-button>
       </el-form-item>
@@ -59,6 +67,13 @@
           </template>
         </el-table-column>
         <el-table-column align='center'
+                         prop="subType"
+                         label="知识类别">
+          <template slot-scope="scope">
+            {{ scope.row.subType | formatSubType }}
+          </template>
+        </el-table-column>
+        <el-table-column align='center'
                          prop="order"
                          label="排序">
         </el-table-column>
@@ -113,7 +128,8 @@ export default {
   data () {
     return {
       searchForm: {
-        tenantId: '1'
+        tenantId: '1',
+        subType: null,
       },
       tableList: [],
       organId: null,
@@ -140,11 +156,11 @@ export default {
     getList () {
       let params = {
         tenantId: this.searchForm.tenantId,
+        subType: this.searchForm.subType,
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
         type: 7
       }
-      console.log(params.type)
       newsList(params).then(res => {
         if (res.code == 200) {
           this.tableList = res.data.rows
@@ -197,6 +213,17 @@ export default {
         }
       })
     }
+  },
+  filters: {
+    formatSubType(val) {
+      const template = {
+        1: '演奏小技巧',
+        2: '乐理基础',
+        3: '乐器保养',
+        4: '乐曲演奏展示'
+      }
+      return template[val]
+    }
   }
 }
 </script>

+ 63 - 5
src/views/contentManager/contentOperation.vue

@@ -60,6 +60,16 @@
           <p class="imageSize"
              v-if="imageSize">上传图片尺寸为:{{ imageSize }}</p>
         </el-form-item>
+        <el-form-item v-if="type == 7"
+                      label="知识类别"
+                      prop="subType">
+          <el-select v-model="form.subType">
+            <el-option label="演奏小技巧" :value="1"></el-option>
+            <el-option label="乐理基础" :value="2"></el-option>
+            <el-option label="乐器保养" :value="3"></el-option>
+            <el-option label="乐曲演奏展示" :value="4"></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="内容"
                       prop="content">
           <!-- bidirectional data binding(双向数据绑定) -->
@@ -97,9 +107,25 @@
                :rules="dialogFormRules">
         <el-form-item label="封面图地址"
                       label-width="90px">
-          <el-input v-model="dialogForm.poster"
+          <!-- <el-input v-model="dialogForm.poster"
                     style="width: 100%;"
-                    autocomplete="off"></el-input>
+                    autocomplete="off"></el-input> -->
+          <el-upload class="avatar-uploader"
+                     style="line-height: 0;display: inline-block"
+                     action="/api-web/uploadFile"
+                     :headers="headers"
+                     :show-file-list="false"
+                     v-loading="uploadImgLoading"
+                     accept=".jpg, .jpeg, .png"
+                     :on-success="handleImgSuccess"
+                     :on-error="handleUploadImgError"
+                     :before-upload="beforeImgUpload">
+            <img v-if="dialogForm.poster"
+                 :src="dialogForm.poster"
+                 class="avatar" />
+            <i v-else
+               class="el-icon-plus avatar-uploader-icon"></i>
+          </el-upload>
         </el-form-item>
         <el-form-item label="视频类型"
                       label-width="90px">
@@ -285,6 +311,7 @@ export default {
         videoUrl: null
       },
       uploadLoading: false,
+      uploadImgLoading: false,
       fileList: [],
       dialogFormRules: {
         url: [{ required: true, message: "请输入视频地址", trigger: "blur" }],
@@ -299,6 +326,7 @@ export default {
         status: 1,
         content: null,
         tenantId: null,
+        subType: null,
       },
       rules: {
         title: [
@@ -312,7 +340,8 @@ export default {
           { required: true, message: "请选择封面图", trigger: "blur" }
         ],
         content: [{ required: true, message: "请编辑内容", trigger: "blur" }],
-        tenantId: [{ required: true, message: "请选择适用范围", trigger: "change" }]
+        tenantId: [{ required: true, message: "请选择适用范围", trigger: "change" }],
+        subType: [{ required: true, message: "请选择知识类别", trigger: "change" }],
       },
       imageSize: null
     };
@@ -333,6 +362,7 @@ export default {
         status: 1,
         content: null,
         tenantId: null,
+        subType: null
       };
       this.$refs["form"].resetFields();
 
@@ -513,13 +543,41 @@ export default {
               status: result.status,
               memo: result.memo,
               content: result.content,
-              tenantId: result.tenantId.toString()
+              tenantId: result.tenantId.toString(),
+              subType: result.subType ? result.subType : null
             };
             this.dataInfo.updateTime = result.updateTime
           }
         });
       }
     },
+    handleUploadImgError(file) {
+      this.uploadImgLoading = false
+      this.$message.error('上传失败')
+    },
+    handleImgSuccess(res, file) {
+      this.uploadImgLoading = false
+      this.dialogForm.poster = res.data.url
+    },
+    beforeImgUpload (file) {
+      const imageType = {
+        "image/png": true,
+        "image/jpeg": true
+      };
+      const isImage = imageType[file.type];
+      const isLt2M = file.size / 1024 / 1024 < 2;
+      console.log(isImage, isLt2M)
+      if (!isImage) {
+        this.$message.error("只能上传图片格式!");
+      }
+      if (!isLt2M) {
+        this.$message.error("上传图片大小不能超过 2MB!");
+      }
+      if(isImage && isLt2M) {
+        this.uploadImgLoading = true
+      }
+      return isImage && isLt2M;
+    },
     handleAvatarSuccess (res, file) {
       this.form.coverImage = res.data.url;
     },
@@ -535,7 +593,7 @@ export default {
         this.$message.error("只能上传图片格式!");
       }
       if (!isLt2M) {
-        this.$message.error("上传头像图片大小不能超过 2MB!");
+        this.$message.error("上传图片大小不能超过 2MB!");
       }
       return isImage && isLt2M;
     },

+ 2 - 2
src/views/resetTeaming/components/strudentPayInfo.vue

@@ -186,14 +186,14 @@
               </div>
             </template>
           </el-table-column>
-          <el-table-column align="center"
+          <!-- <el-table-column align="center"
                            label="是否开启缴费">
             <template slot-scope="scope">
               <div>
                 {{ scope.row.open ? '是' : '否' }}
               </div>
             </template>
-          </el-table-column>
+          </el-table-column> -->
           <el-table-column align="center"
                            label="缴费状态">
             <template slot-scope="scope">