Açıklama Yok

importmzlist.html 7.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <link href="../../js/bootstrap-select/css/bootstrap-select.css" rel="stylesheet" />
  6. <script src="../../Script/Common/huayi.load.js"></script>
  7. <script src="../../Script/Common/huayi.config.js"></script>
  8. <title>导入门诊患者信息</title>
  9. <style>
  10. .btn-success {
  11. color: #fff;
  12. background-color: #249fea;
  13. border-color: #4cae4c;
  14. border-radius: 4px;
  15. cursor: pointer;
  16. }
  17. .btn-success.active,
  18. .btn-success:active,
  19. .btn-success:focus,
  20. .btn-success:hover {
  21. border-color: #4cae4c;
  22. background-color: #249fea;
  23. }
  24. .btn-success[disabled],
  25. .btn-success[disabled]:active,
  26. .btn-success[disabled]:focus,
  27. .btn-success[disabled]:hover {
  28. background-color: #249fea;
  29. }
  30. #importNum {
  31. width: 130px;
  32. margin: 60px auto 0 auto;
  33. }
  34. .progress {
  35. width: 80%;
  36. margin: 20px auto 0 auto;
  37. display: none;
  38. }
  39. div.drop_down {
  40. position: relative;
  41. line-height: 34px;
  42. }
  43. .drop_down .caret {
  44. position: absolute;
  45. right: 10px;
  46. top: 15px;
  47. }
  48. .form-group {
  49. margin-bottom: 10px!important;
  50. }
  51. @media (min-width: 768px) {
  52. .drop_down .form-control {
  53. width: 818px;
  54. }
  55. }
  56. </style>
  57. </head>
  58. <body>
  59. <div style="padding: 10px; margin-bottom: 20px;">
  60. <!-- <div class="alert alert-info" role="alert">
  61. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
  62. <span class="sr-only">tips:</span> 上传文件需要严格按照下载的EXCEL模板进行填写!上传后点击导入即可!
  63. </div> -->
  64. <div class="form-inline clearfix">
  65. <!-- <div class="form-group">
  66. <select class="form-control selectpicker" id="import_pro" data-live-search="true">
  67. <option value="">请选择项目</option>
  68. </select>
  69. </div>
  70. <div class="form-group">
  71. <select class="form-control selectpicker" id="import_type_user">
  72. <option value="">请选择用户类型</option>
  73. <option value="1">客户</option>
  74. <option value="2">内部员工</option>
  75. </select>
  76. </div> -->
  77. <!-- <div class="form-group">
  78. <a id="excelMod" class="btn btn-success form-control" title="点击下载EXCEL模板" href="javascript:void(0)" onclick="ExcelMod()" rel="nofollow">下载EXCEL模板</a>
  79. </div> -->
  80. <div class="form-group">
  81. <input class="hidden" type="file" id="upFile" name="upFile" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/x-xls,application/x-xlsx" />
  82. <input class="form-control btn btn-success" title="点击上传文件" type="button" value="上传文件" id="upFileExcel" />
  83. <span class="excelName"></span>
  84. </div>
  85. </div>
  86. <div class="progress">
  87. <div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
  88. </div>
  89. </div>
  90. <div class="form-group text-center">
  91. <input type="button" id="importNum" class="form-control btn btn-success" value="导入" />
  92. </div>
  93. </div>
  94. <script src="../../js/bootstrap-select/js/bootstrap-select.js"></script>
  95. <script src="../../js/bootstrap-select/js/i18n/defaults-zh_CN.js"></script>
  96. <script>
  97. var percents = 0; //长传文件进度值
  98. $(document).ready(function() {
  99. //获取 项目
  100. helper.getDropList.getProlistDrop($('#import_pro')).then(function() {
  101. var pid = helper.request.queryString('pro_id');
  102. if(pid) {
  103. $('#import_pro').selectpicker('val', pid).trigger('change');
  104. $('#import_pro').prop('disabled', true);
  105. $('#import_pro').selectpicker('refresh');
  106. }
  107. });
  108. //上传EXCEL文件
  109. $("#upFileExcel").click(function() {
  110. $("#upFile").trigger("click");
  111. });
  112. $("#upFile").change(function() {
  113. var Files = document.getElementById("upFile").files;
  114. $('.excelName').html(Files[0].name); //文件名称
  115. });
  116. $("#importNum").click(function() {
  117. uploads();
  118. });
  119. });
  120. //下载模板
  121. function ExcelMod() {
  122. window.location.href = huayi.config.callcenter_url + "testusertypeapi/api/Test/mzhzimportexce";
  123. }
  124. //上传Excel文件 模拟实时进度
  125. function uploads() {
  126. var txtName = $('.excelName').text();
  127. // if(!$.trim($('#import_pro').val())) {
  128. // layer.confirm('你还没有选择项目', {
  129. // icon: 2,
  130. // btn: ['确定'] //按钮
  131. // });
  132. // return;
  133. // }
  134. // if(!$.trim($('#import_type_user').val())) {
  135. // layer.confirm('你还没有选择用户类型', {
  136. // icon: 2,
  137. // btn: ['确定'] //按钮
  138. // });
  139. // return;
  140. // }
  141. if(txtName == '') {
  142. layer.confirm('你还没有上传文件', {
  143. icon: 2,
  144. btn: ['确定']
  145. });
  146. return;
  147. }
  148. //一般情况下,excel后缀是".xls",在2007以及以后的版本中又增加了".xlsx"。excel的模板文件后缀名是".xlt",启动宏的工作簿后缀名是".xlsm"。
  149. if(txtName.indexOf('.xls') != -1 ||
  150. txtName.indexOf('.xlsx') != -1 ||
  151. txtName.indexOf('.xlt') != -1 ||
  152. txtName.indexOf('.xlsm') != -1
  153. ) {
  154. var formData = new FormData();
  155. var Files = document.getElementById("upFile").files;
  156. formData.append("Files", Files[0]); //是 Files[] 上传文件
  157. formData.append("projectid", $('#import_pro').val()); //是 string 项目id
  158. formData.append("type", $('#import_type_user').val()); //是 int 类型(1甲方2诺达)
  159. $.ajax({
  160. url: huayi.config.callcenter_url + "testusertypeapi/api/TestUserType/mzhzimportexce",
  161. type: "POST",
  162. data: formData,
  163. /**
  164. *必须false才会自动加上正确的Content-Type
  165. */
  166. contentType: false,
  167. /**
  168. * 必须false才会避开jQuery对 formdata 的默认处理
  169. * XMLHttpRequest会对 formdata 进行正确的处理
  170. */
  171. processData: false,
  172. xhr: function() {
  173. var xhr = jQuery.ajaxSettings.xhr();
  174. xhr.upload.onload = function() {
  175. updateProgress(88);
  176. }
  177. xhr.upload.onprogress = function(ev) {
  178. updateProgress(70);
  179. }
  180. return xhr;
  181. },
  182. beforeSend: function(request) {
  183. $('.progress').show();
  184. $("#importNum").attr("disabled", true);
  185. $("#importNum").val('导入中...');
  186. updateProgress(50);
  187. },
  188. success: function(result) {
  189. updateProgress(100);
  190. var r = $.parseJSON(result);
  191. $("#importNum").attr("disabled", false);
  192. $("#importNum").val('导入');
  193. if(r.state.toLowerCase() == "success") {
  194. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  195. parent.layer.close(index); //再执行关闭
  196. parent.location.reload();
  197. parent.layer.alert(r.message, {
  198. icon: 1,
  199. btn: ['确定']
  200. });
  201. }
  202. },
  203. error: function(textStatus) {
  204. percents = 0;
  205. $('.progress').hide();
  206. layer.confirm('网络繁忙,请稍后再试...', {
  207. btn: ['确定'] //按钮
  208. });
  209. $("#importNum").attr("disabled", false);
  210. $("#importNum").val('导入');
  211. },
  212. complete: function(XMLHttpRequest, textStatus) {
  213. percents = 0;
  214. $('.progress').hide();
  215. if(textStatus == 'timeout') {
  216. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  217. xmlhttp.abort();
  218. layer.confirm('网络超时,请稍后再试...', {
  219. btn: ['确定'] //按钮
  220. });    
  221. }
  222. $("#importNum").attr("disabled", false);
  223. $("#importNum").val('导入');
  224. },
  225. });
  226. } else {
  227. layer.confirm('请上传EXCEL文件', {
  228. icon: 2,
  229. btn: ['确定']
  230. });
  231. return;
  232. }
  233. }
  234. //更新进度条
  235. function updateProgress(p) {
  236. while(percents < p) {
  237. percents++;
  238. $('.progress-bar').css('width', percents + '%');
  239. $('.progress-bar').text(percents + '%');
  240. }
  241. }
  242. </script>
  243. </body>
  244. </html>