瀏覽代碼

08/05 16:04

111
mo 4 年之前
父節點
當前提交
76653f2f51
共有 1 個文件被更改,包括 87 次插入1 次删除
  1. 87 1
      src/views/reportForm/index.vue

+ 87 - 1
src/views/reportForm/index.vue

@@ -34,6 +34,7 @@
                      class="organSelect"
                      style="width:100%"
                      filterable
+                     placeholder="请选择分部"
                      multiple
                      clearable>
             <el-option v-for="(item,index) in organList"
@@ -66,6 +67,7 @@
                      style="width:100%"
                      filterable
                      multiple
+                     placeholder="请选择分部"
                      clearable>
             <el-option v-for="(item,index) in organList"
                        :key="index"
@@ -99,6 +101,38 @@
           </el-tooltip>
         </div>
       </div>
+      <el-divider></el-divider>
+      <div class="m-core">
+        <div class="m-wrap">
+          <div class="title">乐团在读人数:
+          </div>
+          <el-select v-model.trim="musicTeamNum"
+                     class="organSelect"
+                     style="width:100%"
+                     filterable
+                     multiple
+                     placeholder="请选择分部"
+                     clearable>
+            <el-option v-for="(item,index) in organList"
+                       :key="index"
+                       :label="item.name"
+                       :value="item.id"></el-option>
+          </el-select>
+
+          <div class="newBand"
+               @click="exportMusicTeamNum"
+               v-permission="'export/musicGroupNormalStudentNum'">导出</div>
+          <el-tooltip placement="top"
+                      popper-class="mTooltip">
+            <div slot="content">
+              请选择分部后,导出乐团在读人数信息
+            </div>
+            <i class="el-icon-question micon el-tooltip"
+               style="font-size: 18px; color: #F56C6C"
+               v-permission="'export/teacherDefaultSalary'"></i>
+          </el-tooltip>
+        </div>
+      </div>
     </div>
   </div>
 </template>
@@ -122,7 +156,8 @@ export default {
       organIdList: [],
       teacherDefaultSalaryOrganId: '',
       courseArray: courseType,
-      courseScheduleType: []
+      courseScheduleType: [],
+      musicTeamNum: []
       // imageIcon: require("@/assets/images/base/warning.png")
     };
   },
@@ -294,6 +329,57 @@ export default {
           load.endLoading();
         })
       }).catch(() => { })
+    },
+    exportMusicTeamNum () {
+      let organIds = this.musicTeamNum.join(',')
+      let url = '/api-web/export/musicGroupNormalStudentNum'
+      let data = { organIds }
+      const options = {
+        method: 'POST',
+        headers: {
+          'Authorization': getToken()
+        },
+        data: qs.stringify(cleanDeep(data)),
+        url,
+        responseType: 'blob'
+      }
+      this.$confirm('您确定导出乐团在读人数', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        load.startLoading()
+        axios(options).then(res => {
+          let blob = new Blob([res.data], {
+            // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
+            type: 'application/vnd.ms-excel;charset=utf-8'
+            //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
+          })
+
+          let text = (new Response(blob)).text()
+          text.then(res => {
+            // 判断是否报错
+            if (res.indexOf('code') != -1) {
+              let json = JSON.parse(res)
+              this.$message.error(json.msg)
+            } else {
+              let objectUrl = URL.createObjectURL(blob)
+              let link = document.createElement("a")
+              let nowTime = new Date()
+              let ymd = nowTime.getFullYear() + '' + (nowTime.getMonth() + 1) + '' + nowTime.getDate()
+              let fname = ymd + '乐团在读人数' //下载文件的名字
+              link.href = objectUrl
+              link.setAttribute("download", fname)
+              document.body.appendChild(link)
+              link.click()
+            }
+          })
+          load.endLoading();
+        }).catch(error => {
+          this.$message.error('导出数据失败,请联系管理员');
+          load.endLoading();
+        })
+      }).catch(() => { })
     }
   }