Prechádzať zdrojové kódy

工程材质管理-增加工程步骤字段

JX.Li 1 rok pred
rodič
commit
30418d4ed4
1 zmenil súbory, kde vykonal 68 pridanie a 11 odobranie
  1. 68 11
      src/views/zdsz/enginMaterialQuality/index.vue

+ 68 - 11
src/views/zdsz/enginMaterialQuality/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="所属工程" prop="engin_type">
-        <el-select v-model="queryParams.enginType" placeholder="请选择所属工程">
+        <el-select v-model="queryParams.enginType" placeholder="请选择所属工程" @change="queryParams.enginSort = undefined;queryParams.enginNode = undefined">
           <el-option
             v-for="dict in dict.type.engin_type"
             :key="dict.value"
@@ -19,6 +19,28 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="工程类别" prop="enginType" v-if="queryParams.enginType === '民用工程'">
+        <el-select v-model="queryParams.enginSort" placeholder="请选择工程类别" filterable clearable
+                   style="width: 100%" @change="queryParams.enginNode = undefined">
+          <el-option
+            v-for="dict in enginSortList"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="工程环节" prop="enginType" v-if="queryParams.enginType === '民用工程'">
+        <el-select v-model="queryParams.enginNode" placeholder="请选择工程环节" filterable clearable
+                   style="width: 100%">
+          <el-option
+            v-for="dict in dict.type[queryParams.enginSort]"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -80,10 +102,20 @@
 <!--      <el-table-column label="id" align="center" prop="id" v-if="true"/>-->
       <el-table-column label="工程类型" align="center" prop="enginType">
         <template slot-scope="scope">
-          <dict-tag v-for="item in scope.row.enginType.split(',')" :options="dict.type.engin_type" :value="item"/>
+          <dict-tag :options="dict.type.engin_type" :value="scope.row.enginType"/>
         </template>
       </el-table-column>
       <el-table-column label="材质名称" align="center" prop="name" />
+      <el-table-column label="工程类别" align="center" prop="enginSort" >
+        <template slot-scope="scope">
+          {{scope.row.enginSort === 'old_renovation' ? "旧改": scope.row.enginSort === null ? "":"新建"}}
+        </template>
+      </el-table-column>
+      <el-table-column label="工程环节" align="center" prop="enginNode" >
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type[scope.row.enginSort]" :value="scope.row.enginNode"/>
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -118,8 +150,8 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="所属工程" prop="enginType">
-          <el-select v-model="form.enginType" placeholder="请选择所属工程" filterable clearable multiple
-                     style="width: 100%">
+          <el-select v-model="form.enginType" placeholder="请选择所属工程" filterable clearable
+                     style="width: 100%" @change="form.enginSort = undefined;form.enginNode = undefined">
             <el-option
               v-for="dict in dict.type.engin_type"
               :key="dict.value"
@@ -128,6 +160,28 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="工程类别" prop="enginType" v-if="form.enginType === '民用工程'">
+          <el-select v-model="form.enginSort" placeholder="请选择工程类别" filterable clearable
+                     style="width: 100%" @change="form.enginNode = undefined">
+            <el-option
+              v-for="dict in enginSortList"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="工程环节" prop="enginType" v-if="form.enginType === '民用工程'">
+          <el-select v-model="form.enginNode" placeholder="请选择工程环节" filterable clearable
+                     style="width: 100%">
+            <el-option
+              v-for="dict in dict.type[form.enginSort]"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="材质名称" prop="name">
           <el-input v-model="form.name" placeholder="请输入材质名称" maxlength="50"/>
         </el-form-item>
@@ -151,13 +205,14 @@ import {
 
 export default {
   name: "EnginMaterialQuality",
-  dicts: ['engin_type'],
+  dicts: ['engin_type','old_renovation','new_built'],
   data() {
     return {
       // 按钮loading
       buttonLoading: false,
       // 遮罩层
       loading: true,
+      enginSortList:[{value:"old_renovation",label:"旧改"},{value:"new_built",label:"新建"}],
       // 选中数组
       ids: [],
       // 非单个禁用
@@ -224,6 +279,8 @@ export default {
         delFlag: undefined,
         createBy: undefined,
         createTime: undefined,
+        enginSort: undefined,
+        enginNode: undefined,
         updateBy: undefined,
         updateTime: undefined
       };
@@ -265,7 +322,7 @@ export default {
       getEnginMaterialQuality(id).then(response => {
         this.loading = false;
         this.form = response.data;
-        this.form.enginType = this.form.enginType.split(",")
+        // this.form.enginType = this.form.enginType.split(",")
         this.open = true;
         this.title = "修改工程材质";
       });
@@ -275,9 +332,9 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.buttonLoading = true;
-          let eng = this.form.enginType
+          // let eng = this.form.enginType
           if (this.form.id != null) {
-            this.form.enginType = this.form.enginType.join()
+            // this.form.enginType = this.form.enginType.join()
             updateEnginMaterialQuality(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
@@ -285,10 +342,10 @@ export default {
             }).finally(() => {
               this.buttonLoading = false;
             }).catch(e => {
-              this.form.enginType = eng
+              // this.form.enginType = eng
             });
           } else {
-            this.form.enginType = this.form.enginType.join()
+            // this.form.enginType = this.form.enginType.join()
             addEnginMaterialQuality(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
@@ -296,7 +353,7 @@ export default {
             }).finally(() => {
               this.buttonLoading = false;
             }).catch(e => {
-              this.form.enginType = eng
+              // this.form.enginType = eng
             });
           }
         }