InStockForm.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /*
  2. * 描 述:数据列表选择
  3. */
  4. var acceptClick;
  5. var op = top.lrGirdLayerEdit;
  6. var keyValue = request('keyValue');
  7. var bootstrap = function ($, learun) {
  8. "use strict";
  9. var selectItem;
  10. var griddata = null;
  11. var page = {
  12. init: function () {
  13. page.bind();
  14. page.initData();
  15. },
  16. bind: function () {
  17. // 仓库与区域多选
  18. $('#F_Warehose').lrselect({
  19. url: top.$.rootUrl + '/BaseManager/BaseWarehouse/GetCheckWWTree',
  20. //type: 'treemultiple',
  21. maxHeight: 180,
  22. allowSearch: true
  23. });
  24. //刷新
  25. $('#btn_Search').on('click', function () {
  26. page.search({ OrderNo: keyValue });
  27. });
  28. //入库确认
  29. $('#lr_InStock').on('click', function () {
  30. if (!$('.lr-form-layout-header').lrValidform()) {
  31. return false;
  32. }
  33. var postData = $('#form').lrGetFormData();
  34. //if (postData['F_Warehose'] == "") {
  35. // learun.alert.info("请选择入库仓库!");
  36. // return;
  37. //}
  38. var stockDataTmp = $('#gridtable').jfGridGet('rowdata');
  39. if (stockDataTmp.length == 0) {
  40. learun.alert.info("请选择入库物料!");
  41. return;
  42. }
  43. var stockdata = [];
  44. for (var i = 0; i < stockDataTmp.length; i++) {
  45. if (stockDataTmp[i].F_LQTY <= 0) {
  46. var errormsg = "物料[" + stockDataTmp[i].F_MATNO + "]分配量必须大于零!";
  47. learun.alert.warning(errormsg);
  48. return;
  49. }
  50. var qty = stockDataTmp[i].F_FQTY - stockDataTmp[i].F_AQTY;//未分配量
  51. if (qty < stockDataTmp[i].F_LQTY) {
  52. var errormsg = "物料[" + stockDataTmp[i].F_MATNO + "]分配量[" + stockDataTmp[i].F_LQTY + "]超过未分配量[" + qty + "]!";
  53. learun.alert.warning(errormsg);
  54. return;
  55. }
  56. var item = { F_ROWNO: stockDataTmp[i].F_ROWNO, F_LQTY: stockDataTmp[i].F_LQTY };
  57. stockdata.push(item);
  58. }
  59. var msg = "你选中了[" + stockDataTmp.length + "]条数据,是否入库到仓库[" + $('#F_Warehose').text() + "]?";
  60. learun.layerConfirm(msg, function (res) {
  61. if (res) {
  62. var crmStockProductJson = JSON.stringify(stockdata);
  63. learun.postForm(top.$.rootUrl + '/OrderManager/Order/InStock', { warehose: postData['F_Warehose'], injson: crmStockProductJson }, function () {
  64. page.search({ OrderNo: keyValue });
  65. });
  66. }
  67. });
  68. });
  69. $('#gridtable').jfGrid({
  70. url: top.$.rootUrl + '/OrderManager/Order/GetOrderDtlItem',
  71. param: { OrderNo: keyValue },
  72. headData: [
  73. { label: '物料编号', name: 'F_MATNO', width: 160, align: "left" },
  74. { label: '物料名称', name: 'F_MATNAME', width: 200, align: "left" },
  75. { label: '计划量', name: 'F_FQTY', width: 100, align: "left" },
  76. { label: '已分配量', name: 'F_AQTY', width: 100, align: "left" },
  77. {
  78. label: '本次分配量', name: 'F_LQTY', width: 100, align: "left",
  79. formatter: function (cellvalue) {
  80. return "<span style='color:red'>" + cellvalue+"</span>";
  81. },
  82. edit: {
  83. type: 'input'
  84. },
  85. },
  86. { label: '单位编号', name: 'F_UNITNO', width: 80, align: "left" },
  87. { label: '单位名称', name: 'F_UNITNAME', width: 80, align: "left" },
  88. { label: '已扫描入库量', name: 'F_CQTY', width: 100, align: "left" },
  89. {
  90. label: '物料类型', name: 'F_MATTYPENUM', width: 80, align: "center"
  91. , formatterAsync: function (callback, value, row) {
  92. learun.clientdata.getAsync('dataItem', {
  93. Rowkey: value,
  94. GrpCode: 'EMatType',
  95. getType: 'Num',
  96. callback: function (item) {
  97. callback(item.F_NAME);
  98. }
  99. });
  100. }
  101. },
  102. {
  103. label: '物料状态', name: 'F_MATSTATENUM', width: 80, align: "center"
  104. , formatterAsync: function (callback, value, row) {
  105. learun.clientdata.getAsync('dataItem', {
  106. Rowkey: value,
  107. GrpCode: 'EMatState',
  108. getType: 'Num',
  109. callback: function (item) {
  110. callback(item.F_NAME);
  111. }
  112. });
  113. }
  114. },
  115. { label: '移动类型', name: 'F_MOVETYPE', width: 80, align: "left" },
  116. { label: '物料条码', name: 'F_MATBARCODE', width: 120, align: "left" },
  117. { label: '批次号', name: 'F_BATCHNO', width: 200, align: "left" },
  118. { label: '版本号', name: 'F_VERSION', width: 80, align: "left" },
  119. { label: '档位', name: 'F_GEAR', width: 80, align: "left" },
  120. { label: '上传量', name: 'F_UQTY', width: 100, align: "left" },
  121. { label: 'mes使用', name: 'F_SQTY', width: 100, align: "left" },
  122. { label: '工位编号', name: 'F_WORKPOSNO', width: 100, align: "left" },
  123. { label: '工位名称', name: 'F_WORKPOSNAME', width: 100, align: "left" },
  124. { label: 'AGV站点', name: 'F_AGVWORK', width: 100, align: "left" },
  125. { label: '产线编号', name: 'F_PROLINENO', width: 100, align: "left" },
  126. { label: '产线名称', name: 'F_PROLINENAME', width: 100, align: "left" },
  127. { label: '备注', name: 'F_MEMO', width: 200, align: "left" },
  128. { label: '创建用户编号', name: 'F_ADDUSERNO', width: 100, align: "left" },
  129. { label: '创建时间', name: 'F_ADDTIME', width: 200, align: "left" },
  130. { label: '编辑用户编号', name: 'F_EDITUSERNO', width: 100, align: "left" },
  131. { label: '编辑时间', name: 'F_EDITTIME', width: 200, align: "left" },
  132. { label: '生产工单', name: 'F_DEFINE01', width: 200, align: "left" },
  133. { label: '生产工单ID', name: 'F_DEFINE02', width: 200, align: "left" },
  134. { label: '成品编号', name: 'F_DEFINE03', width: 200, align: "left" },
  135. { label: '包装方式', name: 'F_PACKMETHOD', width: 200, align: "left" },
  136. { label: '成本中心', name: 'F_COST', width: 200, align: "left" }
  137. ],
  138. mainId: 'F_ROWNO',
  139. isPage: true,
  140. reloadSelected: true,
  141. isMultiselect: true,
  142. sidx: 'F_MATNO',
  143. isEdit: true,
  144. //headData: op.edit.op.colData,
  145. //url: op.edit.op.url,
  146. //param: op.edit.op.param,
  147. //onRenderComplete: function (data) {
  148. // griddata = data;
  149. //}
  150. //dblclick: function (row) {
  151. // top.lrGirdLayerEditCallBack(row);
  152. // learun.layerClose(window.name);
  153. //},
  154. onSelectRow: function (row) {
  155. selectItem = row;
  156. }
  157. });
  158. $('#orderno').text(keyValue);
  159. page.search({ OrderNo: keyValue });
  160. //page.search({ queryJson: JSON.stringify({ Area: 'dfgdf', MaterialNo: $('#txt_Material').val(), Batch: $('#txt_batch').val(), MatVersion: $('#txt_MatVersion').val(), Gear: $('#txt_Gear').val(), MaterialState: $('#F_MaterialState').val() }) });
  161. },
  162. search: function (param) {
  163. $('#gridtable').jfGridSet('reload', param);
  164. }
  165. };
  166. // 保存数据
  167. acceptClick = function (callBack) {
  168. var stockData = '';
  169. var formData = $('#form').lrGetFormData();
  170. var stockDataTmp = $('#gridtable').jfGridGet('rowdata');
  171. for (var i = 0, l = stockDataTmp.length; i < l; i++) {
  172. if (stockData.length == 0) {
  173. stockData = stockDataTmp[i].F_ROWNO;
  174. } else {
  175. stockData = stockData + ',' + stockDataTmp[i].F_ROWNO;
  176. }
  177. //stockData.push(stockDataTmp[i].F_ROWNO);
  178. };
  179. var crmStockProductJson = JSON.stringify(stockData);
  180. //learun.layerConfirm('注:您确认要保存此操作吗?', function (res) {
  181. // if (res) {
  182. // }
  183. //});
  184. $.lrSaveForm(top.$.rootUrl + '/KCMagnager/Count/CheckInvUpAngin', { crmOrderProductJson: stockData, keyValue: keyValue }, function (res) {
  185. // 保存成功后才回调
  186. if (!!callBack) {
  187. callBack();
  188. }
  189. });
  190. };
  191. page.init();
  192. }