link
parent
3b1bc2ba86
commit
f92cf4f051
|
|
@ -521,5 +521,13 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.nav_slot_right_box{
|
||||||
|
padding-right: 20rpx;
|
||||||
|
.custom_btn{
|
||||||
|
color: #fff;
|
||||||
|
font-size: 32rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -228,23 +228,16 @@ export function hideTabBarRedDot(index) {
|
||||||
* @param
|
* @param
|
||||||
*/
|
*/
|
||||||
export function navigateBack() {
|
export function navigateBack() {
|
||||||
uni.navigateBack({
|
let pages = getCurrentPages();
|
||||||
delta: 1,
|
let page = pages[pages.length - 2];
|
||||||
success() {},
|
console.log(pages,page)
|
||||||
fail() {
|
if(page){
|
||||||
var pages = getCurrentPages();
|
uni.navigateBack();
|
||||||
var page = pages[pages.length - 2];
|
}else{
|
||||||
if(page){
|
uni.switchTab({
|
||||||
uni.switchTab({
|
url: '/pages/index/index'
|
||||||
url: page.route
|
});
|
||||||
});
|
}
|
||||||
}else{
|
|
||||||
uni.switchTab({
|
|
||||||
url: '/pages/index/index'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function formatDate(time, fmt) {
|
export function formatDate(time, fmt) {
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,16 @@
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText": "友情链接",
|
"navigationBarTitleText": "友情链接",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
,{
|
||||||
|
"path" : "pages/device/warning",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "警报明细",
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,222 @@
|
||||||
|
<template>
|
||||||
|
<view class="bg-page">
|
||||||
|
<u-sticky>
|
||||||
|
<view class="secreen-section" style="background-color: #fff;">
|
||||||
|
<u-dropdown class="dropdown-box" ref="uDropdown">
|
||||||
|
<u-dropdown-item v-model="lvvalue" title="预警等级"
|
||||||
|
:options="lvList" @change="change1"></u-dropdown-item>
|
||||||
|
<u-dropdown-item v-model="typevalue" title="设备类型"
|
||||||
|
:options="typeList" @change="change2"></u-dropdown-item>
|
||||||
|
<u-dropdown-item v-model="statusvalue" title="状态"
|
||||||
|
:options="statusList" @change="change3"></u-dropdown-item>
|
||||||
|
</u-dropdown>
|
||||||
|
</view>
|
||||||
|
</u-sticky>
|
||||||
|
|
||||||
|
<view class="content-box" style="padding-bottom: 60rpx;">
|
||||||
|
<view class="tb_swipe_list"
|
||||||
|
v-for="(item, index) in loglist"
|
||||||
|
:show="item.show" :index="index":key="item.id"
|
||||||
|
>
|
||||||
|
<view class="tb_body" @click="showInfo(index)">
|
||||||
|
|
||||||
|
<view class="row_box">
|
||||||
|
<view class="text">基地:{{ item.base_name }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="row_box">
|
||||||
|
<view class="text">监控点:{{ item.point_name }}</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="row_box">
|
||||||
|
<view class="text">设备类型:{{ item.device_type }}</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="row_box">
|
||||||
|
<view class="text">等级:{{ item.lv }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="row_box">
|
||||||
|
<view class="text">状态:{{ item.status }}</view>
|
||||||
|
</view>
|
||||||
|
<view class="row_box">
|
||||||
|
<view class="text">时间:{{ item.created_at|timeFormat}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<u-loadmore :status="loading" margin-top="60"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {showLoading,toast,formatDate} from '@/com/utils.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
per_page:15,
|
||||||
|
page:1,
|
||||||
|
loglist:[],
|
||||||
|
loading:'loadmore',
|
||||||
|
lvList:[
|
||||||
|
{
|
||||||
|
label: '全部',
|
||||||
|
value: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Ⅰ级预警',
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Ⅱ级预警',
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Ⅲ级预警',
|
||||||
|
value: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Ⅳ级预警',
|
||||||
|
value: 4,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
lvvalue:'',
|
||||||
|
typeList:[
|
||||||
|
{
|
||||||
|
label: '全部',
|
||||||
|
value: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '监控设备',
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '土壤设备',
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '水质设备',
|
||||||
|
value: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '气象设备',
|
||||||
|
value: 4,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
typevalue:'',
|
||||||
|
statusList:[
|
||||||
|
{
|
||||||
|
label: '全部',
|
||||||
|
value: -1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '未处理',
|
||||||
|
value: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '已处理',
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '已忽略',
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
statusvalue:-1,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
filters:{
|
||||||
|
timeFormat(val){
|
||||||
|
return formatDate(val*1000, 'yyyy-MM-dd hh:mm');
|
||||||
|
},
|
||||||
|
typename(val){
|
||||||
|
let keys = {
|
||||||
|
delete:'删除',
|
||||||
|
create:'创建',
|
||||||
|
update:'修改'
|
||||||
|
}
|
||||||
|
let name = keys[val]?keys[val]:'其它'
|
||||||
|
return name;
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.queryloglist();
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showInfo(){
|
||||||
|
|
||||||
|
},
|
||||||
|
change1(val){
|
||||||
|
console.log(val);
|
||||||
|
this.queryloglist(true);
|
||||||
|
},
|
||||||
|
change2(val){
|
||||||
|
console.log(val);
|
||||||
|
this.queryloglist(true);
|
||||||
|
},
|
||||||
|
change3(val){
|
||||||
|
console.log(val);
|
||||||
|
this.queryloglist(true);
|
||||||
|
},
|
||||||
|
queryloglist(refresh){
|
||||||
|
if(refresh){
|
||||||
|
this.loading = 'loadmore';
|
||||||
|
this.loglist = [];
|
||||||
|
this.page = 1;
|
||||||
|
}
|
||||||
|
if(this.loading=='nomore'){//超出最大页
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
per_page:this.per_page,
|
||||||
|
page: this.page ++,
|
||||||
|
_t: new Date().getTime()
|
||||||
|
}
|
||||||
|
if(this.lvvalue){
|
||||||
|
params['lv'] = this.lvvalue;
|
||||||
|
}
|
||||||
|
if(this.typevalue){
|
||||||
|
params['device'] = this.typevalue;
|
||||||
|
}
|
||||||
|
if(this.statusvalue>-1){
|
||||||
|
params['status'] = this.statusvalue;
|
||||||
|
}
|
||||||
|
this.loading = 'loading';
|
||||||
|
this.$http.get('/api/device-warning-logs',{params:params}).then(({data})=>{
|
||||||
|
|
||||||
|
console.log(data)
|
||||||
|
this.loading = 'loadmore';
|
||||||
|
if(data.code==200){
|
||||||
|
let _list = data.data|| [];
|
||||||
|
let {current_page,per_page,last_page} = data.meta;
|
||||||
|
|
||||||
|
this.loglist = this.loglist.concat(_list);
|
||||||
|
console.log(this.loglist);
|
||||||
|
if(current_page >= last_page){
|
||||||
|
this.loading ='nomore';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch(()=>{
|
||||||
|
this.loading = 'loadmore';
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//触底加载
|
||||||
|
onReachBottom() {
|
||||||
|
if(this.loading=='loadmore'){
|
||||||
|
this.queryloglist();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content-box{
|
||||||
|
padding: 30rpx 30rpx 60rpx 30rpx;
|
||||||
|
}
|
||||||
|
.row_box{
|
||||||
|
.text{
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
@ -31,15 +31,19 @@
|
||||||
children:[
|
children:[
|
||||||
{
|
{
|
||||||
label:'气象监测',
|
label:'气象监测',
|
||||||
|
url:"/pages/index/meteorological"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:'智能监控',
|
label:'智能监控',
|
||||||
|
url:'/pages/index/monitor'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:'土壤监控',
|
label:'土壤监控',
|
||||||
|
url:'/pages/index/soil-monitoring'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:'水质监控',
|
label:'水质监控',
|
||||||
|
url:'/pages/index/water-quality'
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
@ -88,7 +92,8 @@
|
||||||
label:'设备管理',
|
label:'设备管理',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label:'警报明显',
|
label:'警报明细',
|
||||||
|
url:'/pages/device/warning'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
@ -102,23 +107,9 @@
|
||||||
methods: {
|
methods: {
|
||||||
linknavFn(item){
|
linknavFn(item){
|
||||||
console.log(item)
|
console.log(item)
|
||||||
if(item.label=='气象监测'){
|
uni.navigateTo({
|
||||||
uni.navigateTo({
|
url:`${item.url}`
|
||||||
url:'/pages/index/meteorological'
|
})
|
||||||
})
|
|
||||||
}else if(item.label=='智能监控'){
|
|
||||||
uni.navigateTo({
|
|
||||||
url:'/pages/index/monitor'
|
|
||||||
})
|
|
||||||
}else if(item.label=='土壤监控'){
|
|
||||||
uni.navigateTo({
|
|
||||||
url:'/pages/index/soil-monitoring'
|
|
||||||
})
|
|
||||||
}else if(item.label=='水质监控'){
|
|
||||||
uni.navigateTo({
|
|
||||||
url:'/pages/index/water-quality'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,47 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="bg-page">
|
<view class="bg-page">
|
||||||
<u-sticky>
|
<u-navbar title="友情链接" :background="background" :custom-back="goback"
|
||||||
<view class="page-top-title-box">
|
:title-color="titleColor" :back-icon-color="titleColor">
|
||||||
|
<view class="nav_slot_right_box" slot="right">
|
||||||
|
<view class="custom_btn add_btn" @click="addBtn()">新增</view>
|
||||||
|
</view>
|
||||||
|
</u-navbar>
|
||||||
|
<view class="secreen-section" style="background-color: #fff;">
|
||||||
|
<u-dropdown class="dropdown-box" ref="uDropdown" @open="openDropDown">
|
||||||
|
<u-dropdown-item title="类型" v-model="q_type"
|
||||||
|
:options="typelist" @change="change1"></u-dropdown-item>
|
||||||
|
<u-dropdown-item title="时间范围">
|
||||||
|
<view class="slot-content" style="background-color: #FFFFFF;">
|
||||||
|
<view class="select-date u-border-bottom" >
|
||||||
|
<view class="name" @click="calendarShow = true">
|
||||||
|
<u-icon name="calendar" color="#333" size="32"></u-icon>
|
||||||
|
<text style="margin-left: 6rpx;">时间范围:</text>
|
||||||
|
</view>
|
||||||
|
<view class="time_box" @click="calendarShow = true">
|
||||||
|
<view class="tip_txt" v-if="!start_date_c"
|
||||||
|
>开始日期-结束日期</view>
|
||||||
|
<view class="tile_val" v-else
|
||||||
|
>{{start_date_c}} ~ {{end_date_c}}</view>
|
||||||
|
<view class="delete_btn" v-if="start_date_c" @click.stop="deleteDateFn()">
|
||||||
|
<u-icon name="close-circle" color="#333" size="34"></u-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<u-button type="primary" @click="selectedDateConform()">确定</u-button>
|
||||||
|
</view>
|
||||||
|
</u-dropdown-item>
|
||||||
|
</u-dropdown>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="page-top-title-box">
|
||||||
<view class="title">链接列表</view>
|
<view class="title">链接列表</view>
|
||||||
<view class="handle-option">
|
<view class="handle-option">
|
||||||
<u-button class="btn" size="medium"
|
<u-button class="btn" size="medium"
|
||||||
@click="addBtn()" type="primary">新增</u-button>
|
@click="addBtn()" type="primary">新增</u-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</u-sticky>
|
|
||||||
|
|
||||||
<view class="content-box">
|
<view class="content-box">
|
||||||
<u-swipe-action class="tb_swipe_list"
|
<u-swipe-action class="tb_swipe_list"
|
||||||
v-for="(item, index) in list"
|
v-for="(item, index) in list"
|
||||||
|
|
@ -42,6 +75,7 @@
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</u-swipe-action>
|
</u-swipe-action>
|
||||||
|
<u-loadmore :status="loading" margin-top="60"/>
|
||||||
</view>
|
</view>
|
||||||
<!-- 编辑 -->
|
<!-- 编辑 -->
|
||||||
<u-popup v-model="editShow" border-radius="28" width="92%" height="70%"
|
<u-popup v-model="editShow" border-radius="28" width="92%" height="70%"
|
||||||
|
|
@ -108,7 +142,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="地址" label-width="140">
|
<u-form-item label="地址" label-width="140" :required='true'>
|
||||||
<view class="input_box">
|
<view class="input_box">
|
||||||
<u-input v-model="setInfo.content" type="text"/>
|
<u-input v-model="setInfo.content" type="text"/>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -174,14 +208,20 @@
|
||||||
</u-popup>
|
</u-popup>
|
||||||
<u-select v-model="select2" :list="typelist" :default-value="select2Value" mode="single-column"
|
<u-select v-model="select2" :list="typelist" :default-value="select2Value" mode="single-column"
|
||||||
@confirm="uselectConfirm"></u-select>
|
@confirm="uselectConfirm"></u-select>
|
||||||
|
<u-calendar v-model="calendarShow" :mode="'range'"
|
||||||
|
@change="calendarChange"></u-calendar>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {formatDate} from '@/com/utils.js'
|
import {formatDate,navigateBack} from '@/com/utils.js'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
background: {
|
||||||
|
backgroundColor:'#2a7dc9',
|
||||||
|
},
|
||||||
|
titleColor:"#ffffff",
|
||||||
per_page:10,
|
per_page:10,
|
||||||
page:1,
|
page:1,
|
||||||
list:[],
|
list:[],
|
||||||
|
|
@ -243,7 +283,13 @@
|
||||||
trigger: ['blur', 'change']
|
trigger: ['blur', 'change']
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
},
|
||||||
|
start_date_c:'',
|
||||||
|
end_date_c:'',
|
||||||
|
calendarShow:false,
|
||||||
|
q_start_time:'',
|
||||||
|
q_end_time:'',
|
||||||
|
q_type:'',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
filters:{
|
filters:{
|
||||||
|
|
@ -255,6 +301,32 @@
|
||||||
this.queryDataList();
|
this.queryDataList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
change1(){
|
||||||
|
this.queryDataList(true);
|
||||||
|
},
|
||||||
|
selectedDateConform(){
|
||||||
|
this.q_start_time = this.start_date_c;
|
||||||
|
this.q_end_time = this.end_date_c;
|
||||||
|
this.queryDataList(true);
|
||||||
|
this.$refs.uDropdown.close();
|
||||||
|
},
|
||||||
|
//日期范围
|
||||||
|
calendarChange(e){
|
||||||
|
console.log(e,'日期范围')
|
||||||
|
this.start_date_c = e.startDate;
|
||||||
|
this.end_date_c = e.endDate;
|
||||||
|
},
|
||||||
|
deleteDateFn(){
|
||||||
|
this.start_date_c = '';
|
||||||
|
this.end_date_c = '';
|
||||||
|
},
|
||||||
|
openDropDown(index){
|
||||||
|
|
||||||
|
if(index==1){//日期
|
||||||
|
this.start_date_c = this.q_start_time;
|
||||||
|
this.end_date_c = this.q_end_time;
|
||||||
|
}
|
||||||
|
},
|
||||||
typePopupShow(){
|
typePopupShow(){
|
||||||
// this.select2 = true;
|
// this.select2 = true;
|
||||||
},
|
},
|
||||||
|
|
@ -303,6 +375,13 @@
|
||||||
page: this.page ++,
|
page: this.page ++,
|
||||||
_t: new Date().getTime()
|
_t: new Date().getTime()
|
||||||
}
|
}
|
||||||
|
if(this.q_start_time){
|
||||||
|
params['start_time'] = this.q_start_time +' 00:01';
|
||||||
|
params['end_time'] = this.q_end_time+' 23:59';
|
||||||
|
}
|
||||||
|
if(this.q_type){
|
||||||
|
params['type'] = this.q_type
|
||||||
|
}
|
||||||
this.loading = 'loading';
|
this.loading = 'loading';
|
||||||
this.$http.get('/api/friend-links',{params:params}).then(({data})=>{
|
this.$http.get('/api/friend-links',{params:params}).then(({data})=>{
|
||||||
console.log(data)
|
console.log(data)
|
||||||
|
|
@ -432,6 +511,9 @@
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
goback(){
|
||||||
|
navigateBack()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
//触底加载
|
//触底加载
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,9 @@
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
showInfo(){
|
||||||
|
|
||||||
|
},
|
||||||
change(val){
|
change(val){
|
||||||
console.log(val);
|
console.log(val);
|
||||||
this.queryloglist(true);
|
this.queryloglist(true);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue