浏览代码

安全检查待办 折叠显示, 签名面板新增 返回 按钮

zhulu 1 年之前
父节点
当前提交
0cc7bb396b

+ 7 - 2
src/components/writingPad/index.vue

@@ -16,7 +16,8 @@
   </div>
     <van-row>
       <van-col span="24" class="btnGroup">
-        <van-button type="info" @click="handleReset">清除</van-button>
+        <van-button type="info" @click="cancelReset">返回</van-button>
+        <van-button type="info" @click="handleReset">清除重签</van-button>
         <van-button type="info" @click="handleGenerate">确定</van-button>
       </van-col>
     </van-row>
@@ -42,6 +43,10 @@ export default {
     }
   },
   methods: {
+    cancelReset(){
+      this.$refs.esign.reset()
+      this.$emit('cancelSign')
+    },
     handleReset() {
       this.$refs.esign.reset()
     },
@@ -50,7 +55,7 @@ export default {
         .generate()
         .then(res => {
           this.resultImg = res
-          
+          this.$refs.esign.reset()
           this.$emit('resultImg', res)
         })
         .catch(err => {

+ 148 - 9
src/views/home/works.vue

@@ -31,8 +31,8 @@
             <!-- 待办区域 -->
             <div class="marginCls" v-if="item.taskType == i.taskType">
               <!-- <van-empty description="暂无数据" /> -->
-              <van-cell-group>
-                <van-cell
+              <van-cell-group v-if="item.taskType!=2">
+                <van-cell 
                   @click.stop="isFalgHandler(i, item.taskType, item.id)"
                   v-for="(i, index) in item.dataList"
                   :key="index"
@@ -63,6 +63,42 @@
                   </template>
                 </van-cell>
               </van-cell-group>
+              
+              <van-collapse v-if="item.taskType==2" class="check-register list-item" v-model="activeNames">
+                <van-collapse-item :name="v.id" v-for="(v,i) in item.dataList" :key="v.id+i">
+                    <template #title>
+                      <div class="item-title">
+                      <!-- <div class="textTitle">{{ v.taskName}}</div> -->
+                      <van-cell :title="v.taskName" :border="false" :label="v.startTime.substring(5, v.startTime.length - 3) +
+                    '至' +
+                    v.endTime.substring(5, v.endTime.length - 3)" ></van-cell>
+                      <div class="collapse-title">
+                        <div :class="{'active':v.active==2}" @click.stop="changeList(v,2)">
+                          <p>{{v.uncompleted.length}}</p>
+                        </div>
+                        <!-- <div :class="{'active':v.active==1}" @click.stop="changeList(v,1)">
+                          <p>{{v.completed.length}}</p>
+                          <p>已检查</p>
+                        </div>   -->
+                        </div>
+                      </div>
+                    </template>
+                  <div class="check-item-list">                    
+                    <van-cell
+                      v-for="(a,index) in v.uncompleted" :key="a.id"
+                      :title="a.beCheckedOrgName"
+                      @click.stop="isFalgHandler(a, item.taskType, item.id)">
+                      <template #right-icon>
+                        <div>
+                          <span :class="iColorClas(item.taskType, a.status)">
+                            {{worksLink(2, item.taskType, a.recStatus ? a.recStatus : a.status)}}
+                          </span>
+                        </div>
+                      </template>
+                    </van-cell>
+                  </div>
+          </van-collapse-item>
+          </van-collapse>
             </div>
           </div>
         </template>
@@ -94,7 +130,8 @@ export default {
       taskId: '', //监控调阅ID
       workList: [], //工作台列表
       oldScrollTop: '',
-      falg: false //待调阅的时候 不进行跳转页面单独处理
+      falg: false, //待调阅的时候 不进行跳转页面单独处理
+      activeNames:[],
     }
   },
   mounted() {
@@ -125,12 +162,12 @@ export default {
       }
     },
     isFalgHandler(i, taskType, id) {
-      if (i.isExist != undefined && i.isExist == 0) {
-        return Dialog.alert({
-          message: '机构下没有主机摄像头,不能开启调阅任务!',
-          confirmButtonText: '关闭'
-        })
-      }
+      // if (i.isExist != undefined && i.isExist == 0) {
+      //   return Dialog.alert({
+      //     message: '机构下没有主机摄像头,不能开启调阅任务!',
+      //     confirmButtonText: '关闭'
+      //   })
+      // }
       //如果当前是待调阅任务 当前页面处理之后再跳转 不是则正常跳转
       if (i.status == 0 && taskType == 3) {
         this.falg = false
@@ -458,4 +495,106 @@ a {
   line-height: 46px;
   font-size: 40px;
 }
+.van-collapse-item{
+  ::v-deep .van-cell{
+    align-items: center;
+    // padding:10px 5px 10px 5px !important;
+  }
+  ::v-deep .van-cell__title{
+    color:black !important;
+    // padding:10px 5px 10px 5px !important;
+  }
+  
+}
+.check-register{
+  .org-line{
+    padding:0 10px;
+    background-color: #fff;
+  }
+  .search-flex{
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    border-bottom: 1px solid #f5f5f5;
+    >div{
+      width: 50%;
+    }
+  }
+  .org-label{
+    height: 90px;
+    width: 100%;
+    display: flex;
+    align-items: center;
+    font-size: 28px;
+  }
+  .card-list{
+    padding:0 5px 0px 5px;
+    height: calc(100vh - 370px);
+    overflow: auto;
+  }
+  .list-item{
+    margin: 20px 0px 20px 0px;
+    // padding:20 0px 20px 0px;
+  }
+  .item-title{
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    // border-bottom: 1px solid #f5f5f5;
+    padding-bottom: 10px;
+  }
+  .check-item-list{
+    -max-height: 500px;
+    overflow: auto;
+  }
+  .card-num{
+    display: flex;
+    align-items: center;
+    font-size: 28px;
+    color: #008cd6;
+  }
+  .collapse-title{
+    width: 50%;
+    margin-left: 10px;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    font-size: 28px;
+    color: #ccc;
+    >div{
+      width: 100px;
+      font-size: 24px;
+      height: 70px;
+      padding: 5px 10px;
+      border: 2px solid #ccc;
+      border-radius: 10px;
+      box-shadow: 0 3px 6px #eaeaea;
+      >p{
+        height: 28px;
+        // line-height: 28px;
+        text-align: center;
+      }
+    }
+    >div{
+      color: #fff;
+      background-color: #008cd6;
+      border: 3px solid #008cd6;
+    }
+  }
+  .flex-box{
+    display: flex;
+    align-items: center;
+    >div{
+      margin-right: 40px;
+    }
+  }
+  .search-box{
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    >div{
+      width: 50%;
+    }
+  }
+}
 </style>

+ 14 - 5
src/views/menu/monitoringCall/components/consultInfo.vue

@@ -20,7 +20,7 @@
           </div>
         </div>
 
-        <div v-else>
+        <div class="topBox" v-else>
           <!-- <van-collapse-item :name="item.hostId" v-for="item in hostList" :key="item.hostId">
             <template #title>
               <div class="textTitle">{{ item.hostName }}</div>
@@ -33,17 +33,17 @@
               @resetList="getHostHandlerA"
             ></passage>
           </van-collapse-item> -->
-          <van-collapse-item>
+          <!-- <van-collapse-item>
             <template #title>
               <div class="textTitle">区域列表</div>
-            </template>
+            </template> -->
           <areaPassage
               ref="passage"
               :list="retrievalAreaList"
               :taskId="$route.params.id.split('_')[0]"            
               @resetList="getHostHandlerA"
             ></areaPassage>   
-          </van-collapse-item>       
+          <!-- </van-collapse-item>        -->
         </div>
       </van-collapse>
 
@@ -62,7 +62,7 @@
       </div>
     </div>
     <van-action-sheet v-model="showSign" :title="shwoSignTitle" class="sheet">
-            <writingPad ref="esign" @resultImg="resultSginImg"></writingPad>
+            <writingPad ref="esign" @resultImg="resultSginImg" @cancelSign="cancelSign"></writingPad>
     </van-action-sheet>
     <!-- 扫描弹框 -->
     <scandialog ref="scandialog" @input="resultImg" @changeNFC="getNFC"></scandialog>
@@ -182,6 +182,11 @@ export default {
 
             });
            }
+           else{
+            areaList.forEach(area=>{
+              this.$set(area, 'type', 0)
+            })
+           }
 
            console.log("areaList",areaList);
            this.retrievalAreaList=areaList;
@@ -264,6 +269,10 @@ export default {
       }
       return time
     },
+    cancelSign()
+    {
+      this.showSign=false;
+    },
      //上传签名图到服务器
     resultSginImg(img) {
       let obj = base64ToBlob(img)

+ 7 - 7
src/views/menu/monitoringCall/index.vue

@@ -162,13 +162,13 @@ export default {
   methods: {
     //单元格点击事件
     linkHandler(status, id, item) {
-      if (item.isExist == 0 && status == 0) {
-        Dialog.alert({
-          message: '机构下没有主机摄像头,不能开启调阅任务!',
-          confirmButtonText: '关闭'
-        })
-        return
-      }
+      // if (item.isExist == 0 && status == 0) {
+      //   Dialog.alert({
+      //     message: '机构下没有主机摄像头,不能开启调阅任务!',
+      //     confirmButtonText: '关闭'
+      //   })
+      //   return
+      // }
       if (status == 0) {
         //判断当前时间是否小于开始时间 小于则不能进行操作
         let date = new Date().getTime()

+ 5 - 2
src/views/menu/rehearsalTask/components/rehearsalTaskSign.vue

@@ -248,7 +248,7 @@
     </van-row>
 
     <van-action-sheet v-model="show" title="签署名字" class="sheet">
-      <writingPad ref="esign" @resultImg="resultImg"></writingPad>
+      <writingPad ref="esign" @resultImg="resultImg" @cancelSign="cancelSign"></writingPad>
     </van-action-sheet>
   </div>
 </template>
@@ -577,7 +577,10 @@ export default {
     clearHandler() {
       this.$refs.esign.handleReset()
     },
-
+    cancelSign()
+    {
+      this.show = false;
+    },
     //上传签名图到服务器
     resultImg(img) {
       let obj = base64ToBlob(img)

+ 5 - 1
src/views/menu/securityCheckRegister/add.vue

@@ -128,7 +128,7 @@
 
     </div>
     <van-action-sheet v-model="showSign" title="签署名字" class="sheet">
-      <writingPad ref="esign" @resultImg="resultImg"></writingPad>
+      <writingPad ref="esign" @resultImg="resultImg" @cancelSign="cancelSign"></writingPad>
     </van-action-sheet>
     <!--  按钮   -->
     <div v-if="enable" class="bottom-box">
@@ -627,6 +627,10 @@ export default {
     signatureHandler() {
       this.showSign = true
     },
+    cancelSign()
+    {
+      this.showSign = false;
+    },
     //上传签名图到服务器
     resultImg(img) {
       let obj = base64ToBlob(img)

+ 57 - 7
src/views/menu/securityCheckRegister/index.vue

@@ -28,7 +28,7 @@
           @loadMore="getDataList"
           :pullup="pullup">
           <empty v-if="!dataList || dataList.length === 0" />
-          <card class="list-item" v-for="(v,i) in dataList" :key="v.planId+i">
+          <!-- <card class="list-item" v-for="(v,i) in dataList" :key="v.planId+i">
             <div class="item-title">
               <van-cell :title="v.taskName" :border="false" :label="formatTime(v.planStartTime,v.planEndTime)" ></van-cell>
               <div class="collapse-title">
@@ -58,7 +58,43 @@
                 </template>
               </van-cell>
             </div>
-          </card>
+          </card> -->
+         <van-collapse class="list-item" v-model="activeNames">
+         <van-collapse-item :name="v.planId" v-for="(v,i) in dataList" :key="v.planId+i">
+            <template #title>
+              <div class="item-title">
+              <!-- <div class="textTitle">{{ v.taskName}}</div> -->
+              <van-cell :title="v.taskName" :border="false" :label="formatTime(v.planStartTime,v.planEndTime)" ></van-cell>
+              <div class="collapse-title">
+                <div :class="{'active':v.active==2}" @click.stop="changeList(v,2)">
+                  <p>{{v.uncompleted.length}}</p>
+                  <p>未检查</p>
+                </div>
+                <div :class="{'active':v.active==1}" @click.stop="changeList(v,1)">
+                  <p>{{v.completed.length}}</p>
+                  <p>已检查</p>
+                </div>  
+                </div>
+              </div>
+            </template>
+            <div class="check-item-list">
+              <empty v-if="v.active==1? v.completed.length == 0 : v.uncompleted.length == 0" />
+              <van-cell
+                v-else
+                v-for="(a,index) in v.active==1? v.completed:v.uncompleted" :key="a.taskId"
+                :title="a.beCheckedOrgName"
+                @click="clickItem(a)">
+                <template #right-icon>
+                  <div>
+                    <span :style="{color:getState(getDictLabel(a.status,'safety_check_status'))}">
+                      {{getDictLabel(a.status,'safety_check_status')}}
+                    </span>
+                  </div>
+                </template>
+              </van-cell>
+            </div>
+          </van-collapse-item>
+          </van-collapse>
         </Scroll>
       </div>
 
@@ -115,7 +151,8 @@ export default {
       go:{
         type:'replace',
         path:'/menu',
-      }
+      },
+      activeNames:[]
     }
   },
   beforeRouteEnter(to,from,next){
@@ -215,8 +252,14 @@ export default {
         }
         this.total = res.total;
         res.rows.forEach(v=>{
-          v.active = 2
+          v.active = 2;
+          if(data.beCheckedOrgId){
+            this.activeNames.push(v.planId);
+          }
         });
+        if(!data.beCheckedOrgId){
+          this.activeNames=[];
+        }
         if(this.dataList.length < res.total) {
           this.dataList = [...this.dataList,...res.rows];
           this.pullup = true;
@@ -261,6 +304,12 @@ export default {
 
 </style>
 <style lang="scss" scoped>
+.van-collapse-item{
+  ::v-deep .van-cell{
+    align-items: center;
+    // padding:10px 5px 10px 5px !important;
+  }
+}
 .check-register{
   .org-line{
     padding:0 10px;
@@ -283,18 +332,19 @@ export default {
     font-size: 28px;
   }
   .card-list{
-    padding:0 20px 20px 20px;
+    padding:0 5px 0px 5px;
     height: calc(100vh - 370px);
     overflow: auto;
   }
   .list-item{
-    padding: 20px;
+    margin: 20px 0px 20px 0px;
+    // padding:20 0px 20px 0px;
   }
   .item-title{
     width: 100%;
     display: flex;
     justify-content: space-between;
-    border-bottom: 1px solid #f5f5f5;
+    // border-bottom: 1px solid #f5f5f5;
     padding-bottom: 10px;
   }
   .check-item-list{

+ 5 - 1
src/views/menu/training/components/personnelSignature.vue

@@ -205,7 +205,7 @@
       </van-col>
     </van-row>
     <van-action-sheet v-model="show" title="签署名字" class="sheet">
-      <writingPad ref="esign" @resultImg="resultImg"></writingPad>
+      <writingPad ref="esign" @resultImg="resultImg" @cancelSign="cancelSign"></writingPad>
     </van-action-sheet>
   </div>
 </template>
@@ -297,6 +297,10 @@ export default {
     submitHandler() {
       console.log(this.file)
     },
+    cancelSign()
+    {
+      this.show = false
+    },
     //上传签名图到服务器
     resultImg(img) {
       let obj = base64ToBlob(img)

+ 5 - 1
src/views/menu/visitCheck/detail.vue

@@ -73,7 +73,7 @@
         <van-cell title="审批说明" :value="approveRemark"></van-cell>
       </div>
       <van-action-sheet v-model="showSign" title="签署名字" class="sheet">
-            <writingPad ref="esign" @resultImg="resultImg"></writingPad>
+            <writingPad ref="esign" @resultImg="resultImg" @cancelSign="cancelSign"></writingPad>
           </van-action-sheet>
       <div v-if="approveStatus == 0" class="flex-box">
         <van-button type="info" style="width: 48%" plain @click="refuse">不同意</van-button>
@@ -147,6 +147,10 @@ export default {
       }
       this.showInput = true;
     },
+    cancelSign()
+    {
+      this.showSign=false;
+    },
     //上传签名图到服务器
     resultImg(img) {
       let obj = base64ToBlob(img)

+ 5 - 1
src/views/menu/visitRecord/detail.vue

@@ -84,7 +84,7 @@
           </div>
           
           <van-action-sheet v-model="showSign" title="签署名字" class="sheet">
-            <writingPad ref="esign" @resultImg="resultImg"></writingPad>
+            <writingPad ref="esign" @resultImg="resultImg" @cancelSign="cancelSign"></writingPad>
           </van-action-sheet>
           <div v-if="canRecord() &&!selectedUser.departureTime" class="big-btn-box" >
             <van-button  type="info" size="large" @click="onSubmit">确认登记</van-button>
@@ -215,6 +215,10 @@ export default {
     signatureHandler() {
       this.showSign = true
     },
+    cancelSign()
+    {
+      this.showSign=false;
+    },
     //上传签名图到服务器
     resultImg(img) {
       let obj = base64ToBlob(img)