Kaynağa Gözat

添加录像质量

凉纪 1 yıl önce
ebeveyn
işleme
f747039a0d

+ 6 - 6
src/router/router.config.js

@@ -333,12 +333,12 @@ export let routers = [
         component: () => import('@/views/menu/iot/add.vue'),
         meta: { title: '生成运维单',  keepAlive: false ,hideTabBar:true,deep: 2}
       },
-      // {
-      //   path: '/videoQuality',
-      //   name: 'videoQuality',
-      //   component: () => import('@/views/menu/iot/videoQuality/index.vue'),
-      //   meta: { title: '录像完整性',  keepAlive: true ,hideTabBar:false,deep: 1}
-      // },
+      {
+        path: '/videoQuality',
+        name: 'videoQuality',
+        component: () => import('@/views/menu/iot/videoQuality/index.vue'),
+        meta: { title: '录像质量',  keepAlive: true ,hideTabBar:false,deep: 1}
+      },
       // {
       //   path: '/videoDay',
       //   name: 'videoDay',

+ 44 - 0
src/views/menu/iot/videoQuality/api.js

@@ -0,0 +1,44 @@
+import request from "@/utils/request";
+//获取列表
+export function dataList(data) {
+  return request({
+    url: "/core/outinrecord/list",
+    method: "get",
+    params: data,
+  });
+}
+
+//用户列表
+export function userList(params) {
+  return request({
+    url: "/core/letter/approved/person",
+    method: "get",
+    params
+  });
+}
+
+//获取详情
+export function userDetails(id){
+  return request({
+    url: "/core/outinrecord/"+id,
+    method: "get",
+  });
+}
+
+//人员登记
+export function userRegister(data){
+  return request({
+    url: "/core/outinrecord",
+    method: "post",
+    data
+  });
+}
+
+//登记离开
+export function userDepart(data){
+  return request({
+    url: "/core/outinrecord",
+    method: "put",
+    data
+  });
+}

+ 73 - 80
src/views/menu/iot/videoQuality/index.vue

@@ -2,17 +2,19 @@
   <div class="visitRecord">
     <NavBar/>
     <div class="page-container">
-      <van-search v-model="query.userName" class="van-hairline--bottom" placeholder="请输入人员姓名" @clear="refreshData"  @change="refreshData"/>
+      <div class="org-line van-hairline--bottom">
+        <org-tree clearable v-model="query.beCheckedOrgId" placeholder="选择机构" @change="refreshData"></org-tree>
+      </div>
       <div class="search-flex">
         <select-cell
           style="border-right: 1px solid #f5f5f5;"
-          title="介绍信类型"
+          title="状态"
           is-all
+          isRow
           :border="false"
           v-model="query.type"
           :data-list="getDictItem('out_in_type')"
           @change="refreshData"/>
-        <date-cell title="日期" is-all v-model="query.arrivalTime" date-type="date" @change="refreshData"/>
       </div>
       <div class="card-list">
         <Scroll
@@ -24,87 +26,45 @@
           <card v-else v-for="(v,i) in dataList" :key="v.id">
             <van-cell
               :border="false"
-              class="item-title"
-              :title-style="{color:'#008cd6'}"
-              :title="`介绍信类型: ${getDictLabel(v.type,'out_in_type')}`"
-              @click="clickItem(v.id)">
-              <template #right-icon>
-                <van-button v-if="!v.departureTime" type="info" size="mini">登记离开时间</van-button>
-              </template>
-            </van-cell>
-            <van-cell
-              :border="false"
-              class="item-value"
-              @click="clickItem(v.id)">
+              class="item-value">
               <template #default>
+                <div class="info-title">
+                  <div class="item-label">XXX设备</div>
+                  <div class="item-state">异常</div>
+<!--                  <i  class="point-icon" :class="{'active':!v.isRead}" />-->
+                </div>
+
+                <van-cell :border="false" title="亮度">
+                  <template #right-icon>
+                    <van-icon name="cross" class="item-icon"/>
+                  </template>
+                </van-cell>
+                <van-cell :border="false" title="条纹">
+                  <template #right-icon>
+                    <van-icon name="cross" class="item-icon"/>
+                  </template>
+                </van-cell>
+
                 <div class="info-box">
+<!--                  <div class="info-item">-->
+<!--                    <div class="item-label">亮度</div>-->
+<!--                    <div class="item-value">-->
+<!--                      <van-icon name="cross" />-->
+<!--                    </div>-->
+<!--                  </div>-->
                   <div class="info-item">
-                    <div class="item-label">人员姓名</div>
-                    <div class="item-value"> {{v.userName}}</div>
-                  </div>
-                  <div class="info-item">
-                    <div class="item-label">到达时间</div>
-                    <div class="item-value">
-                      {{ dayjs(v.arrivalTime).format('YYYY-MM-DD HH:mm')}}
-                    </div>
-                  </div>
-                  <div class="info-item">
-                    <div class="item-label">离开时间</div>
+                    <div class="item-label">上报时间: {{ dayjs(v.arrivalTime).format('YYYY-MM-DD HH:mm')}}</div>
                     <div class="item-value">
-                      {{v.departureTime? dayjs(v.departureTime).format('YYYY-MM-DD HH:mm') : '暂无'}}
+                      <van-button type="info"  size="small" @click="clickAdd">生成运维单</van-button>
                     </div>
                   </div>
                 </div>
               </template>
             </van-cell>
           </card>
-
-
-<!--          <card v-else v-for="(v,i) in dataList" :key="v.id">-->
-<!--            <van-cell-->
-<!--              :title-style="{color:'#008cd6'}"-->
-<!--              :title="`介绍信类型: ${getDictLabel(v.type,'out_in_type')}`"-->
-<!--            @click="clickItem(v.id)">-->
-<!--              <template #right-icon>-->
-<!--                <van-button v-if="!v.departureTime" type="info" size="mini">登记离开时间</van-button>-->
-<!--                <van-button v-else type="info" size="mini">查看登记详情</van-button>-->
-<!--              </template>-->
-<!--              <template #label>-->
-<!--              <div class="info-box">-->
-<!--                <div class="info-item">-->
-<!--                  <div class="item-label">人员姓名:</div>-->
-<!--                  <div class="item-value"> {{v.userName}}</div>-->
-<!--                </div>-->
-<!--&lt;!&ndash;                <div class="info-item">&ndash;&gt;-->
-<!--&lt;!&ndash;                  <div class="item-label">证件号码:</div>&ndash;&gt;-->
-<!--&lt;!&ndash;                  <div class="item-value">{{v.idCard}}</div>&ndash;&gt;-->
-<!--&lt;!&ndash;                </div>&ndash;&gt;-->
-<!--                <div class="info-item">-->
-<!--                  <div class="item-label">到达时间:</div>-->
-<!--                  <div class="item-value">-->
-<!--                    {{ dayjs(v.arrivalTime).format('YYYY-MM-DD HH:mm')}}-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--                <div class="info-item">-->
-<!--                  <div class="item-label">离开时间:</div>-->
-<!--                  <div class="item-value">-->
-<!--                    {{v.departureTime? dayjs(v.departureTime).format('YYYY-MM-DD HH:mm') : '暂无'}}-->
-<!--                  </div>-->
-<!--                </div>-->
-<!--&lt;!&ndash;                <div class="info-item">&ndash;&gt;-->
-<!--&lt;!&ndash;                  <div class="item-label">出入事由:</div>&ndash;&gt;-->
-<!--&lt;!&ndash;                  <div class="item-value">&ndash;&gt;-->
-<!--&lt;!&ndash;                    {{v.reasons}}&ndash;&gt;-->
-<!--&lt;!&ndash;                  </div>&ndash;&gt;-->
-<!--&lt;!&ndash;                </div>&ndash;&gt;-->
-<!--              </div>-->
-<!--            </template>-->
-<!--            </van-cell>-->
-<!--          </card>-->
         </Scroll>
       </div>
     </div>
-    <drag-button @btnClick="clickAdd"></drag-button>
   </div>
 </template>
 <script>
@@ -116,15 +76,12 @@ import dateCell from '@/components/dateCell/index.vue'
 import selectCell from '@/components/selectCell/index.vue'
 import {dataList} from './api'
 import {mapGetters} from "vuex";
-import {formatDate} from "@/filters/filter";
-import DragButton from "@/components/DragButton/index.vue";
 import dayjs from "dayjs";
 import Item from "@/views/menu/protection/components/item.vue";
 export default {
   name: 'visitRecord',
   components: {
     Item,
-    DragButton,
     NavBar,
     OrgTree,
     Scroll,
@@ -162,7 +119,8 @@ export default {
     dayjs,
     clickAdd(){
       this.$router.push({
-        path:'/visitUserRecord',
+        name:'addOrder',
+        path:'/addOrder',
       });
     },
     refreshData(){
@@ -204,7 +162,7 @@ export default {
     },
     clickItem(id){
       this.$router.push({
-        path:'/visitRecordDetail',
+        path:'/videoIntegrityDetail',
         query:{id}
       });
     }
@@ -230,6 +188,11 @@ export default {
       color:#666!important;
     }
   }
+  .item-icon {
+    font-size: 32px;
+    line-height: inherit;
+    color:#ee0a24;
+  }
 }
 </style>
 <style lang="scss" scoped>
@@ -241,8 +204,9 @@ export default {
 }
 .card-list{
   padding:0 20px 20px 20px;
-  height: calc(100vh - 426px);
+  height: calc(100vh - 372px);
   overflow:  auto;
+  -border: 1px solid red;
 }
 .item-title{
   border-bottom: 1px solid #f5f5f5;
@@ -260,7 +224,7 @@ export default {
   justify-content: space-between;
   border-bottom: 1px solid #f5f5f5;
   >div{
-    width: 50%;
+    width: 100%;
   }
 }
 .btn-box{
@@ -272,9 +236,21 @@ export default {
   align-items: center;
   justify-content: center;
 }
+.info-title{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 32px;
+  border-bottom: 1px solid #eaeaea;
+  padding-bottom: 20px;
+  .item-state{
+    color:#ee0a24;
+  }
+}
 .info-box{
   color:#555;
   padding-top: 20px;
+  border-top: 1px solid #eaeaea;
 }
 .info-desc{
   padding-top: 10px;
@@ -296,13 +272,14 @@ export default {
   align-items: center;
   font-size: 26px;
   .item-label{
-    flex:.25;
+    flex:.5;
     text-align: left;
     color:#333;
   }
   .item-value{
-    flex:.75;
+    flex:.5;
     color:#666;
+    text-align: right;
     min-height: 50px;
     max-height: 250px;
     display: -webkit-box;
@@ -311,5 +288,21 @@ export default {
     overflow: hidden;
     text-overflow: ellipsis;
   }
+  .item-device{
+    font-size: 32px;
+    color:#008cd6;
+  }
+}
+.point-icon{
+  width: 20px;
+  height: 20px;
+  background-color:#ccc;
+  border-radius: 50%;
+  margin-top: 10px;
+  display: none;
+  &.active{
+    display: block;
+    background-color: #ee0a24;
+  }
 }
 </style>