付宇航 1 vuosi sitten
vanhempi
commit
ac28e5a092

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

@@ -259,13 +259,6 @@ export function putEngineeringInfrastructure(data) {
 }
 
 // 历史基建工程
-export function viewEngineeringCivilSource({id,type}) {
-    return request({
-      url: `/zdsz/engineeringCivil/${id}/${type}`,
-      method: 'get',
-    })
-}
-// 历史基建工程
 export function viewEngineeringInfrastructureSource({id,type}) {
     return request({
       url: `/zdsz/engineeringInfrastructure/${id}/${type}`,

+ 74 - 28
src/components/ConstructionDetails/index.vue

@@ -43,33 +43,51 @@
             <hr>
             <!--  用料明细 -->
             <div
-              v-for="(i,idx) in e.zEngineeringMaterialBo"
-              :key="idx"
-            >
-
-              <el-input size="mini" v-if="i.brand" style="width: 80%" v-model="i.brand" placeholder="请输入品牌">
-                <template slot="prepend">品牌</template>
-              </el-input>
-              <el-input size="mini" v-if="i.materialQualityName" v-model="i.materialQualityName"
-                        placeholder="请输入品牌">
-                <template slot="prepend">材质</template>
-              </el-input>
-              <el-input size="mini" v-if="i.specificationsName" v-model="i.specificationsName" placeholder="请输入品牌">
-                <template slot="prepend">规格</template>
-              </el-input>
-              <el-input size="mini" v-if="i.number" v-model="i.number" placeholder="请输入品牌">
-                <template slot="prepend">数量</template>
-              </el-input>
-              <el-input v-if="i.visitType" size="mini" v-model="i.visitType" placeholder="请输入品牌">
-                <template slot="prepend">上门类型</template>
-              </el-input>
-              <el-input size="mini" v-if="i.corrosionLevel" v-model="i.corrosionLevel" placeholder="请输入品牌">
-                <template slot="prepend">腐蚀等级</template>
-              </el-input>
-              <el-input size="mini" v-if="i.selfClosingValveType" v-model="i.selfClosingValveType"
-                        placeholder="请输入品牌">
-                <template slot="prepend">自闭阀类型</template>
-              </el-input>
+                v-for="(i,idx) in e.zEngineeringMaterialBo"
+                :key="idx"
+              >
+                <el-form :model="formModel">
+                    <el-form-item
+                      :prop="i.materialQuality"
+                      label-width="50px"
+                      label="材质"
+
+                      >
+                      <!--                  :rules="{required: true, message: '请输入材质', trigger: 'blur'}"-->
+                      <!--                  <el-input v-model="item.materialQuality" placeholder="请输入材质" style="width: 100%"/>-->
+                      <el-select v-model="i.materialQuality" placeholder="请选择材质" style="width: 100%" @change="getEnginSpecificationsList(item, index)">
+                          <el-option
+                          v-for="e in materialQualityList"
+                          :key="e.id"
+                          :label="e.name"
+                          :value="e.id"
+                          ></el-option>
+                      </el-select>
+                    </el-form-item>
+                </el-form>
+                <!-- <el-input size="mini" v-if="i.brand" style="width: 80%" v-model="i.brand" placeholder="请输入品牌">
+                  <template slot="prepend">品牌</template>
+                </el-input>
+                <el-input size="mini" v-if="i.materialQualityName" v-model="i.materialQualityName"
+                          placeholder="请输入品牌">
+                  <template slot="prepend">材质</template>
+                </el-input>
+                <el-input size="mini" v-if="i.specificationsName" v-model="i.specificationsName" placeholder="请输入品牌">
+                  <template slot="prepend">规格</template>
+                </el-input>
+                <el-input size="mini" v-if="i.number" v-model="i.number" placeholder="请输入品牌">
+                  <template slot="prepend">数量</template>
+                </el-input>
+                <el-input v-if="i.visitType" size="mini" v-model="i.visitType" placeholder="请输入品牌">
+                  <template slot="prepend">上门类型</template>
+                </el-input>
+                <el-input size="mini" v-if="i.corrosionLevel" v-model="i.corrosionLevel" placeholder="请输入品牌">
+                  <template slot="prepend">腐蚀等级</template>
+                </el-input>
+                <el-input size="mini" v-if="i.selfClosingValveType" v-model="i.selfClosingValveType"
+                          placeholder="请输入品牌">
+                  <template slot="prepend">自闭阀类型</template>
+                </el-input> -->
             </div>
             <hr>
 
@@ -89,16 +107,44 @@
 </template>
 
 <script>
+import { 
+    getEnginMaterialQualityList,                    // 材质
+    getEnginSpecificationsList,                     // 规格
+    getDictType,                                    // 腐蚀程度
+
+} from '@/api/zdsz/enginee'
 export default {
   name: 'ConstructionDetails',
-  props: ['currentCollapses'],
+  dicts:[
+      'visit_type',
+      'self_closing_valve_type',
+      
+  ],
+  props: ['currentCollapses','nodeDetailType','enginType'],
   data() {
     return {
       currentDicts: [],              // 当前类型工程节点项
       dialogVisible: false,
       activeNames: '',
+      corrosionLevelList:[],                      // 腐蚀等级option
+      materialQualityList:[],                     // 材质
+      specificationsList:[],                      // 规格
+      materialComponList:[],
     }
   },
+  created(){
+      // 获取材质
+      getEnginMaterialQualityList({enginType:this.enginType}).then(res => {
+          console.log('材质',res)
+          this.materialQualityList = res.data
+      })
+      // 获取腐蚀等级
+      getDictType({dictType:'corrosion_level'}).then(res => {
+          console.log('腐蚀等级',res)
+          this.corrosionLevelList = res.data
+      })
+
+  },
   mounted() {
   },
   watch: {

+ 2 - 0
src/components/EnginNodeInfo/index.vue

@@ -276,6 +276,8 @@ export default {
         console.log('当前节点name',this.name)
         console.log('update',this.updateOption)
         console.log('当前节点currentContain',this.currentContain)
+        // 至少存在一条物料
+        this.addMaterial()
         this.materialComponList = this.currentContain.find(e => {
             if( e instanceof Array){
                 return e

+ 38 - 3
src/views/zdsz/engineeringCivil/index.vue

@@ -387,8 +387,13 @@
     <ConstructionDetails
       ref="ConstructionDetails"
       :currentCollapses="currentCollapses"
+      :type="nodeDetailType"
+      enginType="民用工程"
     />
 
+    <!-- 顶管工程新增 -->
+    <EngineePipe ref="enginPipe"/>
+
   </div>
 </template>
 
@@ -413,12 +418,14 @@ import {getBuildingList} from "@/api/zdsz/building";
 import {getUnits} from "@/api/zdsz/unit";
 import {getDicts} from "@/api/system/dict/data";
 import EnginNodeInfo from "@/components/EnginNodeInfo/index";
+import EngineePipe from '@/components/EngineePipe'
 import ConstructionDetails from "@/components/ConstructionDetails/index.vue";
 
 export default {
   components: {
     ConstructionDetails,
-    EnginNodeInfo
+    EnginNodeInfo,
+    EngineePipe
   },
 
   name: "EngineeringCivil",
@@ -437,9 +444,9 @@ export default {
     "engin_cycle"],
   data() {
     return {
+      nodeDetailType:null,
       currentCollapses: [],
       enginId: undefined,
-      currentCollapses:[],
       updateOption: [],
       listContain: [
         {
@@ -810,6 +817,21 @@ export default {
     }
   },
   methods: {
+    addNodeInfo(e){
+      this.nodeDetailType = '修改'
+      this.enginId = e.id
+      let val = e.enginType + "_" + e.enginClassification
+      getDicts(val).then(res => {
+        let dict = []
+        for (let i = 0; i < res.data.length; i++) {
+          dict.push({
+            "label": res.data[i].dictLabel,
+            "value": res.data[i].dictValue,
+          })
+        }
+        this.$refs.ConstructionDetails.open(dict)
+      })
+    },
     viewNodeSource(e) {
       viewEngineeringCivilSource({
         id: this.enginId,
@@ -847,7 +869,7 @@ export default {
       this.$refs.enginPipe.openDialog({
         id: data.id,
         type: '民用工程'
-      }, 'add')
+      }, 'add',data)
     },
     // 新增物料
     addMaterial(data) {
@@ -1072,6 +1094,19 @@ export default {
             // this.$emit('closeToSucceed')
           }
         })
+      } else if(this.enginNodeStatus == '添加用料'){
+        addEngineeringCivil(this.queryParams).then(res => {
+          if(res.code == 200){
+            this.$message({
+              message: '添加成功',
+              type: 'success'
+            });
+            this.open = false
+            console.log('选中节点集合',this.currentCheckList)
+            this.currentCheckList = []
+            // this.$emit('closeToSucceed')
+          }
+        })
       } else {
         addEngineeringCivil(this.queryParams).then(res => {
           if (res.code == 200) {