You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/projects/IoT.Shared/Areas/Admin/Views/Command/_Api.cshtml

73 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

@model List<EditApiParameterModel>
@if (Model != null && Model.Count > 0)
{
var device = ViewBag.Device as Device;
int i = 0;
foreach (var item in Model)
{
var name = $"Parameters[{i}].Value";
var type = item.Type == "string" ? "text" : "text";
var required = item.Required ? "data-val-required='请输入" + item.Description + "'" : "";
var minimum = !string.IsNullOrEmpty(item.Minimum) ? "data-val-range-min='" + item.Minimum + "'" : "";
var maximum = !string.IsNullOrEmpty(item.Maxinum) ? "data-val-range-max='" + item.Maxinum + "'" : "";
var range = (!string.IsNullOrEmpty(item.Minimum) && !string.IsNullOrEmpty(item.Maxinum)) ? $"data-val-range='长度必须在{item.Minimum}-{item.Maxinum}之间'" : "";
@Html.Hidden($"Parameters[{i}].Name", item.Name)
@if (item.Name == "id")
{
<input type="hidden" name="@name" value="@device.Number" />
}
else
{
@if (device.Name == "串口控制器" && item.Description == "命令")
{
var selectList = device.Data.FirstOrDefault(o => o.Name == "指令").Value.FromJson<List<SPCommandModel>>()
.Select(o => new SelectListItem { Text = o.Name, Value = o.Name, Selected = item.Value == o.Name });
<div class="form-group row">
<lable class="col-sm-2 col-form-label required">@item.Description</lable>
<div class="col-sm-8">
@Html.DropDownList(name, selectList, "选择", new { @class = "form-control select search", data_val = "true", data_val_required = "请选择" })
@Html.ValidationMessage(name)
</div>
</div>
}
else if (device.Name == "红外转发器" && item.Description == "按键类型")
{
var selectList = new List<SelectListItem> {
new SelectListItem{ Value="1",Text="空调",Selected=item.Value=="1" },
new SelectListItem{ Value="2",Text="电视",Selected=item.Value=="2" },
new SelectListItem{ Value="3",Text="机顶盒",Selected=item.Value=="3" },
new SelectListItem{ Value="5",Text="自定义",Selected=item.Value=="5" }
};
<div class="form-group row">
<lable class="col-sm-2 col-form-label required">@item.Description</lable>
<div class="col-sm-8">
@Html.DropDownList(name, selectList, "选择", new { @class = "form-control select search irKeyType", data_val = "true", data_val_required = "请选择" })
@Html.ValidationMessage(name)
</div>
</div>
}
else if (device.Name == "红外转发器" && item.Description == "键值")
{
var keyType = Model.FirstOrDefault(o => o.Description == "按键类型")?.Value;
<div id="ajax2" data-name="@name">
@if (!string.IsNullOrEmpty(keyType))
{
var buttons = device.Data.FirstOrDefault(o => o.Name == "指令").Value;
@(await Html.PartialAsync("_Code", new EditIRCodeViewModel { InputName = name, Name = item.Description, Type = Convert.ToInt32(keyType), Code = Convert.ToInt32(item.Value), Buttons = buttons }))
}
</div>
}
else
{
<div class="form-group row">
<lable class="col-sm-2 col-form-label required">@item.Description</lable>
<div class="col-sm-8">
<input class="form-control" name="@name" type="@Html.Raw(type)" data-val="true" value="@item.Value" @Html.Raw(required) @Html.Raw(range) @Html.Raw(minimum) @Html.Raw(maximum) />
@Html.ValidationMessage(name)
</div>
</div>
}
}
i += 1;
}
}