| | |
| | | </button> |
| | | <input v-if="(tableData.length < formData.checkQyt) && formData.fupAllow && formData.fdownAllow" |
| | | @input="onNumberInput" |
| | | @confirm="onEnterSave" |
| | | v-model="formData.fcheckResu" |
| | | type="text" |
| | | class="result-input" |
| | |
| | | placeholder-class="placeholder" /> |
| | | <input v-else |
| | | @input="search($event)" |
| | | @confirm="onEnterSave" |
| | | v-model="inputTxt" |
| | | type="text" |
| | | class="result-input" |
| | |
| | | <view class="input-wrapper" style="margin-top: 15px;"> |
| | | |
| | | <input v-if="(tableData.length < formData.checkQyt)" @input="search($event)" |
| | | @confirm="onEnterSave" |
| | | v-model="inputTxt" type="text" class="result-input" placeholder="请è¾å
¥æ£éªç»æ..." |
| | | placeholder-class="placeholder" /> |
| | | <button v-if="(tableData.length < formData.checkQyt)" |
| | |
| | | meomPopup: false, |
| | | showMeom:false, |
| | | meom: '', |
| | | autoSaveTimer: null, // èªå¨ä¿å宿¶å¨ |
| | | } |
| | | }, |
| | | methods: { |
| | | // 鲿èªå¨ä¿åæ¹æ³ |
| | | autoSaveResult() { |
| | | // æ¸
é¤ä¹åç宿¶å¨ |
| | | if (this.autoSaveTimer) { |
| | | clearTimeout(this.autoSaveTimer); |
| | | } |
| | | |
| | | // 设置æ°ç宿¶å¨ï¼1ç§åèªå¨ä¿å |
| | | this.autoSaveTimer = setTimeout(() => { |
| | | // æ£æ¥æ¯å¦å·²ç»è¾¾å°æ£éªæ°éä¸é |
| | | if (this.tableData.length >= this.formData.checkQyt) { |
| | | return; |
| | | } |
| | | |
| | | // éªè¯è¾å
¥å¹¶ä¿å |
| | | if (this.validateAndSave()) { |
| | | this.saveResult(); |
| | | } |
| | | }, 2000); |
| | | }, |
| | | |
| | | // éªè¯è¾å
¥æ¯å¦ææ |
| | | validateAndSave() { |
| | | // æä¸ä¸éçæ
åµ |
| | | if (this.formData.fupAllow && this.formData.fdownAllow) { |
| | | const value = this.formData.fcheckResu; |
| | | if (!value || value.trim() === '') { |
| | | return false; |
| | | } |
| | | |
| | | // éªè¯æ¯å¦ä¸ºæææ°å |
| | | if (isNaN(parseFloat(value)) || !/^-?\d+(\.\d+)?$/.test(value)) { |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } else { |
| | | // æ ä¸ä¸éçæ
åµï¼æ£éªç»æåå¨å¨ formData.fcheckResu ä¸ |
| | | const value = this.formData.fcheckResu; |
| | | if (!value || value.trim() === '') { |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | }, |
| | | |
| | | // å¤çå车é®ä¿åäºä»¶ |
| | | onEnterSave() { |
| | | // æ£æ¥æ¯å¦å·²ç»è¾¾å°æ£éªæ°éä¸é |
| | | if (this.tableData.length >= this.formData.checkQyt) { |
| | | this.$showMessage("å·²è¾¾å°æ£éªæ°éä¸é"); |
| | | return; |
| | | } |
| | | |
| | | // æ¸
é¤èªå¨ä¿å宿¶å¨ |
| | | if (this.autoSaveTimer) { |
| | | clearTimeout(this.autoSaveTimer); |
| | | this.autoSaveTimer = null; |
| | | } |
| | | |
| | | // ç´æ¥ä¿åç»æ |
| | | this.saveResult(); |
| | | }, |
| | | |
| | | switchTab(index, mainIds) { |
| | | this.currentTab = index |
| | | this.mainId = mainIds; |
| | |
| | | //æ£æµè¾å
¥æ¡çè¾å
¥ï¼å¹¶ç»åéèµå¼ |
| | | search(event) { |
| | | this.formData.fcheckResu = event.detail.value; |
| | | this.inputTxt = event.detail.value; |
| | | |
| | | // 触åèªå¨ä¿å |
| | | this.autoSaveResult(); |
| | | }, |
| | | onNumberInput(e) { |
| | | // åªå
许è¾å
¥æ°ååå°æ°ç¹ |
| | |
| | | val = val.replace(/\.{2,}/g, '.'); |
| | | val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); |
| | | this.formData.fcheckResu = val; |
| | | |
| | | // 触åèªå¨ä¿å |
| | | this.autoSaveResult(); |
| | | }, |
| | | toggleResult(item) { |
| | | let fstand = "â"; |
| | |
| | | this.$nextTick(() => { |
| | | this.validateBatchInput(); |
| | | }); |
| | | }, |
| | | |
| | | // 页é¢å¸è½½æ¶æ¸
é¤å®æ¶å¨ |
| | | onUnload() { |
| | | if (this.autoSaveTimer) { |
| | | clearTimeout(this.autoSaveTimer); |
| | | this.autoSaveTimer = null; |
| | | } |
| | | } |
| | | } |
| | | </script> |