From dca44dafaf6773c5176ef080368d7266a0fb2bec Mon Sep 17 00:00:00 2001 From: whycwx <1272078254@qq.com> Date: 星期三, 28 七月 2021 10:05:27 +0800 Subject: [PATCH] 机房列表 --- src/pages/index.vue | 8 +++- src/components/site/siteList.vue | 73 ++++++++++++++++++++++++++++++++++++ src/assets/js/api.js | 12 ++++++ 3 files changed, 91 insertions(+), 2 deletions(-) diff --git a/src/assets/js/api.js b/src/assets/js/api.js index e85914d..1e38e17 100644 --- a/src/assets/js/api.js +++ b/src/assets/js/api.js @@ -11,4 +11,16 @@ url: `LoginAction_login?uinf.UName=${username}&uinf.Upassword=${md5(password)}&uinf.UId=0`, data: null }) +} + +/** + * 鏌ヨ鏈烘埧淇℃伅 + * 鍙傛暟锛歫son = {"StationName1":"鍖椾含甯�","StationName2":"甯傝緰鍖�","StationName5":"娴锋穩鍖�"} + */ + export const searchStation = (params) => { + return axios({ + method: "post", + url: "BattInfAction!serchAllStationName", + data: "json=" + JSON.stringify(params) + }) } \ No newline at end of file diff --git a/src/components/site/siteList.vue b/src/components/site/siteList.vue new file mode 100644 index 0000000..d53f0fd --- /dev/null +++ b/src/components/site/siteList.vue @@ -0,0 +1,73 @@ +<template> + <div> + <van-list + :finished="finished" + finished-text="娌℃湁鏇村浜�" + @load="searchStation()" + > + <van-cell v-for="(item,i) in dataList" :key="i" :title="item.label"/> + </van-list> + </div> +</template> +<script> +import { searchStation } from "@/assets/js/api"; +export default { + data(){ + return { + finished: false, + dataList:[] + } + }, + mounted(){ + + }, + methods:{ + searchStation:function(){ + let self = this; + searchStation({ + StationName1:"", + StationName2:"", + StationName5:"", + }).then((res)=>{ + let rs = JSON.parse(res.data.result); + let data = []; + if(rs.code == 1) { + data = rs.data; + } + // 鏍煎紡鍖栨暟鎹� + this.formatData(data); + }); + }, + formatData(data) { + let self = this; + let homeList = []; + // 閬嶅巻鏁版嵁鏋勯�犳爲鐘� + data.forEach(item=>{ + let tmp = {}; + tmp.label = item.StationName1+"-"+item.StationName2+"-"+item.StationName5+"-"+item.StationName3; + tmp.key = item.FBSDeviceId+Math.random(); + tmp.id = item.FBSDeviceId; + tmp.data = item; + let index = this.checkValIsIn(tmp.label, homeList); + if(index == -1) { + homeList.push(tmp); + } + }); + self.dataList = homeList; + self.finished = true; + }, + checkValIsIn(val, arr) { + for(let i=0; i<arr.length; i++) { + if(arr[i].label == val) { + return i; + } + } + return -1; + }, + } + +} +</script> +<style scoped> + +</style> \ No newline at end of file diff --git a/src/pages/index.vue b/src/pages/index.vue index d07371f..11fb820 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -7,16 +7,20 @@ <china-map ref="chinaMap" id="chinaMap" name="zhongguo"></china-map> </div> </van-tab> - <van-tab title="绔欑偣鍒楄〃">鍐呭 2</van-tab> + <van-tab title="绔欑偣鍒楄〃"> + <site-list ref="siteList" id="siteList"></site-list> + </van-tab> </van-tabs> </div> </template> <script> import ChinaMap from '@/components/chart/chinaMap.vue' + import siteList from '@/components/site/siteList.vue' export default { components: { - ChinaMap + ChinaMap, + siteList }, data() { return { -- Gitblit v1.9.1