From a7d816c40f5035c3ae4ddffc32ed80d3c55e3f4f Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 08 三月 2024 17:11:52 +0800 Subject: [PATCH] 原材料检验:检测值失焦保存 --- src/views/quality/rawMaterial/rawMaterial-form.vue | 143 ++++++++++++++++------------------------------- 1 files changed, 48 insertions(+), 95 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 1cbd198..31e5075 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -177,58 +177,23 @@ <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-select - v-model="scope.row.testValueList[index]" - ref="testValueSelect" - id="testValueSelect" - clearable - filterable - @change="changeState(scope.row)" - @blur="onTypeBlur($event,scope.row,scope.$index,index)"> - <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 - ref="testValueInput" - @input="testChange(scope.row)" - @blur="changeState(scope.row)" - v-model="scope.row.testValueList[index]" - :fetch-suggestions="querySearch" - placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" > - <template slot-scope="{ item }"> - <div>{{ item.value }}</div> - </template> - </el-autocomplete> --> - <!-- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - </el-tooltip> --> + <!-- @input="$nextTick(()=>{checkTestValues(scope.row)})" --> + <!-- @blur.capture.native="changeState(scope.row)" --> + <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-autocomplete clearable + cache="false" + ref="testValueInput" + @blur="checkTestValues(scope.row,'blur',$event)" + @select="checkTestValues(scope.row,'select',$event)" + v-model="scope.row.testValueList[index]" + :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" > + <template slot-scope="{ item }"> + <div>{{ item.value }}</div> + </template> + </el-autocomplete> + </el-tooltip> </div> </template> </el-table-column> @@ -252,7 +217,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)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + <el-input @blur="checkTestValues(scope.row,'blur',$event)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> </div> </template> </el-table-column> @@ -442,12 +407,10 @@ import rawMaterialPartDialog from '@/views/common/rawMaterial-part' import { getStore } from '@/util/store' import qrCodeApp from '@/views/common/qrCodeApp' - import testValueSelect from './testValue-select' export default { components:{ rawMaterialPartDialog, qrCodeApp, - testValueSelect }, computed:{}, data(){ @@ -513,7 +476,7 @@ }], dataRule: { code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }], - createTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'change' }] + createTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'blur' }] }, deviceList: [], } @@ -919,48 +882,38 @@ console.log(e,e.target.tabIndex); console.log(e.target.value); }, - 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,row,rowIndex,index){ - console.log("澶辩劍",event,row,rowIndex,index); - console.log(event.target.value); - console.log(this.list[rowIndex-1]); - }, - 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(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 + checkTestValues(row,currentOption,event){ + if(row){ + let isTrue = true + if(currentOption==='blur'){ + let targetVal = event.target.value + if( (targetVal && ['鏄�','鍚�'].includes(targetVal)) || !targetVal){ + isTrue = false + }else{ + for(var i=0;i<row.testValueList.length;i++){ + let val = row.testValueList[i] + 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)){ + row.testValueList[i] = '' + event.target.value = '' + this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁") + isTrue = false + } + } } } - } - } - if(!isTrue){ - return - } - } - console.log(row.testValueList); - return + } + } + if(!isTrue){ + return + } + this.changeState(row) + } + }, + changeState(row) { + this.$nextTick(()=>{ if (row.rpId != null && row.rpId != '') { let val = row.testValueList.join(",") if (val === undefined || val === '' || val === null) { -- Gitblit v1.9.3