gaoxiong 1 anno fa
parent
commit
05c5c48cbf

+ 249 - 247
src/views/menu/monitoringCall/components/taskInfo.vue

@@ -22,16 +22,16 @@
             <div class="mainItem">
               <van-row class="rowItem" v-for="item in dataList" :key="item.id">
                 <van-col class="itemCls" span="10" style="display: flex"
-                  ><van-checkbox
-                    v-model="item.isChecked"
-                    @change="checkedFc($event, item)"
-                    :disabled="disabled"
-                    icon-size="16px"
-                    shape="square"
-                  >
-                  </van-checkbox>
+                ><van-checkbox
+                  v-model="item.isChecked"
+                  @change="checkedFc($event, item)"
+                  :disabled="disabled"
+                  icon-size="16px"
+                  shape="square"
+                >
+                </van-checkbox>
                   <span class="info"
-                    >{{ item.dictLabel }}<van-icon class="info-o" name="info-o" @click="textTitleHandler(item.remark)"
+                  >{{ item.dictLabel }}<van-icon class="info-o" name="info-o" @click="textTitleHandler(item.remark)"
                   /></span>
                 </van-col>
                 <van-radio-group v-model="item.situation" @change="checkHandler($event, item)">
@@ -52,15 +52,15 @@
                     placeholder="请输入异常描述"
                     show-word-limit
                     :rules="[{ required: true, message: '异常描述不能为空' }]"
-                /></van-col>
+                  /></van-col>
               </van-row>
             </div>
             <!-- 文字描述弹框 -->
             <van-dialog v-model="showDialog" title="提示">
-             <div class="showtext" >
-               {{ showText }}
-              <!--<div v-for="item in showText" :key="item">{{ item }}</div>-->
-             </div>
+              <div class="showtext" >
+                {{ showText }}
+                <!--<div v-for="item in showText" :key="item">{{ item }}</div>-->
+              </div>
             </van-dialog>
             <!-- 底部按钮 -->
             <div>
@@ -71,7 +71,7 @@
                 <van-col span="12">
                   <van-button class="btn" size="small" type="info" v-if="!disabled" @click="submitHadnler">{{
                     '确定'
-                  }}</van-button></van-col
+                    }}</van-button></van-col
                 >
               </van-row>
             </div>
@@ -82,265 +82,267 @@
   </div>
 </template>
 <script>
-import { updateInfo, getEditInfo } from '@/api/toConsult.js'
-import { Toast, Dialog } from 'vant'
-
-export default {
-  name: 'SocAppTaskInfo',
-
-  data() {
-    return {
-      showText:'',
-      showDialog: false,
-      taskId: '', //任务ID
-      show: false,
-      host: '',
-      hostId: '',
-      videoChannelName: '',
-      videoChannel: '',
-      taskRegistrationId: '',
-      id: '',
-      falg: false,
-      checked: '',
-      message: '',
-      radio: '0',
-      dictList: [],
-      dataList: [] //列表
-    }
-  },
-  created() {
-    this.disabled = +this.$route.params.id.split('_')[3] ? true : false
-  },
+  import { updateInfo, getEditInfo } from '@/api/toConsult.js'
+  import { Toast, Dialog } from 'vant'
 
-  mounted() {
-    // let list = document.querySelector('.mainItem')
-    // list.addEventListener('touchmove', e => e.stopPropagation(), false)
-  },
+  export default {
+    name: 'SocAppTaskInfo',
 
-  methods: {
-    //组件初始化
-    init(taskId, videoId, hostId) {
-      this.taskId = taskId
-      this.show = true
-      //获取调阅字典
-      this.getDictHandler('core_registration_project', res => {
-        this.dataList = JSON.parse(JSON.stringify(res))
-        this.dataList.forEach(item => {
-          this.$set(item, 'situation', '') //异常情况初始化默认值
-          this.$set(item, 'isChecked', false) //选中初始值
-          this.$set(item, 'abnormalIllustrate', '') //情况说明初始化默认值
-        })
-        //获取异常情况字典
-        this.getDictHandler('core_check_type', res => {
-          this.dictList = res
-          this.dictList.forEach(item => {
-            item.text = item.dictLabel
-            item.value = item.dictValue
-          })
-        })
-        this.getInfoHandler(taskId, videoId, hostId) //获取详情
-      })
-    },
-    //复选框选中变化
-    checkHandler(val, item) {
-      if (val) {
-        item.isChecked = true
-      }
-      if (val && item.situation == '0') {
-        item.abnormalIllustrate = ''
+    data() {
+      return {
+        showText:'',
+        showDialog: false,
+        taskId: '', //任务ID
+        show: false,
+        host: '',
+        hostId: '',
+        videoChannelName: '',
+        videoChannel: '',
+        taskRegistrationId: '',
+        id: '',
+        falg: false,
+        checked: '',
+        message: '',
+        radio: '0',
+        dictList: [],
+        dataList: [] //列表
       }
     },
-    checkedFc(val, item) {
-      if (val) {
-        if (!item.situation) {
-          item.situation = '0'
-        }
-      } else {
-        item.situation = ''
-        item.abnormalIllustrate = ''
-      }
+    created() {
+      this.disabled = +this.$route.params.id.split('_')[3] ? true : false
+    },
+
+    mounted() {
+      // let list = document.querySelector('.mainItem')
+      // list.addEventListener('touchmove', e => e.stopPropagation(), false)
     },
-    getInfoHandler(id, videoId, hostId) {
-      //获取卡片详情数据
-      getEditInfo({ taskId: id + '', videoId: videoId + '', hostId: hostId + '' }).then(res => {
-        let { data, msg, code } = res
-        if (code == 200) {
+
+    methods: {
+      //组件初始化
+      init(taskId, videoId, hostId) {
+        this.taskId = taskId
+        this.show = true
+        //获取调阅字典
+        this.getDictHandler('core_registration_project', res => {
+          this.dataList = JSON.parse(JSON.stringify(res))
           this.dataList.forEach(item => {
-            data.coreMonitoringTaskMonitorInfoList.forEach(i => {
-              if (i.project === item.dictValue) {
-                //查询赋值
-                this.$set(item, 'isChecked', true)
-                this.$set(item, 'situation', i.situation)
-                this.$set(item, 'abnormalIllustrate', i.abnormalIllustrate)
-              }
+            this.$set(item, 'situation', '') //异常情况初始化默认值
+            this.$set(item, 'isChecked', false) //选中初始值
+            this.$set(item, 'abnormalIllustrate', '') //情况说明初始化默认值
+          })
+          //获取异常情况字典
+          this.getDictHandler('core_check_type', res => {
+            this.dictList = res
+            this.dictList.forEach(item => {
+              item.text = item.dictLabel
+              item.value = item.dictValue
             })
           })
-          console.log(this.dataList)
-          //赋值主机&通道名称
-          this.host = data.hostName
-          this.hostId = data.host
-          this.videoChannelName = data.videoChannelName
-          this.videoChannel = data.videoChannel
-          this.taskRegistrationId = data.registrationId
-          this.id = data.id
+          this.getInfoHandler(taskId, videoId, hostId) //获取详情
+        })
+      },
+      //复选框选中变化
+      checkHandler(val, item) {
+        if (val) {
+          item.isChecked = true
         }
-      })
-    },
-
-    //表单提交前校验
-    beforSubmitV() {
-      this.falg = false
-
-      this.dataList.forEach(item => {
-        if (item.isChecked) {
-          console.log(item)
-          if (item.situation == '1' && item.abnormalIllustrate == '') {
-            Toast(`${item.dictLabel}的情况描述不能为空!`)
-
-            this.falg = true
+        if (val && item.situation == '0') {
+          item.abnormalIllustrate = ''
+        }
+      },
+      checkedFc(val, item) {
+        if (val) {
+          if (!item.situation) {
+            item.situation = '0'
           }
+        } else {
+          item.situation = ''
+          item.abnormalIllustrate = ''
         }
-      })
-    },
-    submitHadnler() {
-      this.beforSubmitV()
-      if (this.falg) {
-        //校验不通过
-      } else {
-        let list = []
+      },
+      getInfoHandler(id, videoId, hostId) {
+        //获取卡片详情数据
+        getEditInfo({ taskId: id + '', videoId: videoId + '', hostId: hostId + '' }).then(res => {
+          let { data, msg, code } = res
+          if (code == 200) {
+            this.dataList.forEach(item => {
+              data.coreMonitoringTaskMonitorInfoList.forEach(i => {
+                if (i.project === item.dictValue) {
+                  //查询赋值
+                  this.$set(item, 'isChecked', true)
+                  this.$set(item, 'situation', i.situation)
+                  this.$set(item, 'abnormalIllustrate', i.abnormalIllustrate)
+                }
+              })
+            })
+            console.log(this.dataList)
+            //赋值主机&通道名称
+            this.host = data.hostName
+            this.hostId = data.host
+            this.videoChannelName = data.videoChannelName
+            this.videoChannel = data.videoChannel
+            this.taskRegistrationId = data.registrationId
+            this.id = data.id
+          }
+        })
+      },
+
+      //表单提交前校验
+      beforSubmitV() {
+        this.falg = false
 
         this.dataList.forEach(item => {
           if (item.isChecked) {
-            item.project = item.dictValue
-            list.push(item)
+            console.log(item)
+            if (item.situation == '1' && item.abnormalIllustrate == '') {
+              Toast(`${item.dictLabel}的情况描述不能为空!`)
+
+              this.falg = true
+            }
           }
         })
-        if(list.length==0){
-          return Toast(`单通道调阅项至少勾选一项!`)
-        }
-        //编辑提交
-        updateInfo({
-          host: this.hostId,
-          videoChannel: this.videoChannel,
-          taskRegistrationId: this.taskRegistrationId,
-          id: this.id || '',
-          coreMonitoringTaskMonitorInfoList: list
-        }).then(res => {
-          let { data, msg, code } = res
-          if (code == 200) {
-            Toast('编辑成功!')
-            this.show = false
-            this.$emit('resetList')
+      },
+      submitHadnler() {
+        this.beforSubmitV()
+        if (this.falg) {
+          //校验不通过
+        } else {
+          let list = []
+
+          this.dataList.forEach(item => {
+            if (item.isChecked) {
+              item.project = item.dictValue
+              list.push(item)
+            }
+          })
+          if(list.length==0){
+            return Toast(`单通道调阅项至少勾选一项!`)
           }
-          this.falg = false
-        })
-      }
-    },
-    //文字提示
-    textTitleHandler(text) {
-      if(!text){
-        text='可参照相关部门管理办法!'
+          //编辑提交
+          updateInfo({
+            host: this.hostId,
+            videoChannel: this.videoChannel,
+            taskRegistrationId: this.taskRegistrationId,
+            id: this.id || '',
+            coreMonitoringTaskMonitorInfoList: list
+          }).then(res => {
+            let { data, msg, code } = res
+            if (code == 200) {
+              Toast('编辑成功!')
+              this.show = false
+              this.$emit('resetList')
+            }
+            this.falg = false
+          })
+        }
+      },
+      //文字提示
+      textTitleHandler(text) {
+        if(!text){
+          text='可参照相关部门管理办法!'
+        }
+        // text='1.挖掘第哦啊uiOS多i,2.是多久啊了多久哦'
+        this.showDialog = true
+        // this.showText = text.split(',')
+        this.showText = text;
       }
-      // text='1.挖掘第哦啊uiOS多i,2.是多久啊了多久哦'
-      this.showDialog = true
-      // this.showText = text.split(',')
-      this.showText = text;
     }
   }
-}
 </script>
 <style lang="scss" scoped>
-.mainItem {
-  height: 95%;
-  overflow: scroll;
-}
-.rowItem {
-  min-height: 100px;
-  line-height: 100px;
-  border: 1px solid #e8e8e8;
-  border-bottom:none;
-  
-}
-.block {
-  width: 90vw;
-  height: 98%;
-  background-color: #fff;
-  margin: auto;
-  position: absolute;
-  top: 1%;
-  bottom: 1%;
-  left: 5%;
-  right: 5%;
-  padding: 20px;
-}
-.textTitle {
-  font-size: 30px;
-  font-weight: bold;
-  padding: 10px;
-  color: black;
-  text-align: center;
-  
-}
+  .mainItem {
+    height: 95%;
+    overflow: scroll;
+  }
+  .rowItem {
+    min-height: 100px;
+    line-height: 100px;
+    border: 1px solid #e8e8e8;
+    border-bottom:none;
 
-.text {
-  text-align: center;
-  
-  color: black;
-}
-.mainBox {
-  height: 80vh;
-  .titleList {
-    background-color: #e8e8e8;
-    margin-top: 20px;
-    font-size: 22px;
-    text-align: left;
+  }
+  .block {
+    width: 90vw;
+    height: 98%;
+    background-color: #fff;
+    margin: auto;
+    position: absolute;
+    top: 1%;
+    bottom: 1%;
+    left: 5%;
+    right: 5%;
+    padding: 20px;
+  }
+  .textTitle {
+    font-size: 30px;
     font-weight: bold;
-    .itemCol {
-      padding: 10px;
-      color: black;
-      
-      font-size: 4vw;
-     text-align: center;
+    padding: 10px;
+    color: black;
+    text-align: center;
+
+  }
+
+  .text {
+    text-align: center;
+
+    color: black;
+  }
+  .mainBox {
+    height: 80vh;
+    .titleList {
+      background-color: #e8e8e8;
+      margin-top: 20px;
+      font-size: 22px;
+      text-align: left;
+      font-weight: bold;
+      .itemCol {
+        padding: 10px;
+        color: black;
+
+        font-size: 4vw;
+        text-align: center;
+      }
+    }
+  }
+  .itemCls {
+    padding-left: 10px;
+    border-right: 1px solid #e8e8e8;
+    height: 100%;
+    .van-radio{
+
+
     }
+
+  }
+  .radioItem{
+    height: 100px;
+    line-height: 100px;
+    align-items: center;
+    display: flex;
   }
-}
-.itemCls {
-  padding-left: 10px;
-  border-right: 1px solid #e8e8e8;
-  height: 100%;
-  .van-radio{
-   
-   
+  .btn {
+    width: 90%;
   }
-  
-}
-.radioItem{
-  height: 100px;
-  line-height: 100px;
-  align-items: center;
-  display: flex;
-}
-.btn {
-  width: 90%;
-}
-.info {
-  color: #1989fa;
-  margin-left: 10px;
-  // text-decoration: underline;
-  .info-o{
+  .info {
+    color: #1989fa;
     margin-left: 10px;
+    // text-decoration: underline;
+    .info-o{
+      margin-left: 10px;
+    }
+  }
+  .showtext{
+    text-align: left;
+    color: #0e0e0e;
+    padding-left: 20px;
+    padding-right: 15px;
+    margin-top: 50px;
+    margin-bottom: 50px;
+    max-height: 135vw;
+    overflow: auto;
+    white-space: pre-wrap;
+  }
+  .van-overlay{
+    z-index: 200;
   }
-}
-.showtext{
-  text-align: left;
-  color: #0e0e0e;
-  padding-left: 20px;
-  padding-right: 15px;
-  margin-top: 50px;
-  margin-bottom: 50px;
-  white-space: pre-wrap;
-}
-.van-overlay{
-  z-index: 200;
-}
 </style>

+ 717 - 717
src/views/menu/resumption/detail.vue

@@ -84,7 +84,7 @@
 
       <div class="card">
         <van-row>
-          <van-col span="16">
+          <van-col span="14">
             <van-cell @click="showDetail(0)">
               <template #title>
                 <span>NFC</span>
@@ -101,7 +101,7 @@
               </template>
             </van-cell>
           </van-col>
-          <van-col span="8">
+          <van-col span="10">
             <van-cell>
               <div class="okAll">
                 <!--                <van-button type="default" icon="checked" size="small" @click="changeSwitch">一键正常</van-button>-->
@@ -268,821 +268,821 @@
 </template>
 
 <script>
-import { ImagePreview, Dialog } from 'vant'
-import NavBar from '@/components/NavBar/index.vue'
-import Uploader from '@/components/upload/gxuploader.vue'
-import SelectCell from '@/components/selectCell/index.vue'
-import { getDict } from '@/api/toConsult'
-import { saveTask, taskDetail } from '@/views/menu/resumption/api'
-import NfcPopup from '@/components/nfcPopup/gxmore'
-import { imgUrl } from '@/utils'
-import dayjs from 'dayjs'
-import { mapGetters } from 'vuex'
-import { ref } from 'vue'
-import { uploadBase64 } from '@/api/public'
+  import { ImagePreview, Dialog } from 'vant'
+  import NavBar from '@/components/NavBar/index.vue'
+  import Uploader from '@/components/upload/gxuploader.vue'
+  import SelectCell from '@/components/selectCell/index.vue'
+  import { getDict } from '@/api/toConsult'
+  import { saveTask, taskDetail } from '@/views/menu/resumption/api'
+  import NfcPopup from '@/components/nfcPopup/gxmore'
+  import { imgUrl } from '@/utils'
+  import dayjs from 'dayjs'
+  import { mapGetters } from 'vuex'
+  import { ref } from 'vue'
+  import { uploadBase64 } from '@/api/public'
 
-export default {
-  components: {
-    SelectCell,
-    Uploader,
-    NavBar,
-    NfcPopup,
-    imgUrl,
-    [Dialog.Component.name]: Dialog.Component
-  },
-  data() {
-    return {
-      areaColor: {
-        // 已完成
-        complete: '#26850c',
-        // 未开始
-        noOpen: '#1989fa',
-        // 进行中
-        loading: '#ffa500'
-      },
-      NFCnums: 0,
-      yesNFCnums: 0,
-      currentImgNFC: [],
-      areaId: null,
-      resumptionData: {},
-      areas: [],
-      areasMap: {},
-      checks: [],
-      nfcs: [],
-      selectRadio: {},
-      total_show: false,
-      enable: false,
-      activeNames: [],
-      dayList: [15, 30, 90, 180],
-      yesList: [],
-      noList: [],
-      areaYesList: [],
-      areaNoList: [],
-      sheetYesList: [],
-      sheetNoList: [],
-      loading: false,
-      finished: false,
-      selectArea: null,
-      showButton: true,
-      preViewImages: {
-        images: [],
-        startPosition: 0
-      },
-      timer: null,
-    }
-  },
-  computed: {
-    ...mapGetters(['id']),
-    calcProgress() {
-      let p = (
-        ((this.resumptionData.yesPointNums + this.yesList.length) /
-          (this.resumptionData.yesPointNums + this.resumptionData.noPointNums + this.yesList.length + this.noList.length)) *
-        100
-      ).toFixed(2)
+  export default {
+    components: {
+      SelectCell,
+      Uploader,
+      NavBar,
+      NfcPopup,
+      imgUrl,
+      [Dialog.Component.name]: Dialog.Component
+    },
+    data() {
+      return {
+        areaColor: {
+          // 已完成
+          complete: '#26850c',
+          // 未开始
+          noOpen: '#1989fa',
+          // 进行中
+          loading: '#ffa500'
+        },
+        NFCnums: 0,
+        yesNFCnums: 0,
+        currentImgNFC: [],
+        areaId: null,
+        resumptionData: {},
+        areas: [],
+        areasMap: {},
+        checks: [],
+        nfcs: [],
+        selectRadio: {},
+        total_show: false,
+        enable: false,
+        activeNames: [],
+        dayList: [15, 30, 90, 180],
+        yesList: [],
+        noList: [],
+        areaYesList: [],
+        areaNoList: [],
+        sheetYesList: [],
+        sheetNoList: [],
+        loading: false,
+        finished: false,
+        selectArea: null,
+        showButton: true,
+        preViewImages: {
+          images: [],
+          startPosition: 0
+        },
+        timer: null,
+      }
+    },
+    computed: {
+      ...mapGetters(['id']),
+      calcProgress() {
+        let p = (
+          ((this.resumptionData.yesPointNums + this.yesList.length) /
+            (this.resumptionData.yesPointNums + this.resumptionData.noPointNums + this.yesList.length + this.noList.length)) *
+          100
+        ).toFixed(2)
 
-      if (window.isNaN(p)) return 0
+        if (window.isNaN(p)) return 0
 
-      return p
-    }
-  },
-  mounted() {
-    this.getResumptionData()
-    window.openNFCScanCallBack = this.openNFCScanCallBack
-  },
-  created() {
-    getDict('rectification_deadline').then(res => {
-      let { data } = res
-      this.dayList = data
-    })
-  },
-  methods: {
-    showButtoFun(vel) {
-      if (val === 1) {
-        this.showButton = false
-      }
-      if (val === 2) {
-        this.showButton = true
+        return p
       }
     },
-    //长度校验
-    validator(val) {
-      let len = val.length
-      if (len > 200) {
-        this.$toast.fail('问题情况输入长度不能超过200')
-        return false
-      } else {
-        return true
-      }
+    mounted() {
+      this.getResumptionData()
+      window.openNFCScanCallBack = this.openNFCScanCallBack
     },
-    checkNFC() {
-      this.useNFC()
-      this.$toast.loading({
-        duration: 0, // 持续展示 toast
-        position: 'top',
-        forbidClick: true,
-        message: '请靠近NFC标签,进行扫描!'
+    created() {
+      getDict('rectification_deadline').then(res => {
+        let { data } = res
+        this.dayList = data
       })
-
-      let second = 15
-      this.timer = setInterval(() => {
-        second--
-        if (!second) {
-          this.$toast.clear()
-          clearInterval(this.timer)
-          this.$toast({
-            type: 'fail',
-            position: 'top',
-            message: '未扫描到任何信息!'
-          })
-        }
-      }, 1000)
     },
-    openNFCScanCallBack(nfcStr) {
-      clearInterval(this.timer)
-      let nfcCode = ''
-      try {
-        let nfc = JSON.parse(nfcStr)
-        nfcCode = nfc.content
-      } catch (e) {
-        nfcCode = nfcStr.content
-      }
-      this.checkNfcFilter(nfcCode)
-    },
-    checkNfcFilter(nfcCode) {
-      let areaId = null
-      let checkOk = false
-      this.nfcs.forEach(v => {
-        if (v.nfcCode === nfcCode) {
-          areaId = v.areaId
-          this.switchArea(areaId)
-          if (v.status === 1) {
-            // this.$toast.fail('NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!');
+    methods: {
+      showButtoFun(vel) {
+        if (val === 1) {
+          this.showButton = false
+        }
+        if (val === 2) {
+          this.showButton = true
+        }
+      },
+      //长度校验
+      validator(val) {
+        let len = val.length
+        if (len > 200) {
+          this.$toast.fail('问题情况输入长度不能超过200')
+          return false
+        } else {
+          return true
+        }
+      },
+      checkNFC() {
+        this.useNFC()
+        this.$toast.loading({
+          duration: 0, // 持续展示 toast
+          position: 'top',
+          forbidClick: true,
+          message: '请靠近NFC标签,进行扫描!'
+        })
+
+        let second = 15
+        this.timer = setInterval(() => {
+          second--
+          if (!second) {
+            this.$toast.clear()
+            clearInterval(this.timer)
             this.$toast({
               type: 'fail',
-              message: 'NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!',
+              position: 'top',
+              message: '未扫描到任何信息!'
+            })
+          }
+        }, 1000)
+      },
+      openNFCScanCallBack(nfcStr) {
+        clearInterval(this.timer)
+        let nfcCode = ''
+        try {
+          let nfc = JSON.parse(nfcStr)
+          nfcCode = nfc.content
+        } catch (e) {
+          nfcCode = nfcStr.content
+        }
+        this.checkNfcFilter(nfcCode)
+      },
+      checkNfcFilter(nfcCode) {
+        let areaId = null
+        let checkOk = false
+        this.nfcs.forEach(v => {
+          if (v.nfcCode === nfcCode) {
+            areaId = v.areaId
+            this.switchArea(areaId)
+            if (v.status === 1) {
+              // this.$toast.fail('NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!');
+              this.$toast({
+                type: 'fail',
+                message: 'NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!',
+                position: 'top'
+              })
+
+              throw new Error('NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!')
+            }
+            v.status = 1
+            v.scanMethod = 2
+            v.submitTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
+            v.submitBy = this.id
+            // this.$toast.success('NFC点位:' + v.nfcName + '扫描成功!');
+            this.$toast({
+              type: 'success',
+              message: 'NFC点位:' + v.nfcName + '扫描成功!',
               position: 'top'
             })
 
-            throw new Error('NFC点位:' + v.nfcName + '已扫描,请勿重复扫描!')
+            checkOk = true
           }
-          v.status = 1
-          v.scanMethod = 2
-          v.submitTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
-          v.submitBy = this.id
-          // this.$toast.success('NFC点位:' + v.nfcName + '扫描成功!');
+        })
+        this.updateNFC(1, nfcCode)
+        if (!checkOk) {
+          // this.$toast.fail(nfcCode + ",不在本次履职范围内!");
           this.$toast({
-            type: 'success',
-            message: 'NFC点位:' + v.nfcName + '扫描成功!',
+            type: 'fail',
+            message: '此NFC标签,不在本次履职范围内!',
             position: 'top'
           })
-
-          checkOk = true
         }
-      })
-      this.updateNFC(1, nfcCode)
-      if (!checkOk) {
-        // this.$toast.fail(nfcCode + ",不在本次履职范围内!");
-        this.$toast({
-          type: 'fail',
-          message: '此NFC标签,不在本次履职范围内!',
-          position: 'top'
+        this.validateArea(areaId)
+      },
+      switchArea(areaId) {
+        this.areas.forEach((area, i) => {
+          if (areaId === area.areaId) {
+            this.activeArea(area, i)
+          }
         })
-      }
-      this.validateArea(areaId)
-    },
-    switchArea(areaId) {
-      this.areas.forEach((area, i) => {
-        if (areaId === area.areaId) {
-          this.activeArea(area, i)
+      },
+      useNFC() {
+        let system = this.isAndroidOrIos()
+        const parms = {
+          iOS_SessionType: '0'
         }
-      })
-    },
-    useNFC() {
-      let system = this.isAndroidOrIos()
-      const parms = {
-        iOS_SessionType: '0'
-      }
-      if (system === 1) {
-        //android
-        // 判断当前环境是是否存在 js桥 'sap'
-        const hasSap = window.hasOwnProperty('sap')
-        if (hasSap) {
-          // 判断是否存在方法 ?preview
-          const fun = sap.hasOwnProperty('openNFCScan')
-          if (fun) {
-            sap.openNFCScan(JSON.stringify(parms))
+        if (system === 1) {
+          //android
+          // 判断当前环境是是否存在 js桥 'sap'
+          const hasSap = window.hasOwnProperty('sap')
+          if (hasSap) {
+            // 判断是否存在方法 ?preview
+            const fun = sap.hasOwnProperty('openNFCScan')
+            if (fun) {
+              sap.openNFCScan(JSON.stringify(parms))
+            }
           }
         }
-      }
 
-      if (system === 2) {
-        //ios
-        // 判断 ios是否存在方法 preview
-        const fun = window.webkit.messageHandlers.hasOwnProperty('openNFCScan')
-        if (fun) {
-          window.webkit.messageHandlers.openNFCScan.postMessage(JSON.stringify(parms))
+        if (system === 2) {
+          //ios
+          // 判断 ios是否存在方法 preview
+          const fun = window.webkit.messageHandlers.hasOwnProperty('openNFCScan')
+          if (fun) {
+            window.webkit.messageHandlers.openNFCScan.postMessage(JSON.stringify(parms))
+          }
         }
-      }
-    },
-    isAndroidOrIos() {
-      const urls = navigator.userAgent
-      let isAndroid = urls.indexOf('Android') > -1 || urls.indexOf('Linux') > -1
-      let isIos = !!urls.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
-      if (isAndroid) {
-        return 1
-      }
-      if (isIos) {
-        return 2
-      }
-    },
-    preViewNFC(i) {
-      this.preViewImages.images = this.currentImgNFC.map(v => imgUrl(v.img))
-      this.preViewImages.startPosition = i
-      ImagePreview(this.preViewImages)
-    },
-    clickWarnImage(arr, i) {
-      this.preViewImages.images = arr.map(v => imgUrl(v.imgPath))
-      this.preViewImages.startPosition = i
-      ImagePreview(this.preViewImages)
-    },
-    getResumptionData() {
-      let data = {
-        taskId: this.$route.query.id,
-        taskDate: this.$route.query.taskDate
-      }
-      taskDetail(data).then(res => {
-        let { taskId, taskName, yesPointNums, noPointNums, yesNFCNums, noNFCNums, status } = res.data
-        this.resumptionData = {
-          taskId,
-          taskName,
-          yesPointNums,
-          noPointNums,
-          yesNFCNums,
-          noNFCNums,
-          status
+      },
+      isAndroidOrIos() {
+        const urls = navigator.userAgent
+        let isAndroid = urls.indexOf('Android') > -1 || urls.indexOf('Linux') > -1
+        let isIos = !!urls.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
+        if (isAndroid) {
+          return 1
+        }
+        if (isIos) {
+          return 2
+        }
+      },
+      preViewNFC(i) {
+        this.preViewImages.images = this.currentImgNFC.map(v => imgUrl(v.img))
+        this.preViewImages.startPosition = i
+        ImagePreview(this.preViewImages)
+      },
+      clickWarnImage(arr, i) {
+        this.preViewImages.images = arr.map(v => imgUrl(v.imgPath))
+        this.preViewImages.startPosition = i
+        ImagePreview(this.preViewImages)
+      },
+      getResumptionData() {
+        let data = {
+          taskId: this.$route.query.id,
+          taskDate: this.$route.query.taskDate
         }
-        this.enable = this.resumptionData.status === 1 || this.resumptionData.status === 2
-        this.checks = res.data.checks
-        this.nfcs = res.data.nfcs
-        this.areas = res.data.areas
-        let obj = {}
-        let tts = {}
-        res.data.areas.forEach(function (v, i) {
-          obj[v.areaId] = v.areaName
-          tts[v.areaId] = 0
+        taskDetail(data).then(res => {
+          let { taskId, taskName, yesPointNums, noPointNums, yesNFCNums, noNFCNums, status } = res.data
+          this.resumptionData = {
+            taskId,
+            taskName,
+            yesPointNums,
+            noPointNums,
+            yesNFCNums,
+            noNFCNums,
+            status
+          }
+          this.enable = this.resumptionData.status === 1 || this.resumptionData.status === 2
+          this.checks = res.data.checks
+          this.nfcs = res.data.nfcs
+          this.areas = res.data.areas
+          let obj = {}
+          let tts = {}
+          res.data.areas.forEach(function (v, i) {
+            obj[v.areaId] = v.areaName
+            tts[v.areaId] = 0
+          })
+          this.selectArea = tts
+          this.areasMap = obj
+          this.activeArea(this.areas[0], 0)
+          this.openCollapseItems()
+          this.updateNFC(0)
+          this.validateAreaAll()
         })
-        this.selectArea = tts
-        this.areasMap = obj
-        this.activeArea(this.areas[0], 0)
-        this.openCollapseItems()
-        this.updateNFC(0)
-        this.validateAreaAll()
-      })
-    },
-    openCollapseItems() {
-      let len = this.checks.length
-      for (let i = 0; i < len; i++) {
-        let title = this.checks[i].itemName
-        this.activeNames.push(title)
-      }
-    },
-    changeAreaSwitch(areaId) {
-      let num = 0
-      let total = 0
-      for (let i = 0; i < this.checks.length; i++) {
-        total = total + this.checks[i].points.length
-        for (let j = 0; j < this.checks[i].points.length; j++) {
-          if (this.checks[i].areaId === areaId) {
-            this.checks[i].points[j].dataStatus = 2
-            num++
-          } else {
-            if (this.checks[i].points[j].dataStatus === 2) {
+      },
+      openCollapseItems() {
+        let len = this.checks.length
+        for (let i = 0; i < len; i++) {
+          let title = this.checks[i].itemName
+          this.activeNames.push(title)
+        }
+      },
+      changeAreaSwitch(areaId) {
+        let num = 0
+        let total = 0
+        for (let i = 0; i < this.checks.length; i++) {
+          total = total + this.checks[i].points.length
+          for (let j = 0; j < this.checks[i].points.length; j++) {
+            if (this.checks[i].areaId === areaId) {
+              this.checks[i].points[j].dataStatus = 2
               num++
+            } else {
+              if (this.checks[i].points[j].dataStatus === 2) {
+                num++
+              }
             }
           }
         }
-      }
-      this.resumptionData.yesPointNums = num
-      this.resumptionData.noPointNums = total - num
-      this.validateAreaAll()
-      this.openCollapseItems()
-    },
-    changeSwitch() {
-      let num = 0
-      let total = 0
-      for (let i = 0; i < this.checks.length; i++) {
-        total = total + this.checks[i].points.length
-        for (let j = 0; j < this.checks[i].points.length; j++) {
-          if (this.checks[i].areaId === this.areaId) {
-            this.checks[i].points[j].dataStatus = 2
-            num++
-          } else {
-            if (this.checks[i].points[j].dataStatus === 2) {
+        this.resumptionData.yesPointNums = num
+        this.resumptionData.noPointNums = total - num
+        this.validateAreaAll()
+        this.openCollapseItems()
+      },
+      changeSwitch() {
+        let num = 0
+        let total = 0
+        for (let i = 0; i < this.checks.length; i++) {
+          total = total + this.checks[i].points.length
+          for (let j = 0; j < this.checks[i].points.length; j++) {
+            if (this.checks[i].areaId === this.areaId) {
+              this.checks[i].points[j].dataStatus = 2
               num++
+            } else {
+              if (this.checks[i].points[j].dataStatus === 2) {
+                num++
+              }
             }
           }
         }
-      }
-      this.resumptionData.yesPointNums = num
-      this.resumptionData.noPointNums = total - num
-      this.validateAreaAll()
-      this.openCollapseItems()
-    },
-    validateAreaAll() {
-      this.areas.forEach((item, index) => {
-        this.validateArea(item.areaId)
-      })
-    },
-    changeCurrentSwitch(areaId) {
-      this.resumptionData.yesPointNums = this.resumptionData.yesPointNums + 1
-      this.resumptionData.noPointNums = this.resumptionData.noPointNums - 1
-      this.validateArea(areaId)
-    },
-    validateArea(areaId) {
-      //检查项数量
-      let total = 0
-      //完成检查项数量
-      let yes = 0
-      let loading = 0
-      //完成NFC扫描的数量
-      let nfc_num = 0
-      let nfc_no = 0
-      this.checks.forEach(item => {
-        let pointList = item.points
-        pointList.forEach(point => {
-          if (item.areaId === areaId) {
-            total++
-            if (point.dataStatus === 2) {
-              yes++
-              if (point.resValue === 1) {
-                if (point.resRemark === null || point.resRemark === '' || point.rectificationDeadline === null) {
-                  loading++
+        this.resumptionData.yesPointNums = num
+        this.resumptionData.noPointNums = total - num
+        this.validateAreaAll()
+        this.openCollapseItems()
+      },
+      validateAreaAll() {
+        this.areas.forEach((item, index) => {
+          this.validateArea(item.areaId)
+        })
+      },
+      changeCurrentSwitch(areaId) {
+        this.resumptionData.yesPointNums = this.resumptionData.yesPointNums + 1
+        this.resumptionData.noPointNums = this.resumptionData.noPointNums - 1
+        this.validateArea(areaId)
+      },
+      validateArea(areaId) {
+        //检查项数量
+        let total = 0
+        //完成检查项数量
+        let yes = 0
+        let loading = 0
+        //完成NFC扫描的数量
+        let nfc_num = 0
+        let nfc_no = 0
+        this.checks.forEach(item => {
+          let pointList = item.points
+          pointList.forEach(point => {
+            if (item.areaId === areaId) {
+              total++
+              if (point.dataStatus === 2) {
+                yes++
+                if (point.resValue === 1) {
+                  if (point.resRemark === null || point.resRemark === '' || point.rectificationDeadline === null) {
+                    loading++
+                  }
                 }
               }
             }
-          }
-        })
-        this.nfcs.forEach(nfc => {
-          if (areaId === nfc.areaId) {
-            nfc_num++
-            if (nfc.status === 0) {
-              nfc_no++
+          })
+          this.nfcs.forEach(nfc => {
+            if (areaId === nfc.areaId) {
+              nfc_num++
+              if (nfc.status === 0) {
+                nfc_no++
+              }
             }
-          }
+          })
         })
-      })
 
-      // 0:未开始,2:进行中,1已完成
-      let areaStatus = '0'
-      if (total === yes && nfc_no === 0) {
-        //检查项完成检查,nfc完成扫描,或者没有nfc扫描
-        areaStatus = '1'
-        if (loading > 0) {
+        // 0:未开始,2:进行中,1已完成
+        let areaStatus = '0'
+        if (total === yes && nfc_no === 0) {
+          //检查项完成检查,nfc完成扫描,或者没有nfc扫描
+          areaStatus = '1'
+          if (loading > 0) {
+            areaStatus = '2'
+          }
+        } else if (yes === 0 && nfc_no === nfc_num) {
+          //检查项完成检查项为0,nfc也没动
+          areaStatus = '0'
+        } else {
           areaStatus = '2'
         }
-      } else if (yes === 0 && nfc_no === nfc_num) {
-        //检查项完成检查项为0,nfc也没动
-        areaStatus = '0'
-      } else {
-        areaStatus = '2'
-      }
 
-      this.areas.forEach((item, index) => {
-        if (item.areaId === areaId) {
-          this.areas[index].areaStatus = areaStatus
-        }
-      })
-    },
-    clickNFC() {
-      let arr = this.nfcs.filter(item => {
-        return item.areaId === this.areaId && item.status === 0
-      })
+        this.areas.forEach((item, index) => {
+          if (item.areaId === areaId) {
+            this.areas[index].areaStatus = areaStatus
+          }
+        })
+      },
+      clickNFC() {
+        let arr = this.nfcs.filter(item => {
+          return item.areaId === this.areaId && item.status === 0
+        })
 
-      if (arr.length > 0) {
-        let nfcs = []
-        for (const nfc of arr) {
-          let pro = {}
-          pro.checkName = nfc.nfcName
-          pro.nfccdoe = nfc.nfcCode
-          nfcs.push(pro)
+        if (arr.length > 0) {
+          let nfcs = []
+          for (const nfc of arr) {
+            let pro = {}
+            pro.checkName = nfc.nfcName
+            pro.nfccdoe = nfc.nfcCode
+            nfcs.push(pro)
+          }
+          this.$refs.NfcPopup.show(nfcs)
+        } else {
+          this.$toast.fail({
+            message: '该区域没有需要扫描的NFC!',
+            position: 'top'
+          })
         }
-        this.$refs.NfcPopup.show(nfcs)
-      } else {
-        this.$toast.fail({
-          message: '该区域没有需要扫描的NFC!',
-          position: 'top'
-        })
-      }
-    },
-    cancelImg(imgItem) {
-      this.updateNFC(2, imgItem.nfcCode, imgItem)
-      this.validateArea(this.areaId)
-    },
-    changeNfcImg(imgItem) {
-      this.updateNFC(1, imgItem.nfcCode, imgItem)
-      this.validateArea(this.areaId)
-    },
-    updateNFC(type, nfcCode, imgItem) {
-      //type 1 表示新增加扫描的数据,2 表示新增未扫描的数量,0 未做任何操作
-      //nfcCode 代表扫描和减少的nfc数据。
-      //更新全局nfc已扫描 和未扫描
-      this.yesList = []
-      this.noList = []
-      this.areaYesList = []
-      this.areaNoList = []
-      this.nfcs.forEach(item => {
-        if (type === 1) {
-          //新增扫描到的标签
-          if (nfcCode === item.nfcCode) {
-            item.status = 1
-            item.submitTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
-            item.submitBy = this.id
-            if (imgItem) {
-              item.scanMethod = 1
-              //拍照NFC特殊处理
-              item.img = imgItem.url
-              this.currentImgNFC.push(item)
-            } else {
-              item.scanMethod = 0
+      },
+      cancelImg(imgItem) {
+        this.updateNFC(2, imgItem.nfcCode, imgItem)
+        this.validateArea(this.areaId)
+      },
+      changeNfcImg(imgItem) {
+        this.updateNFC(1, imgItem.nfcCode, imgItem)
+        this.validateArea(this.areaId)
+      },
+      updateNFC(type, nfcCode, imgItem) {
+        //type 1 表示新增加扫描的数据,2 表示新增未扫描的数量,0 未做任何操作
+        //nfcCode 代表扫描和减少的nfc数据。
+        //更新全局nfc已扫描 和未扫描
+        this.yesList = []
+        this.noList = []
+        this.areaYesList = []
+        this.areaNoList = []
+        this.nfcs.forEach(item => {
+          if (type === 1) {
+            //新增扫描到的标签
+            if (nfcCode === item.nfcCode) {
+              item.status = 1
+              item.submitTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
+              item.submitBy = this.id
+              if (imgItem) {
+                item.scanMethod = 1
+                //拍照NFC特殊处理
+                item.img = imgItem.url
+                this.currentImgNFC.push(item)
+              } else {
+                item.scanMethod = 0
+              }
             }
           }
-        }
-        if (type === 2) {
-          //新增未扫描的标签
-          if (nfcCode === item.nfcCode) {
-            item.status = 0
-            item.scanMethod = null
-            item.submitTime = null
-            item.submitBy = null
-            if (item.img) {
-              //拍照NFC特殊处理
-              item.img = null
-              this.currentImgNFC = this.currentImgNFC.filter(v => {
-                return v.nfcCode !== item.nfcCode
-              })
+          if (type === 2) {
+            //新增未扫描的标签
+            if (nfcCode === item.nfcCode) {
+              item.status = 0
+              item.scanMethod = null
+              item.submitTime = null
+              item.submitBy = null
+              if (item.img) {
+                //拍照NFC特殊处理
+                item.img = null
+                this.currentImgNFC = this.currentImgNFC.filter(v => {
+                  return v.nfcCode !== item.nfcCode
+                })
+              }
             }
           }
-        }
-        //扫描到nfc
-        if (item.status === 1) {
-          this.yesList.push(item)
-          if (this.areaId === item.areaId) {
-            this.areaYesList.push(item)
+          //扫描到nfc
+          if (item.status === 1) {
+            this.yesList.push(item)
+            if (this.areaId === item.areaId) {
+              this.areaYesList.push(item)
+            }
+          } else {
+            this.noList.push(item)
+            if (this.areaId === item.areaId) {
+              this.areaNoList.push(item)
+            }
           }
+        })
+      },
+      showDetail(data) {
+        if (data === 1) {
+          this.sheetYesList = this.yesList
+          this.sheetNoList = this.noList
         } else {
-          this.noList.push(item)
-          if (this.areaId === item.areaId) {
-            this.areaNoList.push(item)
-          }
+          this.sheetNoList = this.areaNoList
+          this.sheetYesList = this.areaYesList
         }
-      })
-    },
-    showDetail(data) {
-      if (data === 1) {
-        this.sheetYesList = this.yesList
-        this.sheetNoList = this.noList
-      } else {
-        this.sheetNoList = this.areaNoList
-        this.sheetYesList = this.areaYesList
-      }
-      this.total_show = true
-    },
-    onLoad() {},
-    //点击区域
-    clickArea(area, index) {
-      this.activeArea(area, index)
-    },
-    //选中区域时数据变更
-    activeArea(area, index) {
-      //获取当前选中区域
-      this.areaId = area.areaId
-      this.updateNFC(0)
-      //设置选中样式
-      this.$nextTick(() => {
-        let doms = document.getElementsByClassName('check-area')
-        Array.prototype.forEach.call(doms, item => {
-          item.classList.remove('active')
+        this.total_show = true
+      },
+      onLoad() {},
+      //点击区域
+      clickArea(area, index) {
+        this.activeArea(area, index)
+      },
+      //选中区域时数据变更
+      activeArea(area, index) {
+        //获取当前选中区域
+        this.areaId = area.areaId
+        this.updateNFC(0)
+        //设置选中样式
+        this.$nextTick(() => {
+          let doms = document.getElementsByClassName('check-area')
+          Array.prototype.forEach.call(doms, item => {
+            item.classList.remove('active')
+          })
+          doms[index].classList.add('active')
         })
-        doms[index].classList.add('active')
-      })
-      let nfcs = 0
-      let current = []
-      let yesNum = 0
-      for (let i = 0; i < this.nfcs.length; i++) {
-        let nfc = this.nfcs[i]
-        let areaId = nfc.areaId
-        if (areaId === area.areaId) {
-          nfcs++
-          if (nfc.status === 1) {
-            yesNum++
-          }
-          if (nfc.img) {
-            current.push(nfc)
+        let nfcs = 0
+        let current = []
+        let yesNum = 0
+        for (let i = 0; i < this.nfcs.length; i++) {
+          let nfc = this.nfcs[i]
+          let areaId = nfc.areaId
+          if (areaId === area.areaId) {
+            nfcs++
+            if (nfc.status === 1) {
+              yesNum++
+            }
+            if (nfc.img) {
+              current.push(nfc)
+            }
           }
         }
-      }
-      this.currentImgNFC = current
-      this.yesNFCnums = yesNum
-      this.NFCnums = nfcs
-      this.selectArea = area
-    },
-    //保存数据
-    resumptionDataSave() {
-      //组装数据
-      let data = {}
-      data.taskId = this.resumptionData.taskId
-      data.checks = this.checks
-      data.nfcs = this.nfcs
-      data.subType = 1
-      saveTask(data).then(res => {
-        this.$toast('保存成功')
-      })
-    },
-    submitResumptionData() {
-      //备份数据
-      let bakNfcs = this.nfcs
-      let bakChecks = this.checks
-      try {
-        //验证数据
-        let subNFCS = []
-        let noNfc = this.nfcs.filter((item, index) => {
-          if (item.status === 1) {
-            subNFCS.push(item)
-          }
-          if (item.status === 0 && item.pointScan === 1) {
-            return true
-          }
+        this.currentImgNFC = current
+        this.yesNFCnums = yesNum
+        this.NFCnums = nfcs
+        this.selectArea = area
+      },
+      //保存数据
+      resumptionDataSave() {
+        //组装数据
+        let data = {}
+        data.taskId = this.resumptionData.taskId
+        data.checks = this.checks
+        data.nfcs = this.nfcs
+        data.subType = 1
+        saveTask(data).then(res => {
+          this.$toast('保存成功')
         })
-        if (noNfc.length > 0) {
-          Dialog.alert({
-            message: 'NFC标签还未扫描完成,请完成后提交!'
+      },
+      submitResumptionData() {
+        //备份数据
+        let bakNfcs = this.nfcs
+        let bakChecks = this.checks
+        try {
+          //验证数据
+          let subNFCS = []
+          let noNfc = this.nfcs.filter((item, index) => {
+            if (item.status === 1) {
+              subNFCS.push(item)
+            }
+            if (item.status === 0 && item.pointScan === 1) {
+              return true
+            }
           })
-          throw new Error('NFC标签还未扫描完成,请完成后提交!')
-          return
-        }
+          if (noNfc.length > 0) {
+            Dialog.alert({
+              message: 'NFC标签还未扫描完成,请完成后提交!'
+            })
+            throw new Error('NFC标签还未扫描完成,请完成后提交!')
+            return
+          }
 
-        for (let i = 0; i < this.checks.length; i++) {
-          for (let j = 0; j < this.checks[i].points.length; j++) {
-            let point = this.checks[i].points[j]
-            let item = this.checks[i]
-            if (point.resValue === 0) {
-              this.checks[i].points[j].rectificationDeadline = null
-              //this.checks[i].points[j].imgs = [];
-              this.checks[i].points[j].resRemark = null
-            }
-            if (point.dataStatus === 1) {
-              if (point.required === 0) {
-                //如果不是必填内容
-                this.checks[i].points[j].dataStatus = 2
-                this.checks[i].points[j].resValue = 0
-              } else {
-                Dialog.alert({
-                  message: '存在未编辑完成履职项,无法提交!'
-                })
-                throw new Error('还有未完成的内容,请先完成再提交')
+          for (let i = 0; i < this.checks.length; i++) {
+            for (let j = 0; j < this.checks[i].points.length; j++) {
+              let point = this.checks[i].points[j]
+              let item = this.checks[i]
+              if (point.resValue === 0) {
+                this.checks[i].points[j].rectificationDeadline = null
+                //this.checks[i].points[j].imgs = [];
+                this.checks[i].points[j].resRemark = null
               }
-            } else {
-              if (point.resValue === 1) {
-                if (!point.rectificationDeadline) {
-                  this.changeSwitch()
-                  this.areas.forEach((area, i) => {
-                    if (area.areaId === item.areaId) {
-                      this.activeArea(area, i)
-                      //切换后验证表单
-                      this.$refs.resumption_form.validate()
-                      this.$toast.fail({
-                        message: '请选择整改期限!',
-                        position: 'top'
-                      })
-                    }
+              if (point.dataStatus === 1) {
+                if (point.required === 0) {
+                  //如果不是必填内容
+                  this.checks[i].points[j].dataStatus = 2
+                  this.checks[i].points[j].resValue = 0
+                } else {
+                  Dialog.alert({
+                    message: '存在未编辑完成履职项,无法提交!'
                   })
-                  throw new Error('存在未编辑完成履职项,无法提交')
+                  throw new Error('还有未完成的内容,请先完成再提交')
                 }
-                if (!point.resRemark) {
-                  this.changeSwitch()
-                  this.areas.forEach((area, i) => {
-                    if (area.areaId === item.areaId) {
-                      this.activeArea(area, i)
-                      //切换后验证表单
-                      this.$refs.resumption_form.validate()
-                      this.$toast.fail({
-                        message: '请完成异常情况的信息填写!',
-                        position: 'top'
-                      })
-                    }
-                  })
-                  throw new Error('存在未编辑完成履职项,无法提交')
+              } else {
+                if (point.resValue === 1) {
+                  if (!point.rectificationDeadline) {
+                    this.changeSwitch()
+                    this.areas.forEach((area, i) => {
+                      if (area.areaId === item.areaId) {
+                        this.activeArea(area, i)
+                        //切换后验证表单
+                        this.$refs.resumption_form.validate()
+                        this.$toast.fail({
+                          message: '请选择整改期限!',
+                          position: 'top'
+                        })
+                      }
+                    })
+                    throw new Error('存在未编辑完成履职项,无法提交')
+                  }
+                  if (!point.resRemark) {
+                    this.changeSwitch()
+                    this.areas.forEach((area, i) => {
+                      if (area.areaId === item.areaId) {
+                        this.activeArea(area, i)
+                        //切换后验证表单
+                        this.$refs.resumption_form.validate()
+                        this.$toast.fail({
+                          message: '请完成异常情况的信息填写!',
+                          position: 'top'
+                        })
+                      }
+                    })
+                    throw new Error('存在未编辑完成履职项,无法提交')
+                  }
+                  // if(point.imgs.length < 1){
+                  //   this.changeSwitch()
+                  //   this.areas.forEach((area, i) => {
+                  //     if (area.areaId === item.areaId) {
+                  //       this.activeArea(area, i)
+                  //       //切换后验证表单
+                  //       this.$refs.resumption_form.validate()
+                  //       this.$toast.fail({
+                  //         message: '请拍照上传异常图片!',
+                  //         position: 'top'
+                  //       })
+                  //       throw new Error('请上传异常图片!');
+                  //     }
+                  //   })
+                  // }
                 }
-                // if(point.imgs.length < 1){
-                //   this.changeSwitch()
-                //   this.areas.forEach((area, i) => {
-                //     if (area.areaId === item.areaId) {
-                //       this.activeArea(area, i)
-                //       //切换后验证表单
-                //       this.$refs.resumption_form.validate()
-                //       this.$toast.fail({
-                //         message: '请拍照上传异常图片!',
-                //         position: 'top'
-                //       })
-                //       throw new Error('请上传异常图片!');
-                //     }
-                //   })
-                // }
               }
             }
           }
-        }
-        let data = {}
-        data.taskId = this.resumptionData.taskId
-        data.checks = this.checks
-        data.nfcs = subNFCS
-        data.subType = 2
+          let data = {}
+          data.taskId = this.resumptionData.taskId
+          data.checks = this.checks
+          data.nfcs = subNFCS
+          data.subType = 2
 
-        saveTask(data).then(res => {
-          this.$toast('提交成功')
-          /*this.$router.replace({
-              path: '/resumption',
-              name: 'resumption',
-              params:{event:'refresh'}
-            });*/
-          this.$router.go(-1)
-        })
-      } catch (e) {
-        this.nfcs = bakNfcs
-        this.checks = bakChecks
+          saveTask(data).then(res => {
+            this.$toast('提交成功')
+            /*this.$router.replace({
+                path: '/resumption',
+                name: 'resumption',
+                params:{event:'refresh'}
+              });*/
+            this.$router.go(-1)
+          })
+        } catch (e) {
+          this.nfcs = bakNfcs
+          this.checks = bakChecks
+        }
       }
     }
   }
-}
 </script>
 
 <style lang="scss" scoped>
-.van-progress {
-  z-index: 999;
-  width: 98%;
-  left: 6px;
-  right: 6px;
-}
-
-.page_box {
-  height: calc(100vh - 60px);
-  overflow: scroll;
-}
-
-.content {
-  padding: 16px 16px 10px;
-}
+  .van-progress {
+    z-index: 999;
+    width: 98%;
+    left: 6px;
+    right: 6px;
+  }
 
-.panel {
-  background-color: white;
-  border-radius: 10px;
-  border: 1px solid #ffffff;
-  display: flex;
-  flex-direction: column;
-  box-shadow: 0 8px 12px #ebedf0;
-  margin-bottom: 10px;
+  .page_box {
+    height: calc(100vh - 60px);
+    overflow: scroll;
+  }
 
-  .van-cell__title {
-    font-weight: bold;
+  .content {
+    padding: 16px 16px 10px;
   }
-}
 
-.soc_resumption .van-cell__title {
-  min-width: 80% !important;
-}
-.van-cell__title span {
-  text-align: left;
-  word-break: break-all;
-}
+  .panel {
+    background-color: white;
+    border-radius: 10px;
+    border: 1px solid #ffffff;
+    display: flex;
+    flex-direction: column;
+    box-shadow: 0 8px 12px #ebedf0;
+    margin-bottom: 10px;
 
-.total_panel {
-  text-align: center;
+    .van-cell__title {
+      font-weight: bold;
+    }
+  }
 
-  .title {
-    padding-top: 10px;
+  .soc_resumption .van-cell__title {
+    min-width: 80% !important;
+  }
+  .van-cell__title span {
+    text-align: left;
+    word-break: break-all;
   }
 
-  .content {
-    padding-top: 10px;
-    padding-bottom: 10px;
+  .total_panel {
+    text-align: center;
 
-    .con_num {
-      padding: 15px;
+    .title {
+      padding-top: 10px;
     }
 
-    .ok {
-      color: #26850c;
-    }
+    .content {
+      padding-top: 10px;
+      padding-bottom: 10px;
+
+      .con_num {
+        padding: 15px;
+      }
 
-    .no {
-      color: #98632d;
+      .ok {
+        color: #26850c;
+      }
+
+      .no {
+        color: #98632d;
+      }
     }
   }
-}
 
-.card {
-  box-shadow: 0 10px 10px #eaeaea;
-}
+  .card {
+    box-shadow: 0 10px 10px #eaeaea;
+  }
 
-.van-popup {
-  height: 50%;
-}
+  .van-popup {
+    height: 50%;
+  }
 
-.check-area {
-  //background-color: #f1f1f1;
-  text-align: center;
-  margin: 10px;
-  padding: 20px;
-  //color: #aaa;
-  border-radius: 6px;
-  justify-content: space-between;
-  align-items: center;
-  box-shadow: 0 2px 6px #ddd;
-  position: relative;
-  height: 80px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  .ysj {
-    position: absolute;
-    right: 5px;
-    top: 5px;
+  .check-area {
+    //background-color: #f1f1f1;
+    text-align: center;
+    margin: 10px;
+    padding: 20px;
+    //color: #aaa;
+    border-radius: 6px;
+    justify-content: space-between;
+    align-items: center;
+    box-shadow: 0 2px 6px #ddd;
+    position: relative;
+    height: 80px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    .ysj {
+      position: absolute;
+      right: 5px;
+      top: 5px;
+    }
   }
-}
 
-.active {
-  background-color: #bdbdbd;
-  color: #333;
-}
+  .active {
+    background-color: #bdbdbd;
+    color: #333;
+  }
 
-.complete {
-  color: #fff;
-  background-color: #1989fa;
-}
+  .complete {
+    color: #fff;
+    background-color: #1989fa;
+  }
 
-.nfc-icon {
-  width: 50px;
-  height: 50px;
-  margin-left: 20px;
-}
+  .nfc-icon {
+    width: 50px;
+    height: 50px;
+    margin-left: 20px;
+  }
 
-.bottomClass {
-  position: fixed;
-  width: 100%;
-  bottom: 0;
-  z-index: 999;
-  background: #ebedf0;
-  text-align: center;
+  .bottomClass {
+    position: fixed;
+    width: 100%;
+    bottom: 0;
+    z-index: 999;
+    background: #ebedf0;
+    text-align: center;
 
-  .van-button {
-    width: 95%;
-    margin-top: 10px;
+    .van-button {
+      width: 95%;
+      margin-top: 10px;
+    }
   }
-}
 
-.okAll {
-  background-color: #fff;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  height: 50px;
-}
+  .okAll {
+    background-color: #fff;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    height: 7vw;
+  }
 
-.nfc-img {
-  display: inline-block;
-  width: 160px;
-  height: 160px;
-  margin: 0 10px;
-  position: relative;
+  .nfc-img {
+    display: inline-block;
+    width: 160px;
+    height: 160px;
+    margin: 0 10px;
+    position: relative;
 
-  > img {
-    width: 100%;
-    height: 100%;
-    border: none;
-  }
+    > img {
+      width: 100%;
+      height: 100%;
+      border: none;
+    }
 
-  > span {
-    position: absolute;
-    padding: 0 10px;
-    bottom: 0;
-    left: 0;
-    display: block;
-    width: 100%;
-    background-color: rgba(0, 0, 0, 0.2);
-    color: #eaeaea;
-    font-size: 5px;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    line-height: 30px;
-    white-space: break-spaces;
-    height: 30px;
-  }
+    > span {
+      position: absolute;
+      padding: 0 10px;
+      bottom: 0;
+      left: 0;
+      display: block;
+      width: 100%;
+      background-color: rgba(0, 0, 0, 0.2);
+      color: #eaeaea;
+      font-size: 5px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      line-height: 30px;
+      white-space: break-spaces;
+      height: 30px;
+    }
 
-  .cancel_icon {
-    position: absolute;
-    font-size: 30px;
-    right: 5px;
-    top: 2px;
+    .cancel_icon {
+      position: absolute;
+      font-size: 30px;
+      right: 5px;
+      top: 2px;
+    }
   }
-}
 </style>