contacthotel.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
  6. <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7. <title></title>
  8. <link rel="stylesheet" type="text/css" href="../../css/api.css" />
  9. <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
  11. <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
  12. <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
  13. <style>
  14. body{}
  15. .evaluate-item{
  16. height: 1rem;
  17. line-height: 1rem;
  18. font-size: 0.28rem;
  19. background:#ffffff;
  20. border-bottom:1px solid #e8e8e8;
  21. position:relative;
  22. }
  23. .my-rating{
  24. position:absolute;
  25. left: 1rem;
  26. top: 0.3em;
  27. }
  28. .back-item{
  29. width:100%;
  30. padding:10px;
  31. text-align:center;
  32. /*border-bottom: 1px solid #e8e8e8;*/
  33. box-sizing: border-box;
  34. }
  35. .back-item img{
  36. width:20px;
  37. }
  38. textarea{
  39. width:100%;
  40. height: 2rem;
  41. font-size: 0.28rem;
  42. line-height: 0.37rem;
  43. padding:5px;
  44. box-sizing: border-box;
  45. -webkit-appearance: none;
  46. color:#666666;
  47. }
  48. .close_btn {
  49. position: absolute;
  50. margin-left: -0.52rem;
  51. color: #d9251c;
  52. }
  53. .image-list .img_item {
  54. float: left;
  55. }
  56. </style>
  57. <script>
  58. (function(w, d, m) {
  59. function r() {
  60. var t = 100,
  61. o = 750,
  62. e = d.documentElement.clientWidth || w.innerWidth,
  63. n = m.max(m.min(e, 480), 320),
  64. h = 50;
  65. 320 >= n && (h = m.floor(n / o * t * .99)),
  66. n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
  67. n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
  68. n > 375 && (h = m.floor(n / o * t * .97)),
  69. d.querySelector("html").style.fontSize = h + "px"
  70. };
  71. r();
  72. w.onresize = function() {
  73. r()
  74. }
  75. })(window, document, Math);
  76. </script>
  77. </head>
  78. <body>
  79. <div class="topbar"></div>
  80. <header class="back-header back-header-bottom">
  81. <ul>
  82. <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
  83. <li class="back-header-title">联系酒店</li>
  84. <li class="more-btn"></li>
  85. </ul>
  86. </header>
  87. <section class="white-back padding-top">
  88. <div class="back-item" style="position:relative;" id="wordCount">
  89. <textarea row="5" id="content" maxlength="100" placeholder="填写内容"></textarea>
  90. <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
  91. <span class="wordwrap" style="bottom: -0.32rem;"><var class="word">100</var>/ 100</span>
  92. </div>
  93. <div class="h10"></div>
  94. <div style="font-size: 0.28rem;" class="mask-hidden">添加图片(最多3张)</div>
  95. <div class="h5"></div>
  96. <div class="image-list mask-hidden">
  97. <span></span>
  98. <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
  99. </div>
  100. </div>
  101. <div class="h20"></div>
  102. <div class="m-bottom">提 交</div>
  103. </section>
  104. </body>
  105. <script type="text/javascript" src="../../script/api.js"></script>
  106. <script type="text/javascript" src="../../script/jquery.min.js"></script>
  107. <script type="text/javascript" src="../../script/jquery.tap.js"></script>
  108. <script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
  109. <script type="text/javascript">
  110. var _imgArr = [];
  111. var _tImgArr = [];
  112. var _geval_orderid = '';
  113. apiready = function() {
  114. _geval_orderid = api.pageParam.keyid;
  115. setFixStatusBar();
  116. };
  117. $(function() {
  118. var wordCount = $("#wordCount"),
  119. textArea = wordCount.find("textarea"),
  120. word = wordCount.find(".word");
  121. statInputNum(textArea, word);
  122. })
  123. $(".m-bottom").on("tap", function() {
  124. if ($("#content").val() == "") {
  125. api.toast({ msg: '请填写联系酒店内容!' });
  126. return false;
  127. }
  128. _imgArr.splice(0, _imgArr.length);
  129. $(".image-list .img_item").each(function() {
  130. var _src = $(this).data("img");
  131. _imgArr.push(_src);
  132. });
  133. toast_loding_show();
  134. $.ajax({
  135. url: siteurl + 'v1/order/urge',//'?do=saveurge',
  136. data: {
  137. order_id: _geval_orderid,
  138. member_id: $api.getStorage("memberid"),
  139. content: $("#content").val(),
  140. img_list: _imgArr.toString()
  141. },
  142. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  143. dataType: 'json',
  144. type: 'post',
  145. success: function(datas) {
  146. toast_loding_hide();
  147. if (datas.result) {
  148. api.alert({
  149. title: '提交成功',
  150. msg: '消息提交酒店中!',
  151. }, function(ret, err) {
  152. api.closeWin();
  153. });
  154. } else {
  155. // api.toast({ msg: '提交失败!' });
  156. errcode(datas, datas.code);
  157. }
  158. }
  159. });
  160. return false;
  161. })
  162. $("#select-image").on("tap", function() {
  163. var has = hasPermission('storage');
  164. if(!has || !has[0] || !has[0].granted){
  165. api.confirm({
  166. title: '提醒',
  167. msg: "没有获得 存储 权限\n是否前往设置?",
  168. buttons: ['去设置', '取消']
  169. }, function (ret, err) {
  170. var index = ret.buttonIndex;
  171. if (index == 1) {
  172. reqPermission('storage');
  173. } else {
  174. api.toast({ msg: '获取存储权限失败...' });
  175. }
  176. });
  177. // $(".border-none").removeClass("mask-hidden");
  178. return false;
  179. }
  180. api.getPicture({
  181. sourceType: 'album',
  182. encodingType: 'jpg',
  183. mediaValue: 'pic',
  184. destinationType: 'url',
  185. allowEdit: false,
  186. quality: 100,
  187. targetWidth: 600,
  188. targetHeight: 600,
  189. saveToPhotoAlbum: false
  190. }, function(ret, err) {
  191. if (ret) {
  192. upimg(ret.data);
  193. }
  194. });
  195. })
  196. function upimg(files) {
  197. if (files) {
  198. api.ajax({
  199. url: siteurl + 'v2/upload/tmp',//'?do=upfile',
  200. method: 'post',
  201. data: {
  202. files: {
  203. file: files
  204. }
  205. },
  206. headers: { "X-TOKEN": $api.getStorage("accesstoken") }
  207. }, function(ret, err) {
  208. if (ret) {
  209. _tImgArr.push(ret.data);
  210. create_html(_tImgArr);
  211. }
  212. });
  213. }
  214. }
  215. function create_html(list){
  216. var html = '';
  217. for(var i in list){
  218. html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
  219. }
  220. $(".image-list span").html(html);
  221. }
  222. $(".image-list").on("tap", ".close_btn", function() {
  223. // console.log(this)
  224. _tImgArr.splice($(this).data('index')*1, 1);
  225. create_html(_tImgArr);
  226. });
  227. </script>
  228. </html>