From 0144129ec15bd834fb1df4ba8c11f9594405ec13 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 5 Aug 2026 18:14:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8F=82=E6=95=B0=E5=90=8D=E6=94=B9?= =?UTF-8?q?=E7=94=A8mkt=5Fid=E9=81=BF=E5=85=8D=E4=B8=8E=E8=A1=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AEmarketing=5Fid=E5=AD=97=E6=AE=B5=E5=86=B2=E7=AA=81?= =?UTF-8?q?=EF=BC=8C=E7=85=A7=E6=8A=84=E4=BA=A7=E5=93=81=E6=98=8E=E7=BB=86?= =?UTF-8?q?params=5Fmapping=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- json/discount_marketing_list.json | 18 ++++++++++++++++-- wwwroot/api/gen_promo_from_mkt.dspy | 7 ++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/json/discount_marketing_list.json b/json/discount_marketing_list.json index fa6fe4c..1a0f2b7 100644 --- a/json/discount_marketing_list.json +++ b/json/discount_marketing_list.json @@ -77,8 +77,22 @@ { "wid": "self", "event": "gen_promo", - "actiontype": "script", - "script": "(function(){var id='${id}$';if(!id||id==='${id}$'){alert('未获取到方案ID,请先选中一行。');return;}var x=new XMLHttpRequest();x.open('POST','{{entire_url('../api/gen_promo_from_mkt.dspy')}}',true);x.setRequestHeader('Content-Type','application/x-www-form-urlencoded');x.onload=function(){try{var d=JSON.parse(x.responseText);if(d.widgettype==='Message'){var m=new bricks.Message(d.options);m.show();}else{alert(d.options.message||x.responseText);}}catch(e){alert(x.responseText);}};x.send('marketing_id='+encodeURIComponent(id));})();" + "actiontype": "urlwidget", + "target": "PopupWindow", + "popup_options": { + "title": "生成促销码", + "cwidth": 16, + "cheight": 10 + }, + "params_mapping": { + "mapping": { + "id": "mkt_id" + }, + "need_other": false + }, + "options": { + "url": "{{entire_url('../api/gen_promo_from_mkt.dspy')}}" + } } ], "new_data_url": "{{entire_url('/discount/api/marketing_create.dspy')}}", diff --git a/wwwroot/api/gen_promo_from_mkt.dspy b/wwwroot/api/gen_promo_from_mkt.dspy index 7d0280f..1ea6c77 100644 --- a/wwwroot/api/gen_promo_from_mkt.dspy +++ b/wwwroot/api/gen_promo_from_mkt.dspy @@ -1,9 +1,10 @@ # 从营销方案直接生成促销码(toolbar 工具按钮调用) -marketing_id = params_kw.get('marketing_id', '') -if not marketing_id: +# 参数 mkt_id = 选中行的 id 字段(params_mapping: id → mkt_id) +mkt_id = params_kw.get('mkt_id', '') +if not mkt_id: return {"widgettype": "Error", "options": {"title": "操作失败", "message": "缺少方案ID", "cwidth": 16, "cheight": 9, "timeout": 3}} -result = await generate_promo_code(request, {"marketing_id": marketing_id}) +result = await generate_promo_code(request, {"marketing_id": mkt_id}) if result.get("status") == "success": return { "widgettype": "Message",