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.

507 lines
21 KiB

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