Merge branch 'lsf-dev'

master
李神峰 2024-06-14 17:48:40 +08:00
commit 7f4a56e1ca
16 changed files with 217 additions and 63 deletions

View File

@ -1,10 +1,21 @@
<template>
<view class="jcsj-box">
<view class="time-ranger">
<uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view>
<!-- <uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view> -->
</view>
<!-- <view class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
@ -19,6 +30,20 @@
<view style="margin-top: 20px;" v-if="selactOne == 1">
<JcsjTable :tableData="tableData" />
</view>
<u-datetime-picker
:show="showTime"
v-model="startTime"
mode="datetime"
@confirm="handleStartTime"
@cancel="showTime=false"
></u-datetime-picker>
<u-datetime-picker
:show="showTime1"
v-model="endTime"
mode="datetime"
@confirm="handleEndTime"
@cancel="showTime1=false"
></u-datetime-picker>
</view>
</template>
@ -37,8 +62,13 @@
default:''
},
data() {
return {
tm:[stm,etm],
return {
startTime:stm,
endTime:etm,
stm,
etm,
showTime:false,
showTime1:false,
tableData:[],
chartData: {},
rainChartData:[],
@ -55,6 +85,16 @@
}
},
methods: {
handleStartTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.stm = time
this.showTime = false
},
handleEndTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.etm = time;
this.showTime1 = false
},
handleRanger(e){
console.log(e);
this.tm = [...e]
@ -66,8 +106,8 @@
"/gunshiApp/xfflood/river/water/monitor/data",
{
stcd:this.stcd,
stm:moment(this.tm[0]).format("YYYY-MM-DD HH:mm:ss"),
etm:moment(this.tm[1]).format("YYYY-MM-DD HH:mm:ss"),
stm:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
etm:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),
source:this.source
})
if(data.code == 200){
@ -91,18 +131,25 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
display: flex;
align-items: center;
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-charts{
width:100%;
height: 530px;
height: 500px;
margin-top: 20px;
overflow-y: auto;
}
.active{
border-color: #68bbff !important;

View File

@ -29,7 +29,7 @@
<td style="width: 100px">{{ item.z ? item.z.toFixed(2) : "-" }}</td>
<td style="width: 80px">{{ item.tq ? item.tq : "-" }}</td>
</tr>
<div style="height:125px"></div>
<div style="height:180px"></div>
</div>
</table>
</div>
@ -76,7 +76,7 @@
font-size: 14px;
}
.scroll-table{
height: calc(100vh - 125px);
height: calc(100vh - 180px);
overflow-y: auto;
width:'100%'
}

View File

@ -51,7 +51,7 @@
></u--input>
<text>(km)</text>
</view>
<view style="display: flex; margin-top: 211%;">
<view style="display: flex; position:absolute;bottom:20px;right:20px">
<u-button text="重置" class="bottom-btn1"
@click="formData = {...formData,sources,distance:1}"></u-button>
<u-button text="确认" color="#d9001b" class="bottom-btn2" @click="popConfirm"></u-button>

View File

@ -176,7 +176,6 @@
import moment from "moment"
import {disType} from "../utils/dicType.js"
const adcd = uni.getStorageSync('value').adcd
const type = disType(adcd)
export default {
data() {
return {
@ -226,14 +225,14 @@
basCode:'',
source:["SH","SW","QX","SK"],
stArg:'',
adcd:type == 1 ? undefined :adcd,
adcd:disType(uni.getStorageSync('value').adcd) == 1 ? undefined :uni.getStorageSync('value').adcd,
etm:moment().format("YYYY-MM-DD HH:mm"),
stm:moment().subtract(1, 'day').format("YYYY-MM-DD HH:mm")
// etm:moment().set({ hour: 8, minute: 0, second: 0, millisecond: 0 }).format("YYYY-MM-DD HH:mm"),
// stm:moment().subtract(1, 'day').set({ hour: 8, minute: 0, second: 0, millisecond: 0 }).format("YYYY-MM-DD HH:mm")
},
tableHeight:0,
limit:disType(uni.getStorageSync('value').adcd)
}
},
components:{
@ -246,9 +245,6 @@
etm:moment().format("YYYY-MM-DD HH:mm")
}
},
limit(){
return disType(adcd)
}
},
watch:{
formData(newV, oldV){

View File

@ -35,14 +35,15 @@ export default function DrpOption(echartData) {
xAxis: [
{
type: 'category',
data: echartData?.time.map(item => item.substr('2020--'.length)),
// data: echartData?.time.map(item => item.substr('2020--'.length)),
data: echartData?.time,
splitLine: {
show: false
},
axisLabel: {
color: '#333',
fontSize: 12,
formatter: val => val.substr('2020-'.length, 11)
format: 'xAxisFormat'
},
axisLine: {
lineStyle: {

View File

@ -1,20 +1,45 @@
<template>
<view class="jcsj-box">
<view class="time-ranger">
<uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view>
<!-- <uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view> -->
</view>
<!-- <view class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
</view> -->
<view class="jcsj-charts">
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts"/>
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
</view>
<view class="jcsj-table">
<JcsjTable :tableData="tableData" />
</view>
<u-datetime-picker
:show="showTime"
v-model="startTime"
mode="datetime"
@confirm="handleStartTime"
@cancel="showTime=false"
></u-datetime-picker>
<u-datetime-picker
:show="showTime1"
v-model="endTime"
mode="datetime"
@confirm="handleEndTime"
@cancel="showTime1=false"
></u-datetime-picker>
</view>
</template>
@ -23,7 +48,7 @@
import JcsjTable from "./jcsjTable"
import drpOption from "./chartOption.js"
const stm = moment().subtract(7, 'days').add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD HH:mm");
const etm = moment().add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD HH:mm");
const etm = moment().add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD HH:mm");
export default {
props:{
stcd:String,
@ -31,21 +56,39 @@
},
data() {
return {
tm:[stm,etm],
startTime:stm,
endTime:etm,
stm,
etm,
tableData:[],
chartData: {},
chartData: {chartData:{},eopts:{}},
rainChartData:{},
showTime:false,
showTime1:false
}
},
components:{
JcsjTable
},
watch:{
rainChartData(newV, oldV){
rainChartData:{
handler(newV){
this.chartData = {...drpOption(newV)}
},
deep:true
}
},
methods: {
handleStartTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.stm = time
this.showTime = false
},
handleEndTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.etm = time;
this.showTime1 = false
},
handleRanger(e){
console.log(e);
this.tm = [...e]
@ -57,8 +100,8 @@
"/gunshiApp/xfflood/attResBase/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime",
{
stcd:this.stcd,
startTime:moment(this.tm[0]).format("YYYY-MM-DD HH:mm:ss"),
endTime:moment(this.tm[1]).format("YYYY-MM-DD HH:mm:ss"),
startTime:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
endTime:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),
})
if(data.code == 200){
this.tableData = [...data.data]
@ -74,10 +117,9 @@
"/gunshiApp/xfflood/attResBase/rainBasinDivision/queryStStbprpPerHourChart/StcdAndStartTimeAndEndTime",
{
stcd:this.stcd,
startTime:moment(this.tm[0]).format("YYYY-MM-DD HH:mm:ss"),
endTime:moment(this.tm[1]).format("YYYY-MM-DD HH:mm:ss"),
startTime:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
endTime:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),
})
console.log("data",data);
if(data.code == 200){
this.rainChartData = {...data.data}
}
@ -101,12 +143,18 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
display: flex;
align-items: center;
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-charts{

View File

@ -12,13 +12,13 @@
</th>
</tr>
<!-- style="max-height: 320px; overflow-y: auto" -->
<div class="scroll-table">
<div style="max-height: 250px; overflow-y: auto">
<tr v-for="(item, index) in tableData" :key="index">
<td style="width: 50px">{{ index + 1 }}</td>
<td style="width: 200px;">{{ item.time }}</td>
<td style="width: 150px">{{ item.sumDrp }}</td>
</tr>
<div style="height:125px"></div>
<div style="height:155px"></div>
</div>
</table>
</div>
@ -72,7 +72,7 @@
text-align: center !important;
}
.scroll-table{
height: calc(100vh - 125px);
height: calc(100vh - 145px);
overflow-y: auto;
width:'100%'
}

View File

@ -8,13 +8,13 @@
</view>
</view>
<view class="tab-bar" >
<view class="jcsj" @click="()=>this.activeOne = 0" :class="{'active':this.activeOne == 0}">
<view class="jcsj" @click="activeOne = 0" :class="{'active':activeOne == 0}">
监测数据
</view>
<view class="tjsj" @click="()=>this.activeOne = 1" :class="{'active':this.activeOne == 1}">
<view class="tjsj" @click="activeOne = 1" :class="{'active':activeOne == 1}">
统计数据
</view>
<view class="zbyq" @click="()=>this.activeOne = 2" :class="{'active':this.activeOne == 2}">
<view class="zbyq" @click="activeOne = 2" :class="{'active':activeOne == 2}">
周边雨情
</view>
</view>

View File

@ -51,7 +51,7 @@
></u--input>
<text>(km)</text>
</view>
<view style="display: flex; margin-top: 211%;">
<view style="display: flex; position:absolute;bottom:20px;right:20px">
<u-button text="重置" class="bottom-btn1"
@click="formData = {...formData,sources,distance:1}"></u-button>
<u-button text="确认" color="#d9001b" class="bottom-btn2" @click="popConfirm"></u-button>

View File

@ -1,10 +1,21 @@
<template>
<view class="jcsj-box">
<view class="time-ranger">
<uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view>
<!-- <uni-datetime-picker type="datetimerange" v-model="tm" @change="handleRanger"></uni-datetime-picker>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view> -->
</view>
<!-- <view class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
@ -19,6 +30,20 @@
<view style="margin-top: 20px;" v-if="selactOne == 1">
<JcsjTable :tableData="tableData" />
</view>
<u-datetime-picker
:show="showTime"
v-model="startTime"
mode="datetime"
@confirm="handleStartTime"
@cancel="showTime=false"
></u-datetime-picker>
<u-datetime-picker
:show="showTime1"
v-model="endTime"
mode="datetime"
@confirm="handleEndTime"
@cancel="showTime1=false"
></u-datetime-picker>
</view>
</template>
@ -38,7 +63,12 @@
},
data() {
return {
tm:[stm,etm],
startTime:stm,
endTime:etm,
stm,
etm,
showTime:false,
showTime1:false,
tableData:[],
chartData: {},
rainChartData:[],
@ -55,6 +85,16 @@
}
},
methods: {
handleStartTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.stm = time
this.showTime = false
},
handleEndTime(e){
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
this.etm = time;
this.showTime1 = false
},
handleRanger(e){
console.log(e);
this.tm = [...e]
@ -66,8 +106,8 @@
"/gunshiApp/xfflood/reservoir/water/monitor/data",
{
stcd:this.stcd,
stm:moment(this.tm[0]).format("YYYY-MM-DD HH:mm:ss"),
etm:moment(this.tm[1]).format("YYYY-MM-DD HH:mm:ss"),
stm:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
etm:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),
source:this.source
})
if(data.code == 200){
@ -91,17 +131,24 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
display: flex;
align-items: center;
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-charts{
width:100%;
height: 530px;
height: 500px;
overflow-y: auto;
margin-top: 20px;
}
.active{

View File

@ -29,7 +29,7 @@
<td style="width: 100px">{{ item.rz ? item.rz.toFixed(2) : "-" }}</td>
<td style="width: 80px">{{ item.w ? item.w : "-" }}</td>
</tr>
<div style="height:125px"></div>
<div style="height:180px"></div>
</div>
</table>
</div>
@ -76,7 +76,7 @@
font-size: 14px;
}
.scroll-table{
height: calc(100vh - 125px);
height: calc(100vh - 180px);
overflow-y: auto;
width:'100%'
}

View File

@ -30,7 +30,7 @@
</swiper-item>
<swiper-item >
<view style="display: flex;">
<view class="spjk" @click="activeOne = 4" :class="{'active':activeOne == 4}" style="margin-right:4%">
<view class="spjk" @click="activeOne = 4" :class="{'active':activeOne == 4}" style="margin:0 4%">
视频监控
</view>
<view class="zbyq" @click="activeOne = 5" :class="{'active':activeOne == 5}" >

View File

@ -51,7 +51,7 @@
></u--input>
<text>(km)</text>
</view>
<view style="display: flex; margin-top: 211%;">
<view style="display: flex; position:absolute;bottom:20px;right:20px">
<u-button text="重置" class="bottom-btn1"
@click="formData = {...formData,sources,distance:1}"></u-button>
<u-button text="确认" color="#d9001b" class="bottom-btn2" @click="popConfirm"></u-button>

View File

@ -4,7 +4,7 @@
{{dic}}
</view>
<view class="table_cur">
<table>
<table style="width:100%;display:block">
<tr>
<th style="width: 50px;">
姓名
@ -17,13 +17,15 @@
联系方式
</th>
</tr>
<view style="max-height: 500px; overflow-y: auto">
<!-- style="max-height: 500px; overflow-y: auto" -->
<view >
<tr>
<td style="width: 50px">{{info.personName}}</td>
<td style="width: 130px;">{{info.orgName}}</td>
<td style="width: 80px">{{info.position}}</td>
<td style="width: 100px;color: #62bafa;" @click="show = true">{{info.tel}}</td>
</tr>
</view>
</table>
@ -119,6 +121,11 @@
border-collapse: collapse;
font-size: 14px;
}
.scroll-table{
height: calc(100vh - 125px);
overflow-y: auto;
width:'100%'
}
.table_cur tr {
display: flex;
line-height: 65rpx;

View File

@ -1,8 +1,9 @@
<template>
<view style="max-height: 620px; overflow-y: auto;">
<view v-for="(item,index) in list" :key="index">
<view class="scroll-table">
<view v-for="(item,index) in list" :key="index" >
<Card :info="item" />
</view>
<view style="height:50px"></view>
</view>
</template>
@ -45,6 +46,10 @@
}
</script>
<style>
<style lang="scss" scoped>
.scroll-table{
height: calc(100vh - 100px);
overflow-y: auto;
width:100%;
}
</style>

View File

@ -53,7 +53,10 @@ const cfe = {
},
legendFormat:function(name){
return "自定义图例+"+name;
},
},
"xAxisFormat": function (value) {
return value.substr('2020--'.length, 11)
},
yAxisFormatDemo:function (value, index) {
return value + '元';
},