order.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647
  1. $(function () {
  2. let shippingStatus = getQueryString("shippingStatus");
  3. let payStatus = getQueryString("payStatus");
  4. let orderStatus = getQueryString("orderStatus");
  5. let merchOrderSn = getQueryString("merchOrderSn");
  6. let startTime = getQueryString("startTime");
  7. let endTime = getQueryString("endTime");
  8. let url = '../order/list?1';
  9. if (shippingStatus) {
  10. url += '&shippingStatus=' + shippingStatus;
  11. }
  12. if (payStatus) {
  13. url += '&payStatus=' + payStatus;
  14. }
  15. if (orderStatus) {
  16. url += '&orderStatus=' + orderStatus;
  17. }
  18. if (merchOrderSn) {
  19. url += '&merchOrderSn=' + merchOrderSn;
  20. }
  21. if (startTime) {
  22. url += '&startTime=' + startTime;
  23. }
  24. if (endTime) {
  25. url += '&endTime=' + endTime;
  26. }
  27. $("#jqGrid").jqGrid({
  28. url: url,
  29. datatype: "json",
  30. colModel: [
  31. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  32. {label: '订单号', name: 'orderSn', index: 'order_sn', width: 100},
  33. {label: '会员', name: 'userName', index: 'user_name', width: 80},
  34. {label: '支付类型', name: 'isMergePay', index: 'is_merge_pay', width: 60,
  35. formatter: function (value) {
  36. if (value == '2') {
  37. return '合并支付';
  38. }else if (value == '1') {
  39. return '合并支付';
  40. } else if (value == '0') {
  41. return '单笔支付';
  42. }
  43. return '-';
  44. }
  45. },
  46. {label: '商户订单号', name: 'merchOrderSn', index: 'merchOrderSn', width: 140},
  47. {
  48. label: '订单业务类型', name: 'orderBizType', index: 'order_biz_type', width: 80,
  49. formatter: function (value) {
  50. if (value == '00') {
  51. return '保税备货';
  52. } else if (value == '02') {
  53. return '保税展示补货';
  54. } else if (value == '10') {
  55. return '保税展示跨境';
  56. } else if (value == '11') {
  57. return '普通货物';
  58. }
  59. return '-';
  60. }
  61. },
  62. {
  63. label: '订单状态', name: 'orderStatus', index: 'order_status', width: 80,
  64. formatter: function (value) {
  65. if (value == '0') {
  66. return '订单创建成功等待付款';
  67. } else if (value == '100') {
  68. return '订单付款中';
  69. } else if (value == '101') {
  70. return '订单已取消';
  71. } else if (value == '102') {
  72. return '订单已删除';
  73. } else if (value == '201') {
  74. return '订单已付款,等待发货';
  75. } else if (value == '300') {
  76. return '订单已发货';
  77. } else if (value == '301') {
  78. return '用户确认收货';
  79. } else if (value == '401') {
  80. return '没有发货,退款';
  81. } else if (value == '402') {
  82. return '已收货,退款退货';
  83. }
  84. return value;
  85. }
  86. },
  87. {
  88. label: '订付人核验', name: 'buyerPayCheck', index: 'buyer_pay_check', width: 80,
  89. formatter: function (value) {//订购人支付人校验,0:未知,1:一致,2:不一致,3:校验异常
  90. if (value == '0') {
  91. return '未知';
  92. } else if (value == '1') {
  93. return '一致';
  94. } else if (value == '2') {
  95. return '不一致';
  96. }
  97. return "-";
  98. }
  99. },
  100. {
  101. label: '付款状态', name: 'payStatus', index: 'pay_status', width: 80,
  102. formatter: function (value) {
  103. if (value == '0') {
  104. return '未付款';
  105. } else if (value == '1') {
  106. return '付款中';
  107. } else if (value == '2') {
  108. return '已付款';
  109. } else if (value == '3') {
  110. return '退款中';
  111. } else if (value == '4') {
  112. return '退款';
  113. }
  114. return value;
  115. }
  116. },
  117. // {label: '收货人', name: 'consignee', index: 'consignee', width: 80},
  118. // {label: '收货地址', name: 'address', index: 'address', width: 80},
  119. // {label: '联系电话', name: 'mobile', index: 'mobile', width: 80},
  120. {label: '实际支付', name: 'actualPrice', index: 'actual_price', width: 60},
  121. {label: '订单总价', name: 'orderPrice', index: 'order_price', width: 60},
  122. {
  123. label: '下单时间', name: 'addTime', index: 'add_time', width: 120,
  124. formatter: function (value) {
  125. return transDate(value, 'yyyy-MM-dd hh:mm:ss');
  126. }
  127. },
  128. {label: '快递公司', name: 'shippingName', index: 'shipping_name', width: 80},
  129. {label: '配送单号', name: 'shippingNo', index: 'shipping_No', width: 80},
  130. {label: '快递费用', name: 'shippingFee', index: 'shipping_fee', width: 80},
  131. {
  132. label: '发货状态', name: 'shippingStatus', index: 'shipping_status', width: 60,
  133. formatter: function (value) {
  134. if (value == '0') {
  135. return '未发货';
  136. } else if (value == '1') {
  137. return '已发货';
  138. } else if (value == '2') {
  139. return '已收货';
  140. } else if (value == '4') {
  141. return '退货';
  142. }
  143. return value;
  144. }
  145. },
  146. {
  147. label: '操作', width: 180, sortable: false,
  148. formatter: function (value, col, row) {
  149. let htmlStr = '<button class="btn btn-outline btn-info" onclick="vm.lookDetail(' + row.id + ')"><i class="fa fa-info-circle"></i>详情</button>&nbsp;';
  150. //订单状态: 0订单创建成功等待付款, 101订单已取消, 102订单已删除,201订单已付款,等待发货,300订单已发货, 301用户确认收货,401 没有发货,退款 402 已收货,退款退货
  151. if(hasPermission('order:printMsg')){
  152. if (row.orderStatus == 300 && (row.orderBizType == '10' || row.orderBizType == '02')) {
  153. htmlStr += '<button class="btn btn-outline btn-primary" onclick="vm.printDetail(' + row.id + ')"><i class="fa fa-print"></i>打印</button>&nbsp;';
  154. }
  155. }
  156. if (hasPermission('order:refund')) {
  157. if (row.orderStatus == 0) {
  158. htmlStr += '<button class="btn btn-outline btn-danger" onclick="vm.cancelUpdate(' + row.id + ')"><i class="fa fa-times-circle-o"></i>&nbsp;取消</button>&nbsp;';
  159. }
  160. if (row.orderStatus == 201) {
  161. if (row.isPaymentSend == 0 || row.isEleOrderSend == 0 || row.isCustomsSend == 0) {
  162. htmlStr += '<button class="btn btn-outline btn-danger" onclick="vm.refundUpdate(' + row.id + ')"><i class="fa fa-times-circle-o"></i>&nbsp;退款</button>&nbsp;';
  163. }
  164. }
  165. }
  166. return htmlStr;
  167. }
  168. }
  169. ],
  170. viewrecords: true,
  171. height: 675,
  172. rowNum: 10,
  173. rowList: [10, 30, 50],
  174. rownumbers: true,
  175. rownumWidth: 25,
  176. autowidth: true,
  177. multiselect: true,
  178. pager: "#jqGridPager",
  179. jsonReader: {
  180. root: "page.list",
  181. page: "page.currPage",
  182. total: "page.totalPage",
  183. records: "page.totalCount"
  184. },
  185. prmNames: {
  186. page: "page",
  187. rows: "limit",
  188. order: "order"
  189. },
  190. gridComplete: function () {
  191. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  192. }
  193. });
  194. });
  195. let vm = new Vue({
  196. el: '#rrapp',
  197. data: {
  198. showDiv: 1, // 1查询 2编辑 3发货 4选择骑手 5退款
  199. title: null,
  200. order: {},
  201. shippings: [],
  202. q: {
  203. orderSn: '',
  204. orderStatus: '',
  205. merchOrderSn: '',
  206. startTime: '',
  207. endTime: ''
  208. },
  209. refundMoney: 0,
  210. shipping: {},
  211. logisticsInfo: {
  212. tracesList: [],
  213. logisticCode: '',
  214. shipperCode: ''
  215. },
  216. macros: [],
  217. orderProcessRecordEntity: {},
  218. orderGoodsList: []
  219. },
  220. methods: {
  221. query: function () {
  222. vm.reload(1);
  223. },
  224. getMacro: function () {
  225. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  226. vm.macros = r.list;
  227. });
  228. },
  229. getLogistics: function (event) {
  230. let id = getSelectedRow();
  231. if (id == null) {
  232. return;
  233. }
  234. $.get("../order/getLogistics/" + id, function (r) {
  235. if (r.code != 0) {
  236. alert(r.msg);
  237. return;
  238. }
  239. vm.logisticsInfo = r.result;
  240. vm.showDiv = 3;
  241. vm.title = "快递信息";
  242. });
  243. },
  244. getProcess: function (event) {
  245. let orderSn = getSelectedRowData().orderSn;
  246. if (orderSn == null) {
  247. return;
  248. }
  249. $.get("../order/getProcess/" + orderSn, function (r) {
  250. if (r.code != 0) {
  251. alert(r.msg);
  252. return;
  253. }
  254. if (r.orderProcessRecordEntity != null) {
  255. vm.orderProcessRecordEntity = r.orderProcessRecordEntity;
  256. vm.showDiv = 7;
  257. } else {
  258. alert(orderSn + "暂无清关信息");
  259. }
  260. });
  261. },
  262. confirm: function (event) {
  263. let id = getSelectedRow();
  264. if (id == null) {
  265. return;
  266. }
  267. confirm('确定收货?', function () {
  268. $.ajax({
  269. type: "POST",
  270. url: "../order/confirm",
  271. contentType: "application/json",
  272. data: JSON.stringify(id),
  273. dataType: "json",
  274. success: function (r) {
  275. if (r.code == 0) {
  276. alert('操作成功', function (index) {
  277. $("#jqGrid").trigger("reloadGrid");
  278. });
  279. } else {
  280. alert(r.msg);
  281. }
  282. }
  283. });
  284. });
  285. },
  286. openComment: function (event) {
  287. let id = getSelectedRow();
  288. if (id == null) {
  289. return;
  290. }
  291. openWindow({
  292. type: 2,
  293. title: '评价',
  294. content: '../shop/comment.html?orderId=' + id
  295. });
  296. },
  297. shippingChange: function (opt) {
  298. vm.order.shippingName = opt.label;
  299. vm.order.shippingCode = opt.value;
  300. },
  301. saveOrUpdate: function (event) {
  302. $.ajax({
  303. type: "POST",
  304. url: '../order/sendGoods',
  305. contentType: "application/json",
  306. data: JSON.stringify(vm.order),
  307. success: function (r) {
  308. if (r.code === 0) {
  309. alert('操作成功', function (index) {
  310. vm.reload();
  311. });
  312. } else {
  313. alert(r.msg);
  314. }
  315. }
  316. });
  317. },
  318. reload: function (event) {
  319. vm.showDiv = 1;
  320. let page = event;
  321. if (event != 1) {
  322. page = $("#jqGrid").jqGrid('getGridParam', 'page');
  323. }
  324. $("#jqGrid").jqGrid('setGridParam', {
  325. postData: {
  326. 'orderSn': vm.q.orderSn,
  327. 'orderStatus': vm.q.orderStatus,
  328. 'merchOrderSn': vm.q.merchOrderSn,
  329. 'startTime': vm.q.startTime,
  330. 'endTime': vm.q.endTime
  331. },
  332. page: page
  333. }).trigger("reloadGrid");
  334. },
  335. reloadSearch: function () {
  336. vm.q = {
  337. orderSn: '',
  338. orderStatus: '',
  339. merchOrderSn: '',
  340. startTime: '',
  341. endTime: ''
  342. };
  343. },
  344. lookDetail: function (rowId) { //第三步:定义编辑操作
  345. vm.showDiv = 2;
  346. vm.title = "订单详情";
  347. $.get("../order/infos/" + rowId, function (r) {
  348. vm.order = r.order;
  349. vm.orderGoodsList = r.order.orderGoodsEntityList;
  350. });
  351. vm.getMacro();
  352. },
  353. printDetail: function (rowId) {
  354. confirm('确定连接打票机打印出票?', function () {
  355. $.ajax({
  356. type: "POST",
  357. url: "../order/printMsg",
  358. contentType: "application/json",
  359. data: JSON.stringify(rowId),
  360. success: function (r) {
  361. if (r.ticket != null) {
  362. // printArea(r.ticket);
  363. var content = getPrintContent(r.ticket);
  364. printArea(content);
  365. alert('打印小票完成');
  366. }else{
  367. alert("打印小票失败");
  368. }
  369. }
  370. });
  371. })
  372. },
  373. shippingBind: function (event) {
  374. let orderId = vm.order.id;
  375. $.ajax({
  376. type: "POST",
  377. url: '../order/shippingBind',
  378. data: {orderId: orderId, shippingCode: vm.shipping},
  379. success: function (r) {
  380. if (r.code === 0) {
  381. alert('操作成功', function (index) {
  382. vm.reload();
  383. });
  384. } else {
  385. alert(r.msg);
  386. }
  387. }
  388. });
  389. },
  390. refund: function (rowId) {
  391. vm.showDiv = 5;
  392. vm.refundMoney = 0;
  393. Ajax.request({
  394. url: "../order/info/" + rowId,
  395. async: true,
  396. successCallback: function (r) {
  397. vm.order = r.order;
  398. vm.refundMoney = r.order.actualPrice;
  399. }
  400. });
  401. },
  402. cancelUpdate: function (rowId) {
  403. let params = {};
  404. params.orderId = rowId;
  405. $.ajax({
  406. type: "POST",
  407. url: '../order/cancel',
  408. data: params,
  409. success: function (r) {
  410. if (r.code === 0) {
  411. alert('取消成功', function (index) {
  412. vm.reload();
  413. });
  414. } else {
  415. alert(r.msg);
  416. }
  417. }
  418. });
  419. },
  420. refundUpdate: function (rowId) {
  421. let params = {};
  422. params.orderId = rowId;
  423. $.ajax({
  424. type: "POST",
  425. url: '../order/refund',
  426. data: params,
  427. success: function (r) {
  428. if (r.code === 0) {
  429. alert('退款成功', function (index) {
  430. vm.reload();
  431. });
  432. } else {
  433. alert(r.msg);
  434. }
  435. }
  436. });
  437. },
  438. exportOrder: function() {
  439. var params = {};
  440. params.orderSn = vm.q.orderSn, params.orderStatus = vm.q.orderStatus, params.merchOrderSn = vm.q.merchOrderSn
  441. , params.startTime = vm.q.startTime, params.endTime = vm.q.endTime;
  442. exportFile('#rrapp', '../order/export', params);
  443. /*$.ajax({
  444. type: "get",
  445. url: '../order/export',
  446. data: params,
  447. success: function (r) {
  448. if (r.code === 0) {
  449. alert('导出成功', function (index) {
  450. vm.reload();
  451. });
  452. } else {
  453. alert(r.msg);
  454. }
  455. }
  456. });*/
  457. }
  458. },
  459. created: function () {
  460. $.get("../shipping/queryAll", function (r) {
  461. vm.shippings = r.list;
  462. });
  463. }
  464. });
  465. // var printAreaCount = 0;
  466. // function printArea(ticket) {
  467. // var idPrefix = "printArea_";
  468. // removePrintArea(idPrefix + printAreaCount);
  469. // printAreaCount++;
  470. // var iframeId = idPrefix + printAreaCount;
  471. // var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
  472. // iframe = document.createElement('IFRAME');
  473. // $(iframe).attr({
  474. // style: iframeStyle,
  475. // id: iframeId
  476. // });
  477. // document.body.appendChild(iframe);
  478. // var doc = iframe.contentWindow.document;
  479. // $(document).find("link").filter(function () {
  480. // return $(this).attr("rel").toLowerCase() == "stylesheet";
  481. // }).each(
  482. // function () {
  483. // doc.write('<link type="text/css" rel="stylesheet" href="'
  484. // + $(this).attr("href") + '" >');
  485. // });
  486. // doc.write('<div class="">' + content
  487. // + '</div>');
  488. // doc.close();
  489. // var frameWindow = iframe.contentWindow;
  490. // frameWindow.close();
  491. // frameWindow.focus();
  492. // frameWindow.print();
  493. // }
  494. // var removePrintArea = function (id) {
  495. // $("iframe#" + id).remove();
  496. // };
  497. function getPrintContent(ticket) {
  498. var content = "<div style=\"width: 250px;font-family: 微软雅黑;font-size: 8px;\">";
  499. //小票头
  500. content += "<div style=\"text-align: center;width: 100%;font-weight:bold;font-size: 13px;\">";
  501. content += ticket.ticketHead.title;
  502. content += "</div>";
  503. content += "<div style=\"width: 100%;\">";
  504. content += "会员:" + ticket.ticketHead.memberId;
  505. content += "</div>";
  506. content += "<div style=\"width: 100%;\">";
  507. content += "订单号:" + ticket.ticketHead.orderId;
  508. content += "</div>";
  509. content += "<div style=\"width: 100%;\">";
  510. content += "交易时间:" + ticket.ticketHead.tradeTime;
  511. content += "</div>";
  512. content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
  513. //商品信息
  514. content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  515. content += "<tr>";
  516. content += "<td style=\"width: 50%;text-align: left;font-size: 10px;font-weight: bold;\">商品名称</td>";
  517. content += "<td style=\"width: 17%;text-align: right;font-size: 10px;font-weight: bold;\">单价</td>";
  518. content += "<td style=\"width: 15%;text-align: right;font-size: 10px;font-weight: bold;\">数量</td>";
  519. content += "<td style=\"width: 18%;text-align: right;font-size: 10px;font-weight: bold;\">小计</td>";
  520. content += "</tr>";
  521. content += "</table>";
  522. content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
  523. content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  524. for (var i=0;i< ticket.goods.length;i++){
  525. content += "<tr>";
  526. content += "<td style=\"width: 50%;text-align: left;font-size: 8px;padding-top: 8px;\">";
  527. content += "<table style=\"width: 100%;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
  528. content += "<tr>";
  529. content += "<td style=\"text-align: left;font-size: 8px;vertical-align:top;\">#</td>";
  530. content += "<td style=\"text-align: left;font-size: 8px;\">" + ticket.goods[i].gname + "</td>";
  531. content += "</tr>";
  532. content += "</table>";
  533. content += "</td>";
  534. content += "<td style=\"width: 17%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].uprice + "</td>";
  535. content += "<td style=\"width: 15%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].num + "</td>";
  536. content += "<td style=\"width: 18%;text-align: right;font-size: 8px;vertical-align:bottom;padding-top: 8px;\">" + ticket.goods[i].subtotal + "元</td>";
  537. content += "</tr>";
  538. }
  539. content += "</table>";
  540. content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
  541. //收银信息
  542. content += "<div style=\"width: 100%;\">";
  543. content += "<span style=\"float: left;width: 50%;text-align: left;\">商品合计:</span>";
  544. content += "<span style=\"float: left;width: 17%;text-align: left;\">" + ticket.cashInfo.goodsTotal + "件</span>";
  545. content += "<span style=\"float: right;width: 33%;text-align: right;\">" + ticket.cashInfo.total + "元</span>";
  546. content += "</div>";
  547. content += "<div style=\"width: 100%;\">";
  548. content += "<span style=\"float: left;width: 50%;text-align: left;\">实收:</span>";
  549. content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.receipts + "元</span>";
  550. content += "</div>";
  551. content += "<div style=\"width: 100%;\">";
  552. content += "<span style=\"float: left;width: 50%;text-align: left;\">找零:</span>";
  553. content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.oddChange + "元</span>";
  554. content += "</div>";
  555. content += "<div style=\"width: 100%;\">";
  556. content += "<span style=\"float: left;width: 50%;text-align: left;\">优惠券:</span>";
  557. content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.coupon + "元</span>";
  558. content += "</div>";
  559. content += "<div style=\"width: 100%;\">";
  560. content += "<span style=\"float: left;width: 50%;text-align: left;\">运费:</span>";
  561. content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.freight + "元</span>";
  562. content += "</div>";
  563. content += "<div style=\"width: 100%;\">";
  564. content += "<span style=\"float: left;width: 50%;text-align: left;\">支付渠道:</span>";
  565. content += "<span style=\"float: right;width: 50%;text-align: right;\">" + ticket.cashInfo.paymentMode + "</span>";
  566. content += "</div>";
  567. content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
  568. //海关清单信息
  569. content += "<div style=\"width: 100%;\">";
  570. content += "订单号:" + ticket.cusListing.orderId;
  571. content += "</div>";
  572. content += "<div style=\"width: 100%;\">";
  573. content += "运单编号:" + ticket.cusListing.waybillId;
  574. content += "</div>";
  575. content += "<div style=\"width: 100%;\">";
  576. content += "海关清单号:" + ticket.cusListing.invtNo;
  577. content += "</div>";
  578. content += "<div style=\"width: 100%;\">";
  579. content += "收货人:" + ticket.cusListing.consignee;
  580. content += "</div>";
  581. content += "<div style=\"width: 100%;\">";
  582. content += "收货人电话:" + ticket.cusListing.consigneeTel;
  583. content += "</div>";
  584. content += "<div style=\"width: 100%;\">";
  585. content += "始发地:" + ticket.cusListing.originAddress;
  586. content += "</div>";
  587. content += "<div style=\"width: 100%;\">";
  588. content += "交货地:" + ticket.cusListing.deliveryAddress;
  589. content += "</div>";
  590. content += "<div style=\"width: 100%;overflow:hidden;white-space: nowrap;\">--------------------------------------------------</div>";
  591. content += "<div style=\"width: 100%;\">";
  592. content += ticket.ticketFoot.summary;
  593. content += "</div>";
  594. content += "<div style=\"width: 100%;\">";
  595. content += "客服电话:" + ticket.ticketFoot.serviceTel;
  596. content += "</div>";
  597. content += "<div style=\"width: 100%;\">";
  598. content += "网址:" + ticket.ticketFoot.url1;
  599. content += "</div>";
  600. content += "<div style=\"width: 100%;\">";
  601. content += ticket.ticketFoot.welcome;
  602. content += "</div>";
  603. return content;
  604. }
  605. var printAreaCount = 0;
  606. function printArea(content) {
  607. var idPrefix = "printArea_";
  608. removePrintArea(idPrefix + printAreaCount);
  609. printAreaCount++;
  610. var iframeId = idPrefix + printAreaCount;
  611. var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
  612. iframe = document.createElement('IFRAME');
  613. $(iframe).attr({
  614. style: iframeStyle,
  615. id: iframeId
  616. });
  617. document.body.appendChild(iframe);
  618. var doc = iframe.contentWindow.document;
  619. doc.open();
  620. //$(document).find("link").filter(function () {
  621. //return $(this).attr("rel").toLowerCase() == "stylesheet";
  622. //}).each(
  623. //function () {
  624. //doc.write('<link type="text/css" rel="stylesheet" href="'
  625. //+ $(this).attr("href") + '" >');
  626. //});
  627. doc.write('<div class="">' + content
  628. + '</div>');
  629. doc.close();
  630. var frameWindow = iframe.contentWindow;
  631. frameWindow.close();
  632. frameWindow.focus();
  633. frameWindow.print();
  634. }
  635. var removePrintArea = function (id) {
  636. $("iframe#" + id).remove();
  637. };