Browse Source

Merge branch 'release-sy-v1.0.0' into 'dev'

Release sy v1.0.0

See merge request project/water/shuili-vue!64
master_tdsql
黄星淮 1 year ago
parent
commit
be651933b2
  1. 16
      src/api/aiSupervision/layerConfigApi.js
  2. 3
      src/api/dike/index.js
  3. 46
      src/views/aiSupervision/layerManage/resource/LayerDetails.vue
  4. 3
      src/views/dike/runManage/dangerWeakProject/inspectProjects/fillReport.vue
  5. 6
      src/views/dike/runManage/dangerWeakProject/inspectReport/reportPage.vue
  6. 7
      src/views/dike/runManage/superVisionInspetion/projectManage/index.vue
  7. 2
      src/views/dike/runManage/superVisionInspetion/projectManage/projectReportPage.vue
  8. 7
      src/views/dike/runManage/supervisionInspetion/projectManage/index.vue
  9. 2
      src/views/dike/runManage/supervisionInspetion/projectManage/projectReportPage.vue
  10. 32
      src/views/dike/runManage/waterRainReport/smartAnalyse/index.vue
  11. 1
      src/views/sluice/runManage/dangerWeakProject/inspectProjects/fillReport.vue
  12. 2
      src/views/sluice/runManage/dangerWeakProject/inspectReport/reportPage.vue
  13. 2
      src/views/sluice/runManage/supervisionInspetion/projectManage/projectReportPage.vue
  14. 39
      src/views/sluice/runManage/waterRainReport/smartAnalyse/index.vue
  15. 4
      vue.config.js

16
src/api/aiSupervision/layerConfigApi.js

@ -1,5 +1,5 @@
import request from '@/utils/request.js';
import { exportBzhjs } from './../yg/bzhjs';
import axios from 'axios';
export function addOrEditDirectoryApi(options) {
return request({
@ -146,3 +146,17 @@ export function deleteLayerApi(id) {
method: 'delete'
});
}
// 获取图层详情
export function queryServiceInfoApi(url) {
return new Promise(async (resolve, reject) => {
const result = await axios.get(`${url}.json`);
if (result.status === 200 && result.data) {
const layerId = result.data.layers.find((f) => f.parentLayerId === -1)?.subLayerIds?.[0];
const data = await axios.get(`${url}/${layerId}?f=json`);
if (data.status === 200 && data.data) {
resolve(data.data);
}
}
});
}

3
src/api/dike/index.js

@ -404,11 +404,10 @@ export function getSuperviseStatisticTotal(data){
data
})
}
/*************监督检查模块-结束**************/
/*********************病险工程核查*********************/
// 病险工程核查-新增工程核查项

46
src/views/aiSupervision/layerManage/resource/LayerDetails.vue

@ -91,7 +91,7 @@
<el-button type="primary" class="btn" @click="addRow">添加</el-button>
<el-button type="danger" class="btn" @click="deleteRow">删除</el-button>
</div>
<el-table :data="extendTable" border @selection-change="handleSelectionChange">
<el-table max-height="400px" :data="extendTable" border @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center"></el-table-column>
<el-table-column prop="field" label="字段名称">
<template slot-scope="scope">
@ -146,6 +146,23 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="字段配置" name="3">
<el-table max-height="400px" :data="fieldsTable" border>
<el-table-column type="index" width="50" align="center"></el-table-column>
<el-table-column prop="field" label="字段名称"> </el-table-column>
<el-table-column prop="fieldName" label="字段别名">
<template slot-scope="scope">
<el-input v-model="scope.row.fieldName"></el-input>
</template>
</el-table-column>
<el-table-column prop="fieldType" label="字段类型"> </el-table-column>
<el-table-column prop="isShow" label="是否支持查询" width="50">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.isShow" :true-label="1" :false-label="0"></el-checkbox>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer">
@ -199,7 +216,8 @@ import {
saveOrUpdateLayerApi,
getLayerListApi,
deleteLayerApi,
getDirectoryByIdApi
getDirectoryByIdApi,
queryServiceInfoApi
} from '@/api/aiSupervision/layerConfigApi.js';
export default {
components: {
@ -255,7 +273,8 @@ export default {
styleDialogVisible: false, //
activeName: '1',
extendTable: [],
multipleSelection: []
multipleSelection: [],
fieldsTable: []
};
},
watch: {
@ -266,6 +285,21 @@ export default {
if (val === false) {
this.initData();
}
},
'editDataInfoForm.serviceUrl'(val) {
if (val && this.fieldsTable.length === 0) {
queryServiceInfoApi(val).then((res) => {
this.fieldsTable =
res?.fields?.map((item) => {
return {
field: item.name,
fieldName: item.alias,
fieldType: item.type,
isShow: 0
};
}) || [];
});
}
}
},
created() {
@ -292,6 +326,7 @@ export default {
this.editDataInfoForm.relationStyleId = row.relationStyleId;
this.editDataInfoForm.relationStyleName = row.relationStyleName;
this.extendTable = (row.extendData && JSON.parse(row.extendData)) || [];
this.fieldsTable = row?.fields || [];
this.dialogTitle = '编辑图层';
this.dialogFormVisible = true;
},
@ -349,11 +384,14 @@ export default {
}
const params = {
...this.editDataInfoForm,
extendData: JSON.stringify(this.extendTable)
extendData: JSON.stringify(this.extendTable),
fields: this.fieldsTable
};
await saveOrUpdateLayerApi(params);
this.getLayerList();
this.dialogFormVisible = false;
this.fieldsTable = [];
this.extendTable = [];
},
handleLayerStyleTypeChange() {
this.styleDialogVisible = true;

3
src/views/dike/runManage/dangerWeakProject/inspectProjects/fillReport.vue

@ -1,4 +1,4 @@
<!-- 监督检查工程管理 -->
<!-- 病险工程管理 -->
<script>
import { cloneDeep } from "lodash";
import { uploadFileData } from "@/api/system/upload";
@ -14,7 +14,6 @@ export default {
activeName: "",
currentItem: null,
problemList: [],
personnelList: [],
formData: {
id: null,
problemList: [],

6
src/views/dike/runManage/dangerWeakProject/inspectReport/reportPage.vue

@ -32,9 +32,9 @@
</div>
</div>
<div class="flex flex-1">
<div class="label border-b-r p-10 w-100">水闸名称</div>
<div class="label border-b-r p-10 w-100">堤防名称</div>
<div class="value border-b-r flex-1 p-10">
{{ formData.wagaName || "-" }}
{{ formData.dikeName || "-" }}
</div>
</div>
</div>
@ -302,7 +302,7 @@ export default {
}
}
}
let save = pdf.save("demo.pdf");
let save = pdf.save("核查报告.pdf");
this.loadingInstance.close();
})
.catch((e) => {

7
src/views/dike/runManage/superVisionInspetion/projectManage/index.vue

@ -87,16 +87,9 @@ export default {
getTableData() {
getSuperviseWayTaskListData({
data: {
timeView: {
timeField: "create_time",
},
name: this.searchTaskName || null,
engineeringManagementUnit: this.searchManageName || null,
},
params: {
orderBy: "create_time",
sort: "desc",
},
pageSize: this.pageData.pageSize,
pageNum: this.pageData.pageNum,
}).then((res) => {

2
src/views/dike/runManage/superVisionInspetion/projectManage/projectReportPage.vue

@ -323,7 +323,7 @@ export default {
}
}
}
let save = pdf.save("demo.pdf");
let save = pdf.save("检查报告.pdf");
this.loadingInstance.close();
})
.catch((e) => {

7
src/views/dike/runManage/supervisionInspetion/projectManage/index.vue

@ -87,16 +87,9 @@ export default {
getTableData() {
getSuperviseWayTaskListData({
data: {
timeView: {
timeField: "create_time",
},
name: this.searchTaskName || null,
engineeringManagementUnit: this.searchManageName || null,
},
params: {
orderBy: "create_time",
sort: "desc",
},
pageSize: this.pageData.pageSize,
pageNum: this.pageData.pageNum,
}).then((res) => {

2
src/views/dike/runManage/supervisionInspetion/projectManage/projectReportPage.vue

@ -323,7 +323,7 @@ export default {
}
}
}
let save = pdf.save("demo.pdf");
let save = pdf.save("检查报告.pdf");
this.loadingInstance.close();
})
.catch((e) => {

32
src/views/dike/runManage/waterRainReport/smartAnalyse/index.vue

@ -76,8 +76,8 @@
<span class="data">{{ analysisData.exceedGateFlowCount }}</span>
</div>
</div>
<div class="statistical-chart water-level" ref="water-level"></div>
<div class="statistical-chart water-flow" ref="water-flow"></div>
<div id="water-level" class="statistical-chart water-level" ref="water-level" :style="{'zoom': zoom}"></div>
<div id="water-flow" class="statistical-chart water-flow" ref="water-flow" :style="{'zoom': zoom}"></div>
</div>
</div>
</div>
@ -114,7 +114,11 @@ export default {
exceedWarningCount: 0, //
exceedRainfallCount: 0, // 50mm/h
exceedGateFlowCount: 0 // 100m³
}
},
currentDike: null,
zoom: 1,
levelChart:null,
flowChart:null
};
},
@ -163,6 +167,7 @@ export default {
},
//
handleRowChange(row) {
this.currentDike = row;
getDikeExceedApi(row.dikeCode).then((res) => {
if (!res.success) return;
const data = res.data;
@ -176,7 +181,9 @@ export default {
getRainfallAndGateFlowApi(row.dikeCode).then((res) => {
if (!res.success) return;
const data = res.data.rainfallAndGateFlowMap; //{2024-03-04:{rainfall: '0.0', gateFlow: '0.0'}......}
this.$echarts.init(this.$refs['water-flow']).setOption({
if(this.flowChart) this.flowChart.dispose();
this.flowChart = this.$echarts.init(document.getElementById('water-flow'))
this.flowChart.setOption({
title: {
text: '流量监测',
textStyle: {
@ -255,12 +262,17 @@ export default {
}
]
});
this.$nextTick(() => {
this.flowChart.resize();
});
});
getWaterLevelInfoApi(row.dikeCode).then((res) => {
if (!res.success) return;
let data = res.data.waterLevelMap; // {2024-03-04:{waterLevel: '0.0', floodLevel: '12', warningLevel: '38'}.....}
this.$echarts.init(this.$refs['water-level']).setOption({
if(this.levelChart) this.levelChart.dispose();
this.levelChart = this.$echarts.init(document.getElementById('water-level'))
this.levelChart.setOption({
title: {
text: '水位监测',
textStyle: {
@ -333,14 +345,24 @@ export default {
}
]
});
this.$nextTick(() => {
this.levelChart.resize();
});
});
}
},
async mounted() {
this.zoom = 1 / document.body.style.zoom;
await this.getDikeStatisticalList();
this.getAreasOptions();
this.$refs.table.setCurrentRow(this.tableData[0]); //handleRowChange
window.onresize = ()=> {
this.zoom = 1 / document.body.style.zoom;
this.handleRowChange(this.currentDike)
};
}
};
</script>

1
src/views/sluice/runManage/dangerWeakProject/inspectProjects/fillReport.vue

@ -2,7 +2,6 @@
<script>
import { cloneDeep } from "lodash";
import { uploadFileData } from "@/api/system/upload";
import { listUser } from "@/api/management";
import {
getDangerProjectItemsListDetails,
getDangerTaskReportDetailsData,

2
src/views/sluice/runManage/dangerWeakProject/inspectReport/reportPage.vue

@ -302,7 +302,7 @@ export default {
}
}
}
let save = pdf.save("demo.pdf");
let save = pdf.save("核查报告.pdf");
this.loadingInstance.close();
})
.catch((e) => {

2
src/views/sluice/runManage/supervisionInspetion/projectManage/projectReportPage.vue

@ -324,7 +324,7 @@ export default {
}
}
}
let save = pdf.save("demo.pdf");
let save = pdf.save("检查报告.pdf");
this.loadingInstance.close();
})
.catch((e) => {

39
src/views/sluice/runManage/waterRainReport/smartAnalyse/index.vue

@ -76,8 +76,8 @@
<span class="data">{{ analysisData.exceedGateFlowCount }}</span>
</div>
</div>
<div class="statistical-chart water-level" ref="water-level"></div>
<div class="statistical-chart water-flow" ref="water-flow"></div>
<div id="water-level" class="statistical-chart water-level" ref="water-level" :style="{'zoom': zoom}"></div>
<div id="water-flow" class="statistical-chart water-flow" ref="water-flow" :style="{'zoom': zoom}"></div>
</div>
</div>
</div>
@ -114,7 +114,11 @@ export default {
exceedWarningCount: 0, //
exceedRainfallCount: 0, // 50mm/h
exceedGateFlowCount: 0 // 100m³
}
},
currentSluice:null, //
zoom: 1,
flowChart: null,
levelChart: null,
};
},
@ -126,7 +130,7 @@ export default {
pageNum: this.pageConfig.pageNum,
data: {
basin: this.basin,
adcd: this.region //
adcd: this.region, //
}
};
const res = await getSluiceStatisticalListApi(params);
@ -163,6 +167,7 @@ export default {
},
//
handleRowChange(row) {
this.currentSluice = row;
getSluiceExceedApi(row.wagaCode).then((res) => {
if (!res.success) return;
const data = res.data;
@ -176,7 +181,9 @@ export default {
getRainfallAndGateFlowApi(row.wagaCode).then((res) => {
if (!res.success) return;
const data = res.data.rainfallAndGateFlowMap; //{2024-03-04:{rainfall: '0.0', gateFlow: '0.0'}......}
this.$echarts.init(this.$refs['water-flow']).setOption({
if(this.flowChart) this.flowChart.dispose();
this.flowChart = this.$echarts.init(document.getElementById('water-flow'));
this.flowChart.setOption({
title: {
text: '流量监测',
textStyle: {
@ -186,7 +193,8 @@ export default {
}
},
tooltip: {
trigger: 'axis'
trigger: 'axis',
// show:false
},
legend: {
right: 'center',
@ -255,12 +263,17 @@ export default {
}
]
});
this.$nextTick(() => {
this.flowChart.resize();
});
});
getWaterLevelInfoApi(row.wagaCode).then((res) => {
if (!res.success) return;
let data = res.data.waterLevelMap; // {2024-03-04:{waterLevel: '0.0', floodLevel: '12', warningLevel: '38'}.....}
this.$echarts.init(this.$refs['water-level']).setOption({
if(this.levelChart) this.flowChart.dispose();
this.levelChart = this.$echarts.init(document.getElementById('water-level'));
this.levelChart.setOption({
title: {
text: '水位监测',
textStyle: {
@ -270,7 +283,8 @@ export default {
}
},
tooltip: {
trigger: 'axis'
trigger: 'axis',
// show:false
},
legend: {
right: 'center',
@ -333,14 +347,23 @@ export default {
}
]
});
this.$nextTick(() => {
this.levelChart.resize();
});
});
}
},
async mounted() {
this.zoom = 1 / document.body.style.zoom;
await this.getSluiceStatisticalList();
this.getAreasOptions();
this.$refs.table.setCurrentRow(this.tableData[0]); //handleRowChange
window.onresize = ()=> {
this.zoom = 1 / document.body.style.zoom;
this.handleRowChange(this.currentSluice)
};
}
};
</script>

4
vue.config.js

@ -60,8 +60,8 @@ module.exports = {
// }
// },
[process.env.VUE_APP_BASE_API]: {
target: 'http://shuili-admin.product.dev.com:30115',
// target: 'http://172.16.34.59:18083',
// target: 'http://shuili-admin.product.dev.com:30115',
target: 'http://172.16.34.59:18082',
// target: "http://172.16.34.27:18082",
// target: "http://127.0.0.1:18082",
changeOrigin: true,

Loading…
Cancel
Save