From 5fa75e4daaa9bf549b8d8591b020643ae92813bd Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 12 一月 2024 09:19:55 +0800
Subject: [PATCH] 包装检验模板管理-修改2

---
 src/views/quality/packageinspect/packageInspect-form.vue |  146 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 112 insertions(+), 34 deletions(-)

diff --git a/src/views/quality/packageinspect/packageInspect-form.vue b/src/views/quality/packageinspect/packageInspect-form.vue
index 25ea7fe..873dc2b 100644
--- a/src/views/quality/packageinspect/packageInspect-form.vue
+++ b/src/views/quality/packageinspect/packageInspect-form.vue
@@ -63,13 +63,19 @@
         </el-form>
       </div>
       <div class="packageInspect-detail">
-        <el-row :gutter="10" style="width:100%;z-index: 10;height:50px;">
-            <el-col :sm="18" :lg="20">妫�楠岄」鐩�</el-col>
-            <el-col :sm="3" :lg="2" >
-              <el-button v-if="resultVal=='' || resultVal==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button>
-            </el-col>
-            <el-col :sm="3" :lg="2">
-              <el-button v-if="resultVal=='' || resultVal==null" style="width:100%" type="primary"  size="small"
+        <el-row :gutter="10" style="width:100%;z-index: 10;height:30px;">
+            <el-col :span="12">妫�楠岄」鐩�</el-col>
+            <el-col :span="12" style="text-align: right;">
+                <el-dropdown @command="handleCommand" v-if="isShow">
+                    <el-button size="mini" style="margin-right: 10px;" type="primary" >
+                        鍒囨崲妫�楠岄」妯℃澘<i class="el-icon-arrow-down el-icon--right"></i>
+                    </el-button>
+                    <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item :key="index" v-for="(item,index) in inspectMoulds" :command="item.father">{{item.father}}</el-dropdown-item>
+                    </el-dropdown-menu>
+                </el-dropdown>
+              <el-button v-if="resultVal=='' || resultVal==null" size="mini" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button>
+              <el-button v-if="resultVal=='' || resultVal==null" type="primary" size="mini"
               @click="savePackIns()">淇濆瓨</el-button>
             </el-col>
         </el-row>
@@ -90,19 +96,22 @@
                   </el-table-column>
                   <el-table-column prop="name" label="椤圭洰" width="160">
                     <template slot-scope="scope">
-                        <el-input :readonly="resultVal!=null" v-if="scope.row.children" class="inline-input" style="width:80%;" v-model="scope.row.name"
+                        <el-input :readonly="resultVal!=null || !scope.row.isEdit" v-if="scope.row.children" class="inline-input" style="width:80%;" v-model="scope.row.name"
                           placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
                     </template>
                   </el-table-column>
-                  <el-table-column prop="required" label="瑕佹眰" width="160" show-overflow-tooltip>
+                  <el-table-column prop="required" label="瑕佹眰" width="160">
                     <template slot-scope="scope">
                       <div v-if="!scope.row.children">
-                      <el-input :readonly="resultVal!=null" v-model="scope.row.required"
-                        placeholder="璇疯緭鍏ヨ姹�"></el-input>
+                        <el-tooltip :content="scope.row.required">
+                            <el-input :readonly="resultVal!=null || !scope.row.isEdit"
+                            v-model="scope.row.required"
+                              placeholder="璇疯緭鍏ヨ姹�"></el-input>
+                        </el-tooltip>
                       </div>
                     </template>
                   </el-table-column>
-                  <el-table-column prop="note" label="妫�楠屾弿杩�" width="160" show-overflow-tooltip>
+                  <el-table-column prop="note" label="妫�楠屾弿杩�" width="160">
                     <template slot-scope="scope">
                       <div v-if="!scope.row.children">
                         <el-input :readonly="resultVal!=null" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
@@ -114,15 +123,16 @@
                         <el-select style="width:100%" :disabled="resultVal!=null" @change="changeResult" v-model="scope.row.result" v-if="!scope.row.children">
                             <el-option label="鍚堟牸" value="鍚堟牸"></el-option>
                             <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"></el-option>
+                            <el-option label="涓嶉�傜敤" value="涓嶉�傜敤"></el-option>
                         </el-select>
                     </template>
                   </el-table-column>
                   <el-table-column v-if="resultVal=='' || resultVal==null" fixed="right" style="background-color: white;" label="鎿嶄綔" width="200">
                     <template slot-scope="scope">
-                      <el-button v-if="scope.row.children" icon="el-icon-circle-plus-outline" type="text" @click="clickAddChildren(scope.row,scope.$index)">娣诲姞琛�</el-button>
-                      <el-button v-if="!scope.row.children" icon="el-icon-circle-close" type="text" 
+                      <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-plus-outline" type="text" @click="clickAddChildren(scope.row,scope.$index)">娣诲姞琛�</el-button>
+                      <el-button v-if="!scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text"
                       @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍙栨秷</el-button>
-                      <el-button v-if="scope.row.children" icon="el-icon-circle-close" type="text"
+                      <el-button v-if="scope.row.children && scope.row.isEdit" icon="el-icon-circle-close" type="text"
                       @click="clickDelLine(scope.row,scope.$index,scope.row.children!=null)">鍒犻櫎椤圭洰</el-button>
 
                     </template>
@@ -184,12 +194,16 @@
   updatePackageInspectById,
   getCustomer,
 } from '@/api/quality/packageInspect'
+import {getAllTemplateByEnable} from '@/api/quality/packageInspectTemp'
 export default {
-    computed:{},
+    computed:{
+    },
     components:{
     },
     data(){
         return{
+            inspectMoulds: [],
+            isShow: true,
             submitData: {
               id:null,
               result: null,
@@ -240,7 +254,10 @@
           this.resultVal=val
         }
       }
+      this.getAllInspect()
       this.init()
+      this.checkShowState()
+
     },
     watch:{
       dialogVisible(newVal){
@@ -250,6 +267,35 @@
       }
     },
     methods:{
+      checkShowState(){
+        let num = 0
+        this.list.forEach(ele=>{
+            if(ele.children){
+                ele.children.forEach(c=>{
+                    if(c.pid){
+                        num++
+                    }
+                })
+            }
+        })
+        this.isShow = num==0
+      },
+      getAllInspect(){
+        getAllTemplateByEnable().then(res=>{
+            if(res.status===200){
+                this.inspectMoulds = res.data.data
+            }
+        }).catch(error=>{
+            console.error(error)
+        })
+      },
+      handleCommand(command) {
+        this.inspectMoulds.forEach(ele=>{
+            if(ele.father==command){
+                this.init(ele.children)
+            }
+        })
+      },
       changeResult(){
         let result = ''
         let data = this.list
@@ -322,12 +368,14 @@
           this.list.push({
             name: '',
             randomId: Math.random(),
+            isEdit: true,
             children: [{
               name: '',
               note: '',
               required: '',
               result: '',
               randomId: Math.random(),
+              isEdit: true,
             }]
           })
       },
@@ -339,6 +387,7 @@
             required: '',
             result: '',
             randomId: Math.random(),
+            isEdit: true,
         })
       },
       // 鍒犻櫎琛�
@@ -392,22 +441,47 @@
           })
         }
       },
-      init(){
-        if(this.dataForm.id){
-          fetchListById(this.dataForm.id).then(res=>{
+      init(dataList){
+        const _than = this
+        if(_than.dataForm.id){
+          fetchListById(_than.dataForm.id).then(res=>{
             let data = res.data.data
-            this.dataForm.packInsNo = data.packInsNo
-            this.dataForm.packageNo = data.packageNo
-            this.dataForm.contractNo = data.contractNo
-            this.dataForm.customerName = data.customerName
-            this.dataForm.projectName = data.projectName
-            this.dataForm.createTime = data.createTime
-            this.dataForm.createUser = data.createUser
-            this.list = []
+            _than.dataForm.packInsNo = data.packInsNo
+            _than.dataForm.packageNo = data.packageNo
+            _than.dataForm.contractNo = data.contractNo
+            _than.dataForm.customerName = data.customerName
+            _than.dataForm.projectName = data.projectName
+            _than.dataForm.createTime = data.createTime
+            _than.dataForm.createUser = data.createUser
+            _than.list = []
             let userNameList = []
+            if(dataList){
+                let tempList = []
+                dataList.forEach(ele=>{
+                    let obj = {
+                        randomId: Math.random(),
+                        name: ele.inspectName,
+                        children: []
+                    }
+                    if(ele.children){
+                        ele.children.forEach(e=>{
+                            obj.children.push({
+                                required: e.inspectRequired,
+                                randomId: Math.random(),
+                                isEdit: false,
+                                note: '',
+                                result: ''
+                            })
+                        })
+                    }
+                    tempList.push(obj)
+                })
+                _than.list = tempList
+            }
             data.packageInsProductS.forEach(item => {
               if (item.children) {
                     let ele = {
+                      isEdit: true,
                       randomId: Math.random(),
                       name: null,
                       children: []
@@ -420,6 +494,7 @@
                       let o = {
                         name: item.name,
                         randomId: Math.random(),
+                        isEdit: true,
                         required: obj.required,
                         pid: obj.pid,
                         note: obj.note?obj.note:'',
@@ -427,24 +502,27 @@
                       }
                       ele.children.push(o)
                     })
-                    this.list.push(ele)
+                    _than.list.push(ele)
                 }
               })
-              this.conclusionTable = [{
+            //   let find1 = this.list.find(ele=>ele.name===inspect1[0].name&&ele.isEdit) !=undefined;
+            //   let find2 = this.list.find(ele=>ele.name===inspect2[0].name&&ele.isEdit) !=undefined;
+            //   this.isShow = find1||find2
+              _than.conclusionTable = [{
                 packageNo: data.packageNo,
                 userName: Array.from(new Set(userNameList)).join(','),
                 result: null
               }]
-              this.$nextTick(()=>{
-                if(this.list.length>0){
-                  this.changeResult()
+              _than.$nextTick(()=>{
+                if(_than.list.length>0){
+                    _than.changeResult()
                 }
               })
           }).catch(error=>{
-            this.$message.error("鑾峰彇澶辫触",error)
+            _than.$message.error("鑾峰彇澶辫触",error)
           })
         }else{
-          this.conclusionTable = []
+            _than.conclusionTable = []
         }
       },
     },

--
Gitblit v1.9.3