You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

405 lines
18 KiB

  1. 
  2. @{
  3. ViewBag.Title = "Index";
  4. Layout = "~/Views/Shared/_Form.cshtml";
  5. }
  6. @*<link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
  7. <script src="~/Content/js/select2/select2.min.js"></script>*@
  8. <link href="~/Content/css/CommonReport/CommonReport.css" rel="stylesheet" />
  9. <script src="~/Content/js/CommonReport/CommonReport.js"></script>
  10. <link href="~/Content/css/bootstrap/bootstrap-select.css" rel="stylesheet" />
  11. <script src="~/Content/js/bootstrap/bootstrap-select.min.js"></script>
  12. <style>
  13. .form {
  14. margin: 25px 15px;
  15. }
  16. </style>
  17. <script>
  18. var subgridCang = 'gridList';
  19. var subgridQu = '';
  20. var subgridPai = '';
  21. var subgridHuo = '';
  22. var subgridCeng = '';
  23. var subgridGe = '';
  24. //var subgrid_table_id = '';
  25. var WorkPoints = '@NFine.Code.OperatorProvider.Provider.GetCurrent().Location'
  26. var User = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  27. var Times = new Date();
  28. var Time = formatDate("YYYY-mm-dd HH:MM:SS", Times);
  29. $(function () {
  30. $("#minPackQty").keyup(function () {
  31. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  32. }).bind("paste", function () { //CTR+V事件处理
  33. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  34. }).css("ime-mode", "disabled"); //CSS设置输入法不可用
  35. $("#thisCreateQty").keyup(function () {
  36. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  37. }).bind("paste", function () { //CTR+V事件处理
  38. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  39. }).css("ime-mode", "disabled"); //CSS设置输入法不可用
  40. $("#cretePageCount").keyup(function () {
  41. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  42. }).bind("paste", function () { //CTR+V事件处理
  43. $(this).val($(this).val().replace(/[^0-9.]/g, ''));
  44. }).css("ime-mode", "disabled"); //CSS设置输入法不可用
  45. gridList();
  46. $("#txtMUSER").val(User);
  47. $("#txtMTIME").val(Time);
  48. $("#txtMUSER").attr("disabled", "disabled");
  49. $("#txtMTIME").attr("disabled", "disabled");
  50. //InitControl();
  51. $('#sel_QU').selectpicker({ 'deselectAllText': '不选', 'selectAllText': '全选' });
  52. var RolesList = $("#sel_QU").val(); var Roles = "";
  53. if (RolesList != null && RolesList.length > 0) {
  54. for (var i = 0; i < RolesList.length; i++) {
  55. if (Roles == "") {
  56. Roles += RolesList[i];
  57. }
  58. else {
  59. Roles += "," + RolesList[i];
  60. }
  61. }
  62. }
  63. });
  64. function formatDate(fomatType, date) {
  65. let ret;
  66. let valueDate = date;
  67. if (!date) valueDate = new Date()
  68. let opt = {
  69. "Y+": valueDate.getFullYear().toString(), // 年
  70. "m+": (valueDate.getMonth() + 1).toString(), // 月
  71. "d+": valueDate.getDate().toString(), // 日
  72. "H+": valueDate.getHours().toString(), // 时
  73. "M+": valueDate.getMinutes().toString(), // 分
  74. "S+": valueDate.getSeconds().toString() // 秒
  75. };
  76. for (let k in opt) {
  77. ret = new RegExp("(" + k + ")").exec(fomatType);
  78. if (ret) {
  79. fomatType = fomatType.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  80. };
  81. };
  82. return fomatType;
  83. }
  84. //仓库
  85. function gridList() {
  86. debugger;
  87. var $gridList = $("#gridList");
  88. $gridList.dataGrid({
  89. url: "/WMS/Blitem/GetGridJsonWarehouse" + "?" + Math.random(),
  90. height: $(window).height() - 128,
  91. colModel: [
  92. { label: '主键', name: 'Id', hidden: true, key: true },
  93. { label: "ID", name: "ID", hidden: true },
  94. { label: '层级', name: 'SelectLevel', hidden: true },
  95. { label: '仓库号', name: 'WarehouseCode', width: 120, align: 'left' },
  96. { label: '仓库名', name: 'WarehouseName', width: 120, align: 'left' },
  97. ],
  98. pager: "#gridPager",
  99. sortname: 'WarehouseCode ',
  100. sortorder: "desc",
  101. viewrecords: true,
  102. multiselect: true,
  103. subGrid: true,//开启子表格支持
  104. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  105. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  106. bindSubGrid(subgrid_id, row_id);
  107. }, onCellSelect: function (rowid, index, contents, event) {
  108. // onCell();//是一个控制按钮显示隐藏的方法
  109. }
  110. });
  111. $("#btn_search").click(function () {
  112. $gridList.jqGrid('setGridParam', {
  113. postData: { PPRCode: $("#PPRCode").val() }
  114. }).trigger('reloadGrid');
  115. });
  116. }
  117. //区
  118. function bindSubGrid(subgrid_id, collectLineId) {
  119. debugger;
  120. var ID = $("#gridList").jqGrid('getRowData', collectLineId).ID;
  121. subgridQu = subgrid_id + "_t";//最终子表格的div的id是加了"_t"的 subgrid_table_id是全局变量:var subgrid_table_id;
  122. $("#" + subgrid_id).html("<table id='" + subgridQu + "' class='scroll'></table>");//这里是添加子表格div,id为subgrid_table_id
  123. $("#" + subgridQu).jqGrid(
  124. {
  125. url: "/WMS/Blitem/GetSubGridJsonRegion?ID=" + ID + "&" + Math.random(),
  126. datatype: "json",
  127. height: "auto",
  128. colModel: [
  129. { label: '主键', name: 'Id', hidden: true, key: true },
  130. //{ label: "ID", name: "ID", hidden: true },
  131. { label: '仓库', name: 'WHID',hidden: true},
  132. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  133. { label: '区', name: 'Region', width: 80, align: 'left' },
  134. ],
  135. rowNum: 200,
  136. multiselect: true,
  137. viewrecord: true,
  138. subGrid: true,//开启子表格支持
  139. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  140. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  141. bindSubGrid2(subgrid_id, row_id);
  142. },
  143. });
  144. }
  145. //排
  146. function bindSubGrid2(subgrid_id, collectLineId) {
  147. debugger;
  148. let index = subgrid_id.lastIndexOf("t");
  149. let listId = subgrid_id.slice(0, index + 1);
  150. // listId = subgrid_id.substring(0, 12);
  151. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  152. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  153. subgridPai = subgrid_id + "_t";
  154. $("#" + subgrid_id).html("<table id='" + subgridPai + "' class='scroll'></table>");
  155. $("#" + subgridPai).jqGrid(
  156. {
  157. url: "/WMS/Blitem/GetSubGridJsonRow?WHID=" + WHID + "&Region=" + Region + "&" + Math.random(),
  158. datatype: "json",
  159. height: "auto",
  160. colModel: [
  161. { label: '主键', name: 'Id', hidden: true },
  162. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  163. { label: '仓库ID', name: 'WHID', hidden: true },
  164. { label: '区', name: 'Region', width: 80, align: 'left' },
  165. { label: '排', name: 'Row', width: 80, align: 'left' },
  166. ],
  167. rowNum: 200,
  168. multiselect: true,
  169. viewrecord: true,
  170. subGrid: true,//开启子表格支持
  171. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  172. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  173. bindSubGrid3(subgrid_id, row_id);
  174. },
  175. });
  176. }
  177. //货架
  178. function bindSubGrid3(subgrid_id, collectLineId) {
  179. debugger;
  180. let index = subgrid_id.lastIndexOf("t");
  181. let listId = subgrid_id.slice(0, index + 1);
  182. // listId = subgrid_id.substring(0, 16);
  183. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  184. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  185. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  186. subgridHuo = subgrid_id + "_t";
  187. $("#" + subgrid_id).html("<table id='" + subgridHuo + "' class='scroll'></table>");
  188. $("#" + subgridHuo).jqGrid(
  189. {
  190. url: "/WMS/Blitem/GetSubGridJsonGoodsShelf?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&" + Math.random(),
  191. datatype: "json",
  192. height: "auto",
  193. colModel: [
  194. { label: '主键', name: 'Id', hidden: true },
  195. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  196. { label: '仓库ID', name: 'WHID', hidden: true },
  197. { label: '区', name: 'Region', width: 80, align: 'left' },
  198. { label: '排', name: 'Row', width: 80, align: 'left' },
  199. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  200. ],
  201. rowNum: 200,
  202. multiselect: true,
  203. viewrecord: true,
  204. subGrid: true,//开启子表格支持
  205. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  206. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  207. bindSubGrid4(subgrid_id, row_id);
  208. },
  209. });
  210. }
  211. //层
  212. function bindSubGrid4(subgrid_id, collectLineId) {
  213. debugger;
  214. let index = subgrid_id.lastIndexOf("t");
  215. let listId = subgrid_id.slice(0, index + 1);
  216. // listId = subgrid_id.substring(0, 20);
  217. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  218. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  219. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  220. var GoodsShelf = $("#" + listId).jqGrid('getRowData', collectLineId).GoodsShelf;
  221. subgridCeng = subgrid_id + "_t";
  222. $("#" + subgrid_id).html("<table id='" + subgridCeng + "' class='scroll'></table>");
  223. $("#" + subgridCeng).jqGrid(
  224. {
  225. url: "/WMS/Blitem/GetSubGridJsonTier?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&GoodsShelf=" + GoodsShelf + "&" + Math.random(),
  226. datatype: "json",
  227. height: "auto",
  228. colModel: [
  229. { label: '主键', name: 'Id', hidden: true },
  230. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  231. { label: '仓库ID', name: 'WHID', hidden: true },
  232. { label: '区', name: 'Region', width: 80, align: 'left' },
  233. { label: '排', name: 'Row', width: 80, align: 'left' },
  234. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  235. { label: '层', name: 'Tier', width: 80, align: 'left' },
  236. ],
  237. rowNum: 200,
  238. multiselect: true,
  239. viewrecord: true,
  240. subGrid: true,//开启子表格支持
  241. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  242. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  243. bindSubGrid5(subgrid_id, row_id);
  244. },
  245. });
  246. }
  247. //格
  248. function bindSubGrid5(subgrid_id, collectLineId) {
  249. debugger;
  250. let index = subgrid_id.lastIndexOf("t");
  251. let listId = subgrid_id.slice(0, index + 1);
  252. // listId = subgrid_id.substring(0, 24);
  253. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  254. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  255. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  256. var GoodsShelf = $("#" + listId).jqGrid('getRowData', collectLineId).GoodsShelf;
  257. var Tier = $("#" + listId).jqGrid('getRowData', collectLineId).Tier;
  258. subgridGe = subgrid_id + "_t";
  259. $("#" + subgrid_id).html("<table id='" + subgridGe + "' class='scroll'></table>");
  260. $("#" + subgridGe).jqGrid(
  261. {
  262. url: "/WMS/Blitem/GetSubGridJsonGrid?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&GoodsShelf=" + GoodsShelf + "&Tier=" + Tier + "&" + Math.random(),
  263. datatype: "json",
  264. height: "auto",
  265. colModel: [
  266. { label: '主键', name: 'Id', hidden: true },
  267. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  268. { label: '仓库ID', name: 'WHID', hidden: true },
  269. { label: '区', name: 'Region', width: 80, align: 'left' },
  270. { label: '排', name: 'Row', width: 80, align: 'left' },
  271. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  272. { label: '层', name: 'Tier', width: 80, align: 'left' },
  273. { label: '格', name: 'Grid', width: 80, align: 'left' },
  274. ],
  275. rowNum: 200,
  276. multiselect: true,
  277. viewrecord: true,
  278. });
  279. }
  280. function submitForm() {
  281. debugger;
  282. var objList = '';
  283. var JqID = '';
  284. var Num = 0;
  285. var Details = [];
  286. var str = [];
  287. var objCang = $("#" + subgridCang).jqGrid('getGridParam', 'selarrrow');
  288. var objQu = $("#" + subgridQu).jqGrid('getGridParam', 'selarrrow');
  289. var objPai = $("#" + subgridPai).jqGrid('getGridParam', 'selarrrow');
  290. var objHuo = $("#" + subgridHuo).jqGrid('getGridParam', 'selarrrow');
  291. var objCeng = $("#" + subgridCeng).jqGrid('getGridParam', 'selarrrow');
  292. var objGe = $("#" + subgridGe).jqGrid('getGridParam', 'selarrrow');
  293. objCang = objCang == undefined ? objCang = [] : objCang;
  294. objQu = objQu == undefined ? objQu = [] : objQu;
  295. objPai = objPai == undefined ? objPai = [] : objPai;
  296. objHuo = objHuo == undefined ? objHuo = [] : objHuo;
  297. objCeng = objCeng == undefined ? objCeng = [] : objCeng;
  298. objGe = objGe == undefined ? objGe = [] : objGe;
  299. if (objCang == '' && objQu == '' && objPai == '' && objHuo == '' && objCeng == '' && objGe == '') {
  300. $.modalAlertNew("WMS00104");
  301. return;
  302. }
  303. if (objCang.length > 0) {
  304. objList = objCang;
  305. JqID = subgridCang;
  306. Num + 1;
  307. } else if ( objQu.length > 0) {
  308. objList = objQu;
  309. JqID = subgridQu;
  310. Num + 1;
  311. } else if (objPai.length > 0) {
  312. objList = objPai;
  313. JqID = subgridPai;
  314. Num + 1;
  315. } else if ( objHuo.length > 0) {
  316. objList = objHuo;
  317. JqID = subgridHuo;
  318. Num + 1;
  319. } else if ( objCeng.length > 0) {
  320. objList = objCeng;
  321. JqID = subgridCeng;
  322. Num + 1;
  323. } else if ( objGe.length > 0) {
  324. objList = objGe;
  325. JqID = subgridGe;
  326. Num + 1;
  327. }
  328. if (Num>1) {
  329. $.modalAlertNew("WMS00105");
  330. return;
  331. }
  332. for (var i = 0; i < objList.length; i++) {
  333. var rowId = objList[i];
  334. var rowData = $("#" + JqID).jqGrid('getRowData', rowId);
  335. var obj = {
  336. SelectLevel: rowData.SelectLevel,
  337. };
  338. Details.push(obj);
  339. }
  340. var Header = {
  341. User: User,
  342. MTIME: Time,
  343. WorkPoint: WorkPoints,
  344. Detail: Details,
  345. }
  346. var Parameter = [];
  347. Parameter.push(Header);
  348. $.submitForm({
  349. url: "/WMS/Blitem/AddICSCheck?" + Math.random(),
  350. param: { Parameter: JSON.stringify(Parameter) },
  351. success: function () {
  352. $.currentWindow().$("#gridList").trigger("reloadGrid");
  353. }
  354. })
  355. }
  356. </script>
  357. <form id="form1">
  358. <div style="padding-top: 2px; margin-right: 20px;">
  359. <table class="form">
  360. <tr>
  361. <th class="formTitle">维护人:</th>
  362. <td class="formValue">
  363. <input id="txtMUSER" name="txtMUSER" type="text" class="form-control" style="width: 160px" />
  364. </td>
  365. <th class="formTitle">维护日期:</th>
  366. <td class="formValue">
  367. <input id="txtMTIME" name="txtMTIME" type="text" class="form-control " style="width: 160px" />
  368. </td>
  369. </tr>
  370. </table>
  371. </div>
  372. </form>
  373. <div class="gridPanel">
  374. <table id="gridList"></table>
  375. <div id="gridPager"></div>
  376. </div>