PingAnYeXianSZCG_Web 前端代码

index.html 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <!doctype html>
  2. <html lang="en" class="feedback">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <title>信息上传</title>
  7. <link rel="stylesheet" type="text/css" href="../css/mui.min.css" />
  8. <link rel="stylesheet" type="text/css" href="../css/feedback-page.css" />
  9. <link rel="stylesheet" href="../css/webuploader.css" />
  10. <link rel="stylesheet" type="text/css" href="../css/Common.css" />
  11. <style>
  12. .mui-input-row label{
  13. padding: 11px 3px;
  14. text-align: right;
  15. width: 28%;
  16. }
  17. .mui-input-row label~input{
  18. width: 71%;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div class="mui-content">
  24. <div class="row mui-input-row">
  25. <textarea id='question' class="mui-input-clear question" placeholder="请详细描述你的问题和意见..."></textarea>
  26. </div>
  27. <div id='image-list' class="row image-list">
  28. <div id="filePicker">
  29. </div>
  30. </div>
  31. <div class="row image-list">
  32. </div>
  33. <form class="mui-input-group" method="post" enctype="multipart/form-data" id="uploadForm">
  34. <div class="mui-input-row">
  35. <label>联系人:</label>
  36. <input type="text" class="mui-input-clear" id="Username" placeholder="">
  37. </div>
  38. <div class="mui-input-row">
  39. <label>联系电话:</label>
  40. <input type="text" class="mui-input-clear" id="Phone" placeholder="">
  41. </div>
  42. </form>
  43. <div class="mui-button-row" id="Btns-box">
  44. <button type="button" id="submit" class="mui-btn mui-btn-primary" onclick="return false;">提交</button>&nbsp;&nbsp;
  45. </div>
  46. </div>
  47. <script src="../js/zepto.js"></script>
  48. <script src="../js/jquery.min.js"></script>
  49. <script src="../Script/Common/huayi.config.js"></script>
  50. <script src="../Script/Common/huayi.http.js"></script>
  51. <script src="../js/mui.min.js"></script>
  52. <script src="../js/webuploader.min.js"></script>
  53. <script type="text/javascript">
  54. mui.init();
  55. var openid = helper.cookies.get("openid");
  56. console.log(openid);
  57. var files;
  58. var Str;
  59. var str_ary;
  60. var reg = /,$/gi;
  61. $("#submit").on('tap', function() {
  62. $(".file-item ").each(function(i, n) {
  63. var a = $(this).attr("upload-index");
  64. Str += a + ',';
  65. str_ary = Str.split("ed")[1];
  66. files = Str.split("ed")[1].replace(reg, "");
  67. })
  68. console.log(files);
  69. if(!$("#question").val()) {
  70. mui.toast("工单内容不能为空");
  71. }else if(!(/^[A-Z|a-z|\u4e00-\u9fa5]*$/.test($("#Username").val()))){
  72. mui.toast("输入汉字或字母");
  73. }
  74. else if(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test($("#Phone").val()))){
  75. mui.toast("输入正确的手机号");
  76. }
  77. else {
  78. $.ajax({
  79. type: "post",
  80. url: huayi.config.callcenter_url + 'WxLogin/AddWorkOrder',
  81. async: true,
  82. dataType: 'json',
  83. data: {
  84. cusname: $("#Username").val(), //联系人
  85. cusphone: $("#Phone").val(), //联系电话
  86. content: $("#question").val(), //信息内容
  87. files: files,
  88. openid:openid
  89. },
  90. success: function(data) {
  91. if(data.state == "success") {
  92. Clean();
  93. mui.toast("添加成功");
  94. location.href = "WorkList.html";
  95. } else {
  96. files='';
  97. mui.alert(data.message);
  98. }
  99. }
  100. });
  101. }
  102. })
  103. function Clean() {
  104. $("#Username").val('');
  105. $("#Phone").val('');
  106. $("#question").val('');
  107. }
  108. // 图片上传demo
  109. var applicationPath = window.applicationPath === "" ? "" : window.applicationPath || "../../";
  110. var $ = jQuery;
  111. var $ = jQuery,
  112. $list = $('#image-list'),
  113. // 优化retina, 在retina下这个值是2
  114. ratio = window.devicePixelRatio || 1,
  115. // 缩略图大小
  116. thumbnailWidth = 50 * ratio,
  117. thumbnailHeight = 50 * ratio,
  118. // Web Uploader实例
  119. uploader;
  120. // 初始化Web Uploader
  121. $(function() {
  122. uploader = WebUploader.create({
  123. // 自动上传。
  124. auto: true,
  125. // swf文件路径
  126. swf: '../js/Uploader.swf',
  127. // 文件接收服务端。
  128. // server: 'http://192.168.4.18:4120/WxLogin/UpdateFile',
  129. server: huayi.config.callcenter_url+'/WxLogin/UpLoadProcess',
  130. // 选择文件的按钮。可选。
  131. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  132. pick: '#filePicker',
  133. // 图片数量限制
  134. fileNumLimit: 4,
  135. //可以重复上传
  136. duplicate :true ,
  137. // 只允许选择文件,可选。
  138. accept: {
  139. title: 'Images',
  140. extensions: 'gif,jpg,jpeg,bmp,png',
  141. mimeTypes: 'image/*'
  142. }
  143. });
  144. //上传图片提示
  145. uploader.on('error', function(handler) {
  146. if(handler == "Q_EXCEED_NUM_LIMIT") {
  147. mui.toast("超出最大张数");
  148. }
  149. });
  150. // 当有文件添加进来的时候
  151. uploader.on('fileQueued', function(file) {
  152. var $li = $(
  153. '<div id="' + file.id + '" class="file-item thumbnail">' +
  154. '<div class="image-close">X</div>' +
  155. '<img>' +
  156. '<div class="info">' + file.name + '</div>' +
  157. '</div>'
  158. ),
  159. $img = $li.find('img');
  160. $list.prepend($li);
  161. $(".image-close").on('tap', function() {
  162. event.stopPropagation();
  163. $(this).parent().remove();
  164. });
  165. // 创建缩略图
  166. uploader.makeThumb(file, function(error, src) {
  167. if(error) {
  168. $img.replaceWith('<span>不能预览</span>');
  169. return;
  170. }
  171. $img.attr('src', src);
  172. }, thumbnailWidth, thumbnailHeight);
  173. });
  174. // 文件上传过程中创建进度条实时显示。
  175. uploader.on('uploadProgress', function(file, percentage) {
  176. var $li = $('#' + file.id),
  177. $percent = $li.find('.progress span');
  178. // 避免重复创建
  179. if(!$percent.length) {
  180. $percent = $('<p class="progress"><span></span></p>')
  181. .appendTo($li)
  182. .find('span');
  183. }
  184. $percent.css('width', percentage * 100 + '%');
  185. });
  186. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  187. uploader.on('uploadSuccess', function(file, response) {
  188. console.log(response);
  189. $('#' + file.id).addClass('upload-state-done');
  190. $('#' + file.id).attr('upload-index', response.data);
  191. });
  192. // 文件上传失败,现实上传出错。
  193. uploader.on('uploadError', function(file) {
  194. var $li = $('#' + file.id),
  195. $error = $li.find('div.error');
  196. // 避免重复创建
  197. if(!$error.length) {
  198. $error = $('<div class="error"></div>').appendTo($li);
  199. }
  200. $error.text('上传失败');
  201. });
  202. // 完成上传完了,成功或者失败,先删除进度条。
  203. uploader.on('uploadComplete', function(file) {
  204. $('#' + file.id).find('.progress').remove();
  205. });
  206. });
  207. </script>
  208. </body>
  209. </html>