ll
liukangdong
2024-12-06 86baa8ff948d2e79588e0dd7efa16f6b8ac3b157
screen/src/views/SecurityControl.vue
@@ -3,7 +3,7 @@
    <div class="main_app">
      <img src="@/assets/images/SecurityControl/bg@2x.png" class="main_bg" alt="" />
      <div class="main_header">
        <img src="@/assets/images/maintitle@2x.png" class="main_header_bg" alt="" />
        <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
        <div class="title">安泰智慧物流园区-安防智能监测</div>
        <div class="time_wrap">
          <span class="date">{{ date }}</span>
@@ -367,8 +367,12 @@
                    </div>
                  </div>
                </div>
                <div v-if="warningList.length == 0" class="empty_wrap">
                  <img src="@/assets/images/default_empty.png" alt="">
                </div>
              </div>
            </div>
          </div>
        </div>
@@ -461,8 +465,8 @@
                </div>
              </div>
            </div>
            <div class="empty_wrap">
              <img v-if="dataList3.length == 0" src="@/assets/images/default_empty.png" alt="">
            <div v-if="dataList3.length == 0" class="empty_wrap">
              <img src="@/assets/images/default_empty.png" alt="">
            </div>
          </div>
        </div>
@@ -655,23 +659,24 @@
    }]),
    new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
      offset: 0,
      color: '#4370f2'
    }, {
      offset: 1,
      color: '#61d3f9'
    }]),
    new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
      offset: 0,
      color: '#4679f6'
    }, {
      offset: 1,
      color: '#4674f6'
    }]),
    new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
      offset: 0,
      color: '#4370f2'
    }, {
      offset: 1,
      color: '#61d3f9'
    }])]
  ]
  const data = []
  data.push({ name: '待访问', value: data4.value.waitVisitNum, rate: data4.value.waitVisitNum / data4.value.total })
  data.push({ name: '已登记', value: data4.value.registerVisitNum, rate: data4.value.registerVisitNum / data4.value.total })
  data.push({ name: '已离开', value: data4.value.levelNum, rate: data4.value.levelNum / data4.value.total })
  data.push({ name: '滞留', value: data4.value.retentionNum, rate: data4.value.retentionNum / data4.value.total })
  data.push({ name: '待访问', value: data4.value.waitVisitNum, rate: (data4.value.waitVisitNum / data4.value.total).toFixed(1) })
  data.push({ name: '已登记', value: data4.value.registerVisitNum, rate: (data4.value.registerVisitNum / data4.value.total).toFixed(1) })
  data.push({ name: '已离开', value: data4.value.levelNum, rate: (data4.value.levelNum / data4.value.total).toFixed(1) })
  data.push({ name: '滞留', value: data4.value.retentionNum, rate: (data4.value.retentionNum / data4.value.total).toFixed(1) })
  const option = {
    color: colors,
    tooltip: {
@@ -735,12 +740,16 @@
        label: {
          show: true,
          position: 'outside',
          formatter: '{a|{b}}  {a|{d}%}',
          formatter: (params) => {
            const index = params.dataIndex;
            return `{color${index}|${params.data.name} ${params.data.rate}%}`
            // return `<div>${params.data.name}</div>`
          },
          rich: {
            a: {
              color: '#869CC9',
              fontSize: 13
            },
            color0: { color: 'orange', fontSize: 14 },
            color1: { color: '#869CC9', fontSize: 13 },
            color2: { color: '#869CC9', fontSize: 13 },
            color3: { color: '#869CC9', fontSize: 13 }
          }
        },
        labelLine: {
@@ -819,7 +828,6 @@
      dataListT2.value = temp
    }
    initEchart2()
    loopFn2()
  })
}
@@ -847,36 +855,8 @@
      return i
    })
    initEchart3()
    loopFn3()
  })
  // getVisitRetentionData().then(res => {
  //   const result = res.data || []
  //   dataList3.value = result.map(i => {
  //     if (i.timeOutMinute) {
  //       i.timeOutMinute = Math.abs(i.timeOutMinute)
  //     }
  //     if (i.timeOutMinute > 60 * 24) {
  //       i.timeOutMinuteT = dayjs.duration(i.timeOutMinute * 60 * 1000).format('D天H时m分')
  //     } else if (i.timeOutMinute > 60) {
  //       i.timeOutMinuteT = dayjs.duration(i.timeOutMinute * 60 * 1000).format('H时m分')
  //     } else {
  //       i.timeOutMinuteT = item.timeOutMinuteT + '分'
  //     }
  //     return i
  //   })
  //   loopFn3()
  // })
}
// const data4 = ref({})
// const getData4 = () => {
//   afgetVisitData().then(res => {
//     const result = res.data || {}
//     data4.value = result
//     initEchart3()
//   })
// }
const warningTab = ref('0')
const warningNum = ref(0)
@@ -894,7 +874,6 @@
    warningList.value.forEach((item, i) => {
      // console.log(i);
      if (i == 0 || i % 2 == 0) {
        console.log(i)
        temp.push(item)
      } else {
        temp[temp.length - 1].addr0 = item.addr
@@ -906,7 +885,6 @@
    })
    warningList.value = temp
    // console.log('temp', warningList.value);
    loopFn1()
  })
}
const tasClick = (val) => {
@@ -988,11 +966,26 @@
  getData1()
  getData2()
  getData3()
  // getData4()
  getData5()
  getWarning()
  // initEchart1()
  setInterval(() => {
    getData1()
    getData2()
    getData3()
    getWarning()
  }, 1000 * 60)
  setInterval(() => {
    getData5()
  }, 1000 * 60 * 60)
  setTimeout(() => {
    loopFn1()
    loopFn2()
    loopFn3()
  }, 12000)
})
@@ -1273,7 +1266,7 @@
          .menu_wrap {
            margin-top: 15px;
            max-height: 440px;
            overflow: hidden;
            overflow: auto;
            .menu {
              .menu_name {
@@ -1575,10 +1568,11 @@
    margin-right: 20px;
    /* one-swiper */
    .one_swiper_wrap{
    .one_swiper_wrap {
      height: 140px;
      overflow: hidden;
    }
    .list {
      height: 204px;
      overflow: hidden;