From 8265412eef286cc6027c8ec6085d6b059b7ab457 Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期五, 29 十一月 2024 17:30:18 +0800 Subject: [PATCH] 添加参数修改,设备详情 --- pagesAdmin/adminPlatform/inspect.vue | 25 + pagesAdmin/adminPlatform/params.vue | 510 ++++++++++++++++++++++++++++++ unpackage/dist/dev/mp-weixin/api/index.js | 16 pages.json | 14 unpackage/dist/dev/mp-weixin/project.private.config.json | 2 pagesAdmin/adminPlatform/facility.vue | 7 unpackage/dist/dev/mp-weixin/app.js | 2 unpackage/dist/dev/mp-weixin/app.json | 4 pagesAdmin/adminPlatform/facilityDetail.vue | 277 ++++++++++++++++ unpackage/dist/dev/mp-weixin/common/vendor.js | 12 pages/login/index.vue | 2 static/images/maintain/switch-off.png | 0 api/index.js | 16 pagesAdmin/adminPlatform/home.vue | 2 static/images/maintain/switch-on.png | 0 unpackage/dist/dev/mp-weixin/common/assets.js | 94 ++-- 16 files changed, 927 insertions(+), 56 deletions(-) diff --git a/api/index.js b/api/index.js index 98c0fce..c5329f2 100644 --- a/api/index.js +++ b/api/index.js @@ -168,6 +168,22 @@ export function searchWaterFacilityApi(data){ return request(`/waterFacility/search`,data,'POST') } +//根据id获取设备详情 +export function getFacilityApi(id){ + return request(`/waterFacility/get?id=${id}`,{},'GET') +} +//设备开阀 +export function openFacilityApi(data){ + return request('/api/facility/open',data,'POST') +} +//设备关阀 +export function closeFacilityApi(data){ + return request('/api/facility/close',data,'POST') +} +//获取设备参数 +export function getParameterApi(sn){ + return request(`/waterFacility/getParameter?sn=${sn}`,{},'GET') +} diff --git a/pages.json b/pages.json index 5ecbbec..26cae9c 100644 --- a/pages.json +++ b/pages.json @@ -209,6 +209,20 @@ { "navigationBarTitleText" : "" } + }, + { + "path" : "adminPlatform/inspect", + "style" : + { + "navigationBarTitleText" : "" + } + }, + { + "path" : "adminPlatform/params", + "style" : + { + "navigationBarTitleText" : "" + } } ] }, diff --git a/pages/login/index.vue b/pages/login/index.vue index 80a0138..3156d15 100644 --- a/pages/login/index.vue +++ b/pages/login/index.vue @@ -56,7 +56,7 @@ } } //管理员登录 - const form = ref({userName:'',password:''}) + const form = ref({userName:'admin',password:'lunhan123456'}) const pwdType = ref('password') function changePwdType(str){ pwdType.value = str == 'pwd' ? 'text' : ( str == 'text' ? 'password' : 'text') diff --git a/pagesAdmin/adminPlatform/facility.vue b/pagesAdmin/adminPlatform/facility.vue index 7418124..f018fa7 100644 --- a/pagesAdmin/adminPlatform/facility.vue +++ b/pagesAdmin/adminPlatform/facility.vue @@ -76,9 +76,10 @@ } }) } - function navTo(){ + function navTo(facilityId){ + console.log(13,facilityId) uni.navigateTo({ - url:'/pagesAdmin/adminPlatform/facilityDetail' + url:`/pagesAdmin/adminPlatform/facilityDetail?id=${facilityId}` }) } onMounted(async() =>{ @@ -121,7 +122,7 @@ <text class="item-state-value">{{item.onLineStateView}}</text> </view> </view> - <view class="item-right" @click="navTo"> + <view class="item-right" @click="navTo(item.id)"> <text>查看详情</text> </view> </view> diff --git a/pagesAdmin/adminPlatform/facilityDetail.vue b/pagesAdmin/adminPlatform/facilityDetail.vue index a9348a8..ebab19c 100644 --- a/pagesAdmin/adminPlatform/facilityDetail.vue +++ b/pagesAdmin/adminPlatform/facilityDetail.vue @@ -1,13 +1,282 @@ <script setup> + import{ onLoad } from '@dcloudio/uni-app' + import{ ref,onMounted } from 'vue' + import{ getFacilityApi,closeFacilityApi,openFacilityApi } from '../../api/index.js' + const facilityList = ref([]) + const facilityControl = ref({ + saleOpen:false, + productionOpen:false, + temperatureOpen:false, + totalOpen:false, + }) + let facilityCode + let facilityOnLine + async function getFalicityDetail(){ + await getFacilityApi(facilityId).then((res) =>{ + if(res.code == 200){ + facilityCode = res.data.facilityCode + facilityOnLine = res.data.onLineState + facilityList.value = [] + facilityList.value.push({name:'设备编号:',value:res.data.facilityCode}) + facilityList.value.push({name:'设备名称:',value:res.data.facilityName}) + facilityList.value.push({name:'在线状态:',value:res.data.onLineState == 1 ? '在线' : (res.data.onLineState == 0 ? '离线' : '')}) + facilityList.value.push({name:'设备供应商:',value:res.data.supplier}) + facilityList.value.push({name:'安装日期:',value:res.data.installDate}) + + facilityControl.value.saleOpen = res.data.saleOpen == 1 ? true : false + facilityControl.value.productionOpen = res.data.productionOpen == 1 ? true : false + facilityControl.value.temperatureOpen = res.data.temperatureOpen == 1 ? true : false + } + }) + } + function navTo(){ + uni.navigateTo({ + url:`/pagesAdmin/adminPlatform/params?id=${facilityId}` + }) + } + //设备开关操作相关 + //操作类型(售水开关:01开 02关,制水开关:03开 04关,温控开关:05开 06关,设备开关机:07开 08关-设备开关机代表设备完全开关机,相当于售水、制水、温控全开或全关) + async function handelControl(status,name){ + if(facilityOnLine == 0){ + uni.showToast({ + title:'离线,无法操作', + icon:'none' + }) + return + } + let textInfo + if(name == 'totalOnOff'){ + textInfo = status === false ? '确认关闭设备全部状态?':'确认开启设备全部状态?' + }else{ + textInfo = status === true ? '确认关闭状态?':'确认开启状态?' + } + + uni.showModal({ + title:'提示', + content:textInfo, + success:(res) =>{ + if(res.confirm){ + + async function handelOpen(setStatus){ + await openFacilityApi({data:setStatus,sn:facilityCode}).then((res) =>{ + if(res.code == 200){ + setTimeout(async() => { + await getFalicityDetail() + }, 4000); + uni.showToast({ + title:'成功!三秒刷新' + }) + }else{ + uni.showToast({ + title:'操作失败!', + icon:'none' + + }) + } + }) + } + + async function handelClose(setStatus){ + await closeFacilityApi({data:setStatus,sn:facilityCode}).then((res) =>{ + if(res.code == 200){ + setTimeout(async() => { + await getFalicityDetail() + }, 4000); + uni.showToast({ + title:'成功!三秒刷新' + }) + }else{ + uni.showToast({ + title:'操作失败!', + icon:'none' + }) + } + }) + } + + switch(name){ + case 'saleOpen': + status == true ? handelClose('02') : handelOpen('01'); + break; + case 'productionOpen': + status == true ? handelClose('04') : handelOpen('03'); + break; + case 'temperatureOpen': + status == true ? handelClose('06') : handelOpen('05'); + break; + case 'totalOnOff': + status == true ? handelOpen('07') : handelClose('08'); + break; + } + } + } + }) + } + let facilityId + onLoad(async(option) =>{ + console.log(14,option) + facilityId = option.id + await getFalicityDetail(option.id) + }) </script> <template> - <view> - <navbar title='设备详情'></navbar> - 设备详情 + <view class="container"> + <navbar title = '设备详情'></navbar> + <view class="content"> + <view class="detail-box"> + <view class="title">设备详情</view> + <view class="detail"> + <view class="info"> + <view class="item" v-for="(item,index) in facilityList" :key="index"> + <view class="item-text">{{item.name}} </view> + <view class="item-value">{{item.value}}</view> + </view> + <view @click="navTo" class="info-params"><view class="params">设备参数设置</view></view> + </view> + <view class="control"> + <view class="switch-item"> + <text class="switch-text">售水开关</text> + <view class="switch-icon" @click="handelControl(facilityControl.saleOpen,'saleOpen')"> + <image class="icon-on-off" v-if="facilityControl.saleOpen" src="../../static/images/maintain/switch-on.png"></image> + <image class="icon-on-off" v-else src="../../static/images/maintain/switch-off.png"></image> + </view> + </view> + <view class="switch-item"> + <text class="switch-text">制水开关</text> + <view class="switch-icon" @click="handelControl(facilityControl.productionOpen,'productionOpen')"> + <image class="icon-on-off" v-if="facilityControl.productionOpen" src="../../static/images/maintain/switch-on.png"></image> + <image class="icon-on-off" v-else src="../../static/images/maintain/switch-off.png"></image> + </view> + </view> + <view class="switch-item"> + <text class="switch-text">温控开关</text> + <view class="switch-icon" @click="handelControl(facilityControl.temperatureOpen,'temperatureOpen')"> + <image class="icon-on-off" v-if="facilityControl.temperatureOpen" src="../../static/images/maintain/switch-on.png"></image> + <image class="icon-on-off" v-else src="../../static/images/maintain/switch-off.png"></image> + </view> + </view> + <view class="switch-item"> + <text class="switch-text">总开开关</text> + <view class="total-control"> + <view class="control-btn" @click="handelControl(true,'totalOnOff')">总开</view> + <view class="control-btn" @click="handelControl(false,'totalOnOff')">总关</view> + </view> + </view> + </view> + </view> + </view> + </view> </view> </template> <style lang="scss" scoped> - +.container{ + width:100%; + box-sizing: border-box; + .content{ + height:calc(100vh - 176rpx); + background: linear-gradient(to bottom,#8BC1FC 0%,#D2F2FE 30%,#D2F2FE 100%); + padding:60rpx 40rpx 100rpx; + box-sizing: border-box; + .detail-box{ + width:100%; + height:1100rpx; + background:rgba(255,255,255,0.7); + border-radius:5rpx; + padding:40rpx; + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + .title{ + color: #575858; + } + .detail{ + width:100%; + display: flex; + flex-direction: column; + align-items: center; + .info{ + width:100%; + display: flex; + flex-direction: column; + .info-params{ + width:100%; + display: flex; + .params{ + margin-top:30rpx; + color: #4571c3; + width:220rpx; + height:60rpx; + border-radius:15rpx; + // border:solid 1rpx #678cc3; + box-shadow:0 0 6rpx 1rpx rgba(143, 182, 255, 0.3) inset; + text-align: center; + line-height:60rpx; + font-size:30rpx; + background:rgba(126, 171, 255, 0.2); + } + } + .item{ + width:100%; + display: flex; + flex-wrap: nowrap; + margin-top:30rpx; + border-bottom:solid 1rpx #dbe7e8; + padding-bottom:10rpx; + .item-text{ + color: #575858; + } + .item-value{ + color: #4571c3; + } + } + } + .control{ + height:400rpx; + width:100%; + display: flex; + flex-direction:column; + justify-content:space-evenly; + align-items: flex-start; + margin-top:20rpx; + .switch-item{ + width:100%; + border-bottom:solid 1rpx #dbe7e8; + display: flex; + justify-content: space-between; + align-items: center; + .switch-text{ + color: #697fb3; + font-weight:600; + } + .switch-icon{ + .icon-on-off{ + width:80rpx; + height:80rpx; + } + } + .total-control{ + height: 80rpx; + display: flex; + align-items: center; + .control-btn{ + width:110rpx; + height:50rpx; + background: #409eff; + border-radius:10rpx; + text-align: center; + line-height: 50rpx; + margin-left:20rpx; + color:#fff; + font-size:30rpx; + } + } + } + } + } + } + } +} </style> diff --git a/pagesAdmin/adminPlatform/home.vue b/pagesAdmin/adminPlatform/home.vue index c2ab056..b831192 100644 --- a/pagesAdmin/adminPlatform/home.vue +++ b/pagesAdmin/adminPlatform/home.vue @@ -396,7 +396,7 @@ </view> <text>设备管理</text> </view> - <view class="item" style="border-bottom: 1rpx solid #c8c8c8;"> + <view @click="navTo('/pagesAdmin/adminPlatform/inspect')" class="item" style="border-bottom: 1rpx solid #c8c8c8;"> <view class="item-img-box icon2" > <image class="item-img" src="../../static/images/maintain/fun-icon2.svg"></image> </view> diff --git a/pagesAdmin/adminPlatform/inspect.vue b/pagesAdmin/adminPlatform/inspect.vue new file mode 100644 index 0000000..6392dc2 --- /dev/null +++ b/pagesAdmin/adminPlatform/inspect.vue @@ -0,0 +1,25 @@ +<template> + <view class="container"> + <navbar title = '巡检管理'></navbar> + <view class="content"></view> + 巡检管理 + </view> +</template> + +<script setup> + +</script> + +<style lang="scss" scoped> + .container{ + width:100%; + box-sizing: border-box; + .content{ + height:calc(100vh - 176rpx); + background: linear-gradient(to bottom,#8BC1FC 0%,#D2F2FE 30%,#D2F2FE 100%); + padding:30rpx 40rpx 100rpx; + box-sizing: border-box; + } + } + +</style> diff --git a/pagesAdmin/adminPlatform/params.vue b/pagesAdmin/adminPlatform/params.vue new file mode 100644 index 0000000..378e561 --- /dev/null +++ b/pagesAdmin/adminPlatform/params.vue @@ -0,0 +1,510 @@ +<script setup> + import { onLoad } from '@dcloudio/uni-app' + import { getFacilityApi,getParameterApi } from '../../api/index.js' + import { ref,onMounted } from 'vue'; + + let facilityId + let onLineState + let facilityCode + onLoad(async(option) =>{ + console.log(14,option) + facilityId = option.id + await getFacilityById() + }) + onMounted(async() =>{ + await handleSetting() + }) + async function getFacilityById(){ + await getFacilityApi(facilityId).then((res) =>{ + onLineState = res.data.onLineState + facilityCode = res.data.facilityCode + }) + } + //表单相关 + const formRef = ref() + const formData = ref({}) + function initData(){ + formData.value = { + sn: '', + swipingCardAmount: 100, + pulse: 450, + swipingCardTime: 45, + + insertCoinsCount: 5, + insertCoinsTime: 22, + swipingCardCount: 7500, + recycleAmountTime: 60, + lightFetchWaterTime: 60, + + lockFetchWaterTime: 60, + produceWaterTime: 1, + wasteWaterTime: 10, + wasteWaterIntervalTime: 10, + ozoneTime: 10, + + ozoneIntervalTime: 60, + temperatureLower: 10, + temperatureUpper: 15, + openAdvertTime: '19:10', + closeAdvertTime: '23:30', + + recycleWashing: 10, + recycleWashingInterval: 4, + runningMode: 1, + isReport: 1, + wxFetchWaterAmount: 100, + + wxFetchWaterTime: 45, + wxFetchWaterCount: 7500, + coinsFetchWater: 3750, + type:'', + } + } + //表单校验 + + const rulesData = ref({ + swipingCardAmount: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1|[1-9]\d{0,2}|[1-5]\d{3}|6000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + pulse: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]\d{0,2}|1\d{3}|2000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + swipingCardTime:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]\d{0,2}|1000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + + insertCoinsCount: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]|10)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + insertCoinsTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]\d{0,2}|1000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + swipingCardCount: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1|([1-9]\d{0,4}|[1-5]\d{4}|6[0-4]\d{3}|65000))$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + recycleAmountTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1[0-9]{1,2}|2[0-3][0-9]|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + lightFetchWaterTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([5-9]|[1-9]\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + + lockFetchWaterTime:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([5-9]|[1-9]\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + produceWaterTime:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-5]\d{0,1}|60)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + wasteWaterTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1[0-9]{1,2}|2[0-3][0-9]|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + wasteWaterIntervalTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([5-9]|[1-9]\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + ozoneTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([5-9]|[1-9]\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + + ozoneIntervalTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([3-9]\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + temperatureLower: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]|[1-2]\d|3[0-5])$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + temperatureUpper:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^[3-9]|[1-4]\d|50$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + openAdvertTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + ], + }, + closeAdvertTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + ], + }, + + recycleWashing: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]\d{0,1}|0)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + recycleWashingInterval:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]|10)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + runningMode: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^1|2$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + isReport: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^1|2$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + wxFetchWaterAmount:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1|[1-9]\d{0,2}|[1-5]\d{3}|6000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + + wxFetchWaterTime: { + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^([1-9]\d{0,3}|10000)$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + wxFetchWaterCount:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1|([1-9]\d{0,4}|[1-5]\d{4}|6[0-4]\d{3}|65000))$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + coinsFetchWater:{ + rules:[ + {required: true,errorMessage: '请输入参数'}, + {pattern:/^(1|([1-9]\d{0,4}|[1-5]\d{4}|6[0-4]\d{3}|65000))$/,errorMessage: '超出范围,请输入范围内参数'}, + ], + }, + }); + + //参数设置按钮,请求设备参数 + async function handleSetting(){ + await getParameterApi(facilityCode).then((res) =>{ + //参数不为空 + if(res.data != null){ + formData.value = res.data + }else{ + //参数为空置为默认 + initData() + formData.value.sn = facilityCode + } + }) + } + //type:1:修改参数,0:恢复出厂设置 + //恢复出厂设置 + async function restore(){ + if(onLineState == 1){ + + let sn = formData.value.sn + initData() + formData.value.type = 0 + formData.value.sn = sn + await setParams(formData.value) + }else{ + uni.showToast({ + title:'离线,无法操作', + icon:'none' + }) + } + } + //修改参数 + async function save(){ + if(onLineState.value == 1){ + + formData.value.type = 1 + formRef.value.validate.then(async() =>{ + await setParams(formData.value) + }).catch(() =>{}) + }else{ + uni.showToast({ + title:'离线,无法操作', + icon:'none' + }) + } + } + + async function setParams(formParams){ + await facilityList().editParameter(formParams).then((res) =>{ + if(res.code == 200){ + uni.showToast({ + title:'成功!三秒刷新' + }) + setTimeout(async() =>{ + await handleSetting() + },4000) + }else{ + uni.showToast({ + title:'网络错误', + icon:'none' + }) + } + }) + } +</script> +<template> + <view> + <view class="container"> + <navbar title = '参数设置'></navbar> + <view class="content"> + <view class="head"> + <text>设备参数设置</text> + </view> + <view class="main"> + <view class="form-box"> + <uni-forms ref="formRef" :modelValue="formData" :rules="rulesData"> + <view class="devide-name">水价设置:</view> + <uni-group> + <uni-forms-item class="form-item" name="swipingCardAmount"> + <text style="color:#4784c7">刷卡扣费金额:(范围:10-6000分)</text> + <uni-easyinput type="text" v-model="formData.swipingCardAmount" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="swipingCardTime"> + <text style="color:#4784c7">刷卡打水时间:(范围:1-1000秒)</text> + <uni-easyinput type="text" v-model="formData.swipingCardTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="swipingCardCount"> + <text style="color:#4784c7">刷卡打水水量:(范围:1-65000毫升)</text> + <uni-easyinput type="text" v-model="formData.swipingCardCount" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="insertCoinsCount"> + <text style="color:#4784c7">投币数量设置:(范围:1-10个)</text> + <uni-easyinput type="text" v-model="formData.insertCoinsCount" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="insertCoinsTime"> + <text style="color:#4784c7">5角投币打水时间:(范围:1-1000秒)</text> + <uni-easyinput type="text" v-model="formData.insertCoinsTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="coinsFetchWater"> + <text style="color:#4784c7">5角投币打水水量:(范围:1-65000毫升)</text> + <uni-easyinput type="text" v-model="formData.coinsFetchWater" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="wxFetchWaterAmount"> + <text style="color:#4784c7">微信打水金额:(范围:1-6000分)</text> + <uni-easyinput type="text" v-model="formData.wxFetchWaterAmount" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="wxFetchWaterTime"> + <text style="color:#4784c7">微信打水时间:(范围:1-1000秒)</text> + <uni-easyinput type="text" v-model="formData.wxFetchWaterTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="wxFetchWaterCount"> + <text style="color:#4784c7">微信打水量:(范围:1-65000毫升)</text> + <uni-easyinput type="text" v-model="formData.wxFetchWaterCount" placeholder="请输入姓名" /> + </uni-forms-item> + </uni-group> + + <view class="devide-name">系统参数:</view> + <uni-group> + <uni-forms-item class="form-item" name="runningMode"> + <text style="color:#4784c7">计费模式:(范围:1时间,2流量)</text> + <uni-easyinput type="text" v-model="formData.runningMode" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="pulse"> + <text style="color:#4784c7">流量计脉冲数:(范围:1-2000个)</text> + <uni-easyinput type="text" v-model="formData.pulse" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="recycleAmountTime"> + <text style="color:#4784c7">钱数回收时间:(范围:10-240秒)</text> + <uni-easyinput type="text" v-model="formData.recycleAmountTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="lightFetchWaterTime"> + <text style="color:#4784c7">打水灯延时:(范围:5-240秒)</text> + <uni-easyinput type="text" v-model="formData.lightFetchWaterTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="lockFetchWaterTime"> + <text style="color:#4784c7">打水锁延时:(范围:5-240秒)</text> + <uni-easyinput type="text" v-model="formData.lockFetchWaterTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="isReport"> + <text style="color:#4784c7">是否语音播报金额:(范围:1开启,2关闭)</text> + <uni-easyinput type="text" v-model="formData.isReport" placeholder="请输入姓名" /> + </uni-forms-item> + </uni-group> + + <view class="devide-name">制水设置:</view> + <uni-group> + <uni-forms-item class="form-item" name="produceWaterTime"> + <text style="color:#4784c7">制水延时:(范围:1-60分)</text> + <uni-easyinput type="text" v-model="formData.produceWaterTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="wasteWaterTime"> + <text style="color:#4784c7">废水重洗时间:(范围:5-240秒)</text> + <uni-easyinput type="text" v-model="formData.wasteWaterTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="wasteWaterIntervalTime"> + <text style="color:#4784c7">废水重洗间隔:(范围:30-240秒)</text> + <uni-easyinput type="text" v-model="formData.wasteWaterIntervalTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="ozoneTime"> + <text style="color:#4784c7">臭氧杀菌时间:(范围:1-240秒)</text> + <uni-easyinput type="text" v-model="formData.ozoneTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="ozoneIntervalTime"> + <text style="color:#4784c7">臭氧杀菌间隔:(范围:1-240秒)</text> + <uni-easyinput type="text" v-model="formData.ozoneIntervalTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="temperatureLower"> + <text style="color:#4784c7">加热温度下限:(范围:1-35℃)</text> + <uni-easyinput type="text" v-model="formData.temperatureLower" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="temperatureUpper"> + <text style="color:#4784c7">加热温度上限:(范围:3-50℃)</text> + <uni-easyinput type="text" v-model="formData.temperatureUpper" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="openAdvertTime"> + <text style="color:#4784c7;font-size: 26rpx">广告灯开启时间:(范围:00:00~23:59时分)</text> + <uni-easyinput type="text" v-model="formData.openAdvertTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="closeAdvertTime"> + <text style="color:#4784c7;font-size: 26rpx">广告灯关闭时间:(范围:00:00~23:59时分)</text> + <uni-easyinput type="text" v-model="formData.closeAdvertTime" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="recycleWashing"> + <text style="color:#4784c7">循环重洗时间:(范围:0-99秒)</text> + <uni-easyinput type="text" v-model="formData.recycleWashing" placeholder="请输入姓名" /> + </uni-forms-item> + <uni-forms-item class="form-item" name="recycleWashingInterval"> + <text style="color:#4784c7">循环重洗间隔:(范围:1-10小时)</text> + <uni-easyinput type="text" v-model="formData.recycleWashingInterval" placeholder="请输入姓名" /> + </uni-forms-item> + </uni-group> + </uni-forms> + </view> + <view class="handle-btn"> + <view class="left" @click="restore">恢复出厂设置</view> + <view class="right" @click="save">保存设置</view> + </view> + </view> + </view> + </view> + </view> +</template> +<style lang="scss" scoped> + .container{ + width:100%; + box-sizing: border-box; + .content{ + height:calc(100vh - 176rpx); + background: linear-gradient(to bottom,#8BC1FC 0%,#D2F2FE 30%,#D2F2FE 100%); + padding:30rpx 40rpx 100rpx; + box-sizing: border-box; + .head{ + width:100%; + height: 100rpx; + background-color: rgba(255,255,255,0.6); + display: flex; + align-items: center; + justify-content: center; + font-size: 38rpx; + color: #4784c7; + letter-spacing: 2rpx; + box-shadow: 0 4rpx 4rpx 1rpx rgba(71,132,199,0.6); + } + .main{ + width:100%; + height:calc(100% - 100rpx); + background-color: rgba(255,255,255,0.6); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top:30rpx; + padding:30rpx 40rpx; + box-sizing:border-box; + .handle-btn{ + height:60rpx; + width:100%; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + margin-top:50rpx; + .left{ + border: 1rpx solid #5694f0; + color: #409EFF; + background-color:#fff; + border-radius:15rpx; + line-height:60rpx; + margin-right:60rpx; + width: 215rpx; + font-size: 30rpx; + } + .left:hover{ + opacity: 0.8; + } + .right{ + background-color:#409EFF; + color: #fff; + border-radius:15rpx; + line-height:60rpx; + width: 215rpx; + font-size: 30rpx; + } + .right:hover{ + opacity:0.8; + } + } + .form-box{ + width: 580rpx; + height:90%; + overflow: scroll; + .devide-name{ + width:100%; + color: #30b351; + margin:20rpx 0; + } + .form-item{ + width:100%; + } + } + } + } + } + +</style> diff --git a/static/images/maintain/switch-off.png b/static/images/maintain/switch-off.png new file mode 100644 index 0000000..5ae150f --- /dev/null +++ b/static/images/maintain/switch-off.png Binary files differ diff --git a/static/images/maintain/switch-on.png b/static/images/maintain/switch-on.png new file mode 100644 index 0000000..48fc021 --- /dev/null +++ b/static/images/maintain/switch-on.png Binary files differ diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js index ca5d79a..5eec553 100644 --- a/unpackage/dist/dev/mp-weixin/api/index.js +++ b/unpackage/dist/dev/mp-weixin/api/index.js @@ -123,6 +123,18 @@ function searchWaterFacilityApi(data) { return util_request.request(`/waterFacility/search`, data, "POST"); } +function getFacilityApi(id) { + return util_request.request(`/waterFacility/get?id=${id}`, {}, "GET"); +} +function openFacilityApi(data) { + return util_request.request("/api/facility/open", data, "POST"); +} +function closeFacilityApi(data) { + return util_request.request("/api/facility/close", data, "POST"); +} +function getParameterApi(sn) { + return util_request.request(`/waterFacility/getParameter?sn=${sn}`, {}, "GET"); +} exports.adminDetailApi = adminDetailApi; exports.adminLoginApi = adminLoginApi; exports.askShareApi = askShareApi; @@ -130,12 +142,15 @@ exports.balanceChangeApi = balanceChangeApi; exports.balanceStatisticsApi = balanceStatisticsApi; exports.buyWaterApi = buyWaterApi; +exports.closeFacilityApi = closeFacilityApi; exports.creatUserArchive = creatUserArchive; exports.deleteAddressApi = deleteAddressApi; exports.editAddressApi = editAddressApi; exports.editShareTypeApi = editShareTypeApi; exports.editUserInfoApi = editUserInfoApi; exports.getAddressApi = getAddressApi; +exports.getFacilityApi = getFacilityApi; +exports.getParameterApi = getParameterApi; exports.getParentAreaApi = getParentAreaApi; exports.getPriceBySnApi = getPriceBySnApi; exports.getRegionApi = getRegionApi; @@ -150,6 +165,7 @@ exports.goodsSearchTypeApi = goodsSearchTypeApi; exports.infoBreakdownApi = infoBreakdownApi; exports.integralConvertApi = integralConvertApi; +exports.openFacilityApi = openFacilityApi; exports.paymentChangeApi = paymentChangeApi; exports.pointsExchangeApi = pointsExchangeApi; exports.pointsSearchApi = pointsSearchApi; diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js index f437de8..42bba60 100644 --- a/unpackage/dist/dev/mp-weixin/app.js +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -30,6 +30,8 @@ "./pagesAdmin/adminPlatform/home.js"; "./pagesAdmin/adminPlatform/facility.js"; "./pagesAdmin/adminPlatform/facilityDetail.js"; + "./pagesAdmin/adminPlatform/inspect.js"; + "./pagesAdmin/adminPlatform/params.js"; "./pagesPoints/pointsMall/index.js"; "./pagesPoints/pointsMall/pointsGetRecord/index.js"; "./pagesPoints/pointsMall/pointsExchangeRecord/index.js"; diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json index c1030b5..cfdec28 100644 --- a/unpackage/dist/dev/mp-weixin/app.json +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -32,7 +32,9 @@ "pages": [ "adminPlatform/home", "adminPlatform/facility", - "adminPlatform/facilityDetail" + "adminPlatform/facilityDetail", + "adminPlatform/inspect", + "adminPlatform/params" ] }, { diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js index 7383bba..f7f1e80 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -1,16 +1,16 @@ "use strict"; -const _imports_0$f = "/static/images/login/logo.png"; -const _imports_1$9 = "/static/images/login/wx.png"; +const _imports_0$g = "/static/images/login/logo.png"; +const _imports_1$a = "/static/images/login/wx.png"; const _imports_2$2 = "/static/images/login/close_pwd.png"; const _imports_3$3 = "/static/images/login/open_pwd.png"; const _imports_4$3 = "/static/images/login/switchto.svg"; -const _imports_0$e = "/static/images/index/head.png"; -const _imports_1$8 = "/static/images/index/back.png"; -const _imports_0$d = "/static/images/index/card11.png"; +const _imports_0$f = "/static/images/index/head.png"; +const _imports_1$9 = "/static/images/index/back.png"; +const _imports_0$e = "/static/images/index/card11.png"; const _imports_3$2 = "/static/images/index/code1.png"; const _imports_4$2 = "/static/images/index/vip-add.png"; const _imports_5$1 = "/static/images/index/home21.png"; -const _imports_1$7 = "/static/images/index/icon22.png"; +const _imports_1$8 = "/static/images/index/icon22.png"; const _imports_7 = "/static/images/index/icon23.png"; const _imports_8$1 = "/static/images/index/advert-icon3.svg"; const _imports_9$1 = "/static/images/index/advert-icon1.svg"; @@ -19,24 +19,26 @@ const _imports_12 = "/static/images/index/icon51.png"; const _imports_13 = "/static/images/index/more-info5.png"; const _imports_14 = "/static/images/index/notice5.png"; -const _imports_0$c = "/static/images/addCard/code.png"; -const _imports_1$6 = "/static/images/other/more.png"; -const _imports_0$b = "/static/images/other/expand.png"; -const _imports_1$5 = "/static/images/other/nodata.png"; -const _imports_0$a = "/static/images/other/code-none.png"; -const _imports_0$9 = "/static/images/address/edit.png"; -const _imports_1$4 = "/static/images/address/delete.png"; -const _imports_0$8 = "/static/images/address/expand.png"; -const _imports_0$7 = "/static/images/other/success.png"; -const _imports_0$6 = "/static/logo.png"; -const _imports_1$3 = "/static/images/other/img-add.png"; -const _imports_0$5 = "/static/images/other/home.svg"; -const _imports_0$4 = "/static/images/maintain/maintenance-head.svg"; -const _imports_1$2 = "/static/images/maintain/fun-icon1.svg"; +const _imports_0$d = "/static/images/addCard/code.png"; +const _imports_1$7 = "/static/images/other/more.png"; +const _imports_0$c = "/static/images/other/expand.png"; +const _imports_1$6 = "/static/images/other/nodata.png"; +const _imports_0$b = "/static/images/other/code-none.png"; +const _imports_0$a = "/static/images/address/edit.png"; +const _imports_1$5 = "/static/images/address/delete.png"; +const _imports_0$9 = "/static/images/address/expand.png"; +const _imports_0$8 = "/static/images/other/success.png"; +const _imports_0$7 = "/static/logo.png"; +const _imports_1$4 = "/static/images/other/img-add.png"; +const _imports_0$6 = "/static/images/other/home.svg"; +const _imports_0$5 = "/static/images/maintain/maintenance-head.svg"; +const _imports_1$3 = "/static/images/maintain/fun-icon1.svg"; const _imports_2$1 = "/static/images/maintain/fun-icon2.svg"; const _imports_3$1 = "/static/images/maintain/fun-icon3.svg"; const _imports_4$1 = "/static/images/maintain/fun-icon4.svg"; -const _imports_0$3 = "/static/images/maintain/expand.svg"; +const _imports_0$4 = "/static/images/maintain/expand.svg"; +const _imports_0$3 = "/static/images/maintain/switch-on.png"; +const _imports_1$2 = "/static/images/maintain/switch-off.png"; const _imports_0$2 = "/static/images/pointMall/back.svg"; const _imports_1$1 = "/static/images/pointMall/points.svg"; const _imports_2 = "/static/images/pointMall/points-icon.svg"; @@ -51,30 +53,32 @@ const _imports_0 = "/static/images/other/navBack.svg"; exports._imports_0 = _imports_0; exports._imports_0$1 = _imports_0$2; -exports._imports_0$10 = _imports_0$7; -exports._imports_0$11 = _imports_0$6; -exports._imports_0$12 = _imports_0$5; -exports._imports_0$13 = _imports_0$4; -exports._imports_0$14 = _imports_0$3; -exports._imports_0$15 = _imports_0$1; -exports._imports_0$2 = _imports_0$f; -exports._imports_0$3 = _imports_0$d; -exports._imports_0$4 = _imports_0$e; -exports._imports_0$5 = _imports_0$c; -exports._imports_0$6 = _imports_0$b; -exports._imports_0$7 = _imports_0$a; -exports._imports_0$8 = _imports_0$9; -exports._imports_0$9 = _imports_0$8; -exports._imports_1 = _imports_1$9; -exports._imports_1$1 = _imports_1$7; -exports._imports_1$2 = _imports_1$8; -exports._imports_1$3 = _imports_1$6; -exports._imports_1$4 = _imports_1$5; -exports._imports_1$5 = _imports_1$4; -exports._imports_1$6 = _imports_1$3; -exports._imports_1$7 = _imports_1$2; -exports._imports_1$8 = _imports_1$1; -exports._imports_1$9 = _imports_1; +exports._imports_0$10 = _imports_0$8; +exports._imports_0$11 = _imports_0$7; +exports._imports_0$12 = _imports_0$6; +exports._imports_0$13 = _imports_0$5; +exports._imports_0$14 = _imports_0$4; +exports._imports_0$15 = _imports_0$3; +exports._imports_0$16 = _imports_0$1; +exports._imports_0$2 = _imports_0$g; +exports._imports_0$3 = _imports_0$e; +exports._imports_0$4 = _imports_0$f; +exports._imports_0$5 = _imports_0$d; +exports._imports_0$6 = _imports_0$c; +exports._imports_0$7 = _imports_0$b; +exports._imports_0$8 = _imports_0$a; +exports._imports_0$9 = _imports_0$9; +exports._imports_1 = _imports_1$a; +exports._imports_1$1 = _imports_1$8; +exports._imports_1$10 = _imports_1; +exports._imports_1$2 = _imports_1$9; +exports._imports_1$3 = _imports_1$7; +exports._imports_1$4 = _imports_1$6; +exports._imports_1$5 = _imports_1$5; +exports._imports_1$6 = _imports_1$4; +exports._imports_1$7 = _imports_1$3; +exports._imports_1$8 = _imports_1$2; +exports._imports_1$9 = _imports_1$1; exports._imports_10 = _imports_10; exports._imports_11 = _imports_11; exports._imports_12 = _imports_12; diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index 53109de..d8e1b9f 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -8083,6 +8083,18 @@ style: { navigationBarTitleText: "" } + }, + { + path: "adminPlatform/inspect", + style: { + navigationBarTitleText: "" + } + }, + { + path: "adminPlatform/params", + style: { + navigationBarTitleText: "" + } } ] }, diff --git a/unpackage/dist/dev/mp-weixin/project.private.config.json b/unpackage/dist/dev/mp-weixin/project.private.config.json index 6d0a32f..9f29cc0 100644 --- a/unpackage/dist/dev/mp-weixin/project.private.config.json +++ b/unpackage/dist/dev/mp-weixin/project.private.config.json @@ -1,7 +1,7 @@ { "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", "projectname": "water-drinking-uniapp", - "setting": { + 0、- "setting": { "compileHotReLoad": true } } \ No newline at end of file -- Gitblit v1.9.3