merge合并master

master
张林 2024-06-19 14:17:45 +08:00
commit b380c9cb18
28 changed files with 445 additions and 266 deletions

View File

@ -57,8 +57,11 @@
<u-checkbox name="1" label="水库" class="checkItem"></u-checkbox>
<u-checkbox name="2" label="水电站" class="checkItem"></u-checkbox>
</u-checkbox-group>
<div :style="{display:'flex',alignItems:'center'}">
<text class="title">按上报时间</text>
<div :style="{display:'flex',marginTop:'10px'}">
<u-switch v-model="isTime" size="20" :style="{margin:'2px 0 0 10px'}"></u-switch>
</div>
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showStmPicker = true"
@ -68,7 +71,7 @@
</view>
<text :style="{width:'20%',lineHeight:'32px',textAlign:'center'}"></text>
</div>
<div :style="{display:'flex',marginTop:'10px'}">
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showEtmPicker = true"
@ -129,6 +132,7 @@ import moment from 'moment'
searchVal:'',
stm:Number(moment(new Date()).add(-7,'days')),
etm:Number(new Date()),
isTime:false,
check1:['1','2'],
list:[]
}
@ -156,6 +160,7 @@ import moment from 'moment'
this.show = false
},
reSet() {
this.isTime = false
this.stm = Number(moment(new Date()).add(-7,'days'))
this.etm = Number(new Date())
this.check1 = ['1','2']
@ -171,69 +176,18 @@ import moment from 'moment'
}
try{
const params = {
timeSo:{
projectTypes:this.check1.length===0?['999']:this.check1,
}
if(this.isTime){
params.timeSo = {
start:moment(this.stm).format('YYYY-MM-DD HH:mm:ss'),
end:moment(this.etm).format('YYYY-MM-DD HH:mm:ss'),
},
projectTypes:this.check1,
}
console.log('params',params)
}
console.log('params',this.check1==[])
const res = await uni.$http.post('/gunshiApp/xfflood/xfProjectRun/list',params)
console.log('res',res)
this.list = [...res.data.data
// ,
// {
// id:'1',
// projectName:'',
// projectType:'1',//(1 2)
// reportType:'',
// isPowerGeneration:'1',//0 1
// isFloodRelease:'0',//0 1
// waterLevel:'10',//(m)
// inflowVolume:'21',//(m³/s)
// outflowVolume:'11',//(m³/s)
// reporter:'',
// reportTime:'2011-12-12 11:11:22',//
// reportUnit:'',
// moditime:'',
// remark:'',
// isRead:0,//0 1
// },
// {
// id:'2',
// projectName:'33',
// projectType:'2',//(1 2)
// reportType:'',
// isPowerGeneration:'0',//0 1
// isFloodRelease:'0',//0 1
// waterLevel:'3',//(m)
// inflowVolume:'1',//(m³/s)
// outflowVolume:'6',//(m³/s)
// reporter:'2',
// reportTime:'2011-12-12 11:11:22',//
// reportUnit:'2',
// moditime:'',
// remark:'2',
// isRead:0,//0 1
// },
// {
// id:'3',
// projectName:'3',
// projectType:'2',//(1 2)
// reportType:'',
// isPowerGeneration:'0',//0 1
// isFloodRelease:'0',//0 1
// waterLevel:'3',//(m)
// inflowVolume:'1',//(m³/s)
// outflowVolume:'6',//(m³/s)
// reporter:'2',
// reportTime:'2011-12-12 11:11:22',//
// reportUnit:'2',
// moditime:'',
// remark:'2',
// isRead:0,//0 1
// },
]
this.list = res.data.data
this.close()
}catch(e){
//TODO handle the exception

View File

@ -68,8 +68,11 @@
<u-checkbox name="1" label="水库" class="checkItem"></u-checkbox>
<u-checkbox name="2" label="水电站" class="checkItem"></u-checkbox>
</u-checkbox-group>
<div :style="{display:'flex',alignItems:'center'}">
<text class="title">按上报时间</text>
<div :style="{display:'flex',marginTop:'10px'}">
<u-switch v-model="isTime" size="20" :style="{margin:'2px 0 0 10px'}"></u-switch>
</div>
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showStmPicker = true"
@ -79,7 +82,7 @@
</view>
<text :style="{width:'20%',lineHeight:'32px',textAlign:'center'}"></text>
</div>
<div :style="{display:'flex',marginTop:'10px'}">
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showEtmPicker = true"
@ -140,6 +143,7 @@ import moment from 'moment'
searchVal:'',
stm:Number(moment(new Date()).add(-7,'days')),
etm:Number(new Date()),
isTime:false,
check1:['1','2','3','4'],
check2:['1','2'],
list:[]
@ -168,6 +172,7 @@ import moment from 'moment'
this.show = false
},
reSet() {
this.isTime = false
this.stm = Number(moment(new Date()).add(-7,'days'))
this.etm = Number(new Date())
this.check1 = ['1','2','3','4']
@ -184,36 +189,20 @@ import moment from 'moment'
}
try{
const params = {
timeSo:{
severitys:this.check1.length===0?['999']:this.check1,
projectTypes:this.check2.length===0?['999']:this.check2,
}
if(this.isTime){
params.timeSo = {
start:moment(this.stm).format('YYYY-MM-DD HH:mm:ss'),
end:moment(this.etm).format('YYYY-MM-DD HH:mm:ss'),
},
severitys:this.check1,
projectTypes:this.check2,
}
}
console.log('params',params)
const res = await uni.$http.post('/gunshiApp/xfflood/xfProjectIncident/list',params)
console.log('res',res)
this.list = [
...res.data.data
// ,
// {
// id:'1',
// projectName:'',
// projectType:'1',//(1 2)
// severity:'1',//1 2 3 4
// incidentDescription:'',
// isControlled:'1',//0 1
// controlResponsiblePerson:'',
// responsiblePersonPhone:'12328281728',//
// reporter:'',//
// reportTime:'2022-11-21 10:21:11',//
// reportUnit:'',
// moditime:'',
// remark:'',
// isRead:0,//0 1
// },
]
this.list = res.data.data
this.close()
}catch(e){
//TODO handle the exception

View File

@ -16,11 +16,17 @@
<view class="info">
<div class="ul_list" @click="todetail(1)">
<div class="left">工情信息</div>
<div class="left">></div>
<div class="left" :style="{display:'flex',alignItems:'center'}">
<div class="redDot" v-show="gq"></div>
<text>></text>
</div>
</div>
<div class="ul_list" @click="todetail(2)">
<div class="left">灾情信息</div>
<div class="left">></div>
<div class="left" :style="{display:'flex',alignItems:'center'}">
<div class="redDot" v-show="zq"></div>
<text>></text>
</div>
</div>
</view>
</view>
@ -28,7 +34,13 @@
<script>
export default {
data () {
return {}
return {
gq:false,
zq:false
}
},
onShow() {
this.getData()
},
methods: {
todetail (val) {
@ -43,6 +55,24 @@ export default {
url: '/pages/gqzq/zqxx/zqxx'
})
}
},
async getData() {
try{
const res = await uni.$http.get("/gunshiApp/xfflood/xfProjectRun/has/read")
const data = res.data.data
if(data){
console.log(data['1'],data['2'],data['3'])
this.gq = (data['1']||data['2'])?true:false
this.zq = data['3']?true:false
}
console.log('res',res)
}catch(e){
this.$refs.uToast.show({
type: 'error',
title: '失败主题',
message: "请求失败",
})
}
}
}
}
@ -82,4 +112,11 @@ export default {
height: 48px;
border-bottom: 1px solid #dfdfdf;
}
.redDot{
margin-right: 10px;
width: 8px;
height: 8px;
border-radius: 4px;
background-color: red;
}
</style>

View File

@ -59,8 +59,11 @@
<u-checkbox name="3" label="重大险情" class="checkItem"></u-checkbox>
<u-checkbox name="4" label="特别重大险情" class="checkItem"></u-checkbox>
</u-checkbox-group>
<div :style="{display:'flex',alignItems:'center'}">
<text class="title">按上报时间</text>
<div :style="{display:'flex',marginTop:'10px'}">
<u-switch v-model="isTime" size="20" :style="{margin:'2px 0 0 10px'}"></u-switch>
</div>
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showStmPicker = true"
@ -70,7 +73,7 @@
</view>
<text :style="{width:'20%',lineHeight:'32px',textAlign:'center'}"></text>
</div>
<div :style="{display:'flex',marginTop:'10px'}">
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showEtmPicker = true"
@ -131,6 +134,7 @@ import moment from 'moment'
searchVal:'',
stm:Number(moment(new Date()).add(-7,'days')),
etm:Number(new Date()),
isTime:false,
check1:['1','2','3','4'],
list:[]
}
@ -144,7 +148,7 @@ import moment from 'moment'
},
getSearchVal() {
if(this.searchVal){
return this.list.filter(o => (o.projectName?.indexOf(this.searchVal)>-1 || o.address?.indexOf(this.searchVal)>-1))
return this.list.filter(o => (o.reporter?.indexOf(this.searchVal)>-1 || o.address?.indexOf(this.searchVal)>-1))
}else{
return this.list
}
@ -158,6 +162,7 @@ import moment from 'moment'
this.show = false
},
reSet() {
this.isTime = false
this.stm = Number(moment(new Date()).add(-7,'days'))
this.etm = Number(new Date())
this.check1 = ['1','2','3','4']
@ -173,68 +178,18 @@ import moment from 'moment'
}
try{
const params = {
timeSo:{
severitys:this.check1.length===0?['999']:this.check1,
}
if(this.isTime){
params.timeSo = {
start:moment(this.stm).format('YYYY-MM-DD HH:mm:ss'),
end:moment(this.etm).format('YYYY-MM-DD HH:mm:ss'),
},
severitys:this.check1,
}
}
console.log('params',params)
const res = await uni.$http.post('/gunshiApp/xfflood/iaCHsfwater/queryList',params)
console.log('res',res)
this.list = [
...res.data.data
// ,{
// // id:'1',
// mtcd:'12121',//
// wscd:'22222',//
// otime:'2022-12-12 10:22:22',//
// severity:'22222',//
// wscd:'3',//1 2 3 4
// address:'',//
// lgtd:'111.21',//
// lttd:'32.12',//
// ddscrib:'',//
// dpcount:'2',//
// mpcount:'12',//
// spcount:'2211',//
// chcount:'41',//
// elose:'6623',//
// pfrain:'41',//mm
// reporter:'',//
// reportTime:'2022-11-21 10:21:11',//
// reportUnit:'',
// moditime:'',
// remark:'',
// isRead:0,//0 1
// severity:'1',//1 2 3 4
// },
// {
// // id:'1',
// mtcd:'12121',//
// wscd:'22222',//
// otime:'2022-12-12 10:22:22',//
// severity:'22222',//
// wscd:'3',//1 2 3 4
// address:'2',//
// lgtd:'111.21',//
// lttd:'32.12',//
// ddscrib:'',//
// dpcount:'2',//
// mpcount:'12',//
// spcount:'2211',//
// chcount:'41',//
// elose:'6623',//
// pfrain:'41',//mm
// reporter:'',//
// reportTime:'2022-11-21 10:21:11',//
// reportUnit:'',
// moditime:'',
// remark:'',
// isRead:1,//0 1
// severity:'1',//1 2 3 4
// },
]
this.list = res.data.data
this.close()
}catch(e){
//TODO handle the exception

View File

@ -69,6 +69,8 @@
<style lang="scss" scoped>
.rain-detail-box{
height: 100vh;
overflow: hidden;
position: relative;
.nav-bar{
display: flex;

View File

@ -1,11 +1,22 @@
<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 class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
" </view> -->
@ -13,12 +24,28 @@
<text :class="{'active':selactOne == 0}" @click="selactOne = 0" style="display: inline-block; padding: 2px 20px; text-align: center; border: 1px solid #dfdfdf;"></text>
<text :class="{'active':selactOne == 1}" @click="selactOne = 1" style="display: inline-block; padding: 2px 20px; text-align: center; border: 1px solid #dfdfdf;"></text>
</view>
<view class="jcsj-content">
<view class="jcsj-charts" v-if="selactOne == 0">
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
</view>
</view>
<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 +65,12 @@
},
data() {
return {
tm:[stm,etm],
startTime:stm,
endTime:etm,
stm,
etm,
showTime:false,
showTime1:false,
tableData:[],
chartData: {},
rainChartData:[],
@ -55,6 +87,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 +108,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 +133,29 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
margin-bottom: 10px;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-content{
max-height:calc(100vh - 89px - 43px - 45px);
overflow-y:auto
}
.jcsj-charts{
width:100%;
height: 530px;
height: 500px;
margin-top: 20px;
overflow-y: auto;
}
.active{
border-color: #68bbff !important;

View File

@ -1,7 +1,7 @@
<template>
<div class="table_div">
<div class="table_cur">
<table>
<table style="width:100%;display:block">
<tr>
<th style="width: 40px;">
序号
@ -20,7 +20,8 @@
</view>
</th>
</tr>
<div style="max-height: 480px; overflow-y: auto">
<!-- style="max-height: 480px; overflow-y: auto" -->
<div class="scroll-table">
<tr v-for="(item, index) in newList" :key="index">
<td style="width: 30px">{{ index + 1 }}</td>
<td style="width: 80px;">{{ item.tm }}</td>
@ -28,6 +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:180px"></div>
</div>
</table>
</div>
@ -72,6 +74,11 @@
empty-cells: show;
border-collapse: collapse;
font-size: 14px;
}
.scroll-table{
height: calc(100vh - 180px);
overflow-y: auto;
width:'100%'
}
.table_cur tr {
display: flex;

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

@ -223,13 +223,13 @@
</div>
</view>
</view>
<view v-show="limit != 1">
<view v-show="limit == 0">
<view class="info_24">
<div class="heart">
<p class="title">
<span class="line"></span><span class="h4">雨情</span>
</p>
<div class="time" style="width: 50%; color: #000">
<div class="time" style="width:50%; color: #000" v-if="timeList">
<uni-data-select
v-model="value1"
:localdata="timeList"
@ -239,7 +239,7 @@
</uni-data-select>
</div>
</div>
<div class="info_icon" style="height: 260px; width: 100%">
<div class="info_icon" style="height: 260px; width: 100%" v-if="chartData.chartData">
<qiun-data-charts
:chartData="chartData.chartData"
:echartsApp="true"
@ -252,7 +252,7 @@
<p class="title">
<span class="line"></span><span class="h4">水情</span>
</p>
<div class="time" style="width: 50%; color: #000">
<div class="time" style="width:50%; color: #000">
<u-subsection
:list="subList"
:current="current"

View File

@ -21,15 +21,42 @@
type="primary"
text="反馈"
customStyle="margin-top: 20px"
@click="submit1"
@click="show1 = true"
></u-button>
<u-button
type="primary"
text="反馈并结束"
customStyle="margin-top: 10px"
@click="submit2"
@click="show2 = true"
></u-button>
</div>
<u-modal
width="250"
:show="show1"
showCancelButton
closeOnClickOverlay
@confirm="submit1"
@cancel="() => show1 = false"
@close="() => show1 = false"
>
<view class="slot-content">
<rich-text :nodes="'确认反馈?'" :style="{fontSize:'16px'}"></rich-text>
</view>
</u-modal>
<u-modal
width="250"
:show="show2"
showCancelButton
closeOnClickOverlay
@confirm="submit2"
@cancel="() => show2 = false"
@close="() => show2 = false"
>
<view class="slot-content">
<rich-text :nodes="'确认反馈并结束?'" :style="{fontSize:'16px'}"></rich-text>
</view>
</u-modal>
</view>
</template>
@ -46,7 +73,9 @@
data() {
return {
value:'',
list:[]
list:[],
show1:false,
show2:false
};
},
created() {
@ -65,6 +94,7 @@
}
},
async submit1() {
this.show1 = false
try{
if(!this.value){
this.$refs.uToast.show({
@ -88,6 +118,7 @@
}
},
async submit2() {
this.show2 = false
try{
if(!this.value){
this.$refs.uToast.show({

View File

@ -66,8 +66,11 @@
<u-checkbox name="0" label="水库调洪" class="checkItem"></u-checkbox>
<u-checkbox name="1" label="人员转移" class="checkItem"></u-checkbox>
</u-checkbox-group>
<div :style="{display:'flex',alignItems:'center'}">
<text class="title">按时间</text>
<div :style="{display:'flex',marginTop:'10px'}">
<u-switch v-model="isTime" size="20" :style="{margin:'2px 0 0 10px'}"></u-switch>
</div>
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showStmPicker = true"
@ -77,7 +80,7 @@
</view>
<text :style="{width:'20%',lineHeight:'32px',textAlign:'center'}"></text>
</div>
<div :style="{display:'flex',marginTop:'10px'}">
<div :style="{display:'flex',marginTop:'10px'}" v-if="isTime">
<view
class="tmPicker"
@click="showEtmPicker = true"
@ -150,25 +153,8 @@
showEtmPicker:false,
stm:Number(moment(new Date()).add(-7,'days')),
etm:Number(new Date()),
isTime:false,
list:[],
// {
// serial:'10',//
// year:'2023',//
// executeOrgCode:'',//
// executeOrgName:'',//
// dispatchType:'',//
// forwardOrgName:'',//
// startTm:'',//
// endTm:'',//
// content:'',//
// createTm:'',//
// createUserId:'id',//id
// createUserName:'',//
// status:'1',//0=1=2=
// createTm:'2023-10-10 12:12:10',
// dispatchId: '14'
// }
};
},
computed: {
@ -191,6 +177,7 @@
this.show = false
},
reSet() {
this.isTime = false
this.stm = Number(moment(new Date()).add(-7,'days'))
this.etm = Number(new Date())
this.check = ['0','1']
@ -200,7 +187,9 @@
const params = {
status:this.tabVal,
dispatchTypeList:this.check,
dateTimeRangeSo:{
}
if(this.isTime){
params.dateTimeRangeSo = {
start:moment(this.stm).format('YYYY-MM-DD HH:mm:sss'),
end:moment(this.etm).format('YYYY-MM-DD HH:mm:sss')
}

View File

@ -19,7 +19,8 @@
<th style="width: 22%">
<div style="margin-top: 6px;">所属政区</div></th>
</tr>
<div :style="{'max-height':height + 'px', 'overflow-y': 'auto',width:'100%'}">
<!-- :style="{'max-height':height + 'px', 'overflow-y': 'auto',width:'100%'}" -->
<div class="scroll-table">
<tr v-for="(item, index) in list" :key="index" style="width:100%">
<td style="width: 11%;">{{ index + 1 }}</td>
<td style="width: 27%; color: #3399ef; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;" @click="jumpDetail(item)">
@ -28,7 +29,9 @@
<td style="width: 20%">{{ item.yesDrp || 0 }}</td>
<td style="width:23%;">{{ item.adnm }}</td>
</tr>
<div style="height:125px"></div>
</div>
</table>
</div>
</div>
@ -68,6 +71,7 @@
flex: 1;
padding-top: 0px;
overflow-x: scroll;
padding: 0 10px;
}
/*table样式*/
.table_cur {
@ -91,7 +95,11 @@
white-space: nowrap;
text-align: center !important;
}
.scroll-table{
height: calc(100vh - 125px);
overflow-y: auto;
width:'100%'
}
.table_cur td {
height: 65rpx;
// border-bottom: 1px solid #d8ddeb;

View File

@ -1,6 +1,6 @@
<template>
<view class="rain-box" style="overflow:hidden">
<u-status-bar></u-status-bar>
<view class="rain-box" style="overflow:hidden;height:100vh">
<u-status-bar ></u-status-bar>
<!-- <view style="height: var(--status-bar-height); width: 100%;"></view> -->
<view class="nav-bar">
<u-icon name="arrow-left" color="#000" size="20" @click="backTo" style="margin-left:10px"></u-icon>
@ -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,13 +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
tableHeight:0,
limit:disType(uni.getStorageSync('value').adcd)
}
},
components:{
@ -245,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,21 +1,48 @@
<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 class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
</view> -->
<view class="jcsj-content">
<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>
</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>
<script>
@ -31,21 +58,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 +102,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 +119,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,14 +145,24 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
margin-bottom: 10px;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-content{
max-height:calc(100vh - 89px - 43px - 45px);
overflow-y:auto
}
.jcsj-charts{
width:100%;
height: 300px;

View File

@ -1,7 +1,7 @@
<template>
<div class="table_div">
<div class="table_cur">
<table>
<table style="width:100%;display:block">
<tr>
<th style="width: 50px;">
序号
@ -11,12 +11,14 @@
小时雨量(mm)
</th>
</tr>
<div style="max-height: 320px; overflow-y: auto">
<!-- style="max-height: 320px; overflow-y: auto" -->
<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:155px"></div>
</div>
</table>
</div>
@ -69,6 +71,11 @@
white-space: nowrap;
text-align: center !important;
}
.scroll-table{
height: calc(100vh - 145px);
overflow-y: auto;
width:'100%'
}
.table_cur td {
height: 65rpx;

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>
@ -57,6 +57,8 @@
<style lang="scss" scoped>
.rain-detail-box{
height: 100vh;
overflow: hidden;
.nav-bar{
display: flex;
justify-content: center;

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,11 +1,22 @@
<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 class="" style="width: 100%; height: 3px; background-color: #dfdfdf; margin-bottom: 2px;">
" </view> -->
@ -13,12 +24,28 @@
<text :class="{'active':selactOne == 0}" @click="selactOne = 0" style="display: inline-block; padding: 2px 20px; text-align: center; border: 1px solid #dfdfdf;"></text>
<text :class="{'active':selactOne == 1}" @click="selactOne = 1" style="display: inline-block; padding: 2px 20px; text-align: center; border: 1px solid #dfdfdf;"></text>
</view>
<view class="jcsj-content">
<view class="jcsj-charts" v-if="selactOne == 0">
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
</view>
</view>
<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 +65,12 @@
},
data() {
return {
tm:[stm,etm],
startTime:stm,
endTime:etm,
stm,
etm,
showTime:false,
showTime1:false,
tableData:[],
chartData: {},
rainChartData:[],
@ -55,6 +87,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 +108,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 +133,28 @@
<style lang="scss" scoped>
.jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
margin-bottom: 10px;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
color: #3399ef;
// color: #3399ef;
}
}
.jcsj-content{
max-height:calc(100vh - 89px - 43px - 45px);
overflow-y:auto
}
.jcsj-charts{
width:100%;
height: 530px;
height: 500px;
overflow-y: auto;
margin-top: 20px;
}
.active{

View File

@ -1,7 +1,7 @@
<template>
<div class="table_div">
<div class="table_cur">
<table>
<table style="width:100%;display:block">
<tr>
<th style="width: 40px;">
序号
@ -20,7 +20,8 @@
</view>
</th>
</tr>
<div style="max-height: 480px; overflow-y: auto">
<!-- style="max-height: 480px; overflow-y: auto" -->
<div class="scroll-table">
<tr v-for="(item, index) in newList" :key="index">
<td style="width: 30px">{{ index + 1 }}</td>
<td style="width: 80px;">{{ item.tm }}</td>
@ -28,6 +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:180px"></div>
</div>
</table>
</div>
@ -72,6 +74,11 @@
empty-cells: show;
border-collapse: collapse;
font-size: 14px;
}
.scroll-table{
height: calc(100vh - 180px);
overflow-y: auto;
width:'100%'
}
.table_cur tr {
display: flex;

View File

@ -11,27 +11,29 @@
<uni-swiper-dot :info="Array(2).fill(0)" :current="current" field="content" :dotsStyles="dotsStyles">
<swiper class="swiper-box" style="height: 30px;" @change="change">
<swiper-item >
<view style="display: flex;">
<view style="display: flex;justify-content: space-between;">
<view class="jcsj" @click="activeOne = 0" :class="{'active':activeOne == 0}">
监测数据
</view>
<view class="tjsj" @click="activeOne = 1" :class="{'active':activeOne == 1}" style="margin: 0 25px;">
<!-- style="margin: 0 25px;" -->
<view class="tjsj" @click="activeOne = 1" :class="{'active':activeOne == 1}" style="margin: 0 4%">
统计数据
</view>
<view class="tjsj" @click="activeOne = 2" :class="{'active':activeOne == 2}" style="margin: 0 25px 0 0;">
<!-- style="margin: 0 25px 0 0;" -->
<view class="zrtx" @click="activeOne = 2" :class="{'active':activeOne == 2}" >
责任体系
</view>
<view class="tjsj" @click="activeOne = 3" :class="{'active':activeOne == 3}" >
<view class="txjc" @click="activeOne = 3" :class="{'active':activeOne == 3}" style="margin-left:4%">
图像监测
</view>
</view>
</swiper-item>
<swiper-item >
<view style="display: flex;">
<view class="spjk" @click="activeOne = 4" :class="{'active':activeOne == 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}" style="margin-left: 25px;">
<view class="zbyq" @click="activeOne = 5" :class="{'active':activeOne == 5}" >
周边雨情
</view>
</view>
@ -113,6 +115,8 @@
<style lang="scss" scoped>
.rain-detail-box{
height: 100vh;
overflow: hidden;
position: relative;
.nav-bar{
display: flex;

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

@ -8,17 +8,17 @@
</th>
<th style="width: 32%">
站名
<th style="width: 32%;">
<th style="width: 31%;">
监测时间
</th>
<th style="width: 25%;" >
<th style="width: 26%;" >
实时水位(m)
</th>
</tr>
<div :style="{'max-height':height + 'px', 'overflow-y': 'auto'}">
<div class="scroll-table">
<tr v-for="(item, index) in newList" :key="index">
<td style="width: 11%">{{ index + 1 }}</td>
<td style="width: 32%;color: #3399ef;" @click="jumpDetail(item)">{{ item.stnm }}</td>
<td style="width: 30%;color: #3399ef;overflow: hidden; white-space: nowrap; text-overflow: ellipsis;" @click="jumpDetail(item)">{{ item.stnm }}</td>
<td style="width: 32%">{{item.tm}}</td>
<td style="width: 25%; position: relative;" >
<text :class="{'active1':item.gstate == 1,'active2':item.wstate == 1}">{{ item.z.toFixed(2) }}</text>
@ -28,6 +28,7 @@
top:0px;right: 0; color: #32E48E; font-size: 18px;"></text>
</td>
</tr>
<div style="height:125px"></div>
</div>
</table>
</div>
@ -74,6 +75,7 @@
flex: 1;
padding-top: 0px;
overflow-x: scroll;
padding: 0 10px;
}
/*table样式*/
.table_cur {
@ -86,6 +88,11 @@
display: flex;
line-height: 80rpx;
}
.scroll-table{
height: calc(100vh - 125px);
overflow-y: auto;
width:'100%'
}
.table_cur th {
height: 80rpx;
color: #3399ef;

View File

@ -6,7 +6,7 @@
<th style="width: 11%;">
序号
</th>
<th style="width: 24%">
<th style="width: 22%">
站名
<th style="width: 22%;">
监测时间
@ -14,14 +14,14 @@
<th style="width: 25%;" >
实时水位(m)
</th>
<th style="width: 20%;" >
<th style="width: 22%;" >
超汛限(m)
</th>
</tr>
<div :style="{'max-height':height + 'px', 'overflow-y': 'auto'}">
<div class="scroll-table">
<tr v-for="(item, index) in newList" :key="index">
<td style="width: 11%">{{ index + 1 }}</td>
<td style="width: 24%;color: #3399ef;" @click="jumpDetail(item)">{{ item.stnm }}</td>
<td style="width: 10%">{{ index + 1 }}</td>
<td style="width: 23%;color: #3399ef;overflow: hidden; white-space: nowrap; text-overflow: ellipsis;" @click="jumpDetail(item)">{{ item.stnm }}</td>
<td style="width: 22%">{{item.tm}}</td>
<td style="width: 25%; position: relative;" >
<text :class="{'active1':item.flState == 1,'active2':item.desState == 1,'active3':item.calState}">{{ item.rz.toFixed(2) }}</text>
@ -30,8 +30,9 @@
<text v-else-if="item.state == 2" style="position: absolute;
top:0px;right: 0; color: #32E48E; font-size: 18px;"></text>
</td>
<td style="width: 20%">{{item.afsltdz ? item.afsltdz.toFixed(2):'-'}}</td>
<td style="width: 22%">{{item.afsltdz ? item.afsltdz.toFixed(2):'-'}}</td>
</tr>
<div style="height:125px"></div>
</div>
</table>
</div>
@ -79,6 +80,8 @@
flex: 1;
padding-top: 0px;
overflow-x: scroll;
padding: 0 10px;
}
/*table样式*/
.table_cur {
@ -91,6 +94,11 @@
display: flex;
line-height: 80rpx;
}
.scroll-table{
height: calc(100vh - 125px);
overflow-y: auto;
width:'100%'
}
.table_cur th {
height: 80rpx;
color: #3399ef;

View File

@ -1,5 +1,5 @@
<template>
<view class="water-box">
<view class="water-box" style="overflow:hidden;height:100vh">
<u-status-bar></u-status-bar>
<view class="nav-bar">
<u-icon name="arrow-left" color="#000" size="20" @click="backTo" style="margin-left:10px"></u-icon>
@ -43,7 +43,6 @@
}
},
onReady(){
console.log(123333);
let that = this
uni.getSystemInfo({
success: (res) => {

View File

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