VmInput.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. namespace VberAdmin.Web.Models.Input;
  2. public class VmInput : VmInputBase
  3. {
  4. public VmInput(string name, string displayName) : base(name, displayName, VmInputType.Default)
  5. {
  6. DefaultClass = "form-control form-control-sm form-control-solid";
  7. DefaultValue = "";
  8. }
  9. #region Select
  10. /// <summary>
  11. /// Select
  12. /// </summary>
  13. /// <param name="options"></param>
  14. /// <param name="addBlank"></param>
  15. /// <param name="isTree"></param>
  16. /// <param name="isMultiple"></param>
  17. /// <returns></returns>
  18. public VmInputSelect WithSelect(string options, bool addBlank = false, bool isTree = false, bool isMultiple = false)
  19. {
  20. return new VmInputSelect(Name, DisplayName, options, addBlank, isTree, isMultiple);
  21. }
  22. /// <summary>
  23. /// AjaxSelect
  24. /// </summary>
  25. /// <param name="codeKey"></param>
  26. /// <param name="modalId"></param>
  27. /// <param name="clear"></param>
  28. /// <param name="takeCount"></param>
  29. /// <returns></returns>
  30. public VmInputSelectAjax WithAjaxSelect(string codeKey, string modalId, string clear = "", int takeCount = 10)
  31. {
  32. return new VmInputSelectAjax(Name, DisplayName, codeKey, modalId, clear, takeCount);
  33. }
  34. #endregion Select
  35. #region Number & Dialer
  36. /// <summary>
  37. /// Dialer
  38. /// </summary>
  39. /// <param name="min"></param>
  40. /// <param name="max"></param>
  41. /// <returns></returns>
  42. public VmInputNumberDialer WithDialer(int? min, int? max)
  43. {
  44. return new VmInputNumberDialer(Name, DisplayName).WithDialer(min, max);
  45. }
  46. /// <summary>
  47. /// Dialer
  48. /// </summary>
  49. /// <param name="step"></param>
  50. /// <param name="min"></param>
  51. /// <param name="max"></param>
  52. /// <param name="count"></param>
  53. /// <param name="preFix"></param>
  54. /// <param name="subFix"></param>
  55. /// <returns></returns>
  56. public VmInputNumberDialer WithDialerStep(decimal step, int? min = null, int? max = null, int count = 0, string preFix = "", string subFix = "")
  57. {
  58. return new VmInputNumberDialer(Name, DisplayName).WithDialer(min, max).WithStep(step).WithDecimals(count).WithDialerFix(preFix, subFix);
  59. }
  60. /// <summary>
  61. /// Dialer
  62. /// </summary>
  63. /// <param name="count"></param>
  64. /// <param name="step"></param>
  65. /// <param name="min"></param>
  66. /// <param name="max"></param>
  67. /// <param name="preFix"></param>
  68. /// <param name="subFix"></param>
  69. /// <returns></returns>
  70. public VmInputNumberDialer WithDialerDecimal(int count, decimal step = 1, int? min = null, int? max = null, string preFix = "", string subFix = "")
  71. {
  72. return new VmInputNumberDialer(Name, DisplayName).WithDialer(min, max).WithStep(step).WithDecimals(count).WithDialerFix(preFix, subFix);
  73. }
  74. /// <summary>
  75. /// Dialer
  76. /// </summary>
  77. /// <param name="preFix"></param>
  78. /// <param name="subFix"></param>
  79. /// <param name="count"></param>
  80. /// <param name="step"></param>
  81. /// <param name="min"></param>
  82. /// <param name="max"></param>
  83. /// <returns></returns>
  84. public VmInputNumberDialer WithDialerFix(string preFix = "", string subFix = "", int count = 0, decimal step = 1, int? min = null, int? max = null)
  85. {
  86. return new VmInputNumberDialer(Name, DisplayName).WithDialer(min, max).WithStep(step).WithDecimals(count)
  87. .WithDialerFix(preFix, subFix);
  88. }
  89. /// <summary>
  90. /// Number
  91. /// </summary>
  92. /// <param name="numType">1:整数,0:数字</param>
  93. /// <param name="min"></param>
  94. /// <param name="max"></param>
  95. /// <returns></returns>
  96. public VmInputNumber WithNumber(int numType, int? min = null, int? max = null)
  97. {
  98. return new VmInputNumber(Name, DisplayName).WithNumberType(numType, min, max);
  99. }
  100. /// <summary>
  101. /// Number
  102. /// </summary>
  103. /// <param name="min"></param>
  104. /// <returns></returns>
  105. public VmInputNumber WithNumberMin(int min)
  106. {
  107. return new VmInputNumber(Name, DisplayName).WithMin(min);
  108. }
  109. /// <summary>
  110. /// Number
  111. /// </summary>
  112. /// <param name="max"></param>
  113. /// <returns></returns>
  114. public VmInputNumber WithNumberMax(int max)
  115. {
  116. return new VmInputNumber(Name, DisplayName).WithMin(max);
  117. }
  118. #endregion Number & Dialer
  119. #region CheckBox & Radio & Switch
  120. /// <summary>
  121. /// CheckBox (name,value , name,value 成对设置)
  122. /// </summary>
  123. /// <param name="items">name,value , name,value 成对设置</param>
  124. /// <returns></returns>
  125. public VmInputCheckBox WithCheckBox(params string[] items)
  126. {
  127. return new VmInputCheckBox(Name, DisplayName).WithItems(items);
  128. }
  129. /// <summary>
  130. /// Radio (name,value , name,value 成对设置)
  131. /// </summary>
  132. /// <param name="items"></param>
  133. /// <returns></returns>
  134. public VmInputRadio WithRadio(params string[] items)
  135. {
  136. return new VmInputRadio(Name, DisplayName).WithItems(items);
  137. }
  138. /// <summary>
  139. /// Radio (name,value , name,value 成对设置)
  140. /// </summary>
  141. /// <param name="items"></param>
  142. /// <returns></returns>
  143. public VmInputSwitch WithSwitch(params string[] items)
  144. {
  145. return new VmInputSwitch(Name, DisplayName).WithItems(items);
  146. }
  147. #endregion CheckBox & Radio & Switch
  148. #region Textarea & WangEditor
  149. /// <summary>
  150. /// Textarea
  151. /// </summary>
  152. /// <returns></returns>
  153. public VmInputTextarea WithTextarea()
  154. {
  155. return new VmInputTextarea(Name, DisplayName);
  156. }
  157. /// <summary>
  158. /// WangEditor
  159. /// </summary>
  160. /// <returns></returns>
  161. public VmInputWangEditor WithWangEditor()
  162. {
  163. return new VmInputWangEditor(Name, DisplayName);
  164. }
  165. /// <summary>
  166. /// WangEditor
  167. /// </summary>
  168. /// <param name="menu"></param>
  169. /// <param name="options"></param>
  170. /// <returns></returns>
  171. public VmInputWangEditor WithWangEditor(string menu, string options = "")
  172. {
  173. return new VmInputWangEditor(Name, DisplayName).WithMenus(menu).WithOptions(options);
  174. }
  175. #endregion Textarea & WangEditor
  176. #region Date & Time
  177. /// <summary>
  178. /// Date
  179. /// </summary>
  180. /// <returns></returns>
  181. public VmInputDate WithDate()
  182. {
  183. return new VmInputDate(Name, DisplayName);
  184. }
  185. /// <summary>
  186. /// DateRange
  187. /// </summary>
  188. /// <returns></returns>
  189. public VmInputDateRange WithDateRange()
  190. {
  191. return new VmInputDateRange(Name, DisplayName);
  192. }
  193. /// <summary>
  194. /// DateTime
  195. /// </summary>
  196. /// <returns></returns>
  197. public VmInputDateTime WithDateTime()
  198. {
  199. return new VmInputDateTime(Name, DisplayName);
  200. }
  201. /// <summary>
  202. /// DateTimeRange
  203. /// </summary>
  204. /// <returns></returns>
  205. public VmInputDateTimeRange WithDateTimeRange()
  206. {
  207. return new VmInputDateTimeRange(Name, DisplayName);
  208. }
  209. #endregion Date & Time
  210. #region File & Image
  211. /// <summary>
  212. /// File
  213. /// </summary>
  214. /// <returns></returns>
  215. public VmInputFile WithFile()
  216. {
  217. return new VmInputFile(Name, DisplayName).WithFile();
  218. }
  219. /// <summary>
  220. /// File
  221. /// </summary>
  222. /// <returns></returns>
  223. public VmInputFile WithImage()
  224. {
  225. return new VmInputFile(Name, DisplayName).WithFile(true);
  226. }
  227. /// <summary>
  228. /// File
  229. /// </summary>
  230. /// <param name="fileInfoField"></param>
  231. /// <param name="fileNameField"></param>
  232. /// <param name="fileExtField"></param>
  233. /// <param name="maxSize"></param>
  234. /// <returns></returns>
  235. public VmInputFile WithFile(string fileInfoField, string fileNameField = null, string fileExtField = null,
  236. int maxSize = 5)
  237. {
  238. return new VmInputFile(Name, DisplayName).WithFile(fileInfoField, fileNameField, fileExtField, maxSize);
  239. }
  240. /// <summary>
  241. /// Image
  242. /// </summary>
  243. /// <param name="fileInfoField"></param>
  244. /// <param name="fileNameField"></param>
  245. /// <param name="fileExtField"></param>
  246. /// <param name="maxSize"></param>
  247. /// <returns></returns>
  248. public VmInputFile WithImage(string fileInfoField, string fileNameField = null, string fileExtField = null,
  249. int maxSize = 5)
  250. {
  251. return new VmInputFile(Name, DisplayName).WithImage(fileInfoField, fileNameField, fileExtField, maxSize);
  252. }
  253. #endregion File & Image
  254. }