From 8c613f17337c8e7fc68a12d02cafa05d0dca81ba Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 25 四月 2025 14:20:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
.env.development | 3
src/views/mainPlan/gasPlanning/index.vue | 578 +++++++++++++++++++++++++++++++++++-----
src/components/HxlhTable/index.vue | 7
src/api/mainPlan/gasPlanning.js | 19 +
vite.config.js | 4
src/views/mainPlan/gasProduceStatics/index.vue | 209 ++++++++++++++
6 files changed, 734 insertions(+), 86 deletions(-)
diff --git a/.env.development b/.env.development
index 6a34bf6..605a602 100644
--- a/.env.development
+++ b/.env.development
@@ -9,4 +9,5 @@
# 鏍囪瘑鏈湴寮�鍙戞湇鍔★紝鐢ㄤ簬GateWay杞彂鍒版湰鍦版湇鍔�
# 閰嶅悎鍚庣鏈嶅姟
# VITE_APP_LOCAL = 'int'
-VITE_APP_LOCAL = 'zhl'
+# VITE_APP_LOCAL = 'zhl'
+VITE_APP_LOCAL = 'hjy'
\ No newline at end of file
diff --git a/src/api/mainPlan/gasPlanning.js b/src/api/mainPlan/gasPlanning.js
new file mode 100644
index 0000000..3160704
--- /dev/null
+++ b/src/api/mainPlan/gasPlanning.js
@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 姘斾綋绠¤矾浜ц兘瑙勫垝鍒楄〃
+export function listGasPlan(query) {
+ return request({
+ url: '/aps/gasPipelineCapacityPlan/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ヨ閽i噾璁″垝绠$悊璇︾粏
+export function getGasPlanSave(data) {
+ return request({
+ url: '/aps/gasPipelineCapacityPlan',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/components/HxlhTable/index.vue b/src/components/HxlhTable/index.vue
index 7f2e9dd..dfe0172 100644
--- a/src/components/HxlhTable/index.vue
+++ b/src/components/HxlhTable/index.vue
@@ -32,6 +32,7 @@
:tree-config="treeConfig"
:row-style="rowStyle"
:virtualYConfig="virtualYConfig"
+ :edit-config="editConfig"
@sort-change="sortChange"
@page-change="pagerChange"
@form-submit="findList"
@@ -181,6 +182,12 @@
default: () => {
return {};
},
+ },
+ editConfig:{
+ type: Object,
+ default: () => {
+ return {};
+ },
}
});
diff --git a/src/views/mainPlan/gasPlanning/index.vue b/src/views/mainPlan/gasPlanning/index.vue
index 3f10796..14dffdf 100644
--- a/src/views/mainPlan/gasPlanning/index.vue
+++ b/src/views/mainPlan/gasPlanning/index.vue
@@ -1,89 +1,501 @@
<template>
- <HxlhTable
- style="width: 100%"
- :columns="columns"
- :data="gasPlanList"
- :loading="loading"
- :height="height"
+ <div class="app-container">
+ <el-form
+ class="responsive-form"
+ :model="queryParams"
+ ref="queryRef"
+ :inline="true"
+ label-width="68px"
>
- </HxlhTable>
+ <el-row type="flex" justify="left">
+ <el-col :span="6">
+ <el-form-item label="閫夋嫨鏈堜唤" prop="description">
+ <el-date-picker
+ clearable
+ v-model="queryParams.date"
+ type="month"
+ value-format="YYYY-MM"
+ placeholder="閫夋嫨鏈堜唤"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ <el-col :span="18" style="text-align: right">
+ <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-col>
+ </el-row>
+ </el-form>
+ <div class="box_container">
+ <div class="title_text">绠¤矾瑙勫垝浜ц兘</div>
+ <div class="tabel_container">
+ <!-- <HxlhTable
+ style="width: 100%"
+ :columns="columns"
+ :data="routePlanList"
+ :loading="loading"
+ :height="height"
+ :editConfig="editConfig"
+ >
+ <template #edit_role="{ row }">
+ <vxe-select
+ v-model="row.dayProduceType"
+ :options="dayProduceTypeOptions"
+ filterable
+ ></vxe-select>
+ </template>
+ </HxlhTable> -->
+ <vxe-table
+ border
+ ref="xTable"
+ show-overflow
+ :loading="loading"
+ :height="height"
+ :edit-config="{ mode: 'row', trigger: 'click', showStatus: true }"
+ :data="routePlanList"
+ @cell-click="cellClickEvent"
+ >
+ <vxe-column field="processName" title="鏍囧噯宸ュ簭鍚嶇О" min-width="150">
+ </vxe-column>
+ <!-- :edit-render="sexEditRender" -->
+ <vxe-column
+ field="dayProduceType"
+ title="鏃ヤ骇鍑虹被鍨�"
+ min-width="160"
+ :edit-render="{ }"
+ >
+ <template #edit="{ row }">
+ <vxe-select v-model="row.dayProduceType" :options="dayProduceTypeOptions"></vxe-select>
+ </template>
+ <template #default="{ row }">
+ <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceNum"
+ title="鏃ヤ骇鍑烘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.dayProduceNum"
+ size="mini"
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceUnit"
+ title="鏃ヤ骇鍑哄崟浣�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input v-model="row.dayProduceUnit" />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="personnelNumber"
+ title="浜哄憳鏁伴噺"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.personnelNumber"
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceAllNum"
+ title="鏃ヤ骇鍑烘�绘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.dayProduceAllNum"
+ disabled
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="days"
+ title="澶╂暟"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number v-model="row.days" />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="monthProduceAllNum"
+ title="鏈堜骇鍑烘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number v-model="row.monthProduceAllNum" disabled/>
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="remark"
+ title="澶囨敞"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input type="textarea" v-model="row.remark" />
+ </template>
+ </vxe-column>
+ </vxe-table>
+ </div>
+ </div>
+ <div class="box_container">
+ <div class="title_text">姘斾綋瑙勫垝浜ц兘</div>
+ <div class="tabel_container">
+ <!-- <HxlhTable
+ style="width: 100%"
+ :columns="columns"
+ :data="gasPlanList"
+ :loading="loading"
+ :height="height"
+ >
+ </HxlhTable> -->
+ <vxe-table
+ border
+ ref="xTable"
+ show-overflow
+ :loading="loading"
+ :height="height"
+ :edit-config="{ mode: 'row', trigger: 'click', showStatus: true }"
+ :data="gasPlanList"
+ @cell-click="cellClickEvent"
+ >
+ <vxe-column field="processName" title="鏍囧噯宸ュ簭鍚嶇О" min-width="150">
+ </vxe-column>
+ <!-- :edit-render="sexEditRender" -->
+ <vxe-column
+ field="dayProduceType"
+ title="鏃ヤ骇鍑虹被鍨�"
+ min-width="160"
+ :edit-render="{ }"
+ >
+ <template #edit="{ row }">
+ <vxe-select v-model="row.dayProduceType" :options="dayProduceTypeOptions"></vxe-select>
+ </template>
+ <template #default="{ row }">
+ <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceNum"
+ title="鏃ヤ骇鍑烘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.dayProduceNum"
+ size="mini"
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceUnit"
+ title="鏃ヤ骇鍑哄崟浣�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input v-model="row.dayProduceUnit" />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="personnelNumber"
+ title="浜哄憳鏁伴噺"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.personnelNumber"
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="dayProduceAllNum"
+ title="鏃ヤ骇鍑烘�绘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number
+ v-model="row.dayProduceAllNum"
+ />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="days"
+ title="澶╂暟"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number v-model="row.days" />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="monthProduceAllNum"
+ title="鏈堜骇鍑烘暟閲�"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input-number v-model="row.monthProduceAllNum" />
+ </template>
+ </vxe-column>
+ <vxe-column
+ field="remark"
+ title="澶囨敞"
+ min-width="200"
+ :edit-render="{ autoFocus: 'input' }"
+ >
+ <template #edit="{ row }">
+ <el-input type="textarea" v-model="row.remark" />
+ </template>
+ </vxe-column>
+ </vxe-table>
+ <div class="btn_center">
+ <el-button type="primary" @click="handleSave">淇濆瓨</el-button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- -->
</template>
<script setup>
-const height = ref(document.documentElement.clientHeight - 270 + "px;");
-const loading = ref(true);
+import HxlhTable from "@/components/HxlhTable";
+import { ElMessage } from "element-plus";
+import { listGasPlan, getGasPlanSave } from "@/api/mainPlan/gasPlanning";
+const height = ref(document.documentElement.clientHeight - 400 + "px;");
+const loading = ref(false);
+const data = reactive({
+ queryParams: {
+ date: "",
+ },
+});
+const { queryParams } = toRefs(data);
const gasPlanList = ref([]);
-// 琛ㄦ牸閰嶇疆
-const columns = ref([
- {
- title: "涓讳欢鏂欏彿",
- field: "mainPartNumber",
- width: 150,
- },
- {
- title: "涓氬姟绫诲瀷",
- field: "businessType",
- },
- {
- title: "鍗曟嵁鍙�",
- field: "documentNumber",
- width: 100,
- },
- {
- title: "褰撳墠宸ュ簭鍙�",
- field: "currentProcessNumberTxt",
- width: 100,
- },
- {
- title: "闇�姹傚垎绫�",
- field: "requirementType",
- width: 80,
- },
- {
- title: "鍗曟嵁鐘舵��",
- field: "documentStatus",
- width: 80,
- },
- {
- title: "褰撳墠宸ュ簭",
- field: "workCenter",
- width: 80,
- },
- {
- title: "璁″垝寮�宸ユ棩",
- field: "processPlanStartDaytxt",
- width: 140,
- type: "html",
- },
- {
- title: "鏂欏彿",
- field: "itemNumber",
- width: 140,
- type: "html",
- },
- {
- title: "鍥惧彿",
- field: "drawingNo",
- width: 120,
- // format: 'YYYY-MM-DD'
- },
- {
- title: "鐗堟湰鍙�",
- field: "versionNumber",
- width: 140,
- type: "html",
- },
- {
- title: "鐢熶骇鏁伴噺",
- field: "productionQuantity",
- width: 140,
- type: "html",
- },
- {
- title: "璁″垝瀹屽伐鏃�",
- field: "planEndDay",
- width: 140,
- format: "YYYY-MM-DD hh:mm:ss",
- },
+const routePlanList = ref([]);
+const dayProduceTypeOptions = ref([
+ { label: "鍗曚汉鏃ヤ骇鍑�", value: "1" },
+ { label: "鍥哄畾鏃ヤ骇鍑�", value: "2" },
]);
-
-</script>
\ No newline at end of file
+const formatTypeLabel = (list) => {
+ if (list) {
+ return list.map(type => {
+ const item = dayProduceTypeOptions.value.find(item => item.value === type)
+ return item ? item.label : type
+ }).join(',')
+ }
+ return ''
+}
+// 琛ㄦ牸閰嶇疆
+// const columns = ref([
+// // {
+// // title: "瑙勫垝骞翠唤",
+// // field: "year",
+// // width: 150,
+// // },
+// // {
+// // title: "瑙勫垝鏈堜唤",
+// // field: "month",
+// // },
+// // {
+// // title: "涓撲笟",
+// // field: "major",
+// // width: 100,
+// // },
+// {
+// title: "鏍囧噯宸ュ簭鍚嶇О",
+// field: "processName",
+// width: 100,
+// },
+// {
+// title: "鏃ヤ骇鍑虹被鍨�",
+// field: "dayProduceType",
+// width: 140,
+// editRender: {},
+// slots: { edit: "edit_role", default: "default_role" },
+// },
+// {
+// title: "鏃ヤ骇鍑烘暟閲�",
+// field: "dayProduceNum",
+// width: 140,
+// // editRender: { autoFocus: "input" },
+// // slots: { edit: "edit_name", default: "default_name" },
+// },
+// {
+// title: "鏃ヤ骇鍑烘暟閲忓崟浣�",
+// field: "dayProduceUnit",
+// width: 140,
+// },
+// {
+// title: "浜哄憳鏁伴噺",
+// field: "personnelNumber",
+// width: 140,
+// type: "html",
+// },
+// {
+// title: "鏃ヤ骇鍑烘�绘暟閲�",
+// field: "dayProduceAllNum",
+// width: 140,
+// type: "html",
+// },
+// {
+// title: "澶╂暟",
+// field: "days",
+// width: 120,
+// // format: 'YYYY-MM-DD'
+// },
+// {
+// title: "鏈堜骇鍑烘�绘暟閲�",
+// field: "monthProduceAllNum",
+// width: 140,
+// type: "html",
+// },
+// {
+// title: "澶囨敞",
+// field: "remark",
+// width: 140,
+// type: "html",
+// },
+// ]);
+async function getRouteList(year, month) {
+ const res = await listGasPlan({
+ major: "绠¤矾",
+ year,
+ month,
+ });
+ console.log(res.rows, "getList");
+ routePlanList.value = res.rows;
+ routePlanList.value = routePlanList.value.map((item, index) => {
+ return {
+ ...item,
+ dayProduceType: item.dayProduceType == null ? "" : item.dayProduceType,
+ dayProduceNum: item.dayProduceNum == null ? "0" : item.dayProduceNum,
+ dayProduceUnit: item.dayProduceUnit == null ? "涓�" : item.dayProduceUnit,
+ personnelNumber:
+ item.personnelNumber == null ? "1" : item.personnelNumber,
+ dayProduceAllNum:
+ item.dayProduceAllNum == null ? "0" : item.dayProduceNum*item.personnelNumber,
+ days: item.days == null ? "22" : item.days,
+ monthProduceAllNum:
+ item.monthProduceAllNum == null ? "0" : item.dayProduceAllNum*item.days,
+ };
+ });
+ loading.value = false;
+}
+async function getGasList(year, month) {
+ const res = await listGasPlan({
+ major: "姘斾綋",
+ year,
+ month,
+ });
+ console.log(res.rows, "getList");
+ gasPlanList.value = res.rows;
+ gasPlanList.value = gasPlanList.value.map((item, index) => {
+ return {
+ ...item,
+ dayProduceType: item.dayProduceType == null ? "" : item.dayProduceType,
+ dayProduceNum: item.dayProduceNum == null ? "0" : item.dayProduceNum,
+ dayProduceUnit: item.dayProduceUnit == null ? "涓�" : item.dayProduceUnit,
+ personnelNumber:
+ item.personnelNumber == null ? "1" : item.personnelNumber,
+ dayProduceAllNum:
+ item.dayProduceAllNum == null ? "0" : item.dayProduceNum*item.personnelNumber,
+ days: item.days == null ? "22" : item.days,
+ monthProduceAllNum:
+ item.monthProduceAllNum == null ? "0" : item.dayProduceAllNum*item.days,
+ };
+ });
+ loading.value = false;
+}
+function cellClickEvent ({ row, column }){
+ console.log(column,row)
+ row.dayProduceAllNum = row.dayProduceNum*row.personnelNumber
+ row.monthProduceAllNum = row.dayProduceAllNum*row.days
+}
+function handleQuery() {
+ console.log(queryParams.value.date, "scsciciisc");
+ const year = queryParams.value.date.split("-")[0];
+ const month = parseInt(queryParams.value.date.split("-")[1]);
+ getRouteList(year, month);
+ getGasList(year, month);
+}
+async function handleSave() {
+ const year = queryParams.value.date.split("-")[0];
+ const month = parseInt(queryParams.value.date.split("-")[1]);
+ gasPlanList.value = gasPlanList.value.map((item)=>{
+ return {
+ ...item,
+ major: "姘斾綋",
+ year,
+ month
+ }
+ })
+ routePlanList.value = routePlanList.value.map((item)=>{
+ return {
+ ...item,
+ major: "绠¤矾",
+ year,
+ month
+ }
+ })
+ const res = await getGasPlanSave([
+ ...gasPlanList.value,
+ ...routePlanList.value
+ ])
+ ElMessage({
+ message: "鏁版嵁淇濆瓨鎴愬姛",
+ type: "success",
+ });
+ handleQuery()
+ console.log(res,"akiwjciwj")
+}
+onMounted(() => {
+ // getRouteList();
+ // getGasList();
+});
+</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;
+ }
+}
+.btn_center{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-top:20px;
+ padding-bottom:20px;
+}
+</style>
diff --git a/src/views/mainPlan/gasProduceStatics/index.vue b/src/views/mainPlan/gasProduceStatics/index.vue
new file mode 100644
index 0000000..d79ef8f
--- /dev/null
+++ b/src/views/mainPlan/gasProduceStatics/index.vue
@@ -0,0 +1,209 @@
+<template>
+ <div class="app-container">
+ <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="getList" :search="false"></right-toolbar>
+ </el-row>
+ <vxe-grid ref="gridRef" v-bind="gridOptions" :loading="loading"></vxe-grid>
+ </div>
+</template>
+
+<script setup name="apsPartRouteStat">
+import { query,updateStat } from "@/api/mainPlan/partRouteStat.js";
+import { ref } from "vue";
+import * as XLSX from 'xlsx';
+
+const { proxy } = getCurrentInstance();
+
+const loading = ref(true);
+const gridRef = ref();
+const height = ref(document.documentElement.clientHeight - 130 + "px;")
+const headers = ref([]);
+const exportData = ref([]);
+
+const gridOptions = reactive({
+ border: true,
+ stripe: true,
+ loading: false,
+ showOverflow: true,
+ showHeaderOverflow: true,
+ showFooterOverflow: true,
+ height: height,
+ columnConfig: {
+ resizable: true
+ },
+ scrollX: {
+ enabled: true,
+ gt: 0,
+ threshold: 50
+ },
+ scrollY: {
+ enabled: true,
+ gt: 0,
+ threshold: 50
+ }
+});
+
+let tableColumn = []
+let tableData = []
+let merges = [];
+
+/** 鏌ヨ闆朵欢缁熻琛ㄥ垪琛� */
+function getList() {
+ let rowKey = 0
+ let colKey = 0
+ headers.value = []
+ exportData.value = []
+ tableColumn = []
+ tableData = []
+ loading.value = true;
+ query().then(response => {
+ const colList = []
+ let headersOne = []
+ let headersTwo = []
+ if(response.code == '200'){
+ if (!response.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.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.planTable.forEach(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() {
+
+ // 鍚堝苟琛ㄥご鍜屾暟鎹�
+ const finalData = [...headers.value, ...exportData.value];
+
+ // 灏嗘暟鎹浆鎹负 worksheet
+ const ws = XLSX.utils.aoa_to_sheet(finalData);
+
+ // 鍚堝苟鍗曞厓鏍硷紙濡傛灉闇�瑕侊級
+ /* ws['!merges'] = [
+ { s: { r: 0, c: 1 }, e: { r: 0, c: 3 } },
+ { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } }
+ ]; */
+
+ ws['!merges'] = merges;
+
+ // 鍒涘缓 workbook
+ const wb = XLSX.utils.book_new();
+ // 灏� worksheet 娣诲姞鍒� workbook 涓�
+ XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
+ // 瀵煎嚭鏂囦欢
+ XLSX.writeFile(wb, `apsPartRouteStat_${new Date().getTime()}.xlsx`);
+
+}
+
+/** 鍒锋柊鎸夐挳鎿嶄綔 */
+function handleRefresh(){
+ updateStat().then(response => {
+ if(response.code == '200'){
+ getList();
+ }
+ });
+}
+
+getList();
+</script>
diff --git a/vite.config.js b/vite.config.js
index 212f287..f0fe6e1 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -17,7 +17,7 @@
const proxyConfig = () => {
const personProxy = {
"/prod-api": {
- target: "http://192.168.50.13:8080", // 寮�鍙戠幆澧冪殑鍚庣鍦板潃
+ target: "http://192.168.50.160:8080",//"http://192.168.50.13:8080", // 寮�鍙戠幆澧冪殑鍚庣鍦板潃
changeOrigin: true,
rewrite: (path) => path.replace(/^\/prod-api/, ""),
},
@@ -48,7 +48,7 @@
switch (VITE_APP_ENV) {
case "development":
- return devProxy;
+ return personProxy;
case "int":
return devProxy;
case "uat":
--
Gitblit v1.9.3