AssignForm.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. /*
  2. * 描 述:单据详细
  3. */
  4. var acceptClick;
  5. var keyValue = request('keyValue');
  6. var pno = request('pno');
  7. var currentColRow = null;
  8. var bootstrap = function ($, learun) {
  9. "use strict";
  10. var selectedRow = learun.frameTab.currentIframe().selectedRow;
  11. var page = {
  12. init: function () {
  13. page.bind();
  14. page.initData();
  15. },
  16. bind: function () {
  17. //$("#txt_orderNo").text(selectedRow.F_no);
  18. //$('#lr_add_format').on('click', function () {
  19. // currentColRow = null;
  20. // learun.layerForm({
  21. // id: 'FormatForm',
  22. // title: '添加',
  23. // url: top.$.rootUrl + '/OrderManager/INBIN/QueryMatItem?ordertype=' + ordertype,
  24. // width: 1400,
  25. // height: 800,
  26. // callBack: function (id) {
  27. // return top[id].acceptClick(function (data) {
  28. // //if ($.isEmptyObject(data) == false)
  29. // $.each(data, function (n, item) {
  30. // item['F_MATNO'] = item.F_MATNO;
  31. // item['F_MATNAME'] = item.F_MATNAME;
  32. // item['F_UNITNO'] = item.F_UNITNO;
  33. // item['F_UNITNAME'] = item.F_UNITNAME;
  34. // //item['F_MATTYPENUM'] = item.F_MATTYPENUM;//物料类型
  35. // item['F_FROMORDERNO'] = item.F_ORDERNO;
  36. // item['F_FROMORDERITEMNO'] = item.F_ROWNO;
  37. // item['F_FQTY'] = '0';
  38. // item['F_AQTY'] = '0';
  39. // item['F_CQTY'] = '0';
  40. // item['F_UQTY'] = '0';
  41. // item['F_SQTY'] = '0';
  42. // $('#gridtable').jfGridSet('addRow', item);
  43. // });
  44. // });
  45. // }
  46. // });
  47. //});
  48. //$('#PickPort').lrDataItemSelect({ code: 'EPickPort', placeholder: "请选择拣选口" });
  49. // 加载拣选口
  50. $('#PickPort').lrselect({
  51. url: top.$.rootUrl + '/OrderManager/StockOutOrder/PointQuery?type=5',
  52. type: 'treemultiple',
  53. maxHeight: 180,
  54. allowSearch: true
  55. });
  56. //so下单
  57. $('#btn_downSo').on('click', function () {
  58. if (!$('.lr-form-layout-header').lrValidform()) {
  59. return false;
  60. }
  61. var postData = $('#form1').lrGetFormData();
  62. //if (postData['F_Warehose'] == "") {
  63. // learun.alert.info("请选择入库仓库!");
  64. // return;
  65. //}
  66. //var stockDataTmp = $('#gridtable').jfGridGet('rowdata');
  67. //if (stockDataTmp.length == 0) {
  68. // learun.alert.info("请选择入库物料!");
  69. // return;
  70. //}
  71. //var stockdata = [];
  72. //for (var i = 0; i < stockDataTmp.length; i++) {
  73. // if (stockDataTmp[i].F_LQTY <= 0) {
  74. // var errormsg = "物料[" + stockDataTmp[i].F_MATNO + "]分配量必须大于零!";
  75. // learun.alert.warning(errormsg);
  76. // return;
  77. // }
  78. // var qty = stockDataTmp[i].F_FQTY - stockDataTmp[i].F_AQTY;//未分配量
  79. // if (qty < stockDataTmp[i].F_LQTY) {
  80. // var errormsg = "物料[" + stockDataTmp[i].F_MATNO + "]分配量[" + stockDataTmp[i].F_LQTY + "]超过未分配量[" + qty + "]!";
  81. // learun.alert.warning(errormsg);
  82. // return;
  83. // }
  84. // var item = { F_ROWNO: stockDataTmp[i].F_ROWNO, F_LQTY: stockDataTmp[i].F_LQTY };
  85. // stockdata.push(item);
  86. //}
  87. var soJson = [];
  88. var item = { sod_nbr: postData['sod_nbr'], sod_line: postData['sod_line'] };
  89. soJson.push(item);
  90. var msg = "是否同步SO单号[" + postData['sod_nbr'] + "],行号为[" + postData['sod_line'] + "]的数据?";
  91. learun.layerConfirm(msg, function (res) {
  92. if (res) {
  93. var jsonStr = JSON.stringify(soJson);
  94. learun.postForm(top.$.rootUrl + '/OrderManager/StockOutOrder/DownSo', { sojson: jsonStr }, function (data) {
  95. if (data != null) {
  96. var line = {
  97. sod_nbr: data.data.sod_nbr,
  98. sod_line: data.data.sod_line,
  99. ld_loc: data.data.ld_loc,
  100. sod_part: data.data.sod_part,
  101. sod_qty_ord: data.data.sod_qty_ord,
  102. sod_qty_ship: data.data.sod_qty_ship
  103. }
  104. $('#gridtable').jfGridSet('addRow', line);
  105. }
  106. //page.search({ OrderNo: keyValue });
  107. });
  108. }
  109. });
  110. });
  111. $('#lr_delete_format').on('click', function () {
  112. currentColRow = null;
  113. var row = $('#gridtable').jfGridGet('rowdata');
  114. var _id = row ? row.sod_nbr : '';
  115. if (learun.checkrow(_id)) {
  116. learun.layerConfirm('是否确认删除该项!', function (res, index) {
  117. if (res) {
  118. $('#gridtable').jfGridSet('removeRow');
  119. top.layer.close(index); //再执行关闭
  120. }
  121. });
  122. }
  123. });
  124. $('#gridtable').jfGrid({
  125. headData: [
  126. { label: '物料编码', name: 'F_matNo', width: 100, align: "left" },
  127. { label: "物料名称", name: "F_matName", width: 100, align: "left" },
  128. {
  129. label: '物料类型', name: 'F_matType', width: 100, align: "left",
  130. formatterAsync: function (callback, value, row) {
  131. learun.clientdata.getAsync('dataItem', {
  132. Rowkey: value,
  133. GrpCode: 'EMatType',
  134. getType: 'Num',
  135. callback: function (item) {
  136. callback(item.F_NAME);
  137. }
  138. });
  139. },
  140. },
  141. { label: '托盘号', name: 'F_trayNo', width: 100, align: 'left' },
  142. { label: '库存数量', name: 'F_quantity', width: 100, align: "left" },
  143. { label: '出库数量', name: 'F_AssignQty', width: 100, align: "left", edit: { type: 'input' } },
  144. { label: '箱号', name: 'F_boxNo', width: 100, align: 'left' },
  145. { label: '项目号', name: 'F_projectNo', width: 100, align: 'left' },
  146. //{ label: '计划出货量', name: 'sod_qty_ord', width: 100, align: "left", edit: { type: 'input' } },
  147. //{
  148. // label: '出库数量', name: 'F_actualQty', width: 100, align: "left",
  149. // edit: {
  150. // edit: {
  151. // type: 'input',
  152. // init: function (data, $edit) {// 在点击单元格的时候触发,可以用来初始化输入控件,行数据和控件对象
  153. // },
  154. // change: function (data, num) {// 行数据和行号
  155. // }
  156. // }
  157. // }
  158. //},
  159. ],
  160. //isEdit: true,
  161. //isMultiselect: true
  162. });
  163. },
  164. initData: function () {
  165. $.lrSetForm(top.$.rootUrl + '/OrderManager/StockOutOrder/GetAssignFormData?pno=' + pno, function (data) {
  166. if (!!data) {
  167. $('#form1').lrSetFormData(data);
  168. learun.httpAsyncPost(top.$.rootUrl + "/OrderManager/StockOutOrder/GetMatInventory?pno=" + pno, null, function (res) {
  169. if (res.IsSucc == false) {
  170. learun.alert.error(res.info);
  171. return
  172. }
  173. if (!!res.data) {
  174. $('#gridtable').jfGridSet('refreshdata', res.data.data);
  175. //$('#F_actualQty').val(res.data.sumQty + parseInt($('#F_actualQty').val()));
  176. }
  177. });
  178. }
  179. });
  180. }
  181. };
  182. // 保存数据
  183. acceptClick = function (callBack) {
  184. var formatdata = $('#gridtable').jfGridGet('rowdatas');
  185. if (formatdata.length == 0) {
  186. learun.alert.error('请添加或修改数据!');
  187. return false;
  188. }
  189. var postFormData = $('#form1').lrGetFormData();
  190. var soJsonStr = JSON.stringify(formatdata);
  191. var param = {};
  192. param['soJson'] = soJsonStr;
  193. param['formJson'] = JSON.stringify(postFormData);
  194. //alert(JSON.stringify(postFormData));
  195. $.lrSaveForm(top.$.rootUrl + '/OrderManager/StockOutOrder/AssignSave', param, function (res) {
  196. if (!!callBack) {
  197. callBack();
  198. }
  199. });
  200. };
  201. page.init();
  202. }