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.

347 lines
13 KiB

1 month ago
  1. 
  2. @{
  3. ViewBag.Title = "Index";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
  7. <script src="~/Content/js/select2/select2.min.js"></script>
  8. <script>
  9. var list = "";
  10. var _Clos = new Array();
  11. var STNO = $.request("STNO");
  12. var Vendor = $.request("Vendor");
  13. var WorkPoints = $.request("WorkPoint");
  14. var Type = $.request("Type");
  15. var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode'
  16. var UserCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  17. $(function () {
  18. SetCols();
  19. debugger;
  20. $("#STNO").text(STNO);
  21. InitControl();
  22. InitControl1();
  23. $("#sel_WorkPoint").val([WorkPoints]).trigger("change");
  24. $("#sel_VenCode").val([Vendor]).trigger("change");
  25. $("#sel_WorkPoint").attr("disabled", "disabled");
  26. $("#sel_VenCode").attr("disabled", "disabled");
  27. gridList();
  28. })
  29. function GetICSASNCode() {
  30. debugger;
  31. var WorkPoint = $("#sel_WorkPoint").children('option:selected').val();
  32. var VenCode = $("#sel_VenCode").children('option:selected').val();
  33. if (WorkPoint == "") {
  34. $.modalAlert("请选择站点!");
  35. return;
  36. }
  37. if (VenCode == "") {
  38. $.modalAlert("请选择供应商!");
  39. return;
  40. }
  41. $.ajax({
  42. url: "/PNSRM/ASNManage/GetICSASNCode?RoleEnCode=" + VenCode + "&WorkPoint=" + WorkPoint,
  43. dataType: "json",
  44. async: false,
  45. success: function (data) {
  46. debugger;
  47. if (data.CartonNo != '') {
  48. $("#STNO").text(data.rows);
  49. $("#sel_VenCode").attr("disabled", "disabled");
  50. }
  51. else {
  52. $("#sel_VenCode").removeAttr("disabled");
  53. }
  54. }
  55. });
  56. }
  57. function SetCols() {
  58. debugger;
  59. $.ajax({
  60. url: "/SRM/PORelease/SelectColumnName?" + Math.random(),
  61. dataType: "json",
  62. async: false,
  63. success: function (data) {
  64. var cols = new Array();
  65. var collast = { label: "主键", name: "ID", hidden: true, key: true };
  66. cols.push(collast);
  67. var collast = { label: '采购订单号', name: 'Code', width: 120, align: 'left' };
  68. cols.push(collast);
  69. var collast = { label: '行号', name: 'Sequence', width: 120, align: 'left' };
  70. cols.push(collast);
  71. var collast = { label: '物料编码', name: 'InvCode', width: 120, align: 'left' };
  72. cols.push(collast);
  73. var collast = { label: '物料名称', name: 'InvName', width: 120, align: 'left' };
  74. cols.push(collast);
  75. var collast = { label: '规格型号', name: 'InvStd', width: 120, align: 'left' };
  76. cols.push(collast);
  77. var collast = { label: '数量', name: 'Quantity', width: 120, align: 'left', editable: true };
  78. cols.push(collast);
  79. $.ajax({
  80. url: "/SRM/PORelease/SelectTableColumnName?" + Math.random(),
  81. dataType: "json",
  82. async: false,
  83. success: function (data) {
  84. if (data != null && data.length > 0) {
  85. DateList = data;
  86. for (var i = 0; i < data.length; i++) {
  87. var TableCode = data[i].TableCode;
  88. if (TableCode == "ICSPurchaseOrder") {
  89. var Code = data[i].Code;
  90. var Name = data[i].Name;
  91. var obj = new Array();
  92. obj = {
  93. label: Name,
  94. name: Code,
  95. width: 200,
  96. align: "left"
  97. }
  98. cols.push(obj);
  99. }
  100. }
  101. }
  102. _Closs = cols;
  103. //_Clos1 = cols1;
  104. }
  105. });
  106. if (data != null && data.length > 0) {
  107. DateList = data;
  108. for (var i = 0; i < data.length; i++) {
  109. var ColName = data[i].ColName;
  110. var ColCode = data[i].ColCode;
  111. var obj = new Array();
  112. obj = {
  113. label: ColName,
  114. name: ColCode,
  115. width: 80,
  116. align: "left"
  117. }
  118. cols.push(obj);
  119. }
  120. }
  121. _Clos = cols;
  122. }
  123. });
  124. }
  125. function InitControl() {
  126. var $VenCode = $("#sel_VenCode");
  127. $VenCode.select2({
  128. allowClear: true,
  129. escapeMarkup: function (m) {
  130. return m;
  131. }
  132. });
  133. $.ajax({
  134. url: "/PNSRM/ASNManage/GetVendor" + "?" + Math.random(),
  135. dataType: "json",
  136. async: false,
  137. success: function (data) {
  138. $.each(data, function (index, item) {
  139. $VenCode.append("<option value='" + item.F_VenCode + "'>&nbsp;" + item.cVenName + "</option>");
  140. });
  141. }
  142. });
  143. }
  144. function InitControl1() {
  145. var $VenCode = $("#sel_WorkPoint");
  146. $VenCode.select2({
  147. allowClear: true,
  148. escapeMarkup: function (m) {
  149. return m;
  150. }
  151. });
  152. $.ajax({
  153. url: "/PNSRM/ASNManage/GetWorkPoint" + "?" + Math.random(),
  154. dataType: "json",
  155. async: false,
  156. success: function (data) {
  157. $.each(data, function (index, item) {
  158. $VenCode.append("<option value='" + item.WorkPointCode + "'>&nbsp;" + item.WorkPointName + "</option>");
  159. });
  160. $("#sel_WorkPoint").val([data[1].WorkPointCode]).trigger("change");
  161. }
  162. });
  163. }
  164. function gridList() {
  165. var $gridList = $("#gridList");
  166. var WorkPoint = $("#sel_WorkPoint").children('option:selected').val();
  167. var queryJson = {
  168. STNO: STNO,
  169. WorkPoint: WorkPoint,
  170. Type:Type
  171. }
  172. $gridList.dataGrid({
  173. url: "/PNSRM/ASNManage/GetSubGridJson_Add" + "?" + Math.random(),
  174. postData: { queryJson: JSON.stringify(queryJson), WorkPoint: JSON.stringify(WorkPoint) },
  175. height: $(window).height() - 200,
  176. width: $(window).width() - 400,
  177. cellEdit: true,
  178. colModel: _Clos,
  179. cellsubmit: "clientArray",
  180. pager: "#gridPager",
  181. sortname: 'ID',
  182. autowidth: true,
  183. rownumbers: true,
  184. viewrecords: true,
  185. });
  186. }
  187. //新增条码
  188. function btnCreate() {
  189. var WorkPoint = $("#sel_WorkPoint").children('option:selected').val();
  190. var VenCode = $("#sel_VenCode").children('option:selected').val();
  191. $.modalOpen({
  192. id: "SeachLotInfo",
  193. title: "采购订单信息",
  194. url: "/PNSRM/ASNManage/ASNSelect?WorkPoint=" + WorkPoint + "&VenCode=" + VenCode,
  195. width: "1000px",
  196. height: "1000px",
  197. callBack: function (iframeId) {
  198. var objArr = top.frames[iframeId].submitForm();
  199. var arrayData = getJQAllData("#gridList");
  200. for (var j = 0; j < objArr.length; j++) {
  201. for (var i = 0; i < arrayData.length; i++) {
  202. if (objArr[j].Code + objArr[j].Sequence == arrayData[i].Code + arrayData[i].Sequence) {
  203. $.modalAlert("所选采购订单行已添加!请勿重复添加!", "error");
  204. return;
  205. }
  206. }
  207. $("#gridList").jqGrid('addRowData', objArr[j].ID, objArr[j], 'last');
  208. $(".unwritten").hide();
  209. }
  210. top.frames[iframeId].Close();
  211. }
  212. });
  213. }
  214. function getJQAllData(list) {
  215. //拿到grid对象
  216. var obj = $(list);
  217. //获取grid表中所有的rowid值
  218. var rowIds = obj.getDataIDs();
  219. //初始化一个数组arrayData容器,用来存放rowData
  220. var arrayData = new Array();
  221. if (rowIds.length > 0) {
  222. for (var i = 0; i < rowIds.length; i++) {
  223. //rowData=obj.getRowData(rowid);//这里rowid=rowIds[i];
  224. arrayData.push(obj.getRowData(rowIds[i]));
  225. }
  226. }
  227. return arrayData;
  228. }
  229. //刷新
  230. function reloadData() {
  231. STNO = $("#STNO").text();
  232. var WorkPoint = $("#sel_WorkPoint").children('option:selected').val();
  233. var queryJson = {
  234. STNO: STNO,
  235. WorkPoint: WorkPoint,
  236. }
  237. $("#gridList").jqGrid('setGridParam', {
  238. postData: { queryJson: JSON.stringify(queryJson) },
  239. page: 1
  240. }).trigger('reloadGrid');
  241. }
  242. //删除条码
  243. function btn_delete() {
  244. debugger;
  245. var rowid = $("#gridList").jqGridRowValue().ID
  246. $("#gridList").delRowData(rowid);
  247. }
  248. //提交时候删除
  249. function submitForm() {
  250. debugger;
  251. var WorkPoint = $("#sel_WorkPoint").children('option:selected').val();
  252. var VenCode = $("#sel_VenCode").children('option:selected').val();
  253. var STNO = $("#STNO").text();
  254. var Details = [];
  255. var obj_vendor = $("#gridList");
  256. var rowIds_vendor = obj_vendor.getDataIDs();
  257. var arrayData_vendor = new Array();
  258. if (rowIds_vendor.length > 0) {
  259. for (var i = 0; i < rowIds_vendor.length; i++) {
  260. var vendorRowData = obj_vendor.getRowData(rowIds_vendor[i]);
  261. var obj = {
  262. Sequences: i + 1,
  263. ID: vendorRowData.ID,
  264. Code: vendorRowData.Code,
  265. Sequence: vendorRowData.Sequence,
  266. InvCode: vendorRowData.InvCode,
  267. Quantity: vendorRowData.Quantity,
  268. Amount: 0,
  269. };
  270. Details.push(obj);
  271. }
  272. var ICSASNs = {
  273. VenCode: VenCode,
  274. ASNCode: STNO,
  275. WorkPoint: WorkPoint,
  276. Detail: Details,
  277. }
  278. var ICSASN = [];
  279. ICSASN.push(ICSASNs);
  280. $.submitForm({
  281. url: "/PNSRM/ASNManage/UpdateICSASNAndDetail?WorkPoint=" + WorkPoint + "&" + Math.random(),
  282. param: { ICSASN: JSON.stringify(ICSASN) },
  283. success: function () {
  284. $.currentWindow().$("#gridList").trigger("reloadGrid");
  285. }
  286. })
  287. }
  288. }
  289. </script>
  290. <form id="form1">
  291. <div class="topPanel">
  292. <div class="btn-group">
  293. <a id="NF-AddItemLot" style="margin-left:3px;" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>添加采购订单</a>
  294. @*<a id="NF-AddCartonNo" style="margin-left:3px;" class="btn btn-primary" onclick="btnAddCartonNo()"><i class="fa fa-pencil-square-o"></i>添加箱号</a>*@
  295. <a id="NF-deleteItemLot" style="margin-left:3px;" class="btn btn-primary" onclick="btn_delete()"><i class="fa fa-pencil-square-o"></i>删除</a>
  296. <a id="refresh" class="btn btn-primary" onclick="reloadData()"><span class="glyphicon glyphicon-refresh"></span></a>
  297. </div>
  298. </div>
  299. <div style="padding-top: 20px; margin-right: 20px;">
  300. <table class="form">
  301. <tr>
  302. <th class="formTitle">站点:</th>
  303. <td class="formValue">
  304. <select id="sel_WorkPoint" name="sel_WorkPoint" class="form-control select2" style="width: 150px" placeholder="请选择站点..."></select>
  305. <input type="hidden" id="hidetext" />
  306. </td>
  307. <th class="formTitle">送货单号:</th>
  308. <td class="formValue">
  309. <label id="STNO" name="STNO" class="form-control" style="height:20px"></label>
  310. </td>
  311. <th class="formTitle">供应商:</th>
  312. <td class="formValue">
  313. <select id="sel_VenCode" name="sel_VenCode" class="form-control select2" style="width: 250px" placeholder="请选择供应商编码..."></select>
  314. <input type="hidden" id="hidetext" />
  315. </td>
  316. </tr>
  317. </table>
  318. </div>
  319. <div class="gridPanel">
  320. <table id="gridList"></table>
  321. <div id="gridPager"></div>
  322. </div>
  323. </form>