From 92e1ce6dbb2699a9083243e583c18ee74325aacb Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 29 Jun 2026 16:39:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20focusin=E8=A7=A6=E5=8F=91setup,=20setInt?= =?UTF-8?q?erval=E6=89=AB=E6=8F=8Finput=E6=8C=82DOM=20blur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/discount_setting/index.ui | 37 +++++++++++++++++++------------ 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/wwwroot/discount_setting/index.ui b/wwwroot/discount_setting/index.ui index b8919f0..f7901e7 100644 --- a/wwwroot/discount_setting/index.ui +++ b/wwwroot/discount_setting/index.ui @@ -63,23 +63,24 @@ {"widgettype": "Text", "options": {"text": "{{p.product_name or ''}}", "width": "34%", "padding": "0 12px", "fontSize": "12px", "color": "#F1F5F9"}}, {"widgettype": "Text", "options": {"text": "{{p.product_code or ''}}", "width": "22%", "padding": "0 12px", "fontSize": "12px", "color": "#E2E8F0"}}, { - "widgettype": "UiFloat", + "widgettype": "VBox", "options": { "width": "22%", "padding": "0 12px", - "name": "discount", - "value": "{{p.discount or ''}}", - "placeholder": "0~1", - "dec_len": 2, - "fontSize": "12px" + "data-pid": "{{p.productid}}", + "data-did": "{{p.detail_id or ''}}" }, - "binds": [ + "subwidgets": [ { - "wid": "self", - "event": "blur", - "actiontype": "script", - "target": "self", - "script": "var inp=this.target.dom_element.querySelector('input');if(!inp)return;var nv=inp.value;fetch('{{save_url}}',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({discountid:'{{disc_id}}',productid:'{{p.productid}}',detail_id:'{{p.detail_id or ""}}',discount:nv})}).then(function(r){return r.json()}).then(function(r){if(r.widgettype==='Error')bricks.show_error(r.options)}).catch(function(e){console.error(e)})" + "widgettype": "UiFloat", + "options": { + "width": "100%", + "name": "discount", + "value": "{{p.discount or ''}}", + "placeholder": "0~1", + "dec_len": 2, + "fontSize": "12px" + } } ] } @@ -89,6 +90,14 @@ ] } ] + ], + "binds": [ + { + "wid": "self", + "event": "focusin", + "actiontype": "script", + "target": "self", + "script": "if(window._discSetupDone)return;window._discSetupDone=true;setInterval(function(){document.querySelectorAll('[data-pid] input[type=number]').forEach(function(inp){if(inp._db)return;inp._db=true;inp.addEventListener('blur',function(){var nv=inp.value;var w=inp.closest('[data-pid]');fetch('{{save_url}}',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({discountid:'{{disc_id}}',productid:w.getAttribute('data-pid'),detail_id:w.getAttribute('data-did')||'',discount:nv})}).then(function(r){return r.json()}).then(function(r){if(r.widgettype==='Error')bricks.show_error(r.options)}).catch(function(e){console.error(e)})})})},500)" + } + ] } - ] -}