master
xielei 2024-09-14 09:22:12 +08:00
parent 42a48ac3b3
commit b57cd3f678
24 changed files with 20612 additions and 88312 deletions

44
App.vue
View File

@ -44,4 +44,48 @@
color: #333;
padding: 10px;
}
.userinfo{
border-radius: 5px;
display: flex;
flex-direction: row;
margin-top: 5vh;
margin-left: 2vw;
margin-bottom: 2vh;
align-items: center;
width: 95%;
height: 6vh;
background-color: #007afd;
}
.icon{
width: 6vw;
height: 6vh;
align-items: center;
line-height: 6vh;
}
.Header{
display: flex;
flex-direction: row;
flex: 0.95;
justify-content: center;
color: white;
font-size: 20px;
}
.align-center{
display: flex;
align-items: center;
}
.align-justufy-center{
display: flex;
align-items: center;
justify-content: center;;
}
.justify-center{
display: flex;
justify-content: center;
}
.justify-between{
display: flex;
justify-content: space-between;
}
</style>

97
compent/formZdy/index.vue Normal file
View File

@ -0,0 +1,97 @@
<template>
<view>
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form labelPosition="left" :model="model1" :rules="rules" ref="uForm">
<u-form-item label="姓名" prop="userInfo.name" borderBottom ref="item1">
<u--input v-model="model1.userInfo.name" border="none"></u--input>
</u-form-item>
<u-form-item label="性别" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"
ref="item1">
<u--input v-model="model1.userInfo.sex" disabled disabledColor="#ffffff" placeholder="请选择性别"
border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="内容" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"
ref="item1">
<u--textarea v-model="model1.userInfo.namevalue1" placeholder="请输入内容"></u--textarea>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="内容" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"
ref="item1">
<u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" name="1" multiple
:maxCount="10"></u-upload>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="内容" prop="userInfo.sex" borderBottom @click="showSex = true; hideKeyboard()"
ref="item1">
<u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" name="1" multiple
:maxCount="10"></u-upload>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
</u--form>
<u-action-sheet :show="showSex" :actions="actions" title="请选择性别" description="如果选择保密会报错"
@close="showSex = false" @select="sexSelect">
</u-action-sheet>
<button @click="submit">11</button>
</view>
</template>
<script>
export default {
data() {
return {
showSex: false,
model1: {
userInfo: {
name: 'uView UI',
sex: '',
},
},
actions: [{
name: '男',
},
{
name: '女',
},
{
name: '保密',
},
],
rules: {
'userInfo.name': {
type: 'string',
required: true,
message: '请填写姓名',
trigger: ['blur', 'change']
},
'userInfo.sex': {
type: 'string',
max: 1,
required: true,
message: '请选择男或女',
trigger: ['blur', 'change']
},
},
radio: '',
switchVal: false
};
},
methods: {
sexSelect(e) {
this.model1.userInfo.sex = e.name
this.$refs.uForm.validateField('userInfo.sex')
},
submit() {
this.$refs.uForm.validate().then(res => {
uni.$u.toast('校验通过')
}).catch(errors => {
uni.$u.toast('校验失败')
})
}
},
onReady() {
//setRules
this.$refs.uForm.setRules(this.rules)
},
};
</script>

View File

@ -10,7 +10,7 @@ import {
Vue.config.productionTip = false
uni.$http = $http
// $http.baseUrl = 'http://local.gunshiiot.com:18083'
$http.baseUrl = 'http://36.139.207.50:18083'
$http.baseUrl = 'http://local.gunshiiot.com:18083'
// 请求拦截器
$http.beforeRequest = function(options) {
// uni.showLoading({
@ -30,7 +30,7 @@ $http.beforeRequest = function(options) {
if (options.url.indexOf('/doLogin') == -1) {
options.header = {
'gs-token': uni.getStorageSync('Gs-Token')
'Authorization': 'Bearer ' + uni.getStorageSync('Gs-Token')
}
}
}

View File

@ -226,6 +226,66 @@
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/wxyh/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/wtcl/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/wtcl/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/qxyj",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/wyyj",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/aiyj",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/messageList/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/messageList/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/skInfo/detail/index",
"style": {
"navigationBarTitleText": ""
}
}
],
"usingComponents": {

View File

@ -4,48 +4,42 @@
<view class="info">
<div class="left">
<div class="icon">
<image
style="width: 100%; height: 100%; border-radius: 50%"
:src="default_src"
mode="aspectFill"
></image>
<image style="width: 100%; height: 100%; border-radius: 50%" :src="default_src" mode="aspectFill">
</image>
</div>
<div class="info_name">
<div v-if="userList.data">{{ userList.data.userName }}</div>
<div v-if="userList.data">
{{ userList.data.orgList[0].orgName || '' }}
<div v-if="userList.userName">{{ userList.userName }}</div>
<div v-if="userList.dept">
{{ userList.dept.deptName || '' }}
</div>
</div>
</div>
<div class="right">
<div>{{ monthDay }}</div>
<div>{{ dataType[dayOfWeek] }}</div>
<!-- <div>{{ monthDay }}</div>
<div>{{ dataType[dayOfWeek] }}</div> -->
<u-icon name="bell-fill" size="30" color="#fff" @click="todetailmessgae()">
</u-icon>
<u-badge bgColor=" #de2433" :offset='[25,20]' :value="6" :absolute='true'></u-badge>
</div>
</view>
<!-- nav -->
<view class="navBar">
<view class="navBar" style="display: flex;flex-wrap: wrap;">
<div class="navList" v-for="(item, index) in getNavList" :key="index">
<div @click="myNavigateTo(item.url,item.value)">
<div class="navIcon">
<image
style="width: 100%; height: 100%"
:src="item.icon"
mode="aspectFit"
></image>
<div
class="readStatus"
v-show="
<image style="width: 100%; height: 100%" :src="item.icon" mode="aspectFit"></image>
<div class="readStatus" v-show="
(readStatus && item.key == 3) || (dispatchStatus && item.key ==5 && limit == 0) ||
(limit == 1 && readYjStatus && item.key == 5)
"
></div>
"></div>
</div>
<div class="navTxt">{{ item.value }}</div>
</div>
</div>
</view>
<view class="warn">
<image
<!-- <image
style="
width: 18rpx;
height: 22rpx;
@ -56,276 +50,19 @@
mode="aspectFit"
></image
><span style="color: #000">当前防汛应急响应</span>
<span style="color: #59a7ff">{{ !level || !yjStatus ? '无' : level }}</span>
<span style="color: #59a7ff">{{ !level || !yjStatus ? '无' : level }}</span> -->
<sk-info />
</view>
<!-- 24小时综述 -->
<view v-show="limit == 1">
<view class="info_24">
<div class="heart">
<p class="title">
<span class="line"></span><span class="h4">24小时综述</span>
</p>
<div class="time">{{ ydate }}{{ date }}</div>
</div>
<div class="info_con" v-if="list.data">
<span class="g1">{{ list.data.yesterday }}</span
><span class="g1">{{ list.data.today }}</span
>24小时中共有<span class="ye">{{ list.data.stationNum }}</span
>个降雨测站(山洪测站<span class="ye">{{
list.data.shStationNum
}}</span
>)其中最大降雨测站为<span class="ye">{{
list.data.maxRain ? list.data.maxRain.stnm : '-'
}}</span
>降雨量<span class="ye">{{
list.data.maxRain ? list.data.maxRain.drp : '-'
}}</span
>mm
<template v-if="list.data.cntDrp10 != 0"
><span class="b1">10mm</span>以下测站数为<span class="ye">{{
list.data.cntDrp10
}}</span
></template
><template v-if="list.data.cntDrp25 != 0"
><span class="b1">10mm至25mm</span>以下测站数为<span class="ye">{{
list.data.cntDrp25
}}</span
></template
>
<template v-if="list.data.cntDrp50 != 0">
<span class="b1">25mm至50mm</span>以下测站数为<span class="ye">{{
list.data.cntDrp50
}}</span
>
</template>
<template v-if="list.data.cntDrp100 != 0">
<span class="b1">50mm至100mm</span>以下测站数为<span class="ye">{{
list.data.cntDrp100
}}</span
>
</template>
<template v-if="list.data.cntDrp250 != 0">
<span class="b1">100mm至250mm</span>以下测站数为<span class="ye">{{
list.data.cntDrp250
}}</span
>
</template>
<template v-if="list.data.cntDrpg250 != 0"
><span class="b1">250mm以上</span>以下测站数为<span class="ye">{{
list.data.cntDrpg250
}}</span
></template
>
</div>
<view class="warn">
<ylz-list />
</view>
<view class="warn">
<ylz-list />
</view>
<view class="info_24">
<div class="heart">
<p class="title">
<span class="line"></span><span class="h4">24小时天气预报</span>
</p>
<div>
<!-- <span class="time">{{ imgData[0] }}{{ imgData[1] }}</span> -->
<!-- <image
style="width: 16px; height: 16px; vertical-align: middle"
src="../../static/tabs/panelTitle.png"
mode="aspectFit"
@click="changeTable"
></image> -->
</div>
</div>
<div class="chartChange fl">
<div class="chart_tit" @click="changeTable">
<image
style="vertical-align: middle"
src="../../static/tabs/chartcolumn@2x.png"
mode="aspectFit"
></image>
<span>图表</span>
</div>
<div v-if="changeBool" class="table_h">
<div
class="leftTab"
:class="{ activetextTypeTab: showTextTypeTab == 1 }"
@click="tabChange(1)"
>
水库降雨
</div>
<div
class="rightTab"
:class="{ activetextTypeTab: showTextTypeTab == 2 }"
@click="tabChange(2)"
>
区域降雨
</div>
</div>
</div>
<div class="imgs" style="height: 100%; text-align: center">
<!-- 24h天气预报图像-->
<image
v-if="!changeBool && imgList.img24h"
:src="imgList.img24h.url"
mode="aspectFit"
></image>
<!-- 表格-->
<div v-else class="tableBox">
<div class="table_div">
<div class="table_cur">
<table style="width: 100%; margin-top: -10%">
<tr>
<th style="width: 50px; color: #59a7ff">序号</th>
<th
v-if="showTextTypeTab == 1"
style="width: 70%; color: #59a7ff"
>
水库
</th>
<th v-else style="width: 70%; color: #59a7ff">区域</th>
<th style="width: 50%; color: #59a7ff">降雨量(mm)</th>
</tr>
<div
style="max-height: 260px; overflow-y: auto"
v-if="tableData.data"
>
<tr
v-for="(item, index) in tableData.data.data"
:key="index"
>
<td style="width: 62px">{{ index + 1 }}</td>
<td style="width: 70%">
{{ item.name }}
</td>
<td style="width: 50%">{{ item.drp }}</td>
</tr>
</div>
<!-- <tr>
<td style="width: 62px">1</td>
<td style="width: 70%">水库水库</td>
<td style="width: 50%">11</td>
</tr> -->
</table>
</div>
</div>
</div>
</div>
</view>
<view class="info_24">
<div class="heart">
<p class="title">
<span class="line"></span><span class="h4">短时天气预报</span>
</p>
<!-- <div class="time" v-if="imgHourstm.length > 0">
{{ imgHourstm[0] }}{{ imgHourstm[1] }}
</div> -->
</div>
<div class="imgs" style="height: 100%; text-align: center">
<image
v-if="imgHoursList.url != ''"
:src="imgHoursList.url"
mode="aspectFit"
></image>
<image
v-if="imgHoursList.url == ''"
class="noData"
src="../../static/tabs//noData1.png"
mode="aspectFit"
></image>
</div>
</view>
</view>
<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" v-if="timeList">
<uni-data-select
v-model="value1"
:localdata="timeList"
@change="changeTime"
:clear="false"
>
</uni-data-select>
</div>
</div>
<div
class="info_icon"
style="height: 260px; width: 100%"
v-if="chartData.chartData"
>
<qiun-data-charts
:chartData="chartData.chartData"
:echartsApp="true"
:eopts="chartData.eopts"
/>
</div>
</view>
<view class="info_24">
<div class="heart" style="margin-bottom: 10px">
<p class="title">
<span class="line"></span><span class="h4">水情</span>
</p>
<div class="time" style="width: 50%; color: #000">
<u-subsection
:list="subList"
:current="current"
@change="subChange"
mode="subsection"
></u-subsection>
</div>
</div>
<div class="info_icon" v-if="current == 0">
<div
v-for="(item, i) in hdList"
:key="i"
@click="jumpHdDetail(item)"
style="
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
"
>
<div>
<div style="font-size: 32rpx">{{ item.stnm }}</div>
<div style="font-size: 24rpx">实时水位{{ item.z }}m</div>
</div>
<div style="color: #91939b">监测时间{{ item.tm }}</div>
</div>
<div v-if="!hdList.length" style="text-align:center"></div>
</div>
<div class="info_icon" v-else>
<div
v-for="(item, i) in skList"
:key="i"
style="
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
"
@click="jumpSkDetail(item)"
>
<div>
<div style="font-size: 32rpx">{{ item.stnm }}</div>
<div style="font-size: 24rpx">
实时水位{{ item.normWatLev }}m
</div>
</div>
<div style="color: #91939b">监测时间{{ item.tm }}</div>
</div>
<div v-if="!skList.length" style="text-align:center"></div>
</div>
</view>
</view>
<view class="info_24" :style="{display:'flex',justifyContent:'center',alignItems:'center',padding:'5px 0',margin:'0'}">
<view class="info_24"
:style="{display:'flex',justifyContent:'center',alignItems:'center',padding:'5px 0',margin:'0'}">
<image :style="{width:'20px',height:'20px',marginRight:'10px'}" src="../../static/logoc.png"></image>
<div>技术支持: 湖北鲧石物联科技有限公司</div>
</view>
@ -344,18 +81,30 @@ const dataType = {
}
import moment from 'moment'
import { level } from '../../pages/utils/dicType'
import { disType } from '../utils/dicType.js'
import {
level
} from '../../pages/utils/dicType'
import {
disType
} from '../utils/dicType.js'
import drpOption from './chartOption.js'
import { restm } from '../utils/tool'
import {
restm
} from '../utils/tool'
import SkInfo from '../skInfo/index.vue'
import YlzList from '../ylzList/index.vue'
export default {
components: {
SkInfo,
YlzList
},
data() {
return {
monthDay: '',
dayOfWeek: '',
dataType,
userList: {},
userList: uni.getStorageSync('value').data,
changeBool: false,
tableData: [],
loading: false,
@ -367,16 +116,40 @@ export default {
tm: '',
level: '',
yjStatus: 0,
limit: disType(uni.getStorageSync('value').adcd),
timeList: [
{ text: '昨天08:00~当前时间', value: 1 },
{ text: '今天08:00~当前时间', value: 2 },
{ text: '昨天08:00~今天08:00', value: 3 },
{ text: '最近1小时', value: 4 },
{ text: '最近3小时', value: 5 },
{ text: '最近6小时', value: 6 },
{ text: '最近12小时', value: 7 },
{ text: '最近24小时', value: 8 }
// limit: disType(uni.getStorageSync('value').adcd),
limit: 1,
timeList: [{
text: '昨天08:00~当前时间',
value: 1
},
{
text: '今天08:00~当前时间',
value: 2
},
{
text: '昨天08:00~今天08:00',
value: 3
},
{
text: '最近1小时',
value: 4
},
{
text: '最近3小时',
value: 5
},
{
text: '最近6小时',
value: 6
},
{
text: '最近12小时',
value: 7
},
{
text: '最近24小时',
value: 8
}
],
value1: 3,
rainChartData: [],
@ -384,8 +157,14 @@ export default {
stm: moment()
.subtract(1, 'days')
.startOf('day')
.set({ hour: 8, minute: 0 }),
etm: moment().startOf('day').set({ hour: 8, minute: 0 })
.set({
hour: 8,
minute: 0
}),
etm: moment().startOf('day').set({
hour: 8,
minute: 0
})
},
rainChartData: [],
chartData: {},
@ -402,14 +181,16 @@ export default {
imgData: [],
imgHours: '',
imgHourstm: [],
imgHoursList: { url: '' },
imgHoursList: {
url: ''
},
interval: null,
numPic: 0,
allStatus: false
}
},
onPullDownRefresh() {
this.getSwiperList()
// this.getSwiperList()
this.getOverview()
this.getDataTime()
this.getResponseLevel()
@ -427,12 +208,11 @@ export default {
},
computed: {
getNavList() {
const adcd = uni.getStorageSync('value').adcd
let lever = 0
if (adcd.endsWith('000000000')) {
// const adcd = uni.getStorageSync('value').adcd
// let lever = 0
// if (adcd?.endsWith('000000000')) {
//
return [
{
return [{
value: '雨情',
key: 1,
icon: '../../static/tabs/xingzhuang2.png',
@ -461,48 +241,68 @@ export default {
key: 5,
icon: '../../static/tabs/yujing_icon@2x2.png',
url: '/pages/forewarning/forewarning'
}
]
} else {
//
return [
{
value: '雨情',
key: 1,
icon: '../../static/tabs/xingzhuang2.png',
url: '/pages/rain/rain'
},
{
value: '水情',
key: 2,
icon: '../../static/tabs/water2.png',
url: '/pages/water/water'
},
// {
// value: '',
// key: 3,
// icon: '../../static/tabs/gongqing2.png',
// url: '/pages/gqzq/index'
// },
{
value: '调令反馈',
key: 5,
value: '维修养护111',
key: 6,
icon: '../../static/tabs/yujing_icon@2x2.png',
url: '/pages/orderFeedback/orderFeedback'
url: '/pages/wxyh/index'
},
{
value: '信息上报',
key: 4,
icon: '../../static/tabs/xinxi_icon@2x2.png',
url: '/pages/xxsb/index'
}
value: '问题处理111',
key: 7,
icon: '../../static/tabs/yujing_icon@2x2.png',
url: '/pages/wtcl/index'
},
{
value: '预警111',
key: 7,
icon: '../../static/tabs/yujing_icon@2x2.png',
url: '/pages/yj/index'
},
]
}
// } else {
// //
// return [
// {
// value: '',
// key: 1,
// icon: '../../static/tabs/xingzhuang2.png',
// url: '/pages/rain/rain'
// },
// {
// value: '',
// key: 2,
// icon: '../../static/tabs/water2.png',
// url: '/pages/water/water'
// },
// // {
// // value: '',
// // key: 3,
// // icon: '../../static/tabs/gongqing2.png',
// // url: '/pages/gqzq/index'
// // },
// {
// value: '',
// key: 5,
// icon: '../../static/tabs/yujing_icon@2x2.png',
// url: '/pages/orderFeedback/orderFeedback'
// },
// {
// value: '',
// key: 4,
// icon: '../../static/tabs/xinxi_icon@2x2.png',
// url: '/pages/xxsb/index'
// }
// ]
// }
}
},
watch: {
rainChartData(newValue) {
this.chartData = { ...drpOption(newValue) }
this.chartData = {
...drpOption(newValue)
}
},
limit: {
handler(newValue) {
@ -531,6 +331,11 @@ export default {
}
},
methods: {
todetailmessgae() {
uni.navigateTo({
url: '/pages/messageList/index'
})
},
async getImgs() {
let h = moment().format('HH')
let m = moment().format('mm')
@ -628,11 +433,14 @@ export default {
success: res => {
let tm = moment(res.data.data.tm);
let subfix = '?rainFile=' + res.data.data.rainFile;
let url = `http://shqxjs.cloudowr.cn/yj_folder/rain/radar/${tm.format('YYYYMM')}/${tm.format('DD')}/${tm.format('YYYYMMDDHHmm')}+00.02.jpg${subfix}`;
let url =
`http://shqxjs.cloudowr.cn/yj_folder/rain/radar/${tm.format('YYYYMM')}/${tm.format('DD')}/${tm.format('YYYYMMDDHHmm')}+00.02.jpg${subfix}`;
console.log(222222222227, url)
console.log('pic---', tms, res.data.data)
this.imgHoursList = {'url':url}
this.imgHoursList = {
'url': url
}
let m = moment().format('MM月DD日')
console.log('am222', this.imgHoursList)
@ -659,7 +467,9 @@ export default {
// },
async getYjRead() {
try {
const { data } = await uni.$http.get(
const {
data
} = await uni.$http.get(
'/gunshiApp/xfflood/current/situation/flag'
)
if (data.code == 200) {
@ -671,7 +481,9 @@ export default {
},
async getReadStatus() {
try {
const { data } = await uni.$http.get(
const {
data
} = await uni.$http.get(
'/gunshiApp/xfflood/xfProjectRun/has/read'
)
if (data.code == 200) {
@ -683,7 +495,10 @@ export default {
},
async getDispatchStatus() {
try {
const res = await uni.$http.post('/gunshiApp/xfflood/xfEmerDispatchR/app/list',{status:1,dispatchTypeList:["0","1"]})
const res = await uni.$http.post('/gunshiApp/xfflood/xfEmerDispatchR/app/list', {
status: 1,
dispatchTypeList: ["0", "1"]
})
if (res.data.code == 200) {
this.dispatchStatus = res.data.data.length > 0 ? true : false
}
@ -700,7 +515,9 @@ export default {
menu2: menu2 || '首页',
}
const { data } = await uni.$http.post('/gunshiApp/xfflood/visitMenuLog/insert',params)
const {
data
} = await uni.$http.post('/gunshiApp/xfflood/visitMenuLog/insert', params)
console.log('用户行为', params, data)
} catch (error) {}
},
@ -716,9 +533,10 @@ export default {
},
async getSkList() {
try {
const { data } = await uni.$http.post(
'/gunshiApp/xfflood/reservoir/water/list',
{
const {
data
} = await uni.$http.post(
'/gunshiApp/xfflood/reservoir/water/list', {
sources: ['SW', 'SK'],
adcd: uni.getStorageSync('value').adcd
}
@ -732,9 +550,10 @@ export default {
},
async getHdList() {
try {
const { data } = await uni.$http.post(
'/gunshiApp/xfflood/river/water/list',
{
const {
data
} = await uni.$http.post(
'/gunshiApp/xfflood/river/water/list', {
sources: ['SH', 'SW'],
adcd: uni.getStorageSync('value').adcd
}
@ -751,9 +570,10 @@ export default {
},
async getRainList() {
try {
const { data } = await uni.$http.post(
'/gunshiApp/xfflood/real/rain/home/list',
{
const {
data
} = await uni.$http.post(
'/gunshiApp/xfflood/real/rain/home/list', {
start: this.formData.stm.format('YYYY-MM-DD HH:mm:ss'),
end: this.formData.etm.format('YYYY-MM-DD HH:00:00')
}
@ -773,12 +593,18 @@ export default {
moment()
.subtract(1, 'days')
.startOf('day')
.set({ hour: 8, minute: 0 }),
.set({
hour: 8,
minute: 0
}),
moment()
]
} else if (params === 2) {
tmValue = [
moment().startOf('day').set({ hour: 8, minute: 0 }),
moment().startOf('day').set({
hour: 8,
minute: 0
}),
moment()
]
} else if (params === 3) {
@ -786,8 +612,14 @@ export default {
moment()
.subtract(1, 'days')
.startOf('day')
.set({ hour: 8, minute: 0 }),
moment().startOf('day').set({ hour: 8, minute: 0 })
.set({
hour: 8,
minute: 0
}),
moment().startOf('day').set({
hour: 8,
minute: 0
})
]
} else if (params === 4) {
tmValue = [moment().subtract(1, 'hours'), moment()]
@ -898,10 +730,14 @@ export default {
},
async getResponseLevel() {
try {
const { data } = await uni.$http.post(
'/gunshiApp/xfflood/xfEmerRespR/page',
{
pageSo: { pageSize: 10, pageNumber: 1 },
const {
data
} = await uni.$http.post(
'/gunshiApp/xfflood/xfEmerRespR/page', {
pageSo: {
pageSize: 10,
pageNumber: 1
},
year: moment().format('YYYY')
}
)
@ -922,15 +758,20 @@ export default {
uni.navigateTo({
url: url //
})
console.log(url);
this.setInsert(menu2)
}
//
},
onLoad() {
this.getSwiperList()
// this.getSwiperList()
this.getOverview()
this.getDataTime()
this.getResponseLevel()
this.userList = uni.getStorageSync('value')
console.log(this.userList.userName, uni.getStorageSync('value'), '=============777777');
},
onShow() {
@ -938,6 +779,9 @@ export default {
this.getResponseLevel()
this.getDispatchStatus()
this.setInsert()
// this.userList=uni.getStorageSync('value')
//
// console.log(this.userList.userName,uni.getStorageSync('value'),'=============777777');
if (this.limit == 1) {
this.getYjRead()
// this.getInterval()
@ -958,6 +802,7 @@ export default {
line-height: 24px;
background-color: #f3f5f8;
}
.info {
height: 100rpx;
background-color: #007afd;
@ -967,11 +812,13 @@ export default {
padding: 20px;
color: #fff;
}
.left {
display: flex;
justify-content: space-around;
align-items: center;
}
.icon {
width: 50px;
height: 50px;
@ -981,18 +828,22 @@ export default {
color: #007afd;
line-height: 50px;
}
.info_name {
margin-left: 16rpx;
}
.right {
text-align: center;
}
.navBar {
height: 100%;
background-color: #fff;
margin-bottom: 12rpx;
/* background-color: pink; */
}
.navBar {
padding: 20px;
/* text-align: center; */
@ -1000,9 +851,11 @@ export default {
justify-content: space-between;
align-items: center;
}
.navList {
text-align: center;
}
.navIcon {
position: relative;
width: 50px;
@ -1013,6 +866,7 @@ export default {
justify-content: center;
align-items: center;
}
.readStatus {
position: absolute;
top: 0;
@ -1022,9 +876,9 @@ export default {
border-radius: 50%;
background: #de2433;
}
.warn {
background-color: #fff;
color: #de2433;
padding: 18rpx 20rpx;
text-align: left;
margin-bottom: 12rpx;
@ -1035,6 +889,7 @@ export default {
text-align: center;
margin: 16rpx 0;
}
.chart_tit {
width: 129rpx;
height: 43rpx;
@ -1064,11 +919,13 @@ export default {
background-color: #fff;
margin-bottom: 12rpx;
}
.heart {
display: flex;
justify-content: space-between;
align-items: center;
}
.fl {
display: flex;
justify-content: space-between;
@ -1080,11 +937,13 @@ export default {
border-radius: 3rpx;
margin-right: 20rpx;
}
.title .h4 {
font-weight: 400;
font-size: 32rpx;
color: #121b3d;
}
.time {
font-weight: 400;
font-size: 24rpx;
@ -1094,10 +953,12 @@ export default {
.g1 {
color: #545556;
}
.ye {
color: #ff1717;
/* font-weight: 600; */
}
.b1 {
color: #3380ff;
padding: 0 2px;
@ -1118,17 +979,20 @@ export default {
width: 80px;
/* border-bottom: 1px solid #ccc; */
}
.rightTab {
width: 80px;
/* border: 1px solid #ccc;
border-radius: 0 3px 3px 0;
border-left: 0; */
}
.activetextTypeTab,
.activetextTypeTab:hover {
border-bottom: 3rpx solid #2286f6;
color: #026be0;
}
.table_div {
widows: 100%;
height: 100%;
@ -1138,6 +1002,7 @@ export default {
padding-top: 30px;
overflow-x: scroll;
}
/*table样式*/
.table_cur {
width: 100%;
@ -1145,10 +1010,12 @@ export default {
border-collapse: collapse;
font-size: 14px;
}
.table_cur tr {
display: flex;
line-height: 56rpx;
}
.table_cur th {
height: 56rpx;
color: #2f4056;
@ -1171,6 +1038,7 @@ export default {
white-space: nowrap;
text-align: center !important;
}
/*table样式 end*/
.noData {
width: 100px;

View File

@ -93,8 +93,8 @@ export default {
//
let postForm = {
loginName: formData.username,
secretKey: encryptData(formData.password)
username: formData.username,
password: formData.password
}
//
@ -113,18 +113,26 @@ export default {
}
//
uni.$http.post('/gunshiApp/xfflood/doLogin', postForm).then(res => {
console.log(postForm,'---===');
uni.$http.post('/gunshiApp/xyt/login', postForm).then(res => {
uni.showLoading({ title: '努力登录中...', mask: true })
console.log(res,'---===');
if (res.data.code === 200) {
//localStoragetoken
if (res.data.data) {
uni.setStorageSync('Gs-Token', res.data.data)
uni.$http.get('/gunshiApp/xfflood/getLoginInfo').then(res => {
console.log('sss', res.data.data)
uni.setStorageSync('value', res.data.data)
console.log('-----value------', res.data.data)
if (res.data.token) {
uni.setStorageSync('Gs-Token', res.data.token)
uni.$http.get('/gunshiApp/xyt/getInfo').then(res => {
// console.log('sss', res.data.data)
uni.setStorageSync('value', res.data.user)
setTimeout(function () {
uni.hideLoading()
uni.reLaunch({
url: '/pages/homeIndex/index'
})
}, 1000)
clearTimeout()
// console.log('-----value------', res.data.data)
})
//userId
@ -155,13 +163,7 @@ export default {
// uni.showLoading({title:'...', mask:true});
//
setTimeout(function () {
uni.hideLoading()
uni.reLaunch({
url: '/pages/homeIndex/index'
})
}, 1000)
clearTimeout()
})
}
} else if (res.data.code === 400) {

View File

@ -0,0 +1,148 @@
<template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0',}">
<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 class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="contentItem">
<view class="itemC">
<text>标题</text>
<text>{{item.name}}</text>
</view>
<view class="itemC">
<text>发布时间</text>
<text>{{item.time}}</text>
</view>
<view class="itemC">
<text>发布人</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemC">
<text>优先级</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemNo" style="flex-direction: column;">
<text>消息内容</text>
<u--textarea v-model="item.xjx" placeholder="请输入内容" disabled ></u--textarea>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
}
}
}
</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;
}
}
</style>

172
pages/messageList/index.vue Normal file
View File

@ -0,0 +1,172 @@
<template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0'}">
<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="model.stm" shape='circle' :customStyle="customStyle" placeholder="请选择开始时间"
style="background-color: #f0f0f0;height: 30px;text-align: center;" border='none' @click="show = true;hideKeyboard()"></u--input>
-
<u--input v-model=" model.etm" shape='circle' placeholder="请选择结束时间"
style="background-color: #f0f0f0;height: 30px;text-align: center;" border='none' @click="show = true;hideKeyboard()"></u--input>
<text>搜索</text>
</view>
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<view class="align-center">
<view class="blueTiao">
</view>
<view class="title">
{{item.title}}
</view>
</view>
<view class="titleRight" @click="toDetail(item)">
2024-05-30 09:31:23
</view>
</view>
<view class="contentItem">
<view class="itemC">
管理局2024年第2季度考核已经开始请您进行上传自评结果请您进行上传自评结果请您进行上传自评结果请您进行上传自评结果
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
mounted() {
},
methods: {
// getList(){
// uni.$http.post('/gunshiApp/xyt/stQxWarnR/home/warn',this.model).then(res=>{
// })
// },
confirm(e) {
console.log(e);
this.model.start = e[0]
this.model.end = e[1]
this.show = false
},
cancel() {
this.show = false
},
toDetail(){
uni.navigateTo({
url:'/pages/messageList/detail/index'
})
}
}
}
</script>
<style lang="scss" scoped>
.uni-input-placeholder{
text-align: center;
}
.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;
align-items: center;
.blueTiao{
background-color: #2a7efa;
width: 8px;
height: 8px;
border-radius: 50%;
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;
}
}
</style>

View File

@ -0,0 +1,109 @@
<template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor:'#f0f0f0'}">
<u-navbar title="小玉潭水库" :autoBack="true" :titleStyle="{
fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar>
<u-tabs :list="list1" @click="click" style="background-color: #fff;margin-top: 45px;"></u-tabs>
<view class="" style="padding: 5px;">
<view class="swiper-content">
<text class="num">{{nowNum}}/{{15}}</text>
<u-swiper :list="list2" @change="change" @click="click"></u-swiper>
<text class="time">2024-08-12 11:00</text>
</view>
</view>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
nowNum:1,
customStyle: {
background: '#000'
},
list2: [
'https://cdn.uviewui.com/uview/swiper/swiper1.png',
'https://cdn.uviewui.com/uview/swiper/swiper2.png',
'https://cdn.uviewui.com/uview/swiper/swiper3.png',
],
list1: [{
name: '监测信息',
}, {
name: '基础信息',
}, {
name: '特征参数'
}, {
name: '库容曲线'
}, {
name: '责任人'
}]
};
},
mounted() {
},
methods: {
click(item) {
console.log('item', item);
},
change(e){
console.log(e);
this.nowNum = e.current+1
},
// getList(){
// uni.$http.post('/gunshiApp/xyt/stQxWarnR/home/warn',this.model).then(res=>{
// })
// },
confirm(e) {
console.log(e);
this.model.start = e[0]
this.model.end = e[1]
this.show = false
},
cancel() {
this.show = false
},
toDetail() {
uni.navigateTo({
url: '/pages/wtcl/detail/index'
})
}
}
}
</script>
<style lang="scss" scoped>
.swiper-content{
position: relative;
.num{
position: absolute;
top: 4px;
left: 4px;
z-index: 1;
background-color: #000;
color: #fff;
padding: 0 4px;
border-radius: 6px;
opacity: .4;
font-size: 12px;
}
.time{
position: absolute;
background-color: #000;
opacity: .4;
color: #fff;
bottom: 0;
width:100%;
padding: 4px;
}
}
</style>

122
pages/skInfo/index.vue Normal file
View File

@ -0,0 +1,122 @@
<template>
<view class="skinfo" @click="toDetail()">
<view class="title">
<view class="left">
<u-icon name="file-text" color="origin"></u-icon>
<text>小玉潭水库</text>
</view>
<view class="right">
2024-08-12 11:00
</view>
</view>
<view class="content">
<view class="" style="display: flex;">
<image src="../../static/c1.png" mode="" style="width:30%;height: 120px;"></image>
<view class="listItem">
<view class="item-text" v-for="(v,k) of list">
<text>{{v}}</text>:
<text>{{dataform[k]}}</text>
</view>
</view>
</view>
<view class="bottom">
<view class="bottomItem">
<view class="withd-2">
<text>生活供水m³/s</text>:
<text>0</text>
</view>
<view class="withd-2">
<text>生态供水m³/s</text>:
<text>2.1</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
list:{
1:'当前水位m',
2:'今日雨量mm',
3:'汛限水位m',
4:'比汛期m',
5:'堰顶高程m',
6:'坝顶高程m',
7:'24h预报',
8:'昨日雨量',
9:'总库容m³',
10:'蓄水量万m³'
},
dataform:{
1:192.41,
2:112,
3:194.00,
4:-1.59,
5:194.00,
6:196.28,
7:12,
8:15.4,
9:129.06,
10:75.34
}
}
},
methods:{
toDetail(){
uni.navigateTo({
url:'/pages/skInfo/detail/index'
})
}
}
}
</script>
<style lang="scss" scoped>
.skinfo {
.title {
display: flex;
justify-content: space-between;
align-items: center;
.left{
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif;
font-weight: 700;
font-style: normal;
font-size: 16px;
display: flex;
}
.right{
}
}
.content{
.listItem{
font-size: 13px;
color: #333333;
display: flex;
flex-wrap: wrap;
width: 70%;
height: 22px;
.item-text{
width: 50%;
}
}
}
.bottomItem{
display: flex;
border-top: 1px solid #f0f0f0;
padding: 10px 0 0 0;
font-size: 14px;
}
}
.withd-2{
width: 50%;
text-align: center;
}
</style>

178
pages/wtcl/detail/index.vue Normal file
View File

@ -0,0 +1,178 @@
<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 class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<view class="blueTiao">
</view>
<view class="title">
{{item.title}}
</view>
</view>
<view class="contentItem">
<view class="itemC">
<text>巡查人</text>
<text>{{item.name}}</text>
</view>
<view class="itemC">
<text>巡查时间</text>
<text>{{item.time}}</text>
</view>
<view class="itemC">
<text>任务标题</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemC">
<text>巡检点</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemC">
<text>巡检项</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemNo" style="flex-direction: column;">
<text>巡检问题描述</text>
<u--textarea v-model="item.xjx" placeholder="请输入内容" disabled ></u--textarea>
</view>
<view class="itemNo" style="flex-direction: column;">
<text>巡检图片</text>
<view class="">
</view>
</view>
<view class="itemNo" style="flex-direction: column;">
<text>巡检视频</text>
<view class="">
</view>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
}
}
}
</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;
}
}
</style>

167
pages/wtcl/index.vue Normal file
View File

@ -0,0 +1,167 @@
<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="model.stm" shape='circle' :customStyle="customStyle" placeholder="请选择开始时间"
style="background-color: #f0f0f0;height: 30px;text-align: center;" border='none' @click="show = true;"></u--input>
-
<u--input v-model=" model.etm" shape='circle' placeholder="请选择结束时间"
style="background-color: #f0f0f0;height:30px;" border='none' @click="show = true;"></u--input>
<text>搜索</text>
</view>
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<!-- {{item.title}} -->
<view class="title">
{{item.title}}
</view>
<view class="titleRight" @click="toDetail(item)">
<view class="border">
待处理
</view>
<u-icon name="arrow-right" size="20"></u-icon>
</view>
</view>
<view class="contentItem">
<view class="itemC">
<text>巡检项</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemC">
<text>巡查人</text>
<text>{{item.name}}</text>
</view>
<view class="itemC">
<text>巡查时间</text>
<text>{{item.time}}</text>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
mounted() {
},
methods: {
// getList(){
// uni.$http.post('/gunshiApp/xyt/stQxWarnR/home/warn',this.model).then(res=>{
// })
// },
confirm(e) {
console.log(e);
this.model.start = e[0]
this.model.end = e[1]
this.show = false
},
cancel() {
this.show = false
},
toDetail(){
uni.navigateTo({
url:'/pages/wtcl/detail/index'
})
}
}
}
</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 {
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: 58px;
height: 25px;
color: #689FFF;
text-align: center;
}
}
}
.contentItem{
.itemC{
display: flex;
justify-content: space-between;
display: flex;
color: #666666;
padding: 10px;
}
}
</style>

View File

@ -0,0 +1,163 @@
<template>
<view>
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form labelPosition="left" :model="model1" :rules="rules" ref="uForm" >
<u-form-item label="管护类型" prop="maintainType" borderBottom @click="showSex = true;" ref="item1"
required
labelPosition='top'
labelWidth="100px">
<u--input v-model="model1.maintainType" disabled disabledColor="#ffffff" placeholder="请选择管护类型"
border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="内容说明" prop="maintainContent" borderBottom labelPosition='top' required labelWidth="100px">
<u--textarea v-model="model1.maintainContent" placeholder="请输入内容"></u--textarea>
</u-form-item>
<u-form-item label="现场图片" prop="fileListpics" borderBottom labelPosition='top' labelWidth="100px">
<u-upload :fileList="fileListpics" @afterRead="afterRead" @delete="deletePic" name="pics" multiple
multiple accept='image' :maxCount="10"></u-upload>
</u-form-item>
<u-form-item label="现场视频" prop="fileListvideos" borderBottom labelPosition='top' labelWidth="100px">
<u-upload :fileList="fileListvideos" @afterRead="afterRead" @delete="deletePic" name="videos" multiple
multiple accept='video' :maxCount="10"></u-upload>
</u-form-item>
</u--form>
<u-action-sheet :show="showSex" :actions="actions" title="请选择管护类型" @close="showSex = false" @select="sexSelect">
</u-action-sheet>
<u-button type="primary" text="提交" customStyle="margin-top: 50px" @click="submit"></u-button>
</view>
</template>
<script>
export default {
data() {
return {
showSex: false,
fileListpics: [],
fileListvideos: [],
model1: {
maintainContent: "",
maintainType: '',
pics: [],
videos: []
},
actions: [{
value: 0,
name: "溢洪道清障"
},
{
value: 1,
name: "除草除杂"
},
{
value: 2,
name: "设备养护"
},
{
value: 2,
name: "环境清洁"
},
{
value: 2,
name: "危险提示"
},
{
value: 2,
name: "其他"
},
],
rules: {
'maintainContent': {
type: 'string',
required: true,
message: '请填写内容',
trigger: ['blur', 'change']
},
'maintainType': {
required: true,
message: '请选择管护类型',
trigger: ['blur', 'change']
},
},
radio: '',
switchVal: false
};
},
methods: {
sexSelect(e) {
this.model1.maintainType = e.name
this.$refs.uForm.validateField('maintainType')
},
submit() {
this.$refs.uForm.validate().then(res => {
let params = {
...this.model1,
maintainType: this.actions.find(item => item.name == this.model1.maintainType).value,
}
this.$emit('submitForm', params)
}).catch(errors => {
uni.$u.toast('校验失败')
})
},
//
deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1)
},
//
async afterRead(event) {
// multiple true , file
let lists = [].concat(event.file)
console.log(`fileList${event.name}`,event);
let fileListLen = this[`fileList${event.name}`].length
lists.map((item) => {
this[`fileList${event.name}`].push({
...item,
status: 'uploading',
message: '上传中'
})
})
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url,event.name)
let item = this[`fileList${event.name}`][fileListLen]
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
status: 'success',
message: '',
url: result
}))
fileListLen++
}
},
uploadFilePromise(url,name) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: 'http://local.gunshiiot.com:18083/gunshiApp/xyt/maintain/service/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {
user: 'test'
},
success: (res) => {
setTimeout(() => {
// const obj = this.model1[name].find(item=>item.fileId==res.data.data.fileId)
// if(obj){
// }
console.log(JSON.parse(res.data),this.model1,name);
this.model1[name].push({fileId:JSON.parse(res.data).data.fileId})
resolve(res.data.data)
}, 1000)
}
});
})
},
},
onReady() {
//setRules
this.$refs.uForm.setRules(this.rules)
},
};
</script>

View File

@ -0,0 +1,35 @@
<template>
<view>
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form labelPosition="left" :model="formData" label-width='80px'>
<u-form-item label="上报人" prop="reportUserName" borderBottom ref="item1">
<u--input v-model="formData.reportUserName" border="none" disabled></u--input>
</u-form-item>
<u-form-item label="上报时间" prop="reportTime" borderBottom ref="item1">
<u--input v-model="formData.reportTime" border="none" disabled></u--input>
</u-form-item>
</u--form>
</view>
</template>
<script>
import moment from 'moment';
export default {
data() {
return {
formData: {
reportUserName:uni.getStorageSync('value').userName,
reportTime:moment().format('YYYY-MM-DD HH:mm:ss'),
userId:uni.getStorageSync('value').userId
},
};
},
onShow() {
debugger;
const userList=uni.getStorageSync('value')
console.log(userList,'3456789045678945678');
this.formData.reportUserName = uni.getStorageSync('value').userName
this.formData.userId = uni.getStorageSync('value').userId
},
};
</script>

76
pages/wxyh/index.vue Normal file
View File

@ -0,0 +1,76 @@
<template>
<view>
<u-navbar
title="维修养护"
:autoBack="true"
:titleStyle="{
fontSize:'18px'
}"
:height='44'
:safeAreaInsetTop=true
leftIconSize='20'
leftIconColor='rgb(153, 153, 153)'
>
</u-navbar>
<view
style="background-color: #f0f0f0;padding: 10px;overflow: auto;margin-top: 44px;">
<view class="content">
<formTop labelWidth="150rpx" />
</view>
<view class="content" style="margin-top: 10px;">
<formBottom labelWidth="150rpx" @submitForm='submitForm'/>
</view>
</view>
<!-- <button @click="submitForm">Submit</button> -->
</view>
</template>
<script>
import formTop from './formZdy/formTop.vue'
import formBottom from './formZdy/formBottom.vue'
import moment from 'moment'
export default {
components: { formTop,formBottom },
data() {
return {
formData: {
reportUserName:'',
reportTime:moment().format('YYYY-MM-DD HH:mm:ss'),
userId:''
},
}
},
onLoad() {
const userList=uni.getStorageSync('value')
this.formData.reportUserName = uni.getStorageSync('value').userName
this.formData.userId = uni.getStorageSync('value').userId
},
methods: {
submitForm(params) {
//
console.log({...params,...this.formData});
uni.$http.post('/gunshiApp/xyt/maintain/service/insert',{...params,...this.formData}).then(res=>{
if(res.data.code == 200){
uni.$u.toast('新增成功')
uni.navigateBack()
}
})
},
goBack() {
console.log(12121);
uni.navigateBack()
},
}
}
</script>
<style>
.content {
/* margin: 10px; */
padding: 10px;
/* width: 95%; */
background-color: #fff;
}
</style>

120
pages/yj/detail/aiyj.vue Normal file
View File

@ -0,0 +1,120 @@
<template>
<view :style="{height:'100vh',overflow:'auto'}">
<u-status-bar></u-status-bar>
<u-navbar title="ai告警" :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 class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<!-- {{item.title}} -->
<image src="../../../static/c1.png" style="width:100%;"></image>
<view class="context">
<view class="type">
工程车辆识别
</view>
<view class="time">
{{item.time}}
</view>
</view>
<view class="adress">
大坝右岸
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
onLoad(options){
// this.list = JSON.parse(decodeURIComponent(options.arr))
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
},
toDetail(){
uni.navigateTo({
url:'/pages/wtcl/detail/index'
})
}
}
}
</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 {
border-bottom: 1px solid #f0f0f0;
padding-bottom: 10px;
.context{
display: flex;
align-items: center;
color: #333;
}
.type{
border: 1px solid orange;
color: orange;
margin-right: 10px;
padding: 2px;
}
.adress{
padding: 10px 0;
}
}
</style>

125
pages/yj/detail/qxyj.vue Normal file
View File

@ -0,0 +1,125 @@
<template>
<view :style="{height:'100vh',overflow:'auto',backgroundColor: '#f0f0f0'}">
<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;border-top: 1px solid #f0f0f0">
<view class="itemYj">
<view class="itemYjCont" v-for="item in list" >
<view class="item" >
<view class="justify-between">
<image src="../../../static/c1.png" style="width: 79px;height: 68px;"></image>
<view class="">
<view class="title">
麻城市气象台发布暴雨橙色预警
</view>
<view class=title>
[Ⅱ级/严重]
</view>
<view class="time">
2024-06-23 15:18:42
</view>
</view>
</view>
<view class="content">
麻城市2024年06月23日03时18分42秒发布暴雨橙色预警信号过去3小时麻城市乘马岗镇汪家垅降雨量已达45毫米预计未来3小时麻城市中南部降雨量将达70毫米以上伴有雷电阵风6-8致灾风险高请加强防范
</view>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23',
type:'水位告警',
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23',
type:'水位告警',
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23',
type:'水位告警',
},
]
};
},
onLoad(options){
// this.list = JSON.parse(decodeURIComponent(options.arr))
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
}
}
}
</script>
<style lang="scss" scoped>
.itemYj{
.itemYjCont{
margin: 10px;
background: #fff;
padding: 10px;
.title{
font-family: 'Arial Normal', 'Arial', sans-serif;
font-weight: 400;
color: #333333;
vertical-align: none;
font-size: 16px;
text-align: center;
}
.time{
font-size: 14px;
color: #7F7F7F;
text-align: right;
}
.content{
font-size: 14px;
letter-spacing: 1px;
color: #333333;
}
}
}
</style>

136
pages/yj/detail/wyyj.vue Normal file
View File

@ -0,0 +1,136 @@
<template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0'}">
<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;border-top: 1px solid #f0f0f0;">
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<!-- {{item.title}} -->
<image src="../../../static/c1.png" style="width: 79px;height: 68px;"></image>
</view>
<view class="contentItem">
<view class="itemC">
<text>巡检项:</text>
<text>{{item.xjx}}</text>
</view>
<view class="itemC">
<text>巡查人:</text>
<text>{{item.name}}</text>
</view>
<view class="itemC">
<text>巡查时间:</text>
<text>{{item.time}}</text>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
onLoad(options){
// this.list = JSON.parse(decodeURIComponent(options.arr))
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
},
toDetail(){
uni.navigateTo({
url:'/pages/wtcl/detail/index'
})
}
}
}
</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 {
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;
}
}
.contentItem{
display: flex;
flex-wrap: wrap;
.itemC{
display: flex;
justify-content: space-between;
display: flex;
color: #666666;
padding: 10px;
}
}
</style>

143
pages/yj/index.vue Normal file
View File

@ -0,0 +1,143 @@
<template>
<view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar>
<u-navbar title="预警11" :autoBack="true" :titleStyle="{
fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar>
<view class="" style="margin-top:44px;border-top: 1px solid #f0f0f0;">
<view class="align-center" style="height: 44px;background-color: #f0f0f0;font-size: 12px;padding: 0 10px;">
预警时间{{model.start}} {{model.end}}
</view>
<view class="itemYj">
<view class="itemYjCont" v-for="(value,key) of list" >
<view class="item" @click="todetail(key,value)">
<view :style="`color:${!getValue(value)?'#D9001B':'#04D919'} ;`" class="num">
{{getValue(value)}}
</view>
<view class="title">
{{mapType[key]}}
</view>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
model: {
start: moment().subtract(1,'day').format('YYYY-MM-DD HH:mm:ss'),
end: moment().format('YYYY-MM-DD HH:mm:ss')
},
customStyle: {
background: '#000'
},
mapType:{
aiWarnCount:'AI告警',
rzWarn:"水位告警",
qxWarn:'气象告警',
pressWarn:'渗流告警',
flowWarn:'渗压告警',
shiftWarn:'位移告警'
},
list: {rzWarn:"正常(-4.031)",flowWarn:[],pressWarn:[],qxWarn:[],shiftWarn:[],aiWarnCount: 0,}
};
},
onLoad() {
this.getList()
},
methods: {
getValue(value){
if(Array.isArray(value)){
return value.length
}else{
return value
}
},
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
},
todetail(key,e){
let arr = encodeURIComponent(JSON.stringify(e))
console.log(key);
if(key=='qxWarn'){
uni.navigateTo({
url:'/pages/yj/detail/qxyj?list='+arr
})
}
if(key == 'shiftWarn'){
uni.navigateTo({
url:'/pages/yj/detail/wyyj?list='+arr
})
}
if(key == 'aiWarnCount'){
uni.navigateTo({
url:'/pages/yj/detail/aiyj?list='+arr
})
}
},
getList(){
debugger;
uni.$http.post('/gunshiApp/xyt/stQxWarnR/home/warn',this.model).then(res=>{
this.list = res.data.data
})
},
}
}
</script>
<style lang="scss" scoped>
.itemYj{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 10px;
.itemYjCont{
border-width: 0px;
width: 112px;
height: 85px;
background: inherit;
background-color: rgba(234, 244, 254, 1);
border: none;
border-radius: 5px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin-bottom: 10px;
.item{
text-align: center;
}
.normal{
color: #04D919;
}
.bj{
color:#D9001B;
}
// width: 30%;
// margin: 5px;
}
}
</style>

82
pages/ylzList/index.vue Normal file
View File

@ -0,0 +1,82 @@
<template>
<view class="skinfo">
<view class="title">
<view class="left">
<text>上游雨量站</text>
</view>
<view class="right">
2024-08-12 11:00
</view>
</view>
<view class="content">
<view class="listItem" v-for="(v,k) of list" :style="{border:'1px solid red'}">
<view class="top" style="background-color: red;border-bottom: 1px solid red;">
{{k}}
</view>
<view class="bottom">
{{v}}
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
list:{
h1:0,
h3:0,
h6:0,
h12:22,
h24:35,
},
}
}
}
</script>
<style lang="scss" scoped>
.skinfo {
.title {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
}
.content{
display: flex;
justify-content: space-between;
.listItem{
font-size: 13px;
border-radius: 5px;
color: #333333;
text-align: center;
width: 75px;
height: 50px;
margin: 5px;
.top{
height: 40%;
color: #fff;
}
.bottom{
height: 60%;
}
}
}
.bottomItem{
display: flex;
border-top: 1px solid #f0f0f0;
padding: 10px 0 0 0;
font-size: 14px;
}
}
.withd-2{
width: 50%;
text-align: center;
}
</style>

View File

@ -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","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":"xffxkh-app","compilerVersion":"4.15","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":""}},{"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":"/subpkg/rainDetail/rainDetail","meta":{},"window":{}}];
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":{}}];
__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

View File

@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__CB311EF","name":"xffxkh-app","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"VideoPlayer":{},"Contacts":{},"Messaging":{},"Camera":{},"Maps":{"coordType":"gcj02"},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","distribute":{"splashscreen":{"androidStyle":"common"},"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>"]},"apple":{"dSYMs":false},"plugins":{"ad":{},"maps":{"amap":{"name":"4799ff37874e604a22b910b44ca948e5","appkey_ios":"755dafdf984df7a1609fb30f6861bd17","appkey_android":"755dafdf984df7a1609fb30f6861bd17"}},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"4.15","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"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":"我的"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px"},"launch_path":"__uniappview.html"}}
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__CB311EF","name":"咸丰水利","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"VideoPlayer":{},"Contacts":{},"Messaging":{},"Camera":{},"Maps":{"coordType":"gcj02"},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","distribute":{"splashscreen":{"androidStyle":"common"},"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>"]},"apple":{"dSYMs":false},"plugins":{"ad":{},"maps":{"amap":{"name":"4799ff37874e604a22b910b44ca948e5","appkey_ios":"755dafdf984df7a1609fb30f6861bd17","appkey_android":"755dafdf984df7a1609fb30f6861bd17"}},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"4.24","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"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":"我的"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px"},"launch_path":"__uniappview.html"}}