add.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <!DOCTYPE html>
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
  3. <head>
  4. <th:block th:include="include :: header('新增弹框配置')" />
  5. <th:block th:include="include :: datetimepicker-css" />
  6. <th:block th:include="include :: bootstrap-select-css" />
  7. </head>
  8. <body class="white-bg">
  9. <div class="wrapper wrapper-content animated fadeInRight ibox-content">
  10. <form class="form-horizontal m" id="form-configuration-add">
  11. <div class="form-group">
  12. <label class="col-sm-3 control-label">弹框内容:</label>
  13. <div class="col-sm-8">
  14. <textarea id="alertContent" name="alertContent" class="form-control"></textarea>
  15. </div>
  16. </div>
  17. <div class="form-group">
  18. <label class="col-sm-3 control-label">弹框开始时间:</label>
  19. <div class="col-sm-8">
  20. <div class="input-group date">
  21. <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  22. <input id="alertStartTime" name="alertStartTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
  23. </div>
  24. </div>
  25. </div>
  26. <div class="form-group">
  27. <label class="col-sm-3 control-label">弹框结束时间:</label>
  28. <div class="col-sm-8">
  29. <div class="input-group date">
  30. <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  31. <input id="alertEndTime" name="alertEndTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
  32. </div>
  33. </div>
  34. </div>
  35. <div class="form-group">
  36. <label class="col-sm-3 control-label">弹框每日可弹次数:</label>
  37. <div class="col-sm-8">
  38. <input id="alertNum" name="alertNum" class="form-control" type="text">
  39. </div>
  40. </div>
  41. <div class="form-group">
  42. <label class="col-sm-3 control-label">用户类型:</label>
  43. <div class="col-sm-8">
  44. <select title="请选择" id="userType" name="userType" class="form-control m-b selectpicker" th:with="type=${@dict.getType('sys_lantern_permission')}" multiple>
  45. <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
  46. </select>
  47. </div>
  48. </div>
  49. <div class="form-group">
  50. <label class="col-sm-3 control-label">部门类型:</label>
  51. <div class="col-sm-3">
  52. <select title="请选择公司" id="deptType1" class="form-control m-b selectpicker">
  53. </select>
  54. </div>
  55. <div class="col-sm-3">
  56. <select title="请选择大区" id="deptType2" class="form-control m-b selectpicker">
  57. </select>
  58. </div>
  59. <div class="col-sm-3">
  60. <select title="请选择销售部" id="deptType3" class="form-control m-b selectpicker">
  61. </select>
  62. </div>
  63. </div>
  64. <div class="form-group">
  65. <label class="col-sm-3 control-label"></label>
  66. <div class="col-sm-3">
  67. <a class="btn btn-primary btn-rounded btn-sm" id="clearSelect">清空部门类型</a>
  68. </div>
  69. </div>
  70. <!-- <div class="form-group">
  71. <label class="col-sm-3 control-label">是否启动:</label>
  72. <div class="col-sm-8">
  73. <div class="radio-box" th:each="dict : ${@dict.getType('sys_ziti_show_hide')}">
  74. <input type="radio" th:id="${dict.dictCode}" name="alertStatus" th:value="${dict.dictValue}"
  75. th:checked="${dict.default}">
  76. <label th:for="${dict.dictCode}" th:text="${dict.dictLabel}"></label>
  77. </div>
  78. </div>
  79. </div>-->
  80. </form>
  81. </div>
  82. <th:block th:include="include :: footer" />
  83. <th:block th:include="include :: datetimepicker-js" />
  84. <th:block th:include="include :: bootstrap-select-js" />
  85. <script type="text/javascript">
  86. var prefix = ctx + "system/configuration"
  87. //var getCompanyListPrefix = "http://localhost:10001/wxportal-api/sysuser/searchOrg";
  88. var getCompanyListPrefix = "http://suishenbangtest.nipponpaint.com.cn/wxportal-api/sysuser/searchOrg";
  89. $(document).ready(function () {
  90. var obj = {
  91. parType: "diy_level",
  92. parValue: ""
  93. }
  94. getCompanyList(obj);
  95. console.log('ctx',ctx);
  96. })
  97. $("#deptType1").on('change',function () {
  98. if ($(this).val() != -1){
  99. var obj1 = {
  100. parType: "company_level",
  101. parValue: $(this).val()
  102. }
  103. $("#deptType2").empty().append("");
  104. $("#deptType2").selectpicker('refresh');
  105. $("#deptType3").empty().append("");
  106. $("#deptType3").selectpicker('refresh');
  107. getCompanyList(obj1);
  108. }
  109. })
  110. $("#deptType2").on('change',function () {
  111. if ($(this).val() != -1){
  112. var obj2 = {
  113. parType: "office_level",
  114. parValue: $(this).val()
  115. }
  116. $("#deptType3").empty().append("");
  117. $("#deptType3").selectpicker('refresh');
  118. getCompanyList(obj2);
  119. }
  120. })
  121. $("#clearSelect").on('click',function () {
  122. var obj3 = {
  123. parType: "diy_level",
  124. parValue: ""
  125. }
  126. $("#deptType1").empty().append("");
  127. $("#deptType1").selectpicker('refresh');
  128. $("#deptType2").empty().append("");
  129. $("#deptType2").selectpicker('refresh');
  130. $("#deptType3").empty().append("");
  131. $("#deptType3").selectpicker('refresh');
  132. getCompanyList(obj3,"");
  133. })
  134. $("#form-configuration-add").validate({
  135. focusCleanup: true,
  136. rules:{
  137. alertContent:{
  138. required:true
  139. },
  140. alertStartTime:{
  141. required:true
  142. },
  143. alertEndTime:{
  144. required:true
  145. },
  146. alertNum: {
  147. required:true
  148. },
  149. userType: {
  150. required:true
  151. }
  152. },
  153. });
  154. function submitHandler() {
  155. if ($.validate.form()) {
  156. var contentVal = $('#alertContent').val();
  157. var startTime = $('#alertStartTime').val();
  158. var endTime = $('#alertEndTime').val();
  159. var alertNum = $('#alertNum').val();
  160. var userType = $('#userType').val().join();
  161. var objSubmit = {
  162. alertContent:contentVal,
  163. alertStartTime:startTime,
  164. alertEndTime:endTime,
  165. alertNum:alertNum,
  166. userType:userType,
  167. alertStatus:'0'
  168. }
  169. if ($('#deptType3').val() != "") {
  170. objSubmit.salesLevel = 'suboffice_level';
  171. objSubmit.orgCode = $('#deptType3').val();
  172. objSubmit.orgName = $('#deptType3').find("option:selected")[0].label
  173. }
  174. if ($('#deptType2').val() != "" && $('#deptType3').val() == "") {
  175. objSubmit.salesLevel = 'office_level';
  176. objSubmit.orgCode = $('#deptType2').val();
  177. objSubmit.orgName = $('#deptType2').find("option:selected")[0].label
  178. }
  179. if ($('#deptType1').val() != "" && $('#deptType2').val() == "" && $('#deptType3').val() == "") {
  180. objSubmit.salesLevel = 'company_level';
  181. objSubmit.orgCode = $('#deptType1').val();
  182. objSubmit.orgName = $('#deptType1').find("option:selected")[0].label
  183. }
  184. if ($('#deptType1').val() == "" && $('#deptType2').val() == "" && $('#deptType3').val() == "") {
  185. objSubmit.salesLevel = 'diy_level';
  186. }
  187. console.log('objSubmit', objSubmit);
  188. var configSubmit = {
  189. url: prefix + "/add",
  190. type: "post",
  191. dataType: "json",
  192. data: objSubmit,
  193. beforeSend: function () {
  194. $.modal.loading("正在处理中,请稍后...");
  195. },
  196. success:function (result) {
  197. $.modal.closeLoading();
  198. $.operate.successCallback(result);
  199. }
  200. }
  201. $.ajax(configSubmit)
  202. // $.operate.save(prefix + "/add", $('#form-configuration-add').serialize());
  203. }
  204. }
  205. $("input[name='alertStartTime']").datetimepicker({
  206. format: "yyyy-mm-dd hh:ii",
  207. autoclose: true
  208. });
  209. $("input[name='alertEndTime']").datetimepicker({
  210. format: "yyyy-mm-dd hh:ii",
  211. autoclose: true
  212. });
  213. /* 获取公司列表 */
  214. function getCompanyList(obj) {
  215. var config = {
  216. url: getCompanyListPrefix,
  217. type: "post",
  218. dataType: "json",
  219. data: obj,
  220. beforeSend: function () {
  221. $.modal.loading("正在处理中,请稍后...");
  222. },
  223. success: function(result) {
  224. $.modal.closeLoading();
  225. var companyList = result.dataList;
  226. if (companyList && companyList.length != 0){
  227. var options = '';
  228. if (obj.parType == 'diy_level'){
  229. companyList.forEach(item=>{
  230. options += "<option value='" + item.company_code + "'>" + item.company_name + "</option>"
  231. })
  232. $("#deptType1").append(options);
  233. $("#deptType1").selectpicker('refresh');
  234. $("#deptType1").selectpicker('render');
  235. } else if (obj.parType == 'company_level') {
  236. companyList.forEach(item=>{
  237. options += "<option value='" + item.office_code + "'>" + item.office_name + "</option>"
  238. })
  239. $("#deptType2").append(options);
  240. $("#deptType2").selectpicker('refresh');
  241. $("#deptType2").selectpicker('render');
  242. }else {
  243. companyList.forEach(item=>{
  244. options += "<option value='" + item.suboffice_code + "'>" + item.suboffice_name + "</option>"
  245. })
  246. $("#deptType3").append(options);
  247. $("#deptType3").selectpicker('refresh');
  248. $("#deptType3").selectpicker('render');
  249. }
  250. }
  251. }
  252. };
  253. $.ajax(config)
  254. }
  255. </script>
  256. </body>
  257. </html>