CD配唱片
2025-04-27 99307a0e70d96992d211f8864574ffb38fda5b6a
src/views/mainPlan/gasProduceStatics/index.vue
@@ -72,51 +72,9 @@
          >更新</el-button
        >
      </el-col>
      <right-toolbar @queryTable="getList" :search="false"></right-toolbar>
      <right-toolbar @queryTable="handleQuery" :search="false"></right-toolbar>
    </el-row>
    <div class="box_container">
      <div class="title_text">管路规划产能负载统计</div>
      <div class="tabel_container">
        <vxe-grid
          ref="gridRef"
          v-bind="gridOptions"
          :loading="loading"
        ></vxe-grid>
      </div>
    </div>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="Download"
          @click="handleExport2"
          v-hasPermi="['apsPartRouteStat:export']"
          >导出</el-button
        >
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="info"
          plain
          icon="Refresh"
          @click="handleRefresh2"
          v-hasPermi="['apsPartRouteStat:edit']"
          >更新</el-button
        >
      </el-col>
      <right-toolbar @queryTable="getList" :search="false"></right-toolbar>
    </el-row>
    <div class="box_container">
      <div class="title_text">气柜规划产能负载统计</div>
      <div class="tabel_container">
        <vxe-grid
          ref="gridRef2"
          v-bind="gridOptions"
          :loading="loading"
        ></vxe-grid>
      </div>
    </div>
    <vxe-grid ref="gridRef" v-bind="gridOptions" :loading="loading"></vxe-grid>
  </div>
</template>
@@ -132,8 +90,7 @@
const loading = ref(false);
const gridRef = ref();
const gridRef2 = ref();
const height = ref(document.documentElement.clientHeight - 400 + "px;");
const height = ref(document.documentElement.clientHeight - 180 + "px;");
const headers = ref([]);
const exportData = ref([]);
const showSearch = ref(true);
@@ -184,7 +141,6 @@
let merges = [];
function handleChangeSelectType(e) {
  searchTypeValue.value = e;
  console.log(e, searchTypeValue.value, "sjcsuhcushc");
  if (e === "day") {
    dayCom.value = true;
  } else {
@@ -214,8 +170,7 @@
    eYearMonth: `${eYear}-${eMonth.toString().padStart(2, "0")}`,
  };
}
/** 查询零件统计表列表 */
function getPipeList() {
function getGasList() {
  let rowKey = 0;
  let colKey = 0;
  headers.value = [];
@@ -231,9 +186,8 @@
      ? dateRangeStr(queryParams.value.monthRange).eYearMonth
      : dateStr(queryParams.value.monthDays),
    searchType: searchTypeValue.value,
    major: "piping",
    major: "gas",
  }).then((response) => {
    console.log(response.data.planTable, "responseresponseresponse");
    const colList = [];
    let headersOne = [];
    let headersTwo = [];
@@ -342,154 +296,6 @@
    }
  });
}
function getGasList() {
  let rowKey = 0;
  let colKey = 0;
  headers.value = [];
  exportData.value = [];
  tableColumn = [];
  tableData = [];
  loading.value = true;
  listGasProduceStatics({
    searchStartDate: !dayCom.value
      ? dateRangeStr(queryParams.value.monthRange).sYearMonth
      : dateStr(queryParams.value.monthDays),
    searchEndDate: !dayCom.value
      ? dateRangeStr(queryParams.value.monthRange).eYearMonth
      : dateStr(queryParams.value.monthDays),
    searchType: searchTypeValue.value,
    major: "gas",
  }).then((response) => {
    console.log(response.data.planTable, "responseresponseresponse");
    const colList = [];
    let headersOne = [];
    let headersTwo = [];
    if (response.code == "200") {
      if (!response.data.planTitle) {
        loading.value = false;
        return;
      }
      headersOne.push("日期");
      headersTwo.push("工序名称");
      colList.push({
        field: "dateCol",
        title: "日期",
        fixed: "left",
        children: [
          {
            field: `resourceName`,
            title: "工序名称",
            width: 250,
            type: "html",
          },
        ],
        width: 160,
      });
      response.data.planTitle.forEach((item) => {
        headersOne.push(item);
        headersOne.push("");
        headersOne.push("");
        headersTwo.push("设计产能");
        headersTwo.push("需求产能");
        headersTwo.push("产能负载");
        colKey++;
        colList.push({
          field: `dateColTime${colKey}`,
          title: item,
          children: [
            { field: `designTimes${colKey}`, title: "设计产能", width: 80 },
            { field: `requireTimes${colKey}`, title: "需求产能", width: 80 },
            {
              field: `capacityLoad${colKey}`,
              title: "产能负载",
              width: 80,
              type: "html",
            },
          ],
          width: 160,
        });
      });
      headers.value.push(headersOne);
      headers.value.push(headersTwo);
      const columnList = [...tableColumn, ...colList];
      const dataList = [];
      let startCol = 1;
      //获取map
      response.data.planTable.map((mapItem) => {
        rowKey++;
        let lastCol = startCol + 2;
        merges.push({ s: { r: 0, c: startCol }, e: { r: 0, c: lastCol } });
        startCol = lastCol + 1;
        let data = [];
        const item = {
          id: `${rowKey}`,
        };
        for (const [key, listValue] of Object.entries(mapItem)) {
          data.push(key);
          let tableKey = 0;
          let flag = false;
          listValue.forEach((listItem) => {
            tableKey++;
            item[`designTimes${tableKey}`] = listItem.designTimes;
            item[`requireTimes${tableKey}`] = listItem.requireTimes;
            item[`capacityLoad${tableKey}`] =
              listItem.capacityLoad > 100
                ? `<font color="red">${listItem.capacityLoad}%</font>`
                : listItem.capacityLoad + "%";
            data.push(listItem.designTimes);
            data.push(listItem.requireTimes);
            data.push(listItem.capacityLoad + "%");
            if (listItem.capacityLoad > 100) {
              flag = true;
            }
          });
          item[`resourceName`] = flag
            ? `<div class='el-badge'><sup class="el-badge__content is-fixed is-dot"></sup>${key}</div>`
            : key;
        }
        exportData.value.push(data);
        dataList.push(item);
      });
      const $grid = gridRef2.value;
      if ($grid) {
        tableColumn = columnList;
        tableData = [...tableData, ...dataList];
        $grid.loadColumn(tableColumn);
        $grid.loadData(tableData);
        gridOptions.loading = false;
      }
      loading.value = false;
    }
  });
}
function formatDate() {
  let sYearMonth = "";
  let eYearMonth = "";
  // let type = "";
  // options.map((item) => {
  //   if (queryParams.value.searchType === item.label) {
  //     type = item.value;
  //   }
  // });
  // 创建一个Date对象
  let sDate = new Date(queryParams.value.monthRange[0]);
  let eDate = new Date(queryParams.value.monthRange[1]);
  // 获取年份和月份
  let sYear = sDate.getFullYear();
  let sMonth = sDate.getMonth() + 1; // 月份是从0开始的,所以要加1
  let eYear = eDate.getFullYear();
  let eMonth = eDate.getMonth() + 1; // 月份是从0开始的,所以要加1
  // 格式化为"YYYY-MM"的形式
  sYearMonth = `${sYear}-${sMonth.toString().padStart(2, "0")}`;
  eYearMonth = `${eYear}-${eMonth.toString().padStart(2, "0")}`;
}
/** 导出按钮操作 */
function handleExport() {
  if (
@@ -512,33 +318,6 @@
        ? dateRangeStr(queryParams.value.monthRange).eYearMonth
        : dateStr(queryParams.value.monthDays),
      searchType: searchTypeValue.value,
      major: "piping",
    },
    `aps_gas_produce_statics_${new Date().getTime()}.xlsx`
  );
}
/** 导出按钮操作 */
function handleExport2() {
  if (
    (!queryParams.value.monthRange && dayCom.value == false) ||
    (!queryParams.value.monthDays && dayCom.value == true)
  ) {
    ElMessage({
      message: "请选择年月",
      type: "error",
    });
    return;
  }
  proxy.download(
    "/aps/apsGasPipingRouteStat/exportExcel",
    {
    searchStartDate: !dayCom.value
      ? dateRangeStr(queryParams.value.monthRange).sYearMonth
      : dateStr(queryParams.value.monthDays),
    searchEndDate: !dayCom.value
      ? dateRangeStr(queryParams.value.monthRange).eYearMonth
      : dateStr(queryParams.value.monthDays),
    searchType: searchTypeValue.value,
      major: "gas",
    },
    `aps_gas_produce_statics_${new Date().getTime()}.xlsx`
@@ -557,7 +336,6 @@
    return;
  }
  // queryParams.value.pageNum = 1;
  getPipeList();
  getGasList();
}
@@ -570,25 +348,34 @@
    (searchTypeValue.value = "month");
  tableData = [];
  const $grid = gridRef.value;
  const $grid2 = gridRef2.value;
  if ($grid) {
    $grid.loadColumn([]);
    $grid.loadData([]);
    gridOptions.loading = false;
  }
  if ($grid2) {
    $grid2.loadColumn([]);
    $grid2.loadData([]);
    gridOptions.loading = false;
  }
}
/** 刷新按钮操作 */
function handleRefresh() {
  updateStat().then((response) => {
    if (response.code == "200") {
      getPipeList();
      getGasList();
    }
  if (
    (!queryParams.value.monthRange && dayCom.value == false) ||
    (!queryParams.value.monthDays && dayCom.value == true)
  ) {
    ElMessage({
      message: "请选择年月",
      type: "error",
    });
    return;
  }
  loading.value = true;
  listUpdateGasProduceStatics({
    major: "gas",
  }).then((response) => {
    ElMessage({
      message: "数据更新成功",
      type: "success",
    });
    loading.value = false;
    getGasList();
  });
}