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

View File

@ -3,9 +3,10 @@ import { imageUrl060,imageUrl090,rule } from './dataUrl'
import imageUrl130 from './dataUrl1/zb130';
import imageUrl250 from './dataUrl1/zb250';
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 yMax = type == "1" ? 154 : type == "2" ? 150 : 150;
// 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 :
type == '1' ? 58 : 70;
type == '1' ? 58 : 99;
const yMax = type == "3" ? 129 : type == "2" ? 117
: type == "1" ? 118 : 150;
: type == "1" ? 118 : 116;
const type1 = ["UPD1", "UPD4", "UPD10", "UPD16"];
const type2 = ["UPD7", "UPD13"];
const type3 = ["UPD2", "UPD5", "UPD8", "UPD17"];
const type4 = ["UPD11", "UPD14"];
const type5 = ["UPD3", "UPD6", "UPD9"];
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 :
typeName == "2" ? type2 :
typeName == "3" ? type3 :
typeName == "4" ? type4 :
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 imageUrl = type == "1" ? imageUrl130 :
type == "2" ? imageUrl250 :
type == "3" ? imageUrl370 : imageUrl370
;
type == "3" ? imageUrl370 : imageUrl010;
// const rule = `${process.env.PUBLIC_URL}/assets/images/ruler.png `
// rz 是最上面那条线 rz1是那条贴近坝面的线 xValue求解的是最上面那条线的末尾横坐标
const xValue = type == "3" ? (((data?.rz - 86) + 0.6 * 5) / 0.6) :
type == "2" ? (((data?.rz - 87) + 0.63 * 7) / 0.63) :
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 ?
[[xValue, data?.rz], [0, data?.rz],] :
[]
@ -121,7 +126,7 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
type == "1" ?
[[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分别为渗压管
@ -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 == "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]]]] :
[[47.5, 158], [85, data[alltype[0]]]]
[[62, 109.87], [62, data[alltype[0]]]]
: [];
const gz2 = 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 == "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]] ?
type == "3" ? [[65, 81.50], [65, data[alltype[2]]]] :
type == "2" ? [[63, 80.50], [63, 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]] ?
@ -180,9 +185,9 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
] :
[
[xValue, data?.rz],
[51.6, data[alltype[0]]],
[53.6, data[alltype[1]]],
[73, data[alltype[2]]],
[62, data[alltype[0]]],
[72, data[alltype[1]]],
[87, data[alltype[2]]],
[85, data[alltype[3]]]
]
: [];
@ -317,7 +322,7 @@ export default function jrxOptions(data = {}, type = "1",typeName='1') {
origin: "end",
color: 'rgba(0, 128, 255, 0.3)' // 设置区域填充颜色
},
data:[...rz,...rz1]
data:[...rz, ...rz1]
},
{