72 lines
3.6 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"widgettype": "VBox",
"options": {"height": "100%", "width": "100%"},
"subwidgets": [
{
"id": "product_discount_tbl",
"widgettype": "Tabular",
"options": {
"width": "100%",
"height": "100%",
"title": "产品折扣设置",
"description": "选中产品后点击工具栏按钮设置折扣",
"css": "card",
"toolbar": {
"tools": [
{
"name": "set_discount",
"label": "设置折扣",
"selected_row": true,
"icon": "{{entire_url('/bricks/imgs/edit.svg')}}"
}
]
},
"data_url": "{{entire_url('./get_products_with_discount.dspy')}}",
"data_method": "GET",
"data_params": {},
"row_options": {
"idField": "productid",
"checkField": "checked",
"fields": [
{
"name": "category_name",
"title": "产品分类",
"type": "str",
"cwidth": 2
},
{
"name": "product_name",
"title": "产品名称",
"type": "str",
"cwidth": 4
},
{
"name": "product_code",
"title": "产品编码",
"type": "str",
"cwidth": 3
},
{
"name": "discount",
"title": "当前折扣",
"type": "float",
"cwidth": 2
}
]
},
"page_rows": 100,
"cache_limit": 5
},
"binds": [
{
"wid": "set_discount",
"event": "click",
"actiontype": "script",
"target": "self",
"script": "var dv = bricks.getWidgetById('product_discount_tbl', bricks.app.root); if (!dv || !dv.select_row || !dv.select_row.user_data) { alert('请先选中一个产品'); return; } var row = dv.select_row.user_data; var discountid = new URLSearchParams(window.location.search).get('discountid') || ''; var mf = new bricks.ModalForm({title: '设置折扣 - ' + row.product_name, width: '400px', auto_open: true, fields: [{name: 'discountid', uitype: 'hide', value: discountid}, {name: 'productid', uitype: 'hide', value: row.productid}, {name: 'category_id', uitype: 'hide', value: row.category_id}, {name: 'detail_id', uitype: 'hide', value: row.detail_id || ''}, {name: 'product_name', label: '产品', uitype: 'text', value: row.product_name}, {name: 'category_name', label: '分类', uitype: 'text', value: row.category_name}, {name: 'discount', label: '折扣(0-1)', uitype: 'float', value: row.discount || '', tip: '0到1之间如0.8表示8折留空或0表示清除折扣'}], submit_url: '{{entire_url('./save_discount.dspy')}}'}); mf.bind('submited', async function(params) { await bricks.show_resp_message_or_error(params); await dv.render({}); });"
}
]
}
]
}