xielei 2024-11-18 14:37:25 +08:00
commit cdbbf8b26a
35 changed files with 21739 additions and 82008 deletions

View File

@ -3,7 +3,7 @@
"appid" : "__UNI__7573222",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"versionCode" : 1,
"transformPx" : false,
"app-plus" : {
/* 5+App */
@ -27,6 +27,7 @@
"distribute" : {
/* */
"android" : {
"packagename" : "com.gunshi.xytSk-App",
/* android */
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{
"name": "xffxkh-app",
"name": "xytSk-App",
"version": "1.0.1",
"lockfileVersion": 2,
"requires": true,

View File

@ -2,20 +2,32 @@
"easycom": {
"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
{
"pages": [{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/upgrade/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"app-plus": {
"bounce": "none",
"animationType": "none",
"background": "transparent"
}
}
},
{
"path": "pages/xcrw/index",
"style": {
"navigationBarTitleText": ""
}
},
{
{
"path": "pages/xcrw/detail/index",
"style": {
"navigationBarTitleText": ""
@ -27,7 +39,7 @@
"navigationBarTitleText": ""
}
},
{
{
"path": "pages/spjk/index",
"style": {
"navigationBarTitleText": ""
@ -45,14 +57,6 @@
"navigationBarTitleText": ""
}
},
{
"path": "pages/rain/rain",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/homeIndex/index",
"style": {
@ -62,107 +66,54 @@
"pullToRefresh": {
"support": true,
"style": "default",
"offset": "70px"
"offset": "100px"
}
}
}
},
{
"path": "pages/xxsb/index",
"style": {
"navigationBarTitleText": "信息上报"
}
},
{
"path": "pages/xxsb/from",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/xxsb/fromSeverity",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/xxsb/dsfrom",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/xxsb/map",
"style": {
"navigationBarTitleText": "地图示例"
}
},
{
"path": "pages/gqzq/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx",
"style": {
"navigationBarTitleText": "工情信息"
}
},
{
"path": "pages/gqzq/zqxx",
"style": {
"navigationBarTitleText": "灾情信息"
}
},
{
"path": "pages/gqzq/detail/index",
"style": {
"navigationBarTitleText": "查看"
}
},
{
"path": "pages/mypage/mypage",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wtcl/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wxyh/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wxyh/formZdy/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/xcrw/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wtcl/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/xcrw/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wtcl/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wxyh/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wxyh/formZdy/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/xcrw/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/wtcl/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/mypage/compents/xcrw/detail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/personInfo/personInfo",
"style": {
@ -175,204 +126,80 @@
"navigationBarTitleText": ""
}
},
{
"path": "pages/forewarning/forewarning",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/forewarning/sh",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/forewarning/shInformation/shInformation",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/addressBook/addressBook",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/water/water",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
},
"onMessage": "handleMessage"
},
{
"path": "pages/rainDetail/rainDetail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/hdDetail/hdDetail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/skDetail/skDetail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/addressBook/follow",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/addressBook/myDept",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/orderFeedback/orderFeedback",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/orderFeedback/orderInformation",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx/gqxx",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx/qk",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx/xq",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx/qkForm",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/gqxx/xqForm",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/zqxx/zqxx",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/zqxx/table",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/gqzq/zqxx/form",
"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": ""
}
},
{
"path": "pages/skInfo/waterDatail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/ylzList/detail/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": ""
}
},
{
"path": "pages/skInfo/waterDatail/index",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/ylzList/detail/index",
"style": {
"navigationBarTitleText": ""
}
}
],
"usingComponents": {
"map": "/uni_modules/@dcloudio/uni-map/components/uni-map/uni-map"
@ -381,8 +208,7 @@
"tabBar": {
"color": "#333333",
"selectedColor": "#59A7FF",
"list": [
{
"list": [{
"pagePath": "pages/homeIndex/index",
"iconPath": "/static/tabs/home.png",
"selectedIconPath": "static/tabs/home2.png",
@ -407,16 +233,12 @@
"background": "#efeff4"
}
},
"subPackages": [
{
"root": "subpkg",
"pages": [
{
"path": "rainDetail/rainDetail"
}
]
}
],
"subPackages": [{
"root": "subpkg",
"pages": [{
"path": "rainDetail/rainDetail"
}]
}],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
@ -428,4 +250,4 @@
"background": "#efeff4"
}
}
}
}

View File

@ -16,11 +16,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
@ -34,7 +34,7 @@
<u-button @click="sx" class="aqjc-custom-style">-</u-button>
</view>
<view class="play-btn">
<uni-icons type="videocam" size="40" @click="play"></uni-icons>
<uni-icons type="videocam" size="40" :color="swiper ? '#2979ff':'#909399' " @click="play"></uni-icons>
</view>
</view>
<view class="jcsj-charts">

View File

@ -11,8 +11,8 @@
<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 style="width:200px;text-align:center">{{ item.tm }}</td>
<td style="width:100px;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>

View File

@ -3,11 +3,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -277,7 +277,7 @@
font-size: 14px;
line-height: 24px;
background-color: #f3f5f8;
height: 100%;
// height: 100%;
overflow: auto;
}
@ -334,7 +334,7 @@
.navIcon {
position: relative;
width: 84px;
width: 80px;
height: 50px;
}

View File

@ -46,6 +46,40 @@
}
},
methods: {
//
init(){
this.checkVersion();
},
//
async checkVersion(){
try {
const {data} = await uni.$http.get("/gunshiApp/xyt/appVersionRecord/latest");
if(data.code == 200){
const selfVersionCode = uni.getSystemInfoSync().appWgtVersion//App
const newVersionCode = data.data.version; //线
if (selfVersionCode != newVersionCode) {
let platform = uni.getSystemInfoSync().platform //
//
if (platform === 'android') {
uni.navigateTo({
url: `/pages/upgrade/index?info=${encodeURIComponent(JSON.stringify(data.data))}`
})
}
//IOS线
else {
uni.showModal({
title: '发现新版本 ' +'V' + newVersionCode,
content: '请到App store进行升级',
showCancel: false
})
}
}
}
} catch (error) {
uni.$showMsg()
}
},
handleChange(formData) {
formData.checked = !formData.checked
},
@ -136,6 +170,9 @@
}
},
},
onLoad(){
this.init();
}
}
</script>

View File

@ -12,11 +12,11 @@
<view class="time-ranger" style="padding:10px;background-color: #fff;">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{startTime}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{startTime}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{endTime}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{endTime}}</text>
<view class="search-btn" @click="searchTm">
搜索
</view>

View File

@ -11,11 +11,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{startTime}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{startTime}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{endTime}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{endTime}}</text>
<view class="search-btn" @click="searchTm">
搜索
</view>

View File

@ -9,11 +9,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{startTime}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{startTime}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{endTime}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{endTime}}</text>
<view class="search-btn" @click="searchTm">
搜索
</view>

View File

@ -9,11 +9,11 @@
<view class="time-ranger" >
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -80,7 +80,7 @@
userList: uni.getStorageSync('value'),
username: '',
userresponse: '防汛办',
version: '011.14.23',
version: uni.getSystemInfoSync().appWgtVersion,
func: func,
xjxList:xjxList,
default_src: uni.getStorageSync('avatar'),
@ -247,7 +247,7 @@
justify-content: center;
flex-direction: column-reverse;
width: 92%;
height: 6vh;
height: 8vh;
font-size: 20px;
color: white;
background-color: #007afd;

View File

@ -3,11 +3,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -3,11 +3,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -21,7 +21,7 @@
<view >
<tr>
<td style="width: 50px">{{info.personName}}</td>
<td style="width: 130px;">{{info.orgName}}</td>
<td style="width: 130px;white-space: pre-wrap;">{{info.orgName}}</td>
<td style="width: 80px">{{info.position}}</td>
<td style="width: 100px;color: #62bafa;" @click="show = true">{{info.tel}}</td>
</tr>
@ -102,7 +102,7 @@
.zrtx-box{
border: 1px solid #c1f2ce;
border-radius: 2px;
padding:10px 10px 5px 10px;
padding:10px 5px 12px 5px;
background-color: #ebfbef;
margin-bottom: 10px;
.table_div {
@ -128,7 +128,7 @@
}
.table_cur tr {
display: flex;
line-height: 65rpx;
// line-height: 65rpx;
}
.table_cur th {
height: 65rpx;

View File

@ -7,11 +7,11 @@
</view>
</view>
<view class="project-des" >
<view v-for="(item,index) in tableData" :key="index" :style="index % 2 == 0 ? 'width:150px;':'width:197px;'">
<view v-for="(item,index) in tableData" :key="index" :style="index % 2 == 0 ? 'width:50%;':'width:50%;'">
<view style="display:flex;align-items:center;margin:15px 0px;">
<view class="circle-dot"></view>
<view class="label-name">
<text style="opacity:0.5">{{item.name}}</text>
<text style="opacity:0.5;text-align: center;">{{item.name}}</text>
<text>{{item.value||"-"}}</text>
</view>
</view>
@ -118,27 +118,31 @@ export default {
padding: 5px;
margin: 5px 0;
}
.project-des{
display: flex;
flex-wrap: wrap;
border: 1px solid #f2f2f2;
background-color: #ffffff;
padding: 0 10px;
.circle-dot{
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #409eff;
margin-left: 10px;
}
.label-name{
display: flex;
flex-direction: column;
align-items: center;
flex:1
}
.project-des {
display: flex;
flex-wrap: wrap;
border: 1px solid #f2f2f2;
background-color: #ffffff;
padding: 0 10px;
max-height: calc(100vh - 190px);
overflow: auto;
.circle-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #409eff;
margin-left: 10px;
}
.label-name {
display: flex;
flex-direction: column;
align-items: center;
flex: 1
}
}
}
.total-des{
margin-top: 10px;

View File

@ -16,7 +16,7 @@
<text>水位</text>
</view>
<view class="first-item">
<text>{{info.nowCap}}</text>
<text>{{info.nowCap}}万m³</text>
<text>蓄水量</text>
</view>
<view class="first-line"></view>
@ -28,7 +28,7 @@
<view class="first-extra-row">
<text>坝顶高程{{info.crestElev}}</text>
<text>汛限水位{{info.flLowLimLev}}</text>
<text>总库容{{info.totCap}}</text>
<text>总库容{{info.totCap}}万m³</text>
</view>
<view class="sk-second-row">
<view class="first-item">
@ -55,11 +55,11 @@
<view class="time-ranger" >
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -28,7 +28,9 @@ export default {
async getKrData(){
try {
const {data} = await uni.$http.post(
"/gunshiApp/xyt/stZvarlB/list")
"/gunshiApp/xyt/stZvarlB/list",{
stcd:"716164061"
})
if(data.code == 200){
this.tableData = [...data.data];

View File

@ -1,6 +1,6 @@
<template >
<view class="project-des" >
<view v-for="(item,index) in tableData" :key="index" :style="index % 2 != 0 ? 'width:150px;':'width:197px;'">
<view v-for="(item,index) in tableData" :key="index" :style="index % 2 == 0 ? 'width:50%;':'width:50%;'">
<view style="display:flex;align-items:center;margin:15px 0px;">
<view class="circle-dot"></view>
<view class="label-name">

View File

@ -8,11 +8,11 @@
<view class="time-ranger" style="margin-top:70px">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -70,7 +70,7 @@ export default function drpOption (obj) {
{
type: 'category',
data: data.map(o => o.tm),
// inverse: true,
inverse: true,
splitLine: {
show: false
},

View File

@ -18,11 +18,11 @@
<view class="time-ranger" >
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
@ -31,7 +31,7 @@
</view>
<view class="jcsj-content">
<view class="jcsj-content" v-if="tableData.length != 0">
<view class="jcsj-charts" >
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
</view>
@ -39,6 +39,11 @@
<JcsjTable :tableData="tableData" />
</view>
</view>
<view
style="height:calc(100vh - 160px);display: flex;align-items: center;justify-content: center;background-color: #fff;margin-top:10px"
v-else>
<image src="../../static/empty.png" mode=""></image>
</view>
<u-datetime-picker
:show="showTime"
v-model="startTime"
@ -61,7 +66,7 @@
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 stm = moment().subtract(1, '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:{

276
pages/upgrade/index.vue Normal file
View File

@ -0,0 +1,276 @@
<template>
<view class="upgrade-popup">
<image class="header-bg" src="../../static/images/upgrade.png" mode="widthFix"></image>
<view class="main">
<view class="version">发现新版本{{"v" + info.version}}</view>
<view class="content">
<text class="title">更新内容</text>
<view class="desc" v-html="info.versionDesc"></view>
</view>
<!--下载状态-进度条显示 -->
<view class="footer" v-if="isStartDownload">
<view class="progress-view" :class="{'active':!hasProgress}" @click="handleInstallApp">
<!-- 进度条 -->
<view v-if="hasProgress" style="height: 100%;">
<view class="txt">{{percentText}}</view>
<view class="progress" :style="setProStyle"></view>
</view>
<view v-else>
<view class="btn upgrade force">{{ isDownloadFinish ? '立即安装' :'下载中...'}}</view>
</view>
</view>
</view>
<!-- 强制更新 -->
<view class="footer" v-else-if="isForceUpdate">
<view class="btn upgrade force" @click="handleUpgrade"></view>
</view>
<!-- 可选择更新 -->
<view class="footer" v-else>
<view class="btn close" @click="handleClose"></view>
<view class="btn upgrade" @click="handleUpgrade"></view>
</view>
</view>
</view>
</template>
<script>
import {
downloadApp,
installApp
} from '../utils/upgrade.js'
import {
fileChange
} from '../utils/tool.js'
export default {
data() {
return {
isForceUpdate: false, //
isDownloadFinish: false, //
hasProgress: false, //
currentPercent: 0, //
isStartDownload: false, //
fileName: '', //app
info: {},
downloadUrl:''
}
},
computed: {
//
setProStyle() {
return {
width: (510 * this.currentPercent / 100) + 'rpx' //510
}
},
//
percentText() {
let percent = this.currentPercent;
if (typeof percent !== 'number' || isNaN(percent)) return '下载中...'
if (percent < 100) return `下载中${percent}%`
return '立即安装'
}
},
onLoad(options) {
this.info = JSON.parse(decodeURIComponent(options.info));
},
onBackPress(options) {
//
if (options.from == 'backbutton') {
return true;
}
},
methods: {
//
handleUpgrade() {
if (this.info.url) {
this.isStartDownload = true
//App
const baseUrl = `http://local.gunshiiot.com:18083/gunshiApp/xyt/common/download/resource?resource=${this.info.url}`
downloadApp(baseUrl, current => {
//
this.hasProgress = true
this.currentPercent = current
}).then(fileName => {
//
this.isDownloadFinish = true
this.fileName = fileName
if (fileName) {
//App
this.handleInstallApp()
}
}).catch(e => {
console.log(e, 'e')
})
} else {
uni.showToast({
title: '下载链接不存在',
icon: 'none'
})
}
},
//app
handleInstallApp() {
//
if (this.isDownloadFinish && this.fileName) {
installApp(this.fileName, () => {
//,
uni.navigateBack()
})
}
},
//
handleClose() {
uni.navigateBack()
},
}
}
</script>
<style>
page {
background: rgba(0, 0, 0, 0.5);
/**设置窗口背景半透明*/
}
</style>
<style lang="scss" scoped>
.upgrade-popup {
width: 580rpx;
height: auto;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
border-radius: 20rpx;
box-sizing: border-box;
border: 1px solid #eee;
}
.header-bg {
width: 70%;
margin-top: -112rpx;
margin-left: 10px;
}
.main {
padding: 10rpx 30rpx 30rpx;
box-sizing: border-box;
.version {
font-size: 36rpx;
color: #026DF7;
font-weight: 700;
width: 100%;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
letter-spacing: 1px;
}
.content {
margin-top: 60rpx;
.title {
font-size: 28rpx;
font-weight: 700;
color: #000000;
}
.desc {
box-sizing: border-box;
margin-top: 20rpx;
font-size: 28rpx;
color: #6A6A6A;
max-height: 80vh;
overflow-y: auto;
}
}
.footer {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
position: relative;
flex-shrink: 0;
margin-top: 100rpx;
.btn {
width: 246rpx;
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 999;
height: 96rpx;
box-sizing: border-box;
font-size: 32rpx;
border-radius: 10rpx;
letter-spacing: 2rpx;
&.force {
width: 500rpx;
}
&.close {
border: 1px solid #E0E0E0;
margin-right: 25rpx;
color: #000;
}
&.upgrade {
background-color: #026DF7;
color: white;
}
}
.progress-view {
width: 510rpx;
height: 90rpx;
display: flex;
position: relative;
align-items: center;
border-radius: 6rpx;
background-color: #dcdcdc;
display: flex;
justify-content: flex-start;
padding: 0px;
box-sizing: border-box;
border: none;
overflow: hidden;
&.active {
background-color: #026DF7;
}
.progress {
height: 100%;
background-color: #026DF7;
padding: 0px;
box-sizing: border-box;
border: none;
border-top-left-radius: 10rpx;
border-bottom-left-radius: 10rpx;
}
.txt {
font-size: 28rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #fff;
}
}
}
}
</style>

View File

@ -64,20 +64,9 @@ export const adnmZhen = adcd => {
}
export const fileChange = (file) => {
let target= ''
let blob = new Blob([file]);
console.log("blobblob",blob);
let url = window.URL.createObjectURL(blob);
// let reader = new FileReader(blob);
// console.log("reader",reader);
// reader.readAsDataURL(url);
// reader.onload = function (e) {
// target=e.target.result
// }
console.log("target",url);
console.log("url",url);
return url
}

90
pages/utils/upgrade.js Normal file
View File

@ -0,0 +1,90 @@
/**
* @description H5+下载App
* @param downloadUrl:App下载链接
* @param progressCallBack:下载进度回调
*/
export const downloadApp = (downloadUrl, progressCallBack = () => { },) => {
return new Promise((resolve, reject) => {
//创建下载任务
const downloadTask = plus.downloader.createDownload(downloadUrl, {
method: "GET"
}, (task, status) => {
if (status == 200) { //下载成功
resolve(task.filename)
} else {
reject('fail')
uni.showToast({
title: '下载失败',
duration: 1500,
icon: "none"
});
}
})
//监听下载过程
downloadTask.addEventListener("statechanged", (task, status) => {
switch (task.state) {
case 1: // 开始
break;
case 2: //已连接到服务器
break;
case 3: // 已接收到数据
let hasProgress = task.totalSize && task.totalSize > 0 //是否能获取到App大小
if (hasProgress) {
let current = parseInt(100 * task.downloadedSize / task.totalSize); //获取下载进度百分比
progressCallBack(current)
}
break;
case 4: // 下载完成
break;
}
});
//开始执行下载
downloadTask.start();
})
}
/**
* @description H5+安装APP
* @param fileName:app文件名
* @param callBack:安装成功回调
*/
export const installApp = (fileName, callBack = () => {}) => {
//注册广播监听app安装情况
onInstallListening(callBack);
//开始安装
plus.runtime.install(plus.io.convertLocalFileSystemURL(fileName), {}, () => {
//成功跳转到安装界面
}, function(error) {
uni.showToast({
title: '安装失败',
duration: 1500,
icon: "none"
});
})
}
/**
* @description 注册广播监听APP是否安装成功
* @param callBack:安装成功回调函数
*/
const onInstallListening = (callBack = () => {}) => {
let mainActivity = plus.android.runtimeMainActivity(); //获取activity
//生成广播接收器
let receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {
onReceive: (context, intent) => { //接收广播回调
plus.android.importClass(intent);
mainActivity.unregisterReceiver(receiver); //取消监听
callBack()
}
});
let IntentFilter = plus.android.importClass('android.content.IntentFilter');
let Intent = plus.android.importClass('android.content.Intent');
let filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED); //监听APP安装
filter.addDataScheme("package");
mainActivity.registerReceiver(receiver, filter); //注册广播
}

View File

@ -10,11 +10,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{startTime}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{startTime}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{endTime}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{endTime}}</text>
<view class="search-btn" @click="searchTm">
搜索
</view>
@ -115,7 +115,6 @@
console.log(params,'dsd');
uni.$http.post('/gunshiApp/xyt/inspect/detail/page', params).then(res => {
this.list=res.data.data.records
console.log(this.list);
})
},
confirm(e) {

View File

@ -9,11 +9,11 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>

View File

@ -16,23 +16,31 @@
<view class="time-ranger">
<view class="start-time">
<text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
<text @click="showTime=true" style="margin-left:10%;color:#3399ef">{{stm}}</text>
</view>
<view class="end-time">
<text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<text @click="showTime1=true" style="margin:0 10%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle">
搜索
</view>
</view>
</view>
<view class="ylz-chart-area">
<view v-if="ylzData.length != 0">
<view class="ylz-chart-area">
<qiun-data-charts :chartData="chartData.chartData" :echartsApp="true" :eopts="chartData.eopts" />
</view>
<view class="ylz-table-area">
<YlzTable :tableData="ylzData"></YlzTable>
</view>
</view>
<view
style="height:calc(100vh - 160px);display: flex;align-items: center;justify-content: center;background-color: #fff;margin-top:10px"
v-else>
<image src="../../../static/empty.png" mode=""></image>
</view>
</view>
<view v-if="activeOne == 1" style="padding:10px">
<Table></Table>
@ -74,6 +82,7 @@
chartData1: {},
chartData: {},
stnm:'',
stcd:''
}
},
methods: {
@ -85,7 +94,7 @@
data
} = await uni.$http.post(
"/gunshiApp/xyt/attResBase/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime", {
stcd: "716164061",
stcd: this.stcd,
startTime: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
endTime: moment(this.etm).format("YYYY-MM-DD HH:mm:ss")
})
@ -142,7 +151,8 @@
}
},
onLoad(options){
this.stnm = options.stnm
this.stnm = options.stnm;
this.stcd = options.stcd;
},
mounted() {
this.getrainInfo();

View File

@ -62,7 +62,7 @@
toDetail(){
uni.navigateTo({
url:`/pages/ylzList/detail/index?stnm=${this.item.stnm}`
url:`/pages/ylzList/detail/index?stnm=${this.item.stnm}&stcd=${this.item.stcd}`
})
},
},

BIN
static/images/upgrade.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because one or more lines are too long

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__7573222","name":"小玉潭水库","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"VideoPlayer":{},"Messaging":{},"Camera":{},"Maps":{"coordType":"gcj02"},"Contacts":{},"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.29","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/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__7573222","name":"小玉潭水库","version":{"name":"1.0.0","code":1},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"VideoPlayer":{},"Messaging":{},"Camera":{},"Maps":{"coordType":"gcj02"},"Contacts":{},"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":{"packagename":"com.gunshi.xytSk-App","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/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"}}