104 lines
3.6 KiB
XML
104 lines
3.6 KiB
XML
{% set products = get_discount_setting_products(request) %}
|
|
{% set save_url = entire_url('./save_discount.dspy') %}
|
|
{% set disc_id = params_kw.discountid %}
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"width": "100%",
|
|
"height": "100%",
|
|
"css": "filler"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Text",
|
|
"options": {
|
|
"text": "产品折扣设置",
|
|
"fontSize": "16px",
|
|
"fontWeight": "600",
|
|
"color": "#F1F5F9",
|
|
"padding": "8px 12px"
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"bgcolor": "#0F172A",
|
|
"padding": "8px 0",
|
|
"borderRadius": "6px 6px 0 0",
|
|
"alignItems": "center",
|
|
"width": "100%"
|
|
},
|
|
"subwidgets": [
|
|
{"widgettype": "Text", "options": {"text": "产品分类", "width": "22%", "padding": "0 12px", "fontSize": "12px", "fontWeight": "600", "color": "#94A3B8"}},
|
|
{"widgettype": "Text", "options": {"text": "产品名称", "width": "34%", "padding": "0 12px", "fontSize": "12px", "fontWeight": "600", "color": "#94A3B8"}},
|
|
{"widgettype": "Text", "options": {"text": "产品编码", "width": "22%", "padding": "0 12px", "fontSize": "12px", "fontWeight": "600", "color": "#94A3B8"}},
|
|
{"widgettype": "Text", "options": {"text": "折扣", "width": "22%", "padding": "0 12px", "fontSize": "12px", "fontWeight": "600", "color": "#94A3B8"}}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "VScrollPanel",
|
|
"options": {
|
|
"width": "100%",
|
|
"flex": "1"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"width": "100%"
|
|
},
|
|
"subwidgets": [
|
|
{% for p in products %}
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"padding": "6px 0",
|
|
"border": "0 0 1px 0",
|
|
"borderColor": "#334155",
|
|
"alignItems": "center",
|
|
"width": "100%"
|
|
},
|
|
"subwidgets": [
|
|
{"widgettype": "Text", "options": {"text": "{{p.category_name or ''}}", "width": "22%", "padding": "0 12px", "fontSize": "12px", "color": "#E2E8F0"}},
|
|
{"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": "VBox",
|
|
"options": {
|
|
"width": "22%",
|
|
"padding": "0 12px",
|
|
"data-pid": "{{p.productid}}",
|
|
"data-did": "{{p.detail_id or ''}}"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "UiFloat",
|
|
"options": {
|
|
"width": "100%",
|
|
"name": "discount",
|
|
"value": "{{p.discount or ''}}",
|
|
"placeholder": "0~1",
|
|
"dec_len": 2,
|
|
"fontSize": "12px"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}{% if not loop.last %},{% endif %}
|
|
{% endfor %}
|
|
]
|
|
}
|
|
]
|
|
],
|
|
"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)"
|
|
}
|
|
]
|
|
}
|