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.

399 lines
16 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. $(function () {
  44. SetCols();
  45. gridList();
  46. })
  47. function SetCols() {
  48. $.ajax({
  49. url: "/Print/SelectColumnName?" + Math.random(),
  50. dataType: "json",
  51. async: false,
  52. success: function (data) {
  53. var cols = new Array();
  54. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  55. cols.push(collast);
  56. //var collast = { label: "销售订单号", name: "SDNCode", width: 150, align: 'left' };
  57. // cols.push(collast);
  58. var collast = { label: "销售订单行号", name: "Sequence", width: 150, align: 'left' };
  59. cols.push(collast);
  60. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  61. cols.push(collast);
  62. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  63. cols.push(collast);
  64. var collast = { label: '辅计量数量', name: 'Amount', width: 100, align: 'left' };
  65. cols.push(collast);
  66. var collast = { label: '操作人名称', name: 'MUSERName', width: 150, align: 'left' };
  67. cols.push(collast);
  68. var collast = { label: '操作时间', name: 'MTIME', width: 150, align: 'left' };
  69. cols.push(collast);
  70. var collast = { label: '客户编码', name: 'CusCode', width: 150, align: 'left' };
  71. cols.push(collast);
  72. var collast = { label: '仓库编码', name: 'WHCode', width: 150, align: 'left' };
  73. cols.push(collast);
  74. var collast = { label: '自由项唯一标识', name: 'ExtensionID', hidden: true };
  75. cols.push(collast);
  76. if (data != null && data.length > 0) {
  77. DateList = data;
  78. for (var i = 0; i < data.length; i++) {
  79. var ColName = data[i].ColName;
  80. var ColCode = data[i].ColCode;
  81. var obj = new Array();
  82. obj = {
  83. label: ColName,
  84. name: ColCode,
  85. width: 80,
  86. align: "left"
  87. }
  88. cols.push(obj);
  89. }
  90. }
  91. $.ajax({
  92. url: "/Print/SelectTableColumnName?" + Math.random(),
  93. dataType: "json",
  94. async: false,
  95. success: function (data) {
  96. if (data != null && data.length > 0) {
  97. DateList = data;
  98. for (var i = 0; i < data.length; i++) {
  99. var TableCode = data[i].TableCode;
  100. if (TableCode == "ICSPurchaseOrder") {
  101. var Code = data[i].Code;
  102. var Name = data[i].Name;
  103. var obj = new Array();
  104. obj = {
  105. label: Name,
  106. name: Code,
  107. width: 80,
  108. align: "left"
  109. }
  110. cols.push(obj);
  111. }
  112. if (TableCode == "ICSInventory") {
  113. var Code = data[i].Code;
  114. var Name = data[i].Name;
  115. var obj = new Array();
  116. obj = {
  117. label: Name,
  118. name: Code,
  119. width: 80,
  120. align: "left"
  121. }
  122. cols.push(obj);
  123. //cols1.push(obj);
  124. }
  125. }
  126. }
  127. _Clos = cols;
  128. //_Clos1 = cols1;
  129. }
  130. });
  131. _Clos = cols;
  132. }
  133. });
  134. }
  135. function gridList() {
  136. var $gridList = $("#gridList");
  137. $gridList.dataGrid({
  138. url: "/WMS/SalesOrder/GetICSMOApplyNeg" + "?" + Math.random(),
  139. height: $(window).height() - 200,
  140. width: $(window).width() - 300,
  141. colModel: [
  142. { label: "主键", name: "ID", hidden: true, key: true },
  143. { label: 'ID', name: 'ID', hidden: true },
  144. { label: '销售订单号', name: 'SDNCode', width: 120, align: 'left' },
  145. { label: '客户代码', name: 'CusCode', width: 150, align: 'left' },
  146. { label: '仓库代码', name: 'WHCode', width: 150, align: 'left' },
  147. {
  148. label: "状态", name: "Status", width: 80, align: "left",
  149. formatter: function (cellvalue) {
  150. if (cellvalue == "1") {
  151. return "开立";
  152. } else if (cellvalue == "2") {
  153. return "审核";
  154. } else if (cellvalue == "3") {
  155. return "关闭";
  156. }
  157. else { return ""; }
  158. }
  159. },
  160. {
  161. label: "类型", name: "POType", width: 80, align: "left",
  162. formatter: function (cellvalue) {
  163. if (cellvalue == "1") {
  164. return "标准";
  165. }
  166. else { return ""; }
  167. }
  168. },
  169. { label: '创建人', name: 'CreatePerson', width: 150, align: 'left' },
  170. { label: '创建时间', name: 'CreateDateTime', width: 150, align: 'left' },
  171. ],
  172. shrinkToFit: false,//宽度自适应
  173. autoWidth:true,
  174. gridComplete: function () {
  175. },
  176. pager: "#gridPager",
  177. sortorder: "desc",
  178. sortname: 'SDNCode',
  179. viewrecords: true,
  180. multiselect: true,
  181. //beforeSelectRow: function (rowid, e) {
  182. // $("#gridList").jqGrid('resetSelection');
  183. // return (true);
  184. //},
  185. subGrid: true, // (1)开启子表格支持
  186. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  187. debugger;
  188. $("#gridList").jqGrid("setSelection", rowid, false);
  189. bindSubGrid(subgrid_id, rowid)
  190. }
  191. });
  192. }
  193. function bindSubGrid(subgrid_id, rowid) {
  194. debugger;
  195. $("#gridList").jqGrid("setSelection", rowid, false);
  196. var subgrid_table_id;
  197. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  198. var subgrid_pager_id;
  199. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  200. // (5)动态添加子报表的table和pager
  201. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  202. var POCode = $("#gridList").jqGrid('getRowData', rowid).SDNCode;
  203. // (6)创建jqGrid对象
  204. $("#" + subgrid_table_id).dataGrid({
  205. cellEdit: true,
  206. url: "/WMS/SalesOrder/GetICSMOApplyNegDetail?POCode=" + POCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  207. //colModel: [
  208. // { label: "主键", name: "ID", hidden: true, key: true },
  209. // { label: "退料申请单号", name: "POCode", width: 150, align: 'left' },
  210. // { label: "退料申请单行号", name: "Sequence", width: 150, align: 'left' },
  211. // { label: '来源单据表体ID', name: 'SourceDetailID', width: 100, align: 'left' },
  212. // { label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  213. // { label: '数量', name: 'Quantity', width: 100, align: 'left' },
  214. // { label: '辅计量数量', name: 'Amount', width: 100, align: 'left' },
  215. // { label: '已退数量', name: 'IssueNegQuantity', width: 100, align: 'left' },
  216. // { label: '自由项唯一标识', name: 'ExtensionID', width: 150, align: 'left' },
  217. // { label: '操作人名称', name: 'MUSERName', width: 150, align: 'left' },
  218. // { label: '操作时间', name: 'MTIME', width: 150, align: 'left' },
  219. //],
  220. colModel: _Clos,
  221. sortname: 'MTIME',
  222. shrinkToFit: true,//宽度自适应
  223. //multiselect: true,
  224. prmNames: { search: "search" },
  225. viewrecords: true,
  226. height: "100%",
  227. rowNum: 20,
  228. pager: subgrid_pager_id,
  229. });
  230. }
  231. function btn_Delete() {
  232. var objArr = '';
  233. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  234. for (var i = 0; i < objList.length; i++) {
  235. var rowId = objList[i];
  236. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  237. objArr += "'" + rowData.SDNCode + "',";
  238. }
  239. if (objArr == '') {
  240. $.modalAlertNew("WMS00001");
  241. return;
  242. }
  243. $.deleteForm({
  244. url: "/WMS/SalesOrder/DeleteICSPurchaseOrder" + "?" + Math.random(),
  245. param: { keyValue: JSON.stringify(objArr) },
  246. success: function () {
  247. $.currentWindow().$("#gridList").trigger("reloadGrid");
  248. }
  249. })
  250. }
  251. //修改类型
  252. function btn_update() {
  253. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  254. if (ids.length != 1) {
  255. $.modalAlertNew("WMS00006");
  256. return;
  257. }
  258. for (var i in ids) {
  259. var rowData = jQuery("#gridList").jqGrid("getRowData", ids[i]);
  260. //ID
  261. var ID = rowData.ID;
  262. var POCode = rowData.SDNCode;
  263. var WHCode = rowData.WHCode;
  264. var CusCode = rowData.CusCode;
  265. var WHCode = rowData.WHCode;
  266. $.modalOpen({
  267. id: "Details",
  268. title: "修改",
  269. url: "/WMS/SalesOrder/ICSSalesOrderUpdate?ID=" + ID + "&CusCode=" + CusCode + "&SDNCode=" + POCode + "&WHCode=" + WHCode + "&" + Math.random(),
  270. width: "1000px",
  271. height: "1200px",
  272. callBack: function (iframeId) {
  273. top.frames[iframeId].submitForm();
  274. }
  275. });
  276. }
  277. }
  278. function btnCreate() {
  279. $.modalOpen({
  280. id: "BRGCodeAdd",
  281. title: "新增",
  282. url: "/WMS/SalesOrder/ICSSalesOrderAdd" + "?" + Math.random(),
  283. width: "1000px",
  284. height: "1200px",
  285. callBack: function (iframeId) {
  286. top.frames[iframeId].submitForm();
  287. }
  288. });
  289. }
  290. function btn_Audit() {
  291. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  292. if (ids.length != 1) {
  293. $.modalAlertNew("WMS00087");
  294. return;
  295. }
  296. var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  297. var WorkPoint = '@NFine.Code.OperatorProvider.Provider.GetCurrent().Location'
  298. var date = new Date();
  299. for (var i in ids) {
  300. ID = $("#gridList").jqGrid('getRowData', ids[i]).SDNCode;
  301. Status = $("#gridList").jqGrid('getRowData', ids[i]).Status;
  302. if (Status != '开立') {
  303. $.modalAlertNew("WMS00088");
  304. return;
  305. }
  306. }
  307. var ICSASNs = {
  308. ID: ID,
  309. User: RoleEnCode,
  310. MTIME: date,
  311. WorkPoint: WorkPoint,
  312. ApproveFlag: '1'
  313. }
  314. var ICSASN = [];
  315. ICSASN.push(ICSASNs);
  316. $.submitForm({
  317. url: "/WMS/SalesOrder/AuditICSPurOrder?" + Math.random(),
  318. param: { ICSASN: JSON.stringify(ICSASN) },
  319. success: function () {
  320. $.currentWindow().$("#gridList").trigger("reloadGrid");
  321. }
  322. })
  323. }
  324. function btn_Abandoning() {
  325. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  326. if (ids.length != 1) {
  327. $.modalAlertNew("WMS00087");
  328. return;
  329. }
  330. var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  331. var WorkPoint = '@NFine.Code.OperatorProvider.Provider.GetCurrent().Location'
  332. var date = new Date();
  333. for (var i in ids) {
  334. ID = $("#gridList").jqGrid('getRowData', ids[i]).SDNCode;
  335. Status = $("#gridList").jqGrid('getRowData', ids[i]).Status;
  336. if (Status != '审核') {
  337. $.modalAlert("该单据类型无法弃审!", "warning");
  338. return;
  339. }
  340. }
  341. var ICSASNs = {
  342. ID: ID,
  343. User: RoleEnCode,
  344. MTIME: date,
  345. WorkPoint: WorkPoint,
  346. ApproveFlag: '0'
  347. }
  348. var ICSASN = [];
  349. ICSASN.push(ICSASNs);
  350. $.submitForm({
  351. url: "/WMS/SalesOrder/AuditICSPurOrder?" + Math.random(),
  352. param: { ICSASN: JSON.stringify(ICSASN) },
  353. success: function () {
  354. $.currentWindow().$("#gridList").trigger("reloadGrid");
  355. }
  356. })
  357. }
  358. </script>
  359. <div class="topPanel" style="height:45px">
  360. <div class="toolbar">
  361. <div class="btn-group">
  362. <a id="NF-Create" authorize="yes" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>新增</a>
  363. <a id="NF-update" authorize="yes" class="btn btn-primary" onclick="btn_update()"><i class="fa fa-pencil-square-o"></i>修改</a>
  364. <a id="NF-Audit" authorize="yes" class="btn btn-primary" onclick="btn_Audit()"><i class="fa fa-pencil-square-o"></i>审核</a>
  365. <a id="NF-Abandoning" authorize="yes" class="btn btn-primary" onclick="btn_Abandoning()"><i class="fa fa-pencil-square-o"></i>弃审</a>
  366. <a id="NF-Delete" authorize="yes" class="btn btn-primary" onclick="btn_Delete()"><i class="fa fa-trash-o"></i>删除</a>
  367. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  368. </div>
  369. </div>
  370. </div>
  371. <div class="gridPanel">
  372. <table id="gridList"></table>
  373. <div id="gridPager"></div>
  374. </div>