Browse Source

添加导出功能

lex-xin 3 years ago
parent
commit
666f3f9387
3 changed files with 130 additions and 4 deletions
  1. 126 0
      src/views/reportForm/index.vue
  2. 2 2
      src/views/serverDetail/index.vue
  3. 2 2
      vue.config.js

+ 126 - 0
src/views/reportForm/index.vue

@@ -449,6 +449,48 @@
           >
         </div>
       </div>
+      <el-divider></el-divider>
+      <div class="m-core">
+        <div class="m-wrap">
+          <div class="title">服务指标明细导出:</div>
+          <select-all
+            v-model.trim="serviceOrganId"
+            class="organSelect"
+            style="width: 100%"
+            filterable
+            multiple
+            placeholder="请选择分部"
+            clearable
+          >
+            <el-option
+              v-for="(item, index) in selects.branchs"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </select-all>
+          <el-date-picker
+            v-model.trim="serviceTimer"
+            style="width: 420px; margin-left: 15px"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            @change="getWeekTime"
+            :picker-options="{
+              firstDayOfWeek: 1,
+            }"
+          ></el-date-picker>
+          <el-button
+            style="margin-left: 10px"
+            type="primary"
+            @click="exportDetailService"
+            v-permission="'export/exercisesSituation'"
+            >导出</el-button
+          >
+        </div>
+      </div>
     </div>
   </div>
 </template>
@@ -486,6 +528,8 @@ export default {
       trainOrganId: null,
       questionActiveType: "CLOUD_TEACHER_FEEDBACK",
       vipOrganId: [],
+      serviceOrganId: [], // 服务报表
+      serviceTimer: []
     };
   },
   mounted() {
@@ -992,6 +1036,88 @@ export default {
       //   "您确定导出vip网管课?"
       // );
     },
+    exportDetailService() {
+      let sunday, monday;
+      if (this.serviceTimer && this.serviceTimer.length > 1) {
+        monday = this.serviceTimer[0];
+        sunday = this.serviceTimer[1];
+      } else {
+        monday = null;
+        sunday = null;
+      }
+      Export(
+        this,
+        {
+          url: "/api-web/export/exercisesSituation",
+          fileName: "服务指标明细.xls",
+          method: "post",
+          params: qs.stringify({
+            monday: monday,
+            sunday: sunday,
+            organId: this.serviceOrganId.join(","),
+          }),
+        },
+        "您确定导出服务指标明细?"
+      );
+    },
+    getNowDateAndMonday(time) {
+      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
+      let serverDate = new Date(time);
+      if (serverDate.getDay() == 0) {
+        timestamp -= 7 * 24 * 60 * 60 * 1000;
+      }
+      let mondayTime =
+        timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
+
+      let mondayData = new Date(mondayTime);
+      //年
+      let mondayY = mondayData.getFullYear();
+      //月
+      let mondayM =
+        mondayData.getMonth() + 1 < 10
+          ? "0" + (mondayData.getMonth() + 1)
+          : mondayData.getMonth() + 1;
+      //日
+      let mondayD =
+        mondayData.getDate() < 10
+          ? "0" + mondayData.getDate()
+          : mondayData.getDate();
+
+      let str = mondayY + "-" + mondayM + "-" + mondayD;
+      return str;
+    },
+    getNowDateAndSunday(time) {
+      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
+      let serverDate = new Date(time);
+
+      let num = 7 - serverDate.getDay();
+      if (num == 7) {
+        num = 0;
+      }
+      let sundayTiem = timestamp + num * 24 * 60 * 60 * 1000;
+      let SundayData = new Date(sundayTiem);
+      //年
+      let tomorrowY = SundayData.getFullYear(); //月
+      let tomorrowM =
+        SundayData.getMonth() + 1 < 10
+          ? "0" + (SundayData.getMonth() + 1)
+          : SundayData.getMonth() + 1;
+      //日
+      let tomorrowD =
+        SundayData.getDate() < 10
+          ? "0" + SundayData.getDate()
+          : SundayData.getDate();
+      let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
+      return str;
+    },
+    getWeekTime(val) {
+      if (val && val.length > 0) {
+        let start = this.getNowDateAndMonday(val[0]);
+        let end = this.getNowDateAndSunday(val[1]);
+        this.serviceTimer.splice(0, 1, start);
+        this.serviceTimer.splice(1, 1, end);
+      }
+    },
   },
   // AccountDetailTimer
 };

+ 2 - 2
src/views/serverDetail/index.vue

@@ -205,7 +205,7 @@
           </el-table-column>
            <el-table-column align="center" label="预期训练布置">
             <template slot-scope="scope">
-              <div>{{ scope.row.expectExercisesNum + "次" }}</div>
+              <div>{{ scope.row.expectExercisesNum + "次" }}</div>
             </template>
           </el-table-column>
           <el-table-column align="center" width="120" prop>
@@ -232,7 +232,7 @@
                   scope.row.actualExercisesNum < scope.row.expectExercisesNum
                     ? 'color:red'
                     : ''
-                ">{{ scope.row.actualExercisesNum + "次" }}</div>
+                ">{{ scope.row.actualExercisesNum + "次" }}</div>
             </template>
           </el-table-column>
           <el-table-column align="center" prop label="提交次数">

+ 2 - 2
vue.config.js

@@ -18,9 +18,9 @@ const name = defaultSettings.title || '管乐迷后台管理系统' // page titl
 // let target = 'https://online.dayaedu.com' //线上
 // let target = 'http://192.168.3.139:8000' // 箭河
 // let target = 'http://192.168.3.124:8000' //邹璇
-// let target = 'http://192.168.3.112:8000' //勇哥
+let target = 'http://192.168.3.119:8000' //勇哥
 // let target = 'http://dev.dayaedu.com' // 开发环境
-let target = 'https://test.dayaedu.com' //测试环境
+// let target = 'https://test.dayaedu.com' //测试环境
 // let target = 'http://192.168.3.134:8000' // 乔
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {