|
@@ -8,30 +8,30 @@
|
|
|
</van-nav-bar>
|
|
|
<!-- 搜索框 -->
|
|
|
<div class='equipment-search-container'>
|
|
|
- <van-search class='equipment-search' v-model='keyword' placeholder='请输入设备简称或设备内编码' @search='onSearch'></van-search>
|
|
|
+ <van-search class='equipment-search' v-model='keyword' placeholder='请输入设备名称或内码' @search='onSearch'></van-search>
|
|
|
</div>
|
|
|
<!-- 设备列表 -->
|
|
|
<div class='equipment-list' v-if='list.length'>
|
|
|
<van-list v-model='loading' :finished='finished' finished-text='没有更多了' :offset='20' :immediate-check='false' @load='onLoad'>
|
|
|
- <div class='equipment' v-for='(item,index) in 5' :key='index'>
|
|
|
- <p class='title'>商业楼/B2/停车场/变电所/大商2号变电所-进线柜-隔离柜AH1 201-2</p>
|
|
|
+ <div class='equipment' v-for='(item,index) in list' :key='index'>
|
|
|
+ <p class='title'>{{item.sbqc}}</p>
|
|
|
<div class='assetnum-attribution'>
|
|
|
<div class='assetnum'>
|
|
|
<div class='label'>设备内码:</div>
|
|
|
- <div class='value'>30715</div>
|
|
|
+ <div class='value'>{{item.assetnum}}</div>
|
|
|
</div>
|
|
|
<div class='attribution'>
|
|
|
<div class='label'>管理归属:</div>
|
|
|
- <div class='value'>商管</div>
|
|
|
+ <div class='value'>{{item.sbglgs}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class='brand'>
|
|
|
<div class='label'>{{'品\u3000\u3000牌:'}}</div>
|
|
|
- <div class='value'>万宁电力</div>
|
|
|
+ <div class='value'>{{item.brand || '--'}}</div>
|
|
|
</div>
|
|
|
<div class='manufacturer'>
|
|
|
<div class='label'>生产厂商:</div>
|
|
|
- <div class='value'>上海中发电气(集团)股份有限公司</div>
|
|
|
+ <div class='value'>{{item.manufacturer}}</div>
|
|
|
</div>
|
|
|
<div class='floor-status'>
|
|
|
<div class='floor'>
|
|
@@ -39,11 +39,11 @@
|
|
|
<i class='iconfont wanda-dingwei1' style='color:#C3C7CB;'></i>
|
|
|
<span>楼层:</span>
|
|
|
</div>
|
|
|
- <div class='value'>B2</div>
|
|
|
+ <div class='value'>{{item.floorcode}}</div>
|
|
|
</div>
|
|
|
- <div class='status run' v-if='1'>运行</div>
|
|
|
- <div class='status wx' v-else-if='2'>维修</div>
|
|
|
- <div class='status wb' v-else>维保</div>
|
|
|
+ <div class='status run' v-if='item.sb_status === "运行"'>运行</div>
|
|
|
+ <div class='status wx' v-else-if='item.sb_status === "维修"'>维修</div>
|
|
|
+ <div class='status wb' v-else-if='item.sb_status === "维保"'>维保</div>
|
|
|
</div>
|
|
|
<div class='divider'></div>
|
|
|
</div>
|
|
@@ -94,6 +94,7 @@ import { NavBar, Search, List, Cell, Icon, Popup, Button, Empty } from 'vant'
|
|
|
Vue.use(NavBar).use(Search).use(List).use(Cell).use(Icon).use(Popup).use(Button).use(Empty)
|
|
|
import { mapGetters } from 'vuex'
|
|
|
import { queryOptions } from '@/api/public'
|
|
|
+import { queryEquipmentList } from '@/api/equipmentList'
|
|
|
import { sleep } from '@/utils/util'
|
|
|
import { cloneDeep } from 'lodash'
|
|
|
export default {
|
|
@@ -105,7 +106,7 @@ export default {
|
|
|
keyword: '',
|
|
|
page: 1,
|
|
|
size: 10,
|
|
|
- list: [{ a: 1 }, { a: 2 }],
|
|
|
+ list: [],
|
|
|
loading: false,
|
|
|
finished: false,
|
|
|
showPopup: false,
|
|
@@ -123,6 +124,7 @@ export default {
|
|
|
floor: '',
|
|
|
attribution: '',
|
|
|
},
|
|
|
+ major: '暖通',
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -130,28 +132,41 @@ export default {
|
|
|
},
|
|
|
components: {},
|
|
|
created() {
|
|
|
- window.vm = this
|
|
|
// 设置 筛选抽屉中的 楼层
|
|
|
let floorList = [{ code: '全部', gcname: '全部', gcode: '全部', gname: '全部', seq: null, active: 'active' }]
|
|
|
this.floorsArr.map(({ code, gcname, gcode, gname, seq }) => {
|
|
|
floorList.push({ code, gcname, gcode, gname, seq, active: '' })
|
|
|
})
|
|
|
this.floorList = floorList
|
|
|
- console.log(this.floorList)
|
|
|
+ // 查询列表
|
|
|
+ this.onLoad()
|
|
|
// 查询归属管理
|
|
|
this.getOptions()
|
|
|
- },
|
|
|
+ },
|
|
|
beforeMount() {},
|
|
|
mounted() {},
|
|
|
methods: {
|
|
|
async getOptions() {
|
|
|
let data = {
|
|
|
- major: '暖通',
|
|
|
- plazaId: 1000423,
|
|
|
+ major: this.major,
|
|
|
+ plazaId: this.plazaId,
|
|
|
onlyMainAsset: true,
|
|
|
}
|
|
|
- let postParams = [{ columnName: { sbglgs: 'sbglgs' }, params: { tab_code: '' }, tableName: 'sms_asset' }]
|
|
|
- await queryOptions({ data, postParams })
|
|
|
+ // TODO: type_code
|
|
|
+ let postParams = [{ columnName: { sbglgs: 'sbglgs' }, params: { type_code: 'nt011' }, tableName: 'sms_asset' }]
|
|
|
+ let res = await queryOptions({ data, postParams })
|
|
|
+ if (!res?.data?.data) {
|
|
|
+ this.attributionList = [{ text: '全部', id: '全部', active: 'active' }]
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let attributionList = res.data.data.sms_asset.sbglgs
|
|
|
+ // value,key --> text,id
|
|
|
+ attributionList.map((item) => {
|
|
|
+ item.text = item.value
|
|
|
+ item.id = item.key
|
|
|
+ item.active = false
|
|
|
+ })
|
|
|
+ this.attributionList = [{ text: '全部', id: '全部', active: 'active' }, ...attributionList]
|
|
|
},
|
|
|
backPage() {
|
|
|
this.$router.go(-1)
|
|
@@ -172,13 +187,68 @@ export default {
|
|
|
this.initData()
|
|
|
this.onLoad()
|
|
|
},
|
|
|
- initData() {},
|
|
|
- onLoad() {},
|
|
|
+ /**
|
|
|
+ * 初始化数据
|
|
|
+ */
|
|
|
+ initData() {
|
|
|
+ this.list = []
|
|
|
+ this.page = 1
|
|
|
+ this.count = 0
|
|
|
+ this.finished = false
|
|
|
+ },
|
|
|
+ async onLoad() {
|
|
|
+ // console.log('onload')
|
|
|
+ if (this.page > 1) {
|
|
|
+ // await sleep(1000)
|
|
|
+ }
|
|
|
+ await this.getList()
|
|
|
+ this.page++
|
|
|
+ this.loading = false
|
|
|
+ if (this.list.length >= this.count) {
|
|
|
+ this.finished = true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getList() {
|
|
|
+ let queryData = {
|
|
|
+ data: {
|
|
|
+ major: this.major,
|
|
|
+ plazaId: this.plazaId,
|
|
|
+ page: this.page,
|
|
|
+ size: this.size,
|
|
|
+ onlyMainAsset: true,
|
|
|
+ },
|
|
|
+ postParams: {
|
|
|
+ brand: '--',
|
|
|
+ classstructureid: '1714',
|
|
|
+ manufacturer: '深圳麦克威尔空调制冷有限公司',
|
|
|
+ sbxh: '050A',
|
|
|
+ type_code: 'nt023',
|
|
|
+ },
|
|
|
+ }
|
|
|
+ // 关键字搜索
|
|
|
+ if (this.keyword) {
|
|
|
+ queryData.data.keyword = `${this.keyword}:sbjc,assetnum;`
|
|
|
+ }
|
|
|
+ // 筛选楼层
|
|
|
+ if (this.currentFloor && this.currentFloor !== '全部') {
|
|
|
+ queryData.postParams.gname = this.currentFloor
|
|
|
+ }
|
|
|
+ // 筛选管理归属
|
|
|
+ if (this.currentAttribution && this.currentAttribution !== '全部') {
|
|
|
+ queryData.postParams.sbglgs = this.currentAttribution
|
|
|
+ }
|
|
|
+ let res = await queryEquipmentList(queryData)
|
|
|
+ if (!res?.data?.data) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ let resData = res.data.data || []
|
|
|
+ this.list = [...this.list, ...resData]
|
|
|
+ this.count = res.data.count
|
|
|
+ },
|
|
|
/**
|
|
|
* popup 更改楼层
|
|
|
*/
|
|
|
changeFloor(data) {
|
|
|
- console.log(data)
|
|
|
let floorList = this.floorList
|
|
|
floorList.map((item) => {
|
|
|
item.active = ''
|
|
@@ -214,7 +284,12 @@ export default {
|
|
|
floor: '',
|
|
|
wellType: '',
|
|
|
}
|
|
|
- this.attributionList = [{ text: '全部', id: '全部', active: 'active' }]
|
|
|
+ let attributionList = cloneDeep(this.attributionList)
|
|
|
+ attributionList.map((item) => {
|
|
|
+ item.active = ''
|
|
|
+ item.text === '全部' && (item.active = 'active')
|
|
|
+ })
|
|
|
+ this.attributionList = attributionList
|
|
|
this.currentFloor = '全部'
|
|
|
this.currentAttribution = '全部'
|
|
|
this.showPopup = false
|
|
@@ -273,7 +348,7 @@ export default {
|
|
|
position: relative;
|
|
|
padding: 16px 10px 0;
|
|
|
.title {
|
|
|
- height: 44px;
|
|
|
+ // height: 44px;
|
|
|
font-size: 16px;
|
|
|
font-weight: 500;
|
|
|
color: #333333;
|