modal.js 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. const jQuery = require('jquery');
  2. (function ($) {
  3. let close = require("../images/icon_close_default.png")
  4. let suc = require("../images/success.png")
  5. let def = require("../images/default.png")
  6. let loadingImg = require("../images/loading.gif")
  7. $.alerModal = function (options) {
  8. var dft = {
  9. sureBtn:true,
  10. quiteBtn:false,
  11. width:"400",
  12. title:"标题",
  13. sureText:"确定",
  14. message: '<p class="tip">内容</p>',
  15. time: 1500,
  16. isFather: false,
  17. fatherWrapper:'',
  18. type:'modal',//tip,loading
  19. callback:function(){
  20. // alert(99)
  21. }
  22. };
  23. var ops = $.extend(dft, options || {});
  24. var html = `
  25. <div class="alertModal">
  26. <div class="modalBg"></div>
  27. <div class="modalMain" style="width:${ops.width}px;margin-left:-${ops.width/2}px">
  28. <p class="title">${ops.title} <img src="${close}" alt=""></p>
  29. <div class="content">
  30. ${ops.message}
  31. </div>
  32. <div class="btns clearfix">
  33. <span class="quite" style="display:${ops.quiteBtn?'inlineBlock':'none'}">取消</span>
  34. <span class="sure sureChange" style="display:${ops.sureBtn?'inlineBlock':'none'}">${ops.sureText}</span>
  35. </div>
  36. </div>
  37. </div>
  38. `
  39. var radioExp = `<div class='colSetBox'>
  40. <div class='mask'></div>
  41. <div class='cloInfobox cloInfoPort'>
  42. <div class='cloInfoTitle'><span class='cloInfoTitleTxt'>导出提示</span> <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></div>
  43. <div class='cloInfo closePort'>
  44. <p class="selectDateTip">请选择一种导出的报表样式:</p>
  45. <p class="selectDate"><input checked="true" type="radio" name="date" id="date1" data-select="1"><label for="date1">含缺陷明细项,最多只能导出7天</label></p>
  46. <p class="selectDate"><input type="radio" name="date" id="date2" data-select="2"><label for="date2">不含缺陷明细项,最多只能导出90天</label></p>
  47. </div>
  48. <div class='btnBox'>
  49. <span class='cancalColSet canclePort'>取消</span>
  50. <span class='saveColSet savePort'>确定</span>
  51. </div>
  52. </div>
  53. </div>`
  54. // var tip = `
  55. // <div class="modaltip">${ops.message}</div>
  56. // `
  57. var tip = `
  58. ${ops.win===true?`
  59. <div class="modaltipSuc">
  60. <img src="${suc}" />
  61. ${ops.message}
  62. </div>`:ops.win=='default'?`
  63. <div class="modaltipSuc">
  64. <img src="${def}" />
  65. ${ops.message}
  66. </div>`:`
  67. <div class="modaltip">
  68. ${ops.message}
  69. </div>`}
  70. `
  71. var loading = `
  72. <div class="loading"><img src="${loadingImg}" alt=""></div>
  73. `
  74. var box = $("<div/>",{
  75. "class":"divModal",
  76. "html":ops.type == 'tip'?tip:ops.type == 'loading'?loading:ops.type == 'radio'?radioExp:html
  77. }).css({
  78. left:$(".modaltip").width()/2+'px',
  79. top:$(".modaltip").height()/2+'px'
  80. })
  81. if(ops.isFather){
  82. //console.log('bbbbbbb')
  83. ops.fatherWrapper.append(box)
  84. } else{
  85. $("body").append(box)
  86. }
  87. if(ops.type == 'tip'){
  88. setTimeout(function(){
  89. box.remove();
  90. }, ops.time);
  91. }
  92. $(document).on('click',".alertModal .title img,.alertModal .quite",function(){
  93. box.remove();
  94. })
  95. }
  96. })(jQuery);