appointment_add.html 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. <style>
  37. .layui-laydate-content{
  38. display: flex;
  39. flex-wrap: nowrap;
  40. flex-direction: column;
  41. }
  42. .layui-laydate .layui-laydate-list{
  43. position: relative;
  44. }
  45. .laydate-theme-fullpanel .layui-laydate-main{
  46. width: 300px;
  47. }
  48. .laydate-theme-fullpanel .layui-laydate-list{
  49. width: 280px;
  50. left: 0;
  51. }
  52. </style>
  53. </head>
  54. <body>
  55. <div class="top-return">
  56. <a href="{:url('mobile/index/detail?id=655')}"><span><img src="{__MOBILE__}/img/left.png" alt=""
  57. style="width: 5vw;"></span></a><span style="font-size: 4.7vw;">新增预约</span>
  58. </div>
  59. <form class="layui-form layui-form-pane" action="" style="padding: 4vw 3vw 0 3vw;margin-top: 14vw;">
  60. <div class="layui-form-item" style="display: flex;align-items: flex-end;">
  61. <div class="edit-title" style="width: 21%;">预约时间<font style="color:red;"> *</font></div>
  62. <input style="width: 80%;" type="text" class="layui-input" lay-verify="required" readonly name="appointment_time" id="ID-laydate-type-datetime-1" placeholder="请选择预约时间">
  63. </div>
  64. <div class="layui-form-item" style="display: flex;align-items: flex-end;">
  65. <div class="edit-title" style="width: 21%;">派遣人数<font style="color:red;"> *</font></div>
  66. <input style="width: 80%;" type="text" name="dispatch_num" lay-verify="required" class="layui-input" placeholder="请添加派遣人数">
  67. </div>
  68. <div class="layui-form-item">
  69. <div class="edit-title">地址/备注<font style="color:red;"> *</font></div>
  70. <textarea placeholder="" name="address_or_remark" lay-verify="required" class="layui-textarea"></textarea>
  71. </div>
  72. <div class="layui-form-item">
  73. <input type="hidden" name="project_id" lay-verify="required" lay-reqText="" placeholder="" class="layui-input" value="{$project_id}" readonly>
  74. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
  75. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  76. </div>
  77. </form>
  78. <script src="{__MOBILE__}/layui-v2.8.18-rc.1/layui-v2.8.18-rc.1/layui/layui.js"></script>
  79. <script src="{__MOBILE__}/js/jquery-3.4.1.min.js"></script>
  80. <script>
  81. var user_type = '{$user_type}';
  82. let form = layui.form;
  83. let tool = {
  84. ajax: function (options, callback) {
  85. var format = 'json';
  86. if (options.hasOwnProperty('data')) {
  87. format = options.data.hasOwnProperty('format') ? options.data.format : 'json';
  88. }
  89. callback = callback || options.success;
  90. callback && delete options.success;
  91. var optsetting = { timeout: 10000 };
  92. if (format == 'jsonp') {
  93. optsetting = { timeout: 10000, dataType: 'jsonp', jsonp: 'callback' }
  94. }
  95. var opts = $.extend({}, optsetting, {
  96. success: function (res) {
  97. if (callback && typeof callback === 'function') {
  98. callback(res);
  99. }
  100. }
  101. }, options);
  102. $.ajax(opts);
  103. },
  104. post: function (url, data, callback) {
  105. this.ajax({
  106. url: url,
  107. type: "POST",
  108. data: data
  109. }, callback);
  110. },
  111. }
  112. layui.use(['form'], function(){
  113. var layer = layui.layer;
  114. // 提交事件
  115. var form = layui.form;
  116. layui.laydate.render({
  117. elem: '#ID-laydate-type-datetime-1',
  118. type: 'datetime',
  119. fullPanel: true // 2.8+
  120. });
  121. let a = 1;
  122. //监听提交
  123. form.on('submit(webform)', function (data) {
  124. if (!isIntegerString(data.field.dispatch_num)){
  125. layer.msg('派遣人数请输入整数');
  126. return false;
  127. }
  128. console.log(Number.isInteger(data.field.dispatch_num),data.field.dispatch_num)
  129. if(a){
  130. layer.confirm('确定要申请吗?', {
  131. icon: 3,
  132. title: '提示'
  133. }, function (index) {
  134. let callback = function (e) {
  135. layer.msg(e.msg);
  136. if (e.code == 0) {
  137. window.location.href = "/mobile/index/detail?id=" + "{$project_id}"
  138. }
  139. }
  140. tool.post("/admin/project.appointment/add_company", data.field, callback)
  141. a = 0
  142. });
  143. }
  144. return false;
  145. });
  146. });
  147. function isIntegerString(str) {
  148. var pattern = /^-?\d+$/; // 匹配整数,包括负整数
  149. return pattern.test(str);
  150. }
  151. </script>
  152. </body>
  153. </html>