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.

409 lines
17 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. $(document).ready(function () {
  14. $("input.cell").keyup(function (e) {
  15. switch (e.keyCode) {
  16. // up arrow
  17. case 40:
  18. $(this).parent()
  19. .parent()
  20. .next()
  21. .children("td")
  22. .children("input.cell[name="
  23. + $(this).attr("name") + "]")
  24. .focus();
  25. break;
  26. // down arrow
  27. case 38:
  28. $(this).parent()
  29. .parent()
  30. .prev()
  31. .children("td")
  32. .children("input.cell[name="
  33. + $(this).attr("name") + "]")
  34. .focus();
  35. break;
  36. }
  37. });
  38. });</script>
  39. <script>
  40. var _Clos = new Array();
  41. var _Closs = new Array();
  42. $(function () {
  43. SetCols();
  44. gridList();
  45. })
  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: "SOCode", width: 150, align: 'left' };
  59. cols.push(collast);
  60. var collast = { label: "行号", name: "Sequence", width: 80, align: 'left' };
  61. cols.push(collast);
  62. var collast = { label: '料品编码', name: 'InvCode', width: 150, align: 'left' };
  63. cols.push(collast);
  64. var collast = { label: '料品编码(旧)', name: 'U8InvCode', width: 150, align: 'left' };
  65. cols.push(collast);
  66. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left' };
  67. cols.push(collast);
  68. var collast = { label: '已发数量', name: 'SDNQuantity', width: 100, align: 'left' };
  69. cols.push(collast);
  70. var collast = { label: '备注', name: 'EATTRIBUTE3', width: 100, align: 'left' };
  71. cols.push(collast);
  72. var collast = { label: '操作人名称', name: 'MUSERName', width: 150, align: 'left' };
  73. cols.push(collast);
  74. var collast = { label: '操作时间', name: 'MTIME', width: 150, align: 'left' };
  75. cols.push(collast);
  76. var collast = { label: '自由项唯一标识', name: 'ExtensionID', hidden: true };
  77. cols.push(collast);
  78. if (data != null && data.length > 0) {
  79. DateList = data;
  80. for (var i = 0; i < data.length; i++) {
  81. var ColName = data[i].ColName;
  82. var ColCode = data[i].ColCode;
  83. var obj = new Array();
  84. obj = {
  85. label: ColName,
  86. name: ColCode,
  87. width: 80,
  88. align: "left"
  89. }
  90. cols.push(obj);
  91. }
  92. }
  93. $.ajax({
  94. url: "/Print/SelectTableColumnName?" + Math.random(),
  95. dataType: "json",
  96. async: false,
  97. success: function (data) {
  98. if (data != null && data.length > 0) {
  99. DateList = data;
  100. for (var i = 0; i < data.length; i++) {
  101. var TableCode = data[i].TableCode;
  102. if (TableCode == "ICSSDN") {
  103. var Code = data[i].Code;
  104. var Name = data[i].Name;
  105. var obj = new Array();
  106. obj = {
  107. label: Name,
  108. name: Code,
  109. width: 80,
  110. align: "left"
  111. }
  112. cols.push(obj);
  113. }
  114. }
  115. }
  116. _Closs = cols;
  117. //_Clos1 = cols1;
  118. }
  119. });
  120. _Clos = cols;
  121. }
  122. });
  123. }
  124. //绑定动态列
  125. function gridList() {
  126. var $gridList = $("#gridList");
  127. var queryJson = {
  128. POCode: $("#txt_POCode").val(),
  129. InvCode: $("#txt_InvCode").val(),
  130. TimeFrom: $("#TimeFrom").val(),
  131. TimeArrive: $("#TimeArrive").val(),
  132. CreatedBy: $("#txt_CreatedBy").val(),
  133. Status: $("#selShow3").val()
  134. }
  135. $gridList.dataGrid({
  136. url: "/DHAY/ICSSDN/GetICSSDN" + "?" + Math.random(),
  137. height: $(window).height() - 200,
  138. width: $(window).width() - 300,
  139. colModel: [
  140. { label: "主键", name: "ID", hidden: true, key: true },
  141. { label: '销售出库单号', name: 'SDNCode', width: 120, align: 'left' },
  142. //{
  143. // label: "单据类型", name: "EATTRIBUTE2", width: 80, align: "left",
  144. //},
  145. //{ label: '受益部门', name: 'EATTRIBUTE', width: 120, align: 'left' },
  146. //{ label: '受益项目', name: 'EATTRIBUTE7', width: 150, align: 'left' },
  147. //{ label: '在建工程项目', name: 'EATTRIBUTE3', width: 150, align: 'left' },
  148. { label: "客户编码", name: "CusCode", width: 80, align: "left" },
  149. { label: "客户名称", name: "CusName", width: 200, align: "left" },
  150. {
  151. label: "状态", name: "Status", width: 80, align: "left",
  152. formatter: function (cellvalue) {
  153. if (cellvalue == "1") {
  154. return "开立";
  155. } else if (cellvalue == "2") {
  156. return "审核";
  157. } else if (cellvalue == "3") {
  158. return "关闭";
  159. }
  160. else { return ""; }
  161. }
  162. },
  163. { label: '备注', name: 'EATTRIBUTE2', width: 200, align: 'left' },
  164. { label: '创建人编码', name: 'CreatePerson', width: 150, align: 'left' },
  165. { label: '创建人名称', name: 'MUSERName', width: 150, align: 'left' },
  166. { label: '创建时间', name: 'CreateDateTime', width: 150, align: 'left' },
  167. ],
  168. postData: { queryJson: JSON.stringify(queryJson) },
  169. shrinkToFit: false,//宽度自适应
  170. autoWidth: true,
  171. gridComplete: function () {
  172. },
  173. pager: "#gridPager",
  174. sortorder: "desc",
  175. sortname: 'SDNCode',
  176. viewrecords: true,
  177. multiselect: true,
  178. subGrid: true, // (1)开启子表格支持
  179. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  180. debugger;
  181. $("#gridList").jqGrid("setSelection", rowid, false);
  182. bindSubGrid(subgrid_id, rowid)
  183. }
  184. });
  185. }
  186. //子表
  187. function bindSubGrid(subgrid_id, rowid) {
  188. debugger;
  189. var queryJson = {
  190. POCode: $("#txt_POCode").val(),
  191. InvCode: $("#txt_InvCode").val(),
  192. TimeFrom: $("#TimeFrom").val(),
  193. TimeArrive: $("#TimeArrive").val(),
  194. CreatedBy: $("#txt_CreatedBy").val(),
  195. }
  196. $("#gridList").jqGrid("setSelection", rowid, false);
  197. var subgrid_table_id;
  198. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  199. var subgrid_pager_id;
  200. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  201. // (5)动态添加子报表的table和pager
  202. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  203. var SDNCode = $("#gridList").jqGrid('getRowData', rowid).SDNCode;
  204. // (6)创建jqGrid对象
  205. $("#" + subgrid_table_id).dataGrid({
  206. cellEdit: true,
  207. url: "/DHAY/ICSSDN/GetICSSDNDetail?SDNCode=" + SDNCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  208. colModel: _Clos,
  209. postData: { queryJson: JSON.stringify(queryJson) },
  210. sortname: 'MTIME',
  211. shrinkToFit: true,//宽度自适应
  212. multiselect: true,
  213. prmNames: { search: "search" },
  214. viewrecords: true,
  215. height: "100%",
  216. rowNum: 20,
  217. pager: subgrid_pager_id,
  218. });
  219. }
  220. //删除
  221. function btn_Delete() {
  222. var objArr = '';
  223. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  224. for (var i = 0; i < objList.length; i++) {
  225. var rowId = objList[i];
  226. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  227. objArr += "'" + rowData.SDNCode + "',";
  228. }
  229. if (objArr == '') {
  230. $.modalAlertNew("WMS00001");
  231. return;
  232. }
  233. $.deleteForm({
  234. url: "/DHAY/ICSSDN/DeleteICSSDNByCode" + "?" + Math.random(),
  235. param: { keyValue: JSON.stringify(objArr) },
  236. success: function () {
  237. $.currentWindow().$("#gridList").trigger("reloadGrid");
  238. }
  239. })
  240. }
  241. //行删除
  242. function btn_DeleteRow() {
  243. debugger;
  244. var objArr = '';
  245. var obj = $("#gridList").jqGrid("getRowData");
  246. for (var i = 0; i < obj.length; i++) {
  247. var $SubGird = $("#gridList_" + obj[i].ID + "_t");
  248. var rowData = $SubGird.jqGrid('getGridParam', 'selarrrow');
  249. if (rowData != "undefined" && rowData != null) {
  250. for (var j = 0; j < rowData.length; j++) {
  251. objArr += "'" + rowData[j] + "',";
  252. }
  253. }
  254. }
  255. //var objArr = '';
  256. //var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  257. //for (var i = 0; i < objList.length; i++) {
  258. // var rowId = objList[i];
  259. // var rowData = $("#gridList").jqGrid('getRowData', rowId);
  260. // objArr += "'" + rowData.SDNCode + "',";
  261. //}
  262. if (objArr == '') {
  263. $.modalAlertNew("WMS00001");
  264. return;
  265. }
  266. $.deleteForm({
  267. url: "/DHAY/ICSSDN/DeleteICSSDNById" + "?" + Math.random(),
  268. param: { keyValue: JSON.stringify(objArr) },
  269. success: function () {
  270. $.currentWindow().$("#gridList").trigger("reloadGrid");
  271. }
  272. })
  273. }
  274. function Selchange() {
  275. document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table> <div id="gridPager"></div>';//重置grid
  276. gridList();
  277. }
  278. //修改类型
  279. function btn_update() {
  280. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  281. if (ids.length != 1) {
  282. $.modalAlertNew("WMS00006");
  283. return;
  284. }
  285. for (var i in ids) {
  286. var rowData = jQuery("#gridList").jqGrid("getRowData", ids[i]);
  287. //ID
  288. var ID = rowData.ID;
  289. var SDNCode = rowData.SDNCode;
  290. $.modalOpen({
  291. id: "Details",
  292. title: "修改",
  293. url: "/DHAY/ICSSDN/Update?ID=" + ID + "&SDNCode=" + SDNCode + "&" + Math.random(),
  294. width: "80%",
  295. height: "80%",
  296. callBack: function (iframeId) {
  297. top.frames[iframeId].submitForm();
  298. }
  299. });
  300. }
  301. }
  302. //创建
  303. function btnCreate() {
  304. $.modalOpen({
  305. id: "BRGCodeAdd",
  306. title: "新增",
  307. url: "/DHAY/ICSSDN/Create" + "?" + Math.random(),
  308. width: "80%",
  309. height: "80%",
  310. callBack: function (iframeId) {
  311. top.frames[iframeId].submitForm();
  312. }
  313. });
  314. }
  315. </script>
  316. <div class="topPanel" style="height:60px">
  317. <div class="search">
  318. <table>
  319. <tr>
  320. <td style="text-align:right;"><label class="lglabel" for="txt_POCode">&nbsp;&nbsp;&nbsp;单据号</label>:</td>
  321. <td>
  322. <div class="input-group">
  323. <input id="txt_POCode" type="text" class="form-control" style="width: 100px;">
  324. </div>
  325. </td>
  326. <td style="text-align:right;"><label class="lglabel" for="txt_InvCode">&nbsp;&nbsp;&nbsp;料品编码</label>:</td>
  327. <td>
  328. <div class="input-group">
  329. <input id="txt_InvCode" type="text" class="form-control" style="width: 100px;">
  330. </div>
  331. </td>
  332. <td style="text-align:right;" class="Mechanism"><label class="lglabel" for="txt_CreatedBy">&nbsp;&nbsp;&nbsp;创建人</label>:</td>
  333. <td class="Mechanism">
  334. <div class="input-group">
  335. <input id="txt_CreatedBy" type="text" class="form-control" style="width: 100px;">
  336. </div>
  337. </td>
  338. <td style="text-align:right;"><label class="lglabel" for="txt_TimeFrom">&nbsp;&nbsp;&nbsp;日期(从)</label>:</td>
  339. <td>
  340. <div class="input-group">
  341. <input id="TimeFrom" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd'})" placeholder="日期(从)" />
  342. </div>
  343. </td>
  344. <td style="text-align:right;"><label class="lglabel" for="txt_TimeArrive">&nbsp;&nbsp;&nbsp;日期(到)</label>:</td>
  345. <td>
  346. <div class="input-group">
  347. <input id="TimeArrive" name="Time" type="text" class="form-control required" style="width:80px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="日期(到)" />
  348. </div>
  349. </td>
  350. <td>
  351. <label>&nbsp;&nbsp;&nbsp;状态:</label>
  352. </td>
  353. <td>
  354. <div class="input-group">
  355. <select id="selShow3" name="F_Target" class="form-control" style="width: 100px;">
  356. <option value="0">显示全部</option>
  357. <option value="1">已发完</option>
  358. <option value="2" selected="selected">未发完</option>
  359. </select>
  360. </div>
  361. </td>
  362. <td>
  363. <span class="input-group-btn">
  364. <button id="btn_search" type="button" class="btn btn-primary" onclick="Selchange()"><i class="fa fa-search"></i></button>
  365. </span>
  366. </td>
  367. </tr>
  368. </table>
  369. </div>
  370. <div class="toolbar">
  371. <div class="btn-group">
  372. <a id="NF-Create" authorize="yes" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>新增</a>
  373. <a id="NF-update" authorize="yes" class="btn btn-primary" onclick="btn_update()"><i class="fa fa-pencil-square-o"></i>修改</a>
  374. <a id="NF-Delete" authorize="yes" class="btn btn-primary" onclick="btn_Delete()"><i class="fa fa-trash-o"></i>删除</a>
  375. <a id="NF-DeleteRow" authorize="yes" class="btn btn-primary" onclick="btn_DeleteRow()"><i class="fa fa-trash-o"></i>行删除</a>
  376. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  377. </div>
  378. <script>$('.toolbar').authorizeButton()</script>
  379. </div>
  380. </div>
  381. <div class="gridPanel" id="gridPanel" style="width:99%">
  382. <table id="gridList"></table>
  383. <div id="gridPager"></div>
  384. </div>