Browse Source

市政修改

JX.Li 10 months ago
parent
commit
8d9cfd6b55

+ 80 - 17
src/components/ConstructionDetails/indexSZ.vue

@@ -54,7 +54,7 @@
                   </el-form-item>
                 </el-form>
                 <!--  用料明细 -->
-                <div v-if="['焊接、防腐','架空管线','下管','沟下连头'].includes(activeNames)"
+                <div v-if="['焊接、防腐','架空管线','下管','沟下连头','顶管材料米数'].includes(activeNames)"
                      v-for="(i,index) in e.zEngineeringMaterialBo || [] "
                      :key="index"
                 >
@@ -127,23 +127,71 @@
                     <!--                    </el-form-item>-->
                   </el-form>
                 </div>
-                <div v-if="['阀井'].includes(activeNames)"
-                     v-for="(i,index) in e.zEngineeringMaterialBo || [] "
-                     :key="index"
-                >
-                  <el-form :model="nodeInfo" class="nodeForm materialForm">
-                    <el-form-item
-                      :prop="i.remark"
-                      :class="'labelWidth'"
-                      label="型号"
-                      label-width="95px"
-                    >
-                      <el-input v-model="i.remark" placeholder="请输入型号" style="width: 100%" maxlength="100"
-                                type="textarea" :disabled="['review','read-only'].includes(status)"></el-input>
-                    </el-form-item>
-                  </el-form>
+<!--                <div v-if="['阀井'].includes(activeNames)"-->
+<!--                     v-for="(i,index) in e.zEngineeringMaterialBo || [] "-->
+<!--                     :key="index"-->
+<!--                >-->
+<!--                  <el-form :model="nodeInfo" class="nodeForm materialForm">-->
+<!--                    <el-form-item-->
+<!--                      :prop="i.remark"-->
+<!--                      :class="'labelWidth'"-->
+<!--                      label="型号"-->
+<!--                      label-width="95px"-->
+<!--                    >-->
+<!--                      <el-input v-model="i.remark" placeholder="请输入型号" style="width: 100%" maxlength="100"-->
+<!--                                type="textarea" :disabled="['review','read-only'].includes(status)"></el-input>-->
+<!--                    </el-form-item>-->
+<!--                  </el-form>-->
+<!--                </div>-->
+                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames == '阀井'">
+                  <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">套管</h3>
+                  <ObsImageUpload
+                    :class=" (status == 'read-only' || status == 'review' )? 'obsImageUploads' : '' "
+                    ref="obsImageUpload"
+                    :limit="11"
+                    :fileType="['png', 'jpg', 'jpeg']"
+                    @input="getCannulaUrl(arguments,idx)"
+                    :value="e.cannula"
+                    :disabled="['review','read-only'].includes(status)"
+                  ></ObsImageUpload>
                 </div>
-                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames != '回填、撤场'">
+                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames == '阀井'">
+                  <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">内壁抹灰</h3>
+                  <ObsImageUpload
+                    :class=" (status == 'read-only' || status == 'review' )? 'obsImageUploads' : '' "
+                    ref="obsImageUpload"
+                    :limit="11"
+                    :fileType="['png', 'jpg', 'jpeg']"
+                    @input="getWallPlasterUrl(arguments,idx)"
+                    :value="e.wallPlaster"
+                    :disabled="['review','read-only'].includes(status)"
+                  ></ObsImageUpload>
+                </div>
+                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames == '阀井'">
+                  <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">防护网</h3>
+                  <ObsImageUpload
+                    :class=" (status == 'read-only' || status == 'review' )? 'obsImageUploads' : '' "
+                    ref="obsImageUpload"
+                    :limit="11"
+                    :fileType="['png', 'jpg', 'jpeg']"
+                    @input="getProtectiveNetUrl(arguments,idx)"
+                    :value="e.protectiveNet"
+                    :disabled="['review','read-only'].includes(status)"
+                  ></ObsImageUpload>
+                </div>
+                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames == '阀井'">
+                  <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">八角</h3>
+                  <ObsImageUpload
+                    :class=" (status == 'read-only' || status == 'review' )? 'obsImageUploads' : '' "
+                    ref="obsImageUpload"
+                    :limit="11"
+                    :fileType="['png', 'jpg', 'jpeg']"
+                    @input="getStarAniseUrl(arguments,idx)"
+                    :value="e.starAnise"
+                    :disabled="['review','read-only'].includes(status)"
+                  ></ObsImageUpload>
+                </div>
+                <div style="display: flex;width: 100%;height: 100%;" v-if="activeNames != '回填、撤场' && activeNames != '顶管材料米数' && activeNames != '调压柜'&& activeNames != '阀井'"">
                   <h3 style="width: 95px;font-weight: 600;text-align: left;text-indent: 25px;">图片</h3>
                   <ObsImageUpload
                     :class=" (status == 'read-only' || status == 'review' )? 'obsImageUploads' : '' "
@@ -537,6 +585,21 @@ export default {
         console.log('规格', res.data)
         this.specificationsList = res.data
       })
+    },getCannulaUrl(_,idx) {
+      console.log("this.currentCollapses",this.currentCollapses)
+      this.currentCollapses[idx].cannula = [...arguments][0][0].map(e=>e.url) || [];
+    },
+    getWallPlasterUrl(_,idx) {
+      this.currentCollapses[idx].wallPlaster = [...arguments][0][0].map(e=>e.url) || [];
+    },
+    getLightningUrl(_,idx) {
+      this.currentCollapses[idx].lightning = [...arguments][0][0].map(e=>e.url) || [];
+    },
+    getStarAniseUrl(_,idx) {
+      this.currentCollapses[idx].starAnise = [...arguments][0][0].map(e=>e.url) || [];
+    },
+    getProtectiveNetUrl(_,idx) {
+      this.currentCollapses[idx].protectiveNet = [...arguments][0][0].map(e=>e.url) || [];
     },
     getUrl(_, idx) {
       this.currentCollapses[idx].zEngiineeringPhotoBoList = [...arguments][0][0].map(e => e.url) || [];

+ 206 - 149
src/components/EnginNodeInfo/indexSZ.vue

@@ -9,44 +9,73 @@
     <!-- 节点表单 -->
     <el-form ref="fangxianForm" :model="nodeInfo" :rules="nodeRules" label-width="200px">
       <h2 style="margin-left: 16%;font-weight: 800;">{{ name }}</h2>
-        <el-form-item label="施工时间" prop="constructTime">
-          <el-date-picker
-            :disabled="formType"
-            v-model="nodeInfo.constructTime"
-            value-format="yyyy-MM-dd hh:mm:ss"
-            type="datetime"
-            placeholder="请选择施工时间">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="施工内容" prop="remark">
-          <el-input
-            v-model="nodeInfo.remark"
-            type="textarea"
-            placeholder="请输入施工内容"
-            maxlength="255"
-          />
-        </el-form-item>
-      <el-form-item label="照片" prop="zEngiineeringPhotoBoList" class="obsImage" v-if="'回填、撤场' != name">
-        <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="nodeInfo.zEngiineeringPhotoBoList"
+      <el-form-item label="施工时间" prop="constructTime"
+                    v-if="'阀井'!==name&& '顶管材料米数'!==name&& '每日施工日志'!==name&& '管道施工记录'!==name">
+        <el-date-picker
+          :disabled="formType"
+          v-model="nodeInfo.constructTime"
+          value-format="yyyy-MM-dd hh:mm:ss"
+          type="datetime"
+          placeholder="请选择施工时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="施工内容" prop="remark">
+        <el-input
+          v-model="nodeInfo.remark"
+          type="textarea"
+          placeholder="请输入施工内容"
+          maxlength="255"
+        />
+      </el-form-item>
+      <el-form-item label="照片" prop="zEngiineeringPhotoBoList" class="obsImage"
+                    v-if="'回填、撤场' != name && '调压柜' != name && '阀井'!==name&& '顶管材料米数'!==name">
+        <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.zEngiineeringPhotoBoList"
                         @input="getUrl"></ObsImageUpload>
       </el-form-item>
+      <el-form-item label="套管" prop="zEngiineeringPhotoBoList" class="obsImage tygImage" v-if="'阀井' === name">
+        <ObsImageUpload ref="cannula" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.cannula"
+                        @input="getCannulaUrl"></ObsImageUpload>
+      </el-form-item>
+      <el-form-item label="内壁抹灰" prop="zEngiineeringPhotoBoList" class="obsImage tygImage" v-if="'阀井' === name">
+        <ObsImageUpload ref="wallPlaster" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.wallPlaster"
+                        @input="getWallPlasterUrl"></ObsImageUpload>
+      </el-form-item>
+      <el-form-item label="防护网" prop="zEngiineeringPhotoBoList" class="obsImage tygImage" v-if="'阀井' === name">
+        <ObsImageUpload ref="protectiveNet" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.protectiveNet"
+                        @input="getProtectiveNetUrl"></ObsImageUpload>
+      </el-form-item>
+      <el-form-item label="八角" prop="zEngiineeringPhotoBoList" class="obsImage tygImage" v-if="'阀井' === name">
+        <ObsImageUpload ref="starAnise" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.starAnise"
+                        @input="getStarAniseUrl"></ObsImageUpload>
+      </el-form-item>
       <el-form-item label="回填前" prop="zEngiineeringPhotoBoListOne" class="obsImage" v-if="'回填、撤场' == name">
-        <ObsImageUpload ref="obsImageUpload1" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="nodeInfo.zEngiineeringPhotoBoListOne"
+        <ObsImageUpload ref="obsImageUpload1" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.zEngiineeringPhotoBoListOne"
                         @input="getUrl1"></ObsImageUpload>
       </el-form-item>
       <el-form-item label="铺设警示带" prop="zEngiineeringPhotoBoListTwo" class="obsImage" v-if="'回填、撤场' == name">
-        <ObsImageUpload ref="obsImageUpload2" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="nodeInfo.zEngiineeringPhotoBoListTwo"
+        <ObsImageUpload ref="obsImageUpload2" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.zEngiineeringPhotoBoListTwo"
                         @input="getUrl2"></ObsImageUpload>
       </el-form-item>
       <el-form-item label="回填后" prop="zEngiineeringPhotoBoListThree" class="obsImage" v-if="'回填、撤场' == name">
-        <ObsImageUpload ref="obsImageUpload3" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="nodeInfo.zEngiineeringPhotoBoListThree"
+        <ObsImageUpload ref="obsImageUpload3" :limit="9999" :fileType="['png', 'jpg', 'jpeg']"
+                        :value="nodeInfo.zEngiineeringPhotoBoListThree"
                         @input="getUrl3"></ObsImageUpload>
       </el-form-item>
 
-      <div style="width: 25%;position: relative;left: 20.5%;top: -8px;" v-if="['焊接、防腐','架空管线','下管','沟下连头'].includes(name)">
+      <div style="width: 25%;position: relative;left: 20.5%;top: -8px;"
+           v-if="['焊接、防腐','架空管线','下管','沟下连头','顶管材料米数'].includes(name)">
         <el-button @click="addMaterial()">新增用料信息</el-button>
       </div>
-      <el-row v-for="(item, index) in zEngineeringMaterialBo" v-if="['焊接、防腐','架空管线','下管','沟下连头'].includes(name)" :key="index" style="left: 10.5%;" :class="'rowStructure'">
+      <el-row v-for="(item, index) in zEngineeringMaterialBo"
+              v-if="['焊接、防腐','架空管线','下管','沟下连头','顶管材料米数'].includes(name)" :key="index"
+              style="left: 10.5%;" :class="'rowStructure'">
         <el-col :span="7">
           <el-form-item
             :prop="'zEngineeringMaterialBo.' + index + '.materialQuality'"
@@ -54,7 +83,9 @@
             label="材质"
 
           >
-            <el-select v-model="item.materialQuality" placeholder="请选择材质" style="width: 100%" @change="getEnginSpecificationsList(item, index)" filterable @blur="selectBlur(arguments,index,'materialQuality')">
+            <el-select v-model="item.materialQuality" placeholder="请选择材质" style="width: 100%"
+                       @change="getEnginSpecificationsList(item, index)" filterable
+                       @blur="selectBlur(arguments,index,'materialQuality')">
               <el-option
                 v-for="e in materialQualityList"
                 :key="e.id"
@@ -71,7 +102,8 @@
             label="规格"
 
           >
-            <el-select v-model="item.specifications" placeholder="请选择规格" style="width: 100%" filterable @blur="selectBlur(arguments,index,'specifications')">
+            <el-select v-model="item.specifications" placeholder="请选择规格" style="width: 100%" filterable
+                       @blur="selectBlur(arguments,index,'specifications')">
               <el-option
                 v-for="e in specificationsList"
                 :key="e.id"
@@ -88,7 +120,11 @@
             label="米数"
           >
             <div class="block" style="display: inline-block; margin-right: 20px;">
-              <el-input v-model="item.number" placeholder="请输入米数" style="width: 100%" oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''" :disabled="status == 'read-only'"><template slot="append">米</template></el-input>
+              <el-input v-model="item.number" placeholder="请输入米数" style="width: 100%"
+                        oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''"
+                        :disabled="status == 'read-only'">
+                <template slot="append">米</template>
+              </el-input>
             </div>
           </el-form-item>
         </el-col>
@@ -96,36 +132,38 @@
           <el-form-item
             :prop="'zEngineeringMaterialBo.' + index + '.number'"
             label-width="50px"
-          ><div class="block" style="display: inline-block; margin-right: 20px;"></div></el-form-item>
-        </el-col>
-
-        <el-button v-if="zEngineeringMaterialBo.length > 0" @click="removezEngineeringMaterialBo(index)">
-            删除
-        </el-button>
-      </el-row>
-      <el-row v-for="(item, index) in zEngineeringMaterialBo" v-if="['阀井'].includes(name)" :key="index" style="left: 10.5%;" :class="'rowStructure'">
-        <el-col :span="7">
-          <el-form-item
-            :prop="'zEngineeringMaterialBo.' + index + '.remark'"
-            label-width="50px"
-            label="型号"
           >
-            <div class="block" style="display: inline-block; margin-right: 20px;">
-              <el-input v-model="item.remark" placeholder="请输入型号" style="width: 100%" :disabled="status == 'read-only'"/>
-            </div>
+            <div class="block" style="display: inline-block; margin-right: 20px;"></div>
           </el-form-item>
         </el-col>
-        <el-col :span="7">
-          <el-form-item
-            :prop="'zEngineeringMaterialBo.' + index + '.number'"
-            label-width="50px"
-          ><div class="block" style="display: inline-block; margin-right: 20px;"></div></el-form-item>
-        </el-col>
 
         <el-button v-if="zEngineeringMaterialBo.length > 0" @click="removezEngineeringMaterialBo(index)">
-            删除
+          删除
         </el-button>
       </el-row>
+      <!--      <el-row v-for="(item, index) in zEngineeringMaterialBo" v-if="['阀井'].includes(name)" :key="index" style="left: 10.5%;" :class="'rowStructure'">-->
+      <!--        <el-col :span="7">-->
+      <!--          <el-form-item-->
+      <!--            :prop="'zEngineeringMaterialBo.' + index + '.remark'"-->
+      <!--            label-width="50px"-->
+      <!--            label="型号"-->
+      <!--          >-->
+      <!--            <div class="block" style="display: inline-block; margin-right: 20px;">-->
+      <!--              <el-input v-model="item.remark" placeholder="请输入型号" style="width: 100%" :disabled="status == 'read-only'"/>-->
+      <!--            </div>-->
+      <!--          </el-form-item>-->
+      <!--        </el-col>-->
+      <!--        <el-col :span="7">-->
+      <!--          <el-form-item-->
+      <!--            :prop="'zEngineeringMaterialBo.' + index + '.number'"-->
+      <!--            label-width="50px"-->
+      <!--          ><div class="block" style="display: inline-block; margin-right: 20px;"></div></el-form-item>-->
+      <!--        </el-col>-->
+
+      <!--        <el-button v-if="zEngineeringMaterialBo.length > 0" @click="removezEngineeringMaterialBo(index)">-->
+      <!--            删除-->
+      <!--        </el-button>-->
+      <!--      </el-row>-->
       <hr style="position: relative;left: 10%;">
     </el-form>
 
@@ -140,96 +178,93 @@ import {
 
 } from '@/api/zdsz/enginee'
 import ObsVideoUpload from "@/components/ObsVideoUpload/index.vue";
+
 export default {
-  name:'EnginNodeInfo',
-  props:['types','enginType','enginSort','enginNode','name','currentContain','updateOption','status'],
-  dicts:[
+  name: 'EnginNodeInfo',
+  props: ['types', 'enginType', 'enginSort', 'enginNode', 'name', 'currentContain', 'updateOption', 'status'],
+  dicts: [
     'visit_type',
     'self_closing_valve_type',
     'brand',
     'construct_addre'
   ],
-  components:{ObsVideoUpload},
-  data(){
+  components: {ObsVideoUpload},
+  data() {
     return {
-      constructAccordingDrawingsOption:[
+      constructAccordingDrawingsOption: [
         {
-          value:'Y',
-          label:'是'
+          value: 'Y',
+          label: '是'
         },
         {
-          value:'N',
-          label:'否'
+          value: 'N',
+          label: '否'
         }
       ],
-      segmentedCompressionQualifiedOption:[
+      segmentedCompressionQualifiedOption: [
         {
-          value:'1',
-          label:'合格'
+          value: '1',
+          label: '合格'
         },
         {
-          value:'0',
-          label:'不合格'
+          value: '0',
+          label: '不合格'
         }
       ],
-      materialQualityList_zbf:[],                      // 自闭阀option
-      materialQualityList_zjg:[],                      // 灶具管option
-      materialQualityList:[],                     // 材质
-      specificationsList:[],                      // 规格
-      materialComponList:[],
-      nodeInfo:{
-        backfillTime:'',                        // 回填时间
-        constructTime:'',
-        constructAccordingDrawings:'',
-        segmentedCompressionQualified:'',
-        zEngiineeringPhotoBoList:[],            // 照片集合
-        zEngiineeringPhotoBoListOne:[],            // 照片集合
-        zEngiineeringPhotoBoListTwo:[],            // 照片集合
-        zEngiineeringPhotoBoListThree:[],            // 照片集合
-        zEngineeringMaterialBo:[],              // 用料集合
-        remark:'',
-        constructAddre:''
+      materialQualityList_zbf: [],                      // 自闭阀option
+      materialQualityList_zjg: [],                      // 灶具管option
+      materialQualityList: [],                     // 材质
+      specificationsList: [],                      // 规格
+      materialComponList: [],
+      nodeInfo: {
+        backfillTime: '',                        // 回填时间
+        constructTime: '',
+        constructAccordingDrawings: '',
+        segmentedCompressionQualified: '',
+        zEngiineeringPhotoBoList: [],            // 照片集合
+        zEngiineeringPhotoBoListOne: [],            // 照片集合
+        zEngiineeringPhotoBoListTwo: [],            // 照片集合
+        zEngiineeringPhotoBoListThree: [],            // 照片集合
+        zEngineeringMaterialBo: [],              // 用料集合
+        remark: '',
+        constructAddre: ''
       },
-      nodeInfoBo:{
-        zEngineeringInfoBo:{
-
-        }
+      nodeInfoBo: {
+        zEngineeringInfoBo: {}
       },                                         //  节点信息
-      zEngineeringMaterialBo:[
-
-      ],                                         //  用料信息
-      nodeRules:{
+      zEngineeringMaterialBo: [],                                         //  用料信息
+      nodeRules: {
         zEngiineeringPhotoBoList: [
-          {required: true, message: "至少上传一张图片", trigger: "change"}
+          {required: false, message: "至少上传一张图片", trigger: "change"}
         ],
         constructTime: [
-          {required: true, message: "请选择施工时间", trigger: "change"}
+          {required: false, message: "请选择施工时间", trigger: "change"}
         ]
       }
     }
   },
-  created(){
-      // 获取材质
-      let enginType = '市政工程'
-      getEnginMaterialQualityList({enginType:enginType}).then(res => {
-        this.materialQualityList = res.data
-      })
+  created() {
+    // 获取材质
+    let enginType = '市政工程'
+    getEnginMaterialQualityList({enginType: enginType}).then(res => {
+      this.materialQualityList = res.data
+    })
   },
-  mounted(){
-    console.log('当前节点name',this.name)
-    console.log('update',this.updateOption)
-    console.log('当前节点currentContain',this.types)
+  mounted() {
+    console.log('当前节点name', this.name)
+    console.log('update', this.updateOption)
+    console.log('当前节点currentContain', this.types)
     this.materialComponList = this.currentContain.find(e => {
-      if( e instanceof Array){
+      if (e instanceof Array) {
         return e
       }
 
     })
 
-    if(this.status == '修改'){
+    if (this.status == '修改') {
       this.currentContain.find(e => {
         console.log(this.updateOption)
-        if( e instanceof Array){
+        if (e instanceof Array) {
           this.zEngineeringMaterialBo = this.updateOption.zEngineeringInfoBoList[0].zEngineeringMaterialBo
         }
         this.nodeInfo[e] = this.updateOption[e]
@@ -242,26 +277,26 @@ export default {
     setTimeout(() => {
       // 至少存在一条物料
       this.addMaterial()
-    },1500)
-    console.log('用料组件',this.materialComponList)
-    console.log('用料信息',this.zEngineeringMaterialBo)
-    console.log('节点信息',this.nodeInfo)
+    }, 1500)
+    console.log('用料组件', this.materialComponList)
+    console.log('用料信息', this.zEngineeringMaterialBo)
+    console.log('节点信息', this.nodeInfo)
     // 添加用料对象
     // this.addMaterial()
   },
-  methods:{
-    selectBlur(_,index,name) {
+  methods: {
+    selectBlur(_, index, name) {
       this.zEngineeringMaterialBo[index][name] = [...arguments][0][0].target.value
     },
     // 收集节点信息
-    infoCollection(){
+    infoCollection() {
       let result = null
       console.log(this.$refs.fangxianForm)
       this.$refs.fangxianForm.validate(valid => {
-        if(valid){
+        if (valid) {
           // 收集主节点信息
           this.currentContain.forEach(e => {
-            if( e instanceof Array){
+            if (e instanceof Array) {
               // 包含用料 特殊处理
               return
             }
@@ -269,11 +304,11 @@ export default {
           })
           this.nodeInfoBo.type = this.name
           // 接口数据格式修改 图片和用料放到nodeInfoBo节点详情对象中
-          if (this.name!='回填、撤场'){
+          if (this.name != '回填、撤场') {
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoList = []
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoList = this.nodeInfo.zEngiineeringPhotoBoList
           }
-          if (this.name=='回填、撤场'){
+          if (this.name == '回填、撤场') {
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoListOne = []
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoListTwo = []
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoListThree = []
@@ -282,11 +317,15 @@ export default {
             this.nodeInfoBo.zEngineeringInfoBo.zEngiineeringPhotoBoListThree = this.nodeInfo.zEngiineeringPhotoBoListThree
           }
           this.nodeInfoBo.zEngineeringInfoBo.zEngineeringMaterialBo = this.zEngineeringMaterialBo
-          this.nodeInfoBo.zEngineeringInfoBo.constructAddre=this.nodeInfo.constructAddre
-          this.nodeInfoBo.zEngineeringInfoBo.constructTime=this.nodeInfo.constructTime
-          this.nodeInfoBo.zEngineeringInfoBo.remark=this.nodeInfo.remark
+          this.nodeInfoBo.zEngineeringInfoBo.constructAddre = this.nodeInfo.constructAddre
+          this.nodeInfoBo.zEngineeringInfoBo.constructTime = this.nodeInfo.constructTime
+          this.nodeInfoBo.zEngineeringInfoBo.cannula = this.nodeInfo.cannula
+          this.nodeInfoBo.zEngineeringInfoBo.wallPlaster = this.nodeInfo.wallPlaster
+          this.nodeInfoBo.zEngineeringInfoBo.protectiveNet = this.nodeInfo.protectiveNet
+          this.nodeInfoBo.zEngineeringInfoBo.starAnise = this.nodeInfo.starAnise
+          this.nodeInfoBo.zEngineeringInfoBo.remark = this.nodeInfo.remark
           // delete this.nodeInfo.zEngiineeringPhotoBoList
-          console.log('即将返回的节点Info',this.nodeInfoBo)
+          console.log('即将返回的节点Info', this.nodeInfoBo)
           result = this.nodeInfoBo
         } else {
           this.$message({
@@ -298,7 +337,7 @@ export default {
       })
       return result
     },
-    addMaterial(){
+    addMaterial() {
       let materialBo = {}
       // this.materialComponList.forEach(e => {
       //   materialBo[e] = null
@@ -307,7 +346,7 @@ export default {
       this.nodeInfo.zEngineeringMaterialBo.push(materialBo)
       // console.log('节点用料参数对象',this.zEngineeringMaterialBo)
     },
-    addzEngineeringMaterialBo(option,params){
+    addzEngineeringMaterialBo(option, params) {
       let material = {}
       params.forEach(e => {
         material[e] = ""
@@ -316,31 +355,42 @@ export default {
         material
       )
     },
-    removezEngineeringMaterialBo(index){
+    removezEngineeringMaterialBo(index) {
       this.zEngineeringMaterialBo.splice(index, 1);
     },
     // 填充已有数据
-    updateInfo(e){
-      console.log('填充',e)
+    updateInfo(e) {
+      console.log('填充', e)
+    }, getProtectiveNetUrl(url) {
+      this.nodeInfo.protectiveNet = this.$refs.protectiveNet.fileList ? this.$refs.protectiveNet.fileList.map(e => e.url) : [];
+    },
+    getWallPlasterUrl(url) {
+      this.nodeInfo.wallPlaster = this.$refs.wallPlaster.fileList ? this.$refs.wallPlaster.fileList.map(e => e.url) : [];
+    },
+    getStarAniseUrl(url) {
+      this.nodeInfo.starAnise = this.$refs.starAnise.fileList ? this.$refs.starAnise.fileList.map(e => e.url) : [];
+    },
+    getCannulaUrl(url) {
+      this.nodeInfo.cannula = this.$refs.cannula.fileList ? this.$refs.cannula.fileList.map(e => e.url) : [];
     },
     getUrl(url) {
-      this.nodeInfo.zEngiineeringPhotoBoList = this.$refs.obsImageUpload.fileList ? this.$refs.obsImageUpload.fileList.map(e=>e.url):[];
+      this.nodeInfo.zEngiineeringPhotoBoList = this.$refs.obsImageUpload.fileList ? this.$refs.obsImageUpload.fileList.map(e => e.url) : [];
     },
     getUrl1(url) {
-      this.nodeInfo.zEngiineeringPhotoBoListOne = this.$refs.obsImageUpload1.fileList ? this.$refs.obsImageUpload1.fileList.map(e=>e.url):[];
+      this.nodeInfo.zEngiineeringPhotoBoListOne = this.$refs.obsImageUpload1.fileList ? this.$refs.obsImageUpload1.fileList.map(e => e.url) : [];
     },
     getUrl2(url) {
-      this.nodeInfo.zEngiineeringPhotoBoListTwo = this.$refs.obsImageUpload2.fileList ? this.$refs.obsImageUpload2.fileList.map(e=>e.url):[];
+      this.nodeInfo.zEngiineeringPhotoBoListTwo = this.$refs.obsImageUpload2.fileList ? this.$refs.obsImageUpload2.fileList.map(e => e.url) : [];
     },
     getUrl3(url) {
-      this.nodeInfo.zEngiineeringPhotoBoListThree = this.$refs.obsImageUpload3.fileList ? this.$refs.obsImageUpload3.fileList.map(e=>e.url):[];
+      this.nodeInfo.zEngiineeringPhotoBoListThree = this.$refs.obsImageUpload3.fileList ? this.$refs.obsImageUpload3.fileList.map(e => e.url) : [];
     },
 
     // 获取材质规格
-    getEnginSpecificationsList(e,idx){
+    getEnginSpecificationsList(e, idx) {
       this.zEngineeringMaterialBo[idx].specifications = null;
-      getEnginSpecificationsList({materId:e.materialQuality}).then(res => {
-        console.log('规格',res.data)
+      getEnginSpecificationsList({materId: e.materialQuality}).then(res => {
+        console.log('规格', res.data)
         this.specificationsList = res.data
       })
     },
@@ -350,49 +400,56 @@ export default {
 
 <style lang="scss" scoped>
 
-::v-deep .material_desc{
-  .el-form-item__content{
+::v-deep .material_desc {
+  .el-form-item__content {
     margin-left: 50px !important;
   }
 }
-::v-deep .el-form{
+
+::v-deep .el-form {
   position: relative;
   left: -10%;
-  .el-form-item{
+
+  .el-form-item {
     display: inline-block;
   }
-  .obsImage{
+
+  .obsImage {
     width: 100%;
     display: block;
     margin-left: 8%;
-    .el-form-item__label{
+
+    .el-form-item__label {
       width: 113px !important;
     }
-    .el-form-item__error{
+
+    .el-form-item__error {
       position: relative;
       left: -10%;
     }
   }
 
-  .obsActiveImage{
-    .el-form{
-        left:-14% !important
+  .obsActiveImage {
+    .el-form {
+      left: -14% !important
     }
-    .el-form-item__label{
+
+    .el-form-item__label {
       width: 97px !important;
     }
   }
 
-  .obsActiveImageStructure{
-    .el-form-item__label{
-      width:161px !important;
+  .obsActiveImageStructure {
+    .el-form-item__label {
+      width: 161px !important;
     }
   }
 
-  .rowStructure{
+  .rowStructure {
     padding-left: 3.6%;
-    .el-col .el-form-item{
-      width:73%
+
+    .el-col .el-form-item {
+      width: 73%
     }
   }
 }

+ 61 - 53
src/views/zdsz/engineeringIndustry/index.vue

@@ -12,10 +12,10 @@
       <el-form-item label="行政区" prop="district">
         <el-select v-model="searchParams.district" placeholder="请选择行政区" clearable>
           <el-option
-              v-for="dict in dict.type.district"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
+            v-for="dict in dict.type.district"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
           />
         </el-select>
       </el-form-item>
@@ -76,13 +76,14 @@
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="warning"
-            plain
-            icon="el-icon-download"
-            size="mini"
-            @click="handleExport"
-            v-hasPermi="['zdsz:engineeringIndustry:export']"
-        >导出</el-button>
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['zdsz:engineeringIndustry:export']"
+        >导出
+        </el-button>
       </el-col>
       <el-col :span="2.5" style="float: right;">
          <span
@@ -106,11 +107,11 @@
       </el-table-column>
       <el-table-column label="工程名称" align="center" prop="enginName"/>
       <el-table-column label="工程类型" align="center" prop="enginType"/>
-<!--      <el-table-column label="工程分类" align="center" prop="enginClassification">-->
-<!--        <template slot-scope="scope">-->
-<!--          <dict-tag :options="dict.type.engin_classification" :value="scope.row.enginClassification"/>-->
-<!--        </template>-->
-<!--      </el-table-column>-->
+      <!--      <el-table-column label="工程分类" align="center" prop="enginClassification">-->
+      <!--        <template slot-scope="scope">-->
+      <!--          <dict-tag :options="dict.type.engin_classification" :value="scope.row.enginClassification"/>-->
+      <!--        </template>-->
+      <!--      </el-table-column>-->
       <el-table-column label="现场负责人" align="center" prop="sceneHead"/>
       <el-table-column label="设计负责人" align="center" prop="designHead"/>
       <el-table-column label="监理负责人" align="center" prop="supervisionHead"/>
@@ -118,8 +119,8 @@
       <el-table-column label="用料比" align="center" prop="enginClassification" width="300px">
         <template slot-scope="scope">
           <div>
-            <span>PE{实际:{{scope.row.pesj}},预计:{{scope.row.pePreset}},占比:{{scope.row.pePreset == 0||scope.row.pePreset == null ? 100:(scope.row.pesj / scope.row.pePreset * 100).toFixed(1)}}%}</span><br>
-            <span>钢材{实际:{{scope.row.gsj}},预计:{{scope.row.gcPreset}},占比:{{scope.row.gcPreset == 0||scope.row.pePreset == null ? 100:(scope.row.gsj / scope.row.gcPreset * 100).toFixed(1)}}%}</span>
+            <span>PE{实际:{{ scope.row.pesj }},预计:{{ scope.row.pePreset }},占比:{{ scope.row.pePreset == 0 || scope.row.pePreset == null ? 100 : (scope.row.pesj / scope.row.pePreset * 100).toFixed(1) }}%}</span><br>
+            <span>钢材{实际:{{ scope.row.gsj }},预计:{{ scope.row.gcPreset }},占比:{{ scope.row.gcPreset == 0 || scope.row.pePreset == null ? 100 : (scope.row.gsj / scope.row.gcPreset * 100).toFixed(1) }}%}</span>
           </div>
         </template>
       </el-table-column>
@@ -228,17 +229,17 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="110px">
         <el-form-item label="行政区" prop="district">
           <el-select
-              style="width: 100%"
-              :disabled="title == '添加用料'"
-              v-model="form.district"
-              placeholder="请选择行政区"
-              filterable
+            style="width: 100%"
+            :disabled="title == '添加用料'"
+            v-model="form.district"
+            placeholder="请选择行政区"
+            filterable
           >
             <el-option
-                v-for="e in dict.type.district"
-                :key="e.value"
-                :label="e.label"
-                :value="e.value"
+              v-for="e in dict.type.district"
+              :key="e.value"
+              :label="e.label"
+              :value="e.value"
             ></el-option>
           </el-select>
         </el-form-item>
@@ -249,7 +250,7 @@
         </el-form-item>
         <el-form-item label="建筑单位" prop="constructUnit" v-hasPermi="['zdsz:engineeringIndustry:add']">
           <el-input v-model="form.constructUnit" placeholder="请填写建筑单位" maxlength="50"
-                    :readonly="title == '添加用料' " ></el-input>
+                    :readonly="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="项目负责人" prop="projectHead">
           <el-input v-model="form.projectHead" placeholder="请填写项目负责人" maxlength="20"
@@ -284,16 +285,18 @@
                     :readonly="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="PE管材预设" prop="pePreset">
-          <el-input v-model="form.pePreset" placeholder="请填写PE管材预设" maxlength="20" oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''"
+          <el-input v-model="form.pePreset" placeholder="请填写PE管材预设" maxlength="20"
+                    oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''"
                     :readonly="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="钢材预设" prop="gcPreset">
-          <el-input v-model="form.gcPreset" placeholder="请填写钢材预设" maxlength="13" oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''"
+          <el-input v-model="form.gcPreset" placeholder="请填写钢材预设" maxlength="13"
+                    oninput="value=value.match(/\d+(\.\d{0,1})?/) ? value.match(/\d+(\.\d{0,1})?/)[0] : ''"
                     :readonly="title == '添加用料' "></el-input>
         </el-form-item>
         <el-form-item label="工程类型" prop="enginType" v-hasPermi="['zdsz:engineeringIndustry:add']">
           <el-select v-model="form.enginType" placeholder="请选择工程类型" style="width: 100%"
-                     :disabled="title == '添加用料' " >
+                     :disabled="title == '添加用料' ">
             <el-option
               v-for="e in EngineepipeType"
               :key="e.dictValue"
@@ -302,16 +305,16 @@
             ></el-option>
           </el-select>
         </el-form-item>
-<!--        <el-form-item label="工程分类" prop="enginClassification">-->
-<!--          <el-select v-model="form.enginClassification" placeholder="请选择工程分类" style="width: 100%">-->
-<!--            <el-option-->
-<!--              v-for="e in dict.type.engin_classification"-->
-<!--              :key="e.value"-->
-<!--              :label="e.label"-->
-<!--              :value="e.value"-->
-<!--            ></el-option>-->
-<!--          </el-select>-->
-<!--        </el-form-item>-->
+        <!--        <el-form-item label="工程分类" prop="enginClassification">-->
+        <!--          <el-select v-model="form.enginClassification" placeholder="请选择工程分类" style="width: 100%">-->
+        <!--            <el-option-->
+        <!--              v-for="e in dict.type.engin_classification"-->
+        <!--              :key="e.value"-->
+        <!--              :label="e.label"-->
+        <!--              :value="e.value"-->
+        <!--            ></el-option>-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
         <el-row :gutter="20">
           <el-col :span="24">
             <el-form-item label="附件" v-if="form.id" style="width: 100%">
@@ -336,8 +339,9 @@
         </el-row>
 
         <el-row v-if="title=='添加用料'">
-            <el-form-item label="环节">
-              <el-checkbox-group v-model="currentCheckList" style="display: flex">
+          <el-col :span="24">
+            <el-form-item label="环节" class="hjclass">
+              <el-checkbox-group v-model="currentCheckList" style="display: flex;flex-wrap: wrap;">
                 <el-checkbox
                   :label="item.dictValue"
                   v-for="item in nodeList"
@@ -346,6 +350,7 @@
                 ></el-checkbox>
               </el-checkbox-group>
             </el-form-item>
+          </el-col>
         </el-row>
         <EnginNodeInfo
           v-if="title=='添加用料'"
@@ -647,23 +652,23 @@ export default {
       this.$download.zip(`/zdsz/engineeringPipeJacking/downloadZip/${'市政工程'}/${name}`, name);
     },
     // 节点审核
-    checkWorking(checkingInfo,flag) {
+    checkWorking(checkingInfo, flag) {
       let params = checkingInfo
       params.createTime = this.createTime
-      if (flag === 1){
-        params.infoIdList.forEach(item=>{
-          if (item.zEngiineeringPhotoBoListOne.length>0){
-            item.zEngiineeringPhotoBoListOne.forEach(o=>{
+      if (flag === 1) {
+        params.infoIdList.forEach(item => {
+          if (item.zEngiineeringPhotoBoListOne.length > 0) {
+            item.zEngiineeringPhotoBoListOne.forEach(o => {
               item.zEngiineeringPhotoBoList.push(o)
             })
           }
-          if (item.zEngiineeringPhotoBoListTwo.length>0){
-            item.zEngiineeringPhotoBoListTwo.forEach(o=>{
+          if (item.zEngiineeringPhotoBoListTwo.length > 0) {
+            item.zEngiineeringPhotoBoListTwo.forEach(o => {
               item.zEngiineeringPhotoBoList.push(o)
             })
           }
-          if (item.zEngiineeringPhotoBoListThree.length>0){
-            item.zEngiineeringPhotoBoListThree.forEach(o=>{
+          if (item.zEngiineeringPhotoBoListThree.length > 0) {
+            item.zEngiineeringPhotoBoListThree.forEach(o => {
               item.zEngiineeringPhotoBoList.push(o)
             })
           }
@@ -811,7 +816,7 @@ export default {
     },
     enginNodeStatusExecuted(item) {
       try {
-         return this.form.nodeReViewStateList.find(o => o.Type == item.dictLabel).state == '1';
+        return this.form.nodeReViewStateList.find(o => o.Type == item.dictLabel).state == '1';
       } catch (error) {
         return false
       }
@@ -1058,6 +1063,9 @@ export default {
 
 <style lang="scss" scoped>
 
+.hjclass {
+  width: 100% !important;
+}
 
 ::v-deep .appendElDialog {
   width: 70%;

+ 29 - 24
src/views/zdsz/touchOperationEngineering/index.vue

@@ -207,7 +207,7 @@
     <!-- 添加或修改碰口作业对话框 -->
     <el-dialog :title="title" :visible.sync="open" :width="title == '添加碰口作业用料信息'?'1500px':'800px'"
                append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px" >
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row :gutter="24">
           <el-col :span="12">
             <el-form-item label="行政区" prop="district">
@@ -229,7 +229,8 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="作业方式" prop="modeOperation">
-              <el-select v-model="form.modeOperation" placeholder="请选择作业方式" style="width: 100%" :disabled="title == '添加碰口作业用料信息'">
+              <el-select v-model="form.modeOperation" placeholder="请选择作业方式" style="width: 100%"
+                         :disabled="title == '添加碰口作业用料信息'">
                 <el-option
                   v-for="dict in dict.type.tapping_operation"
                   :key="dict.value"
@@ -241,17 +242,19 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="工程名称" prop="enginName">
-              <el-input v-model="form.enginName" placeholder="请输入工程名称" :disabled="title == '添加碰口作业用料信息'"/>
+              <el-input v-model="form.enginName" placeholder="请输入工程名称"
+                        :disabled="title == '添加碰口作业用料信息'"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-          <el-form-item label="工程地点" prop="locations">
-            <el-input v-model="form.locations" placeholder="请输入地点" :disabled="title == '添加碰口作业用料信息'"/>
-          </el-form-item>
+            <el-form-item label="工程地点" prop="locations">
+              <el-input v-model="form.locations" placeholder="请输入地点" :disabled="title == '添加碰口作业用料信息'"/>
+            </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :disabled="title == '添加碰口作业用料信息'" maxlength="200" rows="5"/>
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"
+                        :disabled="title == '添加碰口作业用料信息'" maxlength="200" rows="5"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -282,7 +285,9 @@
       </el-form>
 
       <div slot="footer" class="dialog-footer">
-        <el-button :loading="buttonLoading" type="primary" v-if="title == '添加碰口作业用料信息'" @click="addForm">添加用料</el-button>
+        <el-button :loading="buttonLoading" type="primary" v-if="title == '添加碰口作业用料信息'" @click="addForm">
+          添加用料
+        </el-button>
         <el-button :loading="buttonLoading" type="primary" v-else @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
@@ -455,20 +460,20 @@ export default {
       })
 
     },
-    handleHistory(e, type = null){
+    handleHistory(e, type = null) {
       this.currentId = e.id
       let dict = []
       let dists = e.modeOperation;
-      if ("地埋扳孔"  == e.modeOperation){
-        dists="bury_the_wrench_hole";
-      }else if ("架空扳孔"  == e.modeOperation){
-        dists="aerial_wrench_hole";
-      }else if ("停气作业"  == e.modeOperation){
-        dists="shutdown_operation";
-      }else if ("PE 封堵"  == e.modeOperation){
-        dists="pe_plugging";
-      }else if ("钢管带气封堵"  == e.modeOperation){
-        dists="the_steel_pipe_sealed_with_gas";
+      if ("地埋扳孔" == e.modeOperation) {
+        dists = "bury_the_wrench_hole";
+      } else if ("架空扳孔" == e.modeOperation) {
+        dists = "aerial_wrench_hole";
+      } else if ("停气作业" == e.modeOperation) {
+        dists = "shutdown_operation";
+      } else if ("PE 封堵" == e.modeOperation) {
+        dists = "pe_plugging";
+      } else if ("钢管带气封堵" == e.modeOperation) {
+        dists = "the_steel_pipe_sealed_with_gas";
       }
       getDicts(dists).then(res => {
         this.nodeList = res.data
@@ -486,11 +491,11 @@ export default {
         this.$refs.ConstructionDetails.open(dict, null, "历史施工信息", null, this.status)
       })
     },
-    addForm(){
+    addForm() {
       // 收集节点信息
       let nodeCollection = []
-      this.currentCheckList.forEach((e,idx) => {
-        let nodeItem = this.$refs['EnginNodeInfo'+ idx][0].infoCollection()
+      this.currentCheckList.forEach((e, idx) => {
+        let nodeItem = this.$refs['EnginNodeInfo' + idx][0].infoCollection()
         //  console.log(nodeItem)
         nodeCollection.push(nodeItem)
       })
@@ -520,8 +525,8 @@ export default {
     },
     // 表单重置
     reset() {
-      this.currentCheckList=[]
-      this.nodeList=[]
+      this.currentCheckList = []
+      this.nodeList = []
       this.form = {
         id: undefined,
         modeOperation: undefined,