调整窗口打开方式,默认缺省设置会根据框架皮肤判断打开方式(目前只支持layui\ace自动判断)补充设置注释
This commit is contained in:
parent
8283a7cbed
commit
584e705295
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.ComponentModel;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NewLife.Cube;
|
||||
using NewLife.Cube.ViewModels;
|
||||
using NewLife.Log;
|
||||
using NewLife.School.Entity;
|
||||
using NewLife.Web;
|
||||
|
@ -19,9 +20,23 @@ namespace CubeDemo.Areas.School.Controllers
|
|||
{
|
||||
{
|
||||
var df = ListFields.AddListField("test", null, "ID");
|
||||
df.DisplayName = "测试多标签";
|
||||
df.Url = "/School/Class";
|
||||
df.Target = "_frame";
|
||||
df.DisplayName = "AJAX操作请求";
|
||||
df.Url = "/School/Class/Hello";
|
||||
df.DataAction = "action";
|
||||
}
|
||||
|
||||
{
|
||||
var df = ListFields.AddListField("test1", null, "ID");
|
||||
df.DisplayName = "当前页打开";
|
||||
df.Url = "/School/Student";
|
||||
df.Target = TargetEnum._self + "";
|
||||
}
|
||||
|
||||
{
|
||||
var df = ListFields.AddListField("test1", null, "ID");
|
||||
df.DisplayName = "浏览器多标签页打开";
|
||||
df.Url = "/School/Student";
|
||||
df.Target = TargetEnum._blank + "";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,6 +47,15 @@ namespace CubeDemo.Areas.School.Controllers
|
|||
_tracer = provider?.GetService<ITracer>();
|
||||
}
|
||||
|
||||
public IActionResult Hello()
|
||||
{
|
||||
return Json(new
|
||||
{
|
||||
code = "200",
|
||||
data = "ok"
|
||||
});
|
||||
}
|
||||
|
||||
protected override IEnumerable<Class> Search(Pager p)
|
||||
{
|
||||
using var span = _tracer?.NewSpan(nameof(Search), p);
|
||||
|
|
|
@ -29,7 +29,11 @@ public class ListField : DataField
|
|||
///// <summary>单元格图标。数据单元格前端显示时的图标或图片</summary>
|
||||
//public String Icon { get; set; }
|
||||
|
||||
/// <summary>链接目标。_blank/_self/_parent/_top/_frame</summary>
|
||||
/// <summary>
|
||||
/// 链接目标。参考:TargetEnum
|
||||
/// _blank/_self/_parent/_top
|
||||
/// 默认:null,会根据皮肤自动判断打开方式,layui:在框架页多标签打开,ace:在当前页面进行跳转
|
||||
/// </summary>
|
||||
public String Target { get; set; }
|
||||
|
||||
/// <summary>头部文字</summary>
|
||||
|
@ -41,7 +45,9 @@ public class ListField : DataField
|
|||
///// <summary>头部链接。一般是排序</summary>
|
||||
//public String HeaderUrl { get; set; }
|
||||
|
||||
/// <summary>数据动作。设为action时走ajax请求</summary>
|
||||
/// <summary>
|
||||
/// 数据动作。参考:DataAction
|
||||
/// 默认:null 作为普通url操作;action 走ajax请求</summary>
|
||||
public String DataAction { get; set; }
|
||||
|
||||
/// <summary>获取数据委托。可用于自定义列表页单元格数值的显示</summary>
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
namespace NewLife.Cube.ViewModels
|
||||
{
|
||||
/// <summary>Url打开方式</summary>
|
||||
public enum TargetEnum
|
||||
{
|
||||
/// <summary>浏览器新标签页</summary>
|
||||
_blank,
|
||||
|
||||
/// <summary>当前页面</summary>
|
||||
_self,
|
||||
|
||||
/// <summary></summary>
|
||||
_parent,
|
||||
|
||||
/// <summary></summary>
|
||||
_top
|
||||
}
|
||||
|
||||
/// <summary>数据请求方法</summary>
|
||||
public enum DataAction
|
||||
{
|
||||
/// <summary>以请求url方式直接打开</summary>
|
||||
url,
|
||||
|
||||
/// <summary>以ajax方式请求url</summary>
|
||||
action,
|
||||
}
|
||||
}
|
|
@ -72,11 +72,11 @@
|
|||
var title = df.GetTitle(entity);
|
||||
if (!String.IsNullOrEmpty(name) && name.StartsWith("<") && name.EndsWith(">"))
|
||||
{
|
||||
<td class="text-center" title="@title"><a href="@Html.Raw(url)" target="@(nulti_tabs?df.Target:df.Target=="_frame"?"":df.Target)">@(Html.Raw(name))</a></td>
|
||||
<td class="text-center" title="@title"><a href="@Html.Raw(url)" target="@(df.Target.IsNullOrEmpty()&&nulti_tabs?"_frame":df.Target)">@(Html.Raw(name))</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="text-center" title="@title"><a href="@Html.Raw(url)" target="@(nulti_tabs?df.Target:df.Target=="_frame"?"":df.Target)">@name</a></td>
|
||||
<td class="text-center" title="@title"><a href="@Html.Raw(url)" target="@(df.Target.IsNullOrEmpty()&&nulti_tabs?"_frame":df.Target)">@name</a></td>
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -7,8 +7,8 @@ $(function () {
|
|||
window.confirmDialog = parent['confirmDialog'] || function (msg, func) { if (confirm(msg)) func(); };
|
||||
window.tips = parent['tips'] || function (msg, modal, time, jumpUrl) { alert(msg); location.reload(); };
|
||||
|
||||
//根据data-action的值确定操作类型 action为请求后端执行业务操作,url为直接跳转指定url地址
|
||||
//按钮请求action
|
||||
// 根据data-action的值确定操作类型 action为请求后端执行业务操作,url为直接跳转指定url地址
|
||||
// 按钮请求action
|
||||
$(document).on('click',
|
||||
'button[data-action="action"], input[data-action="action"], a[data-action="action"]',
|
||||
function (e) {
|
||||
|
@ -34,10 +34,11 @@ $(function () {
|
|||
}
|
||||
|
||||
doClickAction($this);
|
||||
//阻止按钮本身的事件冒泡
|
||||
// 阻止按钮本身的事件冒泡
|
||||
return false;
|
||||
});
|
||||
//直接执行Url地址
|
||||
|
||||
// 直接执行Url地址
|
||||
$(document).on('click'
|
||||
, 'button[data-action="url"],input[data-action="url"],a[data-action="url"]'
|
||||
, function (data) {
|
||||
|
@ -88,6 +89,7 @@ function doClickAction($this) {
|
|||
var fields = $this.data('fields');
|
||||
//参数
|
||||
var parameter = '';
|
||||
|
||||
if (fields && fields.length > 0) {
|
||||
var fieldArr = fields.split(',');
|
||||
for (var i = 0; i < fieldArr.length; i++) {
|
||||
|
|
Loading…
Reference in New Issue