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.

389 lines
16 KiB

4 days ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  6. <script>
  7. var Type = $.request("Type");
  8. $(document).ready(function () {
  9. $("input.cell").keyup(function (e) {
  10. switch (e.keyCode) {
  11. // up arrow
  12. case 40:
  13. $(this).parent()
  14. .parent()
  15. .next()
  16. .children("td")
  17. .children("input.cell[name="
  18. + $(this).attr("name") + "]")
  19. .focus();
  20. break;
  21. // down arrow
  22. case 38:
  23. $(this).parent()
  24. .parent()
  25. .prev()
  26. .children("td")
  27. .children("input.cell[name="
  28. + $(this).attr("name") + "]")
  29. .focus();
  30. break;
  31. }
  32. });
  33. });</script>
  34. <script>
  35. $(function () {
  36. gridList();
  37. })
  38. function gridList() {
  39. var $gridList = $("#gridList");
  40. var queryJson = {
  41. CartonNo: $("#txt_CartonNo").val(),
  42. VenCode: $("#txt_VenCode").val(),
  43. VenName: $("#txt_VenName").val(),
  44. TimeFrom: $("#txt_BeginDate").val(),
  45. TimeTo: $("#txt_EndDate").val(),
  46. Type: Type
  47. }
  48. $gridList.dataGrid({
  49. url: "/KBSSRM/Palletplate/GetGridJson" + "?" + Math.random(),
  50. postData: { queryJson: JSON.stringify(queryJson) },
  51. height: $(window).height() - 200,
  52. width: $(window).width() - 300,
  53. colModel: [
  54. { label: "主键", name: "ID", hidden: true, key: true },
  55. { label: '栈板号', name: 'ContainerCode', width: 150, align: 'left' },
  56. { label: '维护人', name: 'MUSERName', width: 100, align: 'left' },
  57. { label: '维护时间', name: 'MTIME', width: 150, align: 'left' },
  58. { label: '供应商编码', name: 'EATTRIBUTE8', width: 100, align: 'left' },
  59. { label: '供应商名称', name: 'VenName', width: 100, align: 'left' },
  60. { label: '组织名称', name: 'WorkPointName', width: 100, align: 'left' },
  61. { label: '组织号', name: 'WorkPointCode', width: 100, align: 'left' }
  62. ],
  63. shrinkToFit: true,//宽度自适应
  64. gridComplete: function () {
  65. },
  66. pager: "#gridPager",
  67. sortorder: "desc",
  68. sortname: 'MTIME ',
  69. viewrecords: true,
  70. multiselect: true,
  71. //beforeSelectRow: function (rowid, e) {
  72. // $("#gridList").jqGrid('resetSelection');
  73. // return (true);
  74. //},
  75. subGrid: true, // (1)开启子表格支持
  76. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  77. $("#gridList").jqGrid("setSelection", rowid, false);
  78. bindSubGrid(subgrid_id, rowid)
  79. }
  80. });
  81. $("#warehouse a.btn-default").click(function () {
  82. $("#warehouse a.btn-default").removeClass("active");
  83. $(this).addClass("active");
  84. $('#btn_search').trigger("click");
  85. });
  86. $("#btn_search").click(function () {
  87. var warehouse = $("#warehouse a.active").attr('data-value');
  88. var queryJson = {
  89. CartonNo: $("#txt_CartonNo").val(),
  90. VenCode: $("#txt_VenCode").val(),
  91. VenName: $("#txt_VenName").val(),
  92. TimeFrom: $("#txt_BeginDate").val(),
  93. TimeTo: $("#txt_EndDate").val(),
  94. Type: Type
  95. }
  96. $gridList.jqGrid('setGridParam', {
  97. postData: { queryJson: JSON.stringify(queryJson) },
  98. page: 1
  99. }).trigger('reloadGrid');
  100. });
  101. }
  102. function bindSubGrid(subgrid_id, rowid) {
  103. $("#gridList").jqGrid("setSelection", rowid, false);
  104. var subgrid_table_id;
  105. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  106. var subgrid_pager_id;
  107. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  108. // (5)动态添加子报表的table和pager
  109. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  110. var ContainerID = $("#gridList").jqGrid('getRowData', rowid).ID;
  111. var WorkPointCode = $("#gridList").jqGrid('getRowData', rowid).WorkPointCode;
  112. // (6)创建jqGrid对象
  113. $("#" + subgrid_table_id).dataGrid({
  114. cellEdit: true,
  115. url: "/KBSSRM/Palletplate/GetSubGridJson?ContainerID=" + ContainerID + "&WorkPointCode=" + WorkPointCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  116. colModel: [
  117. { label: "主键", name: "ID", hidden: true, key: true },
  118. { label: "箱号", name: "ContainerCode", width: 150, align: 'left' },
  119. { label: "箱名", name: "ContainerName", width: 150, align: 'left' },
  120. { label: "创建人", name: "MUSER", width: 150, align: 'left' },
  121. { label: "创建人名称", name: "MUSERName", width: 150, align: 'left' },
  122. { label: '创建时间', name: 'MTIME', width: 150, align: 'left' },
  123. ],
  124. sortname: 'ContainerCode',
  125. shrinkToFit: true,//宽度自适应
  126. //multiselect: true,
  127. prmNames: { search: "search" },
  128. viewrecords: true,
  129. height: "100%",
  130. rowNum: 20,
  131. pager: subgrid_pager_id,
  132. });
  133. }
  134. function btn_delete() {
  135. var objArr = '';
  136. var objArrs = '';
  137. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  138. for (var i = 0; i < objList.length; i++) {
  139. var rowId = objList[i];
  140. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  141. objArr += "'" + rowData.ID + "',";
  142. objArrs += "'" + rowData.WorkPointCode + "',"
  143. }
  144. if (objArr == '') {
  145. $.modalAlert("请选择需要删除的箱号!");
  146. return;
  147. }
  148. $.deleteForm({
  149. url: "/KBSSRM/Palletplate/DeleteContainer" + "?" + Math.random(),
  150. param: { keyValue: JSON.stringify(objArr), Work: JSON.stringify(objArrs) },
  151. success: function () {
  152. $.currentWindow().$("#gridList").trigger("reloadGrid");
  153. }
  154. })
  155. }
  156. function btn_update() {
  157. debugger;
  158. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  159. if (ids.length != 1) {
  160. $.modalAlert("请选择一行数据进行修改!");
  161. return;
  162. }
  163. for (var i in ids) {
  164. var rowData = jQuery("#gridList").jqGrid("getRowData", ids[i]);
  165. var EATTRIBUTE8 = rowData.EATTRIBUTE8;
  166. var keyValue = rowData.ContainerCode;
  167. var WorkPoint = rowData.WorkPointCode;
  168. var ID = rowData.ID;
  169. if (keyValue == "" || keyValue == "undefined") {
  170. $.modalAlert("请选择箱号!");
  171. return;
  172. }
  173. var flag = "";
  174. //判断是否箱号已加入送货单
  175. $.ajax({
  176. url: "/SRM/CartonNoManage/CheckIsAll?CartonNo=" + keyValue + "&" + Math.random(),
  177. dataType: "json",
  178. async: false,
  179. success: function (data) {
  180. flag = data.result;
  181. }
  182. });
  183. if (flag == "0") {
  184. $.modalAlert("该箱号已加入送货单,请现在送货单内删除后再修改!");
  185. return false;
  186. }
  187. $.modalOpen({
  188. id: "PalletplateUpdate",
  189. title: "修改",
  190. url: "/KBSSRM/Palletplate/PalletplateUpdate?CartonNo=" + keyValue + "&Vendor=" + EATTRIBUTE8 + "&WorkPoint=" + WorkPoint + "&ContainerID=" + ID + "&" + Math.random(),
  191. width: "900px",
  192. height: "800px",
  193. callBack: function (iframeId) {
  194. top.frames[iframeId].submitForm();
  195. },
  196. btnClose: function (iframeId) {
  197. top.frames[iframeId].dessubmitForm();
  198. }
  199. });
  200. }
  201. }
  202. function btnCreate() {
  203. $.modalOpen({
  204. id: "PalletplateAdd",
  205. title: "新增",
  206. url: "/KBSSRM/Palletplate/PalletplateAdd?Type=" + Type + "&" + Math.random(),
  207. width: "900px",
  208. height: "800px",
  209. callBack: function (iframeId) {
  210. top.frames[iframeId].submitForm();
  211. },
  212. btnClose: function (iframeId) {
  213. top.frames[iframeId].dessubmitForm();
  214. }
  215. });
  216. }
  217. function btnASNCreate() {
  218. $.modalOpen({
  219. id: "PalletplateAdd",
  220. title: "送货单新增栈板",
  221. url: "/KBSSRM/Palletplate/PalletplateAddByAsn?Type=" + Type + "&" + Math.random(),
  222. width: "900px",
  223. height: "800px",
  224. callBack: function (iframeId) {
  225. top.frames[iframeId].submitForm();
  226. },
  227. btnClose: function (iframeId) {
  228. top.frames[iframeId].dessubmitForm();
  229. }
  230. });
  231. }
  232. </script>
  233. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  234. <script>
  235. function btnPrint() {
  236. var objArr = '';
  237. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  238. for (var i = 0; i < objList.length; i++) {
  239. var rowId = objList[i];
  240. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  241. objArr += "'" + rowData.ContainerCode + "',";
  242. }
  243. var strPrintData;
  244. var bIsInstallPrintControl;
  245. var strPrintControlCookie;
  246. $.ajax({
  247. //url: "/SRM/CartonNoManage/PrintItemLot",
  248. url: "/KBSSRM/Palletplate/PrintItemLot",
  249. type: "post",
  250. data: { keyValue: JSON.stringify(objArr) },
  251. dataType: "json",
  252. async: false,
  253. success: function (data) {
  254. strPrintData = data.strPrintData_1;
  255. bIsInstallPrintControl = data.bIsInstallPrintControl_1;
  256. strPrintControlCookie = data.strPrintControlCookie_1;
  257. }
  258. });
  259. if (strPrintData != '') {
  260. var test = "ChuLinPrint:" + strPrintData;
  261. $("#ifrm")[0].src = "ChuLinPrint:" + strPrintData;
  262. }
  263. if (bIsInstallPrintControl == 'False') {
  264. if (confirm("检测到打印控件未安装,您是否下载安装?")) {
  265. $("#downPrintControl").click();
  266. }
  267. }
  268. if (bIsInstallPrintControl == 'True') {
  269. var strPrintControlCookie = strPrintControlCookie;
  270. if (strPrintControlCookie != '') { //延时3秒后再次检测打印控件是否安装
  271. setTimeout("checkPrintControlInstall()", 8000);
  272. function checkPrintControlInstall() {
  273. $.ajax({
  274. url: "/SRM/CartonNoManage/IsCheckInstall?checkInstall=" + strPrintControlCookie,
  275. dataType: "json",
  276. async: false,
  277. success: function (strResult) {
  278. if (strResult.indexOf("PrintControlInstall") == -1) {
  279. if (confirm("检测到打印控件未安装,您是否下载安装?")) {
  280. $("#downPrintControl").click();
  281. }
  282. }
  283. }
  284. });
  285. }
  286. }
  287. }
  288. $("#btn_search").click();
  289. }
  290. </script>
  291. <div class="topPanel" style="height:100px">
  292. <div class="toolbar">
  293. <div class="btn-group">
  294. <a id="NF-CreateCartonNo" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>新增栈板</a>
  295. <a id="NF-updateCartonNo" authorize="yes" style="margin-left:3px;" class="btn btn-warning" onclick="btn_update()"><i class="fa fa-pencil-square-o"></i>修改栈板</a>
  296. <a id="NF-deleteCartonNo" authorize="yes" style="margin-left:3px;" class="btn btn-danger" onclick="btn_delete()"><i class="fa fa-pencil-square-o"></i>删除栈板</a>
  297. <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>
  298. @*<a class="btn btn-primary" style="margin-left:3px;" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>*@
  299. </div>
  300. <div class="btn-group" style="display:block;padding-left:2px;">
  301. <a id="NF-ASNCreate" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btnASNCreate()"><i class="fa fa-pencil-square-o"></i>送货单新增栈板</a>
  302. <a class="btn btn-primary" style="margin-left:3px;" id="downPrintControl" href="~/PrintActivex.exe">点击下载打印组件</a>
  303. </div>
  304. <script>$('.toolbar').authorizeButton()</script>
  305. </div>
  306. <div class="search">
  307. <table>
  308. <tr>
  309. <td>
  310. <label>箱号:</label>
  311. </td>
  312. <td>
  313. <div class="input-group">
  314. <input id="txt_CartonNo" type="text" class="form-control" placeholder="箱号" style="width: 120px;">
  315. </div>
  316. </td>
  317. <td>
  318. <label>&nbsp;&nbsp;&nbsp;维护时间(从):</label>
  319. </td>
  320. <td>
  321. <div class="input-group">
  322. <input type="text" name="txt_BeginDate" id="txt_BeginDate" class="form-control" style="width: 100px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="维护时间(从)" />
  323. </div>
  324. </td>
  325. <td>
  326. <label>&nbsp;&nbsp;&nbsp;维护时间(到):</label>
  327. </td>
  328. <td>
  329. <div class="input-group">
  330. <input type="text" name="txt_EndDate" id="txt_EndDate" class="form-control" style="width: 100px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd', minDate: txt_BeginDate.value })" placeholder="维护时间(到)" />
  331. </div>
  332. </td>
  333. </tr>
  334. <tr>
  335. <td>
  336. <label>供应商编码:</label>
  337. </td>
  338. <td>
  339. <div class="input-group">
  340. <input id="txt_VenCode" type="text" class="form-control" placeholder="供应商编码" style="width: 120px;">
  341. </div>
  342. </td>
  343. <td>
  344. <label>&nbsp;&nbsp;&nbsp;供应商名称:</label>
  345. </td>
  346. <td>
  347. <div class="input-group">
  348. <input id="txt_VenName" type="text" class="form-control" placeholder="供应商名称" style="width: 100px;">
  349. </div>
  350. </td>
  351. <td>&nbsp;&nbsp;&nbsp;</td>
  352. <td>
  353. <span class="input-group-btn">
  354. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  355. <button id="btn btn-info" type="button" style="margin-left:3px;" class="btn btn-primary" onclick="$.reload()"><i class=" glyphicon glyphicon-refresh"></i></button>
  356. </span>
  357. </td>
  358. <td style="padding-left: 10px;"></td>
  359. </tr>
  360. </table>
  361. </div>
  362. </div>
  363. <div class="gridPanel">
  364. <table id="gridList"></table>
  365. <div id="gridPager"></div>
  366. </div>