From 87e19b5a396ac8fed6a551828b87d263f6425c31 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 16 十月 2025 10:26:12 +0800
Subject: [PATCH] 2025.10.16 修改季度报告生成逻辑
---
src/views/historymode/component/MissionReport.vue | 133 ++++++++++++++++++--------------------------
1 files changed, 55 insertions(+), 78 deletions(-)
diff --git a/src/views/historymode/component/MissionReport.vue b/src/views/historymode/component/MissionReport.vue
index 8cb9b57..e45fe4b 100644
--- a/src/views/historymode/component/MissionReport.vue
+++ b/src/views/historymode/component/MissionReport.vue
@@ -14,6 +14,16 @@
></OptionLocation2>
</el-form-item>
<OptionTime v-model="formObj.timeArray"></OptionTime>
+ <el-form-item label="绉婚櫎鍏朵粬鍖哄幙" prop="removeOtherDistrict">
+ <el-checkbox v-model="formObj.removeOtherDistrict"
+ >绉婚櫎鍏朵粬鍖哄幙</el-checkbox
+ >
+ </el-form-item>
+ <el-form-item label="绉婚櫎鏈薄鏌撴簮" prop="removeNoPollutedSource">
+ <el-checkbox v-model="formObj.removeNoPollutedSource"
+ >绉婚櫎鏈彂鐜版薄鏌撴簮鐨勭嚎绱�</el-checkbox
+ >
+ </el-form-item>
<el-form-item>
<el-button
type="primary"
@@ -32,10 +42,10 @@
鐢熸垚鍥剧墖
</el-button>
</el-form-item>
- <el-form-item>
+ <!-- <el-form-item>
<el-image :src="base64Url" fit="fill" :preview-src-list="[base64Url]" />
- </el-form-item>
- <el-form-item>
+ </el-form-item> -->
+ <!-- <el-form-item>
<el-button
type="primary"
class="el-button-custom"
@@ -53,7 +63,7 @@
/>
</el-form-item>
</el-form-item>
- </el-form-item>
+ </el-form-item> -->
</el-form>
</CardDialog>
</template>
@@ -83,7 +93,7 @@
});
const formObj = ref({
- timeArray: [new Date('2025-07-01T00:00:00'), new Date('2025-08-31T23:59:59')],
+ timeArray: [new Date('2025-07-01T00:00:00'), new Date('2025-09-30T23:59:59')],
location: {}
});
@@ -108,6 +118,8 @@
districtCode: formObj.value.location.dCode,
districtName: formObj.value.location.dName
},
+ removeOtherDistrict: formObj.value.removeOtherDistrict,
+ removeNoPollutedSource: formObj.value.removeNoPollutedSource,
factorTypes: radioOptions(TYPE0).map((e) => e.name)
};
});
@@ -133,16 +145,19 @@
mainFactor: '',
_abnormalFactors: '',
sceneCount: 0,
- _kilometres: '1000'
+ _kilometres: '1000',
+ _keyScene: '1涓浗鎺х偣锛堥潤瀹夌洃娴嬬珯锛夊拰2涓競鎺х偣锛堝拰鐢颁腑瀛︺�佸競鍖楅珮鏂帮級',
+ exceptionCount: 0,
+ _focusScene: ''
}
],
missionDetailList: [
{
_index: 1,
+ missionCode: '',
_startTime: '2025骞�07鏈�29鏃�',
_time: '09:00鑷�14:30',
_kilometres: '1000',
- _keyScene: '1涓浗鎺х偣锛堥潤瀹夌洃娴嬬珯锛夊拰2涓競鎺х偣锛堝拰鐢颁腑瀛︺�佸競鍖楅珮鏂帮級',
_dataStatistics: [
{
factor: 'PM10',
@@ -223,7 +238,9 @@
};
const handleGenerateImg = () => {
- generateClueByRiskArea(params.value).then(() => {});
+ generateClueByRiskArea(params.value).then(() => {
+ generateDocx();
+ });
};
function generateMissionSummary(param) {
@@ -314,29 +331,48 @@
}
function generateClueByRiskArea(param) {
- return dataAnalysisApi.fetchClueByRiskArea(param).then((res) => {
+ const _param = {
+ area: param.area,
+ startTime: param.startTime,
+ endTime: param.endTime,
+ removeOtherDistrict: param.removeOtherDistrict,
+ removeNoPollutedSource: param.removeNoPollutedSource
+ };
+ return dataAnalysisApi.fetchClueByRiskArea(_param).then((res) => {
templateParam.clueByAreaList = res.data.map((item, index) => {
return {
_index: index + 1,
- _area: `${item.sceneInfo.type}${item.sceneInfo.name}鍛ㄨ竟`,
+ // _area: `${item.sceneInfo.type}${item.sceneInfo.name}鍛ㄨ竟`,
+ _area: `${item.township}`,
clueByFactorList: item.clueByFactorList.map((cbf) => {
return {
factor: cbf.factor,
clues: cbf.clues.map((clue) => {
+ const _riskRegion = [];
+ if (clue.pollutedArea.address) {
+ _riskRegion.push(clue.pollutedArea.address);
+ }
+ if (clue.pollutedArea.streetNumber) {
+ _riskRegion.push(clue.pollutedArea.streetNumber);
+ }
+ if (clue.pollutedArea.roadinter) {
+ _riskRegion.push(clue.pollutedArea.roadinter);
+ }
return {
_factorNames: Object.keys(clue.pollutedData.statisticMap)
.map((e) => e)
.join('銆�'),
_time:
- moment(clue.pollutedData.startTime).format('HH:mm:ss') +
+ moment(clue.pollutedData.startTime).format(
+ 'YYYY-MM-DD HH:mm:ss'
+ ) +
' - ' +
moment(clue.pollutedData.endTime).format('HH:mm:ss'),
- _riskRegion: clue.pollutedArea.address
- ? clue.pollutedArea.address
- : '',
+ _riskRegion: _riskRegion.join('锛�'),
_exceptionType: clue.pollutedData.exception,
_images: generateChartImg(clue.pollutedData),
_conclusion: clue.pollutedSource.conclusion,
+ _hasScene: clue.pollutedSource.sceneList.length > 0,
_scenes:
clue.pollutedSource.sceneList.length > 0
? clue.pollutedSource.sceneList
@@ -558,70 +594,6 @@
function handleMixClick({ tags = [10, 11], factorName = 'PM25' }) {
generateGridFusion(params.value).then(() => {});
- // const fetchGridData = () => {
- // gridApi.mixUnderwayGridData(props.groupId, tags).then((res) => {
- // var min = 1000000;
- // var max = 0;
- // res.data.forEach((v) => {
- // min = Math.min(min, getGridDataDetailFactorValue(v, factorName));
- // max = Math.max(max, getGridDataDetailFactorValue(v, factorName));
- // });
-
- // const gridData = res.data.map((v) => {
- // const data = getGridDataDetailFactorValue(v, factorName);
- // const grid = gridCellList.value.find((g) => {
- // return g.cellIndex == v.cellId;
- // });
- // // const { color, nextColor, range, nextRange } =
- // // Legend.getStandardColorAndNext('PM25', data);
- // // const ratio = (data - range) / (nextRange - range);
- // // const _color = getColorBetweenTwoColors(
- // // color.map((v) => v * 255),
- // // nextColor.map((v) => v * 255),
- // // ratio
- // // );
-
- // // 鏍规嵁閬ユ祴鏁版嵁璁$畻缃戞牸棰滆壊
- // const { color, nextColor, range, nextRange } =
- // Legend.getCustomColorAndNext(data, min, max);
- // const ratio = (data - range) / (nextRange - range);
-
- // const _color = getColorBetweenTwoColors(
- // color.map((v) => v * 255),
- // nextColor.map((v) => v * 255),
- // ratio
- // );
- // return {
- // centerLng: grid.longitude,
- // centerLat: grid.latitude,
- // value: _color,
- // coordinates: [
- // [grid.point1Lon, grid.point1Lat],
- // [grid.point2Lon, grid.point2Lat],
- // [grid.point3Lon, grid.point3Lat],
- // [grid.point4Lon, grid.point4Lat]
- // ]
- // };
- // });
- // // chartMapAmap.generateGridMap(gridData).then((url) => {
- // // gridBase64Url.value = url;
- // // });
- // chartMap.generateGridMap(gridData).then((url) => {
- // gridBase64Url.value = url;
- // });
- // });
- // };
-
- // if (gridCellList.value.length == 0) {
- // gridApi
- // .fetchGridCell(props.groupId)
- // .then((res) => {
- // gridCellList.value = res.data;
- // })
- // .then(() => fetchGridData());
- // } else {
- // fetchGridData();
- // }
}
function generateDocx() {
@@ -754,3 +726,8 @@
return `${datePart} ${startTimePart}鑷�${endTimePart}`;
}
</script>
+<style scoped>
+.el-checkbox {
+ --el-checkbox-text-color: white;
+}
+</style>
--
Gitblit v1.9.3