feat(): 巡检开发
parent
b57cd3f678
commit
5dba23280d
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true
|
||||
}
|
||||
1
App.vue
1
App.vue
|
|
@ -13,6 +13,7 @@
|
|||
} else {
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
// url:'/pages/spjk/index'
|
||||
})
|
||||
console.log(token.secretKey,'App Launch2')
|
||||
}
|
||||
|
|
|
|||
38
pages.json
38
pages.json
|
|
@ -9,6 +9,43 @@
|
|||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/xcrw/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/xcrw/detail/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/stlljk/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/spjk/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/spjk/spbf/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/aqjc/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/rain/rain",
|
||||
"style": {
|
||||
|
|
@ -287,6 +324,7 @@
|
|||
"navigationBarTitleText": ""
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
"usingComponents": {
|
||||
"map": "/uni_modules/@dcloudio/uni-map/components/uni-map/uni-map"
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,399 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar title="安全监测" :autoBack="true" :titleStyle="{
|
||||
fontSize:'18px'
|
||||
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
|
||||
</u-navbar>
|
||||
<picker @change="bindPickerChange" :range="array" range-key="profileName" style="margin-top:50px;padding: 0 10px;">
|
||||
<view class="uni-input12" >
|
||||
<view>{{profileName}}</view>
|
||||
<u-icon name="arrow-down-fill" color="#000" size="15" ></u-icon>
|
||||
</view>
|
||||
</picker>
|
||||
|
||||
<view class="jcsj-box">
|
||||
<view class="time-ranger" >
|
||||
<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>
|
||||
|
||||
</view>
|
||||
<view class="jcsj-content">
|
||||
<view class="tool-btn">
|
||||
<view class="scale-btn">
|
||||
<button style="margin-right:10px" @click="fd">+</button>
|
||||
<button @click="sx">-</button>
|
||||
</view>
|
||||
<view class="play-btn">
|
||||
<uni-icons type="videocam" size="40" @click="play"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
<view class="jcsj-charts" >
|
||||
<movable-area :style="areaStyle">
|
||||
<movable-view @scale="scale" direction="all" :scale-value="scaleValue" scale-min="0.5" scale="true" scale-max="4" out-of-bounds="true">
|
||||
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
|
||||
</movable-view>
|
||||
</movable-area>
|
||||
</view>
|
||||
<view style="margin-top: 20px;">
|
||||
<JcsjTable :columns="columns" :data="dataSources" :newCol="newCol" :cols2="cols2"/>
|
||||
</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>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from "moment"
|
||||
import drpOption from './jrxOptions';
|
||||
import JcsjTable from "./jcsjTable"
|
||||
const stm = moment().subtract(7, 'months').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 {
|
||||
|
||||
data() {
|
||||
return {
|
||||
startTime:stm,
|
||||
endTime:etm,
|
||||
stm,
|
||||
etm,
|
||||
showTime:false,
|
||||
showTime1:false,
|
||||
array:[],
|
||||
profileCode:'',
|
||||
dbType:'',
|
||||
trData:[],
|
||||
dataSources:[],
|
||||
chartData: {chartData:{},eopts:{}},
|
||||
areaStyle:{left:"-450px"},
|
||||
scaleValue:0.5,
|
||||
swiper:false,
|
||||
timer:100,
|
||||
columns:[],
|
||||
cols1:[
|
||||
{
|
||||
title: '序号',
|
||||
key: 'index',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '时间',
|
||||
key: 'time',
|
||||
width: 120,
|
||||
align: 'center',
|
||||
},
|
||||
{ title: '库水位(m)', key: 'rz', dataIndex: 'rz', width: 150, align: "center" },
|
||||
],
|
||||
cols2:[
|
||||
{title: '结果分析', key: 'status', dataIndex: 'status', width: 150, align: "center",}
|
||||
],
|
||||
newCol:[]
|
||||
}
|
||||
},
|
||||
components:{
|
||||
JcsjTable
|
||||
},
|
||||
computed:{
|
||||
profileName(){
|
||||
if(this.array.length > 0){
|
||||
return this.array.find(item => item.profileCode == this.profileCode).profileName;
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
},
|
||||
},
|
||||
watch:{
|
||||
profileCode:{
|
||||
handler(newVal, oldVal) {
|
||||
if(newVal){
|
||||
let name = this.array.find(item => item.profileCode == newVal).profileName;
|
||||
this.dbType = name == "大坝B0+060" ? "1" :
|
||||
name == "大坝B0+090" ? "2" :
|
||||
name == "大坝B0+120" ? "2" : '1'
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
},
|
||||
trData:{
|
||||
handler(newVal, oldVal) {
|
||||
if(newVal){
|
||||
this.getTableData()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
dataSources:{
|
||||
handler(newVal, oldVal) {
|
||||
if(newVal){
|
||||
this.chartData = {...drpOption(newVal[0],this.dbType)}
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
swiper(newVal){
|
||||
console.log("ww", newVal);
|
||||
|
||||
if(newVal){
|
||||
this.InitialScroll(this.dataSources)
|
||||
}else{
|
||||
clearInterval(this.timer)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
InitialScroll(data){
|
||||
let index = 0;
|
||||
this.timer = setInterval(() => {
|
||||
console.log("data",data[index % data.length]);
|
||||
|
||||
this.chartData = {...drpOption(data[index % data.length],this.dbType)}
|
||||
index++;
|
||||
},1000)
|
||||
},
|
||||
// 播放
|
||||
play(){
|
||||
this.swiper = !this.swiper;
|
||||
},
|
||||
// 放大回调
|
||||
fd(){
|
||||
if(this.scaleValue == 4){
|
||||
return;
|
||||
}else{
|
||||
this.scaleValue += 0.1;
|
||||
}
|
||||
},
|
||||
// 缩小回调
|
||||
sx(){
|
||||
if(this.scaleValue == 0.5){
|
||||
return''
|
||||
}else{
|
||||
this.scaleValue -= 0.1;
|
||||
}
|
||||
},
|
||||
// 缩放
|
||||
scale(e){
|
||||
this.areaStyle.left = -(e.detail.scale + 1) * 450 + 'px';
|
||||
},
|
||||
searchHandle(){
|
||||
this.getTableData();
|
||||
},
|
||||
handleStartTime(e){
|
||||
let time = moment(e.value).format("YYYY-MM-DD HH:mm")
|
||||
console.log("time",time);
|
||||
|
||||
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]
|
||||
},
|
||||
bindPickerChange(e) {
|
||||
this.profileCode = this.array[e.target.value].profileCode
|
||||
},
|
||||
// 获取监测点数据
|
||||
async getMonthData(){
|
||||
try{
|
||||
const {data} = await uni.$http.post(
|
||||
`/gunshiApp/xyt/attDamProfile/list`,)
|
||||
if(data.code == 200){
|
||||
this.array =data.data
|
||||
this.profileCode = data.data[0].profileCode;
|
||||
}
|
||||
}catch(e){
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
|
||||
// 获取坝面上点位数据
|
||||
async getTableData(){
|
||||
try {
|
||||
const {data} = await uni.$http.post(
|
||||
"/gunshiApp/xyt/osmoticPressR/infiltra/line",
|
||||
{
|
||||
stationCodes:this.trData,
|
||||
dateTimeRangeSo:
|
||||
{
|
||||
start:moment(this.stm).format("YYYY-MM-DD HH:mm:00"),
|
||||
end:moment(this.etm).format("YYYY-MM-DD HH:mm:00"),
|
||||
}
|
||||
}
|
||||
)
|
||||
if(data.code == 200){
|
||||
let newArr = [];
|
||||
let newData = data.data.map((s, i) => {
|
||||
newArr.push(s.list.map(c => ({
|
||||
[c.stationCode]: c.value || '-',
|
||||
tm: c.tm,
|
||||
|
||||
})))
|
||||
return {
|
||||
tm: s.tm,
|
||||
rz: s.rz,
|
||||
status: s.status || '',
|
||||
inx:i+1
|
||||
}
|
||||
})
|
||||
let filterData = newArr.filter(s => s.length > 0).flat()
|
||||
let result = newData.map(s => {
|
||||
let tm1 = s.tm;
|
||||
let r = filterData.filter(t => {
|
||||
return t.tm == tm1
|
||||
})
|
||||
let obj = {};
|
||||
r.forEach(s1 => {
|
||||
obj = {...s1,...obj}
|
||||
})
|
||||
return {
|
||||
...s,
|
||||
...obj,
|
||||
}
|
||||
})
|
||||
let res1 = result.map(item => ({...item,rz:(item.rz - 100).toFixed(2)})) //为了测试 最后需要删除
|
||||
this.dataSources = [...res1];
|
||||
}
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
// 获取各点
|
||||
async getDmTree(){
|
||||
try {
|
||||
const {data} = await uni.$http.post("/gunshiApp/xyt/attDamProfile/tree")
|
||||
if(data.code == 200){
|
||||
console.log("data",data);
|
||||
|
||||
let filterData = data.data.filter(s => s.profileCode == this.profileCode)
|
||||
this.trData = filterData[0]?.children;
|
||||
const newCol = filterData[0]?.children.map(s => ({
|
||||
title: `${s}(m)`,
|
||||
key: s,
|
||||
dataIndex: s,
|
||||
width: 150,
|
||||
align: "center",
|
||||
}))
|
||||
this.columns=[...this.cols1,...newCol,...this.cols2]
|
||||
this.newCol = newCol;
|
||||
}
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
|
||||
// 拖动回调
|
||||
onChange(e){
|
||||
console.log(e);
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getMonthData()
|
||||
this.getDmTree()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.uni-input12{
|
||||
display:flex;
|
||||
justify-content: center;
|
||||
column-gap: 30px;
|
||||
align-items: center;
|
||||
padding:5px 0;
|
||||
border: 1px solid #f2f2f2;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
// background-image: '../../static/images/';
|
||||
}
|
||||
.jcsj-box{
|
||||
padding: 0 10px;
|
||||
.time-ranger{
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
.jcsj-content{
|
||||
max-height:100vh;
|
||||
width: 100%;
|
||||
overflow-y:auto;
|
||||
overflow-x: hidden;
|
||||
.tool-btn{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: "center";
|
||||
padding: 5px ;
|
||||
.scale-btn{
|
||||
display: flex;
|
||||
button{
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.jcsj-charts{
|
||||
width: 1310px;
|
||||
height: 250px;
|
||||
overflow-y: auto;
|
||||
// margin-top: 20px;
|
||||
&>movable-area {
|
||||
height: 250px;
|
||||
width: 3000px;
|
||||
// position:fixed;
|
||||
overflow: hidden;
|
||||
z-index: 1000;
|
||||
background-color: #efefef;
|
||||
movable-view{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 1310px;
|
||||
height: 380px;
|
||||
background-color: #fff;
|
||||
left:450px;
|
||||
top:10px
|
||||
}}
|
||||
.active{
|
||||
border-color: #68bbff !important;
|
||||
color: #68bbff;
|
||||
}}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
<template>
|
||||
<div class="table_div">
|
||||
<div class="table_cur">
|
||||
<table style="display:block;width:700px;overflow-x:auto">
|
||||
<tr>
|
||||
<th v-for="(cols,i) in columns" :key="i" :style="getStyle(cols)">
|
||||
{{ cols.title }}
|
||||
</th>
|
||||
</tr>
|
||||
<!-- style="max-height: 480px; overflow-y: auto" -->
|
||||
<div class="scroll-table">
|
||||
<tr v-for="(item, index) in data" :key="index">
|
||||
<td style="width:100px;text-align:center">{{ index + 1 }}</td>
|
||||
<td style="width:200px;white-space:pre-wrap;text-align:center">{{ item.tm }}</td>
|
||||
<td style="width:100px;white-space:pre-wrap;text-align:center">{{ item.rz }}</td>
|
||||
<td v-for="(col,i) in newCol" :key="i" style="width:100px;text-align:center;">
|
||||
{{item[col.key] }}
|
||||
</td>
|
||||
<td style="width:100px;">
|
||||
{{item.status == 1 ? "正常" : rec == 0 ? "异常" : ''}}
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
<div style="height:180px"></div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from "moment"
|
||||
export default {
|
||||
props:{
|
||||
columns:{
|
||||
type:Array,
|
||||
default:[],
|
||||
},
|
||||
data:{
|
||||
type:Array,
|
||||
default:[],
|
||||
},
|
||||
cols2:{
|
||||
type:Array,
|
||||
default:[],
|
||||
},
|
||||
newCol:{
|
||||
type:Array,
|
||||
default:[],
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
// newList(){
|
||||
// if(this.tableData.length){
|
||||
// return this.tableData.map(item => ({...item,tm:moment(item.tm).format("MM-DD HH:mm")}))
|
||||
// }
|
||||
// }
|
||||
},
|
||||
methods:{
|
||||
getStyle(row){
|
||||
return {
|
||||
width:row.title == "时间" ? "200px": "100px"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.table_div {
|
||||
height: 100%;
|
||||
max-width: calc(100% - 0px);
|
||||
max-height: calc(100vh);
|
||||
flex: 1;
|
||||
padding-top: 0px;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
/*table样式*/
|
||||
.table_cur {
|
||||
width: 100%;
|
||||
empty-cells: show;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
.scroll-table{
|
||||
height: calc(100vh - 180px);
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
width:'100%'
|
||||
}
|
||||
.table_cur tr {
|
||||
display: flex;
|
||||
line-height: 90rpx;
|
||||
// overflow-x: auto;
|
||||
}
|
||||
.table_cur th {
|
||||
height: 85rpx;
|
||||
color: #3399ef;
|
||||
background: #e1f3ff;
|
||||
font-size: 14px;
|
||||
// font-weight: bold;
|
||||
padding: 0px 10px;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.table_cur td {
|
||||
height: 65rpx;
|
||||
// border-bottom: 1px solid #d8ddeb;
|
||||
font-size: 14px;
|
||||
color: #2f4056;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
text-align: center !important;
|
||||
}
|
||||
/*table样式 end*/
|
||||
</style>
|
||||
|
|
@ -0,0 +1,321 @@
|
|||
|
||||
import { imageUrl060,imageUrl090,rule } from './dataUrl'
|
||||
|
||||
export default function jrxOptions(data = {}, type = "1") {
|
||||
const yMin = type == "1" ? 147 : type == "2" ? 146 : 146;
|
||||
const yMax = type == "1" ? 209 : type == "2" ? 210 : 210;
|
||||
const type1 = ["SY05", "SY06", "SY07", "SY08"]
|
||||
const type2 = ["SY09","SY10","SY11","SY12"]
|
||||
const alltype = type == "1" ? type1 : type == "2" ? type2 : type2;
|
||||
// 字体颜色
|
||||
const textColor = '#666'
|
||||
const imageUrl = type == "1" ? imageUrl060:
|
||||
type == "2" ? imageUrl090 : imageUrl090;
|
||||
const xValue = type == "1" ? (((data?.rz - 169) + 0.65 * 14) / 0.65):
|
||||
type == "2" ?(((data?.rz - 169) + 0.85 * 14) / 0.84) :(((data?.rz - 169) + 0.84 * 14) / 0.84)
|
||||
const rz = data?.rz ?
|
||||
[[xValue, data?.rz], [0, data?.rz], ] :
|
||||
[]
|
||||
const rz1 = data?.rz ?
|
||||
[[0,169],[14, 169], [xValue, data?.rz]] :
|
||||
[]
|
||||
const gz1 = data[alltype[0]] ?
|
||||
type == "1" ? [[57.6, 158], [57.6, data[alltype[0]]]] :
|
||||
type == "2" ? [[52.6, 158], [52.6, data[alltype[0]]]] :
|
||||
[[52.6, 158], [52.6, data[alltype[0]]]]
|
||||
: [];
|
||||
|
||||
const gz2 = data[alltype[1]] ?
|
||||
type == "1" ? [[60.6, 158], [60.6, data[alltype[1]]]] :
|
||||
type == "2" ? [[55.6, 158], [55.6, data[alltype[1]]]] :
|
||||
[[53.6, 158], [53.6, data[alltype[1]]]] :
|
||||
[];
|
||||
const gz3 = data[alltype[2]] ?
|
||||
type == "1" ? [[82, 161], [82, data[alltype[2]]]] :
|
||||
type == "2" ? [[66.5, 162], [66.5, data[alltype[2]]]] :
|
||||
[[73, 161], [73, data[alltype[2]]]] : [];
|
||||
|
||||
const gz4 = data[alltype[3]] ?
|
||||
type == "1" ? [[96.6, 166], [96.6, data[alltype[3]]]] :
|
||||
type == "2" ? [[77, 161], [77, data[alltype[3]]]] :
|
||||
[[85, 166], [85, data[alltype[3]]]] : [];
|
||||
|
||||
const line = data?.rz ?
|
||||
type == "1" ?
|
||||
[
|
||||
[xValue, data?.rz],
|
||||
[57.6, data[alltype[0]]],
|
||||
[60.6, data[alltype[1]]],
|
||||
[82, data[alltype[2]]],
|
||||
[96.6, data[alltype[3]]]
|
||||
] :
|
||||
type == "2" ?
|
||||
[
|
||||
[xValue, data?.rz],
|
||||
[52.6, data[alltype[0]]],
|
||||
[55.6, data[alltype[1]]],
|
||||
[66.5, data[alltype[2]]],
|
||||
[77, data[alltype[3]]]
|
||||
] :
|
||||
[
|
||||
[xValue, data?.rz],
|
||||
[52.6, data[alltype[0]]],
|
||||
[55.6, data[alltype[1]]],
|
||||
[73, data[alltype[2]]],
|
||||
[85, data[alltype[3]]]
|
||||
]
|
||||
: []
|
||||
|
||||
let eopts = {
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
saveAsImage: {
|
||||
show: true,
|
||||
excludeComponents: ['toolbox'],
|
||||
pixelRatio: 2,
|
||||
name:"测值图"
|
||||
},
|
||||
},
|
||||
right: "10%",
|
||||
top:"4%"
|
||||
},
|
||||
graphic: [
|
||||
{
|
||||
type: 'image',
|
||||
left: '5%',
|
||||
top: 0,
|
||||
bottom:0,
|
||||
z: 1,
|
||||
bounding: 'raw',
|
||||
style: {
|
||||
image: imageUrl,
|
||||
width: 1310,
|
||||
height: 380
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'image',
|
||||
// id: 'background',
|
||||
left: '5%',
|
||||
bottom:"5%",
|
||||
z: 1,
|
||||
bounding: 'all',
|
||||
style: {
|
||||
image: rule,
|
||||
width: 10,
|
||||
height: 450
|
||||
}
|
||||
}
|
||||
],
|
||||
grid: {
|
||||
top: '0%',
|
||||
left: '2%',
|
||||
right: '5%',
|
||||
bottom: '0%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
min: 0,
|
||||
max:100,
|
||||
axisLabel: {
|
||||
show:false,
|
||||
// 坐标轴字体颜色
|
||||
color: textColor,
|
||||
fontSize: 18
|
||||
},
|
||||
axisLine: {
|
||||
show:false,
|
||||
lineStyle: {
|
||||
color: textColor
|
||||
}
|
||||
},
|
||||
axisTick: {
|
||||
// y轴刻度线
|
||||
show: false
|
||||
},
|
||||
splitLine: {
|
||||
// 网格
|
||||
show: false
|
||||
},
|
||||
boundaryGap: false
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
min: yMin,
|
||||
max: yMax,
|
||||
interval:5,
|
||||
// data:[155,160,180,190,210],
|
||||
nameTextStyle: {
|
||||
color: '#333',
|
||||
fontSize: 18,
|
||||
padding: [0, 0, 0, 80]
|
||||
},
|
||||
axisLabel: {
|
||||
// 坐标轴字体颜色
|
||||
color: textColor,
|
||||
fontSize: 18,
|
||||
showMinLabel: false,
|
||||
showMaxLabel: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
// y轴刻度线
|
||||
show: false
|
||||
},
|
||||
splitLine: {
|
||||
// 网格
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: '#CCCCCC',
|
||||
type: 'dashed'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
let chartData = {
|
||||
series: [
|
||||
// 和大坝坡面重合的线 斜率为0.75
|
||||
{
|
||||
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
areaStyle: {
|
||||
origin: "end",
|
||||
color: 'rgba(0, 128, 255, 0.3)' // 设置区域填充颜色
|
||||
},
|
||||
data:[...rz,...rz1]
|
||||
|
||||
},
|
||||
{
|
||||
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
markPoint: {
|
||||
data: [{ type: 'max',x:"20%", coord: [xValue, data?.rz] }],
|
||||
symbol: 'pin',
|
||||
symbolSize: [30, 10],
|
||||
itemStyle: {
|
||||
color: '#fff', // 标注点颜色
|
||||
borderColor: '#ffa500', // 标注点边框颜色
|
||||
borderWidth: 0 // 标注点边框宽度
|
||||
},
|
||||
label: {
|
||||
show: true, // 是否显示标签
|
||||
formatter: "库水位" +data?.rz + "m", // 标签格式
|
||||
color: '#5487FF', // 标签文字颜色
|
||||
fontSize: 12, // 标签文字大小
|
||||
}
|
||||
},
|
||||
data:rz
|
||||
},
|
||||
{
|
||||
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
data:rz1
|
||||
},
|
||||
// 管位
|
||||
{
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF',
|
||||
width:6
|
||||
},
|
||||
data: gz1
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF',
|
||||
width:6
|
||||
},
|
||||
data: gz2
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF',
|
||||
width:6
|
||||
},
|
||||
data: gz3
|
||||
},
|
||||
{
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF',
|
||||
width:6
|
||||
},
|
||||
data: gz4
|
||||
},
|
||||
// 管位连接线
|
||||
{
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
symbolSize: 10,
|
||||
z: 1,
|
||||
itemStyle: {
|
||||
color: '#5487FF'
|
||||
},
|
||||
lineStyle: {
|
||||
color: '#5487FF',
|
||||
},
|
||||
data: line
|
||||
},
|
||||
]
|
||||
}
|
||||
return {
|
||||
eopts,
|
||||
chartData
|
||||
}
|
||||
}
|
||||
|
|
@ -242,6 +242,12 @@
|
|||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/forewarning/forewarning'
|
||||
},
|
||||
{
|
||||
value: '巡查任务111',
|
||||
key: 6,
|
||||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/xcrw/index'
|
||||
},
|
||||
{
|
||||
value: '维修养护111',
|
||||
key: 6,
|
||||
|
|
@ -260,6 +266,24 @@
|
|||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/yj/index'
|
||||
},
|
||||
{
|
||||
value: '视频监控11',
|
||||
key: 7,
|
||||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/spjk/index'
|
||||
},
|
||||
{
|
||||
value: '生态流量监控11',
|
||||
key: 7,
|
||||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/stlljk/index'
|
||||
},
|
||||
{
|
||||
value: '安全监测',
|
||||
key: 7,
|
||||
icon: '../../static/tabs/yujing_icon@2x2.png',
|
||||
url: '/pages/aqjc/index'
|
||||
},
|
||||
]
|
||||
// } else {
|
||||
// //乡镇
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ export default {
|
|||
// console.log('-----value------', res.data.data)
|
||||
})
|
||||
|
||||
//获取userId并获取头像
|
||||
// 获取userId并获取头像
|
||||
uni.$http
|
||||
.get('/gunshiApp/xfflood/my/info/getByUserId')
|
||||
.then(res => {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,121 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar title="视频监控" :autoBack="true" :titleStyle="{
|
||||
fontSize:'18px'
|
||||
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
|
||||
</u-navbar>
|
||||
<!-- 搜索区域 -->
|
||||
<view class="search">
|
||||
<view class="search_sear">
|
||||
<input
|
||||
class="searchInput"
|
||||
confirm-type="search"
|
||||
placeholder-style="color:#bbb"
|
||||
v-model="saerchValue"
|
||||
@input="search"
|
||||
placeholder="搜索视频名称"
|
||||
border="surround"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 列表区域 -->
|
||||
<view class="contentItem">
|
||||
<view class="itemC" v-for="item in videoList" :key="item.indexCode" @click="jumpVideo(item)">
|
||||
<view class="name">
|
||||
<image
|
||||
style="width: 15px; height: 10px;"
|
||||
src="../../static/images/video.svg"
|
||||
></image>
|
||||
<text style="margin-left:10px">{{item.name}}</text>
|
||||
</view>
|
||||
<image
|
||||
style="width: 15px; height: 15px;"
|
||||
src="../../static/images/play.svg"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
saerchValue: '',
|
||||
videoList:[]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
search(e){
|
||||
const value = e.detail.value;
|
||||
if(value){
|
||||
const filterData = this.videoList.filter(item => item.name.includes(value));
|
||||
this.videoList = filterData;
|
||||
}else{
|
||||
this.getVideoList()
|
||||
}
|
||||
},
|
||||
async getVideoList(){
|
||||
try {
|
||||
const {data} = await uni.$http.post("/gunshiApp/xyt/attCctvBase/list")
|
||||
if(data.code == 200){
|
||||
this.videoList = data.data
|
||||
}
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
jumpVideo(r){
|
||||
uni.navigateTo({
|
||||
url: `/pages/spjk/spbf/index?info=${encodeURIComponent(JSON.stringify(r))}`
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getVideoList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.search {
|
||||
background-color: #fff;
|
||||
margin-top:50px;
|
||||
padding:0 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
background-color: #eee;
|
||||
// padding-right: 20px;
|
||||
}
|
||||
.searchInput {
|
||||
width:100%;
|
||||
background-color: #fff;
|
||||
height: 60rpx;
|
||||
border-radius: 26rpx;
|
||||
color: #bbb;
|
||||
padding-left: 60rpx;
|
||||
}
|
||||
.search_sear{
|
||||
width:76%;
|
||||
}
|
||||
.contentItem{
|
||||
.itemC{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
color: #666666;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
.name{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.itemNo{
|
||||
color: #666666;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,222 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar
|
||||
v-show="show == 0"
|
||||
:title="info.name"
|
||||
:autoBack="true"
|
||||
:titleStyle="{
|
||||
fontSize:'18px',width:'220px'
|
||||
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
|
||||
</u-navbar>
|
||||
<view class="video-box" >
|
||||
<iframe :src="webURL" :class="{'normal': show == 0,'active': show == 1}" frameborder="0" ref="videoFrame" :allowfullscreen="true"></iframe>
|
||||
</view>
|
||||
<view class="video-tool">
|
||||
<view class="left-tool">
|
||||
<view class="outside-circle">
|
||||
<view class="up" @click="onOperation('UP')">
|
||||
<image
|
||||
style="width: 20px; height: 20px;"
|
||||
src="../../../static/images/up.png"></image>
|
||||
</view>
|
||||
<view class="down" @click="onOperation('DOWN')">
|
||||
<image
|
||||
style="width: 20px; height: 20px; transform: rotate(180deg);"
|
||||
src="../../../static/images/up.png"></image>
|
||||
</view>
|
||||
<view class="left" @click="onOperation('LEFT')">
|
||||
<image
|
||||
style="width: 20px; height: 20px; transform: rotate(-90deg);"
|
||||
src="../../../static/images/up.png"></image>
|
||||
</view>
|
||||
<view class="right" @click="onOperation('RIGHT')">
|
||||
<image
|
||||
style="width: 20px; height: 20px; transform: rotate(90deg);"
|
||||
src="../../../static/images/up.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-tool">
|
||||
<view class="fd" @click="onOperation('ZOOM_IN')">
|
||||
<image
|
||||
style="width: 20px; height: 20px;"
|
||||
src="../../../static/images/fd.png"
|
||||
></image>
|
||||
<text>放大</text>
|
||||
</view>
|
||||
<view class="sx" @click="onOperation('ZOOM_OUT')">
|
||||
<image
|
||||
style="width: 20px; height: 20px;"
|
||||
src="../../../static/images/sx.png"
|
||||
></image>
|
||||
<text>缩小</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
info:{},
|
||||
show:0,
|
||||
webURL:'',
|
||||
timer:null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
receiveRenderData(e){
|
||||
this.show = e.data;
|
||||
},
|
||||
async getVideoSrc(id){
|
||||
try{
|
||||
const {data} = await uni.$http.get(
|
||||
`/gunshiApp/xyt/attCctvBase/preview/${id}`)
|
||||
if(data.code == 200){
|
||||
this.webURL="./static/h5Player/webplayer.html?cameraIndexCode="+id+"&cameraUrl="+data.data
|
||||
}
|
||||
}catch(e){
|
||||
uni.$showMsg()
|
||||
}
|
||||
},
|
||||
async onOperation(type){
|
||||
const params = {
|
||||
command:type,
|
||||
indexCode:this.info.indexCode,
|
||||
action:0,
|
||||
speed:30
|
||||
}
|
||||
try{
|
||||
const {data} = await uni.$http.post("/gunshiApp/xyt/attCctvBase/control",params)
|
||||
if(this.timer) clearTimeout(this.timer)
|
||||
this.timer = setTimeout(() => {
|
||||
this.onOperation1(type)
|
||||
},500)
|
||||
}catch(error){
|
||||
// uni.$showMsg()
|
||||
}
|
||||
},
|
||||
async onOperation1(type){
|
||||
const params = {
|
||||
command:type,
|
||||
indexCode:this.info.indexCode,
|
||||
action:1,
|
||||
speed:30
|
||||
}
|
||||
try{
|
||||
const {data} = await uni.$http.post("/gunshiApp/xyt/attCctvBase/control",params)
|
||||
}catch(error){
|
||||
uni.$showMsg()
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getVideoSrc(this.info?.indexCode)
|
||||
},
|
||||
onLoad(options){
|
||||
this.info = JSON.parse(decodeURIComponent(options.info));
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<script module="renderModal" lang="renderjs">
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dom: '',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.dom = document.getElementById('iframe')
|
||||
// 接收iframe传过来的值
|
||||
window.addEventListener('message', (e)=> {
|
||||
var data = e.data;
|
||||
this.emitData(data)
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
emitData(e) {
|
||||
this.$ownerInstance.callMethod('receiveRenderData',e)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.video-box{
|
||||
// margin-top: 50px;
|
||||
// padding: 0 10px;
|
||||
.normal{
|
||||
position: absolute;
|
||||
|
||||
top: 70px;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
.active{
|
||||
position: absolute;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
top: 0px;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
.video-tool{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
top:50%;
|
||||
margin-left: 10px;
|
||||
padding: 5px;
|
||||
width: 93%;
|
||||
background-color: #efefef;
|
||||
}
|
||||
.outside-circle{
|
||||
position: relative;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
border-radius: 50%;
|
||||
background-color: #0796fe;
|
||||
.up,.down,.left,.right{
|
||||
position: absolute;
|
||||
}
|
||||
.up{
|
||||
left:45%;
|
||||
top: 10%;
|
||||
}
|
||||
.down{
|
||||
left:45%;
|
||||
top: 70%;
|
||||
}
|
||||
.left{
|
||||
left:20%;
|
||||
top:41%;
|
||||
}
|
||||
.right{
|
||||
left:70%;
|
||||
top:41%;
|
||||
}
|
||||
}
|
||||
.fd,.sx{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
padding: 10px 40px;
|
||||
background-color: #0796fe;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 7%;
|
||||
&>text{
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
.left-tool{
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
import "echarts/extension/bmap/bmap"
|
||||
|
||||
|
||||
export default function drpOption (obj) {
|
||||
const data = obj.list;
|
||||
const monthsData = obj.chart
|
||||
console.log(data,monthsData);
|
||||
const maxQ = Math.ceil(Math.max(...data.map(obj => {
|
||||
return obj?.q ? obj?.q:0
|
||||
})))
|
||||
const minQ = Math.floor(Math.min(...data.map(obj => {
|
||||
return obj?.q? obj?.q :300
|
||||
})))
|
||||
const monthsX = Object.keys(monthsData);
|
||||
const res = monthsX.map(item => {
|
||||
const result = data?.map(s => {
|
||||
const momth = s.tm.substr("2024-0".length, "2024-0".length - 5);
|
||||
if (momth == String(item)) {
|
||||
return [s.tm,monthsData[item]]
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
})
|
||||
return result
|
||||
})
|
||||
const data1 = res.map(s => s.filter(o => o.length > 0)).filter(o => o.length > 0)
|
||||
const lines = data1.map((item, index, c) => ({
|
||||
type: 'line',
|
||||
markLine: {
|
||||
symbol:"none",
|
||||
lineStyle: {
|
||||
type: "dotted",
|
||||
color: "#47daff",
|
||||
width: 3
|
||||
},
|
||||
label: {
|
||||
show: true,
|
||||
position:"middle",
|
||||
color: "#47daff",
|
||||
distance: 5,
|
||||
format: "stMonth"
|
||||
},
|
||||
data: [
|
||||
[{ coord: [item[0][0], item[0][1]] },{coord:[item[item.length - 1][0],item[item.length - 1][1]]}]
|
||||
]
|
||||
}
|
||||
}))
|
||||
|
||||
let eopts = {
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
grid: [
|
||||
{
|
||||
top: '10%',
|
||||
left: '11%',
|
||||
right: '5%',
|
||||
bottom:"12%"
|
||||
// width: '80%',
|
||||
// height: '35%'
|
||||
},
|
||||
],
|
||||
legend: {
|
||||
// 显示图例
|
||||
show: true,
|
||||
top: '-1%',
|
||||
},
|
||||
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
data: data.map(o => o.tm),
|
||||
// inverse: true,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#333',
|
||||
fontSize: 12,
|
||||
format:"stList"
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#000',
|
||||
width: 0.5
|
||||
}
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
// gridIndex:0,
|
||||
position: 'left',
|
||||
name: '生态流量(m³/s)',
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: '#000',
|
||||
width: 0.25,
|
||||
type: 'dotted'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
color: '#333',
|
||||
fontSize: 12
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
min: minQ,
|
||||
max: maxQ
|
||||
},
|
||||
],
|
||||
}
|
||||
let chartData = {
|
||||
series: [
|
||||
{
|
||||
name: '生态流量(m³/s)',
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
color: '#4fa2ea',
|
||||
smooth:true,
|
||||
label: {
|
||||
show: false
|
||||
},
|
||||
data: data.map(o => o.q)
|
||||
},
|
||||
...lines
|
||||
]
|
||||
}
|
||||
return {
|
||||
eopts,
|
||||
chartData
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,209 @@
|
|||
<template>
|
||||
<view style="height:100vh; overflow:hidden">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar
|
||||
title="生态流量监控"
|
||||
:autoBack="true"
|
||||
:titleStyle="{
|
||||
fontSize:'18px'
|
||||
}"
|
||||
:height='44'
|
||||
:safeAreaInsetTop=true
|
||||
leftIconSize='20'
|
||||
leftIconColor='rgb(153, 153, 153)'
|
||||
>
|
||||
</u-navbar>
|
||||
<view class="jcsj-box">
|
||||
|
||||
<view class="time-ranger" >
|
||||
<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>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
<view class="jcsj-content">
|
||||
<view class="jcsj-charts" >
|
||||
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
|
||||
</view>
|
||||
<view style="margin-top: 20px;">
|
||||
<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>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from "moment"
|
||||
import JcsjTable from "./jcsjTable"
|
||||
import drpOption from "./chartOption.js"
|
||||
const stm = moment().subtract(7, 'months').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,
|
||||
source:String,
|
||||
wrz:String,
|
||||
grz:String,
|
||||
afsltdz:String,
|
||||
flLowLimLev:String,
|
||||
desFloodLev:String,
|
||||
calFloodLev:String,
|
||||
|
||||
default:''
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
startTime:stm,
|
||||
endTime:etm,
|
||||
stm,
|
||||
etm,
|
||||
showTime:false,
|
||||
showTime1:false,
|
||||
tableData:[],
|
||||
chartData: {chartData:{},eopts:{}},
|
||||
stData:{}
|
||||
}
|
||||
},
|
||||
components:{
|
||||
JcsjTable
|
||||
},
|
||||
watch:{
|
||||
stData:{
|
||||
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]
|
||||
},
|
||||
|
||||
// 获取月份数据
|
||||
async getMonthData(){
|
||||
const startTime = moment(this.stm).format("YYYY-MM-DD HH:mm:ss");
|
||||
const endTime = moment(this.etm).format("YYYY-MM-DD HH:mm:ss");
|
||||
try{
|
||||
const {data} = await uni.$http.get(
|
||||
`/gunshiApp/xyt/stWaterR/getResMonthEcoFlow?startTime=${startTime}&endTime=${endTime}`,)
|
||||
if(data.code == 200){
|
||||
this.stData = {
|
||||
...this.stData,
|
||||
chart:data.data
|
||||
}
|
||||
}
|
||||
}catch(e){
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
|
||||
// 获取生态流量数据
|
||||
async getJcsjData(){
|
||||
try{
|
||||
const {data} = await uni.$http.post(
|
||||
"/gunshiApp/xyt/stWaterR/ecologyFlowList",
|
||||
{
|
||||
startTime:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
|
||||
endTime:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),
|
||||
isAsc:false,
|
||||
orderField:"tm"
|
||||
})
|
||||
if(data.code == 200){
|
||||
this.stData = {
|
||||
...this.stData,
|
||||
list:data.data
|
||||
}
|
||||
this.tableData = data.data;
|
||||
}
|
||||
}catch(e){
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
// 搜索
|
||||
searchHandle(){
|
||||
this.getJcsjData()
|
||||
this.getMonthData()
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getJcsjData();
|
||||
this.getMonthData()
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.jcsj-box{
|
||||
padding: 0 10px;
|
||||
margin-top: 50px;
|
||||
.time-ranger{
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
.jcsj-content{
|
||||
max-height:100vh;
|
||||
width: 100%;
|
||||
overflow-y:auto
|
||||
}
|
||||
.jcsj-charts{
|
||||
// width:103vw;
|
||||
height: 300px;
|
||||
overflow-y: auto;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.active{
|
||||
border-color: #68bbff !important;
|
||||
color: #68bbff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar
|
||||
title="生态流量监控"
|
||||
:autoBack="true"
|
||||
:titleStyle="{
|
||||
fontSize:'18px'
|
||||
}"
|
||||
:height='44'
|
||||
:safeAreaInsetTop=true
|
||||
leftIconSize='20'
|
||||
leftIconColor='rgb(153, 153, 153)'
|
||||
>
|
||||
</u-navbar>
|
||||
<view class="" style="margin-top: 44px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;">
|
||||
<view style="display: flex;padding: 20px;background-color: #fff;align-items: center;">
|
||||
<u--input v-model="start" shape='circle'
|
||||
style="background-color: #f0f0f0;height: 30px;text-align: center;" border='none' @focus="show = true;"></u--input>
|
||||
-
|
||||
<u--input v-model="end" shape='circle'
|
||||
style="background-color: #f0f0f0;height:30px;" border='none' @focus="show = true;"></u--input>
|
||||
<text style="color: #006cff; margin-left: 10px;">搜索</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- <u-calendar :show="show" mode="single" @confirm="confirm" @cancel='cancel' @close="show=false"></u-calendar> -->
|
||||
<u-datetime-picker :show="show" mode="datetime" @confirm="confirm" @cancel='cancel' @close="show=false" v-modal="stm"></u-datetime-picker>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import moment from 'moment';
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
show:false,
|
||||
start:moment().subtract(1,"weeks").format("YYYY-MM-DD HH"),
|
||||
end:moment().format("YYYY-MM-DD HH")
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
stm(){
|
||||
return moment()
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
confirm(e) {
|
||||
console.log(e);
|
||||
this.start = moment(e.value).format("YYYY-MM-DD HH")
|
||||
this.show = false
|
||||
},
|
||||
cancel() {
|
||||
this.show = false
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
<template>
|
||||
<div class="table_div">
|
||||
<div class="table_cur">
|
||||
<table style="width:100%;display:block">
|
||||
<tr>
|
||||
<th style="width: 40px;">
|
||||
序号
|
||||
</th>
|
||||
<th style="width: 82px">时间</th>
|
||||
<th style="width: 80px;">
|
||||
流量(m³/s)
|
||||
</th>
|
||||
<th style="width:100px;position: relative;">
|
||||
当月核定流量
|
||||
<text style="position: absolute; top:16px; left: 30px;">(m³/s)</text>
|
||||
</th>
|
||||
<th style="width: 70px; ">
|
||||
<view>
|
||||
是否达标
|
||||
<!-- <text style="position: absolute; bottom:-10px; left: 20px;">(m³/s)</text> -->
|
||||
</view>
|
||||
</th>
|
||||
</tr>
|
||||
<!-- 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>
|
||||
<td style="width: 90px">{{ item.q }}</td>
|
||||
<td style="width: 100px">{{ item.approvalV }}</td>
|
||||
<td :style="{width:'70px',color: item.isStandard ? '#000' : 'red'}">{{ item.isStandard ? "是" : "否" }}</td>
|
||||
</tr>
|
||||
<div style="height:180px"></div>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from "moment"
|
||||
export default {
|
||||
props:{
|
||||
tableData:{
|
||||
type:Array,
|
||||
default:[],
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
newList(){
|
||||
if(this.tableData.length){
|
||||
return this.tableData.map(item => ({...item,tm:moment(item.tm).format("MM-DD HH:mm")}))
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.table_div {
|
||||
height: 100%;
|
||||
max-width: calc(100% - 0px);
|
||||
max-height: calc(100vh);
|
||||
flex: 1;
|
||||
padding-top: 0px;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
/*table样式*/
|
||||
.table_cur {
|
||||
width: 100%;
|
||||
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;
|
||||
line-height: 75rpx;
|
||||
}
|
||||
.table_cur th {
|
||||
height: 85rpx;
|
||||
color: #3399ef;
|
||||
background: #e1f3ff;
|
||||
font-size: 14px;
|
||||
// font-weight: bold;
|
||||
padding: 0px 10px;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.table_cur td {
|
||||
height: 65rpx;
|
||||
// border-bottom: 1px solid #d8ddeb;
|
||||
font-size: 14px;
|
||||
color: #2f4056;
|
||||
padding: 0 10px;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
text-align: center !important;
|
||||
}
|
||||
/*table样式 end*/
|
||||
</style>
|
||||
|
|
@ -0,0 +1,249 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar :title="taskTitle" :autoBack="true" :titleStyle="{
|
||||
fontSize:'18px'
|
||||
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
|
||||
</u-navbar>
|
||||
<view class="" style="margin-top: 44px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0; height:calc(100vh - 44px)">
|
||||
<view style="margin: 10px;background-color: #fff;padding: 10px;">
|
||||
<view class="item">
|
||||
<view class="blueTiao"></view>
|
||||
<view class="title">
|
||||
基本信息
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentItem">
|
||||
<view class="itemC">
|
||||
<text>任务标题</text>
|
||||
<text>{{taskTitle}}</text>
|
||||
</view>
|
||||
<view class="itemC">
|
||||
<text>任务类型</text>
|
||||
<text>{{taskType == 1 ? "日常巡查" : taskType == 2 ? "特别检查" : taskType == 3 ? "汛前巡检" : '' }}</text>
|
||||
</view>
|
||||
<view class="itemC">
|
||||
<text>任务内容</text>
|
||||
<text>{{taskContent ? taskContent : ''}}</text>
|
||||
</view>
|
||||
<view class="itemC">
|
||||
<text>开始日期</text>
|
||||
<text>{{startDate}}</text>
|
||||
</view>
|
||||
<view class="itemC">
|
||||
<text>结束日期</text>
|
||||
<text>{{endDate}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view v-show="status == 0 && btnStatus == 0" style="display:flex;justify-content: center;margin-top: 20%;">
|
||||
<view class="circle-btn" @click="startXc">开始巡查</view>
|
||||
</view>
|
||||
<view v-show="btnStatus != 0" style="margin: 10px;background-color: #fff;padding: 10px;">
|
||||
<view class="item">
|
||||
<view class="blueTiao"></view>
|
||||
<view class="title">
|
||||
巡检项
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentItem">
|
||||
<uni-collapse>
|
||||
|
||||
<uni-collapse-item
|
||||
title-border="none"
|
||||
v-for="(item,index) in xjItem"
|
||||
:key="index"
|
||||
:border="false"
|
||||
:show-animation="true"
|
||||
>
|
||||
<template v-slot:title >
|
||||
<view style="display: flex;align-items: center;">
|
||||
<text class="yuandian"></text>
|
||||
<text>{{item.name}}</text>
|
||||
<text style="margin-left: auto; color:#ff0000">{{item.children.length}}项未填写</text>
|
||||
</view>
|
||||
</template>
|
||||
<view class="xj-content">
|
||||
<view class="xj-text" v-for="(o,i) in item.children" :key="i">
|
||||
<text>{{o.itemDesc}}</text>
|
||||
<view class="subsectioin">
|
||||
<text>状态</text>
|
||||
<u-subsection
|
||||
:list="list"
|
||||
:current="current"
|
||||
mode="subsection"
|
||||
style="width:250px;margin-left: 10px"
|
||||
@change="change"
|
||||
></u-subsection>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-collapse-item >
|
||||
</uni-collapse>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
taskTitle:'',
|
||||
taskType:'',
|
||||
taskContent:'',
|
||||
startDate:'',
|
||||
endDate:'',
|
||||
status:'',
|
||||
id:'',
|
||||
btnStatus: 0,
|
||||
xjItem:[],
|
||||
list:["正常","异常"],
|
||||
current:3
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 开始巡查
|
||||
async startXc(){
|
||||
try {
|
||||
// const {data} = await uni.$http.get(`/gunshiApp/xyt/inspect/task/startInspect/${this.id}`)
|
||||
// if(data.code == 200){
|
||||
// this.btnStatus = 1;
|
||||
// }
|
||||
this.btnStatus = 1;
|
||||
this.getXjItem(this.id)
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
// 获取巡查项
|
||||
async getXjItem(id){
|
||||
try {
|
||||
const {data} = await uni.$http.get(`/gunshiApp/xyt/inspect/detail/info?taskId=${id}`)
|
||||
if(data.code == 200){
|
||||
this.xjItem = data.data
|
||||
}
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
change(e){
|
||||
this.current = e;
|
||||
}
|
||||
},
|
||||
onLoad(option){
|
||||
this.taskTitle = option.taskTitle
|
||||
this.taskType = JSON.parse(option.taskType)
|
||||
this.taskContent = JSON.parse(option.taskContent)
|
||||
this.startDate = (option.startDate)
|
||||
this.endDate = option.endDate == "null" ? "" : option.endDate
|
||||
this.status = option.status
|
||||
this.id = option.id
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.myTitleStyle {
|
||||
font-size: 30px;
|
||||
background-color: red;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.tabsClass {
|
||||
margin-top: 44px;
|
||||
height: 44px;
|
||||
padding: 0 40px;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.item {
|
||||
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// justify-content: space-between;
|
||||
.blueTiao{
|
||||
background-color: #007aff;
|
||||
width: 5px;
|
||||
height: 16px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.title {
|
||||
border-width: 0px;
|
||||
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 15px;
|
||||
color: #666666
|
||||
}
|
||||
|
||||
.titleRight {
|
||||
display: flex;
|
||||
.border {
|
||||
border-width: 0px;
|
||||
background-color: rgba(236, 245, 255, 1);
|
||||
box-sizing: border-box;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(187, 220, 255, 1);
|
||||
border-radius: 5px;
|
||||
box-shadow: none;
|
||||
width: 58px;
|
||||
height: 25px;
|
||||
color: #689FFF;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.contentItem{
|
||||
.itemC{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
color: #666666;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
}
|
||||
.itemNo{
|
||||
color: #666666;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
.circle-btn{
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
background-color: #007aff;
|
||||
border-radius: 50%;
|
||||
color:#fff;
|
||||
text-align: center;
|
||||
line-height: 120px;
|
||||
}
|
||||
.yuandian{
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-color: #409eff;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.xj-content{
|
||||
height: 300px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.xj-text{
|
||||
margin-left: 10%;
|
||||
margin-top: 2%;
|
||||
}
|
||||
.subsectioin{
|
||||
display: flex;
|
||||
column-gap: 10px;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,197 @@
|
|||
<template>
|
||||
<view :style="{height:'100vh',overflow:'hidden'}">
|
||||
<u-status-bar></u-status-bar>
|
||||
<u-navbar title="巡查任务" :autoBack="true" :titleStyle="{
|
||||
fontSize:'18px'
|
||||
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
|
||||
</u-navbar>
|
||||
<view style="padding:0 10px; margin-top:50px">
|
||||
<view class="time-ranger" >
|
||||
<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>
|
||||
|
||||
</view>
|
||||
<view class="" v-for="(item,i) in list" :key="i" style="background-color: #fff;margin-top:10px;">
|
||||
<view class="item">
|
||||
<!-- {{item.title}} -->
|
||||
<view class="title">
|
||||
{{item.taskTitle}}
|
||||
</view>
|
||||
<view class="titleRight" @click="toDetail(item)">
|
||||
<view class="border">
|
||||
{{item.status == 1 ? "继续任务": "开始任务" }}
|
||||
</view>
|
||||
<u-icon name="arrow-right" size="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentItem">
|
||||
<view class="itemC">
|
||||
<text>开始日期</text>
|
||||
<text>{{item.startDate}}</text>
|
||||
</view>
|
||||
<view class="itemC">
|
||||
<text>结束日期</text>
|
||||
<text>{{item.endDate}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</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>
|
||||
import moment from 'moment'
|
||||
const stm = moment().subtract(7, 'months').add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD");
|
||||
const etm = moment().add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD");
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
startTime:stm,
|
||||
endTime:etm,
|
||||
stm,
|
||||
etm,
|
||||
showTime:false,
|
||||
showTime1:false,
|
||||
list: []
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
searchHandle(){
|
||||
this.getData()
|
||||
},
|
||||
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
|
||||
},
|
||||
|
||||
async getData(){
|
||||
const userId = uni.getStorageSync('value')?.userId
|
||||
const params = {
|
||||
dateRangeSo:{
|
||||
start:moment(this.stm).format("YYYY-MM-DD"),
|
||||
end:moment(this.etm).format("YYYY-MM-DD"),
|
||||
},
|
||||
inspectUserId:userId,
|
||||
statusList:[0,1]
|
||||
}
|
||||
try {
|
||||
const res = await uni.$http.post("/gunshiApp/xyt/inspect/task/list",params)
|
||||
this.list = [...res.data.data];
|
||||
} catch (error) {
|
||||
uni.$showMsg();
|
||||
}
|
||||
},
|
||||
toDetail(record){
|
||||
uni.navigateTo({
|
||||
url:`/pages/xcrw/detail/index?taskTitle=${record.taskTitle}&taskType=${record.taskType}&taskContent=${record.taskContent}&startDate=${record.startDate}&endDate=${record.endDate}&status=${record.status}&id=${record.id}`
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.time-ranger{
|
||||
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;
|
||||
}
|
||||
}
|
||||
.myTitleStyle {
|
||||
font-size: 30px;
|
||||
background-color: red;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.tabsClass {
|
||||
margin-top: 44px;
|
||||
height: 44px;
|
||||
padding: 0 40px;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.item {
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.title {
|
||||
border-width: 0px;
|
||||
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 15px;
|
||||
color: #666666
|
||||
}
|
||||
|
||||
.titleRight {
|
||||
display: flex;
|
||||
.border {
|
||||
border-width: 0px;
|
||||
background-color: rgba(236, 245, 255, 1);
|
||||
box-sizing: border-box;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(187, 220, 255, 1);
|
||||
border-radius: 5px;
|
||||
box-shadow: none;
|
||||
width: 75px;
|
||||
height: 25px;
|
||||
color: #689FFF;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.contentItem{
|
||||
.itemC{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
color: #666666;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
<view class="skinfo">
|
||||
<view class="title">
|
||||
<view class="left">
|
||||
<text>上游雨量站</text>
|
||||
<text>{{123}}</text>
|
||||
</view>
|
||||
<view class="right">
|
||||
2024-08-12 11:00
|
||||
{{123}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
<script>
|
||||
export default{
|
||||
|
||||
data(){
|
||||
return{
|
||||
list:{
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 110 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="20px" height="20px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -322 -119 )">
|
||||
<path d="M 9.99999644886364 19.9431747159091 C 4.50871053799716 19.9431747159091 0.0568181818181818 15.4912823597301 0.0568181818181818 9.99999644886364 C 0.0568181818181818 4.50871053799716 4.50871053799716 0.0568181818181818 9.99999644886364 0.0568181818181818 C 15.4912823597301 0.0568181818181818 19.9431747159091 4.50871053799716 19.9431747159091 9.99999644886364 C 19.9431747159091 15.4912823597301 15.4912823597301 19.9431747159091 9.99999644886364 19.9431747159091 Z M 14.8177977627841 9.36031864790483 L 7.84365252130682 5.51098291015625 C 7.20463760653409 5.15899438476563 6.68560369318182 5.4625927734375 6.68560369318182 6.19175916637074 L 6.68560369318182 13.8075708451705 C 6.68560369318182 14.5314342151989 7.20397472034801 14.8409985129616 7.84365252130682 14.4883471235795 L 14.8177977627841 10.6390113636364 C 15.4554869273793 10.2863599742543 15.4568126775568 9.71363292347301 14.8177977627841 9.36031864790483 Z " fill-rule="nonzero" fill="#037bfb" stroke="none" transform="matrix(1 0 0 1 322 119 )" />
|
||||
</g>
|
||||
</svg>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="20px" height="13px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -22 -124 )">
|
||||
<path d="M 20 1.78985507246377 C 20 1.13951976922099 19.4403559372885 0.61231884057971 18.75 0.61231884057971 L 18.195625 0.61231884057971 C 17.8675 0.61231884057971 17.5525 0.73419384057971 17.318125 0.951449275362318 L 15.625 2.52463768115942 L 15.625 1.78985507246377 C 15.625 0.814352117599596 14.7855339059327 0.0235507246376818 13.75 0 L 1.875 0 C 0.84125 0.0235507246376812 0 0.81544384057971 0 1.78985507246377 L 0 11.2101449275362 C 0 12.1856478824004 0.839466094067262 12.9764492753623 1.875 13 L 13.75 13 C 14.785 12.9764492753623 15.625 12.1851449275362 15.625 11.2101449275362 L 15.625 10.491259057971 L 17.318125 12.0644474637681 C 17.5525 12.2817028985507 17.8675 12.4035778985507 18.195625 12.4035778985507 L 18.75 12.4035778985507 C 19.4403559372885 12.4035778985507 20 11.8763769699094 20 11.2260416666667 L 20 1.78985507246377 Z M 13.75 11.7989130434783 L 1.875 11.7989130434783 C 1.53 11.7989130434783 1.25 11.5345561594203 1.25 11.2101449275362 L 1.25 1.78985507246377 C 1.25 1.46468742084238 1.52982203135575 1.20108695652174 1.875 1.20108695652174 L 13.75 1.20108695652174 C 14.094375 1.20108695652174 14.375 1.46485507246377 14.375 1.78985507246377 L 14.375 11.2101449275362 C 14.375 11.5345561594203 14.094375 11.7989130434783 13.75 11.7989130434783 Z M 18.75 1.78985507246377 L 18.75 11.2260416666667 L 18.125 11.2260416666667 L 15.625 8.87096920289855 L 15.625 8.85507246376812 L 15 8.26630434782609 L 15 4.73369565217391 L 18.125 1.78985507246377 L 18.75 1.78985507246377 Z " fill-rule="nonzero" fill="#409eff" stroke="none" transform="matrix(1 0 0 1 22 124 )" />
|
||||
</g>
|
||||
</svg>
|
||||
|
|
@ -57,6 +57,43 @@ const cfe = {
|
|||
"xAxisFormat": function (value) {
|
||||
return value.substr('2020--'.length, 11)
|
||||
},
|
||||
"stList": function (val)
|
||||
{
|
||||
let value = val.substr('2020-'.length, 11)
|
||||
var ret = "";//拼接加\n返回的类目项
|
||||
var maxLength = 6;//每项显示文字个数
|
||||
var valLength = value.length;//X轴类目项的文字个数
|
||||
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
|
||||
if (rowN > 1)//如果类目项的文字大于5,
|
||||
{
|
||||
for (var i = 0; i < rowN; i++) {
|
||||
var temp = "";//每次截取的字符串
|
||||
var start = i * maxLength;//开始截取的位置
|
||||
var end = start + maxLength;//结束截取的位置
|
||||
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
|
||||
temp = value.substring(start, end) + "\n";
|
||||
ret += temp; //凭借最终的字符串
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
else {
|
||||
return value;
|
||||
}
|
||||
},
|
||||
"stMonth":function(value){
|
||||
let months = value.data.coord[0].substr("2024-0".length, "2024-0".length - 5);
|
||||
let val = value.data.coord[1]
|
||||
return `${months}月核定生态流量${val}m³/s`
|
||||
},
|
||||
"yhidden": function (value, index, axis) {
|
||||
console.log("axis",axis);
|
||||
|
||||
if (index === 0 || index === axis.data.length - 1) {
|
||||
return ''
|
||||
} else {
|
||||
return value
|
||||
}
|
||||
},
|
||||
yAxisFormatDemo:function (value, index) {
|
||||
return value + '元';
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
var isReady=false;var onReadyCallbacks=[];
|
||||
var isServiceReady=false;var onServiceReadyCallbacks=[];
|
||||
var __uniConfig = {"pages":["pages/login/login","pages/rain/rain","pages/homeIndex/index","pages/xxsb/index","pages/xxsb/from","pages/xxsb/fromSeverity","pages/xxsb/dsfrom","pages/xxsb/map","pages/gqzq/index","pages/gqzq/gqxx","pages/gqzq/zqxx","pages/gqzq/detail/index","pages/mypage/mypage","pages/personInfo/personInfo","pages/modifyPassword/modifyPassword","pages/forewarning/forewarning","pages/forewarning/sh","pages/forewarning/shInformation/shInformation","pages/addressBook/addressBook","pages/water/water","pages/rainDetail/rainDetail","pages/hdDetail/hdDetail","pages/skDetail/skDetail","pages/addressBook/follow","pages/addressBook/myDept","pages/orderFeedback/orderFeedback","pages/orderFeedback/orderInformation","pages/gqzq/gqxx/gqxx","pages/gqzq/gqxx/qk","pages/gqzq/gqxx/xq","pages/gqzq/gqxx/qkForm","pages/gqzq/gqxx/xqForm","pages/gqzq/zqxx/zqxx","pages/gqzq/zqxx/table","pages/gqzq/zqxx/form","pages/wxyh/index","subpkg/rainDetail/rainDetail"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8","backgroundColorTop":"transparent","navigationStyle":"custom","background":"#efeff4"},"tabBar":{"color":"#333333","selectedColor":"#59A7FF","list":[{"pagePath":"pages/homeIndex/index","iconPath":"/static/tabs/home.png","selectedIconPath":"static/tabs/home2.png","text":"首页"},{"pagePath":"pages/addressBook/addressBook","iconPath":"/static/tabs/phone_icon@2x.png","selectedIconPath":"static/tabs/phone_icon@2x2.png","text":"通讯录"},{"pagePath":"pages/mypage/mypage","iconPath":"/static/images/my2_icon@2x.png","selectedIconPath":"static/images/my2_icon@2x2.png","text":"我的"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"咸丰水利","compilerVersion":"4.24","entryPagePath":"pages/login/login","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/login/login","meta":{"isQuit":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/rain/rain","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/homeIndex/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"","enablePullDownRefresh":true,"pullToRefresh":{"support":true,"style":"default","offset":"70px"}}},{"path":"/pages/xxsb/index","meta":{},"window":{"navigationBarTitleText":"信息上报"}},{"path":"/pages/xxsb/from","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/fromSeverity","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/dsfrom","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/map","meta":{},"window":{"navigationBarTitleText":"地图示例"}},{"path":"/pages/gqzq/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx","meta":{},"window":{"navigationBarTitleText":"工情信息"}},{"path":"/pages/gqzq/zqxx","meta":{},"window":{"navigationBarTitleText":"灾情信息"}},{"path":"/pages/gqzq/detail/index","meta":{},"window":{"navigationBarTitleText":"查看"}},{"path":"/pages/mypage/mypage","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/personInfo/personInfo","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/modifyPassword/modifyPassword","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/forewarning","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/sh","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/shInformation/shInformation","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/addressBook/addressBook","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/water/water","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/rainDetail/rainDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/hdDetail/hdDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/skDetail/skDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/addressBook/follow","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/addressBook/myDept","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/orderFeedback/orderFeedback","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/orderFeedback/orderInformation","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/gqxx","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/qk","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/xq","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/qkForm","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/xqForm","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/zqxx","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/table","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/form","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/wxyh/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/subpkg/rainDetail/rainDetail","meta":{},"window":{}}];
|
||||
var __uniConfig = {"pages":["pages/login/login","pages/xcrw/index","pages/xcrw/detail/index","pages/stlljk/index","pages/spjk/index","pages/spjk/spbf/index","pages/aqjc/index","pages/rain/rain","pages/homeIndex/index","pages/xxsb/index","pages/xxsb/from","pages/xxsb/fromSeverity","pages/xxsb/dsfrom","pages/xxsb/map","pages/gqzq/index","pages/gqzq/gqxx","pages/gqzq/zqxx","pages/gqzq/detail/index","pages/mypage/mypage","pages/personInfo/personInfo","pages/modifyPassword/modifyPassword","pages/forewarning/forewarning","pages/forewarning/sh","pages/forewarning/shInformation/shInformation","pages/addressBook/addressBook","pages/water/water","pages/rainDetail/rainDetail","pages/hdDetail/hdDetail","pages/skDetail/skDetail","pages/addressBook/follow","pages/addressBook/myDept","pages/orderFeedback/orderFeedback","pages/orderFeedback/orderInformation","pages/gqzq/gqxx/gqxx","pages/gqzq/gqxx/qk","pages/gqzq/gqxx/xq","pages/gqzq/gqxx/qkForm","pages/gqzq/gqxx/xqForm","pages/gqzq/zqxx/zqxx","pages/gqzq/zqxx/table","pages/gqzq/zqxx/form","pages/wxyh/index","pages/wtcl/index","pages/wtcl/detail/index","pages/yj/index","pages/yj/detail/qxyj","pages/yj/detail/wyyj","pages/yj/detail/aiyj","pages/messageList/index","pages/messageList/detail/index","pages/skInfo/detail/index","subpkg/rainDetail/rainDetail"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8","backgroundColorTop":"transparent","navigationStyle":"custom","background":"#efeff4"},"tabBar":{"color":"#333333","selectedColor":"#59A7FF","list":[{"pagePath":"pages/homeIndex/index","iconPath":"/static/tabs/home.png","selectedIconPath":"static/tabs/home2.png","text":"首页"},{"pagePath":"pages/addressBook/addressBook","iconPath":"/static/tabs/phone_icon@2x.png","selectedIconPath":"static/tabs/phone_icon@2x2.png","text":"通讯录"},{"pagePath":"pages/mypage/mypage","iconPath":"/static/images/my2_icon@2x.png","selectedIconPath":"static/images/my2_icon@2x2.png","text":"我的"}]},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"咸丰水利","compilerVersion":"4.24","entryPagePath":"pages/login/login","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}};
|
||||
var __uniRoutes = [{"path":"/pages/login/login","meta":{"isQuit":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/xcrw/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xcrw/detail/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/stlljk/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/spjk/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/spjk/spbf/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/aqjc/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/rain/rain","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/homeIndex/index","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":"","enablePullDownRefresh":true,"pullToRefresh":{"support":true,"style":"default","offset":"70px"}}},{"path":"/pages/xxsb/index","meta":{},"window":{"navigationBarTitleText":"信息上报"}},{"path":"/pages/xxsb/from","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/fromSeverity","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/dsfrom","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/xxsb/map","meta":{},"window":{"navigationBarTitleText":"地图示例"}},{"path":"/pages/gqzq/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx","meta":{},"window":{"navigationBarTitleText":"工情信息"}},{"path":"/pages/gqzq/zqxx","meta":{},"window":{"navigationBarTitleText":"灾情信息"}},{"path":"/pages/gqzq/detail/index","meta":{},"window":{"navigationBarTitleText":"查看"}},{"path":"/pages/mypage/mypage","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/personInfo/personInfo","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/modifyPassword/modifyPassword","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/forewarning","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/sh","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/forewarning/shInformation/shInformation","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/addressBook/addressBook","meta":{"isQuit":true,"isTabBar":true},"window":{"navigationBarTitleText":""}},{"path":"/pages/water/water","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/rainDetail/rainDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/hdDetail/hdDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/skDetail/skDetail","meta":{},"window":{"navigationBarTitleText":"","enablePullDownRefresh":false}},{"path":"/pages/addressBook/follow","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/addressBook/myDept","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/orderFeedback/orderFeedback","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/orderFeedback/orderInformation","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/gqxx","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/qk","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/xq","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/qkForm","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/gqxx/xqForm","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/zqxx","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/table","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/gqzq/zqxx/form","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/wxyh/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/wtcl/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/wtcl/detail/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/yj/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/yj/detail/qxyj","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/yj/detail/wyyj","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/yj/detail/aiyj","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/messageList/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/messageList/detail/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/pages/skInfo/detail/index","meta":{},"window":{"navigationBarTitleText":""}},{"path":"/subpkg/rainDetail/rainDetail","meta":{},"window":{}}];
|
||||
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}});
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue