_InputView.cshtml 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. @using Abp.Extensions
  2. @using IwbZero.ToolCommon.StringModel
  3. @using WeApp.Views.Shared.Modals
  4. @model Input
  5. @{
  6. string sm = Model.IsSm ? "input-group-sm" : "",search= string.IsNullOrEmpty(Model.SearchModalId)? "": "search-input";
  7. }
  8. <div class="input-group @(Html.Raw(sm)) @(Html.Raw(search))">
  9. @if (Model.InputType == InputTypes.List)
  10. {
  11. var style = Model.Styles.IsNullOrEmpty() ? "width:100%" : Model.Styles;
  12. var multiple = Model.IsMultiple ? "multiple" : "";
  13. <select class="@Model.Class @Model.Required" id="@Model.Id" name="@Model.Name" placeholder="@(Model.Placeholder)" value="@Model.Value" @multiple @Model.DataOptions @Model.Events @Model.Disabled @Model.ReadOnly style="@style" @Model.Other>
  14. @Html.Raw(Model.SelectOptions)
  15. </select>
  16. }
  17. else if (Model.InputType == InputTypes.Textarea)
  18. {
  19. <textarea rows="5" class="@Model.Class @Model.Required" id="@Model.Id" name="@Model.Name" placeholder="@(Model.Placeholder)" value="@Model.Value" @Model.DataOptions @Model.Events @Model.Disabled @Model.ReadOnly style="@Model.Styles" @Model.Other></textarea>
  20. }
  21. else if (Model.InputType == InputTypes.File)
  22. {
  23. <div class="iwb-file">
  24. @{
  25. string infoId = Model.Id, nameId = Model.Id + "_name", extId = Model.Id + "_ext", isImage = "false", maxSize = "";
  26. if (Model.FileOption != null)
  27. {
  28. infoId = Model.FileOption.FileInfoField;
  29. nameId = Model.FileOption.FileNameField;
  30. extId = Model.FileOption.FileExtField;
  31. isImage = Model.FileOption.IsImage ? "true" : "false";
  32. maxSize = Model.FileOption.MaxSize + "";
  33. }
  34. }
  35. <input type="hidden" id="@(infoId)" name="@(infoId)" value="" />
  36. <input type="hidden" id="@(nameId)" name="@(nameId)" value="" />
  37. <input type="hidden" id="@(extId)" name="@(extId)" value="" />
  38. <input class="iwb-file-input" id="@(Model.Id)_file" type="file" onclick="FileUpload(this, { targetInfo: '@(infoId)', targetName: '@(nameId)', targetExt: '@(extId)', isImage: @(isImage), maxSize: '@(maxSize)' })">
  39. <label class="iwb-file-label" for="@(Model.Id)_file">@L("SelectFile")</label>
  40. <span class="clear" title="@(L("Clean"))" onclick="$(this).closest('.iwb-file').find('.iwb-file-input').iwbFileUpload('cleanFile')"><i class="far fa-minus-square"></i></span>
  41. </div>
  42. }
  43. else
  44. {
  45. if (!string.IsNullOrEmpty(Model.SearchModalId))
  46. {
  47. <input class="@Model.Class @Model.Required" id="@Model.Id" name="@Model.Name" type="@Model.TypeStr" placeholder="@(Model.Placeholder)" @Model.DataOptions @Model.Events @Model.Disabled @Model.ReadOnly style="@Model.Styles" @Model.Other />
  48. if (Model.Clear.IsNotEmpty())
  49. {
  50. <div class="input-group-append search-icon" title="@(L("Clean"))" style="border-right: 2px solid #eee;min-width: 30px; cursor: pointer;" onclick="ClearSearchValue('@(Model.Target)','@(Model.Clear)');">
  51. <span class="input-group-text"><i class="far fa-minus-square"></i></span>
  52. </div>
  53. }
  54. <div class="input-group-append search-icon" style="min-width: 30px; cursor: pointer;" onclick="ShowQueryModal('@Model.SearchModalId','@(Model.Target)');">
  55. <span class="input-group-text"><i class="fa fa-search"></i></span>
  56. </div>
  57. }
  58. else
  59. {
  60. <input class="@Model.Class @Model.Required" id="@Model.Id" name="@Model.Name" type="@Model.TypeStr" placeholder="@(Model.Placeholder)" @Model.DataOptions @Model.Events @Model.Disabled @Model.ReadOnly style="@Model.Styles" @Model.Other />
  61. }
  62. }
  63. </div>