longyvfengyun
2024-08-01 51b64e0927465d2f4903a9f402a47d90ebc1336a
src/views/dataTest/history.vue
@@ -41,10 +41,13 @@
          class="item"
          effect="dark"
          content="报表导出"
          placement="bottom">
          <i class="el-icon-printer"
             @click="showReportDialog"
             style="font-size: 22px"></i>
          placement="bottom"
        >
          <i
            class="el-icon-printer"
            @click="showReportDialog"
            style="font-size: 22px"
          ></i>
        </el-tooltip>
      </div>
      <div slot="box-tools" class="box-tools">
@@ -52,10 +55,13 @@
          class="item"
          effect="dark"
          content="数据导出"
          placement="bottom">
          <i class="iconfont el-icon-daochu"
          placement="bottom"
        >
          <i
            class="iconfont el-icon-daochu"
            @click="showDataDifferDialog"
            style="font-size: 24px"></i>
            style="font-size: 24px"
          ></i>
        </el-tooltip>
      </div>
      <div slot="box-tools" class="box-tools">
@@ -488,12 +494,15 @@
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false">
      :modal-append-to-body="false"
    >
      <report-params-setting
        :batt="batt" v-if="reportParamsDialog"
        :batt="batt"
        v-if="reportParamsDialog"
        @success="handleSuccessReport"
        :record-time="test_record.value"
        :visible.sync="reportParamsDialog"></report-params-setting>
        :visible.sync="reportParamsDialog"
      ></report-params-setting>
    </el-dialog>
  </flex-layout>
</template>
@@ -514,9 +523,10 @@
  searchBattTestData,
  searchHistory,
  addStandardLine,
  getTestParam, exportReport,
  getTestParam,
  exportReport,
} from "./js/history";
import { searchParam as searchParam1 } from "@/views/pageSetting/js/api"
import { searchParam as searchParam1 } from "@/views/pageSetting/js/api";
import {
  formatSeconds,
@@ -589,6 +599,7 @@
import ReportParamsSetting from "@/views/dataTest/components/reportParamsSetting.vue";
import interceptDataByTime from "@/assets/js/tools/interceptDataByTime";
import getExportExcelUrl from "@/assets/js/tools/getExportExcelUrl";
import getXuHang from "@/assets/js/tools/getXuHang";
const {
  cap: CAP,
  vol: VOL,
@@ -1481,7 +1492,9 @@
                let lastRecordT = data[data.length - 1].recordTime;
                let cutTime = this.cutTime * 60 * 1000;
                let cutStamp = new Date(lastRecordT).getTime() - cutTime;
                data = data.filter((v) => new Date(v.recordTime).getTime() < cutStamp);
                data = data.filter(
                  (v) => new Date(v.recordTime).getTime() < cutStamp
                );
              }
            }
            // console.log(data.length, '2');
@@ -1736,7 +1749,21 @@
          batt.monVolStd,
          1
        );
        let xuhang = batt.loadCurr ? real_cap / batt.loadCurr : 0;
        console.log(
          "实际容量:" +
            batt.monCapStd +
            "小时率:" +
            GetHourRate(batt.monCapStd, avg_curr) +
            "已测容量:" +
            list.testCap +
            "最大:" +
            batNum.max +
            "最小:" +
            batNum.min +
            "标称电压:" +
            batt.monVolStd
        );
        let xuhang = getXuHang(real_cap, batt.loadCurr);
        this.top.xuhang = xuhang ? sethoubeiTime(xuhang) : "---";
      }
    },
@@ -1812,24 +1839,29 @@
      this.reportParamsDialog = true;
    },
    async handleSuccessReport(params) {
      let data = {...params};
      let data = { ...params };
      let dataList = allData.dataList;
      console.log(dataList);
      let list = interceptDataByTime(params.dataCollectionInterval*3600, dataList);
      let list = interceptDataByTime(
        params.dataCollectionInterval * 3600,
        dataList
      );
      console.log(list);
      data.testRecordCount = list[0].testRecordCount;
      data.recordNums = list.map(item=>{
        return item.recordNum;
      }).join(',');
      data.headName = data.headName.join(',');
      data.groupPeoples = data.groupPeoples.join(',');
      data.recordNums = list
        .map((item) => {
          return item.recordNum;
        })
        .join(",");
      data.headName = data.headName.join(",");
      data.groupPeoples = data.groupPeoples.join(",");
      const loading = this.$layer.loading();
      try{
      try {
        let res = await exportReport(data);
        this.$layer.close(loading);
        this.reportParamsDialog = false;
        const nameList = res.headers["content-disposition"];
        const fileName = nameList.split('=')[1];
        const fileName = nameList.split("=")[1];
        let blob = res.data;
        let url = window.URL.createObjectURL(blob);
        let a = document.createElement("a");
@@ -1837,7 +1869,7 @@
        a.download = decodeURIComponent(fileName);
        a.click();
        window.URL.revokeObjectURL(url);
      }catch (e) {
      } catch (e) {
        this.$layer.close(loading);
        this.$layer.msg("导出失败");
        console.log(e);
@@ -2520,8 +2552,16 @@
        const h = this.$createElement;
        this.$confirm(
          h("div", null, [
            h("p", null, "标称容量:" + searchParams.moncapstd.toHold(CAP) + "AH"),
            h("p", null, "标称电压:" + searchParams.monvolstd.toHold(VOL) + "V"),
            h(
              "p",
              null,
              "标称容量:" + searchParams.moncapstd.toHold(CAP) + "AH"
            ),
            h(
              "p",
              null,
              "标称电压:" + searchParams.monvolstd.toHold(VOL) + "V"
            ),
            h("p", null, "电池品牌:" + searchParams.battproducer),
            h("p", null, "电池型号:" + searchParams.battmodel),
            h("p", null, "小时率:" + searchParams.note),