.env.development | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/mainPlan/gasProduceStatics/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/mainPlan/pipeProduceStatics/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vite.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.env.development
@@ -10,4 +10,4 @@ # é åå端æå¡ # VITE_APP_LOCAL = 'int' # VITE_APP_LOCAL = 'zhl' VITE_APP_LOCAL = 'hjy' VITE_APP_LOCAL = 'cxl' 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(); }); } src/views/mainPlan/pipeProduceStatics/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,411 @@ <template> <div class="app-container"> <el-form class="responsive-form" :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px" > <el-row type="flex" justify="left"> <el-form-item label="ç»è®¡æ¹å¼"> <el-select v-model="queryParams.searchType" style="width: 200px" placeholder="Select" @change="handleChangeSelectType" > <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" /> </el-select> </el-form-item> <el-form-item label="éæ©åºé´"> <div v-if="!dayCom"> <el-date-picker v-model="queryParams.monthRange" type="monthrange" range-separator="è³" start-placeholder="éæ©å¼å§æä»½" end-placeholder="éæ©ç»ææä»½" /> </div> <div v-else> <el-date-picker v-model="queryParams.monthDays" type="month" placeholder="éæ©æä»½" /> </div> </el-form-item> <el-form-item class="column-with-margin"> <el-button type="primary" icon="Search" @click="handleQuery" >æ¥è¯¢</el-button > <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-row> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['apsPartRouteStat:export']" >导åº</el-button > </el-col> <el-col :span="1.5"> <el-button type="info" plain icon="Refresh" @click="handleRefresh" v-hasPermi="['apsPartRouteStat:edit']" >æ´æ°</el-button > </el-col> <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> --> </div> </template> <script setup name="gasProduceStatics"> import { listUpdateGasProduceStatics, listGasProduceStatics, } from "@/api/mainPlan/gasProduceStatics.js"; import { ref } from "vue"; import * as XLSX from "xlsx"; import { ElMessage } from "element-plus"; const { proxy } = getCurrentInstance(); const loading = ref(false); const gridRef = ref(); const height = ref(document.documentElement.clientHeight - 180 + "px;"); const headers = ref([]); const exportData = ref([]); const showSearch = ref(true); const data = reactive({ queryParams: { monthRange: "", monthDays: "", searchType: "ææç»è®¡", }, }); let searchTypeValue = ref("month"); const options = [ { value: "month", label: "ææç»è®¡", }, { value: "day", label: "ææ¥ç»è®¡", }, ]; const { queryParams } = toRefs(data); const gridOptions = reactive({ border: true, stripe: true, loading: false, showOverflow: true, eaderOverflow: true, showFooterOverflow: true, height: height, columnConfig: { resizable: true, }, scrollX: { enabled: true, gt: 0, threshold: 50, }, scrollY: { enabled: true, gt: 0, threshold: 50, }, }); const dayCom = ref(false); let tableColumn = []; let tableData = []; let merges = []; function handleChangeSelectType(e) { searchTypeValue.value = e; if (e === "day") { dayCom.value = true; } else { dayCom.value = false; } } function dateStr(dateTimeString) { const dateTime = new Date(dateTimeString); // æå年份åæä»½ const year = dateTime.getFullYear(); const month = String(dateTime.getMonth() + 1).padStart(2, "0"); // æä»½ä»0å¼å§ï¼æä»¥éè¦å 1ï¼å¹¶ç¨padStartè¡¥é¶ // æ ¼å¼å年份åæä»½ä¸º "yyyy-mm" æ ¼å¼çå符串 return `${year}-${month}`; } function dateRangeStr(monthRange) { // å建ä¸ä¸ªDate对象 let sDate = new Date(monthRange[0]); let eDate = new Date(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"çå½¢å¼ return { sYearMonth: `${sYear}-${sMonth.toString().padStart(2, "0")}`, eYearMonth: `${eYear}-${eMonth.toString().padStart(2, "0")}`, }; } /** æ¥è¯¢é¶ä»¶ç»è®¡è¡¨å表 */ function getPipeList() { 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: "piping", }).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 = gridRef.value; if ($grid) { tableColumn = columnList; tableData = [...tableData, ...dataList]; $grid.loadColumn(tableColumn); $grid.loadData(tableData); gridOptions.loading = false; } loading.value = false; } }); } /** å¯¼åºæé®æä½ */ function handleExport() { 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: "piping", }, `aps_gas_produce_statics_${new Date().getTime()}.xlsx` ); } /** æç´¢æé®æä½ */ function handleQuery() { if ( (!queryParams.value.monthRange && dayCom.value == false) || (!queryParams.value.monthDays && dayCom.value == true) ) { ElMessage({ message: "è¯·éæ©å¹´æ", type: "error", }); return; } // queryParams.value.pageNum = 1; getPipeList(); } /** éç½®æé®æä½ */ function resetQuery() { queryParams.value.monthRange = ""; queryParams.value.monthDays = ""; dayCom.value = false; (queryParams.value.searchType = "ææç»è®¡"), (searchTypeValue.value = "month"); tableData = []; const $grid = gridRef.value; if ($grid) { $grid.loadColumn([]); $grid.loadData([]); gridOptions.loading = false; } } /** å·æ°æé®æä½ */ function handleRefresh() { if ( (!queryParams.value.monthRange && dayCom.value == false) || (!queryParams.value.monthDays && dayCom.value == true) ) { ElMessage({ message: "è¯·éæ©å¹´æ", type: "error", }); return; } loading.value = true; listUpdateGasProduceStatics({ major: "piping", }).then((response) => { ElMessage({ message: "æ°æ®æ´æ°æå", type: "success", }); loading.value = false; getPipeList(); }); } // getList(); </script> <style lang="scss" scoped> .box_container { width: 100%; margin: 20px auto; background: #fff; border-radius: 5px; box-shadow: 1px 1px 1px 4px#f1f1f1; .title_text { padding-top: 20px; margin-left: 20px; } .tabel_container { width: 98%; margin: 20px auto; } } </style> vite.config.js
@@ -17,7 +17,7 @@ const proxyConfig = () => { const personProxy = { "/prod-api": { target: "http://192.168.50.160:8080",//"http://192.168.50.13:8080", // å¼åç¯å¢çå端å°å target: "http://192.168.50.106:8080",//"http://192.168.50.13:8080", // å¼åç¯å¢çå端å°å changeOrigin: true, rewrite: (path) => path.replace(/^\/prod-api/, ""), },