Jelajahi Sumber

Merge remote-tracking branch 'origin/zdsz3.0' into zdsz3.0

wangtong 1 tahun lalu
induk
melakukan
75274fe619

+ 24 - 6
src/components/ConstructionDetails/index.vue

@@ -50,7 +50,7 @@
                 <el-form :model="nodeInfo" class="nodeForm">
                     <el-form-item
                       :prop="i.materialQuality"
-                      label-width="100px"
+                      :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       label="材质"
                       v-show="i.materialQuality != null"
                       >
@@ -67,7 +67,7 @@
                     </el-form-item>
                     <el-form-item
                       :prop="i.specifications"
-                      label-width="100px"
+                      :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       label="规格"
                       v-show="i.specifications != null"
 
@@ -83,7 +83,7 @@
                     </el-form-item>
                     <el-form-item
                       :prop="i.number + ''"
-                      label-width="100px"
+                      :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
                       label="数量"
                       v-show="i.number != null"
                       >
@@ -91,6 +91,16 @@
                         <el-input v-model="i.number" placeholder="请输入数量" style="width: 100%" type="number" maxlength="11" :disabled="status == 'read-only'"></el-input>
                       </div>
                     </el-form-item>
+                    <el-form-item
+                      :prop="i.remark + ''"
+                      :class="enginType != '基建工程' && enginType != '民用工程' ? 'labelWidth' : '' "
+                      label="描述"
+                      v-show="i.remark != null"
+                      >
+                      <div class="block" style="display: inline-block; margin-right: 20px;">
+                        <el-input v-model="i.remark" placeholder="请输入" style="width: 100%"  maxlength="100" :disabled="status == 'read-only'"></el-input>
+                      </div>
+                    </el-form-item>
 
                     <el-form-item
                       :prop="i.corrosionLevel"
@@ -111,7 +121,6 @@
                     </el-form-item>
                     <el-form-item
                       :prop="i.visitType"
-                      label-width="50px"
                       label="上门类型"
                       v-show="i.visitType != null"
 
@@ -129,7 +138,6 @@
                     </el-form-item>
                     <el-form-item
                       :prop="i.selfClosingValveType"
-                      label-width="50px"
                       label="自闭阀类型"
                       v-show="i.selfClosingValveType != null"
 
@@ -162,7 +170,7 @@
             </div>
             <!-- <el-form-item label="照片" prop="zEngiineeringPhotoBoList" class="obsImage"> -->
               <ObsImageUpload
-                :class=" status == 'read-only' ? '' : 'obsImageUploads'"
+                :class=" status == 'read-only' ? 'obsImageUploads' : '' "
                 ref="obsImageUpload"
                 :limit="11"
                 :fileType="['png', 'jpg', 'jpeg']"
@@ -428,7 +436,17 @@ export default {
   }
 }
 
+::v-deep .labelWidth{
+  .el-form-item__label{
+    width: 100px;
+  }
+}
 
+::v-deep .obsImageUploads{
+  .el-upload--picture-card{
+    display: none;
+  }
+}
 .ConstructionDetailsDialog {
   position: absolute;
 

+ 12 - 10
src/components/EnginNodeInfo/index.vue

@@ -67,7 +67,7 @@
         <!-- <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
         <el-button @click="nodeCancel">取 消</el-button> -->
       </div>
-      <el-row v-for="(item, index) in zEngineeringMaterialBo" :key="index" style="left: 13%;" :class=" enginType == '基建工程' ? 'rowStructure' : '' ">
+      <el-row v-for="(item, index) in zEngineeringMaterialBo" :key="index" style="left: 13.5%;" :class=" enginType == '基建工程' ? 'rowStructure' : '' ">
         <!-- 在此处添加默认的行内容 -->
         <template v-if="index === null">
           <div>默认的行内容</div>
@@ -147,10 +147,10 @@
             <!--                  <el-input v-model="item.specifications" placeholder="请输入规格" style="width: 100%"/>-->
             <el-select v-model="item.brand" placeholder="请选择品牌" style="width: 100%">
               <el-option
-                v-for="e in specificationsList"
-                :key="e.id"
-                :label="e.name"
-                :value="e.id"
+                v-for="e in dict.type.brand"
+                :key="e.value"
+                :label="e.label"
+                :value="e.value"
               ></el-option>
             </el-select>
           </el-form-item>
@@ -175,8 +175,8 @@
           </el-form-item>
         </el-col>
         <el-col :span="7" v-show="materialComponList.includes('visitType')">
-          <el-form-item label="上门类型" :prop="'zEngineeringMaterialBo.' + index + '.visitType'">
-            <el-select v-model="item.visitType">
+          <el-form-item label="上门类型" :prop="'zEngineeringMaterialBo.' + index + '.visitType'" label-width="68px" style="position: absolute;left: -1.6%;">
+            <el-select v-model="item.visitType" style="width: 100%;">
               <el-option
                 v-for="e in dict.type.visit_type"
                 :key="e.value"
@@ -186,9 +186,9 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="7" v-show="materialComponList.includes('selfClosingValveType')">
-          <el-form-item label="自闭阀类型" :prop="'zEngineeringMaterialBo.' + index + '.selfClosingValveType'">
-            <el-select v-model="item.selfClosingValveType">
+        <el-col :span="7" v-show="materialComponList.includes('selfClosingValveType')" style="position: relative;left: 25.5%;">
+          <el-form-item label="自闭阀类型" :prop="'zEngineeringMaterialBo.' + index + '.selfClosingValveType'" label-width="91px">
+            <el-select v-model="item.selfClosingValveType" style="width: 100%;">
               <el-option
                 v-for="e in dict.type.self_closing_valve_type"
                 :key="e.value"
@@ -202,6 +202,7 @@
             删除
         </el-button>
       </el-row>
+      <hr style="position: relative;left: 10%;">
     </el-form>
 
   </div>
@@ -220,6 +221,7 @@ export default {
   dicts:[
     'visit_type',
     'self_closing_valve_type',
+    'brand'
 
   ],
   data(){

+ 5 - 7
src/views/zdsz/engineeringCivil/index.vue

@@ -619,12 +619,10 @@ export default {
           ]
         },
         {
-          name: '警器切断阀',
+          name: '警器切断阀',
           components: [
             [
-              'materialQuality',                       // 材质
-              'specifications',                        // 规格
-              'number',                                // 数量
+              'brand',                                 // 品牌
             ],
             'constructTime',                           // 施工时间
             'zEngiineeringPhotoBoList',                // 照片
@@ -1378,6 +1376,7 @@ export default {
               type: 'success'
             });
             this.open = false
+            this.getList()
             console.log('选中节点集合', this.currentCheckList)
             this.currentCheckList = []
             // this.$emit('closeToSucceed')
@@ -1391,13 +1390,13 @@ export default {
               type: 'success'
             });
             this.open = false
+            this.getList()
             console.log('选中节点集合', this.currentCheckList)
             this.currentCheckList = []
             // this.$emit('closeToSucceed')
           }
         })
       }
-
       return
       getDictList({enginType: ['new_built', 'old_renovation']}).then(res => {
         this.nodeList = res.data
@@ -1440,7 +1439,7 @@ export default {
       this.reset();
       const id = row.id || this.ids
       getEngineeringCivil(id).then(res => {
-        debugger
+
         that.loading = false;
         // let newData = res.data
         // // 手动调用行政区发生改变
@@ -1461,7 +1460,6 @@ export default {
             updateEngineeringCivil(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
-              debugger
               this.getList();
             }).finally(() => {
               this.buttonLoading = false;

+ 37 - 16
src/views/zdsz/engineeringIndustry/index.vue

@@ -7,7 +7,8 @@
 
 <template>
   <div class="app-container">
-    <el-form :model="searchParams" ref="searchParams" size="small" :inline="true" v-show="showSearch" label-width="110px">
+    <el-form :model="searchParams" ref="searchParams" size="small" :inline="true" v-show="showSearch"
+             label-width="110px">
       <el-form-item label="工程类型" prop="enginType">
         <el-select v-model="searchParams.enginType" placeholder="请选择工程类型" clearable>
           <el-option
@@ -205,13 +206,15 @@
           <el-col :span="24">
             <el-form-item label="附件" prop="files" v-if="form.id" style="width: 100%">
               <ObsFileUpload ref="obsFileUpload" :file-size="100"
-                             :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"
+                             :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']"
+                             :limit="9999"
                              :value="form.pics"
               ></ObsFileUpload>
             </el-form-item>
             <el-form-item label="附件" prop="files" v-else style="width: 100%">
               <ObsFileUpload ref="obsFileUpload" :file-size="100"
-                             :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"
+                             :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']"
+                             :limit="9999"
                              :value="form.files"
               ></ObsFileUpload>
             </el-form-item>
@@ -380,7 +383,7 @@ export default {
       open: false,
       // 查询参数
       queryParams: {
-        enginType:null,
+        enginType: null,
         enginName: '', // 工程名称
         enginClassification: '', // 工程分类
       },
@@ -494,8 +497,8 @@ export default {
         ],
       },
       searchParams: {
-        pageSize:10,
-        pageNum:1,
+        pageSize: 10,
+        pageNum: 1,
         enginName: null,             // 工程名称
         enginClassification: null,   // 工程分类
       },
@@ -573,15 +576,22 @@ export default {
     },
     //添加用料信息
     async addzEngineeringMaterBo(row) {
-      this.zEngineeringNodeBo={ // 工程节点
+      this.zEngineeringNodeBo = { // 工程节点
         type: '', // 节点类型
-          zEngineeringInfoBo: { // 施工信息
+        zEngineeringInfoBo: { // 施工信息
           constructUser: '', // 施工人
-            constructTime: '', // 施工时间
-            zEngiineeringPhotoBoList: [], // 图片列表
-            zEngineeringMaterialBo: []
+          constructTime: '', // 施工时间
+          zEngiineeringPhotoBoList: [], // 图片列表
+          zEngineeringMaterialBo: []
         },
       }
+      this.zEngineeringMaterialBo = [ // 用料对象
+        {
+          materialQuality: '', // 用料材质
+          specifications: '', // 用料规格
+          number: '' // 用料数量
+        },
+      ]
       const id = row.id
       putEngineeEngineeIndustry(id).then(response => {
         this.loading = false;
@@ -606,7 +616,7 @@ export default {
         if (valid) {
           this.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo = this.zEngineeringMaterialBo
           this.form.zEngineeringNodeBo = this.zEngineeringNodeBo
-          this.zEngineeringNodeBo.type=this.$route.query.type
+          this.zEngineeringNodeBo.type = this.$route.query.type
           this.$refs.nodeForm.validate(valid => {
             if (valid) {
               EditEngineeEngineeIndustry(this.form).then(res => {
@@ -634,6 +644,7 @@ export default {
         if (this.zEngineeringMaterialBo[this.zEngineeringMaterialBo.length - 1]['number'] == '' || this.zEngineeringMaterialBo[this.zEngineeringMaterialBo.length - 1]['number'] == null) {
           valid = false;
         }
+
         if (valid) {
           this.zEngineeringMaterialBo.push({
             materialQuality: '', // 用料材质
@@ -781,8 +792,14 @@ export default {
       putEngineeEngineeIndustry(id).then(response => {
         this.loading = false;
         this.form = response.data;
-        this.zEngineeringNodeBo = response.data.zEngineeringNodeBoList[0]
-        this.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
+        if (response.data.zEngineeringNodeBoList !== undefined && response.data.zEngineeringNodeBoList.length > 0) {
+          this.zEngineeringNodeBo = response.data.zEngineeringNodeBoList[0]
+          if (response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList !== undefined && response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList.length > 0) {
+            this.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
+          }
+        }
+
+
         this.title = (this.form.type === '1' ? "修改工业工程" : "修改市政工程");
         this.currentType = 'put'
         this.open = true;
@@ -791,8 +808,12 @@ export default {
 
     /** 提交按钮 */
     submitForm() {
-      this.form.zEngineeringNodeBo = this.zEngineeringNodeBo
-      this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo = this.zEngineeringMaterialBo
+      this.form.zEngineeringNodeBo = null
+      if (this.zEngineeringNodeBo.type !== '') {
+        this.form.zEngineeringNodeBo = this.zEngineeringNodeBo
+        this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo = this.zEngineeringMaterialBo
+      }
+
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.form.files = this.$refs.obsFileUpload.fileList;

+ 19 - 7
src/views/zdsz/engineeringInfrastructure/index.vue

@@ -10,7 +10,7 @@
   <div class="app-container">
     <el-form :model="searchParams" ref="searchForm" size="small" :inline="true" label-width="110px">
       <el-form-item label="工程名称" prop="enginName">
-        <el-input v-model="searchParams.enginName" placeholder="请输入工程名称"></el-input>
+        <el-input v-model="searchParams.enginName" placeholder="请输入工程名称" ></el-input>
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -137,16 +137,17 @@
     <el-dialog :title="title" ref="nodeForm" :visible.sync="open" append-to-body customClass="appendElDialog" @close="onClose">
       <el-form ref="form" :model="queryParams" :rules="rules" label-width="110px">
         <el-form-item label="工程名称" prop="enginName">
-          <el-input v-model="queryParams.enginName" placeholder="请输入工程名称" maxlength="50"></el-input>
+          <el-input v-model="queryParams.enginName" placeholder="请输入工程名称" maxlength="50" :disabled="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="工程地址" prop="enginAddre">
-          <el-input v-model="queryParams.enginAddre" placeholder="请输入工程地址" maxlength="100"></el-input>
+          <el-input v-model="queryParams.enginAddre" placeholder="请输入工程地址" maxlength="100" :disabled="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="建设单位" prop="constructUnit">
-          <el-input v-model="queryParams.constructUnit" placeholder="请输入建设单位" maxlength="100"></el-input>
+          <el-input v-model="queryParams.constructUnit" placeholder="请输入建设单位" maxlength="100" :disabled="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="开工时间" prop="startTime">
           <el-date-picker
+            :disabled="title == '添加用料' "
             v-model="queryParams.startTime"
             value-format="yyyy-MM-dd hh:mm:ss"
             type="datetime"
@@ -155,6 +156,7 @@
         </el-form-item>
         <el-form-item label="竣工时间" prop="completedTime">
           <el-date-picker
+            :disabled="title == '添加用料' "
             v-model="queryParams.completedTime"
             value-format="yyyy-MM-dd hh:mm:ss"
             type="datetime"
@@ -162,19 +164,20 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item label="计划工期" prop="plannedDuration">
-          <el-input v-model="queryParams.plannedDuration" placeholder="请输入计划工期" maxlength="50"></el-input>
+          <el-input v-model="queryParams.plannedDuration" placeholder="请输入计划工期" maxlength="50" :disabled="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="文件" prop="files" v-if="queryParams.id">
           <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.pics" @input="filesUpload"
           ></ObsFileUpload>
         </el-form-item>
         <el-form-item label="文件" prop="files" v-else>
-          <ObsFileUpload ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.files" @input="filesUpload"
+          <ObsFileUpload :disabled="title == '添加用料' " ref="obsFileUpload" :file-size="100" :file-type="['dwg','dwt','doc','docx','xls','xlsx','png', 'jpg', 'jpeg','mp4']" :limit="9999"  :value="queryParams.files" @input="filesUpload"
           ></ObsFileUpload>
         </el-form-item>
 
         <el-form-item label="工程内容" prop="enginContent">
           <el-input
+            :disabled="title == '添加用料' "
             v-model="queryParams.enginContent"
             type="textarea"
             placeholder="请输入内容"
@@ -744,9 +747,18 @@ export default {
   },
   // 查看历史
   viewSource(e,type = null){
+    let params = this.dict.type.engineering_infrastructure
+    if(type == 'check'){
+      getDictList({enginType:['engineering_infrastructure']}).then(res => {
+        params = res.data.filter(e => {
+          return e.label == '水电施工' || e.label == '防水'
+        })
+        return this.$refs.ConstructionDetails.open(params,_,type)
+      })
+    }
     console.log(e)
     this.currentId = e.id
-    this.$refs.ConstructionDetails.open(this.dict.type.engineering_infrastructure,type,null,'基建')
+    this.$refs.ConstructionDetails.open(params,_,type)
     this.status = 'read-only'
   },
   // 填写节点信息