Index.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. /*
  2. * 描 述:订单
  3. */
  4. var refreshGirdData; // 更新数据
  5. var typnum = request('ordertype');
  6. var logbegin = '';
  7. var logend = '';
  8. var selectedRow;
  9. var bootstrap = function ($, learun) {
  10. "use strict";
  11. var page = {
  12. init: function () {
  13. page.initGrid();
  14. page.bind();
  15. },
  16. bind: function () {
  17. $('.datetime').each(function () {
  18. $(this).lrdate({
  19. dfdata: [
  20. { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  21. { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  22. { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  23. { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
  24. ],
  25. // 月
  26. mShow: false,
  27. premShow: false,
  28. // 季度
  29. jShow: false,
  30. prejShow: false,
  31. // 年
  32. ysShow: false,
  33. yxShow: false,
  34. preyShow: false,
  35. yShow: false,
  36. // 默认
  37. dfvalue: '1',
  38. selectfn: function (begin, end) {
  39. logbegin = begin;
  40. logend = end;
  41. }
  42. });
  43. });
  44. // 查询
  45. $('#btn_Search').on('click', function () {
  46. page.search({ ordertypenum: typnum, queryJson: JSON.stringify({ Btime: logbegin, Etime: logend, keyword: $('#txt_Keyword').val() }) });
  47. });
  48. // 刷新
  49. $('#lr_refresh').on('click', function () {
  50. location.reload();
  51. });
  52. // 自动生成出库
  53. $('#lr_autoCreateOutTask').on('click', function () {
  54. var keyValue = $('#gridtable').jfGridValue('F_NO');
  55. if (learun.checkrow(keyValue)) {
  56. learun.layerConfirm('是否确认自动生成出库!', function (res) {
  57. if (res) {
  58. learun.deleteForm(top.$.rootUrl + '/OrderManager/Order/AutoCreateOrderOutTask', { keyValue: keyValue }, function () {
  59. refreshGirdData();
  60. });
  61. }
  62. });
  63. }
  64. });
  65. // 新增
  66. $('#lr_add').on('click', function () {
  67. selectedRow = null;
  68. learun.layerForm({
  69. id: 'form',
  70. title: '单据新增',
  71. url: top.$.rootUrl + '/OrderManager/Order/Form?ordertype=' + typnum,
  72. width: 1600,
  73. height: 800,
  74. callBack: function (id) {
  75. return top[id].acceptClick(refreshGirdData);
  76. }
  77. });
  78. });
  79. // 手动选择出库
  80. $('#lr_ManualCreateOutTask').on('click', function () {
  81. var keyValue = $('#gridtable').jfGridValue('F_NO');
  82. var title = "单据[" + keyValue + "]手动选择出库";
  83. selectedRow = $('#gridtable').jfGridGet('rowdata');
  84. learun.layerForm({
  85. id: 'form',
  86. title: title,
  87. url: top.$.rootUrl + '/OrderManager/Order/ManualChoiceOrderDtl?keyValue=' + keyValue,
  88. width: 1600,
  89. height: 800,
  90. btn: ['关闭'],
  91. //callBack: function (id) {
  92. // return top[id].acceptClick(refreshGirdData);
  93. //}
  94. });
  95. });
  96. // 编辑
  97. $('#lr_edit').on('click', function () {
  98. var keyValue = $('#gridtable').jfGridValue('F_NO');
  99. selectedRow = $('#gridtable').jfGridGet('rowdata');
  100. if (learun.checkrow(keyValue)) {
  101. learun.layerForm({
  102. id: 'form',
  103. title: '单据编辑',
  104. url: top.$.rootUrl + '/OrderManager/Order/Form?keyValue=' + keyValue + '&ordertype=' + typnum,
  105. width: 1600,
  106. height: 800,
  107. callBack: function (id) {
  108. return top[id].acceptClick(refreshGirdData);
  109. }
  110. });
  111. }
  112. });
  113. $('#lr_import').on('click', function () {
  114. learun.layerForm({
  115. id: 'ImportForm',
  116. title: '导入Excel数据',
  117. url: top.$.rootUrl + '/Utility/ImportForm?ordertype=' + typnum,
  118. width: 600,
  119. height: 400,
  120. maxmin: true,
  121. btn: null
  122. });
  123. });
  124. $('#lr_exportnow').on('click', function () {
  125. learun.layerForm({
  126. id: "ExcelExportForm",
  127. title: '导出Excel数据',
  128. url: top.$.rootUrl + '/Utility/ExcelExportForm?gridId=' + $('#gridtable').attr('id') + '&filename=' + encodeURI(encodeURI("订单")),
  129. width: 500,
  130. height: 380,
  131. callBack: function (id) {
  132. return top[id].acceptClick();
  133. },
  134. btn: ['导出Excel', '关闭']
  135. });
  136. });
  137. // 删除
  138. $('#lr_delete').on('click', function () {
  139. var keyValue = $('#gridtable').jfGridValue('F_NO');
  140. if (learun.checkrow(keyValue)) {
  141. learun.layerConfirm('是否确认删除该项!', function (res) {
  142. if (res) {
  143. learun.deleteForm(top.$.rootUrl + '/OrderManager/Order/DeleteForm', { keyValue: keyValue }, function () {
  144. refreshGirdData();
  145. });
  146. }
  147. });
  148. }
  149. });
  150. // 单据入库
  151. $('#lr_InStock').on('click', function () {
  152. var keyValue = $('#gridtable').jfGridValue('F_NO');
  153. selectedRow = $('#gridtable').jfGridGet('rowdata');
  154. if (learun.checkrow(keyValue)) {
  155. var msg = '单据[' + keyValue + ']入库';
  156. learun.layerForm({
  157. id: 'form',
  158. title: msg,
  159. url: top.$.rootUrl + '/OrderManager/Order/InStockForm?keyValue=' + keyValue,
  160. width: 1600,
  161. height: 800,
  162. btn: ['关闭']
  163. //callBack: function (id) {
  164. // return top[id].acceptClick(refreshGirdData);
  165. //}
  166. });
  167. }
  168. });
  169. },
  170. initGrid: function () {
  171. $('#gridtable').jfGrid({
  172. url: top.$.rootUrl + '/OrderManager/Order/GetOrderGrpPageList',
  173. headData: [
  174. { label: '订单编号', name: 'F_NO', width: 160, align: "left" },
  175. learun.jfFormatter.col_EOrderState(),
  176. { label: '供应商编号', name: 'F_SUPPLIERNO', width: 160, align: "left" },
  177. { label: '供应商名称', name: 'FNAME', width: 160, align: "left" },
  178. learun.jfFormatter.col_F_ISSTOP(),
  179. learun.jfFormatter.col_F_ADDUSERNO(),
  180. learun.jfFormatter.col_F_ADDTIME(),
  181. learun.jfFormatter.col_F_EDITUSERNO(),
  182. learun.jfFormatter.col_F_EDITTIME(),
  183. learun.jfFormatter.col_F_MEMO(),
  184. { label: '成品编号', name: 'F_DEFINE01', width: 200, align: "left" },
  185. { label: '申请人', name: 'F_APPLYPEOPLE', width: 200, align: "left" },
  186. { label: '申请部门', name: 'F_APPLYDEP', width: 200, align: "left" },
  187. ],
  188. mainId: 'F_NO',
  189. isPage: true,
  190. sidx: 'F_EDITTIME',
  191. sord: 'desc',
  192. reloadSelected: true,
  193. isSubGrid: true, // 是否有子表
  194. subGridExpanded: function (subid, rowdata) {
  195. $('#' + subid).jfGrid({
  196. url: top.$.rootUrl + '/OrderManager/Order/GetOrderItem',
  197. headData: [
  198. { label: '物料编号', name: 'F_MATNO', width: 200, align: "left" },
  199. { label: '物料名称', name: 'F_MATNAME', width: 200, align: "left" },
  200. { label: '计划量', name: 'F_FQTY', width: 100, align: "left" },
  201. { label: '实际量', name: 'F_AQTY', width: 100, align: "left" },
  202. { label: '单位编号', name: 'F_UNITNO', width: 200, align: "left" },
  203. { label: '单位名称', name: 'F_UNITNAME', width: 200, align: "left" },
  204. { label: '已扫描入库量', name: 'F_CQTY', width: 100, align: "left" },
  205. {
  206. label: '物料类型', name: 'F_MATTYPENUM', width: 80, align: "center"
  207. , formatterAsync: function (callback, value, row) {
  208. learun.clientdata.getAsync('dataItem', {
  209. Rowkey: value,
  210. GrpCode: 'EMatType',
  211. getType: 'Num',
  212. callback: function (item) {
  213. callback(item.F_NAME);
  214. }
  215. });
  216. }
  217. },
  218. {
  219. label: '物料状态', name: 'F_MATSTATENUM', width: 80, align: "center"
  220. , formatterAsync: function (callback, value, row) {
  221. learun.clientdata.getAsync('dataItem', {
  222. Rowkey: value,
  223. GrpCode: 'EMatState',
  224. getType: 'Num',
  225. callback: function (item) {
  226. callback(item.F_NAME);
  227. }
  228. });
  229. }
  230. },
  231. { label: '移动类型', name: 'F_MOVETYPE', width: 200, align: "left" },
  232. { label: '物料条码', name: 'F_MATBARCODE', width: 200, align: "left" },
  233. { label: '批次号', name: 'F_BATCHNO', width: 200, align: "left" },
  234. { label: '版本号', name: 'F_VERSION', width: 200, align: "left" },
  235. { label: '档位', name: 'F_GEAR', width: 200, align: "left" },
  236. { label: '上传量', name: 'F_UQTY', width: 200, align: "left" },
  237. { label: 'mes使用', name: 'F_SQTY', width: 200, align: "left" },
  238. { label: '工位编号', name: 'F_WORKPOSNO', width: 200, align: "left" },
  239. { label: '工位名称', name: 'F_WORKPOSNAME', width: 200, align: "left" },
  240. { label: 'AGV站点', name: 'F_AGVWORK', width: 200, align: "left" },
  241. { label: '产线编号', name: 'F_PROLINENO', width: 200, align: "left" },
  242. { label: '产线名称', name: 'F_PROLINENAME', width: 200, align: "left" },
  243. { label: '备注', name: 'F_MEMO', width: 200, align: "left" },
  244. { label: '创建用户编号', name: 'F_ADDUSERNO', width: 200, align: "left" },
  245. { label: '创建时间', name: 'F_ADDTIME', width: 200, align: "left" },
  246. { label: '编辑用户编号', name: 'F_EDITUSERNO', width: 200, align: "left" },
  247. { label: '编辑时间', name: 'F_EDITTIME', width: 200, align: "left" },
  248. { label: '生产工单', name: 'F_DEFINE01', width: 200, align: "left" },
  249. { label: '生产工单ID', name: 'F_DEFINE02', width: 200, align: "left" },
  250. { label: '成品编号', name: 'F_DEFINE03', width: 200, align: "left" },
  251. { label: '包装方式', name: 'F_PACKMETHOD', width: 200, align: "left" },
  252. { label: '成本中心', name: 'F_COST', width: 200, align: "left" }
  253. ]
  254. });
  255. $('#' + subid).jfGridSet('reloadSon', { OrderNo: rowdata.F_NO });
  256. }// 子表展开后调用函数
  257. });
  258. page.search({ ordertypenum: typnum, queryJson: JSON.stringify({ Btime: logbegin, Etime: logend, keyword: $('#txt_Keyword').val() }) });
  259. },
  260. search: function (param) {
  261. $('#gridtable').jfGridSet('reload', param);
  262. }
  263. };
  264. // 保存数据后回调刷新
  265. refreshGirdData = function () {
  266. page.search();
  267. }
  268. page.init();
  269. }