PageRenderTime 60ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/magehelp/application/views/procurement/purchaseorder/purchase_order_grid_1.php

https://bitbucket.org/jit_bec/shopifine
PHP | 1456 lines | 1199 code | 179 blank | 78 comment | 55 complexity | d2a8d703fffa575c3b8b00bc6cc0f69f MD5 | raw file
Possible License(s): LGPL-3.0
  1. <html>
  2. <head>
  3. <?php $this->load->view("common/header"); ?>
  4. <!-- <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>-->
  5. <style>
  6. .column {
  7. float: left;
  8. padding: 1em;
  9. width:45%;
  10. }
  11. .extra-wide{
  12. width:95%;
  13. }
  14. .field{
  15. width:100%;
  16. }
  17. .ui-widget-header {height:12px;}
  18. .quote-column {
  19. float: left;
  20. padding-bottom: 0.5em;
  21. width: 95%;
  22. }
  23. .ui-combobox {
  24. width:14em;
  25. }
  26. .ui-combobox-input{
  27. width:12em;
  28. }
  29. #supplierOp-input{
  30. width:10em;
  31. }
  32. #warehouseOp-input{
  33. width:10em;
  34. }
  35. .calculated {
  36. color: green;
  37. font-size: 90%;
  38. }
  39. .row{
  40. width:95%;
  41. }
  42. .shopifine-ro-label {
  43. float: left;
  44. padding-right: 0.5em;
  45. width: 50%;
  46. word-wrap: break-word;
  47. color:#2E6E9E;
  48. }
  49. .shopifine-output {
  50. float: right;
  51. width: 45%;
  52. word-wrap: break-word;
  53. font-weight:bold;
  54. }
  55. .ui-tabs {
  56. height: 80%;
  57. margin: 0 auto;
  58. width: 70%;
  59. left:0;
  60. }
  61. #notetab {
  62. height:30em;
  63. }
  64. #details {
  65. height:12em;
  66. }
  67. .ui-tabs-nav{
  68. height:22px;
  69. }
  70. .labeldiv {
  71. color: #2E6E9E;
  72. float: left;
  73. font-size: 110%;
  74. font-weight: bold;
  75. margin-right: .5em;
  76. width: 35%;
  77. word-wrap: break-word;
  78. }
  79. .valuediv {
  80. float: left;
  81. font-weight: bold;
  82. width: 45%;
  83. word-wrap: break-word;
  84. }
  85. label.error {
  86. margin-right: .5em;
  87. }
  88. #status-message-li{
  89. color: red;
  90. font-size: 110%;
  91. font-style: italic;
  92. margin: 0 auto;
  93. width: 80%;
  94. }
  95. .help-message-left{
  96. color: green;
  97. font-size: 90%;
  98. font-style: italic;
  99. margin: 0 auto;
  100. width: 90%;
  101. float:left
  102. }
  103. </style>
  104. <script type="text/javascript">
  105. $(function() {
  106. $.validator.addMethod('comboBoxrequired', function(value, element) {
  107. var selectId = element.id;
  108. var inputIdSelector = "#" + selectId + "-input";
  109. if (value == ""){
  110. inputVal = $(inputIdSelector).val();
  111. if (inputVal == "" || inputVal == null){
  112. return false;
  113. }
  114. }
  115. return true;
  116. }, 'Please select from the dropdown or add new element in box');
  117. $.validator.addMethod('lessthanallowed', function (value, element, param) {
  118. var allowed_id = element.id + '-total';
  119. if (parseFloat(value)>parseFloat($("#"+allowed_id).val())){
  120. return false;
  121. }
  122. return true;
  123. },"{0} Quantity Can Not Be More Than Total Received/Returned For This Line Item");
  124. $.validator.addMethod('tallyquantity', function(value, element) {
  125. var ordered_quantity = parseInt($("#quantity").text());
  126. var already_received = parseInt($("#already_received").text());
  127. var received_quantity = parseInt($("#received_quantity").val());
  128. var returned_quantity = parseInt($("#returned_quantity").val());
  129. var subgrid=$("#subgrid_ref").val();
  130. var receipt_line_id = $("#receipt_line_ref").val();
  131. var action = $("#action").val();
  132. var oper = $("#oper").val();
  133. console.log("already_received" + already_received + "received_quantity" + received_quantity + "returned_quantity" + returned_quantity);
  134. var total_received = already_received + received_quantity + returned_quantity;
  135. if (action=='edit'){
  136. // for edit actionold values need to be subtracted
  137. total_received = total_received - $("#"+subgrid).getCell(receipt_line_id,'received_quantity')
  138. //}
  139. //else if (oper=="return"){
  140. total_received = total_received - $("#"+subgrid).getCell(receipt_line_id,'returned_quantity');
  141. //}
  142. }
  143. console.log("total_received/returned" + total_received);
  144. console.log("ordered_quantity" + ordered_quantity);
  145. if (total_received>ordered_quantity){
  146. return false;
  147. }
  148. return true;
  149. }, 'Total Received And Returned Can Not Be More Than Ordered');
  150. //form validation
  151. $("#quoteForm").validate();
  152. $("#ppItemForm").validate({
  153. rules:{
  154. pp_quantity_received:
  155. {required:true,
  156. lessthanallowed:"Part Payable Received"}
  157. }
  158. });
  159. $("#itemForm").validate({
  160. ignore:".ignore-fields",
  161. rules:{
  162. received_quantity:{
  163. required:true,
  164. //noBlank:true,
  165. digits:true,
  166. min:1
  167. },
  168. received_value:{
  169. required:true,
  170. //noBlank:true,
  171. number:true,
  172. minStrict:0
  173. },
  174. returned_quantity:{
  175. required:true,
  176. //noBlank:true,
  177. digits:true,
  178. min:1
  179. },
  180. returned_value:{
  181. required:true,
  182. //noBlank:true,
  183. number:true,
  184. minStrict:0
  185. }
  186. }
  187. }
  188. );
  189. // datepicker for Add Form
  190. function quotegriddates(id){
  191. jQuery("#"+id+"_needed_by_date","#orders").datepicker({dateFormat:"yy-mm-dd",minDate:0});
  192. }
  193. //end datepicker
  194. var myGridPkd = $("#lineItems");
  195. $( "#dialog-form" ).dialog({
  196. autoOpen: false,
  197. height: 'auto',
  198. width: '65%',
  199. position:[220,25],
  200. modal: true,
  201. buttons: {
  202. "DoneButton": {
  203. id:"doneBtn",
  204. text:"Done",
  205. click:function() {
  206. var isValid = $("#quoteForm").valid();
  207. if (isValid){
  208. $( this ).dialog( "close" );
  209. } //end ifvalid
  210. }}, //end of Create button
  211. Cancel: function() {
  212. //in cancel just recset notes
  213. $("#receivingNotes").val("");
  214. $( this ).dialog( "close" );
  215. }
  216. },//end buttons
  217. open: function(){
  218. $( "#tabs" ).tabs({
  219. //cache
  220. beforeLoad: function( event, ui ) {
  221. var tabcache = $("#tabcache").val();
  222. if (tabcache==1){
  223. if ( ui.tab.data( "loaded" ) ) {
  224. event.preventDefault();
  225. return;
  226. }
  227. ui.jqXHR.success(function() {
  228. ui.tab.data( "loaded", true );
  229. });
  230. }
  231. },
  232. beforeActivate: function (event,ui){
  233. console.log(ui.newTab[0].id);
  234. console.log(ui.oldTab[0].id);
  235. if (ui.oldTab[0].id=="notesLink"){
  236. $("#tabcache").val("1");
  237. }
  238. },
  239. //load contents after the tab loading is complete
  240. load: function(event,ui){
  241. $.ajax({
  242. method:"POST",
  243. url:'index.php/procurement/getOrderDetails',
  244. data:{orderId: myGrid.getGridParam('selrow')},
  245. success:function(response){
  246. //console.log(response);
  247. var resJson = JSON.parse(response);
  248. //console.log(resJson);
  249. $("#orderRef").text(resJson.reference);
  250. $("#supplierOP").text(resJson.supplier_name);
  251. $("#warehouseOP").text(resJson.warehouse);
  252. $("#quoteOP").text(resJson.quote_reference);
  253. $("#raisedByOP").text(resJson.raised_by_name);
  254. $("#approvedByOP").text(resJson.approved_by_name);
  255. $("#estValueOP").text(resJson.estimated_value);
  256. $("#receivingNotes").val(resJson.receiving_notes);
  257. //$("#receivingNotes").val("abcc");
  258. }
  259. })
  260. $("#lineItems").jqGrid({
  261. url:'index.php/procurement/populateOrderItems',
  262. datatype: 'json',
  263. mtype: 'POST',
  264. postData:{orderId: myGrid.getGridParam('selrow')},
  265. colNames:['Product id','Product','Quantity','Received','Returned','Need By Date','Price','Ordered Value','Received Value','Returned Value'/*'Notes'*/],
  266. colModel :[
  267. {name:'product_id', index:'product_id',editable:false, hidden:true},
  268. {name:'name', index:'name',editable:false, width:160, align:'right'},
  269. {name:'quoted_quantity', index:'quoted_quantity', editable:false,width:60, align:'right'},
  270. {name:'received_quantity', index:'received_quantity', editable:false,width:60, align:'right'},
  271. {name:'returned_quantity', index:'returned_quantity', editable:false,width:60, align:'right'},
  272. {name:'needed_by_date',index:'needed_by_date',editable:false, width:80, align:'right',hidden:true},
  273. {name:'expected_price',index:'expected_price',editable:false, width:60, align:'right',hidden:true},
  274. {name:'estimated_value', index:'estimated_value',editable:false, width:100, align:'right'},
  275. {name:'received_value', index:'received_value',editable:false, width:100, align:'right'},
  276. {name:'returned_value', index:'returned_value',editable:false, width:100, align:'right'},
  277. // {name:'comments', index:'comments',editable:true, width:180, align:'right'}
  278. ],
  279. pager: '#pagerPk',
  280. rowNum:10,
  281. rowList:[5,10,20],
  282. sortname: 'id',
  283. sortorder: 'desc',
  284. viewrecords: true,
  285. gridview: true,
  286. ignoreCase:true,
  287. rownumbers:true,
  288. multiselect:true,
  289. height:'auto',
  290. width:'60%',
  291. caption: 'Line Items',
  292. jsonReader : {
  293. root:"orderitemdata",
  294. page: "page",
  295. total: "total",
  296. records: "records",
  297. cell: "dprow",
  298. id: "id"
  299. },
  300. //receipt Item subgrid
  301. subGrid:true,
  302. subGridRowExpanded: function(subgrid_id, row_id) {
  303. var subgrid_table_id, pager_id;
  304. subgrid_table_id = subgrid_id+"_t";
  305. pager_id = "p_"+subgrid_table_id;
  306. $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
  307. jQuery("#"+subgrid_table_id).jqGrid({
  308. url:'index.php/procurement/populateReceiptItems?oper='+"orderline"+'&orderLineId='+row_id,
  309. datatype: 'json',
  310. colNames:['Line ref','Supplier Receipt','Reference','Receipt Id','Order Line Id','Order Line Ref','Product Id','Product','Qty','Qty Rcvd','Rcvd Value','Qty Rtrnd','Rtrnd Value','Rcvd Notes','Rtrnd Notes'],
  311. colModel :[
  312. {name:'line_reference', index:'line_reference',editable:false,width:60, align:'right',hidden:true},
  313. {name:'supplier_receipt_number', index:'supplier_receipt_number',editable:false,width:120, align:'right'},
  314. {name:'reference', index:'reference',editable:false,width:60, align:'right'},
  315. {name:'receipt_id', index:'receipt_id',editable:false, hidden:true},
  316. {name:'order_line_id', index:'order_line_id',editable:false, hidden:true},
  317. {name:'product_id', index:'product_id',editable:false, hidden:true},
  318. {name:'order_line_ref', index:'order_line_ref',editable:false, width:100, align:'right',hidden:true},
  319. {name:'name', index:'name',editable:false, width:100, align:'right',hidden:true},
  320. {name:'ordered_quantity', index:'ordered_quantity', editable:false,width:60, align:'right'},
  321. {name:'received_quantity', index:'received_quantity', editable:false,width:60, align:'right'},
  322. {name:'received_value', index:'received_value',editable:false, width:80, align:'right'},
  323. {name:'returned_quantity', index:'returned_quantity', editable:false,width:60, align:'right'},
  324. {name:'returned_value', index:'returned_value',editable:false, width:80, align:'right'},
  325. {name:'receiving_notes', index:'receiving_notes',editable:false, width:160, align:'right',hidden:true},
  326. {name:'returned_notes', index:'returned_notes', editable:false,width:160, align:'right',hidden:true}
  327. // {name:'comments', index:'comments',editable:false, width:160, align:'right'}
  328. ],
  329. rowNum:20,
  330. pager: pager_id,
  331. sortname: 'id',
  332. sortorder: "asc",
  333. height: '100%',
  334. multiselect:true,
  335. jsonReader : {
  336. root:"receiptitemdata",
  337. page: "page",
  338. total: "total",
  339. records: "records",
  340. cell: "dprow",
  341. id: "id"
  342. }
  343. });
  344. $("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false,search:false,view:true});
  345. // subgrid custom buttin navigation bar
  346. $("#"+subgrid_table_id).jqGrid ('navButtonAdd', "#"+pager_id,
  347. {
  348. caption:"",
  349. title:"Edit Received For This Receipt",
  350. buttonicon:"ui-icon-newwin",
  351. id:"receive_lineItems",
  352. onClickButton : function () {
  353. //need to pass grid id for dynamic reload;
  354. var noOfRows = $("#"+subgrid_table_id).getGridParam("selarrrow").length;
  355. if (noOfRows == 1){
  356. var lineId = $("#"+subgrid_table_id).getGridParam("selrow");
  357. // grid id would help us in getting order line related info from lineItem grid using order_line_id
  358. // Sub grid would help us in getting receipt related information using receipt id
  359. var gridData ={'grid_id':'lineItems','sub_grid_id':subgrid_table_id,'order_line_id':$("#"+subgrid_table_id).getCell(lineId,'order_line_id'),
  360. 'receipt_line_id':$("#"+subgrid_table_id).getGridParam("selrow"),'action':'edit','oper':'receive','url':"index.php/procurement/receiveItems"}
  361. $( "#dialog-form-item" ).data('grid_data',gridData).dialog( "open" );
  362. }
  363. else {
  364. $( "#modal-warning" ).dialog("open") ;
  365. }
  366. }
  367. });
  368. $("#"+subgrid_table_id).jqGrid ('navButtonAdd', "#"+pager_id,
  369. {
  370. caption:"",
  371. title:"Edit Returned For This Receipt",
  372. buttonicon:"ui-icon-arrowreturnthick-1-w",
  373. id:"return_lineItems",
  374. onClickButton : function () {
  375. //need to pass grid id for dynamic reload;
  376. var noOfRows = $("#"+subgrid_table_id).getGridParam("selarrrow").length;
  377. if (noOfRows == 1){
  378. var lineId = $("#"+subgrid_table_id).getGridParam("selrow");
  379. // grid id would help us in getting order line related info from lineItem grid using order_line_id
  380. // Sub grid would help us in getting receipt related information using receipt id
  381. var gridData ={'grid_id':'lineItems','sub_grid_id':subgrid_table_id,'order_line_id':$("#"+subgrid_table_id).getCell(lineId,'order_line_id'),
  382. 'receipt_line_id':$("#"+subgrid_table_id).getGridParam("selrow"),'action':'edit','oper':'return','url':"index.php/procurement/receiveItems"}
  383. $( "#dialog-form-item" ).data('grid_data',gridData).dialog( "open" );
  384. }
  385. else {
  386. $( "#modal-warning" ).dialog("open") ;
  387. }
  388. }
  389. });
  390. $("#"+subgrid_table_id).jqGrid ('navButtonAdd', "#"+pager_id,
  391. {
  392. caption:"",
  393. title:"Process For Part Payment",
  394. buttonicon:"ui-icon-clipboard",
  395. id:"pp_lineItems",
  396. onClickButton : function () {
  397. //need to pass grid id for dynamic reload;
  398. var noOfRows = $("#"+subgrid_table_id).getGridParam("selarrrow").length;
  399. if (noOfRows == 1){
  400. var lineId = $("#"+subgrid_table_id).getGridParam("selrow");
  401. // grid id would help us in getting order line related info from lineItem grid using order_line_id
  402. // Sub grid would help us in getting receipt related information using receipt id
  403. var gridData ={'grid_id':'lineItems','sub_grid_id':subgrid_table_id,'order_line_id':$("#"+subgrid_table_id).getCell(lineId,'order_line_id'),
  404. 'receipt_line_id':$("#"+subgrid_table_id).getGridParam("selrow"),'action':'edit','oper':'return','url':"index.php/procurement/receiveItems"}
  405. $( "#dialog-form-partpayment" ).dialog('option','title','REC-'+$("#"+subgrid_table_id).getCell(lineId,'line_reference'))
  406. $( "#dialog-form-partpayment" ).data('grid_data',gridData).dialog( "open" );
  407. }
  408. else {
  409. $( "#modal-warning" ).dialog("open") ;
  410. }
  411. }
  412. });
  413. $("#"+subgrid_table_id).jqGrid ('navButtonAdd', "#"+pager_id,
  414. { caption: "", buttonicon: "ui-icon-calculator",
  415. title: "Choose Columns",
  416. onClickButton: function() {
  417. $("#"+subgrid_table_id).jqGrid('columnChooser');
  418. }
  419. });
  420. //end sub grid navigator custom buttons
  421. }
  422. }).navGrid("#pagerPk",{edit:false,add:false,del:false,search:false,view:true},{},{},{},{},{});
  423. $("#lineItems").jqGrid('navButtonAdd','#pagerPk',{
  424. caption:"",
  425. title:"Receive Items",
  426. buttonicon:"ui-icon-newwin",
  427. id:"receive_lineItems",
  428. onClickButton : function () {
  429. //need to pass grid id for dynamic reload;
  430. var noOfRows = $("#lineItems").getGridParam("selarrrow").length;
  431. if (noOfRows == 1){
  432. var gridData ={'grid_id':'lineItems','order_line_id':$("#lineItems").getGridParam("selrow"),
  433. 'action':'add','oper':'receive','url':"index.php/procurement/receiveItems"}
  434. $( "#dialog-form-item" ).data('grid_data',gridData).dialog( "open" );
  435. $("#receiptOp").combobox();
  436. }
  437. else {
  438. $( "#modal-warning" ).dialog("open") ;
  439. }
  440. }
  441. });
  442. $("#lineItems").jqGrid('navButtonAdd','#pagerPk',{
  443. caption:"",
  444. title:"Return Items",
  445. buttonicon:"ui-icon-arrowreturnthick-1-w",
  446. id:"return_lineItems",
  447. onClickButton : function () {
  448. //need to pass grid id for dynamic reload;
  449. var noOfRows = $("#lineItems").getGridParam("selarrrow").length;
  450. if (noOfRows == 1){
  451. var gridData ={'grid_id':'lineItems','order_line_id':$("#lineItems").getGridParam("selrow"),
  452. 'action':'add','oper':'return','url':"index.php/procurement/receiveItems"}
  453. $( "#dialog-form-item" ).data('grid_data',gridData).dialog( "open" );
  454. $("#receiptOp").combobox();
  455. }
  456. else {
  457. $( "#modal-warning" ).dialog("open") ;
  458. }
  459. }
  460. });
  461. }
  462. });
  463. },
  464. close: function() {
  465. //allFields.val( "" ).removeClass( "ui-state-error"
  466. var receiving_notes = $("#receivingNotes").val();
  467. console.log(receiving_notes);
  468. $("#tabcache").val("0");
  469. $.ajax({url:"index.php/procurement/validateReceiving",
  470. type:"POST",
  471. data:{
  472. receiving_notes:$("#receivingNotes").val(),
  473. order_id: $("#orders").getGridParam('selrow')
  474. },
  475. success:function(response)
  476. {}
  477. }); //end ajax
  478. $("#quoteForm").data('validator').resetForm();
  479. $('#quoteForm')[0].reset();
  480. $("#lineItems").jqGrid("GridUnload");
  481. $("#tabs").tabs("destroy");
  482. $("#orders").trigger("reloadGrid");
  483. }
  484. });
  485. // Main Request For Quotation Grid
  486. var myGrid = $("#orders");
  487. myGrid.jqGrid({
  488. url:'index.php/procurement/populatePOToReceive',
  489. datatype: 'json',
  490. mtype: 'GET',
  491. colNames:['Reference','Supplier Id','Supplier','Estimated Value',/*'Owner',*/'Status','Raised By',/*'Owner',*/'Needed By Date'],
  492. colModel :[
  493. {name:'reference', index:'reference', width:80, align:'right',editable:false},
  494. {name:'supplier_id', index:'supplier_id',hidden:true},
  495. {name:'supplier_name', index:'supplier_name', width:140, align:'right',editable:false},
  496. {name:'estimated_value', index:'estimated_value', width:100, align:'right',editable:false,editoptions:{size:"20",maxlength:"30"}},
  497. // {name:'owner', index:'owner', width:140, align:'right',editable:true,editoptions:{size:"20",maxlength:"30"}},
  498. {name:'status', index:'status', width:60, align:'right',editable:false,editoptions:{size:"20",maxlength:"30"}},
  499. {name:'raised_by_name', index:'raised_by_name',editable:false, width:80, align:'right'},
  500. // {name:'owner_name', index:'owner_name',editable:false, width:80, align:'right'},
  501. {name:'needed_by_date', index:'needed_by_date',editable:false, width:120, sorttype:'date'}
  502. ],
  503. pager: '#pager',
  504. rowNum:10,
  505. rowList:[5,10,20],
  506. sortname: 'id',
  507. sortorder: 'desc',
  508. viewrecords: true,
  509. gridview: true,
  510. multiselect:true,
  511. ignoreCase:true,
  512. rownumbers:true,
  513. height:'auto',
  514. width:680,
  515. caption: 'Purchase Orders',
  516. jsonReader : {
  517. root:"quotedata",
  518. page: "page",
  519. total: "total",
  520. records: "records",
  521. cell: "dprow",
  522. id: "id"
  523. },
  524. subGrid:true,
  525. subGridRowExpanded: function(subgrid_id, row_id) {
  526. var subgrid_table_id, pager_id;
  527. subgrid_table_id = subgrid_id+"_t";
  528. pager_id = "p_"+subgrid_table_id;
  529. $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
  530. jQuery("#"+subgrid_table_id).jqGrid({
  531. url:'index.php/procurement/populateOrderItems?q=2&orderId='+row_id,
  532. datatype: 'json',
  533. colNames:['Product Id','Product','Quantity','Received','Returned','Need By Date','Unit Price','Estimated Value','Received Value','Returned Value','Notes'],
  534. colModel :[
  535. {name:'product_id', index:'product_id',editable:false, hidden:true},
  536. {name:'name', index:'name',editable:false, width:120, align:'right'},
  537. {name:'quoted_quantity', index:'quoted_quantity', editable:false,width:50, align:'right'},
  538. {name:'received_quantity', index:'received_quantity', editable:false,width:50, align:'right'},
  539. {name:'returned_quantity', index:'returned_quantity', editable:false,width:50, align:'right'},
  540. {name:'needed_by_date',index:'needed_by_date',editable:false, width:60, align:'right',hidden:true},
  541. {name:'expected_price',index:'expected_price',hidden:true, width:50, align:'right'},
  542. {name:'estimated_value', index:'estimated_value',editable:false, width:60, align:'right'},
  543. {name:'received_value', index:'received_value',editable:false, width:60, align:'right'},
  544. {name:'returned_value', index:'returned_value',editable:false, width:60, align:'right',hidden:true},
  545. {name:'comments', index:'comments',editable:false, width:160, align:'right'}
  546. ],
  547. rowNum:20,
  548. pager: pager_id,
  549. sortname: 'id',
  550. sortorder: "asc",
  551. height: '100%',
  552. jsonReader : {
  553. root:"orderitemdata",
  554. page: "page",
  555. total: "total",
  556. records: "records",
  557. cell: "dprow",
  558. id: "id"
  559. }
  560. });
  561. jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false,search:false,view:true});
  562. }
  563. }).navGrid("#pager",{edit:false,add:false,view:false,del:false,search:false},{height:280,reloadAfterSubmit:false,closeAfterEdit:true,recreateForm:true,checkOnSubmit:true},{},{},{},{});
  564. myGrid.jqGrid('navButtonAdd','#pager',{
  565. caption:"",
  566. title:"Match With Received Goods",
  567. buttonicon:"ui-icon-newwin",
  568. id:"add_orders",
  569. onClickButton : function () {
  570. var selectRows = myGrid.getGridParam('selarrrow');
  571. var noOfRows = selectRows.length;
  572. if (noOfRows != 1){
  573. $( "#modal-warning" ).dialog("open");
  574. }
  575. else {
  576. $( "#dialog-form" ).dialog( "open" );
  577. }
  578. }
  579. });
  580. myGrid.jqGrid('navButtonAdd','#pager',{
  581. caption:"",
  582. title:"Ready For Invoice",
  583. buttonicon:"ui-icon-tag",
  584. id:"ready_orders",
  585. onClickButton : function () {
  586. var selectRows = myGrid.getGridParam('selarrrow');
  587. var noOfRows = selectRows.length;
  588. var mismatch = 0;
  589. if (noOfRows == 0){
  590. $( "#modal-warning-none" ).dialog("open");
  591. }
  592. else {
  593. for (i=0;i<noOfRows;i++){
  594. //console.log(selectRows[i]);
  595. var status = myGrid.getCell(selectRows[i],'status');
  596. if (status!='received'){
  597. $( "#modal-warning-status" ).dialog("open");
  598. mismatch = 1;
  599. break;
  600. }
  601. }
  602. if (mismatch==0){
  603. $( "#dialog-confirm" ).dialog( "open" );
  604. }
  605. }
  606. }
  607. });
  608. myGrid.jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn"});
  609. //line item dialog
  610. $( "#dialog-form-item" ).dialog({
  611. autoOpen: false,
  612. height: 'auto',
  613. width: '35%',
  614. position:[450,25],
  615. modal: true,
  616. buttons: {
  617. "Done": {
  618. id:"processItems",
  619. text:"Confirm",
  620. click:function() {
  621. var isvalid = $("#itemForm").valid();
  622. var grid = $(this).data('grid_data').grid_id;
  623. var order_line_id = $(this).data('grid_data').order_line_id;
  624. var oper = $(this).data('grid_data').oper;
  625. var url = $(this).data('grid_data').url;
  626. var order_id = myGrid.getGridParam('selrow');
  627. //relevant only in case of edit
  628. var subgrid = $(this).data('grid_data').sub_grid_id;
  629. var receipt_line_id = $(this).data('grid_data').receipt_line_id;
  630. var action = $(this).data('grid_data').action;
  631. // by default assume action is "add"
  632. var total_received_quantity = parseInt($("#received_quantity").val())+parseInt($("#already_received").text());
  633. var total_received_value = parseFloat($("#received_value").val())+parseFloat($("#already_received_value").text());
  634. var total_returned_quantity=parseInt($("#returned_quantity").val())+parseInt($("#already_returned").text());
  635. var total_returned_value=parseFloat($("#returned_value").val())+parseFloat($("#already_returned_value").text());
  636. if (action=='edit'){
  637. //if (oper=='receive'){
  638. //subtract old received
  639. total_received_value = total_received_value - $("#"+subgrid).getCell(receipt_line_id,'received_value');
  640. total_received_quantity = total_received_quantity - $("#"+subgrid).getCell(receipt_line_id,'received_quantity');
  641. //}
  642. //else if (oper=='return'){
  643. //subtract old returned
  644. total_returned_value = total_returned_value - $("#"+subgrid).getCell(receipt_line_id,'returned_value');
  645. total_returned_quantity = total_returned_quantity - $("#"+subgrid).getCell(receipt_line_id,'returned_quantity');
  646. //}
  647. }
  648. if (isvalid){
  649. $.ajax({
  650. url:url,
  651. type:"POST",
  652. data:{
  653. order_id:order_id,
  654. order_line_id:order_line_id,
  655. product_id:$("#"+grid).getCell(order_line_id,'product_id'),
  656. supplier_id:myGrid.getCell(order_id,'supplier_id'),
  657. receipt:$("#receiptOp").val(),
  658. receipt_ip:$("#receiptOp-input").val(),
  659. total_received_quantity:total_received_quantity,
  660. received_value:$("#received_value").val(),
  661. total_received_value:total_received_value,
  662. received_quantity:$("#received_quantity").val(),
  663. quantity:parseInt($("#quantity").text()),
  664. returned_quantity:$("#returned_quantity").val(),
  665. returned_value:$("#returned_value").val(),
  666. total_returned_quantity:total_returned_quantity,
  667. total_returned_value:total_returned_value,
  668. receiving_notes:$("#receiving_notes").val(),
  669. returned_notes:$("#returned_notes").val(),
  670. oper:$("#oper").val(),
  671. action:$("#action").val()
  672. },
  673. success:function (response){
  674. //console.log("grid " + grid);
  675. $("#"+grid).trigger("reloadGrid");
  676. //reload Main Grid
  677. }
  678. })
  679. $( this ).dialog( "close" );
  680. }
  681. }},
  682. Cancel: function() {
  683. $( this ).dialog( "close" );
  684. }
  685. },
  686. open: function(event,ui){
  687. var grid = $(this).data('grid_data').grid_id;
  688. var order_line_id = $(this).data('grid_data').order_line_id;
  689. var oper = $(this).data('grid_data').oper;
  690. var order_id = myGrid.getGridParam('selrow');
  691. //relevant only in case of edit
  692. var subgrid = $(this).data('grid_data').sub_grid_id;
  693. var receipt_line_id = $(this).data('grid_data').receipt_line_id;
  694. var action = $(this).data('grid_data').action;
  695. $.ajax({
  696. url:"index.php/procurement/populateReceiptOptions",
  697. method:"get",
  698. data:{order_id:order_id},
  699. success : function (response){
  700. $("#receiptOp option").remove();
  701. var opts = '<option value="">Choose ';
  702. opts +=response;
  703. console.log(opts);
  704. $("#receiptOp").html(opts);
  705. if (action=="edit"){
  706. var selVal =$("#"+subgrid).getCell(receipt_line_id,'receipt_id') ;
  707. $("#receiptOp").val(selVal);
  708. $("#receiptOp").attr("disabled",true);
  709. }
  710. }
  711. })
  712. if (oper == "receive"){
  713. $("#received_quantity_cntnr,#received_value_cntnr,#receiving_notes_cntnr").show();
  714. $("#returned_quantity,#returned_value").val("0");
  715. //to be ignored by validation
  716. $("#returned_quantity,#returned_value").addClass("ignore-fields");
  717. $("#formHeaderItem").text("Receive Items");
  718. }
  719. else if (oper=="return"){
  720. $("#returned_quantity_cntnr,#returned_value_cntnr,#returned_notes_cntnr").show();
  721. $("#received_quantity,#received_value").val("0");
  722. //to be ignored by validation
  723. $("#received_quantity,#received_value").addClass("ignore-fields");
  724. $("#formHeaderItem").text("Return Items");
  725. }
  726. if (action=="edit"){
  727. $("#status-message-li").text("Warning!! You are about to edit earlier receive/return entry.This will \n\
  728. override previous entry. This is not for NEW entry.Use main grid buttons to add entries");
  729. $("#received_value").val($("#"+subgrid).getCell(receipt_line_id,'received_value'));
  730. $("#received_quantity").val($("#"+subgrid).getCell(receipt_line_id,'received_quantity'));
  731. //$("#receiving_notes").val($("#"+subgrid).getCell(receipt_line_id,'receiving_notes'));
  732. $("#returned_value").val($("#"+subgrid).getCell(receipt_line_id,'returned_value'));
  733. $("#returned_quantity").val($("#"+subgrid).getCell(receipt_line_id,'returned_quantity'));
  734. //$("#returned_notes").val($("#"+subgrid).getCell(receipt_line_id,'returned_notes'));
  735. // we need to store these for tally quantity validation
  736. $("#subgrid_ref").val(subgrid);
  737. $("#receipt_line_ref").val(receipt_line_id);
  738. }
  739. $("#oper").val(oper);
  740. $("#action").val(action);
  741. $("#product").text($("#"+grid).getCell(order_line_id,'name'));
  742. $("#neededdate").text($("#"+grid).getCell(order_line_id,'needed_by_date'));
  743. $("#quantity").text($("#"+grid).getCell(order_line_id,'quoted_quantity'));
  744. $("#already_received").text($("#"+grid).getCell(order_line_id,'received_quantity'));
  745. $("#already_returned").text($("#"+grid).getCell(order_line_id,'returned_quantity'));
  746. //$("#already_received").text(100);
  747. $("#orderprice").text($("#"+grid).getCell(order_line_id,'expected_price'));
  748. $("#estimated_value").text($("#"+grid).getCell(order_line_id,'estimated_value'));
  749. $("#already_received_value").text($("#"+grid).getCell(order_line_id,'received_value'));
  750. $("#already_returned_value").text($("#"+grid).getCell(order_line_id,'returned_value'));
  751. },
  752. close: function(event,ui) {
  753. $("#itemForm").data('validator').resetForm();
  754. $('#itemForm')[0].reset();
  755. $("#estValue").text("");
  756. $("#curPrice").text("");
  757. $("#status-message-li").empty();
  758. $("#received_quantity,#received_value,#returned_quantity,#returned_value").removeClass("ignore-fields");
  759. $("#received_quantity_cntnr,#received_value_cntnr,\n\
  760. #returned_quantity_cntnr,#returned_value_cntnr\n\
  761. ,#receiving_notes_cntnr,#returned_notes_cntnr").hide();
  762. $("#receiptOp").attr("disbled",false);
  763. //try to destroy only if action is not edit as we are not using this during edit action
  764. if ($(this).data('grid_data').action!='edit'){
  765. $("#receiptOp").combobox("destroy");
  766. }
  767. }
  768. });
  769. $( "#dialog-form-partpayment" ).dialog({
  770. autoOpen: false,
  771. height: 'auto',
  772. width: '35%',
  773. position:[450,25],
  774. modal: true,
  775. buttons: {
  776. "Done": {
  777. id:"processItems",
  778. text:"Process For PartPayment",
  779. click:function() {
  780. var isvalid = $("#itemForm").valid();
  781. var grid = $(this).data('grid_data').grid_id;
  782. var order_line_id = $(this).data('grid_data').order_line_id;
  783. var url = $(this).data('grid_data').url;
  784. var receipt_line_id = $(this).data('grid_data').receipt_line_id;
  785. if (isvalid){
  786. $.ajax({
  787. url:'test',
  788. type:"POST",
  789. data:{
  790. order_id:order_id,
  791. order_line_id:order_line_id,
  792. receipt_line_id:receipt_line_id,
  793. pp_quantity:$("#pp_quantity_received").val(),
  794. received_value:$("#pp_calculated_value").val(),
  795. returned_notes:$("#pp_notes").val()
  796. },
  797. success:function (response){
  798. //console.log("grid " + grid);
  799. $("#"+grid).trigger("reloadGrid");
  800. }
  801. })
  802. $( this ).dialog( "close" );
  803. }
  804. }},
  805. Cancel: function() {
  806. $( this ).dialog( "close" );
  807. }
  808. },
  809. open: function(event,ui){
  810. var grid = $(this).data('grid_data').grid_id;
  811. var order_line_id = $(this).data('grid_data').order_line_id;
  812. var oper = $(this).data('grid_data').oper;
  813. var order_id = myGrid.getGridParam('selrow');
  814. //relevant only in case of edit
  815. var subgrid = $(this).data('grid_data').sub_grid_id;
  816. var receipt_line_id = $(this).data('grid_data').receipt_line_id;
  817. $("#product_pp").text($("#"+grid).getCell(order_line_id,'name'));
  818. $("#sup_rec").text($("#"+subgrid).getCell(receipt_line_id,'supplier_receipt_number'));
  819. $("#receipt_line_pp").text($("#"+subgrid).getCell(receipt_line_id,'reference'))
  820. $("#pp_quantity_received_total").text(parseInt($("#"+subgrid).getCell(receipt_line_id,'received_quantity'))+parseInt($("#"+subgrid).getCell(receipt_line_id,'returned_quantity')));
  821. $("#already_received_rli").text($("#"+subgrid).getCell(receipt_line_id,'received_quantity'));
  822. $("#already_returned_rli").text($("#"+subgrid).getCell(receipt_line_id,'returned_quantity'));
  823. $("#already_received_value_rli").text($("#"+subgrid).getCell(receipt_line_id,'received_value'));
  824. $("#already_returned_value_rli").text($("#"+subgrid).getCell(receipt_line_id,'returned_value'));
  825. },
  826. close: function(event,ui) {
  827. $("#itemForm").data('validator').resetForm();
  828. $('#itemForm')[0].reset();
  829. $("#estValue").text("");
  830. $("#curPrice").text("");
  831. $("#status-message-li").empty();
  832. $("#received_quantity,#received_value,#returned_quantity,#returned_value").removeClass("ignore-fields");
  833. $("#received_quantity_cntnr,#received_value_cntnr,\n\
  834. #returned_quantity_cntnr,#returned_value_cntnr\n\
  835. ,#receiving_notes_cntnr,#returned_notes_cntnr").hide();
  836. $("#receiptOp").attr("disbled",false);
  837. //try to destroy only if action is not edit as we are not using this during edit action
  838. if ($(this).data('grid_data').action!='edit'){
  839. $("#receiptOp").combobox("destroy");
  840. }
  841. }
  842. });
  843. $( "#modal-warning" ).dialog({
  844. autoOpen:false,
  845. height: 90,
  846. modal: true
  847. });
  848. $( "#modal-warning-none" ).dialog({
  849. autoOpen:false,
  850. height: 90,
  851. modal: true
  852. });
  853. $( "#modal-warning-status" ).dialog({
  854. autoOpen:false,
  855. height: 120,
  856. modal: true
  857. });
  858. $("#received_value, #returned_value").change(function (){
  859. var ordered_quantity = parseInt($("#quantity").text());
  860. //
  861. var already_received = parseInt($("#already_received").text());
  862. var received_quantity = parseInt($("#received_quantity").val());
  863. var returned_quantity = parseInt($("#returned_quantity").val());
  864. // var subgrid=$("#subgrid_ref").val();
  865. // var receipt_line_id = $("#receipt_line_ref").val();
  866. // var action = $("#action").val();
  867. // var oper = $("#oper").val();
  868. // console.log("already_received" + already_received + "received_quantity" + received_quantity + "returned_quantity" + returned_quantity);
  869. var total_received = already_received + received_quantity + returned_quantity;
  870. if (action=='edit'){
  871. total_received = total_received - $("#"+subgrid).getCell(receipt_line_id,'received_quantity')- $("#"+subgrid).getCell(receipt_line_id,'returned_quantity');
  872. }
  873. //
  874. //
  875. // if (total_received>=ordered_quantity){
  876. var action = $("#action").val();
  877. var oper = $("#oper").val();
  878. var subgrid=$("#subgrid_ref").val();
  879. var receipt_line_id = $("#receipt_line_ref").val();
  880. var received = parseFloat($("#received_value").val());
  881. var returned = parseFloat($("#returned_value").val());
  882. var already_received_value = parseFloat($("#already_received_value").text());
  883. var estimated = parseFloat($("#estimated_value").text());
  884. var total = already_received_value + received + returned;
  885. console.log("already_received val " + already_received_value + "received_val" + received + "returned_val" + returned);
  886. if (action=='edit'){
  887. total = total - $("#"+subgrid).getCell(receipt_line_id,'received_value')- $("#"+subgrid).getCell(receipt_line_id,'returned_value');
  888. }
  889. console.log(total);
  890. var unit_price = total/total_received;
  891. var order_init_price = parseFloat($("#orderprice").text());
  892. if (unit_price>order_init_price){
  893. $("#status-message-li").text("Warning!! Current Unit Price Of Received/Returned Goods > Ordered");
  894. }
  895. else if (unit_price<order_init_price){
  896. $("#status-message-li").text("Warning!! Current Unit Price Of Received/Returned Goods < Ordered");
  897. }
  898. else {
  899. $("#status-message-li").empty();
  900. }
  901. //}
  902. });
  903. $( "#dialog-confirm" ).dialog({
  904. resizable: false,
  905. height:200,
  906. width:500,
  907. modal: true,
  908. autoOpen:false,
  909. buttons: {
  910. "I Am Sure": function() {
  911. $.ajax({
  912. url:"index.php/procurement/markForInvoicing",
  913. type:"POST",
  914. data:{orderIds:myGrid.getGridParam('selarrrow')
  915. },
  916. success:function (response){
  917. emptyMessages();
  918. showSuccessMessage("The Selected Orders Are Now Ready To Invoice")
  919. myGrid.trigger("reloadGrid");
  920. },
  921. error:function (response){
  922. emptyMessages();
  923. showErrorMessage("The Selected Orders Could Not Be Processed Due To Internal Error")
  924. }
  925. });
  926. $( this ).dialog( "close" );
  927. },
  928. Cancel: function() {
  929. $( this ).dialog( "close" );
  930. }
  931. }
  932. });
  933. });
  934. </script>
  935. </head>
  936. <body>
  937. <?php $this->load->view("common/menubar"); ?>
  938. <div id="modal-warning" title="Warning">
  939. <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Please Select Exactly One Row</p>
  940. </div>
  941. <div id="modal-warning-status" title="Error" class="ui-state-error" style="border:none;">
  942. <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Only Completely Received Orders i.e. With Status "Received"
  943. Can Be Readied For Invoice</p>
  944. </div>
  945. <div id="modal-warning-none" title="Warning">
  946. <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>Please Select Record(s) To Continue</p>
  947. </div>
  948. <div id="dialog-confirm" title="Warning">
  949. <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
  950. Once Marked As "Ready For Invoice" Signifies All The Items For This Order Are
  951. Dispatched By The Supplier And Marked As Received/Returned.
  952. # Of Returned And Received Quantities Can Be Edited ONLY If REJECTED In Due Approval Process But Total Quantity Should Always Match Ordered.Are You Sure?</p>
  953. </div>
  954. <div id ="dialog-form">
  955. <h1 id="formHeader">Purchase Order # <span id="orderRef"></span> Details</h1>
  956. <form id="quoteForm">
  957. <fieldset>
  958. <div id="tabs">
  959. <ul>
  960. <li id="baseLink"><a id="basic" href="<?php echo site_url('procurement/loadFormFragment') ?>">Basic Details</a></li>
  961. <li id="notesLink"><a id="notes" href="<?php echo site_url('procurement/loadNotesFragment') ?>">Notes</a></li>
  962. </ul>
  963. </div>
  964. </fieldset>
  965. </form>
  966. <div class="table-grid" style="padding-top:2em;">
  967. <h1 id="pkdheader">Line Items For This Purchase Order</h1>
  968. <table id="lineItems"><tr><td/></tr></table>
  969. <div id="pagerPk"></div>
  970. </div>
  971. </div>
  972. <div style="display: block;height: 100%;" class="shopifine-ui-dialog ui-widget ui-widget-content ui-corner-all" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-dialog-form">
  973. <?php $this->load->view("common/message"); ?>
  974. <div class="table-grid">
  975. <h1 id="table header">Open Purchase Orders</h1>
  976. <table id="orders"><tr><td/></tr></table>
  977. <div id="pager"></div>
  978. </div>
  979. </div>
  980. <div id ="dialog-form-item">
  981. <div id ="status-message-li" class="ui-corner-all">
  982. </div>
  983. <h1 id="formHeaderItem">Receive Items</h1>
  984. <form id="itemForm">
  985. <fieldset style="border:1px solid #A6C9E2">
  986. <legend style="color: #2E6E9E;font-size: 110%;font-weight: bold;margin-left: 15px;">
  987. Order Line Related Info</legend>
  988. <div class="row single-column-row">
  989. <div class="column quote-column single-column">
  990. <div class="field">
  991. <div class="labeldiv">Products:</div>
  992. <div class="valuediv" id="product" name ="product" class="required"></div>
  993. </div>
  994. </div>
  995. </div>
  996. <div class="row single-column-row">
  997. <div class="column quote-column single-column">
  998. <div class="field">
  999. <div class="labeldiv">Needed By Date:</div>
  1000. <div class="valuediv" id="neededdate" name ="neededdate" ></div>
  1001. </div>
  1002. </div>
  1003. </div>
  1004. <div class="row single-column-row">
  1005. <div class="column quote-column single-column">
  1006. <div class="field">
  1007. <div class="labeldiv">Ordered Quantity:</div>
  1008. <div class="valuediv" name="quantity" id="quantity" ></div>
  1009. </div>
  1010. </div>
  1011. </div>
  1012. <div class="row single-column-row">
  1013. <div class="column quote-column single-column">
  1014. <div class="field">
  1015. <div class="labeldiv">Received Quantity Till Date:</div>
  1016. <div class="valuediv" name="already_received" id="already_received" ></div>
  1017. <div id ="return-help" class="ui-corner-all help-message-left">
  1018. (Ready For Payment Subject To Appropriate Approval)
  1019. </div>
  1020. </div>
  1021. </div>
  1022. </div>
  1023. <div class="row single-column-row">
  1024. <div class="column quote-column single-column">
  1025. <div class="field">
  1026. <div class="labeldiv">Marked For Return :</div>
  1027. <div class="valuediv" name="already_returned" id="already_returned" ></div>
  1028. <div id ="return-help" class="ui-corner-all help-message-left">
  1029. (Till Date)
  1030. </div>
  1031. </div>
  1032. </div>
  1033. </div>
  1034. <div class="row single-column-row">
  1035. <div class="column quote-column single-column">
  1036. <div class="field">
  1037. <div class="labeldiv">Ordered Price:</div>
  1038. <div class="valuediv" id="orderprice" name="orderprice" ></div>
  1039. </div>
  1040. </div>
  1041. </div>
  1042. <div class="row single-column-row">
  1043. <div class="column quote-column single-column">
  1044. <div class="field">
  1045. <div class="labeldiv">Estimated Value :</div>
  1046. <div class="valuediv" id="estimated_value" name="estimated_value" ></div>
  1047. </div>
  1048. </div>
  1049. </div>
  1050. <div class="row single-column-row">
  1051. <div class="column quote-column single-column">
  1052. <div class="field">
  1053. <div class="labeldiv">Received Value Till Date:</div>
  1054. <div class="valuediv" id="already_received_value" name="already_received_value" ></div>
  1055. <div id ="return-help" class="ui-corner-all help-message-left">
  1056. (Payment Amount Subject To Appropriate Approval)
  1057. </div>
  1058. </div>
  1059. </div>
  1060. </div>
  1061. <div class="row single-column-row">
  1062. <div class="column quote-column single-column">
  1063. <div class="field">
  1064. <div class="labeldiv">Marked For Return Value :</div>
  1065. <div class="valuediv" id="already_returned_value" name="already_returned_value"></div>
  1066. <div id ="return-help" class="ui-corner-all help-message-left">
  1067. (Till Date)
  1068. </div>
  1069. </div>
  1070. </div>
  1071. </div>
  1072. </fieldset>
  1073. <fieldset>
  1074. <div class="row single-column-row">
  1075. <div class="column quote-column single-column">
  1076. <div class="field">
  1077. <label for="receipt" class="labeldiv">Receipt #:</label>
  1078. <select name="receiptOp" id ="receiptOp" class="comboBoxrequired">
  1079. </select>
  1080. </div>
  1081. </div>
  1082. </div>
  1083. <div id="received_quantity_cntnr" class="row single-column-row" style="display:none">
  1084. <div class="column quote-column single-column">
  1085. <div class="field">
  1086. <label for="received_quantity" class="labeldiv">Received Quantity:</label>
  1087. <input id="received_quantity" name="received_quantity" class="required tallyquantity noBlank"/>
  1088. </div>
  1089. </div>
  1090. </div>
  1091. <div id="received_value_cntnr" class="row single-column-row" style="display:none">
  1092. <div class="column quote-column single-column">
  1093. <div class="field">
  1094. <label for="received_value" class="labeldiv">Received Value:</label>
  1095. <input id="received_value" name="received_value" class="required noBlank"/>
  1096. </div>
  1097. </div>
  1098. </div>
  1099. <div id="returned_quantity_cntnr" class="row single-column-row" style="display:none">
  1100. <div class="column quote-column single-column">
  1101. <div class="field">
  1102. <label for="returned_quantity" class="labeldiv">Returned Quantity:</label>
  1103. <input id="returned_quantity" name="returned_quantity" class="required tallyquantity noBlank"/>
  1104. </div>
  1105. </div>
  1106. </div>
  1107. <div id="returned_value_cntnr" class="row single-column-row" style="display:none">
  1108. <div class="column quote-column single-column">
  1109. <div class="field">
  1110. <label for="returned_value" class="labeldiv">Returned Value:</label>
  1111. <input id="returned_value" name="returned_value" class="required noBlank"/>
  1112. </div>
  1113. </div>
  1114. </div>
  1115. <div id="receiving_notes_cntnr" class="row single-column-row" style="display:none">
  1116. <div class="column quote-column single-column">
  1117. <div class="field">
  1118. <label for="receiving_notes" class="labeldiv">Receiving Notes:</label>
  1119. <textarea id="receiving_notes" name="receiving_notes" row="5" col="50"></textarea>
  1120. </div>
  1121. </div>
  1122. </div>
  1123. <div id="returned_notes_cntnr" class="row single-column-row" style="display:none">
  1124. <div class="column quote-column single-column">
  1125. <div class="field">
  1126. <label for="returned_notes" class="labeldiv">Returned Notes:</label>
  1127. <textarea id="returned_notes" name="returned_notes" row="5" col="50"></textarea>
  1128. </div>
  1129. </div>
  1130. </div>
  1131. <input id ="oper" name ="oper" type="hidden" value="">
  1132. <input id ="action" name ="action" type="hidden" value="">
  1133. <input id ="subgrid_ref" name ="subgrid_ref" type="hidden" value="">
  1134. <input id ="receipt_line_ref" name ="receipt_line_ref" type="hidden" value="">
  1135. </fieldset>
  1136. </form>
  1137. </div>
  1138. <div id ="dialog-form-partpayment">
  1139. <div id ="status-message-li-pp" class="ui-corner-all">
  1140. </div>
  1141. <h1 id="formPPHeaderItem">Request For Part Payment For Supplier Receipt # <div id="sup_rec"></div> </h1>
  1142. <form id="ppItemForm">
  1143. <fieldset style="border:1px solid #A6C9E2">
  1144. <legend style="color: #2E6E9E;font-size: 110%;font-weight: bold;margin-left: 15px;">
  1145. Receipt Line Related Info</legend>
  1146. <div class="row single-column-row">
  1147. <div class="column quote-column single-column">
  1148. <div class="field">
  1149. <div class="labeldiv">Receipt Line Reference:</div>
  1150. <div class="valuediv" name="receipt_line_pp" id="receipt_line_pp" ></div>
  1151. <div id ="receipt_line_pp_help_rli" class="ui-corner-all help-message-left">
  1152. (This Is Receipt Line Reference And Not <b>Receipt</b> Reference.System Receipt Reference Can Be Found In Title)
  1153. </div>
  1154. </div>
  1155. </div>
  1156. </div>
  1157. <div class="row single-column-row">
  1158. <div class="column quote-column single-column">
  1159. <div class="field">
  1160. <div class="labeldiv">Products:</div>
  1161. <div class="valuediv" id="product_pp" name ="product_pp" ></div>
  1162. </div>
  1163. </div>
  1164. </div>
  1165. <div class="row single-column-row">
  1166. <div class="column quote-column single-column">
  1167. <div class="field">
  1168. <div class="labeldiv">Total Quantity:</div>
  1169. <div class="valuediv" name="pp_quantity_received_total" id="pp_quantity_received_total" ></div>
  1170. <div id ="rli-help" class="ui-corner-all help-message-left">
  1171. (Total Quantity Received/Marked For Return For This Receipt Line Item)
  1172. </div>
  1173. </div>
  1174. </div>
  1175. </div>
  1176. <div class="row single-column-row">
  1177. <div class="column quote-column single-column">
  1178. <div class="field">
  1179. <div class="labeldiv">Received Quantity:</div>
  1180. <div class="valuediv" name="already_received_rli" id="already_received_rli" ></div>
  1181. <div id ="received_help_rli" class="ui-corner-all help-message-left">
  1182. (For This Receipt Line Item Till Date)
  1183. </div>
  1184. </div>
  1185. </div>
  1186. </div>
  1187. <div class="row single-column-row">
  1188. <div class="column quote-column single-column">
  1189. <div class="field">
  1190. <div class="labeldiv">Marked For Return :</div>
  1191. <div class="valuediv" name="already_returned_rli" id="already_returned_rli" ></div>
  1192. <div id ="return-help_rli" class="ui-corner-all help-message-left">
  1193. (For This Receipt Line Item Till Date)
  1194. </div>
  1195. </div>
  1196. </div>
  1197. </div>
  1198. <div class="row single-column-row">
  1199. <div class="column quote-column single-column">
  1200. <div class="field">
  1201. <div class="labeldiv">Received Value Till Date:</div>
  1202. <div class="valuediv" id="already_received_value_rli" name="already_received_value_rli" ></div>
  1203. <div id ="recval-help-rli" class="ui-corner-all help-message-left">
  1204. (Payment Amount Subject To Appropriate Approval)
  1205. </div>
  1206. </div>
  1207. </div>
  1208. </div>
  1209. <div class="row single-column-row">
  1210. <div class="column quote-column single-column">
  1211. <div class="field">
  1212. <div class="labeldiv">Marked For Return Value :</div>
  1213. <div class="valuediv" id="already_returned_value_rli" name="already_returned_value_rli"></div>
  1214. <div id ="memval-help-rli" class="ui-corner-all help-message-left">
  1215. (Memo Amount Subject To Appropriate Approval)
  1216. </div>
  1217. </div>
  1218. </div>
  1219. </div>
  1220. </fieldset>
  1221. <fieldset>
  1222. <div id="received_quantity_cntnr" class="row single-column-row">
  1223. <div class="column quote-column single-column">
  1224. <div class="field">
  1225. <label for="pp_quantity_received" class="labeldiv">Part Payment Qty:</label>
  1226. <input id="pp_quantity_received" name="pp_quantity_received" class="required"/>
  1227. </div>
  1228. </div>
  1229. </div>
  1230. <div id="pp_calculated_value_cntnr" class="row single-column-row">
  1231. <div class="column quote-column single-column">
  1232. <div class="field">
  1233. <label for="pp_calculated_value" class="labeldiv">Payment Value:</label>
  1234. <div class="valuediv" id="pp_calculated_value" name="pp_calculated_value"></div>
  1235. </div>
  1236. </div>
  1237. </div>
  1238. <!-- <div id="returned_quantity_cntnr" class="row single-column-row" style="display:none">
  1239. <div class="column quote-column single-column">
  1240. <div class="field">
  1241. <label for="returned_quantity" class="labeldiv">Quantity For Part Memo:</label>
  1242. <input id="returned_quantity" name="returned_quantity" class="required tallyquantity noBlank"/>
  1243. </div>
  1244. </div>
  1245. </div>
  1246. <div id="returned_value_cntnr" class="row single-column-row" style="display:none">
  1247. <div class="column quote-column single-column">
  1248. <div class="field">
  1249. <label for="returned_value" class="labeldiv">Returned Value:</label>
  1250. <input id="returned_value" name="returned_value" class="required noBlank"/>
  1251. </div>
  1252. </div>
  1253. </div>-->
  1254. <div id="pp_notes_cntnr" class="row single-column-row">
  1255. <div class="column quote-column single-column">
  1256. <div class="field">
  1257. <label for="pp_notes" class="labeldiv">Part Payment Notes:</label>
  1258. <textarea id="pp_notes" name="pp_notes" row="5" col="50"></textarea>
  1259. </div>
  1260. </div>
  1261. </div>
  1262. <!-- <div id="returned_notes_cntnr" class="row single-column-row" style="display:none">
  1263. <div class="column quote-column single-column">
  1264. <div class="field">
  1265. <label for="returned_notes" class="labeldiv">Returned Notes:</label>
  1266. <textarea id="returned_notes" name="returned_notes" row="5" col="50"></textarea>
  1267. </div>
  1268. </div>
  1269. </div>-->
  1270. <input id ="receipt_line_ref_pp" name ="receipt_line_ref_pp" type="hidden" value="">
  1271. </fieldset>
  1272. </form>
  1273. </div>
  1274. <?php $this->load->view("partial/footer"); ?>
  1275. <input id="tabcache" name="tabcache" value="0"/>
  1276. </body>
  1277. </html>