Advertisement
ronikuchan

backup edit2

Jan 18th, 2020
589
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 16.42 KB | None | 0 0
  1. <section class="content">
  2.     <div class="box" id="print-section">
  3.         <div class="box-header">
  4.             <h3 class="box-title purchase-top-header"><i class="fa fa-wpforms" aria-hidden="true"></i> Work Order Form
  5.             </h3>
  6.             <div class="pull pull-right purchase-top-header">
  7.                 <a type="button" class="btn btn-danger btn-flat btn-sm" href="<?php echo base_url('work-order');?>" ><i class="fa fa-times" aria-hidden="true"></i> Batalkan
  8.                 </a>
  9.             </div>
  10.         </div>
  11.  
  12.         <div class="box-body ">
  13.             <?php echo form_open('work-order/edit/'. $mp_work_order['id'], array("class" => "form-horizontal", "autocomplete" => "off")); ?>
  14.             <div class="row">
  15.                 <div class="col-md-12 form-wo">
  16.                     <fieldset class="informasi_formula">
  17.                         <legend>
  18.                             <div class="row">
  19.                                 <div class="col-lg-12">
  20.                                     Informasi Formula Produk
  21.                                     <p class="small" style="font-size:70%"><em>Silakan pilih formula</em></p>
  22.                                 </div>
  23.                             </div>
  24.                         </legend>
  25.                         <div class="form-group col-md-6">
  26.                             <label for="id_product_formula" class="col-md-4 control-label">Product Formula</label>
  27.                             <div class="col-md-8">
  28.                                 <select name="id_product_formula" class="form-control" onchange="this.options[this.selectedIndex].value && (window.location = '<?php echo base_url('work-order/add/'); ?>' + this.options[this.selectedIndex].value);">
  29.                                     <option value="">Pilih Formula Produk</option>
  30.                                     <?php                  
  31.                                     foreach ($all_mp_product_formula as $mp_product_formula) {
  32.                                         $selected = ($mp_product_formula['id'] == $idProductFormula) ? ' selected="selected"' : "";
  33.  
  34.                                         echo '<option value="' . $mp_product_formula['id'] . '" ' . $selected . '>' . $mp_product_formula['no_formula'] . ' - ' . $mp_product_formula['description'] . '</option>';
  35.                                     }
  36.                                     ?>
  37.                                 </select>
  38.                             </div>
  39.                         </div>
  40.  
  41.                         <div class="form-group col-md-6">
  42.                             <label for="description_formula" class="col-md-4 control-label">Deskripsi Formula Pekerjaan</label>
  43.                             <div class="col-md-8">
  44.                                 <input type="text" name="description_formula" value="<?php if ($selectedProductFormula) { echo $this->input->post('description_formula') ? $this->input->post('description_formula') : $selectedProductFormula->description; }?>" class="form-control description_formula" id="description_formula" readonly/>
  45.                             </div>
  46.                         </div>
  47.  
  48.                         <div class="form-group col-md-6">
  49.                             <label for="quantity_wo" class="col-md-4 control-label">Jumlah Produksi</label>
  50.                             <div class="col-md-8">
  51.                                 <input type="text" name="quantity_wo" value="<?php if ($selectedProductFormula) { echo $this->input->post('quantity_wo') ? $this->input->post('quantity_wo'): $selectedProductFormula->quantity; }?>" class="form-control quantity_wo" id="quantity_wo" required/>
  52.                                 <input type="hidden" name="quantity_wo_shadow" value="<?php if ($selectedProductFormula) { echo $this->input->post('quantity_wo') ? $this->input->post('quantity_wo'): $selectedProductFormula->quantity; }?>" class="quantity_wo_shadow" id="quantity_wo_shadow"/>
  53.                             </div>
  54.                         </div>
  55.                     </fieldset>
  56.                    
  57.                     <br>
  58.  
  59.                     <fieldset class="rincian_wo">
  60.                         <legend>
  61.                             <div class="row">
  62.                                 <div class="col-lg-12">
  63.                                     Rincian Work Order
  64.                                     <p class="small" style="font-size:70%"><em>Silakan isi rincian work order</em></p>
  65.                                 </div>
  66.                             </div>
  67.                         </legend>
  68.                         <div class="form-group col-md-6">
  69.                             <label for="no_wo" class="col-md-4 control-label">Nomor Work Order</label>
  70.                             <div class="col-md-8">
  71.                                 <input type="text" name="no_wo" value="<?php echo ($this->input->post('no_wo') ? $this->input->post('no_wo') : $mp_work_order['no_wo']); ?>" class="form-control" id="no_wo" />
  72.                             </div>
  73.                         </div>
  74.                         <div class="form-group col-md-6">
  75.                             <label for="start_date" class="col-md-4 control-label">Start Date</label>
  76.                             <div class="col-md-8">
  77.                                 <input type="text" name="start_date" value="<?php
  78.                                 if ($mp_work_order) {
  79.                                     $start_date = date_create($mp_work_order['start_date']);
  80.                                 }
  81.                                 echo $this->input->post('start_date') ? $this->input->post('start_date') : date_format($start_date, 'd-m-Y'); ?>" class="form-control datepicker" id="start_date" />
  82.                             </div>
  83.                         </div>
  84.                         <div class="form-group col-md-6">
  85.                             <label for="end_date" class="col-md-4 control-label">End Date</label>
  86.                             <div class="col-md-8">
  87.                                 <input type="text" name="end_date" value="<?php
  88.                                 if ($mp_work_order) {
  89.                                     $end_date = date_create($mp_work_order['end_date']);
  90.                                 }
  91.                                 echo $this->input->post('end_date') ? $this->input->post('end_date'): date_format($end_date, 'd-m-Y'); ?>" class="form-control datepicker" id="end_date" />
  92.                             </div>
  93.                         </div>
  94.                         <!-- <div class="form-group col-md-6">
  95.                             <label for="progress_unit" class="col-md-4 control-label">Progress Unit</label>
  96.                             <div class="col-md-8">
  97.                                 <input type="text" name="progress_unit" value="<?php echo $this->input->post('progress_unit'); ?>" class="form-control" id="progress_unit" />
  98.                             </div>
  99.                         </div>
  100.                         <div class="form-group col-md-6">
  101.                             <label for="progress_percent" class="col-md-4 control-label">Progress Percent</label>
  102.                             <div class="col-md-8">
  103.                                 <input type="text" name="progress_percent" value="<?php echo $this->input->post('progress_percent'); ?>" class="form-control" id="progress_percent" />
  104.                             </div>
  105.                         </div> -->
  106.                         <div class="form-group col-md-6">
  107.                             <label for="description" class="col-md-4 control-label">Description</label>
  108.                             <div class="col-md-8">
  109.                                 <textarea name="description" class="form-control" id="description"><?php echo $this->input->post('description') ? $this->input->post('description') : $mp_work_order['description']; ?></textarea>
  110.                             </div>
  111.                         </div>
  112.                     </fieldset>
  113.                     <div class="row">
  114.                         <div class="col-md-12">
  115.                             <div class="form-group pull-left row_save_wo">
  116.                                 <div class="col-sm-4">
  117.                                     <button type="button" class="btn btn-info process_wo">Proses</button>
  118.                                     <button type="submit" class="btn btn-success save_wo hidden">Simpan</button>
  119.                                 </div>
  120.                                 <div class="col-sm-4">
  121.                                     <a type="button" class="btn btn-default btn-flat" href="<?php echo base_url('work-order');?>" >Kembali
  122.                                     </a>
  123.                                 </div>
  124.                             </div>
  125.                         </div>
  126.                     </div>
  127.                     <hr>
  128.                     <div class="row">
  129.                         <div class="col-md-12">
  130.  
  131.                             <!-- Nav tabs -->
  132.                             <ul class="nav nav-tabs" role="tablist">
  133.                                 <li role="presentation" class="active"><a href="#produkRaw" aria-controls="produkRaw" role="tab" data-toggle="tab">Bahan Baku</a></li>
  134.                                 <li role="presentation"><a href="#prodCost" aria-controls="prodCost" role="tab" data-toggle="tab">Biaya Produksi</a></li>
  135.                             </ul>
  136.  
  137.                             <div class="tab-content">
  138.                                 <div role="tabpanel" class="tab-pane fade in active" id="produkRaw">
  139.                                     <table class="table table-striped table-bordered tableProdukRaw">
  140.                                         <tr>
  141.                                             <th>No</th>
  142.                                             <th>Nama Produk</th>
  143.                                             <th>Jumlah</th>
  144.                                             <th>Harga Satuan</th>
  145.                                             <th>Total Biaya</th>
  146.                                             <th>Deskripsi</th>
  147.                                         </tr>
  148.                                         <?php $no=1; foreach ($mp_product_formula_raw_material as $m) {?>
  149.                                         <tr>
  150.                                             <td class='hidden'><input name='woProductRaw[id][]' value='<?php echo $m['id']; ?>' class='form-control'></td>
  151.                                             <td class='hidden'><input name='woProductRaw[id_raw_product][]' value='<?php echo $m['id_product']; ?>' class='form-control'></td>
  152.                                             <td class='hidden'><input name='woProductRaw[work_order_raw_material_id][]' value='<?php echo $m['mworm_id']; ?>' class='form-control'></td>
  153.                                             <td><?php echo $no++; ?></td>
  154.                                             <td><?php echo $m['product_name']; ?></td>
  155.                                             <td><input name='woProductRaw[quantity][]' value='<?php echo $m['qty_mworm']; ?>' class='form-control quantity'></td>
  156.                                             <td><input name='woProductRaw[cost][]' value='<?php echo $m['cost_mworm']; ?>' class='form-control cost'></td>
  157.                                             <td><input name='woProductRaw[total_cost][]' value='<?php echo $m['totalCost_mworm']; ?>' class='form-control total_cost' readonly="readonly"></td>
  158.                                             <td><input name='woProductRaw[description][]' value='<?php echo $m['description_mworm']; ?>' class='form-control description'></td>
  159.                                         </tr>
  160.                                         <?php }?>
  161.                                     </table>
  162.                                 </div>
  163.  
  164.                                 <div role="tabpanel" class="tab-pane fade" id="prodCost">
  165.                                     <table class="table table-striped table-bordered tableProdCost">
  166.                                         <tr>
  167.                                             <th>No</th>
  168.                                             <th>Kode Produk</th>
  169.                                             <th>Jam</th>
  170.                                             <th>Harga Satuan</th>
  171.                                             <th>Total Biaya</th>
  172.                                             <th>Deskripsi</th>
  173.                                         </tr>
  174.                                         <?php $no=1; foreach($mp_product_formula_production_costs as $m) { ?>
  175.                                         <tr>
  176.                                             <td class='hidden'><input name='woDetailProductionCost[mpfpc_id][]' value='<?php echo $m['mpfpc_id']; ?>' class='form-control'></td>
  177.                                             <td class='hidden'><input name='woDetailProductionCost[pc_id][]' value='<?php echo $m['pc_id']; ?>' class='form-control'></td>
  178.                                             <td class='hidden'><input name='woDetailProductionCost[mp_work_order_production_costs_id][]' value='<?php echo $m['mwopc_id']; ?>' class='form-control'></td>
  179.                                             <td><?php echo $no++; ?></td>
  180.                                             <td><?php echo $m['code']; ?></td>
  181.                                             <td><input name='woDetailProductionCost[hour][]' value='<?php echo $m['mwopc_hour']; ?>' class='form-control hour'></td>
  182.                                             <td><input name='woDetailProductionCost[cost][]' value='<?php echo $m['mwopc_cost']; ?>' class='form-control cost'></td>
  183.                                             <td><input name='woDetailProductionCost[total_cost][]' value='<?php echo $m['mwopc_totalCost']; ?>' class='form-control total_cost' readonly="readonly"></td>
  184.                                             <td><input name='woDetailProductionCost[description][]' value='<?php echo $m['mwopc_description']; ?>' class='form-control description'></td>
  185.                                         </tr>
  186.                                         <?php } ?>
  187.                                     </table>
  188.                                 </div>
  189.                             </div>
  190.  
  191.                         </div>
  192.                     </div>
  193.                 </div>
  194.             </div>
  195.         </div>
  196. <?php echo form_close(); ?>
  197.  
  198. <script>
  199.     $('#myTabs a').click(function (e) {
  200.         e.preventDefault()
  201.         $(this).tab('show')
  202.     })
  203.  
  204.  
  205.     $(document).ready(function() {
  206.         // calculate qty price in raw product
  207.         $("#produkRaw table").on("change", "input", function () {
  208.             var tableRow   = $(this).closest("tr");
  209.             var quantity   = Number(tableRow.find(".quantity").val());
  210.             var cost       = Number(tableRow.find(".cost").val());
  211.             var total_cost = quantity * cost;
  212.  
  213.             // set total cost
  214.             tableRow.find('.total_cost').val(total_cost);
  215.         });
  216.  
  217.  
  218.         // calculate qty price in raw product
  219.         $("#prodCost table").on("change", "input", function () {
  220.             var tableRow   = $(this).closest("tr");
  221.             var quantity   = Number(tableRow.find(".hour").val());
  222.             var cost       = Number(tableRow.find(".cost").val());
  223.             var total_cost = quantity * cost;
  224.  
  225.             // set total cost
  226.             tableRow.find('.total_cost').val(total_cost);
  227.         });
  228.  
  229.         // change to cost raw to decription
  230.         $("#produkRaw table").on("change", "input.cost", function () {
  231.             var tableRow    = $(this).closest("tr");
  232.             var description = tableRow.find(".description").val('Biaya Input Manual');
  233.         });
  234.  
  235.         // disable first all input except product formula
  236.         $('.form-wo .informasi_formula').find('input.description_formula').attr('disabled', 'disabled');
  237.  
  238.         // change product formula
  239.         $(document).on('change', '.no_wo', function () {
  240.             $('.form-wo').find('input').removeAttr('disabled', 'disabled');
  241.             $('.form-wo').find('textarea').removeAttr('readonly');
  242.         });
  243.  
  244.         // change product raw and cost product child
  245.         $(document).on('change', '.quantity_wo', function () {
  246.             // table raw product
  247.             var tableProdukRawTr = $('.tableProdukRaw tr');
  248.             var tableProdCostTr = $('.tableProdCost tr');
  249.             var quantity_wo = $(this).val();           
  250.             var quantity_wo_shadow_val = $('.informasi_formula').find('input.quantity_wo_shadow').val();
  251.  
  252.             // set to raw product
  253.             for (let i = 1; i < tableProdukRawTr.length; i++) {
  254.                 var row = $('.tableProdukRaw').find('tr[id=row-raw-product-'+i+']');
  255.                 row_input_quantity_shadow = row.find('input.quantity_shadow').val();
  256.                 row_input_cost = row.find('input.cost').val();
  257.                 increaseQuantity = Number( (row_input_quantity_shadow / quantity_wo_shadow_val) * quantity_wo);
  258.                 newTotalCost = Number(increaseQuantity * row_input_cost);
  259.  
  260.                 localStorage.setItem("qty", row_input_quantity_shadow);
  261.                 // set new quantity
  262.                 row.find('input.quantity').val(increaseQuantity);
  263.  
  264.                 // set new total total cost
  265.                 row.find('input.total_cost').val(newTotalCost);
  266.             }
  267.  
  268.             // set to cost production
  269.             for (let i = 1; i < tableProdCostTr.length; i++) {
  270.                 var row = $('.tableProdCost').find('tr[id=row-cost-production-'+i+']');
  271.                 row_input_hour_shadow = row.find('input.hour_shadow').val();
  272.                 row_input_cost = row.find('input.cost').val();quantity_wo
  273.                 increaseQuantity = Number( (row_input_hour_shadow / quantity_wo_shadow_val ) * quantity_wo);
  274.                 newTotalCost = Number(increaseQuantity * row_input_cost);
  275.  
  276.                 // set new quantity
  277.                 row.find('input.hour').val(increaseQuantity);
  278.  
  279.                 // set new total total cost
  280.                 row.find('input.total_cost').val(newTotalCost);
  281.             }
  282.         });
  283.  
  284.         $(document).on('click', '.process_wo', function () {
  285.             var tableProdukRawTr                       = $('.tableProdukRaw tr');
  286.             var tableProdCostTr                        = $('.tableProdCost tr');
  287.             var mp_work_order_raw_material_history     = new Object();
  288.             var mp_work_order_production_costs_history = new Object();
  289.  
  290.             // release button save
  291.             $('.save_wo').removeClass('hidden');
  292.             $('.process_wo').addClass('hidden');
  293.  
  294.             // set to raw product history
  295.             for (let i = 1; i < tableProdukRawTr.length; i++) {
  296.                 var row = $('.tableProdukRaw').find('tr[id=row-raw-product-'+i+']');
  297.                 mp_work_order_raw_material_history[i]  =
  298.                     {
  299.                         'id_product' : row.find('input.id_raw_product ').val(),
  300.                         'quantity'   : row.find('input.quantity ').val(),
  301.                         'cost'       : row.find('input.cost ').val(),
  302.                         'total_cost' : row.find('input.total_cost ').val(),
  303.                         'description': row.find('input.description ').val(),
  304.                         'added_by'   : row.find('input.added_by ').val(),
  305.                         'created_at' : row.find('input.created_at ').val(),
  306.                         'updated_at' : row.find('input.updated_at ').val(),
  307.                     }
  308.             }
  309.  
  310.             // set to cost production history
  311.             for (let i = 1; i < tableProdCostTr.length; i++) {
  312.                 var row = $('.tableProdCost').find('tr[id=row-cost-production-'+i+']');
  313.                 mp_work_order_production_costs_history[i]  =
  314.                     {
  315.                         'id_work_order'     : row.find('input.id_work_order').val(),
  316.                         'id_production_cost': row.find('input.id_production_cost').val(),
  317.                         'hour'              : row.find('input.hour').val(),
  318.                         'cost'              : row.find('input.cost').val(),
  319.                         'total_cost'        : row.find('input.total_cost').val(),
  320.                         'description'       : row.find('input.description').val(),
  321.                         'added_by'          : row.find('input.added_by').val(),
  322.                         'created_at'        : row.find('input.created_at').val(),
  323.                         'updated_at'        : row.find('input.updated_at').val(),
  324.                     }
  325.             }
  326.  
  327.             var data = {
  328.                 'mp_work_order' : {
  329.                     'id_product_formula': $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  330.                     'qty'               : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  331.                     'start_date'        : $('.start_date').val() ? $('.start_date').val() : "",
  332.                     'end_date'          : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  333.                     'description'       : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  334.                     'progress_unit'     : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  335.                     'progress_percent'  : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  336.                     'created_at'        : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  337.                     'added_by'          : $('.id_product_formula').val() ? $('.id_product_formula').val() : "",
  338.                 },
  339.                 mp_work_order_raw_material_history,
  340.                 mp_work_order_production_costs_history
  341.  
  342.             }
  343.             var a = JSON.stringify(data);
  344.             $('#history_wo').val(a);
  345.         })
  346.     });
  347. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement