fix(storefront): getWidgetById start point must be bricks.app not app.root - popup DOM is body sibling outside app.root subtree; pay button previously read default values ignoring user input
This commit is contained in:
parent
c74b9cb885
commit
cd58974146
@ -102,20 +102,20 @@ else:
|
||||
"var params=new URLSearchParams();"
|
||||
"params.append('product_id',pid);"
|
||||
"if(pt=='workspace_storage'){"
|
||||
" var gb=bricks.getWidgetById('buy_storage_gb',bricks.app.root);"
|
||||
" var mo=bricks.getWidgetById('buy_valid_months',bricks.app.root);"
|
||||
" var gb=bricks.getWidgetById('buy_storage_gb',bricks.app);"
|
||||
" var mo=bricks.getWidgetById('buy_valid_months',bricks.app);"
|
||||
" var gbv=gb?gb.resultValue():0; var mov=mo?mo.resultValue():1;"
|
||||
" if(gbv&&gbv>0)params.append('storage_gb',gbv);"
|
||||
" if(mov&&mov>0)params.append('valid_months',mov);"
|
||||
"}else if(pt=='pipeline'){"
|
||||
" var cm=bricks.getWidgetById('buy_charge_mode',bricks.app.root);"
|
||||
" var cm=bricks.getWidgetById('buy_charge_mode',bricks.app);"
|
||||
" params.append('charge_mode',cm?(cm.value||'month'):'month');"
|
||||
"}"
|
||||
"var tw=bricks.getWidgetById('buy_price_text',bricks.app.root);"
|
||||
"var tw=bricks.getWidgetById('buy_price_text',bricks.app);"
|
||||
"if(tw)tw.set_text('计算中...');"
|
||||
"fetch('/product_management/storefront/api/calc_price.dspy',"
|
||||
"{method:'POST',body:params}).then(function(r){return r.json()}).then(function(d){"
|
||||
" var t=bricks.getWidgetById('buy_price_text',bricks.app.root); if(!t)return;"
|
||||
" var t=bricks.getWidgetById('buy_price_text',bricks.app); if(!t)return;"
|
||||
" if(d.success){var s='应付金额:¥ '+(Math.round(d.amount*100)/100).toFixed(2);"
|
||||
" if(Math.abs((d.discount||1)-1)>1e-9){"
|
||||
" s+='(原价 ¥ '+(Math.round(d.original_amount*100)/100).toFixed(2)"
|
||||
@ -123,7 +123,7 @@ else:
|
||||
" t.set_text(s);t.dom_element.style.color='#e74c3c';"
|
||||
" }else{t.set_text('算价失败:'+(d.message||''));t.dom_element.style.color='#e67e22';}"
|
||||
"}).catch(function(e){"
|
||||
" var t=bricks.getWidgetById('buy_price_text',bricks.app.root);"
|
||||
" var t=bricks.getWidgetById('buy_price_text',bricks.app);"
|
||||
" if(t){t.set_text('算价请求失败:'+e);t.dom_element.style.color='#e67e22';}"
|
||||
"})"
|
||||
)
|
||||
@ -198,8 +198,8 @@ else:
|
||||
)
|
||||
if is_storage:
|
||||
pay_script += (
|
||||
"var gb=bricks.getWidgetById('buy_storage_gb',bricks.app.root);"
|
||||
"var mo=bricks.getWidgetById('buy_valid_months',bricks.app.root);"
|
||||
"var gb=bricks.getWidgetById('buy_storage_gb',bricks.app);"
|
||||
"var mo=bricks.getWidgetById('buy_valid_months',bricks.app);"
|
||||
"var gbv=gb?gb.resultValue():100; var mov=mo?mo.resultValue():1;"
|
||||
"if(!gbv||gbv<=0){alert('请输入购买容量');return;}"
|
||||
"if(!mov||mov<=0){alert('请输入购买月数');return;}"
|
||||
@ -208,7 +208,7 @@ else:
|
||||
)
|
||||
if is_pipeline:
|
||||
pay_script += (
|
||||
"var cm=bricks.getWidgetById('buy_charge_mode',bricks.app.root);"
|
||||
"var cm=bricks.getWidgetById('buy_charge_mode',bricks.app);"
|
||||
"var cmv=cm?(cm.value||'month'):'month';"
|
||||
"params.append('charge_mode',cmv);"
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user