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.

515 lines
21 KiB

3 weeks ago
  1. 
  2. @{
  3. ViewBag.Title = "Index";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <style>
  7. /* .btn-primary {
  8. margin-right: 2px;
  9. }*/
  10. </style>
  11. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  12. <script>
  13. var mold = $.request("mold");
  14. $(document).ready(function () {
  15. $("input.cell").keyup(function (e) {
  16. switch (e.keyCode) {
  17. // up arrow
  18. case 40:
  19. $(this).parent()
  20. .parent()
  21. .next()
  22. .children("td")
  23. .children("input.cell[name="
  24. + $(this).attr("name") + "]")
  25. .focus();
  26. break;
  27. // down arrow
  28. case 38:
  29. $(this).parent()
  30. .parent()
  31. .prev()
  32. .children("td")
  33. .children("input.cell[name="
  34. + $(this).attr("name") + "]")
  35. .focus();
  36. break;
  37. }
  38. });
  39. });
  40. </script>
  41. <script>
  42. var _Clos = new Array();
  43. var _Closs = new Array();
  44. $(function () {
  45. SetCols();
  46. GetSYDep();
  47. GetDocType();
  48. gridList();
  49. })
  50. var mold = $.request("mold");
  51. //动态加载列
  52. function SetCols() {
  53. $.ajax({
  54. url: "/Print/SelectColumnName?" + Math.random(),
  55. dataType: "json",
  56. async: false,
  57. success: function (data) {
  58. var cols = new Array();
  59. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  60. cols.push(collast);
  61. var collast = { label: "领料单号", name: "IssueCode", width: 150, align: 'left' };
  62. cols.push(collast);
  63. var collast = { label: "领料单行号", name: "Sequence", width: 150, align: 'left' };
  64. cols.push(collast);
  65. var collast = { label: "工单号", name: "MOCode", width: 150, align: 'left' };
  66. cols.push(collast);
  67. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  68. cols.push(collast);
  69. var collast = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  70. cols.push(collast);
  71. var collast = { label: '规格型号', name: 'InvStd', width: 100, align: 'left' };
  72. cols.push(collast);
  73. var collast = { label: '仓库编码', name: 'WHCode', width: 100, align: 'left' };
  74. cols.push(collast);
  75. var collast = { label: '仓库名称', name: 'WHName', width: 100, align: 'left' };
  76. cols.push(collast);
  77. var collast = { label: '批次', name: 'BatchCode', width: 100, align: 'left' };
  78. cols.push(collast);
  79. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  80. cols.push(collast);
  81. var collast = { label: '已领数量', name: 'IssueQuantity', width: 100, align: 'left' };
  82. cols.push(collast);
  83. var collast = { label: '备注', name: 'EATTRIBUTE5', hidden: true };
  84. cols.push(collast);
  85. var collast = { label: '操作人名称', name: 'MUSERName', width: 150, align: 'left' };
  86. cols.push(collast);
  87. var collast = { label: '操作时间', name: 'MTIME', width: 150, align: 'left' };
  88. cols.push(collast);
  89. var collast = { label: '自由项唯一标识', name: 'ExtensionID', hidden: true };
  90. cols.push(collast);
  91. if (data != null && data.length > 0) {
  92. DateList = data;
  93. for (var i = 0; i < data.length; i++) {
  94. var ColName = data[i].ColName;
  95. var ColCode = data[i].ColCode;
  96. var obj = new Array();
  97. obj = {
  98. label: ColName,
  99. name: ColCode,
  100. width: 80,
  101. align: "left"
  102. }
  103. cols.push(obj);
  104. }
  105. }
  106. $.ajax({
  107. url: "/Print/SelectTableColumnName?" + Math.random(),
  108. dataType: "json",
  109. async: false,
  110. success: function (data) {
  111. if (data != null && data.length > 0) {
  112. DateList = data;
  113. for (var i = 0; i < data.length; i++) {
  114. var TableCode = data[i].TableCode;
  115. if (TableCode == "ICSMOIssueNegDetail") {
  116. var Code = data[i].Code;
  117. var Name = data[i].Name;
  118. var obj = new Array();
  119. obj = {
  120. label: Name,
  121. name: Code,
  122. width: 80,
  123. align: "left"
  124. }
  125. cols.push(obj);
  126. }
  127. }
  128. }
  129. _Closs = cols;
  130. //_Clos1 = cols1;
  131. }
  132. });
  133. _Clos = cols;
  134. }
  135. });
  136. }
  137. //绑定动态列
  138. function gridList() {
  139. debugger;
  140. var $gridList = $("#gridList");
  141. var queryJson = {
  142. POCode: $("#txt_POCode").val(),
  143. InvCode: $("#txt_InvCode").val(),
  144. TimeFrom: $("#TimeFrom").val(),
  145. TimeArrive: $("#TimeArrive").val(),
  146. CreatedBy: $("#txt_CreatedBy").val(),
  147. WHCode: $("#txt_WHCode").val(),
  148. Status: $("#selShow3").val(),
  149. DocType: $("#sel_DocType").val(),//单据类型
  150. SYDep:$("#sel_SYDep").val(),//部门
  151. }
  152. $gridList.dataGrid({
  153. url: "/DHAY/ICSMOIssue/GetICSMOIssue" + "?" + Math.random(),
  154. height: $(window).height() - 200,
  155. width: $(window).width() - 300,
  156. colModel: [
  157. { label: "主键", name: "ID", hidden: true, key: true },
  158. { label: '领料单号', name: 'IssueCode', width: 120, align: 'left' },
  159. {
  160. label: "单据类型", name: "EATTRIBUTE2", width: 80, align: "left",
  161. },
  162. //{ label: '领用部门', name: 'LYDep', width: 120, align: 'left' },
  163. /*{ label: '受益项目', name: 'EATTRIBUTE7', width: 150, align: 'left' },*/
  164. {
  165. label: "状态", name: "Status", width: 80, align: "left",
  166. formatter: function (cellvalue) {
  167. if (cellvalue == "1") {
  168. return "开立";
  169. } else if (cellvalue == "2") {
  170. return "审核";
  171. } else if (cellvalue == "3") {
  172. return "关闭";
  173. }
  174. else { return ""; }
  175. }
  176. },
  177. //{ label: '项目编号', name: 'EATTRIBUTE8', width: 120, align: 'left' },
  178. { label: '在建工程项目', name: 'EATTRIBUTE3', width: 150, align: 'left' },
  179. { label: '备注', name: 'EATTRIBUTE5', width: 200, align: 'left' },
  180. { label: '创建人', name: 'MUSERName', width: 150, align: 'left' },
  181. { label: '创建时间', name: 'CreateDateTime', width: 150, align: 'left' },
  182. ],
  183. postData: { queryJson: JSON.stringify(queryJson) },
  184. shrinkToFit: false,//宽度自适应
  185. autoWidth: true,
  186. gridComplete: function () {
  187. },
  188. pager: "#gridPager",
  189. sortorder: "desc",
  190. sortname: 'IssueCode',
  191. viewrecords: true,
  192. multiselect: true,
  193. subGrid: true, // (1)开启子表格支持
  194. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  195. debugger;
  196. $("#gridList").jqGrid("setSelection", rowid, false);
  197. bindSubGrid(subgrid_id, rowid)
  198. }
  199. });
  200. }
  201. //子表
  202. function bindSubGrid(subgrid_id, rowid) {
  203. debugger;
  204. var queryJson = {
  205. POCode: $("#txt_POCode").val(),
  206. InvCode: $("#txt_InvCode").val(),
  207. TimeFrom: $("#TimeFrom").val(),
  208. TimeArrive: $("#TimeArrive").val(),
  209. CreatedBy: $("#txt_CreatedBy").val(),
  210. }
  211. $("#gridList").jqGrid("setSelection", rowid, false);
  212. var subgrid_table_id;
  213. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  214. var subgrid_pager_id;
  215. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  216. // (5)动态添加子报表的table和pager
  217. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  218. var IssueCode = $("#gridList").jqGrid('getRowData', rowid).IssueCode;
  219. // (6)创建jqGrid对象
  220. $("#" + subgrid_table_id).dataGrid({
  221. cellEdit: true,
  222. url: "/DHAY/ICSMOIssue/GetICSMOIssueDetail?IssueCode=" + IssueCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  223. colModel: _Clos,
  224. postData: { queryJson: JSON.stringify(queryJson) },
  225. sortname: 'MTIME',
  226. shrinkToFit: true,//宽度自适应
  227. //multiselect: true,
  228. prmNames: { search: "search" },
  229. viewrecords: true,
  230. height: "100%",
  231. rowNum: 20,
  232. pager: subgrid_pager_id,
  233. });
  234. }
  235. //删除
  236. function btn_Delete() {
  237. var objArr = '';
  238. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  239. for (var i = 0; i < objList.length; i++) {
  240. var rowId = objList[i];
  241. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  242. objArr += "'" + rowData.IssueCode + "',";
  243. }
  244. if (objArr == '') {
  245. $.modalAlertNew("WMS00001");
  246. return;
  247. }
  248. $.deleteForm({
  249. url: "/DHAY/ICSMOIssue/DeleteICSMOIssueByCode" + "?" + Math.random(),
  250. param: { keyValue: JSON.stringify(objArr) },
  251. success: function () {
  252. $.currentWindow().$("#gridList").trigger("reloadGrid");
  253. }
  254. })
  255. }
  256. function Selchange() {
  257. document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table> <div id="gridPager"></div>';//重置grid
  258. gridList();
  259. }
  260. //修改类型
  261. function btn_update() {
  262. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  263. if (ids.length != 1) {
  264. $.modalAlertNew("WMS00006");
  265. return;
  266. }
  267. for (var i in ids) {
  268. var rowData = jQuery("#gridList").jqGrid("getRowData", ids[i]);
  269. //ID
  270. var ID = rowData.ID;
  271. var IssueCode = rowData.IssueCode;
  272. $.modalOpen({
  273. id: "Details",
  274. title: "修改",
  275. url: "/DHAY/ICSMOIssue/Update?ID=" + ID + "&IssueCode=" + IssueCode + "&" + Math.random(),
  276. width: "80%",
  277. height: "80%",
  278. callBack: function (iframeId) {
  279. top.frames[iframeId].submitForm();
  280. }
  281. });
  282. }
  283. }
  284. //创建
  285. function btnCreate() {
  286. $.modalOpen({
  287. id: "BRGCodeAdd",
  288. title: "新增",
  289. url: "/DHAY/ICSMOIssue/Create" + "?" + Math.random(),
  290. width: "80%",
  291. height: "80%",
  292. callBack: function (iframeId) {
  293. top.frames[iframeId].submitForm();
  294. }
  295. });
  296. }
  297. function btnPrint() {
  298. debugger;
  299. //var mold = '00017'; //领料申请退
  300. var objArr = '';
  301. var arr = [];
  302. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  303. for (var i = 0; i < objList.length; i++) {
  304. var rowId = objList[i];
  305. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  306. objArr += "'" + rowData.IssueCode + "',";
  307. }
  308. objArr = objArr.slice(0, objArr.length - 1);
  309. if (objArr == "") {
  310. $.modalAlertNew("WMS00110");
  311. return;
  312. }
  313. objArr = "" + objArr + "|";
  314. arr.push(objArr);
  315. $.modalOpen({
  316. id: "PrintLot",
  317. title: "打印",
  318. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  319. width: "550px",
  320. height: "1000px",
  321. callBack: function (iframeId) {
  322. top.frames[iframeId].submitForm();
  323. }
  324. });
  325. }
  326. function GetSYDep() {
  327. $.ajax({
  328. url: "/DHAY/ICSMOIssue/GetU9CodeType?type=部门" + "&" + Math.random(),
  329. dataType: "json",
  330. async: false,
  331. success: function (data) {
  332. if (data != false && data != null && data.length > 0) {
  333. $("#sel_SYDep").find("option").remove();
  334. //$("#selShow").append("<option value=''>==请选择站点==</option>");
  335. $("#sel_SYDep").append("<option value=''></option>");
  336. for (var i = 0; i < data.length; i++) {
  337. $("#sel_SYDep").append("<option value='" + data[i].Code + "'>" + data[i].Name + "</option>");
  338. }
  339. //$("#sel_SYDep").val([data[0].Code]).trigger("change");
  340. }
  341. $("#sel_SYDep").val('').trigger("change");
  342. }
  343. });
  344. }
  345. function GetDocType() {
  346. $.ajax({
  347. url: "/DHAY/ICSMOIssue/GetU9CodeType?type=杂发" + "&" + Math.random(),
  348. dataType: "json",
  349. async: false,
  350. success: function (data) {
  351. if (data != false && data != null && data.length > 0) {
  352. $("#sel_DocType").find("option").remove();
  353. //$("#selShow").append("<option value=''>==请选择站点==</option>");
  354. $("#sel_DocType").append("<option value=''></option>");
  355. for (var i = 0; i < data.length; i++) {
  356. $("#sel_DocType").append("<option value='" + data[i].Code + "'>" + data[i].Name + "</option>");
  357. }
  358. /* $("#sel_DocType").val([data[0].Code]).trigger("change");*/
  359. }
  360. $("#sel_DocType").val('').trigger("change");
  361. }
  362. });
  363. }
  364. function btnPrint() {
  365. debugger;
  366. var objArr = '';
  367. var arr = [];
  368. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  369. for (var i = 0; i < objList.length; i++) {
  370. var rowId = objList[i];
  371. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  372. objArr += "'" + rowData.IssueCode + "',";
  373. }
  374. objArr = objArr.slice(0, objArr.length - 1);
  375. if (objArr == "") {
  376. $.modalAlertNew("WMS00110");
  377. return;
  378. }
  379. objArr = "" + objArr + "|";
  380. arr.push(objArr);
  381. $.modalOpen({
  382. id: "PrintLot",
  383. title: "打印",
  384. url: "/WMS/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=" + mold + "&" + Math.random(),
  385. width: "550px",
  386. height: "1000px",
  387. callBack: function (iframeId) {
  388. top.frames[iframeId].submitForm();
  389. }
  390. });
  391. }
  392. </script>
  393. <div class="topPanel" style="height:120px">
  394. <div class="toolbar">
  395. <div class="btn-group">
  396. <a id="NF-Create" authorize="yes" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>新增</a>
  397. <a id="NF-update" authorize="yes" class="btn btn-primary" onclick="btn_update()"><i class="fa fa-pencil-square-o"></i>修改</a>
  398. <a id="NF-Delete" authorize="yes" class="btn btn-primary" onclick="btn_Delete()"><i class="fa fa-trash-o"></i>删除</a>
  399. <a id="NF-Print" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnPrint()"><i class="fa fa-pencil-square-o"></i>打印</a>
  400. </div>
  401. @*<script>$('.toolbar').authorizeButton()</script>*@
  402. </div>
  403. <div class="search">
  404. <table>
  405. <tr>
  406. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  407. <td>
  408. <div class="input-group">
  409. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  410. </div>
  411. </td>
  412. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  413. <td>
  414. <div class="input-group">
  415. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  416. </div>
  417. </td>
  418. <td>
  419. <label>&nbsp;&nbsp;&nbsp;状态:</label>
  420. </td>
  421. <td>
  422. <div class="input-group">
  423. <select id="selShow3" name="F_Target" class="form-control" style="width: 100px;">
  424. <option value="0"selected="selected">显示全部</option>
  425. <option value="1">已发料</option>
  426. <option value="2" >未发料</option>
  427. </select>
  428. </div>
  429. </td>
  430. </tr>
  431. <tr>
  432. <td style="text-align:right;"><label class="lglabel" for="txt_WHCode">&nbsp;&nbsp;&nbsp;仓库编码</label>:</td>
  433. <td>
  434. <div class="input-group">
  435. <input id="txt_WHCode" type="text" class="form-control" style="width: 100px;">
  436. </div>
  437. </td>
  438. <td>
  439. <label>&nbsp;&nbsp;&nbsp;单据类型:</label>
  440. </td>
  441. <td>
  442. <div class="input-group">
  443. <select id="sel_DocType" name="F_Target" class="form-control" style="width: 100px;">
  444. </select>
  445. </div>
  446. </td>
  447. <td style="text-align:right;" class="Mechanism"><label class="lglabel" for="txt_CreatedBy">&nbsp;&nbsp;&nbsp;创建人</label>:</td>
  448. <td class="Mechanism">
  449. <div class="input-group">
  450. <input id="txt_CreatedBy" type="text" class="form-control" style="width: 100px;">
  451. </div>
  452. </td>
  453. <td style="text-align:right;"><label class="lglabel" for="txt_TimeFrom">&nbsp;&nbsp;&nbsp;日期(从)</label>:</td>
  454. <td>
  455. <div class="input-group">
  456. <input id="TimeFrom" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd'})" placeholder="日期(从)" />
  457. </div>
  458. </td>
  459. <td style="text-align:right;"><label class="lglabel" for="txt_TimeArrive">&nbsp;&nbsp;&nbsp;日期(到)</label>:</td>
  460. <td>
  461. <div class="input-group">
  462. <input id="TimeArrive" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="日期(到)" />
  463. </div>
  464. </td>
  465. <td>
  466. <span class="input-group-btn">
  467. <button id="btn_search" type="button" class="btn btn-primary" onclick="Selchange()"><i class="fa fa-search"></i></button>
  468. </span>
  469. </td>
  470. </tr>
  471. </table>
  472. </div>
  473. </div>
  474. <div class="gridPanel" id="gridPanel" style="width:99%">
  475. <table id="gridList"></table>
  476. <div id="gridPager"></div>
  477. </div>