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.

371 lines
14 KiB

  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/datepicker/WdatePicker.js"></script>
  8. <script src="~/Content/js/select2/select2.min.js"></script>
  9. <style>
  10. #Additem {
  11. margin-left: 45%;
  12. }
  13. #AddTemitem {
  14. margin-right: 45%;
  15. }
  16. </style>
  17. <script>
  18. var _Clos = new Array();
  19. var rfqcode = $.request("rfqcode");
  20. var ID = $.request("ID");
  21. $(function () {
  22. SetCols();
  23. //InitControl();
  24. //ClearTemp();
  25. if (ID=='') {
  26. $(".MOPick").css('display', 'none');
  27. }
  28. var Muser = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  29. var now = new Date();
  30. var date = now.toLocaleDateString();
  31. $("#txtMUSER").val(Muser);
  32. $("#txtMTIME").val(date);
  33. InitControl();
  34. ClearTemp();
  35. reloadData();
  36. })
  37. function SetCols() {
  38. $.ajax({
  39. url: "/Print/SelectColumnName?" + Math.random(),
  40. dataType: "json",
  41. async: false,
  42. success: function (data) {
  43. var cols = new Array();
  44. var collast = { label: '主键', name: 'ID', width: 150, align: 'left', hidden: true, key: true };
  45. cols.push(collast);
  46. var collast = { label: 'ID', name: 'ID', width: 150, align: 'left', hidden: true };
  47. cols.push(collast);
  48. var collast = {
  49. label: '查看', width: 100, align: 'left',
  50. formatter: btnLook
  51. };
  52. cols.push(collast);
  53. var collast = { label: '委外退料单号', name: 'OApplyNegCode', width: 150, align: 'left' };
  54. cols.push(collast);
  55. var collast = { label: '料品编码', name: 'InvCode', width: 100, align: 'left' };
  56. cols.push(collast);
  57. var collast = { label: '料品名称', name: 'InvName', width: 100, align: 'left' };
  58. cols.push(collast);
  59. var collast = { label: '规格型号', name: 'InvStd', width: 100, align: 'left' };
  60. cols.push(collast);
  61. var collast = { label: '数量', name: 'Quantity', width: 100, align: 'left', editable: true, editrules: { number: true } };
  62. cols.push(collast);
  63. var collast = { label: '辅计量数量', name: 'Amount', width: 150, align: 'left' };
  64. cols.push(collast);
  65. var collast = { label: '已发数量', name: 'IssueNegQuantity', width: 150, align: 'left' };
  66. cols.push(collast);
  67. var collast = { label: '自由项ID', name: 'ExtensionID', hidden: true };
  68. cols.push(collast);
  69. var collast = { label: '单位', name: 'InvUnit', width: 100, align: 'left' };
  70. cols.push(collast);
  71. var collast = { label: '来源单据ID', name: 'ZJID', width: 100, align: 'left' };
  72. cols.push(collast);
  73. var collast = { label: '已退数量', name: 'tuinum', width: 100, align: 'left' };
  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. _Clos = cols;
  91. }
  92. });
  93. }
  94. function reloadData() {
  95. $("#gridList").dataGrid({
  96. url: "/WMS/WWMaterialsDeliveredRTM/GetICSReturnTemporary?rfqno=" + $("#txtApplyNegCode").val() + "&" + Math.random(),
  97. //postData: { rfqno: $("#RFQNO").val() },
  98. height: $(window).height() - 200,
  99. width: $(window).width(),
  100. cellEdit: true,
  101. colModel: _Clos,
  102. // colModel: [
  103. //{ label: '主键', name: 'ID', width: 150, align: 'left', hidden: true, key: true },
  104. // { label: 'ID', name: 'ID', width: 150, align: 'left', hidden: true },
  105. // {
  106. // label: '查看', width: 100, align: 'left',
  107. // formatter: btnLook
  108. // },
  109. //{ label: '委外退料单号', name: 'OApplyNegCode', width: 150, align: 'left' },
  110. //{ label: '料品编码', name: 'InvCode', width: 100, align: 'left' },
  111. //{ label: '料品名称', name: 'InvName', width: 100, align: 'left' },
  112. //{ label: '规格型号', name: 'InvStd', width: 100, align: 'left' },
  113. //{ label: '数量', name: 'Quantity', width: 100, align: 'left', editable: true, editrules: { number: true } },
  114. //{ label: '辅计量数量', name: 'Amount', width: 150, align: 'left' },
  115. //{ label: '已发数量', name: 'IssueNegQuantity', width: 150, align: 'left' },
  116. //{ label: '自由项ID', name: 'ExtensionID', hidden: true },
  117. //{ label: '单位', name: 'InvUnit', width: 100, align: 'left' },
  118. //{ label: '来源单据ID', name: 'ZJID', width: 100, align: 'left' },
  119. // { label: '已退数量', name: 'tuinum', width: 100, align: 'left' },
  120. // ],
  121. cellsubmit: "clientArray",
  122. width: "100%",
  123. autowidth: true,
  124. rownumbers: true,
  125. viewrecords: true,
  126. });
  127. }
  128. function btnLook(cellvalue, options, rowObject) {
  129. return cellvalue = "<a class=\"btn btn-primary dropdown-text\" onclick=\"UpLoadClick('" + rowObject.ID + "')\">查看</a>";
  130. }
  131. function UpLoadClick(ID) {
  132. $.modalOpen({
  133. id: "selectDeatil",
  134. title: "查看修改物料",
  135. url: "/WMS/WWMaterialsDeliveredRTM/WWSeachMDInventory?ID=" + ID + "&" + Math.random(),
  136. width: "1000px",
  137. height: "1000px",
  138. callBack: function (iframeId) {
  139. var obj = top.frames[iframeId].submitForm();
  140. var rowData = $("#gridList").jqGrid('getRowData', ID);
  141. rowData.TLZID = obj.TLZID,
  142. rowData.ZJID = obj.ZJID,
  143. rowData.InvCode = obj.InvCode,
  144. rowData.InvName = obj.InvName,
  145. rowData.InvStd = obj.InvStd,
  146. rowData.InvUnit = obj.InvUnit,
  147. rowData.Quantity = obj.Quantity,
  148. rowData.Amount = obj.Amount,
  149. rowData.IssueNegQuantity = obj.IssueQuantity,
  150. rowData.ExtensionID = obj.ExtensionID,
  151. rowData.tuinum = obj.tuinum,
  152. rowData.ProjectCode = obj.ProjectCode,
  153. rowData.BatchCode = obj.BatchCode,
  154. rowData.Version = obj.Version,
  155. rowData.Brand = obj.Brand,
  156. rowData.cFree1 = obj.cFree1,
  157. rowData.cFree2 = obj.cFree2,
  158. rowData.cFree3 = obj.cFree3,
  159. rowData.cFree4 = obj.cFree4,
  160. rowData.cFree5 = obj.cFree5,
  161. rowData.cFree6 = obj.cFree6,
  162. rowData.cFree7 = obj.cFree7,
  163. rowData.cFree8 = obj.cFree8,
  164. rowData.cFree9 = obj.cFree9,
  165. rowData.cFree10 = obj.cFree10
  166. $("#gridList").jqGrid('setRowData', ID, rowData);
  167. $(".unwritten").hide();
  168. top.frames[iframeId].Close();
  169. }
  170. });
  171. }
  172. function guid() {
  173. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
  174. var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
  175. return v.toString(16);
  176. });
  177. }
  178. //最后一行新增数据
  179. function AddRowToLast() {
  180. var obj = {
  181. ID: guid(),
  182. };
  183. $("#gridList").jqGrid('addRowData', obj.ID, obj, 'last');
  184. $(".unwritten").hide();
  185. }
  186. function DeleteRowToLast() {
  187. debugger;
  188. var rowid = $("#gridList").jqGridRowValue().ID
  189. $("#gridList").delRowData(rowid);
  190. }
  191. function InitControl() {
  192. var $VenCode = $("#sel_WHCode");
  193. $VenCode.select2({
  194. allowClear: true,
  195. escapeMarkup: function (m) {
  196. return m;
  197. }
  198. });
  199. $.ajax({
  200. url: "/WMS/ProductionIssue/GetWHCode" + "?" + Math.random(),
  201. dataType: "json",
  202. async: false,
  203. success: function (data) {
  204. $.each(data, function (index, item) {
  205. $VenCode.append("<option value='" + item.WarehouseCode + "'>&nbsp;" + item.WarehouseName + "</option>");
  206. });
  207. }
  208. });
  209. }
  210. function ClearTemp() {
  211. $.ajax({
  212. url: "/WMS/WWMaterialsDeliveredRTM/ClearTemp?" + Math.random(),
  213. datatype: "json",
  214. async: false
  215. })
  216. }
  217. function submitForm() {
  218. debugger;
  219. var WHCode = $("#sel_WHCode").val();
  220. var IDlist = "";
  221. var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
  222. var WorkPoint = '@NFine.Code.OperatorProvider.Provider.GetCurrent().Location'
  223. var myDate = new Date();
  224. var year = myDate.getFullYear(); //获取当前年
  225. var mon = myDate.getMonth() + 1 < 10 ? "0" + (myDate.getMonth() + 1) : myDate.getMonth() + 1; //获取当前月
  226. var dates = myDate.getDate() + 1 < 10 ? "0" + myDate.getDate() : myDate.getDate(); //获取当前日
  227. var hours = myDate.getHours() + 1 < 10 ? "0" + myDate.getHours() : myDate.getHours(); //获取当前小时
  228. var minutes = myDate.getMinutes() + 1 < 10 ? "0" + myDate.getMinutes() : myDate.getMinutes(); //获取当前分钟
  229. var seconds = myDate.getSeconds() + 1 < 10 ? "0" + myDate.getSeconds() : myDate.getSeconds(); //获取当前秒
  230. var date = year + "-" + mon + "-" + dates + ' ' + hours + ':' + minutes + ':' + seconds;
  231. var Details = [];
  232. var obj_vendor = $("#gridList");
  233. var rowIds_vendor = obj_vendor.getDataIDs();
  234. var arrayData_vendor = new Array();
  235. if (rowIds_vendor.length > 0) {
  236. for (var i = 0; i < rowIds_vendor.length; i++) {
  237. var vendorRowData = obj_vendor.getRowData(rowIds_vendor[i]);
  238. if (vendorRowData.Quantity == '') {
  239. $.modalAlertNew("WMS00097");
  240. return;
  241. }
  242. var Code = vendorRowData.InvCode;
  243. var Quantity = Number(vendorRowData.Quantity);
  244. var IssueNegQuantity = Number(vendorRowData.IssueNegQuantity);
  245. var tuinum = Number(vendorRowData.tuinum);
  246. if (Quantity > IssueNegQuantity) {
  247. $.modalAlertNew("WMS00090");
  248. return;
  249. }
  250. //if (IssueNegQuantity - tuinum <= 0) {
  251. // $.modalAlert("料品:'" + Code + "'已发数:'" + IssueNegQuantity + "'已全部退货!");
  252. // return;
  253. //}
  254. var obj = {
  255. Sequence: i + 1,
  256. InvCode: vendorRowData.InvCode,
  257. Quantity: vendorRowData.Quantity,
  258. Amount: vendorRowData.Amount,
  259. SourceDetailID: vendorRowData.ZJID,
  260. ExtensionID: vendorRowData.ExtensionID,
  261. };
  262. Details.push(obj);
  263. }
  264. var ICSASNs = {
  265. WHCode: WHCode,
  266. User: RoleEnCode,
  267. MTIME: date,
  268. WorkPoint: WorkPoint,
  269. Type:'3',
  270. Detail: Details,
  271. }
  272. var ICSASN = [];
  273. ICSASN.push(ICSASNs);
  274. $.submitForm({
  275. url: "/WMS/WWMaterialsDeliveredRTM/SaveICSMOApplyNeg?" + Math.random(),
  276. param: { ICSASN: JSON.stringify(ICSASN) },
  277. success: function () {
  278. $.currentWindow().$("#gridList").trigger("reloadGrid");
  279. }
  280. })
  281. }
  282. }
  283. </script>
  284. <form id="form1">
  285. <div class="topPanel" style="height:10px">
  286. <div class="btn-group">
  287. @*<a id="AddItemLot" style="margin-left:3px;" class="btn btn-primary" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>添加明细</a>
  288. <a id="refresh" class="btn btn-primary" style="margin-left:3px;" onclick="reloadData()"><span class="glyphicon glyphicon-refresh"></span></a>*@
  289. </div>
  290. </div>
  291. <div style="margin-right: 20px;">
  292. <table class="form">
  293. <thead>主表信息</thead>
  294. <tr>
  295. <th class="formTitle MOPick">退料单号:</th>
  296. <td class="formValue MOPick">
  297. <input type="text" id="txtApplyNegCode" class="form-control" />
  298. </td>
  299. <th class="formTitle">仓库编码:</th>
  300. <td class="formValue">
  301. <select id="sel_WHCode" name="sel_WHCode" class="form-control select2" style="width: 230px" placeholder="请选择供应商编码..."></select>
  302. <input type="hidden" id="hidetext" />
  303. </td>
  304. </tr>
  305. <tr>
  306. <th class="formTitle">维护人:</th>
  307. <td class="formValue">
  308. <input id="txtMUSER" type="text" readonly="readonly" class="form-control" />
  309. </td>
  310. <th class="formTitle">维护时间:</th>
  311. <td class="formValue">
  312. <input id="txtMTIME" type="text" readonly="readonly" class="form-control" />
  313. </td>
  314. </tr>
  315. </table>
  316. </div>
  317. <div class="gridPanel" style="margin-left:10px">
  318. <span><strong>子表信息</strong></span>
  319. <table id="gridList"></table>
  320. <div style="text-align:center">
  321. <button id="AddRow" class="btn btn-primary" type="button" onclick="AddRowToLast()">添加</button>
  322. <button id="DeleteRow" type="button" class="btn btn-primary" onclick="DeleteRowToLast()">删除</button>
  323. </div>
  324. </div>
  325. </form>