Explorar o código

安全检查登记 缺陷

jiawuxian hai 1 ano
pai
achega
4695d80689

+ 7 - 6
src/views/safetycheck/task/components/checkRegister.vue

@@ -101,7 +101,7 @@
             <div
               style="background-color: #d1e0f1 !important; padding-left: 10px"
             >
-              <div class="name namePadding" >
+              <div class="name namePadding">
                 {{ arabicToChinese(index + 1) }}、{{ item.itemName }}
               </div>
             </div>
@@ -112,10 +112,11 @@
               :key="point.pointId"
             >
               <div class="pointContent name">
-                <div class="pointName  namePadding">
-                  <div class="text_nbsp">{{ pIndex + 1 + ".   " + point.pointName }}</div>
+                <div class="pointName namePadding">
+                  <div class="text_nbsp">
+                    {{ pIndex + 1 + ".   " + point.pointName }}
+                  </div>
                   <!-- <i class="circle" /> -->
-                  
                 </div>
                 <div v-if="point.status == 1">
                   <el-form
@@ -398,7 +399,7 @@ export default {
             let form = this.$refs[p];
             if (form.length) {
               isOk &= await this.$refs[p][0].validate();
-            } else {
+            } else if (form.validate) {
               isOk &= await this.$refs[p].validate();
             }
           } catch (e) {
@@ -505,7 +506,7 @@ export default {
 }
 
 .point_btn {
-  padding-top:5px;
+  padding-top: 5px;
   width: 600px;
 }
 

+ 24 - 11
src/views/safetycheck/task/components/register.vue

@@ -61,23 +61,24 @@
             :key="item.itemId"
           >
             <div
-              style="background-color: #d1e0f1 !important; padding-left: 10px"
+              style="background-color: #d1e0f1 !important; padding-left: 10px;display:flex"
             >
-              <div class="name namePadding" >
+              <div class="name namePadding">
                 {{ arabicToChinese(index + 1) }}、{{ item.itemName }}
-              </div>
+              </div >
+              <!-- <div class="namePadding" style="padding-left:20px;">检查结果</div> -->
             </div>
-
             <div
               class="safetycheck_point"
               v-for="(point, pIndex) in item.pointList"
               :key="point.pointId"
             >
               <div class="pointContent name">
-                <div class="pointName  namePadding">
-                  <div class="text_nbsp">{{ pIndex + 1 + ".   " + point.pointName }}</div>
+                <div class="pointName namePadding">
+                  <div class="text_nbsp">
+                    {{ pIndex + 1 + ".   " + point.pointName }}
+                  </div>
                   <!-- <i class="circle" /> -->
-                  
                 </div>
                 <div v-if="point.status == 1">
                   <el-form
@@ -216,7 +217,7 @@ export default {
   },
   mounted() {
     let id = this.$route.params.taskId;
-    let request = api.info;    
+    let request = api.info;
     request(id).then((r) => {
       if (r.data.status == 3) {
         this.onClose();
@@ -391,9 +392,21 @@ export default {
         return;
       }
       let isOk = true;
+      
+      for (let area of this.taskInfo.checkList) {
+        for (let item of area.itemList) {
+          for (let point of item.pointList) {
+            if (point.status == null) {
+              this.$modal.alert("检查结果还未登记!");
+              return;
+            }
+          }
+        }
+      }
       let r = this.$refs;
+      debugger
       for (let p in this.$refs) {
-        if (p.startsWith("point")) {
+        if (p.startsWith("point") &&  this.$refs[p].length>0) {
           try {
             isOk &= await this.$refs[p][0].validate();
           } catch (e) {
@@ -414,7 +427,7 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.app-container{
+.app-container {
   background-color: white;
 }
 .el-row-button {
@@ -507,7 +520,7 @@ export default {
 }
 
 .point_btn {
-  padding-top:5px;
+  padding-top: 5px;
   width: 600px;
 }