Browse Source

Merge branch 'zdsz3.0' of http://192.168.10.18:3000/sunwei/zdsz_vue into zdsz3.0

付宇航 1 year ago
parent
commit
4959324f24

+ 14 - 0
src/api/rules.js

@@ -26,3 +26,17 @@ export function validPhoneMobile(rule, value, callback){
     callback();
   }
 }
+export function checkPositiveDecimal(rule, value, callback) {
+  if (value) {
+    value += ''
+    // if(/(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {
+    // if(/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {
+    if(/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]{1,2}$)/.test(value)) {
+      callback()
+    } else {
+      callback(new Error('只能输入数字,且数值不能为负,小数限2位'))
+    }
+  } else {
+    callback()
+  }
+}

+ 7 - 0
src/api/zdsz/engineeringDangerous.js

@@ -42,3 +42,10 @@ export function delEngineeringDangerous(id) {
     method: 'delete'
   })
 }
+
+export function queryEngineeringDangerous({id}) {
+  return request({
+    url: `/zdsz/engineeringDangerous/${id}`,
+    method: 'get',
+  })
+}

+ 9 - 2
src/api/zdsz/engineeringIndustry.js

@@ -7,10 +7,10 @@ function getTypeFromUrl(url) {
   return params.get('type');
 }
 
-export function getEngineeIndustryList({enginType ='',}) {
+export function getEngineeIndustryList() {
   const type = getTypeFromUrl(window.location.href);
   return request({
-    url: `/zdsz/engineeringIndustry/list?type=${type}&enginType=${enginType}`,
+    url: `/zdsz/engineeringIndustry/list?type=${type}`,
     method: 'get',
   })
 }
@@ -46,4 +46,11 @@ export function DelEngineeEngineeIndustry(id) {
   })
 }
 
+export function QueryEngineeIndustry({id}) {
+  return request({
+    url: `/zdsz/engineeringIndustry/${id}`,
+    method: 'get',
+  })
+}
+
 

+ 39 - 17
src/components/ConstructionDetails/index.vue

@@ -1,26 +1,26 @@
 
- <!-- 
+ <!--
     *@description: 工程历史详情
     *@author: yh Fu
     *@date: 2024-1-8 10:04:23
-    *@version: V1.0.5 
+    *@version: V1.0.5
 -->
 
 <template>
-    <el-dialog 
-        :visible.sync="dialogVisible" 
-        title="" 
+    <el-dialog
+        :visible.sync="dialogVisible"
+        title=""
         width="60%"
         append-to-body
         custom-class="ConstructionDetailsDialog">
         <el-tabs v-model="activeName" type="card" @tab-click="viewSource" class="projectTabs">
-            <el-tab-pane 
-                :label="e.label" 
+            <el-tab-pane
+                :label="e.label"
                 :name="e.value"
                 v-for="(e,idx) in currentDicts"
                 :key="idx"
                 >
-                <el-collapse 
+                <el-collapse
                     class="rmOldPie"
                     v-for="(e,idx) in currentCollapses"
                     :key="idx"
@@ -42,7 +42,7 @@
                         </div>
                         <hr>
                         <!--  用料明细 -->
-                        <div 
+                        <div
                             v-for="(i,idx) in e.zEngineeringMaterialBo"
                             :key="idx"
                         >
@@ -56,9 +56,9 @@
                             <img :src=require(v) v-for="v in e.zEngiineeringPhotoBoList" :key="v">
 
                         </div> -->
-                        <ObsImageUpload 
-                          ref="obsImageUpload" 
-                          :limit="9999" 
+                        <ObsImageUpload
+                          ref="obsImageUpload"
+                          :limit="9999"
                           :fileType="['png', 'jpg', 'jpeg']"
                           disabled
                           :value="e.zEngiineeringPhotoBoList"
@@ -91,12 +91,34 @@ export default {
         // 单项审核
         checkWorking(){
 
-        },  
+        },
         // 查看历史
-        open(dicts){
-            console.log(dicts)
+        open(dicts,type = null){
+
+            if(type == '1' || type == '2'){
+              // 工业 市政
+              this.$parent.viewNodeSource()
+              this.currentDicts = [
+                {
+                  value:"历史数据",
+                  label:"历史数据"
+                }
+              ]
+            } else if (type === '危险作业工程') {
+              this.$parent.viewNodeSource()
+              this.currentDicts = [
+                {
+                  value: "历史数据",
+                  label: "历史数据"
+                }
+              ]
+            }else{
+              console.log(dicts)
+              this.dialogVisible = true
+              this.currentDicts = dicts
+            }
+
             this.dialogVisible = true
-            this.currentDicts = dicts
         }
     }
 }
@@ -165,4 +187,4 @@ export default {
         }
     }
 }
-</style>
+</style>

+ 7 - 7
src/components/EngineeNode/index.vue

@@ -34,8 +34,8 @@
               </el-select>
             </el-form-item> -->
             <!-- <el-form-item label="工程类型" prop="enginType">
-              <el-select 
-                  v-model="currentEnginType" 
+              <el-select
+                  v-model="currentEnginType"
                   placeholder="请选择工程类型"
                   @change="enginTypeHasChanged"
                   >
@@ -55,8 +55,8 @@
                 </el-cascader>
               </el-form-item> -->
               <!-- <el-form-item label="工程节点">
-                <el-select 
-                    v-model="enginClassification" 
+                <el-select
+                    v-model="enginClassification"
                     placeholder="请选择工程节点"
                     >
                   <el-option
@@ -566,8 +566,8 @@ export default {
                         this.params.zEngineeringNodeBo = {}
                         this.params.zEngineeringNodeBo.zEngineeringInfoBo = this.zEngineeringInfoBo
                         this.params.zEngineeringNodeBo.type = this.nodeType
+                        this.params.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo = []
                         updateEngineeringDangerous(this.params).then(res => {
-                          console.log('危险________',res)
                           if(res.code == 200){
                             this.$message({
                               message: '修改成功',
@@ -635,8 +635,8 @@ export default {
               this.zEngineeringInfoBo = this.params.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
             }
             if(type === 37){
-              this.zEngineeringInfoBo = this.params.zEngineeringNodeBos[0].zEngineeringInfoBoList[0]
-              this.nodeType = this.params.zEngineeringNodeBos[0].type
+              this.zEngineeringInfoBo = this.params.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
+              this.nodeType = this.params.zEngineeringNodeBoList[0].type
             }
         },
         reset(){

+ 3 - 148
src/components/EngineePipe/index.vue

@@ -108,93 +108,6 @@
         </div>
     </el-dialog>
     <!-- 节点信息dialog -->
-    <el-dialog :visible="nodeDetailVisible" :rules="nodeRules" title="节点信息" append-to-body
-               customClass="appendElNodeDialog">
-      <el-form ref="nodeForm" :model="zEngineeringInfoBo" :rules="nodeRules" label-width="110px">
-        <el-form-item label="节点类型" prop="type">
-          <el-input v-model="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"
-                          :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>
-    <!-- 节点信息dialog -->
     <enginee-node
       @closeToSucceed="closeToSucceed"
       ref="childNode"
@@ -239,33 +152,6 @@ export default {
       title: "顶管信息",
       // 是否显示弹出层
       open: false,
-      enginTypeOption: [
-        {
-          value: '0',
-          label: '民用工程'
-        },
-        {
-          value: '2',
-          label: '工业工程'
-        },
-        {
-          value: '1',
-          label: '市政工程'
-        },
-        {
-          value: '3',
-          label: '顶管工程'
-        },
-        {
-          value: '4',
-          label: '危险作业工程'
-        },
-        {
-          value: '5',
-          label: '基建工程'
-        },
-      ],
-      nodeType: '1',               // 节点类型
       // 查询参数
       queryParams: {
         files:[],
@@ -300,7 +186,7 @@ export default {
         zEngiineeringPhotoBoList: [],              // 图片列表
         zEngineeringMaterialBo: [],// 用料对象
 
-      },                          // 节点信息
+      },
       constructAccordingDrawingsOption: [
         {
           value: '1',
@@ -311,16 +197,6 @@ export default {
           label: '否'
         }
       ],
-      segmentedCompressionQualifiedOption: [
-        {
-          value: '1',
-          label: '是'
-        },
-        {
-          value: '0',
-          label: '否'
-        }
-      ],
       nodeDetailVisible: false,
       // 表单参数
       form: {},
@@ -351,28 +227,6 @@ export default {
           {required: false, message: "备注不能为空", trigger: "blur"}
         ],
       },
-      // 节点规则校验
-      nodeRules: {
-        type: [
-          {required: true, message: "施工地址不能为空", trigger: 'blur'}
-        ],
-        constructAddre: [
-          {required: true, message: "施工地址不能为空", trigger: 'blur'}
-        ],
-        constructPhone: [
-          {required: true, message: "施工人电话不能为空", trigger: 'blur'}
-        ],
-        constructUser: [
-          {required: true, message: "施工人不能为空", trigger: 'blur'}
-        ],
-        headName: [
-          {required: true, message: "负责人不能为空", trigger: 'blur'}
-        ],
-        headPhone: [
-          {required: true, message: "负责人电话不能为空", trigger: 'blur'}
-        ],
-
-      },
       currentType: null, // 组件类型 put修改 add新增
     };
   },
@@ -380,7 +234,8 @@ export default {
   },
   methods: {
     // 顶管工程修改
-    putEnginPipe(data, type) {
+    async putEnginPipe(data, type) {
+      await this.reset();
       let newData = data
       let zEngineeringNodeBo = {
         type: data.zengineeringNodeBoList[0].type,

+ 91 - 88
src/views/zdsz/engineeringDangerous/index.vue

@@ -154,6 +154,12 @@
             @click="addNewPipe(scope.row)"
           >新增顶管工程
           </el-button>
+          <el-button
+            type="text"
+            icon="el-icon-edit"
+            size="mini"
+            @click="viewSource(scope.row)"
+          >历史</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -172,17 +178,17 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="作业基本信息" prop="basicInformation">
-              <el-input v-model="form.basicInformation" placeholder="请填写作业基本信息"></el-input>
+              <el-input v-model="form.basicInformation" placeholder="请填写作业基本信息" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="工程名称" prop="enginName">
-              <el-input v-model="form.enginName" placeholder="请填写作业基本信息"></el-input>
+              <el-input v-model="form.enginName" placeholder="请填写作业基本信息" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="工程地点" prop="enginAddre">
-              <el-input v-model="form.enginAddre" placeholder="请填写工程地点"></el-input>
+              <el-input v-model="form.enginAddre" placeholder="请填写工程地点" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -201,46 +207,46 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="现场负责人" prop="siteHead">
-              <el-input v-model="form.siteHead" placeholder="请填写现场负责人"/>
+              <el-input v-model="form.siteHead" placeholder="请填写现场负责人" maxlength="16"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="现场负责人电话" prop="siteHeadPhone">
-              <el-input v-model="form.siteHeadPhone" placeholder="请填写现场负责人电话"/>
+              <el-input v-model="form.siteHeadPhone" placeholder="请填写现场负责人电话" maxlength="11"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="作业人员信息" prop="operatorInformation">
-              <el-input v-model="form.operatorInformation" placeholder="请填写作业人员信息"/>
+              <el-input v-model="form.operatorInformation" placeholder="请填写作业人员信息" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="监理旁站记录" prop="supervisionRecord">
-              <el-input v-model="form.supervisionRecord" placeholder="请填写监理旁站记录"/>
+              <el-input v-model="form.supervisionRecord" placeholder="请填写监理旁站记录" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="工作联系单" prop="workContactForm">
-              <el-input v-model="form.workContactForm" placeholder="请填写工作联系单"/>
+              <el-input v-model="form.workContactForm" placeholder="请填写工作联系单" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="巡线确认单" prop="linePatrolConfirmationForm">
-              <el-input v-model="form.linePatrolConfirmationForm" placeholder="请填写巡线确认单"/>
+              <el-input v-model="form.linePatrolConfirmationForm" placeholder="请填写巡线确认单" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="作业位置" prop="taskPosition">
-              <el-input v-model="form.taskPosition" placeholder="请填写作业位置"/>
+              <el-input v-model="form.taskPosition" placeholder="请填写作业位置" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="相关阀门位置" prop="valvePosition">
-              <el-input v-model="form.valvePosition" placeholder="请填写与作业相关阀门位置"/>
+              <el-input v-model="form.valvePosition" placeholder="请填写与作业相关阀门位置" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -259,29 +265,29 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="管径" prop="pipeDiameter">
-              <el-input v-model="form.pipeDiameter" placeholder="请填写管径"></el-input>
+              <el-input v-model="form.pipeDiameter" placeholder="请填写管径" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="管材" prop="tubularProduct">
-              <el-input v-model="form.tubularProduct" placeholder="请填写管材"></el-input>
+              <el-input v-model="form.tubularProduct" placeholder="请填写管材" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="管道压力" prop="pipePressure">
-              <el-input v-model="form.pipePressure" placeholder="请填写管道压力"></el-input>
+              <el-input v-model="form.pipePressure" placeholder="请填写管道压力" maxlength="200"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="压力报告" prop="stressReport">
-              <el-input v-model="form.stressReport" placeholder="请填写压力报告"/>
+              <el-input v-model="form.stressReport" placeholder="请填写压力报告" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="气流方向" prop="gasSourceDirection">
-              <el-input v-model="form.gasSourceDirection" placeholder="请填写气流方向"/>
+              <el-input v-model="form.gasSourceDirection" placeholder="请填写气流方向" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -300,80 +306,80 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="管道支护" prop="pipelineSupport">
-              <el-input v-model="form.pipelineSupport" placeholder="请填写管道支护"/>
+              <el-input v-model="form.pipelineSupport" placeholder="请填写管道支护" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="检口" prop="inspectionPort">
-              <el-input v-model="form.inspectionPort" placeholder="请填写检口"/>
+              <el-input v-model="form.inspectionPort" placeholder="请填写检口" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="管道刷油" prop="pipelinePainting">
-              <el-input v-model="form.pipelinePainting" placeholder="请填写管道刷油"/>
+              <el-input v-model="form.pipelinePainting" placeholder="请填写管道刷油" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="管道防腐" prop="pipelineCorrosionProtection">
-              <el-input v-model="form.pipelineCorrosionProtection" placeholder="请填写管道防腐"/>
+              <el-input v-model="form.pipelineCorrosionProtection" placeholder="请填写管道防腐" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="其他管道情况" prop="otherPipelineConditionsWorkPit">
-              <el-input v-model="form.otherPipelineConditionsWorkPit" placeholder="请填写其他管道情况"/>
+              <el-input v-model="form.otherPipelineConditionsWorkPit" placeholder="请填写其他管道情况" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="保护井" prop="protectionWell">
-              <el-input v-model="form.protectionWell" placeholder="请填写保护井"/>
+              <el-input v-model="form.protectionWell" placeholder="请填写保护井" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="管件保护井砌筑" prop="pipeProtectionWelMasonry">
-              <el-input v-model="form.pipeProtectionWelMasonry" placeholder="请填写管件保护井砌筑"/>
+              <el-input v-model="form.pipeProtectionWelMasonry" placeholder="请填写管件保护井砌筑" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="砌筑阀门井" prop="masonryValveWell">
-              <el-input v-model="form.masonryValveWell" placeholder="请填写砌筑阀门井"/>
+              <el-input v-model="form.masonryValveWell" placeholder="请填写砌筑阀门井" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="作业坑(长)" prop="hazardousWorkPitsLong">
-              <el-input v-model="form.hazardousWorkPitsLong" placeholder="请填写危险作业坑大小(长)"/>
+              <el-input v-model="form.hazardousWorkPitsLong" placeholder="请填写危险作业坑大小(长)" maxlength="11"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="作业坑(宽)" prop="hazardousWorkPitsWide">
-              <el-input v-model="form.hazardousWorkPitsWide" placeholder="请填写危险作业坑大小(宽)"/>
+              <el-input v-model="form.hazardousWorkPitsWide" placeholder="请填写危险作业坑大小(宽)" maxlength="11"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="作业坑(深)" prop="hazardousWorkPitsDeep">
-              <el-input v-model="form.hazardousWorkPitsDeep" placeholder="请填写危险作业坑大小(深)"/>
+              <el-input v-model="form.hazardousWorkPitsDeep" placeholder="请填写危险作业坑大小(深)" maxlength="11"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="回填" prop="backfill">
-              <el-input v-model="form.backfill" placeholder="请填写回填"/>
+              <el-input v-model="form.backfill" placeholder="请填写回填" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="夯实" prop="tamp">
-              <el-input v-model="form.tamp" placeholder="请填写夯实"/>
+              <el-input v-model="form.tamp" placeholder="请填写夯实" maxlength="200"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="平整场地" prop="levelingTheSite">
-              <el-input v-model="form.levelingTheSite" placeholder="请填写平整场地"/>
+              <el-input v-model="form.levelingTheSite" placeholder="请填写平整场地" maxlength="200"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -385,17 +391,18 @@
                 type="textarea"
                 placeholder="请输入内容"
                 class="remark_input"
+                maxlength="200"
               />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
-            <el-form-item label="附件" prop="" v-if="currentType=='put'">
+            <el-form-item label="附件" prop="" v-if="currentType==='put'">
               <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg']" :limit="9999"  :value="form.pics"
               ></ObsFileUpload>
             </el-form-item>
-            <el-form-item label="附件" prop="" v-if="currentType==null">
+            <el-form-item label="附件" prop="" v-if="currentType==='add'">
               <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg']" :limit="9999"  :value="form.files"
               ></ObsFileUpload>
             </el-form-item>
@@ -414,6 +421,10 @@
       @closeToSucceed="closeToSucceed"
     />
     <EngineePipe ref="enginPipe"/>
+    <ConstructionDetails
+      ref="ConstructionDetails"
+      :currentCollapses="currentCollapses"
+    />
   </div>
 </template>
 
@@ -421,19 +432,15 @@
 import {
   listEngineeringDangerous,
   getEngineeringDangerous,
-  delEngineeringDangerous,
+  delEngineeringDangerous, queryEngineeringDangerous,
 } from "@/api/zdsz/engineeringDangerous";
-import {
-  listComprehensive,
-  getComprehensive,
-  delComprehensive,
-  addComprehensive,
-  updateComprehensive
-} from "@/api/zdsz/comprehensive";
 import EngineeNode from "@/components/EngineeNode/index";
-import {addEngineeEngineeIndustry, EditEngineeEngineeIndustry} from "@/api/zdsz/engineeringIndustry";
 import data from "@/views/system/dict/data.vue";
 import EngineePipe from '@/components/EngineePipe'
+import ConstructionDetails from "@/components/ConstructionDetails/index.vue";
+import {validPhoneMobile,checkPositiveDecimal} from "@/api/rules";
+import {QueryEngineeIndustry} from "@/api/zdsz/engineeringIndustry";
+
 
 export default {
   name: "EngineeringDangerous",
@@ -443,10 +450,11 @@ export default {
     }
   },
   components: {
-    EngineePipe, EngineeNode
+    EngineePipe, EngineeNode,ConstructionDetails
   },
   data() {
     return {
+      currentCollapses:[],
       nodeType: "危险作业工程",
       nodeDetailVisible: false,
       // 按钮loading
@@ -566,6 +574,22 @@ export default {
         enginTime: [
           {required: true, message: "工程时间不能为空", trigger: "blur"}
         ],
+        hazardousWorkPitsLong: [
+          //{required: true, message: "危险作业坑大小(长)不能为空", trigger: "blur"},
+          {validator: checkPositiveDecimal, trigger: 'blur'},
+        ],
+        hazardousWorkPitsWide: [
+          //{required: true, message: "危险作业坑大小(宽)不能为空", trigger: "blur"},
+          {validator: checkPositiveDecimal, trigger: 'blur'},
+        ],
+        hazardousWorkPitsDeep: [
+          //{required: true, message: "危险作业坑大小(深)不能为空", trigger: "blur"},
+          {validator: checkPositiveDecimal, trigger: 'blur'},
+        ],
+        siteHeadPhone: [
+         // {required: true, message: "现场负责人电话不能为空", trigger: "blur"}
+          {validator: validPhoneMobile, trigger: 'blur'},
+        ],
         /*   pipeDiameter: [
              {required: true, message: "管径不能为空", trigger: "blur"}
            ],
@@ -653,9 +677,6 @@ export default {
            levelingTheSite: [
              {required: true, message: "平整场地不能为空", trigger: "blur"}
            ],*/
-        /* remark: [
-           {required: true, message: "备注不能为空", trigger: "blur"}
-         ],*/
       },
       // 节点规则校验
       nodeRules: {
@@ -686,19 +707,26 @@ export default {
     this.getList();
   },
   methods: {
+    viewSource(e){
+      this.currentId = e.id
+      this.$refs.ConstructionDetails.open(_,"危险作业工程")
+    },
+    viewNodeSource(e){
+      // todo: 获取数据
+      queryEngineeringDangerous({
+        id:this.currentId
+      }).then(res => {
+        try {
+          this.currentCollapses = res.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList
+        } catch (error) {
+          this.currentCollapses = [];
+        }
+      })
+    },
     closeToSucceed() {
       this.open = false;
       this.getList()
     },
-    /*添加节点信息*/
-    /*  toNodeDetail(){
-        this.nodeDetailVisible = true
-        this.$refs["form"].validate(valid => {
-          if (valid) {
-            this.nodeDetailVisible = true
-          }
-        })
-      },*/
     toNodeDetail() {
       if (this.currentType === 'put') {
         this.form.files = this.$refs.obsFileUpload.fileList
@@ -712,9 +740,12 @@ export default {
       // this.queryParams.zEngineeringNodeBo.type = this.enginClassification
       // this.queryParams.enginClassification = result
       // console.log(this.queryParams)
-      this.form.files = this.$refs.obsFileUpload.fileList
-      this.$refs.childNode.open(this.form, 3)
-
+      if (this.currentType === 'add') {
+        this.form.files = this.$refs.obsFileUpload.fileList
+        this.$refs.childNode.open(this.form, 3)
+        this.currentType = null
+        return
+      }
       return
       this.$refs['form'].validate(e => {
         if (e) {
@@ -818,8 +849,10 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
+      this.currentType = "add"
       this.open = true;
       this.title = "添加危险工程";
+
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -830,40 +863,10 @@ export default {
         this.loading = false;
         this.form = response.data;
         this.currentType = "put"
-        /*  this.zEngineeringInfoBo.type = response.data.zEngineeringNodeBo.type
-          this.zEngineeringInfoBo =response.data.zEngineeringNodeBo.zEngineeringInfoBoList[0]*/
         this.open = true;
         this.title = "修改危险工程";
       });
     },
-    /** 提交按钮 */
-    /*  submitForm() {
-        this.$refs["nodeForm"].validate(valid => {
-          if (valid) {
-            if (this.form.id == null){
-              this.form.zEngineeringNodeBo = {}
-              this.form.zEngineeringNodeBo.zEngineeringInfoBo = this.zEngineeringInfoBo
-              this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList = this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList
-              addEngineeringDangerous(this.form).then(res => {
-                this.$modal.msgSuccess("新增成功");
-                this.open = false;
-                this.nodeDetailVisible = false
-                this.getList();
-              })
-            }else {
-              this.form.zEngineeringNodeBo = {}
-              this.form.zEngineeringNodeBo.zEngineeringInfoBo = this.zEngineeringInfoBo
-              this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList = this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList
-              updateEngineeringDangerous(this.form).then(res=>{
-                this.$modal.msgSuccess("修改成功");
-                this.open = false;
-                this.nodeDetailVisible = false
-                this.getList();
-              })
-            }
-          }
-        });
-      },*/
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
@@ -881,7 +884,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('system/engineeringDangerous/export', {
+      this.download('zdsz/engineeringDangerous/export', {
         ...this.queryParams
       }, `engineeringDangerous_${new Date().getTime()}.xlsx`)
     }

+ 68 - 105
src/views/zdsz/engineeringIndustry/index.vue

@@ -66,47 +66,6 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-          <el-table v-loading="loading" :data="comprehensiveList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" />
-            <!--      <el-table-column label="" align="center" prop="id" v-if="true"/>-->
-            <el-table-column label="建筑单位" align="center" prop="constructUnit" />
-            <el-table-column label="项目负责人" align="center" prop="projectHead" />
-            <el-table-column label="现场负责人" align="center" prop="sceneHead" />
-            <el-table-column label="设计负责人" align="center" prop="designHead" />
-            <el-table-column label="设计单位" align="center" prop="designUnit" />
-            <el-table-column label="监理负责人" align="center" prop="supervisionHead" />
-            <el-table-column label="监理单位" align="center" prop="supervisionUnit" />
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-              <template slot-scope="scope">
-                <el-button
-                  type="text"
-                  icon="el-icon-edit"
-                  size="mini"
-                  @click="viewSource(scope.row)"
-                >历史</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-edit"
-                  @click="handleUpdate(scope.row)"
-                  v-hasPermi="['zdsz:engineeringIndustry:edit']"
-                >修改</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-delete"
-                  @click="handleDelete(scope.row)"
-                  v-hasPermi="['zdsz:engineeringIndustry:remove']"
-                >删除</el-button>
-                <el-button
-                  size="mini"
-                  type="text"
-                  icon="el-icon-edit"
-                  @click="addNewPipe(scope.row)"
-                >新增顶管工程</el-button>
-              </template>
-            </el-table-column>
-          </el-table>
     <el-table v-loading="loading" :data="comprehensiveList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="工程名称" align="center" prop="enginName"/>
@@ -118,7 +77,7 @@
       <el-table-column label="监理负责人" align="center" prop="supervisionHead"/>
       <el-table-column label="监理单位" align="center" prop="supervisionUnit"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
+        <template v-slot="scope">
           <el-button
             size="mini"
             type="text"
@@ -142,6 +101,12 @@
             @click="addNewPipe(scope.row)"
           >新增顶管工程
           </el-button>
+          <el-button
+            type="text"
+            icon="el-icon-edit"
+            size="mini"
+            @click="viewSource(scope.row)"
+          >历史</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -191,7 +156,7 @@
         <el-form-item label="工程类型" prop="enginType">
           <el-select v-model="form.enginType" placeholder="请选择工程类型" style="width: 100%">
             <el-option
-              v-for="e in EngineepipeType"
+              v-for="e in dict.type.industry_engin_type"
               :key="e.value"
               :label="e.label"
               :value="e.value"
@@ -208,6 +173,18 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="文件" prop="" v-if="currentType==='put'">
+              <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg']" :limit="9999"  :value="form.pics"
+              ></ObsFileUpload>
+            </el-form-item>
+            <el-form-item label="文件" prop="" v-if="currentType==='add'">
+              <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg']" :limit="9999"  :value="form.files"
+              ></ObsFileUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
 <!--        <el-row>-->
 <!--          <el-form-item label="附件" prop="zEngineeringAttachmentsList" style="width: 100%;">-->
 <!--            <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg']" :value="zEngineeringAttachmentsList"-->
@@ -245,24 +222,10 @@
                 style="width: 100%"
                 placeholder="请选择施工时间">
               </el-date-picker>
-
-            </el-form-item>
-            {{form.zEngineeringNodeBo.zEngineeringInfoBo.constructTime}}
-            <el-form-item label="施工地址" prop="constructAddre">
-              <el-input v-model="form.zEngineeringNodeBo.zEngineeringInfoBo.constructAddre" placeholder="请填写施工地址" maxlength="50"></el-input>
             </el-form-item>
             <el-form-item label="施工人" prop="constructUser" v-if="form.id">
               <el-input v-model="form.zEngineeringNodeBo.zEngineeringInfoBo.constructUser" placeholder="请填写施工人" maxlength="20" disabled></el-input>
             </el-form-item>
-            <el-form-item label="施工人电话" prop="constructPhone" v-if="form.id">
-              <el-input v-model="form.zEngineeringNodeBo.zEngineeringInfoBo.constructPhone" placeholder="请填写施工人电话" maxlength="13" disabled></el-input>
-            </el-form-item>
-            <el-form-item label="负责人" prop="headName" v-if="form.id">
-              <el-input v-model="form.zEngineeringNodeBo.zEngineeringInfoBo.headName" placeholder="请填写负责人" maxlength="20" disabled></el-input>
-            </el-form-item>
-            <el-form-item label="负责人电话" prop="headPhone" v-if="form.id">
-              <el-input v-model="form.zEngineeringNodeBo.zEngineeringInfoBo.headPhone" placeholder="请填写负责人电话" maxlength="13" disabled></el-input>
-            </el-form-item>
 <!--            <el-button icon="el-icon-plus" size="small" type="primary" @click="addzEngineeringMaterialBo()">添加用料</el-button>-->
 <!--            <el-row :gutter="10">-->
 <!--              <div v-for="(item, index) in form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo" :key="index" style="width: 100px;height: 100px;background-color: #0BB0DE">-->
@@ -305,36 +268,6 @@
 <!--                </el-col>-->
 <!--              </div>-->
 <!--            </el-row>-->
-
-<!--            <el-form-item label="回填时间" prop="backfillTime">-->
-<!--              <el-date-picker-->
-<!--                v-model="zEngineeringInfoBo.backfillTime"-->
-<!--                value-format="yyyy-MM-dd hh:mm:ss"-->
-<!--                type="datetime"-->
-<!--                style="width: 100%"-->
-<!--                placeholder="请选择回填日期">-->
-<!--              </el-date-picker>-->
-<!--            </el-form-item>-->
-<!--            <el-form-item label="是否按图纸施工" prop="constructAccordingDrawings">-->
-<!--              <el-select v-model="zEngineeringInfoBo.constructAccordingDrawings" style="width: 100%">-->
-<!--                <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" style="width: 100%">-->
-<!--                <el-option-->
-<!--                  v-for="e in segmentedCompressionQualifiedOption"-->
-<!--                  :key="e.value"-->
-<!--                  :label="e.label"-->
-<!--                  :value="e.value"-->
-<!--                ></el-option>-->
-<!--              </el-select>-->
-<!--            </el-form-item>-->
             <el-row>
               <el-form-item label="照片" prop="zEngiineeringPhotoBoList" style="width: 100%;">
                 <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList"
@@ -357,6 +290,10 @@
 <!--            </div>-->
           </el-form>
         </el-dialog>
+    <ConstructionDetails
+      ref="ConstructionDetails"
+      :currentCollapses="currentCollapses"
+    />
   </div>
 </template>
 <script>
@@ -365,15 +302,18 @@ import {
   DelEngineeEngineeIndustry,
   EditEngineeEngineeIndustry,
   getEngineeIndustryList,
-  putEngineeEngineeIndustry
+  putEngineeEngineeIndustry,
+  QueryEngineeIndustry
 } from '@/api/zdsz/engineeringIndustry'
 import EngineePipe from '@/components/EngineePipe'
 import { validPhoneMobile } from '@/api/rules'
+import ConstructionDetails from "@/components/ConstructionDetails/index.vue";
 
 export default {
   name: "openrepair",
-  dicts: ['pass_check', 'is_repair', 'engin_type', 'self_closing_valve_type', 'visit_type', 'engin_classification','engineering_infrastructure'],
+  dicts: ['pass_check', 'is_repair', 'industry_engin_type', 'self_closing_valve_type', 'visit_type', 'engin_classification','engineering_infrastructure'],
   components: {
+    ConstructionDetails,
     EngineePipe
   },
   data() {
@@ -395,6 +335,7 @@ export default {
       // 总条数
       total: 0,
       currentNode:[],
+      currentCollapses:[],
       // 市政工程|工业工程表格数据
       comprehensiveList: [],
       // 弹出层标题
@@ -434,6 +375,8 @@ export default {
       nodeDetailVisible: false, // 施工信息dialog
       // 表单参数
       form: {
+        files:[], // 附件
+        pics:[], // 附件返回
         type:'', // 用来区分工业工程、市政工程
         enginName:'', // 工程名称
         enginType:'', // 工程类型
@@ -450,17 +393,15 @@ export default {
         zEngineeringNodeBo:{ // 工程节点
           type:'', // 节点类型
           zEngineeringInfoBo: { // 施工信息
-            constructAddre: '', // 施工地址
-            constructPhone: '', // 施工人电话
             constructUser: '', // 施工人
-            headName: '', // 负责人
-            headPhone: '', // 负责人电话
             constructTime: '', // 施工时间
             zEngiineeringPhotoBoList: [], // 图片列表
             zEngineeringMaterialBo: [ // 用料对象
-              {materialQuality: ''}, // 用料材质
-              {specifications: ''}, // 用料规格
-              {number: ''}, // 用料数量
+              {
+                materialQuality: '', // 用料材质
+                specifications: '', // 用料规格
+                number: '' // 用料数量
+              },
             ],
           },
         },
@@ -530,7 +471,8 @@ export default {
         //   {required: true, message: "图片不能为空", trigger: 'blur'}
         // ],
 
-      }
+      },
+      currentType: null, // 附件组件类型 put修改 add新增
     };
   },
   created() {
@@ -543,15 +485,14 @@ export default {
   },
   methods: {
     // addzEngineeringMaterialBo(){
-    //   this.zEngineeringInfoBo.zEngineeringMaterialBo.push({
+    //   this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo.push({
     //     materialQuality: '', // 用料材质
     //     specifications: '', // 用料规格
     //     number: '' // 用料数量
     //   })
-    //   console.log(this.zEngineeringInfoBo.zEngineeringMaterialBo)
     // },
     // removezEngineeringMaterialBo(item, index){
-    //   this.zEngineeringInfoBo.zEngineeringMaterialBo.splice(index, 1)
+    //   this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo.splice(index, 1)
     // },
     // 根据url获取type节点类型
     getType() {
@@ -561,8 +502,8 @@ export default {
       if (type) {
         this.form.type = type;
         this.form.zEngineeringNodeBo.type = (type === '1' ? "工业工程" : "市政工程")
-        this.EngineepipeType = (type === '1' ? [{ value: '0', label: '小微商服' },{ value: '1', label: '新建工业' },{ value: '2', label: '改造工业' }] : [{ value: '0', label: '气源' },{ value: '1', label: '排迁' }])
       }
+
     },
     // 新增顶管工程
     addNewPipe(data) {
@@ -571,12 +512,32 @@ export default {
         type: this.form.zEngineeringNodeBo.type
       }, 'add')
     },
+    // 历史查询
+    viewSource(e){
+      this.currentId = e.id
+      this.$refs.ConstructionDetails.open(_,this.form.type)
+    },
+    viewNodeSource(e){
+      // todo: 获取数据
+      QueryEngineeIndustry({
+        id:this.currentId
+      }).then(res => {
+        try {
+          this.currentCollapses = res.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList
+          console.log('当前历史数据',this.currentCollapses)
+        } catch (error) {
+          this.currentCollapses = [];
+        }
+        console.log(this.currentCollapses)
+      })
+    },
     nodeCancel() {
       this.nodeDetailVisible = false
     },
     toNodeDetail() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          this.form.files = this.$refs.obsFileUpload.fileList
           this.nodeDetailVisible = true
         }
       })
@@ -633,8 +594,9 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
-      this.open = true;
       this.title = (this.form.type === '1' ? "新增工业工程":"新增市政工程");
+      this.currentType = 'add'
+      this.open = true;
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -644,10 +606,11 @@ export default {
       putEngineeEngineeIndustry(id).then(response => {
         this.loading = false;
         this.form = response.data;
-        this.form.zEngineeringNodeBo = response.data.zengineeringNodeBo[0]
-        this.form.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zengineeringNodeBo[0].zEngineeringInfoBoList[0]
-        this.open = true;
+        this.form.zEngineeringNodeBo = response.data.zEngineeringNodeBoList[0]
+        this.form.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
         this.title = (this.form.type === '1' ? "修改工业工程":"修改市政工程");
+        this.currentType = 'put'
+        this.open = true;
       });
     },
     /** 提交按钮 */

+ 3 - 3
src/views/zdsz/engineeringPipeJacking/index.vue

@@ -236,7 +236,7 @@
           <EngineePipe ref="enginPipe"/>
 
           <!-- 查看历史 -->
-          <ConstructionDetails 
+          <ConstructionDetails
             ref="ConstructionDetails"
             :currentCollapses="currentCollapses"
             />
@@ -244,7 +244,7 @@
       </template>
 
       <script>
-      import EngineePipe from "@/components/EngineePipe"   
+      import EngineePipe from "@/components/EngineePipe"
       import ConstructionDetails from "@/components/ConstructionDetails"             // 查看历史
       import {
         addEnginee,                                // 新增工程
@@ -448,7 +448,7 @@
           // 查看历史
           viewSource(e){
             this.currentId = e.id
-            this.$refs.ConstructionDetails.open(this.dict.type.pipe_jack)
+            this.$refs.ConstructionDetails.open(this.dict.type.engin_type)
           },
           viewNodeSource(e){
             console.log(e)

+ 92 - 71
src/views/zdsz/openbolt/index.vue

@@ -140,78 +140,99 @@
     />
 
     <!-- 添加或修改开栓|安检|维修对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="小区" prop="areaId">
-          <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1" style="width: 100%">
-            <el-option
-              v-for="obj in areas"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="楼栋" prop="buildingId">
-          <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1" style="width: 100%">
-            <el-option
-              v-for="obj in builds"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="单元" prop="unitId">
-          <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1" style="width: 100%">
-            <el-option
-              v-for="obj in units"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="房间号" prop="houseId">
-          <el-select v-model="form.houseId" placeholder="请选择房间号" filterable style="width: 100%">
-            <el-option
-              v-for="obj in houses"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="安检是否合格" prop="isQualified">
-          <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable style="width: 100%">
-            <el-option
-              v-for="obj in dict.type.pass_check"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="是否维修" prop="isMaintenance">
-          <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable style="width: 100%">
-            <el-option
-              v-for="obj in dict.type.is_repair"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-<!--        <el-form-item label="照片" prop="photo">-->
-<!--          <obs-image-upload v-model="form.photo"/>-->
-<!--        </el-form-item>-->
-        <el-form-item label="照片" prop="picIds">
-          <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
-                       @input="getUrl"></ObsImageUpload>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
-        </el-form-item>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="小区" prop="areaId">
+              <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1" style="width: 100%">
+                <el-option
+                  v-for="obj in areas"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="楼栋" prop="buildingId">
+              <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1" style="width: 100%">
+                <el-option
+                  v-for="obj in builds"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="单元" prop="unitId">
+              <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1" style="width: 100%">
+                <el-option
+                  v-for="obj in units"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="房间号" prop="houseId">
+              <el-select v-model="form.houseId" placeholder="请选择房间号" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in houses"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="安检是否合格" prop="isQualified">
+              <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.pass_check"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否维修" prop="isMaintenance">
+              <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.is_repair"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="照片" prop="picIds">
+              <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
+                              @input="getUrl"></ObsImageUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>

+ 92 - 70
src/views/zdsz/opencheck/index.vue

@@ -140,77 +140,99 @@
     />
 
     <!-- 添加或修改开栓|安检|维修对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="小区" prop="areaId">
-          <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1">
-            <el-option
-              v-for="obj in areas"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="楼栋" prop="buildingId">
-          <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1">
-            <el-option
-              v-for="obj in builds"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="单元" prop="unitId">
-          <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1">
-            <el-option
-              v-for="obj in units"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="房间号" prop="houseId">
-          <el-select v-model="form.houseId" placeholder="请选择房间号" filterable>
-            <el-option
-              v-for="obj in houses"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="安检是否合格" prop="isQualified">
-          <!--          <el-input v-model="form.isQualified" placeholder="请输入安检是否合格" />-->
-          <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable>
-            <el-option
-              v-for="obj in dict.type.pass_check"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="是否维修" prop="isMaintenance">
-          <!--          <el-input v-model="form.isMaintenance" placeholder="请输入是否维修" />-->
-          <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable>
-            <el-option
-              v-for="obj in dict.type.is_repair"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="照片" prop="picIds">
-          <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
-                          @input="getUrl"></ObsImageUpload>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
-        </el-form-item>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="小区" prop="areaId">
+              <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1" style="width: 100%">
+                <el-option
+                  v-for="obj in areas"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="楼栋" prop="buildingId">
+              <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1" style="width: 100%">
+                <el-option
+                  v-for="obj in builds"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="单元" prop="unitId">
+              <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1" style="width: 100%">
+                <el-option
+                  v-for="obj in units"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="房间号" prop="houseId">
+              <el-select v-model="form.houseId" placeholder="请选择房间号" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in houses"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="安检是否合格" prop="isQualified">
+              <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.pass_check"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否维修" prop="isMaintenance">
+              <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.is_repair"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="照片" prop="picIds">
+              <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
+                              @input="getUrl"></ObsImageUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>

+ 92 - 70
src/views/zdsz/openrepair/index.vue

@@ -140,77 +140,99 @@
     />
 
     <!-- 添加或修改开栓|安检|维修对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
-        <el-form-item label="小区" prop="areaId">
-          <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1">
-            <el-option
-              v-for="obj in areas"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="楼栋" prop="buildingId">
-          <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1">
-            <el-option
-              v-for="obj in builds"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="单元" prop="unitId">
-          <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1">
-            <el-option
-              v-for="obj in units"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="房间号" prop="houseId">
-          <el-select v-model="form.houseId" placeholder="请选择房间号" filterable>
-            <el-option
-              v-for="obj in houses"
-              :key="obj.id"
-              :label="obj.name"
-              :value="obj.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="安检是否合格" prop="isQualified">
-          <!--          <el-input v-model="form.isQualified" placeholder="请输入安检是否合格" />-->
-          <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable>
-            <el-option
-              v-for="obj in dict.type.pass_check"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="是否维修" prop="isMaintenance">
-          <!--          <el-input v-model="form.isMaintenance" placeholder="请输入是否维修" />-->
-          <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable>
-            <el-option
-              v-for="obj in dict.type.is_repair"
-              :key="obj.value"
-              :label="obj.label"
-              :value="obj.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="照片" prop="picIds">
-          <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
-                          @input="getUrl"></ObsImageUpload>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
-        </el-form-item>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="小区" prop="areaId">
+              <el-select v-model="form.areaId" placeholder="请选择小区" filterable @change="getBuildings1" style="width: 100%">
+                <el-option
+                  v-for="obj in areas"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="楼栋" prop="buildingId">
+              <el-select v-model="form.buildingId" placeholder="请选择楼栋" filterable @change="getUnits1" style="width: 100%">
+                <el-option
+                  v-for="obj in builds"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="单元" prop="unitId">
+              <el-select v-model="form.unitId" placeholder="请选择单元" filterable @change="getHouses1" style="width: 100%">
+                <el-option
+                  v-for="obj in units"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="房间号" prop="houseId">
+              <el-select v-model="form.houseId" placeholder="请选择房间号" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in houses"
+                  :key="obj.id"
+                  :label="obj.name"
+                  :value="obj.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="安检是否合格" prop="isQualified">
+              <el-select v-model="form.isQualified" placeholder="请选择安检是否合格" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.pass_check"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否维修" prop="isMaintenance">
+              <el-select v-model="form.isMaintenance" placeholder="请选择是否维修" filterable style="width: 100%">
+                <el-option
+                  v-for="obj in dict.type.is_repair"
+                  :key="obj.value"
+                  :label="obj.label"
+                  :value="obj.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="照片" prop="picIds">
+              <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="form.picIds"
+                              @input="getUrl"></ObsImageUpload>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>