queryStockMatMiss.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. //物资信息查询页面
  2. define(function (require) {
  3. return function () {
  4. var $grid1, $grid2, $form;
  5. // 弹框的方式
  6. var widgets = {
  7. // 搜索分类检索
  8. selectCatalogWidget: {
  9. url: '/app/mat/widget/selectCatalog.js',
  10. bind: {
  11. matcId: 'matcId',
  12. matcName: 'matcName'
  13. },
  14. queryParams: {matcBusi: MATC_BUSI_检验, status: 1}
  15. },
  16. // 派工号
  17. selectPmgPghWidget: {
  18. url: '/app/wms/widget/selectPmsPgh.js',
  19. bind: {
  20. pghId: 'pghId',
  21. pghCode: 'pghCode'
  22. },
  23. widgetPrompt: "派工号编号"
  24. },
  25. };
  26. function enterQueryGrid1(e) {
  27. if (e.keyCode === 13) {
  28. var tmp = $(this).val();
  29. $form.formSet({queryProperties: tmp});
  30. queryGrid1();
  31. }
  32. }
  33. function queryGrid1() {
  34. var queryUrl = '/wms/wmsOutPoolmat/queryStockMatMiss';// 自行替换此参数
  35. $grid1.jqGrid("clearGridData");
  36. var queryForm = $form.formGet();
  37. $grid1.reload({
  38. mtype: 'POST',
  39. url: api(queryUrl),
  40. queryParams: queryForm
  41. }, true);
  42. if ($grid2 != undefined && $grid2 != null) {
  43. $grid2.jqGrid("clearGridData");
  44. }
  45. }
  46. function queryGrid2() {
  47. if ($grid2 == undefined || $grid2 == null)
  48. return;
  49. var row = $grid1.rowData();
  50. if (!row) {
  51. $.yvan.msg('请先选择一行数据');
  52. return;
  53. }
  54. var queryForm = $form.formGet();
  55. queryForm.matId = row.matId;
  56. var queryUrl = '/wms/wmsOutPoolmat/queryStockMatMissBill';// 自行替换此参数
  57. $grid2.reload({
  58. mtype: 'POST',
  59. url: api(queryUrl),
  60. queryParams: queryForm
  61. });
  62. }
  63. //获取库区
  64. function getFarmList() {
  65. var _datas = [];
  66. _datas.push({
  67. "id": '',
  68. "text": '全部'
  69. })
  70. $.yvan.ajax({
  71. url: api('/wms/whFarm/queryAll'),
  72. data: {},
  73. method: 'post',
  74. async: false,
  75. success: function (data) {
  76. if (data.data != null && data.data != undefined) {
  77. for (var i = 0; i < data.data.length; i++) {
  78. _datas.push({
  79. "id": data.data[i].farmId,
  80. "text": data.data[i].farmName
  81. })
  82. }
  83. }
  84. }
  85. });
  86. return _datas;
  87. }
  88. //获取车间信息
  89. function getRoomList() {
  90. var _datas = [{"id": '', "text": '全部'}];
  91. $.yvan.ajax({
  92. url: api('/wms/wmsOutPoolmat/queryRoomByMiss'),
  93. method: 'post',
  94. async: false,
  95. success: function (data) {
  96. if (data.data != null && data.data != undefined) {
  97. for (var i = 0; i < data.data.length; i++) {
  98. _datas.push({
  99. "id": data.data[i].roomId,
  100. "text": data.data[i].roomName
  101. })
  102. }
  103. }
  104. }
  105. });
  106. return _datas;
  107. }
  108. // 搜索按钮
  109. var queryToolbarTitle = '库存缺件查询';// 自行替换此参数
  110. var queryToolbar = {
  111. xtype: 'toolbar', title: queryToolbarTitle, items: [
  112. {
  113. text: '查询', iconCls: 'fa fa-search', onClick: function () {
  114. queryGrid1();
  115. }
  116. }, {
  117. text: '重置', iconCls: 'fa fa-refresh', onClick: function () {
  118. $form.formClear();
  119. queryGrid1();
  120. }
  121. }, {
  122. text: '关闭', iconCls: 'fa fa-times-circle', onClick: function () {
  123. App.closeMe(this);
  124. }
  125. }
  126. ]
  127. };
  128. // 搜索条件
  129. var queryFormPrompt = '物资编码/图号型号/物资名称';// 自行替换此参数
  130. var queryForm = {
  131. onRender: function () {
  132. $form = $(this);
  133. },
  134. xtype: 'form',
  135. items: [
  136. [
  137. {xtype: 'hidden', name: 'matcId'},
  138. {xtype: 'hidden', name: 'corpId'},
  139. {xtype: 'hidden', name: 'pghId'},
  140. {
  141. xtype: 'searchbox',
  142. label: '派工号',
  143. name: 'pghCode',
  144. labelWidth: 'auto',
  145. width: 250,
  146. prompt: '派工号编号',
  147. widget: widgets.selectPmgPghWidget,
  148. onChange: function (data) {
  149. queryGrid1();
  150. }
  151. },
  152. {
  153. xtype: 'yvselect',
  154. label: '需求车间',
  155. name: 'roomId',
  156. labelWidth: 'auto',
  157. width: 240,
  158. data: getRoomList(),
  159. onChange: function () {
  160. queryGrid1();
  161. }
  162. },
  163. {
  164. xtype: 'yvselect', label: '需求阶段', name: 'outapType', labelWidth: 'auto', width: 180, value: '',
  165. data: $.yvan.sysDict('outapType').combowithAll(),
  166. onChange: function () {
  167. queryGrid1();
  168. }
  169. },
  170. {
  171. xtype: 'yvselect', label: '需求库区', name: 'farmId', labelWidth: 'auto', width: 200, value: '',
  172. data: getFarmList(),
  173. onChange: function () {
  174. queryGrid1();
  175. }
  176. },
  177. ],
  178. [
  179. {
  180. xtype: 'yvselect', label: '物资分类', name: 'matType', labelWidth: 'auto', width: 180,
  181. data: $.yvan.sysDict('matType').combowithAll(), value: '',
  182. onChange: function () {
  183. queryGrid1();
  184. }
  185. },
  186. {
  187. xtype: 'textbox',
  188. label: '检索条件',
  189. name: 'queryProperties',
  190. prompt: queryFormPrompt,
  191. labelWidth: 'auto',
  192. width: 320,
  193. events: {keydown: enterQueryGrid1},
  194. },
  195. ],
  196. ]
  197. };
  198. // 列表1增删改查按钮
  199. var gridToolbarTitle1 = '缺件物资列表';// 自行替换此参数
  200. var gridToolbar1 = {
  201. xtype: 'toolbar',
  202. title: gridToolbarTitle1,
  203. items: [
  204. {
  205. text: '导出数据', iconCls: 'fa fa-cloud-upload', onClick: function () {
  206. var para = "";
  207. if ($form.formGet().pghId != "") {
  208. para = (para == "") ? "" : para + "&";
  209. para += "pghId=" + $form.formGet().pghId;
  210. }
  211. if ($form.formGet().outapType != "") {
  212. para = (para == "") ? "" : para + "&";
  213. para += "outapType=" + $form.formGet().outapType;
  214. }
  215. if ($form.formGet().farmId != "") {
  216. para = (para == "") ? "" : para + "&";
  217. para += "farmId=" + $form.formGet().farmId;
  218. }
  219. if ($form.formGet().roomId != "") {
  220. para = (para == "") ? "" : para + "&";
  221. para += "roomId=" + $form.formGet().roomId;
  222. }
  223. if ($form.formGet().matType != "") {
  224. para = (para == "") ? "" : para + "&";
  225. para += "matType=" + $form.formGet().matType;
  226. }
  227. if ($form.formGet().queryProperties != "") {
  228. para = (para == "") ? "" : para + "&";
  229. para += "queryProperties=" + $form.formGet().queryProperties;
  230. }
  231. para = (para == "") ? "/wms/wmsOutPoolmat/exportStockMatMissExcel" : "/wms/wmsOutPoolmat/exportStockMatMissExcel?" + para;
  232. $.yvan.download({
  233. method: 'get',
  234. url: api(para),
  235. fileName: "库存物资缺件统计表" + $.yvan.getMoment().format('YYYY-MM-DD HH:mm:ss') + '.xlsx'
  236. });
  237. }
  238. },
  239. ]
  240. };
  241. return {
  242. north: {
  243. height: 135,
  244. split: true,
  245. border: false,
  246. items: [
  247. queryToolbar,
  248. queryForm
  249. ]
  250. },
  251. center: {
  252. height: '60%',
  253. split: true,
  254. items: {
  255. onRender: function () {
  256. $grid1 = $(this);
  257. queryGrid1();
  258. },
  259. xtype: 'grid',
  260. toolbar: gridToolbar1,
  261. autoSizeColumns: true,
  262. columns:
  263. [[
  264. {title: '物资ID', field: 'matId', hidden: true},
  265. {title: '物资分类', field: 'matType', formatter: $.fn.fmatter.matType, width: 80},
  266. {title: '物资编码', field: 'matBar', width: 200},
  267. {title: '图号/型号', field: 'matCode', width: 200},
  268. {title: '物资名称', field: 'matName', width: 200},
  269. {title: '物资编码属性', field: 'matAttrCode'},
  270. {title: '计量单位', field: 'unitName'},
  271. {title: '待发数', field: 'dfAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  272. {title: '库存数', field: 'stockAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  273. {title: '缺件数', field: 'missAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  274. //{title: '需求单据数', field: 'billAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  275. ]],
  276. onSelectRow: function (rowid) {
  277. queryGrid2();
  278. }
  279. }
  280. },
  281. south: {
  282. height: '40%',
  283. border: false,
  284. items: {
  285. xtype: 'tabs',
  286. items: [
  287. {
  288. title: '需求单据列表',
  289. lazy: true,
  290. items: {
  291. onRender: function () {
  292. $grid2 = $(this);
  293. },
  294. xtype: 'grid',
  295. autoSizeColumns: true,
  296. pagination: true,
  297. columns: [
  298. [
  299. {title: '需求单号', field: 'billCode', width: 140},
  300. {title: '需求类型', field: 'outapType', align: 'center', formatter: $.fn.fmatter.outapType},
  301. {title: '待发数', field: 'dfAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  302. {title: '缺件数', field: 'missAmount', align: 'right', formatter: $.fn.fmatter.formatNumberBigDecimal},
  303. {title: '派工号', field: 'pghCode', width: 140},
  304. {title: '需求库区', field: 'farmName', width: 200},
  305. {title: '需求车间', field: 'roomName', width: 200},
  306. {title: '申请人', field: 'takeUser'},
  307. {title: '需求日期', field: 'dateUse', align: 'center', formatter: $.fn.fmatter.tsymd}
  308. ]
  309. ]
  310. }
  311. },
  312. ]
  313. }
  314. }
  315. };
  316. };
  317. });