纽威
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.

397 lines
18 KiB

3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
  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. listId = subgrid_id.substring(0, 12);
  149. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  150. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  151. subgridPai = subgrid_id + "_t";
  152. $("#" + subgrid_id).html("<table id='" + subgridPai + "' class='scroll'></table>");
  153. $("#" + subgridPai).jqGrid(
  154. {
  155. url: "/WMS/Blitem/GetSubGridJsonRow?WHID=" + WHID + "&Region=" + Region + "&" + Math.random(),
  156. datatype: "json",
  157. height: "auto",
  158. colModel: [
  159. { label: '主键', name: 'Id', hidden: true },
  160. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  161. { label: '仓库ID', name: 'WHID', hidden: true },
  162. { label: '区', name: 'Region', width: 80, align: 'left' },
  163. { label: '排', name: 'Row', width: 80, align: 'left' },
  164. ],
  165. rowNum: 200,
  166. multiselect: true,
  167. viewrecord: true,
  168. subGrid: true,//开启子表格支持
  169. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  170. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  171. bindSubGrid3(subgrid_id, row_id);
  172. },
  173. });
  174. }
  175. //货架
  176. function bindSubGrid3(subgrid_id, collectLineId) {
  177. debugger;
  178. listId = subgrid_id.substring(0, 16);
  179. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  180. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  181. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  182. subgridHuo = subgrid_id + "_t";
  183. $("#" + subgrid_id).html("<table id='" + subgridHuo + "' class='scroll'></table>");
  184. $("#" + subgridHuo).jqGrid(
  185. {
  186. url: "/WMS/Blitem/GetSubGridJsonGoodsShelf?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&" + Math.random(),
  187. datatype: "json",
  188. height: "auto",
  189. colModel: [
  190. { label: '主键', name: 'Id', hidden: true },
  191. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  192. { label: '仓库ID', name: 'WHID', hidden: true },
  193. { label: '区', name: 'Region', width: 80, align: 'left' },
  194. { label: '排', name: 'Row', width: 80, align: 'left' },
  195. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  196. ],
  197. rowNum: 200,
  198. multiselect: true,
  199. viewrecord: true,
  200. subGrid: true,//开启子表格支持
  201. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  202. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  203. bindSubGrid4(subgrid_id, row_id);
  204. },
  205. });
  206. }
  207. //层
  208. function bindSubGrid4(subgrid_id, collectLineId) {
  209. debugger;
  210. listId = subgrid_id.substring(0, 20);
  211. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  212. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  213. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  214. var GoodsShelf = $("#" + listId).jqGrid('getRowData', collectLineId).GoodsShelf;
  215. subgridCeng = subgrid_id + "_t";
  216. $("#" + subgrid_id).html("<table id='" + subgridCeng + "' class='scroll'></table>");
  217. $("#" + subgridCeng).jqGrid(
  218. {
  219. url: "/WMS/Blitem/GetSubGridJsonTier?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&GoodsShelf=" + GoodsShelf + "&" + Math.random(),
  220. datatype: "json",
  221. height: "auto",
  222. colModel: [
  223. { label: '主键', name: 'Id', hidden: true },
  224. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  225. { label: '仓库ID', name: 'WHID', hidden: true },
  226. { label: '区', name: 'Region', width: 80, align: 'left' },
  227. { label: '排', name: 'Row', width: 80, align: 'left' },
  228. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  229. { label: '层', name: 'Tier', width: 80, align: 'left' },
  230. ],
  231. rowNum: 200,
  232. multiselect: true,
  233. viewrecord: true,
  234. subGrid: true,//开启子表格支持
  235. //子表格的id;当子表格展开的时候,在主表格中会创建一个div元素用来容纳子表格,subgrid_id就是这个div的id
  236. subGridRowExpanded: function (subgrid_id, row_id) {//子表格容器的id和需要展开子表格的行id
  237. bindSubGrid5(subgrid_id, row_id);
  238. },
  239. });
  240. }
  241. //格
  242. function bindSubGrid5(subgrid_id, collectLineId) {
  243. debugger;
  244. listId = subgrid_id.substring(0, 24);
  245. var WHID = $("#" + listId).jqGrid('getRowData', collectLineId).WHID;
  246. var Region = $("#" + listId).jqGrid('getRowData', collectLineId).Region;
  247. var Row = $("#" + listId).jqGrid('getRowData', collectLineId).Row;
  248. var GoodsShelf = $("#" + listId).jqGrid('getRowData', collectLineId).GoodsShelf;
  249. var Tier = $("#" + listId).jqGrid('getRowData', collectLineId).Tier;
  250. subgridGe = subgrid_id + "_t";
  251. $("#" + subgrid_id).html("<table id='" + subgridGe + "' class='scroll'></table>");
  252. $("#" + subgridGe).jqGrid(
  253. {
  254. url: "/WMS/Blitem/GetSubGridJsonGrid?WHID=" + WHID + "&Region=" + Region + "&Row=" + Row + "&GoodsShelf=" + GoodsShelf + "&Tier=" + Tier + "&" + Math.random(),
  255. datatype: "json",
  256. height: "auto",
  257. colModel: [
  258. { label: '主键', name: 'Id', hidden: true },
  259. { label: '层级', name: 'SelectLevel', width: 80, align: 'left' },
  260. { label: '仓库ID', name: 'WHID', hidden: true },
  261. { label: '区', name: 'Region', width: 80, align: 'left' },
  262. { label: '排', name: 'Row', width: 80, align: 'left' },
  263. { label: '货架', name: 'GoodsShelf', width: 80, align: 'left' },
  264. { label: '层', name: 'Tier', width: 80, align: 'left' },
  265. { label: '格', name: 'Grid', width: 80, align: 'left' },
  266. ],
  267. rowNum: 200,
  268. multiselect: true,
  269. viewrecord: true,
  270. });
  271. }
  272. function submitForm() {
  273. debugger;
  274. var objList = '';
  275. var JqID = '';
  276. var Num = 0;
  277. var Details = [];
  278. var str = [];
  279. var objCang = $("#" + subgridCang).jqGrid('getGridParam', 'selarrrow');
  280. var objQu = $("#" + subgridQu).jqGrid('getGridParam', 'selarrrow');
  281. var objPai = $("#" + subgridPai).jqGrid('getGridParam', 'selarrrow');
  282. var objHuo = $("#" + subgridHuo).jqGrid('getGridParam', 'selarrrow');
  283. var objCeng = $("#" + subgridCeng).jqGrid('getGridParam', 'selarrrow');
  284. var objGe = $("#" + subgridGe).jqGrid('getGridParam', 'selarrrow');
  285. objCang = objCang == undefined ? objCang = [] : objCang;
  286. objQu = objQu == undefined ? objQu = [] : objQu;
  287. objPai = objPai == undefined ? objPai = [] : objPai;
  288. objHuo = objHuo == undefined ? objHuo = [] : objHuo;
  289. objCeng = objCeng == undefined ? objCeng = [] : objCeng;
  290. objGe = objGe == undefined ? objGe = [] : objGe;
  291. if (objCang == '' && objQu == '' && objPai == '' && objHuo == '' && objCeng == '' && objGe == '') {
  292. $.modalAlertNew("WMS00104");
  293. return;
  294. }
  295. if (objCang.length > 0) {
  296. objList = objCang;
  297. JqID = subgridCang;
  298. Num + 1;
  299. } else if ( objQu.length > 0) {
  300. objList = objQu;
  301. JqID = subgridQu;
  302. Num + 1;
  303. } else if (objPai.length > 0) {
  304. objList = objPai;
  305. JqID = subgridPai;
  306. Num + 1;
  307. } else if ( objHuo.length > 0) {
  308. objList = objHuo;
  309. JqID = subgridHuo;
  310. Num + 1;
  311. } else if ( objCeng.length > 0) {
  312. objList = objCeng;
  313. JqID = subgridCeng;
  314. Num + 1;
  315. } else if ( objGe.length > 0) {
  316. objList = objGe;
  317. JqID = subgridGe;
  318. Num + 1;
  319. }
  320. if (Num>1) {
  321. $.modalAlertNew("WMS00105");
  322. return;
  323. }
  324. for (var i = 0; i < objList.length; i++) {
  325. var rowId = objList[i];
  326. var rowData = $("#" + JqID).jqGrid('getRowData', rowId);
  327. var obj = {
  328. SelectLevel: rowData.SelectLevel,
  329. };
  330. Details.push(obj);
  331. }
  332. var Header = {
  333. User: User,
  334. MTIME: Time,
  335. WorkPoint: WorkPoints,
  336. Detail: Details,
  337. }
  338. var Parameter = [];
  339. Parameter.push(Header);
  340. $.submitForm({
  341. url: "/WMS/Blitem/AddICSCheck?" + Math.random(),
  342. param: { Parameter: JSON.stringify(Parameter) },
  343. success: function () {
  344. $.currentWindow().$("#gridList").trigger("reloadGrid");
  345. }
  346. })
  347. }
  348. </script>
  349. <form id="form1">
  350. <div style="padding-top: 2px; margin-right: 20px;">
  351. <table class="form">
  352. <tr>
  353. <th class="formTitle">维护人:</th>
  354. <td class="formValue">
  355. <input id="txtMUSER" name="txtMUSER" type="text" class="form-control" style="width: 160px" />
  356. </td>
  357. <th class="formTitle">维护日期:</th>
  358. <td class="formValue">
  359. <input id="txtMTIME" name="txtMTIME" type="text" class="form-control " style="width: 160px" />
  360. </td>
  361. </tr>
  362. </table>
  363. </div>
  364. </form>
  365. <div class="gridPanel">
  366. <table id="gridList"></table>
  367. <div id="gridPager"></div>
  368. </div>