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