Jelajahi Sumber

市政工程|工业工程

刘浩男 1 tahun lalu
induk
melakukan
cd5cd43ba0
1 mengubah file dengan 102 tambahan dan 92 penghapusan
  1. 102 92
      src/views/zdsz/engineeringIndustry/index.vue

+ 102 - 92
src/views/zdsz/engineeringIndustry/index.vue

@@ -202,95 +202,102 @@
       </div>
     </el-dialog>
     <!-- 节点信息dialog -->
-    <el-dialog :visible="nodeDetailVisible" :rules="nodeRules" title="节点信息" append-to-body
-               customClass="appendElNodeDialog" @close="nodeCancel">
-      <el-form ref="nodeForm" :model="zEngineeringInfoBo" :rules="nodeRules" label-width="110px">
-        <el-form-item label="节点类型" prop="nodeType">
-          <el-input v-model="zEngineeringInfoBo.nodeType" placeholder="请填写节点类型" disabled></el-input>
-        </el-form-item>
-        <el-form-item label="施工地址" prop="constructAddre">
-          <el-input v-model="zEngineeringInfoBo.constructAddre" placeholder="请填写施工地址"></el-input>
-        </el-form-item>
-        <el-form-item label="施工人电话" prop="constructPhone">
-          <el-input v-model="zEngineeringInfoBo.constructPhone" placeholder="请填写施工人电话"></el-input>
-        </el-form-item>
-        <el-form-item label="施工人" prop="constructUser">
-          <el-input v-model="zEngineeringInfoBo.constructUser" placeholder="请填写施工人"></el-input>
-        </el-form-item>
-        <el-form-item label="负责人" prop="headName">
-          <el-input v-model="zEngineeringInfoBo.headName" placeholder="请填写负责人"></el-input>
-        </el-form-item>
-        <el-form-item label="负责人电话" prop="headPhone">
-          <el-input v-model="zEngineeringInfoBo.headPhone" placeholder="请填写负责人电话"></el-input>
-        </el-form-item>
-        <el-form-item label="回填时间" prop="backfillTime">
-          <el-date-picker
-            v-model="zEngineeringInfoBo.backfillTime"
-            value-format="yyyy-MM-dd hh:mm:ss"
-            type="datetime"
-            placeholder="请选择回填日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="施工时间" prop="constructTime">
-          <el-date-picker
-            v-model="zEngineeringInfoBo.constructTime"
-            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="zEngineeringInfoBo.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">
-          <el-select v-model="zEngineeringInfoBo.segmentedCompressionQualified">
-            <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="selfClosingValveType">
-          <el-select v-model="zEngineeringInfoBo.selfClosingValveType">
-            <el-option
-              v-for="e in dict.type.self_closing_valve_type"
-              :key="e.value"
-              :label="e.label"
-              :value="e.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="上门类型" prop="visitType">
-          <el-select v-model="zEngineeringInfoBo.visitType">
-            <el-option
-              v-for="e in dict.type.visit_type"
-              :key="e.value"
-              :label="e.label"
-              :value="e.value"
-            ></el-option>
-          </el-select>
-        </el-form-item> -->
-        <el-form-item label="照片" prop="zEngiineeringPhotoBoList" style="width: 100%;">
-          <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
-                          :value="zEngineeringInfoBo.zEngiineeringPhotoBoList"
-                          @input="getUrl"></ObsImageUpload>
-        </el-form-item>
-        <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
-        <el-button @click="nodeCancel">取 消</el-button>
-      </el-form>
-    </el-dialog>
+
+        <el-dialog :visible="nodeDetailVisible" :rules="nodeRules" title="节点信息" append-to-body customClass="appendElNodeDialog" width="70% !important">
+          <!-- 节点选项卡 -->
+          <el-tabs type="border-card" class="engineNodeTypes">
+            <el-tab-pane label="基本信息"></el-tab-pane>
+            <el-tab-pane
+              :label="e"
+              v-for="e in currentNode"
+              :key="e"
+            >
+            </el-tab-pane>
+          </el-tabs>
+          <!-- 节点表单 -->
+          <el-form ref="nodeForm" :model="zEngineeringInfoBo" :rules="nodeRules" label-width="200px">
+            <el-form-item label="节点类型" prop="type"  >
+              <el-select v-model="nodeType" placeholder="请选择节点类型" disabled>
+                <el-option
+                  v-for="e in dict.type.engineering_infrastructure"
+                  :key="e.value"
+                  :label="e.label"
+                  :value="e.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="施工地址" prop="constructAddre">
+              <el-input v-model="zEngineeringInfoBo.constructAddre" placeholder="请填写施工地址"></el-input>
+            </el-form-item>
+            <el-form-item label="施工人电话" prop="constructPhone">
+              <el-input v-model="zEngineeringInfoBo.constructPhone" placeholder="请填写施工人电话"></el-input>
+            </el-form-item>
+            <el-form-item label="施工人" prop="constructUser">
+              <el-input v-model="zEngineeringInfoBo.constructUser" placeholder="请填写施工人"></el-input>
+            </el-form-item>
+            <el-form-item label="负责人" prop="headName">
+              <el-input v-model="zEngineeringInfoBo.headName" placeholder="请填写负责人"></el-input>
+            </el-form-item>
+            <el-form-item label="负责人电话" prop="headPhone">
+              <el-input v-model="zEngineeringInfoBo.headPhone" placeholder="请填写负责人电话"></el-input>
+            </el-form-item>
+            <el-form-item label="回填时间" prop="backfillTime">
+              <el-date-picker
+                v-model="zEngineeringInfoBo.backfillTime"
+                value-format="yyyy-MM-dd hh:mm:ss"
+                type="datetime"
+                placeholder="请选择回填日期">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="施工时间" prop="constructTime">
+              <el-date-picker
+                v-model="zEngineeringInfoBo.constructTime"
+                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="zEngineeringInfoBo.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">
+              <el-select v-model="zEngineeringInfoBo.segmentedCompressionQualified">
+                <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="zEngiineeringPhotoBoList" style="width: 100%;">
+              <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="zEngineeringInfoBo.zEngiineeringPhotoBoList"
+                              @input="getUrl"></ObsImageUpload>
+            </el-form-item>
+            <!-- 节点复选框 -->
+            <el-checkbox-group v-model="currentNode" @change="currentNodeHasChanged">
+              <el-checkbox
+                :label="e"
+                v-for="e in nodeList"
+                :key="e"
+              ></el-checkbox>
+            </el-checkbox-group>
+            <div style="display: flex;margin-top: 3%;">
+              <div style="width: 80%;"></div>
+              <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
+              <el-button @click="nodeCancel">取 消</el-button>
+            </div>
+          </el-form>
+        </el-dialog>
   </div>
 </template>
-
 <script>
 import {
   addEngineeEngineeIndustry,
@@ -303,12 +310,13 @@ import EngineePipe from '@/components/EngineePipe'
 
 export default {
   name: "openrepair",
-  dicts: ['pass_check', 'is_repair', 'engin_type', 'self_closing_valve_type', 'visit_type', 'engin_classification'],
+  dicts: ['pass_check', 'is_repair', 'engin_type', 'self_closing_valve_type', 'visit_type', 'engin_classification','engineering_infrastructure'],
   components: {
     EngineePipe
   },
   data() {
     return {
+      nodeType:'',
       // 按钮loading
       buttonLoading: false,
       // 遮罩层
@@ -324,6 +332,7 @@ export default {
       engineeType: true,
       // 总条数
       total: 0,
+      currentNode:[],
       // 市政工程|工业工程表格数据
       comprehensiveList: [],
       // 弹出层标题
@@ -395,7 +404,7 @@ export default {
           {required: true, message: "工程名称不能为空", trigger: 'blur'}
         ],
         enginClassification: [
-          {required: true, message: "工程分类不能为空", trigger: 'blur'}
+          {required: true, message: "工程分类不能为空", trigger: ['change','blur']}
         ],
         supervisionUnit: [
           {required: true, message: "监理单位不能为空", trigger: 'blur'}
@@ -436,9 +445,6 @@ export default {
       },
       // 节点规则校验
       nodeRules: {
-        type: [
-          {required: true, message: "节点类型不能为空", trigger: 'blur'}
-        ],
         constructAddre: [
           {required: true, message: "施工地址不能为空", trigger: 'blur'}
         ],
@@ -464,6 +470,9 @@ export default {
     this.getType();
     if (this.form.type === '2') {
       this.engineeType = false
+      this.nodeType = "市政工程"
+    }else {
+      this.nodeType = "工业工程"
     }
   },
   methods: {
@@ -554,6 +563,7 @@ export default {
         this.loading = false;
         this.form = response.data;
         this.zEngineeringInfoBo = response.data.zengineeringNodeBo[0].zEngineeringInfoBoList[0]
+        console.log(this.zEngineeringNodeBo)
         this.open = true;
         this.title = "修改工程";
       });