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