From 55008d09e47511bcb241eb909dff3e36c89099db Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期日, 29 九月 2024 17:39:14 +0800
Subject: [PATCH] 优化能力范围弹框、添加下单文件上传功能

---
 src/components/view/a5-capacity-scope.vue |  404 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 400 insertions(+), 4 deletions(-)

diff --git a/src/components/view/a5-capacity-scope.vue b/src/components/view/a5-capacity-scope.vue
index 074fd34..b971551 100644
--- a/src/components/view/a5-capacity-scope.vue
+++ b/src/components/view/a5-capacity-scope.vue
@@ -46,6 +46,9 @@
   >>> .el-upload-dragger {
     width: 100% !important;
   }
+  .mb-10 {
+    margin-bottom: 10px;
+  }
 </style>
 
 <template>
@@ -146,6 +149,255 @@
         <el-button type="primary" @click="submitUpload()" :loading="uploading">涓� 浼�</el-button>
       </span>
     </el-dialog>
+    <el-dialog :title="addTitle" :visible.sync="addVisible" width="50%">
+      <span slot="footer" class="dialog-footer">
+        <el-row :gutter="20">
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>妫�楠岄」锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItem"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠岄」EN锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItemEn"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠屽瓙椤癸細</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItemSubclass"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠屽瓙椤笶N锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItemSubclassEn"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠屽璞★細</div>
+              <div class="search_input">
+                <el-cascader v-model="addForm.sample" :options="itemParameterData.cascaderField.sample.tree" :show-all-levels="false"
+                placeholder="璇烽�夋嫨"  clearable
+                size="small" filterable style="width: 100%;" :props="{
+              value:'name',
+              label:'name',
+              checkStrictly: true,
+              multiple: true
+            }"></el-cascader>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">鍗曚环(鍏�)锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.price"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">鍦烘墍锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.laboratory" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.laboratory.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>璇曢獙瀹わ細</div>
+              <div class="search_input">
+                <el-select v-model="addForm.sonLaboratory" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.sonLaboratory.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">瑕佹眰鎻忚堪锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.askTell"></el-input></div>
+            </div>
+          </el-col><el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">瑕佹眰鍊硷細</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.ask"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>璁¢噺鍗曚綅锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.unit" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.unit.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">宸ユ椂(H)锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.manHour"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>棰勮鏃堕棿(H)锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.manDay"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">宸ユ椂鍒嗙粍锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.manHourGroup"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>妫�楠岄」绫诲瀷锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.inspectionItemType" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.inspectionItemType.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>妫�楠屽�肩被鍨嬶細</div>
+              <div class="search_input">
+                <el-select v-model="addForm.inspectionValueType" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.inspectionValueType.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">瀛楀吀绫诲瀷锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.dic" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.dic.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">鐗规畩鏍囪瘑锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.bsm" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.bsm.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>鍘熷璁板綍妯℃澘锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.templateId" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+                  <el-option
+                    v-for="item in itemParameterData.selectField.templateId.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠岄」鍒嗙被锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItemClass"></el-input></div>
+            </div>
+          </el-col><el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label">妫�楠岄」鍒嗙被EN锛�</div>
+              <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable
+                  v-model="addForm.inspectionItemClassEn"></el-input></div>
+            </div>
+          </el-col>
+          <el-col :span="12" class="mb-10">
+            <div class="search_thing">
+              <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>璇曢獙鏂规硶锛�</div>
+              <div class="search_input">
+                <el-select v-model="addForm.method" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" multiple>
+                  <el-option
+                    v-for="item in itemParameterData.selectField.method.select"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                    clearable>
+                  </el-option>
+                </el-select>
+              </div>
+            </div>
+          </el-col>
+        </el-row>
+        <el-button @click="addVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="addItem" :loading="uploading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -157,6 +409,7 @@
     },
     data() {
       return {
+        addVisible:false,
         logining:false,
         radio: '-1',
         showItemParameter: true,
@@ -176,10 +429,10 @@
           select: true,
           row: 2,
           do: [{
-            id: 'update',
+            id: '111',
             font: '缂栬緫',
             type: 'text',
-            method: 'doDiy',
+            method: 'handleEdit',
             field: []
           }, {
             id: 'delete',
@@ -312,7 +565,6 @@
         itemParameterEntityCopy: {},
         testObjectDataEntityCopy: {},
         upIndex: 0,
-        addDia: false,
         addPower: true,
         select: 0,
         laboratory: [],
@@ -353,6 +605,61 @@
         fileList: [],
         token: null,
         uploading: false,
+        addForm:{
+          inspectionItem:null,
+          inspectionItemEn:null,
+          inspectionItemSubclass:null,
+          inspectionItemSubclassEn:null,
+          sample:[],
+          price:null,
+          laboratory:null,
+          sonLaboratory:null,
+          askTell:null,
+          ask:null,
+          unit:null,
+          manHour:null,
+          manDay:null,
+          manHourGroup:null,
+          inspectionItemType:null,
+          inspectionValueType:null,
+          dic:null,
+          bsm:null,
+          templateId:null,
+          inspectionItemClass:null,
+          inspectionItemClassEn:null,
+          method:[]
+        },
+        addTitle:'鏂板'
+      }
+    },
+    watch: {
+      'addVisible'(val){
+        if(!val){
+          this.addForm = {
+          inspectionItem:null,
+          inspectionItemEn:null,
+          inspectionItemSubclass:null,
+          inspectionItemSubclassEn:null,
+          sample:[],
+          price:null,
+          laboratory:null,
+          sonLaboratory:null,
+          askTell:null,
+          ask:null,
+          unit:null,
+          manHour:null,
+          manDay:null,
+          manHourGroup:null,
+          inspectionItemType:null,
+          inspectionValueType:null,
+          dic:null,
+          bsm:null,
+          templateId:null,
+          inspectionItemClass:null,
+          inspectionItemClassEn:null,
+          method:[]
+        }
+        }
       }
     },
     created() {
@@ -448,9 +755,94 @@
       },
       openAdd() {
         if (this.radio === '0') {
-          this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter);
+          // this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter);
+          this.addTitle = '鏂板'
+          this.addVisible = true
         } else {
           this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject);
+        }
+      },
+      handleEdit(row){
+        this.addTitle = '缂栬緫'
+        this.addForm = this.HaveJson(row)
+        this.addForm.sample = JSON.parse(this.addForm.sample)
+        this.addVisible = true
+      },
+      addItem(){
+        if(!this.addForm.inspectionItem){
+          this.$message.error('璇疯緭鍏ユ楠岄」')
+          return
+        }
+        if(!this.addForm.sonLaboratory){
+          this.$message.error('璇烽�夋嫨璇曢獙瀹�')
+          return
+        }
+        if(!this.addForm.unit){
+          this.$message.error('璇烽�夋嫨璁¢噺鍗曚綅')
+          return
+        }
+        if(!this.addForm.manDay){
+          this.$message.error('璇烽�夋嫨棰勮鏃堕棿')
+          return
+        }
+        if(!this.addForm.inspectionItemType){
+          this.$message.error('璇烽�夋嫨妫�楠岄」绫诲瀷')
+          return
+        }
+        if(!this.addForm.inspectionValueType){
+          this.$message.error('璇烽�夋嫨妫�楠屽�肩被鍨�')
+          return
+        }
+        if(!this.addForm.templateId){
+          this.$message.error('璇烽�夋嫨鍘熷璁板綍妯℃澘')
+          return
+        }
+        if(!this.addForm.method){
+          this.$message.error('璇烽�夋嫨璇曢獙鏂规硶')
+          return
+        }
+        let obj = this.HaveJson(this.addForm)
+        obj.method = JSON.stringify(obj.method)
+        obj.sample = JSON.stringify(obj.sample)
+        this.uploading = true
+        if(obj.id){
+          // 淇敼
+          this.$axios.post(this.$api.capacityScope.upItemParameter, obj, {
+          headers: {
+            'Content-Type': 'application/json'
+          }
+        }).then(res => {
+          this.uploading = false
+          if (res.code === 201) {
+            return
+          }
+          this.$message.success('淇敼鎴愬姛')
+          this.addDia = false
+          this.refreshTable()
+          this.addVisible = false
+        }).catch(e => {
+          this.uploading = false
+          this.addVisible = false
+        })
+        }else{
+          // 鏂板
+          this.$axios.post(this.$api.capacityScope.addItemParameter, obj, {
+          headers: {
+            'Content-Type': 'application/json'
+          }
+        }).then(res => {
+          this.uploading = false
+          if (res.code === 201) {
+            return
+          }
+          this.$message.success('娣诲姞鎴愬姛')
+          this.addDia = false
+          this.refreshTable()
+          this.addVisible = false
+        }).catch(e => {
+          this.uploading = false
+          this.addVisible = false
+        })
         }
       },
       selectEnumByCategory() {
@@ -532,6 +924,7 @@
               value: a.laboratoryName
             })
           })
+          this.laboratoryList = data0
           this.itemParameterData.selectField.laboratory.select = data0
           this.itemParameterData.tagField.laboratory.select = data0
           this.testObjectData.selectField.laboratoryId.select = data
@@ -550,6 +943,7 @@
           })
           this.itemParameterData.selectField.method.select = data
           this.itemParameterData.tagField.method.select = data
+          return
         })
       },
       selectTestObjectByName() {
@@ -558,6 +952,8 @@
             this.cascaderFieldData(a)
           })
           this.itemParameterData.cascaderField.sample.tree = res.data
+          // this.sampleTree = res.data
+          // console.log(2222,res.data)
         })
       },
       cascaderFieldData(val){

--
Gitblit v1.9.3