appointment_add.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>逸管FEP</title>
  7. <link rel="stylesheet" href="{__MOBILE__}/css/base.css">
  8. <link rel="stylesheet" href="{__MOBILE__}/css/record_edit.css">
  9. <link rel="stylesheet" href="{__MOBILE__}/layui-v2.8.18-rc.1/layui-v2.8.18-rc.1/layui/css/layui.css">
  10. <script src="{__MOBILE__}/tinymce_5.10.0_dev/tinymce/js/tinymce/tinymce.min.js"></script>
  11. <script src="{__MOBILE__}/tinymce_5.10.0_dev/tinymce/js/tinymce/langs/zh_CN.js"></script>
  12. <script>
  13. tinymce.init({
  14. selector: '#basic-conf',
  15. width: '94vw',
  16. height: '50vh',
  17. language: 'zh_CN',
  18. mobile: {
  19. toolbar_drawer: 'sliding',
  20. plugins: [
  21. 'advlist', 'autolink', 'link', 'image', 'lists', 'charmap', 'preview', 'anchor', 'pagebreak',
  22. 'searchreplace', 'wordcount', 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media',
  23. 'table', 'emoticons', 'template',
  24. ],
  25. toolbar: 'undo redo | styles | bold italic | alignleft aligncenter alignright alignjustify | ' +
  26. 'bullist numlist outdent indent | link image | print preview media fullscreen | ' +
  27. 'forecolor backcolor emoticons',
  28. menu: {
  29. },
  30. menubar: 'file edit view insert format tools table',
  31. content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }',
  32. },
  33. branding: false,
  34. });
  35. </script>
  36. </head>
  37. <body>
  38. <div class="top-return">
  39. <a href="{:url('mobile/index/kan_list')}"><span><img src="{__MOBILE__}/img/left.png" alt=""
  40. style="width: 5vw;"></span></a><span style="font-size: 4.7vw;">编辑文档</span>
  41. </div>
  42. <form class="layui-form layui-form-pane" action="" style="padding: 4vw 3vw 0 3vw;margin-top: 14vw;">
  43. <div class="layui-form-item" style="display: flex;">
  44. <div class="edit-title">预约时间<font style="color:red;"> *</font></div>
  45. <input type="text" class="layui-input" lay-verify="required" readonly name="appointment_time" id="ID-laydate-type-datetime-1" placeholder="请选择预约时间">
  46. </div>
  47. <div class="layui-form-item">
  48. <div class="edit-title">派遣人数<font style="color:red;"> *</font></div>
  49. <input type="text" name="dispatch_num" lay-verify="required" class="layui-input" placeholder="请添加派遣人数">
  50. </div>
  51. <div class="layui-form-item">
  52. <div class="edit-title">地址/备注<font style="color:red;"> *</font></div>
  53. <textarea placeholder="" name="address_or_remark" lay-verify="required" class="layui-textarea"></textarea>
  54. </div>
  55. <div class="layui-form-item">
  56. <input type="hidden" name="project_id" lay-verify="required" lay-reqText="" placeholder="" class="layui-input" value="{$project_id}" readonly>
  57. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
  58. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  59. </div>
  60. </form>
  61. <script src="{__MOBILE__}/layui-v2.8.18-rc.1/layui-v2.8.18-rc.1/layui/layui.js"></script>
  62. <script src="{__MOBILE__}/js/jquery-3.4.1.min.js"></script>
  63. <script>
  64. var user_type = '{$user_type}';
  65. let form = layui.form;
  66. let tool = {
  67. ajax: function (options, callback) {
  68. var format = 'json';
  69. if (options.hasOwnProperty('data')) {
  70. format = options.data.hasOwnProperty('format') ? options.data.format : 'json';
  71. }
  72. callback = callback || options.success;
  73. callback && delete options.success;
  74. var optsetting = { timeout: 10000 };
  75. if (format == 'jsonp') {
  76. optsetting = { timeout: 10000, dataType: 'jsonp', jsonp: 'callback' }
  77. }
  78. var opts = $.extend({}, optsetting, {
  79. success: function (res) {
  80. if (callback && typeof callback === 'function') {
  81. callback(res);
  82. }
  83. }
  84. }, options);
  85. $.ajax(opts);
  86. },
  87. post: function (url, data, callback) {
  88. this.ajax({
  89. url: url,
  90. type: "POST",
  91. data: data
  92. }, callback);
  93. },
  94. }
  95. layui.use(['form'], function(){
  96. var layer = layui.layer;
  97. // 提交事件
  98. var form = layui.form;
  99. layui.laydate.render({
  100. elem: '#ID-laydate-type-datetime-1',
  101. type: 'datetime',
  102. fullPanel: true // 2.8+
  103. });
  104. let a = 1;
  105. //监听提交
  106. form.on('submit(webform)', function (data) {
  107. if (!isIntegerString(data.field.dispatch_num)){
  108. layer.msg('派遣人数请输入整数');
  109. return false;
  110. }
  111. console.log(Number.isInteger(data.field.dispatch_num),data.field.dispatch_num)
  112. if(a){
  113. layer.confirm('确定要申请吗?', {
  114. icon: 3,
  115. title: '提示'
  116. }, function (index) {
  117. let callback = function (e) {
  118. layer.msg(e.msg);
  119. if (e.code == 0) {
  120. tool.tabRefresh(71);
  121. tool.sideClose(1000);
  122. a = 1
  123. }
  124. }
  125. tool.post("/admin/project.appointment/add_company", data.field, callback)
  126. a = 0
  127. });
  128. }
  129. return false;
  130. });
  131. });
  132. function isIntegerString(str) {
  133. var pattern = /^-?\d+$/; // 匹配整数,包括负整数
  134. return pattern.test(str);
  135. }
  136. </script>
  137. </body>
  138. </html>