wang_xy 1 år sedan
förälder
incheckning
7c74deb00b
2 ändrade filer med 164 tillägg och 35 borttagningar
  1. 138 27
      src/components/EnginNodeInfo/index.vue
  2. 26 8
      src/views/zdsz/engineeringCivil/index.vue

+ 138 - 27
src/components/EnginNodeInfo/index.vue

@@ -1,4 +1,4 @@
-<!-- 
+<!--
  *@description: 节点信息form(新)
  *@author: yh Fu
  *@date: 2024-01-10 14:44:14
@@ -9,37 +9,132 @@
 <template>
     <div style="width: 100%; height: 100%;">
         <!-- 节点表单 -->
-        <el-form ref="fangxianForm" :model="fangxianInfo" :rules="nodeRules" label-width="200px" v-show="types.includes('放线')">
-            <h2 style="margin-left: 17%;font-weight: 800;">放线</h2>
-            <el-form-item label="施工时间" prop="constructTime">
+        <el-form ref="fangxianForm" :model="fangxianInfo" :rules="nodeRules" label-width="200px">
+            <h2 style="margin-left: 17%;font-weight: 800;">{{title}}</h2>
+          <el-form-item label="是否按图纸施工" prop="constructAccordingDrawings" v-if="typesArray.includes('constructAccordingDrawings')">
+            <el-select v-model="fangxianInfo.constructAccordingDrawings" >
+              <el-option
+                v-for="e in constructAccordingDrawingsOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="分段打压" prop="segmentedCompressionQualified" v-if="typesArray.includes('segmentedCompressionQualified')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="回填时间" prop="backfill_time" v-if="typesArray.includes('backfill_time')">
             <el-date-picker
-                :disabled="formType"
-                v-model="fangxianInfo.constructTime"
-                value-format="yyyy-MM-dd hh:mm:ss"
-                type="datetime"
-                placeholder="请选择施工时间">
+              value-format="yyyy-MM-dd hh:mm:ss"
+              type="datetime"
+              placeholder="请选择施工时间">
             </el-date-picker>
-            </el-form-item>
-            <el-form-item label="是否按图纸施工" prop="constructAccordingDrawings">
-            <el-select v-model="fangxianInfo.constructAccordingDrawings" :disabled="formType">
-                <el-option
-                v-for="e in constructAccordingDrawingsOption"
+          </el-form-item>
+          <el-form-item label="施工时间" prop="construct_time" v-if="typesArray.includes('construct_time')">>
+            <el-date-picker
+              value-format="yyyy-MM-dd hh:mm:ss"
+              type="datetime"
+              placeholder="请选择施工时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="施工内容" prop="remark" v-if="typesArray.includes('remark')">
+            <el-input
+              type="textarea"
+              placeholder="请输入施工内容"
+              maxlength="255"
+            />
+          </el-form-item>
+          <el-form-item label="自闭阀类型" prop="self_closing_valve_type" v-if="typesArray.includes('self_closing_valve_type')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
                 :key="e.value"
                 :label="e.label"
                 :value="e.value"
-                ></el-option>
+              ></el-option>
             </el-select>
-            </el-form-item>
-            <el-form-item label="分段打压" prop="segmentedCompressionQualified">
-            <el-select v-model="fangxianInfo.segmentedCompressionQualified" :disabled="formType">
-                <el-option
+          </el-form-item>
+          <el-form-item label="上门类型" prop="visit_type" v-if="typesArray.includes('visit_type')">
+            <el-select   >
+              <el-option
                 v-for="e in segmentedCompressionQualifiedOption"
                 :key="e.value"
                 :label="e.label"
                 :value="e.value"
-                ></el-option>
+              ></el-option>
             </el-select>
-            </el-form-item>
+          </el-form-item>
+          <el-form-item label="腐蚀等级" prop="corrosion_level" v-if="typesArray.includes('corrosion_level_old')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="孔距" prop="corrosion_level" v-if="typesArray.includes('corrosion_level_nuw')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="品牌" prop="brand" v-if="typesArray.includes('brand')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="厂家" prop="manufacturer" v-if="typesArray.includes('manufacturer')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="材质" prop="material_quality" v-if="typesArray.includes('material_quality')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="规格" prop="specifications" v-if="typesArray.includes('specifications')">
+            <el-select   >
+              <el-option
+                v-for="e in segmentedCompressionQualifiedOption"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="数量" prop="number" v-if="typesArray.includes('number')">
+            <el-input-number></el-input-number>
+          </el-form-item>
             <el-form-item label="照片" prop="zEngiineeringPhotoBoList" style="width: 8%;display: block;">
             <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="fangxianInfo.zEngiineeringPhotoBoList"
                             @input="getUrl"></ObsImageUpload>
@@ -51,16 +146,32 @@
 <script>
 export default {
     name:'EnginNodeInfo',
-    props:['types'],
+    props:['types','title'],
     data(){
         return {
+            typesArray:[],
             fangxianInfo:{
-                constructTime:'',
-                constructAccordingDrawings:'',
-                segmentedCompressionQualified:'',
-                zEngiineeringPhotoBoList:[]
+              construct_according_drawings:"",
+              segmented_compression_qualified:"",
+              backfill_time:"",
+              construct_time:"",
+              remark:"",
+              zEngineeringInfoBoList:[{
+                self_closing_valve_type:"",
+                visit_type:"",
+                brand:"",
+                material_quality:"",
+                specifications:"",
+                number:"",
+              }]
             }
         }
+    },
+    mounted() {
+      this.typesArray = JSON.parse(this.types)
+    },
+  methods:{
+      // returnData
     }
 }
 </script>
@@ -73,4 +184,4 @@ export default {
         display: inline-block;
     }
 }
-</style>
+</style>

+ 26 - 8
src/views/zdsz/engineeringCivil/index.vue

@@ -308,19 +308,18 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="节点">
-              <el-checkbox-group v-model="checkList">
-                <el-checkbox 
-                  :label="item.dictValue" 
+              <el-checkbox-group v-model="checkListCheck">
+                <el-checkbox
+                  :label="item.dictValue"
                   v-for="item in checkList"
                   :key="item"
-                  ></el-checkbox>
+                  @change=""
+                ></el-checkbox>
               </el-checkbox-group>
             </el-form-item>
           </el-col>
         </el-row>
-        <EnginNodeInfo 
-          :types="checkList"
-        />
+        <EnginNodeInfo v-for="(e,index) in checkListCheck" :title="e.dictValue" :types="e.remark" :ref="'info'+index"></EnginNodeInfo>
         <!-- <el-tabs type="border-card" >
           <el-tab-pane label="用户管理">用户管理</el-tab-pane>
           <el-tab-pane label="配置管理">配置管理</el-tab-pane>
@@ -359,10 +358,20 @@ import {getUnits} from "@/api/zdsz/unit";
 import {resetForm} from "@/utils/ruoyi";
 import {getDicts} from "@/api/system/dict/data";
 import EnginNodeInfo from "@/components/EnginNodeInfo/index";
+// import EnginNodeInfo1 from "@/components/EnginNodeInfo/index";
+// import EnginNodeInfo2 from "@/components/EnginNodeInfo/index";
+// import EnginNodeInfo3 from "@/components/EnginNodeInfo/index";
+// import EnginNodeInfo4 from "@/components/EnginNodeInfo/index";
+// import EnginNodeInfo5 from "@/components/EnginNodeInfo/index";
 
 export default {
   components: {
-    EnginNodeInfo
+    EnginNodeInfo,
+    // EnginNodeInfo1,
+    // EnginNodeInfo2,
+    // EnginNodeInfo3,
+    // EnginNodeInfo4,
+    // EnginNodeInfo5,
   },
 
   name: "EngineeringCivil",
@@ -381,6 +390,15 @@ export default {
     "engin_cycle"],
   data() {
     return {
+
+      // param0:['corrosion_level_old'],
+      // param1:['material_quality','specifications','number'],
+      // param2:['brand'],
+      // param3:['material_quality','specifications','number'],
+      // param4:['manufacturer'],
+      // param5:['self_closing_valve_type', 'visit_type', 'material_quality', 'specifications', 'number'],
+
+      checkListInfo:[],
       enginClassificationinfo: '',
       enginClassification: '',
       enginClassificationOption: [],