Explorar o código

市政工程|工业工程 样式更改

刘浩男 hai 1 ano
pai
achega
f0d9b47f6c
Modificáronse 1 ficheiros con 48 adicións e 51 borrados
  1. 48 51
      src/views/zdsz/engineeringIndustry/index.vue

+ 48 - 51
src/views/zdsz/engineeringIndustry/index.vue

@@ -198,7 +198,6 @@
         </el-row>
         <div style="width: 25%; float: right">
           <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
-          <el-button type="primary" @click="toNodeDetail">填写施工信息</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>
       </el-form>
@@ -206,7 +205,6 @@
     <!-- 施工信息dialog -->
     <el-dialog :visible.sync="nodeDetailVisible" title="施工信息" append-to-body customClass="appendElNodeDialog"
                width="70% !important">
-      <!-- 节点表单 -->
       <el-form ref="nodeForm" :model="zEngineeringNodeBo.zEngineeringInfoBo" :rules="nodeRules" label-width="200px">
         <el-form-item label="施工时间" prop="constructTime">
           <el-date-picker
@@ -228,25 +226,15 @@
                             @input="getUrl"></ObsImageUpload>
           </el-form-item>
         </el-row>
-        <div style="width: 25%; float: right">
-          <el-button :loading="buttonLoading" type="primary" @click="submitForm">提交</el-button>
-          <el-button @click="nodeCancel">取 消</el-button>
-        </div>
-      </el-form>
-    </el-dialog>
-    <!-- 用料信息dialog -->
-    <el-dialog :visible.sync="MaterVisible" title="用料信息" >
-      <el-form ref="MaterForm">
         <el-row v-for="(item, index) in zEngineeringMaterialBo" :key="index">
-          <el-col :span="6">
+          <el-col :span="7">
             <el-form-item
               :prop="`zEngineeringMaterialBo.${index}.materialQuality`"
               :rules="{ required:true, validator: validateState, trigger: 'blur', index:index }"
-              label-width="50px"
+              label-width="auto"
               label="材质"
-              style="margin-right: 15px"
             >
-              <el-select v-model="item.materialQuality" placeholder="请选择材质"
+              <el-select v-model="item.materialQuality" placeholder="请选择材质" style="width: 70%"
                          @change="getEnginSpecificationsList(item, index)">
                 <el-option
                   v-for="e in materialQualityList"
@@ -257,15 +245,14 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="7">
             <el-form-item
               :prop="`zEngineeringMaterialBo.${index}.specifications`"
-              :rules="{ required:true, validator: validateSize, trigger: 'blur', index:index }"
-              label-width="50px"
-              style="margin-right: 15px"
+              :rules="{ required:true, validator: validateSize, trigger: 'change', index:index }"
+              label-width="auto"
               label="规格"
             >
-              <el-select v-model="item.specifications" placeholder="请选择规格" >
+              <el-select v-model="item.specifications" placeholder="请选择规格" style="width: 70%">
                 <el-option
                   v-for="e in zEngineeringMaterialBo.specifications"
                   :key="e.id"
@@ -275,33 +262,30 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="6">
+          <el-col :span="7">
             <el-form-item
               :prop="`zEngineeringMaterialBo.${index}.number`"
-              :rules="{ required:true, validator: validateNumber, trigger: 'blur', index:index }"
-              label-width="50px"
-              style="margin-right: 15px"
+              :rules="{ required:true, validator: validateNumber, trigger: 'change', index:index }"
+              label-width="auto"
               label="数量"
             >
-                <el-input v-model="item.number" placeholder="请输入数量"  maxlength="8" type="number"/>
+              <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: 100px">
-              <el-button v-if="zEngineeringMaterialBo.length > 1" @click="removezEngineeringMaterialBo(index)" type="danger">
+            <el-form-item style="margin-left: -120px;">
+              <el-button v-if="zEngineeringMaterialBo.length > 1" @click="removezEngineeringMaterialBo(index)">
                 删除
               </el-button>
             </el-form-item>
           </el-col>
         </el-row>
-        <div style="text-align: right;">
-          <el-button
-            @click="addzEngineeringMaterialBo"
-          >新增用料信息
-          </el-button>
-          <el-button  type="primary" @click="updateMaterBo">
-          提交
-          </el-button>
+        <div style="width: 25%; float: right">
+          <el-button @click="addzEngineeringMaterialBo">新增用料信息</el-button>
+          <el-button :loading="buttonLoading" type="primary" @click="updateMaterBo">提交</el-button>
+          <el-button @click="nodeCancel">取 消</el-button>
         </div>
       </el-form>
     </el-dialog>
@@ -369,6 +353,7 @@ export default {
       comprehensiveList: [],
       // 弹出层标题
       title: "",
+      gc: true,
       nodeList: [],
       // 是否显示弹出层
       open: false,
@@ -480,10 +465,10 @@ export default {
       // 节点规则校验
       nodeRules: {
         constructTime: [
-          {required: true, message: "施工时间不能为空", trigger: ['change','blur']}
+          {required: true, message: "施工时间不能为空", trigger: ['change', 'blur']}
         ],
         zEngiineeringPhotoBoList: [
-          {required: true, message: "图片不能为空", trigger: ['change','blur'], validator: validatePicPass}
+          {required: true, message: "图片不能为空", trigger: ['change', 'blur'], validator: validatePicPass}
         ],
       },
       currentType: null, // 附件组件类型 put修改 add新增
@@ -506,6 +491,7 @@ export default {
   methods: {
     validateState(rule, value, callback) {
       return new Promise((resolve, reject) => {
+
         if (value !== null && value !== undefined && value !== '' && value !== 0) {
           resolve(true)
         } else {
@@ -515,6 +501,7 @@ export default {
     },
     validateSize(rule, value, callback) {
       return new Promise((resolve, reject) => {
+        const value = this.zEngineeringMaterialBo[rule.index].specifications
         if (value !== null && value !== undefined && value !== '' && value !== 0) {
           resolve(true)
         } else {
@@ -522,14 +509,14 @@ export default {
         }
       })
     },
-    validateNumber(rule, value, callback,index) {
+    validateNumber(rule, value, callback) {
       return new Promise((resolve, reject) => {
         const value = this.zEngineeringMaterialBo[rule.index].number
         // 至少有一个图片、一个用料信息、一个创建时间
-        if(value){
+        if (value) {
           resolve(true)
-        }else{
-          return callback(new Error('数量不能为空'))
+        } else {
+          return reject(new Error('数量不能为空'))
         }
       })
     },
@@ -542,23 +529,31 @@ export default {
       })
     },
     //添加用料信息
-    addzEngineeringMaterBo(row){
+    addzEngineeringMaterBo(row) {
       const id = row.id
       putEngineeEngineeIndustry(id).then(response => {
         this.loading = false;
         this.form = response.data
-        this.form.zEngineeringNodeBo = response.data.zEngineeringNodeBoList[0]
-        this.form.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
+        this.zEngineeringNodeBo = response.data.zEngineeringNodeBoList[0]
+        this.zEngineeringNodeBo.zEngineeringInfoBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0]
+        this.zEngineeringNodeBo.zEngineeringInfoBo.zEngiineeringPhotoBoList = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0].zEngiineeringPhotoBoList
         this.zEngineeringMaterialBo = response.data.zEngineeringNodeBoList[0].zEngineeringInfoBoList[0].zEngineeringMaterialBo
-        this.MaterVisible = true;
+        this.nodeDetailVisible = true;
       });
     },
-    updateMaterBo(){
+    updateMaterBo() {
       this.form.files = this.form.pics
-      this.form.zEngineeringNodeBo.zEngineeringInfoBo.zEngineeringMaterialBo = this.zEngineeringMaterialBo
-      UpdateEngineeIndustry(this.form).then(res => {
-        this.MaterVisible = false
-      })
+      console.log(this.form)
+      this.form.zEngineeringNodeBo = this.zEngineeringNodeBo
+      this.form.zEngineeringNodeBoList = []
+      this.$refs.nodeForm.validate(valid => {
+        if (valid) {
+          UpdateEngineeIndustry(this.form).then(res => {
+            this.nodeDetailVisible = false
+            this.$modal.msgSuccess("新增成功");
+          })
+        }
+      });
     },
     //新增用料信息
     addzEngineeringMaterialBo() {
@@ -681,17 +676,19 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
+      this.gc = true
       this.title = (this.form.type === '1' ? "新增工业工程" : "新增市政工程");
       this.currentType = 'add'
       this.open = true;
     },
-    removeFile(val){
+    removeFile(val) {
       console.log(val)
       console.log("我是文件")
       this.form.files = val
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      this.gc = false
       this.loading = true;
       this.reset();
       const id = row.id || this.ids