| | |
| | | >更新</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> |
| | | |
| | |
| | | |
| | | 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); |
| | |
| | | let merges = []; |
| | | function handleChangeSelectType(e) { |
| | | searchTypeValue.value = e; |
| | | console.log(e, searchTypeValue.value, "sjcsuhcushc"); |
| | | if (e === "day") { |
| | | dayCom.value = true; |
| | | } else { |
| | |
| | | eYearMonth: `${eYear}-${eMonth.toString().padStart(2, "0")}`, |
| | | }; |
| | | } |
| | | /** 查询零件统计表列表 */ |
| | | function getPipeList() { |
| | | function getGasList() { |
| | | let rowKey = 0; |
| | | let colKey = 0; |
| | | headers.value = []; |
| | |
| | | ? 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 = []; |
| | |
| | | } |
| | | }); |
| | | } |
| | | 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 ( |
| | |
| | | ? 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` |
| | |
| | | return; |
| | | } |
| | | // queryParams.value.pageNum = 1; |
| | | getPipeList(); |
| | | getGasList(); |
| | | } |
| | | |
| | |
| | | (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(); |
| | | }); |
| | | } |
| | | |