From 98a835cc45adbe5ef8ee3cca5ad478f7df673b80 Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期三, 27 十一月 2024 17:20:33 +0800 Subject: [PATCH] 添加设备管理列表 --- unpackage/dist/dev/mp-weixin/pages/index/index.js | 2 static/images/maintain/expand.svg | 1 unpackage/dist/dev/mp-weixin/common/vendor.js | 6 + unpackage/dist/dev/mp-weixin/api/index.js | 8 + pages.json | 7 + pagesAdmin/adminPlatform/facility.vue | 248 ++++++++++++++++++++++++++++++++++++++++ unpackage/dist/dev/mp-weixin/app.js | 1 api/index.js | 8 + unpackage/dist/dev/mp-weixin/app.json | 3 pagesAdmin/adminPlatform/facilityDetail.vue | 13 ++ pages/index/index.vue | 2 unpackage/dist/dev/mp-weixin/common/assets.js | 52 ++++---- 12 files changed, 318 insertions(+), 33 deletions(-) diff --git a/api/index.js b/api/index.js index cf1fa2f..98c0fce 100644 --- a/api/index.js +++ b/api/index.js @@ -160,6 +160,14 @@ export function getWaterConsumptionApi(data){ return request(`/homePage/getWaterConsumption`,data,'POST') } +//获取区域数据 +export function getParentAreaApi(){ + return request(`/waterArea/getParentArea`,{},'GET') +} +//获取设备列表 +export function searchWaterFacilityApi(data){ + return request(`/waterFacility/search`,data,'POST') +} diff --git a/pages.json b/pages.json index 4d50a03..5ecbbec 100644 --- a/pages.json +++ b/pages.json @@ -202,6 +202,13 @@ "style": { "navigationStyle":"custom" } + }, + { + "path" : "adminPlatform/facilityDetail", + "style" : + { + "navigationBarTitleText" : "" + } } ] }, diff --git a/pages/index/index.vue b/pages/index/index.vue index 53f59f5..cc05881 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -340,7 +340,7 @@ </view> </view> <view class="function-box1"> - <view class="box1-bg box1-one" @click="upGrade"> + <view class="box1-bg box1-one" @click="navTo('/pages/preSendWater/index')"> <image src="../../static/images/index/home21.png" alt=""></image> <view>送水到家</view> </view> diff --git a/pagesAdmin/adminPlatform/facility.vue b/pagesAdmin/adminPlatform/facility.vue index 0d9ca6c..7418124 100644 --- a/pagesAdmin/adminPlatform/facility.vue +++ b/pagesAdmin/adminPlatform/facility.vue @@ -1,13 +1,251 @@ <script setup> + import{ ref,onMounted } from 'vue' + import { getParentAreaApi,searchWaterFacilityApi } from '../../api/index.js' + //区域搜索相关 + const DaTreeRef = ref() + const regionListTree = ref([]) + const selectedReigonId = ref([]) + const selectedReigonName = ref([]) + async function getRegionList(){ + await getParentAreaApi().then((res) =>{ + if(res.code == 200){ + regionListTree.value = res.data + // regionListTree.value[0].children.push({id: "1", areaName: "B2栋5-1"}) + // regionListTree.value[0].children.push({id: "2", areaName: "B2栋1"}) + // regionListTree.value[0].children.push({id: "3", areaName: "B2栋2"}) + // regionListTree.value[0].children.push({id: "4", areaName: "B2栋3"}) + // regionListTree.value[0].children.push({id: "5", areaName: "B2栋4"}) + // regionListTree.value[0].children.push({id: "6", areaName: "B2栋5"}) + // regionListTree.value[0].children.push({id: "7", areaName: "B2栋6"}) + // regionListTree.value[0].children.push({id: "8", areaName: "B2栋7"}) + // regionListTree.value[0].children.push({id: "9", areaName: "B2栋8"}) + } + }) + } + //选中区域 + function handleTreeChange(e,e2){ + isExpand.value = false + // if(DaTreeRef.value.getHalfCheckedKeys()){ + // selectedReigonId.value = DaTreeRef.value.getHalfCheckedKeys().concat(DaTreeRef.value.getCheckedKeys()) + // }else{ + selectedReigonId.value = DaTreeRef.value.getCheckedKeys() + console.log(123,selectedReigonId.value) + // } + setRegionName() + } + //设置选中区域名 + function setRegionName(){ + let nodeList + let nameList = [] + //判断选中是否根节点,根节点直接取选中node值 + if(DaTreeRef.value.getHalfCheckedNodes()){ + nodeList = DaTreeRef.value.getHalfCheckedNodes().concat(DaTreeRef.value.getCheckedNodes()) + }else{ + nodeList = DaTreeRef.value.getCheckedNodes() + } + nodeList.forEach((item)=>{ + nameList.push(item.label) + }) + selectedReigonName.value = nameList.join() + console.log('000',selectedReigonName.value,selectedReigonId.value) + } + //搜索样式 + const isExpand = ref(false) + const iconRotated = ref({ + transform:'rotate(90deg)' + }) + function setExpand(){ + isExpand.value = isExpand.value ? false : true + } + //获取设备列表 + const facilityList = ref([]) + async function getList(e){ + let postParams + if(e){ + postParams = {limit:100,page:1,areaId:selectedReigonId.value[0]} + }else{ + postParams = {limit:100,page:1} + } + await searchWaterFacilityApi(postParams).then((res) =>{ + if(res.code == 200){ + facilityList.value = res.data.list + facilityList.value.forEach((item) =>{ + item.onLineStateView = item.onLineState == 1 ? '在线' : (item.onLineState == 0 ? '离线' : '') + }) + } + }) + } + function navTo(){ + uni.navigateTo({ + url:'/pagesAdmin/adminPlatform/facilityDetail' + }) + } + onMounted(async() =>{ + await getRegionList() + await getList() + }) </script> <template> - <view> - + <view class="container"> + <navbar title = '设备管理'></navbar> + <view class="content"> + <view class="search"> + <view class="search-text">区域选择:</view> + <view class="search-box"> + <view class="placeholder" @click="setExpand"> + <view v-if="selectedReigonName.length > 0" class="selected-Name"><text>{{selectedReigonName}}</text></view> + <text v-else>分区区域</text> + <image class="expand-icon" :style="isExpand ? '':iconRotated" src="../../static/images/maintain/expand.svg"></image> + </view> + <view v-if="isExpand" class="search-content"> + <DaTree ref="DaTreeRef" + :data="regionListTree" + labelField="areaName" + valueField="id" + defaultExpandAll + :showRadioIcon='false' + @change="handleTreeChange" + </DaTree> + </view> + </view> + <view @click="getList(1)" class="search-btn">搜索</view> + </view> + <view class="main"> + <view class="item-box" v-for="(item,index) in facilityList" :key="index"> + <view class="item"> + <view class="item-left"> + <text class="item-name">{{item.facilityName}}</text> + <view class="item-state"> + 设备状态 + <text class="item-state-value">{{item.onLineStateView}}</text> + </view> + </view> + <view class="item-right" @click="navTo"> + <text>查看详情</text> + </view> + </view> + </view> + </view> + </view> </view> </template> - -<style> - +<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; + .search{ + width:100%; + height:130rpx; + background:rgba(255,255,255,0.5); + z-index:2; + padding:30rpx 40rpx; + box-sizing: border-box; + border-radius:5rpx; + .search-text{ + float: left; + line-height:70rpx; + color:rgba(39, 39, 39, 0.8); + } + .search-btn{ + float: right; + line-height:70rpx; + width:100rpx; + height:70rpx; + background: #a2c5fc; + text-align: center; + border-radius: 15rpx; + } + .search-box{ + position:relative; + width:100%; + float: left; + width:320rpx; + height:70rpx; + background: #fff; + border-radius:10rpx; + .placeholder{ + height:100%; + display: flex; + justify-content: space-between; + align-items: center; + color: #85898c; + padding:0 10rpx 0 20rpx ; + box-sizing: border-box; + .selected-Name{ + height:100%; + color: #6f7375; + font-size:24rpx; + line-height:70rpx; + overflow: hidden; + } + .expand-icon{ + width:44rpx; + height:44rpx; + } + } + .search-content{ + position: absolute; + margin:0 auto; + z-index:2; + float: left; + width:100%; + background: rgba(255,255,255,0.7); + top:80rpx; + } + } + } + .main{ + margin-top:4%; + width:100%; + height:86%; + background:rgba(255, 255, 255,1); + padding:30rpx; + box-sizing: border-box; + border-radius:5rpx; + .item-box{ + width:100%; + height:120rpx; + background: #f2f3f3; + margin-top:20rpx; + padding:20rpx; + box-sizing: border-box; + .item{ + width:100%; + height:100%; + display:flex; + justify-content: space-between; + align-items: center; + .item-left{ + height:100%; + display: flex; + flex-direction: column; + justify-content: space-evenly; + .item-name{ + color: #3d84c7; + } + .item-state{ + color: #9a9fa2; + font-size:28rpx; + .item-state-value{ + color: #eebe4c; + } + } + } + .item-right{ + color: #5281c7; + font-size: 30rpx; + } + } + + } + } + } + } </style> diff --git a/pagesAdmin/adminPlatform/facilityDetail.vue b/pagesAdmin/adminPlatform/facilityDetail.vue new file mode 100644 index 0000000..a9348a8 --- /dev/null +++ b/pagesAdmin/adminPlatform/facilityDetail.vue @@ -0,0 +1,13 @@ +<script setup> + +</script> +<template> + <view> + <navbar title='设备详情'></navbar> + 设备详情 + </view> +</template> + +<style lang="scss" scoped> + +</style> diff --git a/static/images/maintain/expand.svg b/static/images/maintain/expand.svg new file mode 100644 index 0000000..7ca58ee --- /dev/null +++ b/static/images/maintain/expand.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732692767589" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4253" width="26" height="26" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M794.88 449.28l-268.8 268.8a37.12 37.12 0 0 1-53.76 0l-268.8-268.8C180.48 426.24 195.84 384 230.4 384H768c34.56 0 49.92 42.24 26.88 65.28z" fill="#bfbfbf" p-id="4254"></path></svg> \ No newline at end of file diff --git a/unpackage/dist/dev/mp-weixin/api/index.js b/unpackage/dist/dev/mp-weixin/api/index.js index f57cce0..ca5d79a 100644 --- a/unpackage/dist/dev/mp-weixin/api/index.js +++ b/unpackage/dist/dev/mp-weixin/api/index.js @@ -117,6 +117,12 @@ function getWaterConsumptionApi(data) { return util_request.request(`/homePage/getWaterConsumption`, data, "POST"); } +function getParentAreaApi() { + return util_request.request(`/waterArea/getParentArea`, {}, "GET"); +} +function searchWaterFacilityApi(data) { + return util_request.request(`/waterFacility/search`, data, "POST"); +} exports.adminDetailApi = adminDetailApi; exports.adminLoginApi = adminLoginApi; exports.askShareApi = askShareApi; @@ -130,6 +136,7 @@ exports.editShareTypeApi = editShareTypeApi; exports.editUserInfoApi = editUserInfoApi; exports.getAddressApi = getAddressApi; +exports.getParentAreaApi = getParentAreaApi; exports.getPriceBySnApi = getPriceBySnApi; exports.getRegionApi = getRegionApi; exports.getRuleDetailApi = getRuleDetailApi; @@ -152,6 +159,7 @@ exports.reportLossApi = reportLossApi; exports.searchAddress = searchAddress; exports.searchFacilityApi = searchFacilityApi; +exports.searchWaterFacilityApi = searchWaterFacilityApi; exports.setAddressDefaultApi = setAddressDefaultApi; exports.siteApi = siteApi; exports.wxLoginApi = wxLoginApi; diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js index 91c2836..f437de8 100644 --- a/unpackage/dist/dev/mp-weixin/app.js +++ b/unpackage/dist/dev/mp-weixin/app.js @@ -29,6 +29,7 @@ "./pages/wxScanWater/index.js"; "./pagesAdmin/adminPlatform/home.js"; "./pagesAdmin/adminPlatform/facility.js"; + "./pagesAdmin/adminPlatform/facilityDetail.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 1a2a46f..c1030b5 100644 --- a/unpackage/dist/dev/mp-weixin/app.json +++ b/unpackage/dist/dev/mp-weixin/app.json @@ -31,7 +31,8 @@ "root": "pagesAdmin", "pages": [ "adminPlatform/home", - "adminPlatform/facility" + "adminPlatform/facility", + "adminPlatform/facilityDetail" ] }, { diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js index e8596a8..7383bba 100644 --- a/unpackage/dist/dev/mp-weixin/common/assets.js +++ b/unpackage/dist/dev/mp-weixin/common/assets.js @@ -1,12 +1,12 @@ "use strict"; -const _imports_0$e = "/static/images/login/logo.png"; +const _imports_0$f = "/static/images/login/logo.png"; const _imports_1$9 = "/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$d = "/static/images/index/head.png"; +const _imports_0$e = "/static/images/index/head.png"; const _imports_1$8 = "/static/images/index/back.png"; -const _imports_0$c = "/static/images/index/card11.png"; +const _imports_0$d = "/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"; @@ -19,23 +19,24 @@ 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$b = "/static/images/addCard/code.png"; +const _imports_0$c = "/static/images/addCard/code.png"; const _imports_1$6 = "/static/images/other/more.png"; -const _imports_0$a = "/static/images/other/expand.png"; +const _imports_0$b = "/static/images/other/expand.png"; const _imports_1$5 = "/static/images/other/nodata.png"; -const _imports_0$9 = "/static/images/other/code-none.png"; -const _imports_0$8 = "/static/images/address/edit.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$7 = "/static/images/address/expand.png"; -const _imports_0$6 = "/static/images/other/success.png"; -const _imports_0$5 = "/static/logo.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$4 = "/static/images/other/home.svg"; -const _imports_0$3 = "/static/images/maintain/maintenance-head.svg"; +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_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$2 = "/static/images/pointMall/back.svg"; const _imports_1$1 = "/static/images/pointMall/points.svg"; const _imports_2 = "/static/images/pointMall/points-icon.svg"; @@ -50,19 +51,20 @@ 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$6; -exports._imports_0$11 = _imports_0$5; -exports._imports_0$12 = _imports_0$4; -exports._imports_0$13 = _imports_0$3; -exports._imports_0$14 = _imports_0$1; -exports._imports_0$2 = _imports_0$e; -exports._imports_0$3 = _imports_0$c; -exports._imports_0$4 = _imports_0$d; -exports._imports_0$5 = _imports_0$b; -exports._imports_0$6 = _imports_0$a; -exports._imports_0$7 = _imports_0$9; -exports._imports_0$8 = _imports_0$8; -exports._imports_0$9 = _imports_0$7; +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; diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js index fd8677b..53109de 100644 --- a/unpackage/dist/dev/mp-weixin/common/vendor.js +++ b/unpackage/dist/dev/mp-weixin/common/vendor.js @@ -8077,6 +8077,12 @@ style: { navigationStyle: "custom" } + }, + { + path: "adminPlatform/facilityDetail", + style: { + navigationBarTitleText: "" + } } ] }, diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.js b/unpackage/dist/dev/mp-weixin/pages/index/index.js index 9c01150..fc913b6 100644 --- a/unpackage/dist/dev/mp-weixin/pages/index/index.js +++ b/unpackage/dist/dev/mp-weixin/pages/index/index.js @@ -325,7 +325,7 @@ } : {}) : {}, { B: topHeight.value + "rpx", C: common_assets._imports_5, - D: common_vendor.o(upGrade), + D: common_vendor.o(($event) => navTo("/pages/preSendWater/index")), E: common_assets._imports_1$1, F: common_vendor.o(($event) => navTo("/pages/facilityList/index")), G: common_assets._imports_7, -- Gitblit v1.9.3