From b059305e27b87b446679e523c8df9ad1448d8d99 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 07 三月 2024 11:16:49 +0800
Subject: [PATCH] 销售订单-下载排产单2

---
 src/views/quality/rawMaterial/rawMaterial-form.vue |  124 +++++++++++++++++++++++++++++++----------
 1 files changed, 93 insertions(+), 31 deletions(-)

diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index c4c60ab..83fdeb7 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -177,31 +177,58 @@
                       <el-table-column prop="testValue" label="妫�娴嬪��" min-width="160" v-for="(item,index) in empiricalValueAdd" :key="index">
                         <template slot-scope="scope">
                           <div v-if="!scope.row.children">
-                          <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
-                            <el-dropdown>
-                            <el-input placeholder="妫�娴嬪��"/>
-                            <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down el-icon--right"></i>
-                            <el-dropdown-menu slot="dropdown">
-                                <el-dropdown-item>榛勯噾绯�</el-dropdown-item>
-                                <el-dropdown-item>鐙瓙澶�</el-dropdown-item>
-                                <el-dropdown-item>铻鸿洺绮�</el-dropdown-item>
-                                <el-dropdown-item>鍙岀毊濂�</el-dropdown-item>
-                                <el-dropdown-item>铓典粩鐓�</el-dropdown-item>
-                            </el-dropdown-menu>
-                            </el-dropdown>
+                            <el-select v-model="scope.row.testValueList[index]"
+                            ref="testValueSelect"
+                            clearable
+                            filterable
+                            allow-create
+                            default-first-option
+                            @change="changeState(scope.row)"
+                            @blur="onTypeBlur($event)">
+                                <el-option label="鏄�" value="鏄�"></el-option>
+                                <el-option label="鍚�" value="鍚�"></el-option>
+                            </el-select>
+                            <!-- <testValueSelect
+                            @input1="changeState(scope.row)"
+                            :options="[{
+                                label:'鏄�',
+                                value: '鏄�'
+                            },{
+                                label:'鍚�',
+                                value: '鍚�'
+                            }]"
+                            v-model="scope.row.testValueList[index]"
+                            ></testValueSelect> -->
+                            <!-- <div style="display:flex">
+                                <el-input
+                                ref="testValueInput"
+                                clearable
+                                @blur.stop="changeState(scope.row)"
+                                v-model="scope.row.testValueList[index]"
+                                placeholder="璇疯緭鍏ユ娴嬪��"/>
+                                <el-dropdown @command="handleCommand" class="dropdown" trigger="click">
+                                    <i class="el-icon-arrow-down el-icon--right"></i>
+                                    <el-dropdown-menu slot="dropdown">
+                                        <el-dropdown-item :command="{'index':index,'use':'鏄�',...scope.row}">鏄�</el-dropdown-item>
+                                        <el-dropdown-item :command="{'index':index,'use':'鍚�',...scope.row}">鍚�</el-dropdown-item>
+                                    </el-dropdown-menu>
+                                </el-dropdown>
+                            </div> -->
+                            <!-- :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" -->
+                            <!-- @blur.stop="changeState(scope.row)" -->
                             <!-- <el-autocomplete clearable
-                            :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
-                            @blur.stop="changeState(scope.row,scope.$index)"
-                            @select="changeState(scope.row,scope.$index)"
+                            ref="testValueInput"
+                            @input="testChange(scope.row)"
+                            @blur="changeState(scope.row)"
                             v-model="scope.row.testValueList[index]"
                             :fetch-suggestions="querySearch"
                             placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
-                            <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i>
                             <template slot-scope="{ item }">
                                 <div>{{ item.value }}</div>
                             </template>
                             </el-autocomplete> -->
-                            </el-tooltip>
+                          <!-- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+                            </el-tooltip> -->
                           </div>
                         </template>
                       </el-table-column>
@@ -225,7 +252,7 @@
                       <el-table-column prop="note" label="妫�楠屾弿杩�" width="160" >
                         <template slot-scope="scope">
                           <div v-if="!scope.row.children">
-                            <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
+                            <el-input @blur="changeState(scope.row)" :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
                           </div>
                         </template>
                       </el-table-column>
@@ -415,11 +442,12 @@
   import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
   import { getStore } from '@/util/store'
   import qrCodeApp from '@/views/common/qrCodeApp'
-  import transformImage from '@/util/fileTransform'
+  import testValueSelect from './testValue-select'
   export default {
   components:{
     rawMaterialPartDialog,
-    qrCodeApp
+    qrCodeApp,
+    testValueSelect
   },
     computed:{},
     data(){
@@ -748,7 +776,7 @@
               required: null,
               rpId: null,
               name: null,
-              unit: 'mm',
+              unit: '',
               userName: null,
               testValue: '',
               testValueList: [],
@@ -891,26 +919,53 @@
         console.log(e,e.target.tabIndex);
         console.log(e.target.value);
       },
-      changeState(row, index) {
-        this.$nextTick(()=>{
+      handleCommand(command){
+        if(command.use && command.use==='鏄�'){
+            command.testValueList[command.index] = '鏄�'
+        }
+        if(command.use && command.use==='鍚�'){
+            command.testValueList[command.index] = '鍚�'
+        }
+        this.changeState(command)
+      },
+      onTypeBlur(event){
+        const enterKeyEvent = new KeyboardEvent('keyup', {
+            key: 'Enter',
+            keyCode: 13,
+            which: 13,
+            bubbles: true
+        });
+
+        // 妯℃嫙鍦ㄨ緭鍏ユ涓婅Е鍙戞寜閿簨浠�
+        this.$refs.testValueSelect.dispatchEvent(enterKeyEvent);
+      },
+      changeState(row) {
+        if(row.use){
+            this.$refs.testValueSelect.$event.target.value = row.use
+        }
+          this.$nextTick(()=>{
+            console.log("blur---",row.testValueList);
+            return
             if(row){
                 let isTrue = true
                 for(var i=0;i<row.testValueList.length;i++){
                     let val = row.testValueList[i]
-                    if(!['鏄�','鍚�'].includes(val)){
-                        let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
-                        if(!reg.test(val)){
-                          row.testValueList = ''
-                          this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
-                          isTrue = false
+                    if(val != '' && val != null){
+                        if(!['鏄�','鍚�'].includes(val)){
+                            let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
+                            if(!reg.test(val)){
+                                val = null
+                              this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+                              isTrue = false
+                          }
                       }
-                  }
+                    }
                 }
                 if(!isTrue){
                     return
                 }
             }
-            console.log(row.testValueList.join(","));
+            console.log(row.testValueList);
             return
             if (row.rpId != null && row.rpId != '') {
                 let val = row.testValueList.join(",")
@@ -1205,6 +1260,13 @@
   border: 1px solid #e4e7ed;
   border-bottom: none;
 }
+.dropdown{
+    position: relative;
+    right: 30px;
+    top: 5px;
+    color: #C0C4CC;
+    font-size: 14px;
+}
 @media (max-width: 767px) {
   .pad-addcol-btn{
     font-size:12px;

--
Gitblit v1.9.3