From 177efcfe53a16efa7b2b8cf9b1bb38682b7a82f2 Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期一, 12 五月 2025 19:30:04 +0800
Subject: [PATCH] 提交更改默认就报查询条件的提示
---
src/views/mainPlan/gasProduceStatics/index.vue | 480 ++++++++++++++++++++++++++---------------------------------
1 files changed, 209 insertions(+), 271 deletions(-)
diff --git a/src/views/mainPlan/gasProduceStatics/index.vue b/src/views/mainPlan/gasProduceStatics/index.vue
index 1417358..8562755 100644
--- a/src/views/mainPlan/gasProduceStatics/index.vue
+++ b/src/views/mainPlan/gasProduceStatics/index.vue
@@ -6,10 +6,10 @@
ref="queryRef"
:inline="true"
v-show="showSearch"
- label-width="68px"
+ :label-width="locale === 'zh' ? '68px' : '134px'"
>
<el-row type="flex" justify="left">
- <el-form-item label="缁熻鏂瑰紡">
+ <el-form-item :label="$t('plan.query.statistical')">
<el-select
v-model="queryParams.searchType"
style="width: 200px"
@@ -24,30 +24,32 @@
/>
</el-select>
</el-form-item>
- <el-form-item label="閫夋嫨鍖洪棿">
+ <el-form-item :label="$t('plan.query.selectDateRange')">
<div v-if="!dayCom">
<el-date-picker
v-model="queryParams.monthRange"
type="monthrange"
- range-separator="鑷�"
- start-placeholder="閫夋嫨寮�濮嬫湀浠�"
- end-placeholder="閫夋嫨缁撴潫鏈堜唤"
+ :range-separator="$t('plan.placeholder.to')"
+ :start-placeholder="$t('plan.placeholder.startMonth')"
+ :end-placeholder="$t('plan.placeholder.endMonth')"
/>
</div>
<div v-else>
<el-date-picker
v-model="queryParams.monthDays"
type="month"
- placeholder="閫夋嫨鏈堜唤"
+ :placeholder="$t('plan.placeholder.selectMonth')"
/>
</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-button type="primary" icon="Search" @click="handleQuery">{{
+ $t("common.common.query")
+ }}</el-button>
+ <el-button icon="Refresh" @click="resetQuery">{{
+ $t("common.common.reset")
+ }}</el-button>
</el-form-item>
</el-row>
</el-form>
@@ -58,58 +60,43 @@
plain
icon="Download"
@click="handleExport"
- v-hasPermi="['apsPartRouteStat:export']"
- >瀵煎嚭</el-button
+ v-hasPermi="['aps:apsGasPipingRouteStat:exportExcel']"
+ :disabled="loading"
+ >{{ $t("common.common.export") }}</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
- type="info"
+ type="success"
plain
icon="Refresh"
@click="handleRefresh"
- v-hasPermi="['apsPartRouteStat:edit']"
- >鏇存柊</el-button
+ v-hasPermi="['aps:apsGasPipingRouteStat:computeCapacity']"
+ :disabled="loading"
+ >{{ $t("common.common.update") }}</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>
- <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>
-<script setup name="gasProduceStatics">
+<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";
+import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲
+const { t, locale } = useI18n();
const { proxy } = getCurrentInstance();
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);
@@ -117,20 +104,11 @@
queryParams: {
monthRange: "",
monthDays: "",
- searchType: "鎸夋湀缁熻",
+ searchType: t("plan.options.monthlyStatic"),
},
});
let searchTypeValue = ref("month");
-const options = [
- {
- value: "month",
- label: "鎸夋湀缁熻",
- },
- {
- value: "day",
- label: "鎸夋棩缁熻",
- },
-];
+let options = ref([]);
const { queryParams } = toRefs(data);
const gridOptions = reactive({
border: true,
@@ -158,9 +136,29 @@
let tableColumn = [];
let tableData = [];
let merges = [];
+watch(locale, (newLocale) => {
+ options.value = [
+ {
+ value: "month",
+ label: t("plan.options.monthlyStatic"),
+ },
+ {
+ value: "day",
+ label: t("plan.options.dailyStatic"),
+ },
+ ];
+ queryParams.value.searchType = t("plan.options.monthlyStatic");
+ if (
+ (!queryParams.value.monthRange && dayCom.value == false) ||
+ (!queryParams.value.monthDays && dayCom.value == true)
+ ) {
+ return;
+ }
+ // queryParams.value.pageNum = 1;
+ getGasList();
+},{ immediate: true, deep: true });
function handleChangeSelectType(e) {
- searchTypeValue.value = e
- console.log(e,searchTypeValue.value, "sjcsuhcushc");
+ searchTypeValue.value = e;
if (e === "day") {
dayCom.value = true;
} else {
@@ -173,167 +171,24 @@
const year = dateTime.getFullYear();
const month = String(dateTime.getMonth() + 1).padStart(2, "0"); // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1锛屽苟鐢╬adStart琛ラ浂
// 鏍煎紡鍖栧勾浠藉拰鏈堜唤涓� "yyyy-mm" 鏍煎紡鐨勫瓧绗︿覆
- return`${year}-${month}`;
+ return `${year}-${month}`;
}
-/** 鏌ヨ闆朵欢缁熻琛ㄥ垪琛� */
-function getPipeList() {
- let sYearMonth = "";
- let eYearMonth = "";
- // let type = "";
- // options.map((item) => {
- // if (queryParams.value.searchType === item.label) {
- // type = item.value;
- // }
- // });
+function dateRangeStr(monthRange) {
// 鍒涘缓涓�涓狣ate瀵硅薄
- let sDate = new Date(queryParams.value.monthRange[0]);
- let eDate = new Date(queryParams.value.monthRange[1]);
+ 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"鐨勫舰寮�
- sYearMonth = `${sYear}-${sMonth.toString().padStart(2, "0")}`;
- eYearMonth = `${eYear}-${eMonth.toString().padStart(2, "0")}`;
- console.log(sYearMonth, eYearMonth, "yearMonth");
-
- let rowKey = 0;
- let colKey = 0;
- headers.value = [];
- exportData.value = [];
- tableColumn = [];
- tableData = [];
- loading.value = true;
- listGasProduceStatics({
- searchStartDate:
- queryParams.value.searchType === "鎸夋湀缁熻"
- ? sYearMonth
- : dateStr(queryParams.value.monthDays),
- searchEndDate:
- queryParams.value.searchType === "鎸夋湀缁熻"
- ? 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;
- }
- });
+ return {
+ sYearMonth: `${sYear}-${sMonth.toString().padStart(2, "0")}`,
+ eYearMonth: `${eYear}-${eMonth.toString().padStart(2, "0")}`,
+ };
}
function getGasList() {
- let sYearMonth = "";
- let eYearMonth = "";
- // let type = "";
- // options.map((item) => {
- // if (queryParams.value.searchType === item.label) {
- // type = item.value;
- // }
- // });
- // 鍒涘缓涓�涓狣ate瀵硅薄
- 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")}`;
- console.log(sYearMonth, eYearMonth, "yearMonth");
-
let rowKey = 0;
let colKey = 0;
headers.value = [];
@@ -342,117 +197,176 @@
tableData = [];
loading.value = true;
listGasProduceStatics({
- searchStartDate:
- queryParams.value.searchType === "鎸夋湀缁熻"
- ? sYearMonth
- : dateStr(queryParams.value.monthDays),
- searchEndDate:
- queryParams.value.searchType === "鎸夋湀缁熻"
- ? eYearMonth
- : dateStr(queryParams.value.monthDays),
+ 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'
+ major: "gas",
}).then((response) => {
- console.log(response.data.planTable,'responseresponseresponse')
const colList = [];
let headersOne = [];
let headersTwo = [];
- if(response.code == '200'){
+ if (response.code == "200") {
if (!response.data.planTitle) {
loading.value = false;
return;
}
- headersOne.push('鏃ユ湡');
- headersTwo.push('宸ュ簭鍚嶇О');
+ headersOne.push(t("plan.table.dateYearMonth"));
+ headersTwo.push(t("plan.table.processName"));
colList.push({
- field: 'dateCol',
- title: '鏃ユ湡',
- fixed: 'left',
- children: [
- { field: `resourceName`, title: '宸ュ簭鍚嶇О', width: 250, type: 'html'},
- ],
- width: 160
- })
- response.data.planTitle.forEach(item => {
+ field: "dateCol",
+ title: t("plan.table.dateYearMonth"),
+ fixed: "left",
+ children: [
+ {
+ field: `resourceName`,
+ title: t("plan.table.processName"),
+ 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++
+ headersOne.push("");
+ headersOne.push("");
+ headersTwo.push(t("plan.table.designWorkingHours"));
+ headersTwo.push(t("plan.table.requiredWorkingHours"));
+ headersTwo.push(t("plan.table.capacityLoad"));
+ 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'},
+ {
+ field: `designTimes${colKey}`,
+ title: t("plan.table.designWorkingHours"),
+ width: 80,
+ },
+ {
+ field: `requireTimes${colKey}`,
+ title: t("plan.table.requiredWorkingHours"),
+ width: 80,
+ },
+ {
+ field: `capacityLoad${colKey}`,
+ title: t("plan.table.capacityLoad"),
+ width: 80,
+ type: "html",
+ },
],
- width: 160
- })
+ width: 160,
+ });
});
headers.value.push(headersOne);
headers.value.push(headersTwo);
- const columnList = [...tableColumn, ...colList]
- const dataList = []
+ const columnList = [...tableColumn, ...colList];
+ const dataList = [];
let startCol = 1;
//鑾峰彇map
- response.data.planTable.map(mapItem => {
- rowKey++
+ response.data.planTable.map((mapItem) => {
+ rowKey++;
let lastCol = startCol + 2;
- merges.push({ s: { r: 0, c: startCol }, e: { r: 0, c: lastCol} });
+ merges.push({ s: { r: 0, c: startCol }, e: { r: 0, c: lastCol } });
startCol = lastCol + 1;
let data = [];
const item = {
- id: `${rowKey}`
- }
+ id: `${rowKey}`,
+ };
for (const [key, listValue] of Object.entries(mapItem)) {
data.push(key);
-
+
let tableKey = 0;
let flag = false;
- listValue.forEach(listItem => {
-
- tableKey++
+ 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+'%';
+ item[`capacityLoad${tableKey}`] = formatCapacityLoad(
+ listItem.designTimes,
+ listItem.requireTimes,
+ listItem.capacityLoad
+ );
data.push(listItem.designTimes);
data.push(listItem.requireTimes);
- data.push(listItem.capacityLoad+'%');
- if (listItem.capacityLoad > 100) {
- flag = true;
- }
+ 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;
+ // item[`resourceName`] = flag
+ // ? `<div class='el-badge'><sup class="el-badge__content is-fixed is-dot"></sup>${key}</div>`
+ // : key;
+ item[`resourceName`] = key;
}
exportData.value.push(data);
dataList.push(item);
});
-
- const $grid = gridRef2.value
+
+ const $grid = gridRef.value;
if ($grid) {
- tableColumn = columnList
- tableData = [...tableData, ...dataList]
- $grid.loadColumn(tableColumn)
- $grid.loadData(tableData)
- gridOptions.loading = false
+ tableColumn = columnList;
+ tableData = [...tableData, ...dataList];
+ $grid.loadColumn(tableColumn);
+ $grid.loadData(tableData);
+ gridOptions.loading = false;
}
loading.value = false;
}
});
+}
+function formatCapacityLoad(designTimes, requireTimes, capacityLoad) {
+ /**
+ * // 0-100 缁胯壊锛�101-120榛勮壊锛屽ぇ浜�120绾㈣壊
+ listItem.capacityLoad <= 100
+ ? `<font color="red">${listItem.capacityLoad}%</font>`
+ : listItem.capacityLoad + "%";
+ */
+ if (designTimes > 0 && capacityLoad > 0 && capacityLoad <= 100) {
+ return `<font color="#85cf60">${capacityLoad}%</font>`;
+ } else if (designTimes > 0 && capacityLoad > 101 && capacityLoad <= 120) {
+ return `<font color="#ecb869">${capacityLoad}%</font>`;
+ } else if (designTimes > 0 && capacityLoad > 120) {
+ return `<font color="#f89c9c">${capacityLoad}%</font>`;
+ } else if (designTimes == 0 && requireTimes > 0) {
+ return `<font color="#f56c6c">error</font>`;
+ } else {
+ return `${capacityLoad}%`;
+ }
}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
function handleExport() {
+ if (
+ (!queryParams.value.monthRange && dayCom.value == false) ||
+ (!queryParams.value.monthDays && dayCom.value == true)
+ ) {
+ ElMessage({
+ message: t("plan.message.errorMonthEmpty"),
+ 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`
);
}
@@ -463,28 +377,52 @@
(!queryParams.value.monthDays && dayCom.value == true)
) {
ElMessage({
- message: "璇烽�夋嫨骞存湀",
+ message: t("plan.message.errorMonthEmpty"),
type: "error",
});
return;
}
// queryParams.value.pageNum = 1;
- getPipeList();
getGasList();
}
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
- proxy.resetForm("queryRef");
- handleQuery();
+ queryParams.value.monthRange = "";
+ queryParams.value.monthDays = "";
+ dayCom.value = false;
+ (queryParams.value.searchType = t("plan.options.monthlyStatic")),
+ (searchTypeValue.value = "month");
+ tableData = [];
+ const $grid = gridRef.value;
+ if ($grid) {
+ $grid.loadColumn([]);
+ $grid.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: t("plan.message.errorMonthEmpty"),
+ type: "error",
+ });
+ return;
+ }
+ loading.value = true;
+ listUpdateGasProduceStatics({
+ major: "gas",
+ }).then((response) => {
+ ElMessage({
+ message: t("plan.message.update"),
+ type: "success",
+ });
+ loading.value = false;
+ getGasList();
});
}
--
Gitblit v1.9.3