deliver.js 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. $('#lager').click(function () {
  5. $('#iframe1').contentWindow.location.reload('lager.html');
  6. });
  7. Controller.api.bindevent();
  8. },
  9. lager: function () {
  10. // 初始化表格参数配置
  11. Table.api.init();
  12. this.table.first();
  13. this.table.second();
  14. Controller.api.bindevent();
  15. },
  16. table:{
  17. first:function (){
  18. var table = $("#table");
  19. // 初始化表格
  20. table.bootstrapTable({
  21. url: 'deliver/lager',
  22. pk: 'id',
  23. height:400,
  24. sortName: 'id',
  25. toolbar:'#toolbar',
  26. searchFormVisible:true,
  27. onClickRow:function(row, $element, field)
  28. {
  29. $("#myTabContent1 .form-commonsearch input[name='large_id']").val(row.id);
  30. $("#myTabContent1 .btn-refresh").trigger("click");
  31. },
  32. search:false,
  33. showToggle:false,
  34. showColumns:false,
  35. showExport:false,
  36. columns: [
  37. [
  38. {checkbox: true},
  39. {field: 'id', title: 'ID', visible:false,operate: false},
  40. {field: 'bach', title: __('批次号'),operate: "LIKE"},
  41. {field: 'l_flow', title: __('托盘号'), operate: false},
  42. {field: 'matter_name', title: __('辅料名称'), operate: 'LIKE',searchList: $.getJSON("deliver/matterName")},
  43. {field: 'manufacture_date', title: '生产日期', operate: 'RANGE', addclass: 'datetimerange',datetimeFormat:'YYYY-MM-DD', formatter: Table.api.formatter.datetime},
  44. {field: 'code', title: __('大件编码'), operate: false},
  45. {field: 'small_num', title: __('小件数'),operate: false},
  46. ]
  47. ]
  48. });
  49. // 监听复选框点击事件
  50. $('#table').on('check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table', function(e, rows) {
  51. var selectedData = table.bootstrapTable('getSelections'); // 获取选中的数据
  52. // 计算选中的大件数量和小件数量
  53. // 大件数量(选中的行数)
  54. var largeItemCount = selectedData.length;
  55. var smallItemCount = selectedData.reduce(function(total, row) {
  56. // 累加每个选中项的 small_num
  57. return total + (row.small_num || 0);
  58. }, 0);
  59. // 更新页面上的提示信息
  60. $('p span').eq(1).text(largeItemCount); // 更新大件数量
  61. $('p span').eq(3).text(smallItemCount); // 更新小件数量
  62. });
  63. //导出发货按钮
  64. $('.btn-print').on('click',function () {
  65. var ids = Table.api.selectedids(table);
  66. if (ids.length === 0){
  67. alert('至少选择一个大件');
  68. }
  69. var lager = ids.toString();
  70. // window.location.href = 'print?lager_id='+lager;
  71. Fast.api.ajax({
  72. url:'deliver/print',
  73. data:{lager_id:lager},
  74. },function (data,res) {
  75. if (res.code == 1){
  76. window.location.href = '/'+res.data;
  77. table.bootstrapTable('refresh');
  78. }
  79. return false;
  80. },function (data,res) {
  81. if (res.code == 0){
  82. layer.confirm(res.msg);
  83. }
  84. return false;
  85. })
  86. })
  87. // 为表格绑定事件
  88. Table.api.bindevent(table);
  89. //去掉时间区间记忆
  90. table.on('post-body.bs.table',function (e,settings,json,xhr) {
  91. $('.datetimerange').each(function () {
  92. $(this).attr('autocomplete','off');
  93. })
  94. });
  95. }, second:function(){
  96. //小件列表
  97. var smallTable = $('#small_table');
  98. smallTable.bootstrapTable({
  99. url:'deliver/smallList',
  100. height: 300,
  101. toolbar: '#toolbar1',
  102. search:false,
  103. // commonSearch:false,
  104. showToggle:false,
  105. showColumns:false,
  106. showExport:false,
  107. columns: [
  108. [
  109. {field: 'large_id',title: __('大件id'),operate: 'LIKE',visible:false},
  110. {field: 'code', title: __('小件标签代码'),operate: false},
  111. {field: 'l_flow', title: __('当前序号'),operate: false},
  112. {field: 'print_num', title: __('打印次数'),operate: false},
  113. {field: 'status', title: __('状态'),searchList: {"0":'正常',"1":'已删除'},operate: false,formatter: Table.api.formatter.status},
  114. ]
  115. ]
  116. });
  117. // 为表格绑定事件
  118. Table.api.bindevent(smallTable);
  119. }
  120. },
  121. apply: function () {
  122. // 初始化表格参数配置
  123. Table.api.init({
  124. extend: {
  125. index_url: 'deliver/apply' + location.search,
  126. goods_url: 'deliver/goods',
  127. del_url:'deliver/apply_del',
  128. table:'deliver'
  129. }
  130. });
  131. var table = $("#table2");
  132. // 初始化表格
  133. table.bootstrapTable({
  134. url: $.fn.bootstrapTable.defaults.extend.index_url,
  135. pk: 'id',
  136. height:400,
  137. sortName: 'id',
  138. searchFormVisible:true,
  139. search:false,
  140. showToggle:false,
  141. showColumns:false,
  142. showExport:false,
  143. fixedColumns: true,
  144. fixedRightNumber: 1,
  145. columns: [
  146. [
  147. {checkbox: true},
  148. {field: 'id', title: __('Id'),visible:false,operate: false},
  149. {field: 'matter_name', title: '辅料名称', operate: 'LIKE',searchList: $.getJSON("deliver/matterName")},
  150. {field: 'matter_no', title: '辅料编码', operate: false},
  151. {field: 'username', title: '所属用户', operate: 'LIKE'},
  152. {field: 'large_num', title: '大件数量', operate: false},
  153. {field: 'small_num', title: '小件数量', operate: false},
  154. {field: 'create_time', title: '创建时间', operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime},
  155. {field: 'file_dir', title: '下载路径', operate: false,formatter: function (value,row,index) {
  156. if (row.status == 0){
  157. return "<a href=/"+value+">点击下载</a>";
  158. }else {
  159. return "不支持下载";
  160. }
  161. }},
  162. {field: 'status', title: '状态', operate: 'LIKE',searchList: {"0":'待发货',"1":'已删除'}, formatter: Table.api.formatter.status},
  163. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  164. ]
  165. ],
  166. });
  167. // 为表格绑定事件
  168. Table.api.bindevent(table);
  169. //发货按钮
  170. $('.btn-goods').on('click',function () {
  171. var ids = Table.api.selectedids(table);
  172. if (ids.length === 0){
  173. alert('至少选择一个订单');
  174. }
  175. var id_str = ids.toString();
  176. Fast.api.open('deliver/goods?ids='+id_str,'发货信息',{area:["60%","60%"]})
  177. });
  178. //去掉时间区间输入记忆
  179. table.on('post-body.bs.table',function (e,settings,json,xhr) {
  180. $('.datetimerange').each(function () {
  181. $(this).attr('autocomplete','off');
  182. })
  183. });
  184. Controller.api.bindevent();
  185. },
  186. goods: function () {
  187. $('#apply_btn').click(function () {
  188. var ids = $('#goods_id').val();
  189. var order_number = $('#c-order_number').val();
  190. if (order_number == null || order_number === ''){
  191. layer.confirm('订单号不能为空');
  192. }
  193. var deliveryman = $('#c-deliveryman').val();
  194. if (deliveryman == null || deliveryman === ''){
  195. layer.confirm('司机名称不能为空');
  196. }
  197. var shr_phone = $('#c-shr_phone').val();
  198. if (shr_phone == null || shr_phone === ''){
  199. layer.confirm('手机号不能为空');
  200. }
  201. var plate_number = $('#c-plate_number').val();
  202. if (plate_number == null || plate_number === ''){
  203. layer.confirm('车牌号不能为空');
  204. }
  205. var note = $('c-note').val();
  206. Fast.api.ajax({
  207. url:'deliver/apply_add',
  208. data:{
  209. ids:ids,
  210. order_number:order_number,
  211. deliveryman:deliveryman,
  212. shr_phone:shr_phone,
  213. plate_number:plate_number,
  214. note:note,
  215. }
  216. },function (data,res) {
  217. parent.Toastr.success("成功");
  218. Fast.api.close();
  219. window.parent.location.reload();
  220. return false;
  221. },function (data) {
  222. parent.Toastr.error('失败');
  223. Fast.api.close();
  224. window.parent.location.reload();
  225. return false;
  226. })
  227. });
  228. Controller.api.bindevent();
  229. },
  230. dispatch: function () {
  231. // 初始化表格参数配置
  232. Table.api.init({
  233. extend: {
  234. index_url: 'deliver/dispatch' + location.search,
  235. del_url:'deliver/dispatch_del',
  236. table:'deliver'
  237. }
  238. });
  239. var table = $("#table3");
  240. // 初始化表格
  241. table.bootstrapTable({
  242. url: $.fn.bootstrapTable.defaults.extend.index_url,
  243. pk: 'id',
  244. height:400,
  245. sortName: 'id',
  246. searchFormVisible:true,
  247. showToggle:false,
  248. showColumns:false,
  249. showExport:false,
  250. fixedColumns: true,
  251. fixedRightNumber: 1,
  252. columns: [
  253. [
  254. {checkbox: true},
  255. {field: 'id', title: __('Id'),visible:false,operate: false},
  256. {field: 'shdh', title: '收货单号', operate: false},
  257. {field: 'order_number', title: '订单号', operate: 'LIKE'},
  258. {field: 'deliveryman', title: '司机', operate: false},
  259. {field: 'plate_number', title: '车牌号', operate: false},
  260. {field: 'supplier_name', title: '供应商名称', operate: 'LIKE'},
  261. {field: 'create_time', title: '发货时间', operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime},
  262. {field: 'buttons',
  263. width: "120px",
  264. title: __('发货单打印'),
  265. operate: false,
  266. table: table,
  267. events: Table.api.events.operate,
  268. buttons: [
  269. {
  270. name: 'ajax',
  271. text: __('点击打印'),
  272. title: __('点击打印'),
  273. classname: 'btn btn-xs btn-success btn-magic btn-ajax',
  274. icon: 'fa fa-magic',
  275. url: 'deliver/printqrcode/id/{ids}',
  276. // confirm: '确认发送',
  277. success: function (data,res) {
  278. if (res.code === 1){
  279. var arr = res.data.data;
  280. var note='';
  281. var html = '<div style="width: 1100px;height: 100px;position: relative;">\n' +
  282. ' <div style="float: left">\n' +
  283. ' <div style="width: 1000px;font-weight: 400;font-size: 28px;text-align: center;line-height: 50px;" class="company">'+res.data.supplier_name+'</div>\n' +
  284. ' <div style="width: 1000px;font-weight: 400;font-size: 24px;text-align: center;line-height: 50px;">送货单</div>\n' +
  285. ' </div>\n' +
  286. ' <div id="qrcode" style="display:inline-block;width: 105px;height: 105px;position: absolute;right: 100px;top: -5px;">\n' +
  287. ' <img src="" style="width: 105px;height: 105px;" id="qrcode_image"/>\n' +
  288. ' </div>\n' +
  289. ' </div>\n' +
  290. ' <table class="tg1" style="margin-top: 3px;border-collapse:collapse;border-spacing:0;font-weight:500;width:1186px">\n' +
  291. ' <tr class="info">\n' +
  292. ' <td colspan="6" style="border:none">客户名称:河南中烟工业有限责任公司黄金叶生产制造中心</td>\n' +
  293. ' <td colspan="4" style="border:none">送货单号:<span style="font-size: 16px;" id="shdh">'+res.data.shdh+'</span></td>\n' +
  294. ' </tr>\n' +
  295. ' <tr class="info">\n' +
  296. ' <td colspan="6" style="border:none">送货地址:河南省郑州市经开区第三大街9号</td>\n' +
  297. ' <td colspan="4" style="border:none">送货日期:<span style="font-size: 16px;" id="shrq_date">'+res.data.shrq_date+'</span></td>\n' +
  298. ' </tr>\n' +
  299. ' </table>\n' +
  300. ' <br>\n' +
  301. ' <table class="tg1" style="table-layout:fixed;width: 1186px;border-collapse:collapse;border-spacing:0;font-weight:500; position: relative;" id="table">'+
  302. ' <tr><th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;;width: 170px;">物料名称</th>' +
  303. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;;width: 150px;">生产批号</th>' +
  304. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;width: 100px;">大件</th>' +
  305. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;width: 100px;">小件</th>' +
  306. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;width: 100px;">单位</th>' +
  307. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;width: 150px;">实发数量</th>' +
  308. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;width: 150px;">备注</th>' +
  309. ' <th id="explain" rowspan="'+(res.data.count+1)+'" width="7%" style="border: none"><span style="writing-mode: tb-rl;height: 300px;font-size:16px;text-align: center;">' +
  310. ' 蓝联(回):业务 黄联(回):运输 '+'<br>'+'白联:存根 红联:财务 绿联:客户</span></th></tr>';
  311. for (var i=0;i < arr.length;i++){
  312. html+= '<tr><td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].matter_name+'</td>';
  313. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+(arr[i].bach_num?arr[i].bach_num:'')+'</td>';
  314. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].large_num+'</td>';
  315. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'</td>';
  316. if(arr[i].mater_type==1){
  317. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">万张</td>';
  318. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].l_num+'</td>';
  319. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseInt(arr[i].num)+'张'+'</td>';
  320. }else if (arr[i].mater_type==2){
  321. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">kg</td>';
  322. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].l_weight +'</td>';
  323. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseFloat(arr[i].num)/1000+'kg'+'</td>';
  324. }else if (arr[i].mater_type==3){
  325. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">万支</td>';
  326. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+parseFloat(arr[i].num)*parseFloat(arr[i].small_num)/10000+'</td>';
  327. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseInt(arr[i].num)+'支'+'</td>';
  328. }
  329. }
  330. html+= '<tr><td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">送货单备注</td>' +
  331. ' <td colspan="6" class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+res.data.note+'</td></tr>'+
  332. ' </table>\n' +
  333. ' <table class="tg2" style="margin-top: 3px;border-collapse:collapse;border-spacing:0;font-weight:500;width:1086px;font-size: 16px;">\n' +
  334. ' <tr class="footer">\n' +
  335. ' <td colspan="3">发货单位:<span class="company">'+res.data.supplier_name+'</span></td>\n' +
  336. ' <td colspan="3">司机/司机电话:<span id="deliveryman">'+res.data.deliveryman+'&nbsp;&nbsp;'+res.data.shr_phone+'</span></td>\n' +
  337. ' <td colspan="3">车牌号:<span id="carid">'+res.data.plate_number+'</span></td>\n' +
  338. ' </tr>\n' +
  339. ' <tr class="footer">\n' +
  340. ' <td colspan="7">发货单位地址:<span id="address">'+res.data.address+'</span></td>\n' +
  341. ' <td colspan="3">收货单位(签名、盖章)</td>\n' +
  342. ' </tr>\n' +
  343. ' </table>'
  344. $("#printcode").html(html)
  345. var ee = $('#qrcode_image').attr('src',res.data.qrcode_add);
  346. // 将打印的区域赋值,进行打印
  347. ee.on('load',function () {
  348. var printHTML = document.querySelector('#printcode').innerHTML;
  349. window.document.body.innerHTML = printHTML;
  350. window.print();
  351. window.location.reload(); // 打印完成后重新加载页面
  352. })
  353. }
  354. return false;
  355. },
  356. error: function (data, ret) {
  357. return false;
  358. }
  359. },
  360. ],
  361. formatter: Table.api.formatter.buttons
  362. },
  363. {field: 'status', title: '状态', operate: 'LIKE',searchList: {"0":'已发货',"1":'已删除'}, formatter: Table.api.formatter.status},
  364. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  365. ]
  366. ],
  367. });
  368. // 为表格绑定事件
  369. Table.api.bindevent(table);
  370. //去掉时间区间输入记忆
  371. table.on('post-body.bs.table',function (e,settings,json,xhr) {
  372. $('.datetimerange').each(function () {
  373. $(this).attr('autocomplete','off');
  374. })
  375. });
  376. Controller.api.bindevent();
  377. },
  378. receive: function () {
  379. // 初始化表格参数配置
  380. Table.api.init({
  381. extend: {
  382. index_url: 'deliver/receive' + location.search,
  383. del_url:'deliver/receive_del',
  384. table:'deliver'
  385. }
  386. });
  387. var table = $("#table");
  388. // 初始化表格
  389. table.bootstrapTable({
  390. url: $.fn.bootstrapTable.defaults.extend.index_url,
  391. pk: 'id',
  392. height:500,
  393. sortName: 'id',
  394. searchFormVisible:true,
  395. showToggle:false,
  396. showColumns:false,
  397. showExport:false,
  398. fixedColumns: true,
  399. fixedRightNumber: 1,
  400. columns: [
  401. [
  402. {checkbox: true},
  403. {field: 'id', title: __('Id'),visible:false,operate: false},
  404. {field: 'shdh', title: '送货单号', operate: false},
  405. {field: 'order_number', title: '订单号', operate: 'LIKE'},
  406. {field: 'deliveryman', title: '司机', operate: false},
  407. {field: 'plate_number', title: '车牌号', operate: false},
  408. {field: 'supplier_name', title: '供应商名称', operate: 'LIKE'},
  409. {field: 'create_time', title: '发货时间', operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime},
  410. {field: 'buttons', operate: false,
  411. width: "120px",
  412. title: __('发货单打印'),
  413. table: table,
  414. events: Table.api.events.operate,
  415. buttons: [
  416. {
  417. name: 'ajax',
  418. text: __('点击打印'),
  419. title: __('点击打印'),
  420. classname: 'btn btn-xs btn-success btn-magic btn-ajax',
  421. icon: 'fa fa-magic',
  422. url: 'deliver/printqrcode/id/{ids}',
  423. // confirm: '确认发送',
  424. success: function (data,res) {
  425. if (res.code === 1){
  426. var arr = res.data.data;
  427. var note='';
  428. var html = '<div style="width: 1100px;height: 100px;position: relative;">\n' +
  429. ' <div style="float: left">\n' +
  430. ' <div style="width: 1000px;font-weight: 400;font-size: 28px;text-align: center;line-height: 50px;" class="company">'+res.data.supplier_name+'</div>\n' +
  431. ' <div style="width: 1000px;font-weight: 400;font-size: 24px;text-align: center;line-height: 50px;">送货单</div>\n' +
  432. ' </div>\n' +
  433. ' <div id="qrcode" style="display:inline-block;width: 105px;height: 105px;position: absolute;right: 100px;top: -5px;">\n' +
  434. ' <img src="" style="width: 105px;height: 105px;" id="qrcode_image"/>\n' +
  435. ' </div>\n' +
  436. ' </div>\n' +
  437. ' <table class="tg1" style="margin-top: 3px;border-collapse:collapse;border-spacing:0;font-weight:500;width:1186px">\n' +
  438. ' <tr class="info">\n' +
  439. ' <td colspan="6" style="border:none">客户名称:河南中烟工业有限责任公司黄金叶生产制造中心</td>\n' +
  440. ' <td colspan="4" style="border:none">送货单号:<span style="font-size: 16px;" id="shdh">'+res.data.shdh+'</span></td>\n' +
  441. ' </tr>\n' +
  442. ' <tr class="info">\n' +
  443. ' <td colspan="6" style="border:none">送货地址:河南省郑州市经开区第三大街9号</td>\n' +
  444. ' <td colspan="4" style="border:none">送货日期:<span style="font-size: 16px;" id="shrq_date">'+res.data.shrq_date+'</span></td>\n' +
  445. ' </tr>\n' +
  446. ' </table>\n' +
  447. ' <br>\n' +
  448. ' <table class="tg1" style="table-layout:fixed;width: 1186px;border-collapse:collapse;border-spacing:0;font-weight:500; position: relative;" id="table">'+
  449. ' <tr><th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">物料名称</th>' +
  450. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">生产批号</th>' +
  451. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">大件</th>' +
  452. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">小件</th>' +
  453. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">单位</th>' +
  454. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">实发数量</th>' +
  455. ' <th class="tg-s6z2" style="font-family:Arial, sans-serif;font-size:20px;text-align:center;font-weight:500;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;">备注</th>' +
  456. ' <th id="explain" rowspan="'+(res.data.count+1)+'" width="7%" style="border: none"><span style="writing-mode: tb-rl;height: 300px;font-size:16px;text-align: center;">' +
  457. ' 蓝联(回):业务 黄联(回):运输 '+'<br>'+'白联:存根 红联:财务 绿联:客户</span></th></tr>';
  458. for (var i=0;i < arr.length;i++){
  459. html+= '<tr><td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].matter_name+'</td>';
  460. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+(arr[i].bach_num?arr[i].bach_num:'')+'</td>';
  461. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].large_num+'</td>';
  462. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'</td>';
  463. if(arr[i].mater_type==1){
  464. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">万张</td>';
  465. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].l_num+'</td>';
  466. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseInt(arr[i].num)+'张'+'</td>';
  467. }else if (arr[i].mater_type==2){
  468. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">kg</td>';
  469. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].l_weight +'</td>';
  470. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseFloat(arr[i].num)/1000+'kg'+'</td>';
  471. }else if (arr[i].mater_type==3){
  472. html+= '<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">万支</td>';
  473. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+parseFloat(arr[i].num)*parseFloat(arr[i].small_num)/10000+'</td>';
  474. html+='<td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+arr[i].small_num+'件*'+parseInt(arr[i].num)+'支'+'</td>';
  475. }
  476. }
  477. html+= '<tr><td class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">送货单备注</td>' +
  478. ' <td colspan="6" class="tg-031e" style="font-family:Arial, sans-serif;font-size:18px;text-align:center;border-style:solid;border-width:1px;overflow:hidden;word-break:break-all;border-color:black;">'+res.data.note+'</td></tr>'+
  479. ' </table>\n' +
  480. ' <table class="tg2" style="margin-top: 3px;border-collapse:collapse;border-spacing:0;font-weight:500;width:1086px;font-size: 16px;">\n' +
  481. ' <tr class="footer">\n' +
  482. ' <td colspan="3">发货单位:<span class="company">'+res.data.supplier_name+'</span></td>\n' +
  483. ' <td colspan="3">司机/司机电话:<span id="deliveryman">'+res.data.deliveryman+'&nbsp;&nbsp;'+res.data.shr_phone+'</span></td>\n' +
  484. ' <td colspan="3">车牌号:<span id="carid">'+res.data.plate_number+'</span></td>\n' +
  485. ' </tr>\n' +
  486. ' <tr class="footer">\n' +
  487. ' <td colspan="7">发货单位地址:<span id="address">'+res.data.address+'</span></td>\n' +
  488. ' <td colspan="3">收货单位(签名、盖章)</td>\n' +
  489. ' </tr>\n' +
  490. ' </table>'
  491. $("#printcode").html(html)
  492. var ee = $('#qrcode_image').attr('src',res.data.qrcode_add);
  493. // 将打印的区域赋值,进行打印
  494. ee.on('load',function () {
  495. var printHTML = document.querySelector('#printcode').innerHTML;
  496. window.document.body.innerHTML = printHTML;
  497. window.print();
  498. window.location.reload(); // 打印完成后重新加载页面
  499. })
  500. }
  501. return false;
  502. },
  503. error: function (data, ret) {
  504. return false;
  505. }
  506. },
  507. ],
  508. formatter: Table.api.formatter.buttons
  509. },
  510. {field: 'status', title: '状态', operate: 'LIKE',searchList: {"0":'未收货',"2":'已收货'},defaultValue:'1', formatter: Table.api.formatter.status},
  511. {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
  512. ]
  513. ],
  514. });
  515. $('#receive').click(function (){
  516. var shdh = $('#shdh').val();
  517. if (shdh!=''){
  518. $.get('deliver/receive_add',{'shdh':shdh},function (res){
  519. if (res.code==1){
  520. //修改成功
  521. //1. 提示
  522. Toastr.success(res.msg)
  523. //2. 刷新页面
  524. table.bootstrapTable('refresh');
  525. }else{
  526. Toastr.error(res.msg)
  527. }
  528. })
  529. }
  530. })
  531. // 为表格绑定事件
  532. Table.api.bindevent(table);
  533. Controller.api.bindevent();
  534. },
  535. api: {
  536. bindevent: function () {
  537. Form.api.bindevent($("form[role=form]"));
  538. }
  539. }
  540. };
  541. return Controller;
  542. });