Нет описания

huayi.common.js 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //上传文件
  2. function upload(upfiledom, filebox, typeArr, fileHandle) {
  3. var Files = document.getElementById(upfiledom).files;
  4. console.log(Files);
  5. if(Files.length > 0) {
  6. var formData = new FormData();
  7. for(var i = 0; i < Files.length; i++) {
  8. formData.append('file' + i, Files[i],Files[i].name);
  9. }
  10. formData.append("token", $.cookie("token"));
  11. var typeName = Files[0].name.split('.')[Files[0].name.split('.').length - 1];
  12. console.log(typeName, 'typeName')
  13. if(typeArr.indexOf(typeName) > -1) {
  14. $.ajax({
  15. url: huayi.config.callcenter_url + "/WorkOrder/UploadFile",
  16. type: "POST",
  17. data: formData,
  18. /**
  19. *必须false才会自动加上正确的Content-Type
  20. */
  21. contentType: false,
  22. /**
  23. * 必须false才会避开jQuery对 formdata 的默认处理
  24. * XMLHttpRequest会对 formdata 进行正确的处理
  25. */
  26. processData: false,
  27. success: function(result) {
  28. document.getElementById(upfiledom).outerHTML = document.getElementById(upfiledom)
  29. .outerHTML;
  30. $('#' + upfiledom).change(function() {
  31. upload(upfiledom, filebox, typeArr, fileHandle);
  32. });
  33. var r = $.parseJSON(result);
  34. if(r.state.toLowerCase() == "success") {
  35. var a = r.data;
  36. $(a).each(function(i, n) {
  37. var strs = '<span class="files" fiel-num="' + n.F_FileId +
  38. '">' + n.F_FileName.substring(19) +
  39. '<i class="fa fa-remove del_file"></i></span>'
  40. $(strs).appendTo($(filebox)).find('.del_file').click(
  41. function(event) {
  42. event.stopPropagation();
  43. $(this).parent().remove();
  44. file_num(filebox, fileHandle)
  45. })
  46. })
  47. file_num(filebox, fileHandle);
  48. }
  49. }
  50. });
  51. } else {
  52. layer.msg("格式不正确");
  53. }
  54. } else {
  55. layer.confirm('请上传文件!', {
  56. btn: ['确定']
  57. });
  58. }
  59. }
  60. //上传文件隐藏域值
  61. function file_num(filebox, fileHandle) {
  62. var str = "";
  63. var Str;
  64. $(filebox + ' .files').each(function(j, m) {
  65. var aa = $(m).attr("fiel-num");
  66. str += aa + ",";
  67. Str =
  68. str.substring(str.length - 1) == "," ?
  69. str.substring(0, str.length - 1) :
  70. str;
  71. });
  72. $(fileHandle).val(Str);
  73. }
  74. //文件名过滤特殊字符
  75. function filterName(s) {
  76. var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\]<>/?~!@#¥……&*()&mdash;—|{}【】%‘;:”“'。,、?]")
  77. var rs = "";
  78. for(var i = 0; i < s.length; i++) {
  79. rs = rs + s.substr(i, 1).replace(pattern, '');
  80. }
  81. return rs;
  82. }