feat(): 添加fb0类型浸润线

master
李神峰 2025-10-13 17:52:14 +08:00
parent 1cce27996d
commit 3661da3195
3 changed files with 387 additions and 368 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
<template> <template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor:'#fff'}"> <view :style="{ height: '100vh', overflow: 'hidden', backgroundColor: '#fff' }">
<!-- <u-status-bar></u-status-bar> <!-- <u-status-bar></u-status-bar>
<u-navbar title="安全监测" :autoBack="true" :titleStyle="{ <u-navbar title="安全监测" :autoBack="true" :titleStyle="{
fontSize:'18px' fontSize:'18px'
@ -7,7 +7,7 @@
</u-navbar> --> </u-navbar> -->
<picker @change="bindPickerChange" :range="array" range-key="profileName" style="margin-top:0px;padding: 0 10px;"> <picker @change="bindPickerChange" :range="array" range-key="profileName" style="margin-top:0px;padding: 0 10px;">
<view class="uni-input12"> <view class="uni-input12">
<view>{{profileName}}</view> <view>{{ profileName }}</view>
<u-icon name="arrow-down-fill" color="#000" size="15"></u-icon> <u-icon name="arrow-down-fill" color="#000" size="15"></u-icon>
</view> </view>
</picker> </picker>
@ -16,11 +16,11 @@
<view class="time-ranger"> <view class="time-ranger">
<view class="start-time"> <view class="start-time">
<text>开始时间</text> <text>开始时间</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text> <text @click="showTime = true" style="margin-left:10%;color:#3399ef">{{ stm }}</text>
</view> </view>
<view class="end-time"> <view class="end-time">
<text>结束时间</text> <text>结束时间</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text> <text @click="showTime1 = true" style="margin:0 10%;color:#3399ef">{{ etm }}</text>
<view class="search-btn" @click="searchHandle"> <view class="search-btn" @click="searchHandle">
搜索 搜索
</view> </view>
@ -34,7 +34,7 @@
<u-button @click="sx" class="aqjc-custom-style">-</u-button> <u-button @click="sx" class="aqjc-custom-style">-</u-button>
</view> </view>
<view class="play-btn"> <view class="play-btn">
<uni-icons type="videocam" size="40" :color="swiper ? '#2979ff':'#909399' " @click="play"></uni-icons> <uni-icons type="videocam" size="40" :color="swiper ? '#2979ff' : '#909399'" @click="play"></uni-icons>
</view> </view>
</view> </view>
<view class="jcsj-charts"> <view class="jcsj-charts">
@ -51,34 +51,36 @@
</view> </view>
<u-datetime-picker :show="showTime" v-model="startTime" mode="datetime" @confirm="handleStartTime" <u-datetime-picker :show="showTime" v-model="startTime" mode="datetime" @confirm="handleStartTime"
@cancel="showTime=false"></u-datetime-picker> @cancel="showTime = false"></u-datetime-picker>
<u-datetime-picker :show="showTime1" v-model="endTime" mode="datetime" @confirm="handleEndTime" <u-datetime-picker :show="showTime1" v-model="endTime" mode="datetime" @confirm="handleEndTime"
@cancel="showTime1=false"></u-datetime-picker> @cancel="showTime1 = false"></u-datetime-picker>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import moment from "moment" import moment from "moment"
import drpOption from './jrxOptions'; import drpOption from './jrxOptions';
import JcsjTable from "./jcsjTable" import JcsjTable from "./jcsjTable"
const stm = moment().subtract(1, 'days').add(1, 'hour').set({ const stm = moment().subtract(1, 'days').add(1, 'hour').set({
minute: 0, minute: 0,
second: 0 second: 0
}).format("YYYY-MM-DD HH:mm"); }).format("YYYY-MM-DD HH:mm");
const etm = moment().add(1, 'hour').set({ const etm = moment().add(1, 'hour').set({
minute: 0, minute: 0,
second: 0 second: 0
}).format("YYYY-MM-DD HH:mm"); }).format("YYYY-MM-DD HH:mm");
const typeName = { const typeName = {
'ZB0+130': '1', 'ZB0+130': '1',
'ZB0+132': '2', 'ZB0+132': '2',
'ZB0+250': '3', 'ZB0+250': '3',
'ZB0+252': '4', 'ZB0+252': '4',
'ZB0+370': '5', 'ZB0+370': '5',
'ZB0+372': '6', 'ZB0+372': '6',
} 'FB0+010': '7',
export default { 'FB0+030': '8',
}
export default {
data() { data() {
return { return {
@ -91,7 +93,7 @@
array: [], array: [],
profileCode: '', profileCode: '',
dbType: '', dbType: '',
type1:'', type1: '',
trData: [], trData: [],
dataSources: [], dataSources: [],
chartData: { chartData: {
@ -152,9 +154,10 @@
handler(newVal, oldVal) { handler(newVal, oldVal) {
if (newVal) { if (newVal) {
let name = this.array.find(item => item.profileCode == newVal).profileName; let name = this.array.find(item => item.profileCode == newVal).profileName;
this.dbType =(name == "ZB0+130" || name == "ZB0+132") ? "1" : this.dbType = (name == "ZB0+130" || name == "ZB0+132") ? "1" :
(name == "ZB0+250" || name == "ZB0+252") ? "2" : (name == "ZB0+250" || name == "ZB0+252") ? "2" :
(name == "ZB0+370" || name == "ZB0+372") ? "3" : ''; (name == "ZB0+370" || name == "ZB0+372") ? "3" :
(name == "FB0+010" || name == "FB0+030") ? '4' : '';
this.type1 = typeName[name]; this.type1 = typeName[name];
this.getDmTree(); this.getDmTree();
} }
@ -173,7 +176,7 @@
handler(newVal, oldVal) { handler(newVal, oldVal) {
if (newVal) { if (newVal) {
this.chartData = { this.chartData = {
...drpOption(newVal[0], this.dbType,this.type1) ...drpOption(newVal[0], this.dbType, this.type1)
} }
} }
}, },
@ -197,7 +200,7 @@
console.log("data", data[index % data.length]); console.log("data", data[index % data.length]);
this.chartData = { this.chartData = {
...drpOption(data[index % data.length], this.dbType,this.type1) ...drpOption(data[index % data.length], this.dbType, this.type1)
} }
index++; index++;
}, 1000) }, 1000)
@ -258,14 +261,23 @@
const { const {
data data
} = await uni.$http.post( } = await uni.$http.post(
`/gunshiApp/tsg/attDamProfile/list`, ) `/gunshiApp/tsg/attDamProfile/list`,)
if (data.code == 200) { if (data.code == 200) {
uni.hideLoading(); uni.hideLoading();
const filterData = data.data.filter(item => item?.profileName?.split('+')[0] == 'ZB0') const filterData = data.data.filter(item => (item?.profileName?.split('+')[0] == 'ZB0' || item?.profileName?.split('+')[0] == 'FB0'))
console.log("filterData",filterData); console.log("filterData", filterData);
const sortedData = filterData.sort((a, b) => {
// abZB0
const isAZB0 = a.profileCode.startsWith('ZB0');
const isBZB0 = b.profileCode.startsWith('ZB0');
this.array = filterData // ZB0ZB0/ZB0
this.profileCode = filterData[0].profileCode; if (isAZB0 && !isBZB0) return -1; // aZB0b a
if (!isAZB0 && isBZB0) return 1; // aZB0b b
return 0; //
});
this.array = sortedData
this.profileCode = sortedData[0].profileCode;
} }
} catch (e) { } catch (e) {
uni.$showMsg(); uni.$showMsg();
@ -365,11 +377,11 @@
this.getMonthData() this.getMonthData()
this.getDmTree() this.getDmTree()
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.uni-input12 { .uni-input12 {
display: flex; display: flex;
justify-content: center; justify-content: center;
column-gap: 30px; column-gap: 30px;
@ -379,9 +391,9 @@
border-left: none; border-left: none;
border-right: none; border-right: none;
// background-image: '../../static/images/'; // background-image: '../../static/images/';
} }
.jcsj-box { .jcsj-box {
padding: 0 10px; padding: 0 10px;
.jcsj-content { .jcsj-content {
@ -440,5 +452,5 @@
.aqjc-custom-style { .aqjc-custom-style {
width: 80rpx; width: 80rpx;
} }
} }
</style> </style>

View File

@ -3,9 +3,10 @@ import { imageUrl060,imageUrl090,rule } from './dataUrl'
import imageUrl130 from './dataUrl1/zb130'; import imageUrl130 from './dataUrl1/zb130';
import imageUrl250 from './dataUrl1/zb250'; import imageUrl250 from './dataUrl1/zb250';
import imageUrl370 from './dataUrl1/zb370'; import imageUrl370 from './dataUrl1/zb370';
import imageUrl010 from './dataUrl1/fb010';
export default function jrxOptions(data = {}, type = "1",typeName='1') { export default function jrxOptions(data = {}, type = "1", typeName = '1') {
// const yMin = type == "1" ? 70 : type == "2" ? 70 : 70; // const yMin = type == "1" ? 70 : type == "2" ? 70 : 70;
// const yMax = type == "1" ? 154 : type == "2" ? 150 : 150; // const yMax = type == "1" ? 154 : type == "2" ? 150 : 150;
// const type1 = ["SY05", "SY06", "SY07", "SY08"] // const type1 = ["SY05", "SY06", "SY07", "SY08"]
@ -76,21 +77,26 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
// : [] // : []
const yMin = type == "3" ? 70 : type == "2" ? 67 : const yMin = type == "3" ? 70 : type == "2" ? 67 :
type == '1' ? 58 : 70; type == '1' ? 58 : 99;
const yMax = type == "3" ? 129 : type == "2" ? 117 const yMax = type == "3" ? 129 : type == "2" ? 117
: type == "1" ? 118 : 150; : type == "1" ? 118 : 116;
const type1 = ["UPD1", "UPD4", "UPD10", "UPD16"]; const type1 = ["UPD1", "UPD4", "UPD10", "UPD16"];
const type2 = ["UPD7", "UPD13"]; const type2 = ["UPD7", "UPD13"];
const type3 = ["UPD2", "UPD5", "UPD8", "UPD17"]; const type3 = ["UPD2", "UPD5", "UPD8", "UPD17"];
const type4 = ["UPD11", "UPD14"]; const type4 = ["UPD11", "UPD14"];
const type5 = ["UPD3", "UPD6", "UPD9"]; const type5 = ["UPD3", "UPD6", "UPD9"];
const type6 = ["UPD12", "UPD15"]; const type6 = ["UPD12", "UPD15"];
const type7 = ["UPD24", "UPD26","UPD28"]; //UPD24:109.87,UPD26:109.75,UPD28:109.43
const type8 = ["UPD25", "UPD27","UPD29"]; //UPD25:109.87,UPD27:109.75,UPD29:109.43
const alltype = typeName == "1" ? type1 : const alltype = typeName == "1" ? type1 :
typeName == "2" ? type2 : typeName == "2" ? type2 :
typeName == "3" ? type3 : typeName == "3" ? type3 :
typeName == "4" ? type4 : typeName == "4" ? type4 :
typeName == "5" ? type5 : typeName == "5" ? type5 :
typeName == "6" ? type6 :[] typeName == "6" ? type6 :
typeName == "7" ? type7 :
typeName == "8" ? type8 :
[];
; ;
// 字体颜色 // 字体颜色
@ -100,15 +106,14 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
// const imageUrl130 = `${process.env.PUBLIC_URL}/assets/images/zb130.png ` // const imageUrl130 = `${process.env.PUBLIC_URL}/assets/images/zb130.png `
const imageUrl = type == "1" ? imageUrl130 : const imageUrl = type == "1" ? imageUrl130 :
type == "2" ? imageUrl250 : type == "2" ? imageUrl250 :
type == "3" ? imageUrl370 : imageUrl370 type == "3" ? imageUrl370 : imageUrl010;
;
// const rule = `${process.env.PUBLIC_URL}/assets/images/ruler.png ` // const rule = `${process.env.PUBLIC_URL}/assets/images/ruler.png `
// rz 是最上面那条线 rz1是那条贴近坝面的线 xValue求解的是最上面那条线的末尾横坐标 // rz 是最上面那条线 rz1是那条贴近坝面的线 xValue求解的是最上面那条线的末尾横坐标
const xValue = type == "3" ? (((data?.rz - 86) + 0.6 * 5) / 0.6) : const xValue = type == "3" ? (((data?.rz - 86) + 0.6 * 5) / 0.6) :
type == "2" ? (((data?.rz - 87) + 0.63 * 7) / 0.63) : type == "2" ? (((data?.rz - 87) + 0.63 * 7) / 0.63) :
type == "1" ? (((data?.rz - 87) + 0.67 * 10) / 0.67) : type == "1" ? (((data?.rz - 87) + 0.67 * 10) / 0.67) :
(((data?.rz - 99) + 1 * 14) / 1) (((data?.rz - 102) + 0.25 * 4) / 0.25)
const rz = data?.rz ? const rz = data?.rz ?
[[xValue, data?.rz], [0, data?.rz],] : [[xValue, data?.rz], [0, data?.rz],] :
[] []
@ -121,7 +126,7 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
type == "1" ? type == "1" ?
[[0, 87], [8, 87], [xValue, data?.rz]] [[0, 87], [8, 87], [xValue, data?.rz]]
: :
[[0, 99], [14, 99], [xValue, data?.rz]] [[0, 102], [4, 102], [xValue, data?.rz]]
: :
[] []
// gz1、gz2、gz3、gz4分别为渗压管 // gz1、gz2、gz3、gz4分别为渗压管
@ -129,21 +134,21 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
type == "3" ? [[52, typeName =='5' ?76.56:92.18], [52, data[alltype[0]]]] : type == "3" ? [[52, typeName =='5' ?76.56:92.18], [52, data[alltype[0]]]] :
type == "2" ? [[52, typeName =='3' ?76.16:77.18], [52, data[alltype[0]]]] : type == "2" ? [[52, typeName =='3' ?76.16:77.18], [52, data[alltype[0]]]] :
type == "1" ? [[49, typeName =='1' ?79.16:77.18], [49, data[alltype[0]]]] : type == "1" ? [[49, typeName =='1' ?79.16:77.18], [49, data[alltype[0]]]] :
[[47.5, 158], [85, data[alltype[0]]]] [[62, 109.87], [62, data[alltype[0]]]]
: []; : [];
const gz2 = data[alltype[1]] ? const gz2 = data[alltype[1]] ?
type == "3" ? [[57, typeName =='5' ?77.18:83.50], [57, data[alltype[1]]]] : type == "3" ? [[57, typeName =='5' ?77.18:83.50], [57, data[alltype[1]]]] :
type == "2" ? [[55, typeName =='3' ?77.18:77.50], [55, data[alltype[1]]]] : type == "2" ? [[55, typeName =='3' ?77.18:77.50], [55, data[alltype[1]]]] :
type == "1" ? [[57, typeName =='1' ?77.18:74.5], [57, data[alltype[1]]]] : type == "1" ? [[57, typeName =='1' ?77.18:74.5], [57, data[alltype[1]]]] :
[[53.6, 158], [53.6, data[alltype[1]]]] : [[72, 109.75], [72, data[alltype[1]]]] :
[]; [];
const gz3 = data[alltype[2]] ? const gz3 = data[alltype[2]] ?
type == "3" ? [[65, 81.50], [65, data[alltype[2]]]] : type == "3" ? [[65, 81.50], [65, data[alltype[2]]]] :
type == "2" ? [[63, 80.50], [63, data[alltype[2]]]] : type == "2" ? [[63, 80.50], [63, data[alltype[2]]]] :
type == "1" ? [[67, 66.50], [79, data[alltype[2]]]] : type == "1" ? [[67, 66.50], [79, data[alltype[2]]]] :
[[73, 161], [73, data[alltype[2]]]] : []; [[87, 109.43], [87, data[alltype[2]]]] : [];
const gz4 = data[alltype[3]] ? const gz4 = data[alltype[3]] ?
@ -180,9 +185,9 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
] : ] :
[ [
[xValue, data?.rz], [xValue, data?.rz],
[51.6, data[alltype[0]]], [62, data[alltype[0]]],
[53.6, data[alltype[1]]], [72, data[alltype[1]]],
[73, data[alltype[2]]], [87, data[alltype[2]]],
[85, data[alltype[3]]] [85, data[alltype[3]]]
] ]
: []; : [];
@ -317,7 +322,7 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
origin: "end", origin: "end",
color: 'rgba(0, 128, 255, 0.3)' // 设置区域填充颜色 color: 'rgba(0, 128, 255, 0.3)' // 设置区域填充颜色
}, },
data:[...rz,...rz1] data:[...rz, ...rz1]
}, },
{ {