StoreItemVideo.vue 1.63 KB
<template>
  <view class="area-list">
    <view v-for="mItem in list" class="area-item" :key="mItem.id" span="6"
      @click="handleInspection(mItem)">
      <view class="monitor-status">
        <uv-image v-if="mItem.status === 1" src="/static/inspection/online-2x.png" width="40rpx"
          height="40rpx"></uv-image>
        <uv-image v-else src="/static/inspection/offline-2x.png" width="40rpx" height="40rpx"></uv-image>
      </view>
      <view class="monitor-name">
        <uv-text :lines="1" :text="mItem.name" size="26rpx" color="#656A72 ">
        </uv-text>
      </view>
    </view>
  </view>
</template>

<script setup>
  const props = defineProps({
    list:{
      type:Array,
      default:()=>[]
    }
  })

  function handleInspection(data) {
    const strData = JSON.stringify(data)
    // 存储数据到localstorage中
    uni.setStorage({
      key: 'inspectionCurrentMonitor',
      data: strData,
      success() {
        // 成功后,跳转页面
        uni.navigateTo({
          url: `/subPackages/accountGroup/pages/inspection/inspectionPlayer`,
        })
      }
    });
  }
</script>

<style lang="scss" scoped>
  .area-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  
    .area-item {
      width: 322rpx;
      height: 60rpx;
      padding-right: 10rpx;
      background-color: #f2f3f6;
      border-radius: 8rpx;
      margin-bottom: 16rpx;
      display: flex;
      flex-direction: row;
      align-items: center;
      .monitor-status{
        margin: 0 8rpx 0 10rpx;
      }
      .monitor-name{
        flex: 1;
      }
    }
  }
</style>