EditCustomAlertsConfig.cshtml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. 
  2. @{
  3. ViewBag.Title = "EditCustomAlertsConfig";
  4. Layout = "~/Views/Shared/_CloudMonitor.cshtml";
  5. }
  6. <form class="layui-form" id="ff" action="" lay-filter="ff">
  7. <input type="text" name="ID" style="display:none;" value="" placeholder="" autocomplete="off" class="layui-input">
  8. <div class="layui-form-item">
  9. <div class="layui-inline">
  10. <label class="layui-form-label">渠道</label>
  11. <div class="layui-input-inline">
  12. <select name="渠道ID" lay-search="" lay-verify="required" id="渠道" lay-filter="渠道">
  13. <option value=""></option>
  14. </select>
  15. </div>
  16. </div>
  17. <div class="layui-inline">
  18. <label class="layui-form-label">项目</label>
  19. <div class="layui-input-inline">
  20. <select name="项目ID" lay-search="" lay-verify="required" id="项目" lay-filter="项目">
  21. <option value=""></option>
  22. </select>
  23. </div>
  24. </div>
  25. <div class="layui-inline">
  26. <label class="layui-form-label">指标名称</label>
  27. <div class="layui-input-inline">
  28. <input type="text" name="指标名称" lay-verify="required" value="" placeholder="" autocomplete="off" class="layui-input">
  29. </div>
  30. </div>
  31. </div>
  32. <div class="layui-form-item">
  33. <div class="layui-inline">
  34. <label class="layui-form-label">服务器</label>
  35. <div class="layui-input-inline">
  36. <select name="服务器ID" lay-search="" lay-verify="required" id="服务器" lay-filter="服务器">
  37. <option value=""></option>
  38. </select>
  39. </div>
  40. </div>
  41. <div class="layui-inline">
  42. <label class="layui-form-label">数据库</label>
  43. <div class="layui-input-inline">
  44. <select name="数据库ID" lay-search="" lay-verify="required" id="数据库" lay-filter="数据库">
  45. <option value=""></option>
  46. </select>
  47. </div>
  48. </div>
  49. <div class="layui-inline">
  50. <label class="layui-form-label">频率:间隔</label>
  51. <div class="layui-input-inline layui-input-wrap">
  52. <input type="number" name="频率" lay-verify="required" value="" placeholder="" autocomplete="off" class="layui-input">
  53. </div>
  54. <div class="layui-form-mid layui-text-em">分执行</div>
  55. </div>
  56. </div>
  57. <div class="layui-form-item">
  58. <label class="layui-form-label" title="数据库查询sql">数据库查询sql</label>
  59. <div class="layui-input-block">
  60. <textarea name="数据库查询SQL" lay-verify="required" placeholder="select 10 as '预警值'" class="layui-textarea"></textarea>
  61. </div>
  62. </div>
  63. <div class="layui-form-item" style="display:none;">
  64. <label class="layui-form-label" title="预警通知内容模板">预警通知内容模板</label>
  65. <div class="layui-input-block">
  66. <textarea name="预警通知内容模板" placeholder="预警通知内容模板" class="layui-textarea"></textarea>
  67. </div>
  68. </div>
  69. <div class="layui-form-item">
  70. <label class="layui-form-label">启用</label>
  71. <div class="layui-input-block">
  72. <input type="checkbox" name="是否启用" lay-skin="switch" lay-filter="switchTest" title="ON|OFF">
  73. </div>
  74. </div>
  75. </form>
  76. <script src="~/ViewModels/CustomAlertsConfigIndex.js?r=@DateTime.Now.ToLongTimeString()"></script>
  77. <script src="~/ViewModels/getPingyin.js"></script>
  78. <style>
  79. label.layui-form-label {
  80. width: 100px; /* 容器宽度 */
  81. text-align: left;
  82. /*overflow: hidden;*/ /* 超出隐藏 */
  83. /*white-space: nowrap;*/ /* 不换行 */
  84. /*text-overflow: ellipsis;*/ /* 使用省略号(...)表示被隐藏的文本 */
  85. }
  86. </style>
  87. <script type="text/javascript">
  88. $(function () {
  89. let form = layui.form;
  90. function 加载渠道() {
  91. ZLPMS.BindLayUiSelect({
  92. "url": "/ProManager/Datagrid",
  93. "method": "Get",
  94. "key": "ID",
  95. "text": "名称",
  96. "dom": $("#渠道"),
  97. "form":form
  98. });
  99. }
  100. function 加载项目(渠道ID) {
  101. if(渠道ID=="") return;
  102. ZLPMS.BindLayUiSelect({
  103. "url": `/ProManager/BingProData?ChannelID=${渠道ID}&Search=`,
  104. "method": "Get",
  105. "key": "ID",
  106. "text": "名称",
  107. "dom": $("#项目"),
  108. "form": form
  109. });
  110. }
  111. function 加载服务器(项目ID) {
  112. if(项目ID=="") return;
  113. ZLPMS.BindLayUiSelect({
  114. "url": `/CloudMonitor/GetServerByItemId?itemid=${项目ID}`,
  115. "method": "Get",
  116. "key": "ID",
  117. "text": "IP地址",
  118. "dom": $("#服务器"),
  119. "form": form
  120. });
  121. }
  122. function 加载数据库(服务器ID) {
  123. if (服务器ID == "") return;
  124. ZLPMS.BindLayUiSelect({
  125. "url": `/CloudMonitor/GetDbInfoByServerId?serverId=${服务器ID}`,
  126. "method": "Get",
  127. "key": "ID",
  128. "text": "名称",
  129. "dom": $("#数据库"),
  130. "form": form
  131. });
  132. }
  133. // 渠道改变事件
  134. form.on('select(渠道)', function (data) {
  135. var elem = data.elem; // 获得 select 原始 DOM 对象
  136. var value = data.value; // 获得被选中的值
  137. var othis = data.othis; // 获得 select 元素被替换后的 jQuery 对象
  138. if (value != "") {
  139. 加载项目(value);
  140. }
  141. });
  142. // 项目改变事件
  143. form.on('select(项目)', function (data) {
  144. var elem = data.elem; // 获得 select 原始 DOM 对象
  145. var value = data.value; // 获得被选中的值
  146. var othis = data.othis; // 获得 select 元素被替换后的 jQuery 对象
  147. if (value != "") {
  148. 加载服务器(value);
  149. }
  150. });
  151. // 项目改变事件
  152. form.on('select(服务器)', function (data) {
  153. var elem = data.elem; // 获得 select 原始 DOM 对象
  154. var value = data.value; // 获得被选中的值
  155. var othis = data.othis; // 获得 select 元素被替换后的 jQuery 对象
  156. if (value != "") {
  157. 加载数据库(value);
  158. }
  159. });
  160. window.加载下拉选项 = function () {
  161. 加载渠道();
  162. }
  163. window.加载数据 = function (data) {
  164. 加载渠道();
  165. 加载项目(data["渠道ID"]);
  166. 加载服务器(data["项目ID"]);
  167. 加载数据库(data["服务器ID"])
  168. form.val('ff',data );
  169. }
  170. })
  171. </script>