From 78e9d6a90367486d05af2260165bac5281274fd8 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 7 Aug 2026 17:47:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=A8Html+script=E6=9B=BF=E4=BB=A3?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E7=9A=84datawidget=EF=BC=8C=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=8A=A0=E8=BD=BD=E6=97=B6fetch=20context=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/index.ui | 27 +++++++++------------------ wwwroot/index_cockpit.ui | 27 +++++++++------------------ 2 files changed, 18 insertions(+), 36 deletions(-) diff --git a/wwwroot/index.ui b/wwwroot/index.ui index ed68aae..c7ca2f0 100644 --- a/wwwroot/index.ui +++ b/wwwroot/index.ui @@ -47,6 +47,14 @@ "bgcolor": "#e8f0fe" }, "subwidgets": [ + { + "widgettype": "Html", + "options": { + "html": "", + "height": "0", + "width": "0" + } + }, { "widgettype": "Button", "id": "project_label", @@ -82,26 +90,9 @@ "script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);" } ] - }, - { - "widgettype": "datawidget", - "id": "context_data", - "options": { - "dataurl": "/pipeline-sdlc/api/cockpit_context.dspy", - "method": "GET", - "datascript": "(function(d){var d=d||{};var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl){pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');}if(il){il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));}return d;})" - } } ], - "binds": [ - { - "wid": "self", - "event": "render", - "actiontype": "script", - "target": "self", - "script": "fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})" - } - ] + "binds": [] }, { "widgettype": "VBox", diff --git a/wwwroot/index_cockpit.ui b/wwwroot/index_cockpit.ui index 0780628..e94728b 100644 --- a/wwwroot/index_cockpit.ui +++ b/wwwroot/index_cockpit.ui @@ -66,6 +66,14 @@ "bgcolor": "#e8f0fe" }, "subwidgets": [ + { + "widgettype": "Html", + "options": { + "html": "", + "height": "0", + "width": "0" + } + }, { "widgettype": "Button", "id": "project_label", @@ -101,26 +109,9 @@ "script": "var ctx=bricks.getWidgetById('context_data',bricks.app);var d=ctx?ctx.getValue():{};var iid=d.iteration_id||'';var pid=d.project_id||'';if(!iid){var iter_url='/pipeline-sdlc/api/cockpit_iteration_picker.dspy';if(pid)iter_url+='?project_id='+encodeURIComponent(pid);var pw=new bricks.PopupWindow({title:'选择迭代',cwidth:32,cheight:16,auto_open:true});var form=new bricks.Form({name:'iteration_picker',cols:1,fields:[{name:'iteration_id',uitype:'code',label:'迭代',placeholder:'请选择迭代',cwidth:26,dataurl:iter_url,valueField:'value',textField:'text'}]});var vb=new bricks.VBox({padding:'12px',gap:'12px'});vb.add_widget(new bricks.Text({text:'没有当前迭代,请选择一个迭代:',cfontsize:0.95,color:'#64748b'}));vb.add_widget(form);pw.content_w.add_widget(vb);setTimeout(function(){var sel=pw.content_w.dom_element.querySelector('select');if(sel)sel.addEventListener('change',function(){var v=sel.value;if(!v)return;fetch('/pipeline-sdlc/api/cockpit_context_update.dspy',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'iteration_id='+encodeURIComponent(v)+'&project_id='+encodeURIComponent(pid)}).then(function(r){return r.json()}).then(function(r){if(r.success){pw.destroy();var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(r.project_name?'📁 当前项目:'+r.project_name:'📁 当前项目:--');if(il)il.text_w.set_text('🔄 当前迭代:'+(r.iteration_name||'--'));var cd=bricks.getWidgetById('context_data',bricks.app);if(cd)cd.setValue(r);}});});},500);return;}var box=new bricks.VBox();box.add_widget(new bricks.Text({text:'迭代名称:'+(d.iteration_name||'--'),cfontsize:1.1,fontWeight:'bold',marginBottom:'8px'}));box.add_widget(new bricks.Text({text:'迭代ID:'+iid,cfontsize:0.85,color:'#64748b',marginBottom:'4px'}));box.add_widget(new bricks.Text({text:'所属项目:'+(d.project_name||pid),cfontsize:0.85,color:'#64748b'}));var pw=new bricks.PopupWindow({title:'迭代详情',cwidth:36,cheight:14,auto_open:true});pw.content_w.add_widget(box);" } ] - }, - { - "widgettype": "datawidget", - "id": "context_data", - "options": { - "dataurl": "/pipeline-sdlc/api/cockpit_context.dspy", - "method": "GET", - "datascript": "(function(d){var d=d||{};var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);var pn=d.project_name||'';if(pl){pl.text_w.set_text(pn?'📁 当前项目:'+pn:'📁 当前项目:--');}if(il){il.text_w.set_text(d.iteration_name?(d.iteration_name.length>15?d.iteration_name.slice(0,15)+'...':d.iteration_name):'🔄 当前迭代:--');il.text_w.set_text('🔄 当前迭代:'+(d.iteration_name||'--'));}return d;})" - } } ], - "binds": [ - { - "wid": "self", - "event": "render", - "actiontype": "script", - "target": "self", - "script": "fetch('/pipeline-sdlc/api/cockpit_context.dspy').then(function(r){return r.json()}).then(function(d){var pl=bricks.getWidgetById('project_label',bricks.app);var il=bricks.getWidgetById('iteration_label',bricks.app);if(pl)pl.text_w.set_text(d.project_name?'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a'+d.project_name:'\\ud83d\\udcc1 \\u5f53\\u524d\\u9879\\u76ee\\uff1a--');if(il)il.text_w.set_text('\\ud83d\\udd04 \\u5f53\\u524d\\u8fed\\u4ee3\\uff1a'+(d.iteration_name||'--'));})" - } - ] + "binds": [] }, { "widgettype": "VBox",