Pārlūkot izejas kodu

新增节点info组件

付宇航 1 gadu atpakaļ
vecāks
revīzija
fa52289d85

+ 112 - 3
src/components/EnginNodeInfo/index.vue

@@ -10,7 +10,7 @@
     <div style="width: 100%; height: 100%;">
         <!-- 节点表单 -->
         <el-form ref="fangxianForm" :model="fangxianInfo" :rules="nodeRules" label-width="200px" v-show="types.includes('放线')">
-            <h2 style="margin-left: 17%;font-weight: 800;">放线</h2>
+            <h2 style="margin-left: 16%;font-weight: 800;">放线</h2>
             <el-form-item label="施工时间" prop="constructTime">
             <el-date-picker
                 :disabled="formType"
@@ -44,23 +44,132 @@
             <ObsImageUpload ref="obsImageUpload" :limit="9999" :fileType="['png', 'jpg', 'jpeg']" :value="fangxianInfo.zEngiineeringPhotoBoList"
                             @input="getUrl"></ObsImageUpload>
             </el-form-item>
+            <el-row v-for="(item, index) in fangxianInfo.zEngineeringMaterialBo" :key="index" style="left: 13%;">
+                <!-- 在此处添加默认的行内容 -->
+                <template v-if="index === null">
+                    <div>默认的行内容</div>
+                </template>
+                <!-- 循环输出的行内容 -->
+                <el-col :span="7">
+                    <el-form-item
+                    :prop="'fangxianInfo.zEngineeringMaterialBo.' + index + '.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="item.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-col>
+                <el-col :span="7">
+                    <el-form-item
+                    :prop="'fangxianInfo.zEngineeringMaterialBo.' + index + '.specifications'"
+                    label-width="50px"
+                    label="规格"
+
+                    >
+                    <!--                  :rules="{required: true, message: '请输入规格', trigger: 'blur'}"-->
+                    <!--                  <el-input v-model="item.specifications" placeholder="请输入规格" style="width: 100%"/>-->
+                    <el-select v-model="item.specifications" placeholder="请选择规格" style="width: 100%">
+                        <el-option
+                        v-for="e in specificationsList"
+                        :key="e.id"
+                        :label="e.name"
+                        :value="e.id"
+                        ></el-option>
+                    </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item
+                    :prop="'fangxianInfo.zEngineeringMaterialBo.' + index + '.number'"
+                    label-width="50px"
+                    label="数量"
+                    >
+                    <!--                  :rules="[{required: true, message: '请输入数量', trigger: 'change'},{validator: [checkPositiveInteger], trigger: 'blur'}]"-->
+                    <div class="block" style="display: inline-block; margin-right: 20px;">
+                        <el-input v-model="item.number" placeholder="请输入数量" style="width: 100%" maxlength="8"/>
+                    </div>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="3">
+                    <el-form-item style="margin-left: -197px;">
+                    <el-button v-if="fangxianInfo.zEngineeringMaterialBo.length > 1" @click="removezEngineeringMaterialBo(index)">
+                        删除
+                    </el-button>
+                    </el-form-item>
+                </el-col>
+                </el-row>
+            <div style="width: 25%; float: right">
+                <el-button @click="addzEngineeringMaterialBo('fangxianInfo',['materialQuality','specifications','number'])">新增用料信息</el-button>
+                <!-- <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
+                <el-button @click="nodeCancel">取 消</el-button> -->
+            </div>
         </el-form>
+
     </div>
 </template>
 
 <script>
+import { getEnginMaterialQualityList } from '@/api/zdsz/enginee'
 export default {
     name:'EnginNodeInfo',
-    props:['types'],
+    props:['types','enginType'],
     data(){
         return {
+            constructAccordingDrawingsOption:[
+              {
+                value:'1',
+                label:'是'
+              },
+              {
+                value:'0',
+                label:'否'
+              }
+            ],
+            segmentedCompressionQualifiedOption:[
+              {
+                value:'1',
+                label:'合格'
+              },
+              {
+                value:'0',
+                label:'不合格'
+              }
+            ],
             fangxianInfo:{
                 constructTime:'',
                 constructAccordingDrawings:'',
                 segmentedCompressionQualified:'',
-                zEngiineeringPhotoBoList:[]
+                zEngiineeringPhotoBoList:[],            // 照片集合
+                zEngineeringMaterialBo:[],              // 用料集合
             }
         }
+    },
+    created(){
+        // 获取材质
+        getEnginMaterialQualityList({enginType:this.enginType}).then(res => {
+            console.log(res)
+        })
+    },
+    methods:{
+        addzEngineeringMaterialBo(option,params){
+            let material = {}
+            params.forEach(e => {
+                material[e] = ""
+            })
+            this[option].zEngineeringMaterialBo.push(
+                material
+            )
+        }
     }
 }
 </script>

+ 1 - 0
src/views/zdsz/engineeringCivil/index.vue

@@ -320,6 +320,7 @@
         </el-row>
         <EnginNodeInfo 
           :types="checkList"
+          enginType="民用工程"
         />
         <!-- <el-tabs type="border-card" >
           <el-tab-pane label="用户管理">用户管理</el-tab-pane>