Advertisement
coffeecode12

Form Kuantitatif bobot

Apr 2nd, 2020
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 22.91 KB | None | 0 0
  1. <app-header (toggleMenuSidebar)="toggleMenuSidebar()"></app-header>
  2.  
  3. <app-menu-sidebar></app-menu-sidebar>
  4. <router-outlet>
  5.   <div class="content-wrapper">
  6.     <section class="content-header">
  7.         <div class="container-fluid">
  8.             <div class="card card-primary">
  9.                 <div class="card-header" style="background: #35495e;">
  10.                   <h3 class="card-title">Faktor Kuantitatif</h3>
  11.                  
  12.                 </div>
  13.                 <div class="card-body mb-2">
  14.    
  15.                
  16.     <div class="row">
  17.       <div class="col-md-6">
  18.         <form #entryForm="ngForm">
  19.           <div class="form-group row">
  20.             <label class="col-sm-3 col-form-label">Jenis Mitra</label>
  21.             <div class="col-sm-4">
  22.               <select class="form-control form-control-sm" name="jenisMitra" [(ngModel)]="viewEntry.jenisMitra"
  23.                #jenisMitra="ngModel" [class.is-invalid]="jenisMitra.invalid"
  24.                (ngModelChange)="loadPedomanScoring(viewEntry.jenisMitra)"
  25.                required>
  26.                 <option value="Simpan Pinjam">01 -- Simpan Pinjam</option>
  27.                 <option value="Sektor Riil">02 -- Sektor Riil</option>
  28.                
  29.               </select>
  30.               <small class="text-danger" [class.d-none]="jenisMitra.valid">Pilih Salah Satu</small>
  31.             </div>
  32.           </div>
  33.         </form>
  34.       </div>
  35.       <div class="col-sm-4"></div>
  36.       <div class="col-sm-6"></div>
  37.     </div>
  38.  
  39.  
  40.     <div class="row" *ngIf="load =='true'">
  41.       <div class="col-12">
  42.           <div class="card">
  43.               <!-- <div class="card-header bg-info">
  44.                Featured
  45.              </div> -->
  46.               <div class="card-body">
  47.                 <!-- <h5 class="card-title">Special title treatment</h5> -->
  48.  
  49.                 <p class="card-text">
  50.                     a.  Pilih Jenis Mitra yang akan dibuatkan parameternya. Contoh : Simpan Pinjam
  51.  
  52.                 </p>
  53.                 <p class="card-text">
  54.                  
  55.                   b.  Parameter pada Memo Pedoman scoring akan otomatis muncul.    
  56.                 </p>
  57.  
  58.                 <p class="card-text">
  59.                  
  60.                     c. Jika sudah melakukan perubahan pada paremeter. User harus mengisi memo atas perubahan yang sudah dilakukan.  
  61.                  </p>
  62.  
  63.                  <p class="card-text">
  64.                  
  65.                     d. Input No Memo, Tanggal Memo, Atas Nama, Jabatan dan Alasan Perubahan.
  66.                   </p>
  67.                  
  68.                
  69.                 <p class="card-text">
  70.                   e.  Click
  71.                   <button type="button" class="btn btn-success btn-sm mr-2">
  72.                       <i class="fa fa-save"></i> Save
  73.                     </button> untuk menyimpan perubahan pedoman scoring.
  74.                   </p>
  75.  
  76.                   <p class="card-text">
  77.                     f. Jika perubahan berhasil, maka akan muncul versioning memo perubahan.
  78.                   </p>
  79.  
  80.                   <p class="card-text">
  81.                     g. Jika perubahan berhasil, maka akan muncul versioning memo perubahan.
  82.                   </p>
  83.  
  84.                   <p class="card-text">
  85.                       h.  Click  <i class="fa fa-edit" style="color:red"></i> (View) Jika ingin melihat parameter yang belum dirubah.
  86.                      
  87.                    </p>
  88.  
  89.                    <p class="card-text">
  90.                     i.  Click  <button type="button" class="btn btn-warning btn-sm mr-2 text-white">
  91.                         <i class="fa fa-print"></i> Print
  92.                       </button> untuk mencetak Memo perubahan pedoman scoring yang sudah dibuat.
  93.                    
  94.                  </p>
  95.  
  96.                
  97.                  
  98.                
  99.                  
  100.  
  101.                
  102.  
  103.                
  104.  
  105.                 <!-- <a href="#!" class="btn btn-primary">Go somewhere</a> -->
  106.               </div>
  107.             </div>
  108.         </div>
  109.   </div>
  110.  
  111.     <div class="row" *ngIf="load == 'false'">
  112.       <div class="col-12" >
  113.         <div class="card mb-3 pl-2 pr-2">
  114.           <div class="col-12 mt-1">
  115.  
  116.             <div class="d-flex" *ngIf="loading == 'false'">
  117.               <div class="mr-auto p-2">
  118.                 <button type="button" class="btn btn-warning btn-sm mr-2 text-white" (click)="btnPrint()">
  119.                   <i class="fa fa-print"></i> Print
  120.                 </button>
  121.               </div>
  122.             </div>
  123.            
  124.             <img src="../../../../assets/img/lpdb-img/load.gif" class="rounded mx-auto d-block" *ngIf="loading == 'true'">
  125.             <form [formGroup]="pedomanScoringForm" *ngIf="loading == 'false'">
  126.              
  127.            
  128.  
  129.  
  130.               <table class="table table-striped table-hover table-bordered " style="text-align: center">
  131.                 <thead>
  132.                    <tr >
  133.                     <th>Tanggal</th>
  134.                     <th>No Memo</th>
  135.                     <th>Versioning</th>
  136.                     <th>Atas Nama</th>
  137.                     <th>Alasan Perubahan</th>
  138.                     <th>Aksi</th>
  139.                    </tr>
  140.                 </thead>
  141.                 <tbody formArrayName="history">
  142.                   <tr class="bg-white" *ngFor="let parent2 of pedomanScoringForm.get('history').controls; let parent2Index = index"
  143.                    [formGroupName]="parent2Index">
  144.                     <td>{{ parent2.controls.tanggalMemo.value | date:'dd-MM-yyyy' }}</td>
  145.                     <td>{{ parent2.controls.noMemo.value }}</td>
  146.                     <td>{{ parent2.controls.version.value }}</td>
  147.                     <td>{{ parent2.controls.atasNamaMemo.value }}</td>
  148.                     <td>{{ parent2.controls.alasanPerubahan.value }}</td>                
  149.                     <td>
  150.                       <i class="fa fa-edit" style="color:red" (click)="btnEdit(parent2.controls.version.value, viewEntry.jenisMitra)"></i>
  151.                     </td>
  152.                   </tr>
  153.                 </tbody>
  154.               </table>
  155.              
  156.               <img src="../../../../assets/img/lpdb-img/load.gif" class="rounded mx-auto d-block" *ngIf="loading == 'true'">
  157.               <div class="row ml-1 mb-1 mt-2" style="background: #35495e;color: white;">
  158.                 <!-- <div class="col-1 col-md-1 col-sm-1"></div> -->
  159.                 <div class="col-4 col-md-4 col-sm-4"><label style="margin-left: 80px">VARIABLE</label></div>
  160.                  <div class="col-2 col-md-2 col-sm-2">Bobot (%)</div>
  161.                 <div class="col-2 col-md-2 col-sm-2">Min (%)</div>
  162.                 <div class="col-2 col-md-2 col-sm-2">Max (%)</div>
  163.                 <div class="col-1 col-md-1 col-sm-1">Nilai</div>
  164.               </div>
  165.              
  166.               <div formArrayName="data" *ngIf="loading == 'false'">
  167.                 <div *ngFor="let parent of pedomanScoringForm.get('data').controls; let parentIndex = index" [formGroupName]="parentIndex">
  168.                   <div class="row ml-1 mb-1 mt-2">
  169.                     <div class="col-1 col-md-1 col-sm-1"></div>
  170.                     <div class="col-3 col-md-3 col-sm-3">
  171.  
  172.  
  173.                       <div class="input-group">
  174.                         <div class="input-group-prepend" *ngIf="parent.get('subPedoman').controls.length == 0">
  175.                           <button class="btn btn-primary btn-sm" (click)="addLevelDuaI(parentIndex, parent.controls.pedoman.value,
  176.                                    parent.controls.idPedoman.value)">+</button>
  177.                         </div>
  178.                         <input type="text" class="form-control form-control-sm" formControlName="pedoman" readonly>
  179.                       </div>
  180.  
  181.      
  182.                      
  183.  
  184.                      
  185.  
  186.                      
  187.                     </div>
  188.                     <div class="col-2 col-md-2 col-sm-2"></div>
  189.                     <div class="col-2 col-md-2 col-sm-2"></div>
  190.                     <div class="col-2 col-md-2 col-sm-2"></div>
  191.                     <div class="col-1 col-md-1 col-sm-1"></div>
  192.                    
  193.                    
  194.                    
  195.                    
  196.                   </div>
  197.  
  198.                  
  199.  
  200.                  
  201.  
  202.                   <div formArrayName="subPedoman">
  203.                     <div *ngFor="let child of parent.get('subPedoman').controls; let childIndex = index; let last = last"
  204.                      [formGroupName]="childIndex">
  205.                      
  206.                       <div class="row ml-1 mb-1 mt-2">
  207.                         <div class="col-1 col-md-1 col-sm-1"></div>
  208.                         <div class="col-5 col-md-5 col-sm-5">
  209.                          
  210.                         </div>
  211.                         <div class="col-2 col-md-2 col-sm-2">
  212.                            
  213.                          
  214.                           <div class="input-group" *ngIf="childIndex == 0">
  215.                             <div class="input-group-prepend">
  216.                               <button class="btn btn-primary btn-sm" (click)="addLevelDua(parentIndex,childIndex, parent.controls.pedoman.value,
  217.                                    parent.controls.idPedoman.value, child.controls.max.value)"
  218.                                [disabled]="child.controls.max.value == null || -999 >= child.controls.max.value" *ngIf="last">+</button>
  219.                               <button class="btn btn-danger btn-sm" *ngIf="parent.get('subPedoman').controls" (click)="removeLevelDuaAll(parentIndex, childIndex, parent.get('subPedoman').controls.length)">-</button>
  220.                             </div>
  221.                             <input type="number" class="form-control form-control-sm" formControlName="min" style="width: 30px"
  222.                              [readonly]="childIndex == 0">
  223.                           </div>
  224.  
  225.                           <div class="input-group" *ngIf="childIndex > 0">
  226.                             <div class="input-group-prepend">
  227.                               <button class="btn btn-primary btn-sm" (click)="addLevelDua(parentIndex,childIndex, parent.controls.pedoman.value,
  228.                                   parent.controls.idPedoman.value, child.controls.max.value)"
  229.                                [disabled]="child.controls.max.value == null || child.controls.min.value >= child.controls.max.value||child.controls.nilai.value == null"
  230.                                 *ngIf="last">+</button>
  231.                               <button class="btn btn-danger btn-sm" *ngIf="parent.get('subPedoman').controls" (click)="removeLevelDuaAll(parentIndex, childIndex, parent.get('subPedoman').controls.length)">-</button>
  232.                             </div>
  233.                             <input type="number" class="form-control form-control-sm" formControlName="min" style="width: 30px"
  234.                              readonly>
  235.                           </div>
  236.  
  237.                         </div>
  238.                         <div class="col-2 col-md-2 col-sm-2">
  239.                           <div *ngIf="childIndex == 0">
  240.                             <input type="number" class="form-control form-control-sm" formControlName="max"
  241.                              [class.is-invalid]="child.controls.max.invalid" style="width: 100px" required>
  242.                             <div *ngIf="-999 >= child.controls.max.value">
  243.                               <small class="text-danger">
  244.                                 error min > max
  245.                               </small>
  246.                             </div>
  247.                           </div>
  248.  
  249.                           <div *ngIf="childIndex > 0">
  250.                             <input type="number" class="form-control form-control-sm" formControlName="max"
  251.                              [class.is-invalid]="child.controls.max.invalid" style="width: 100px" required>
  252.                             <div *ngIf="child.controls.min.value >= child.controls.max.value">
  253.                               <small class="text-danger">
  254.                                 error min > max
  255.                               </small>
  256.                             </div>
  257.  
  258.                           </div>
  259.  
  260.                         </div>
  261.                         <div class="col-2 col-md-2 col-sm-2">
  262.                           <input type="number" class="form-control form-control-sm" formControlName="nilai"
  263.                            [class.is-invalid]="child.controls.nilai.invalid" style="width: 100px" required>
  264.                           <div *ngIf="child.controls.nilai.errors && child.controls.nilai.invalid">
  265.                             <small class="text-danger" *ngIf="child.controls.nilai.errors.required"></small>
  266.                           </div>
  267.                           <!-- {{parent.get('subPedoman').controls.length}} -->
  268.                         </div>
  269.                       </div>
  270.                     </div>
  271.                   </div>
  272.  
  273.                 </div>
  274.               </div>
  275.  
  276.               <div class="col-12 grid-margin"><br><br>
  277.                 <div class="row" *ngIf="loading == 'false'">
  278.              
  279.                   <div class="col-md-6">
  280.                     <div class="form-group row">
  281.                       <label class="col-sm-4 text-right"><b>No Memo</b></label>
  282.                       <div class="col-sm-8">
  283.                         <input type="text" class="form-control form-control-sm" formControlName="nomorMemo">
  284.              
  285.                         <div *ngIf="pedomanScoringForm.controls['nomorMemo'].invalid && (pedomanScoringForm.controls['nomorMemo'].dirty || pedomanScoringForm.controls['nomorMemo'].touched)"
  286.                          class="alert alert-danger">
  287.                           <div *ngIf="pedomanScoringForm.controls['nomorMemo'].errors.required">
  288.                             No Memo Harus Diisi.
  289.                           </div>
  290.                         </div>
  291.              
  292.                       </div>
  293.                     </div>
  294.                   </div>
  295.              
  296.                   <div class="col-md-6">
  297.                     <div class="form-group row">
  298.                       <label class="col-sm-4 text-right"><b>Tanggal Memo</b></label>
  299.                       <div class="col-sm-8">
  300.              
  301.                         <input type="date" class="form-control form-control-sm" formControlName="tglMemo">
  302.              
  303.                         <div *ngIf="pedomanScoringForm.controls['tglMemo'].invalid && (pedomanScoringForm.controls['tglMemo'].dirty || pedomanScoringForm.controls['tglMemo'].touched)"
  304.                          class="alert alert-danger">
  305.                           <div *ngIf="pedomanScoringForm.controls['tglMemo'].errors.required">
  306.                             Tanggal Memo Harus Diisi.
  307.                           </div>
  308.                         </div>
  309.              
  310.                       </div>
  311.                     </div>
  312.                   </div>
  313.              
  314.                   <div class="col-md-6">
  315.                     <div class="form-group row">
  316.                       <label class="col-sm-4 text-right"><b>Atas Nama</b></label>
  317.                       <div class="col-sm-8">
  318.                         <input type="text" class="form-control form-control-sm" formControlName="atasNama">
  319.              
  320.                         <div *ngIf="pedomanScoringForm.controls['atasNama'].invalid && (pedomanScoringForm.controls['atasNama'].dirty || pedomanScoringForm.controls['atasNama'].touched)"
  321.                          class="alert alert-danger">
  322.                           <div *ngIf="pedomanScoringForm.controls['atasNama'].errors.required">
  323.                             Atas Nama Memo Harus Diisi.
  324.                           </div>
  325.                         </div>
  326.                       </div>
  327.                     </div>
  328.                   </div>
  329.              
  330.                   <div class="col-md-6">
  331.                     <div class="form-group row">
  332.                       <label class="col-sm-4 text-right"><b>Jabatan</b></label>
  333.                       <div class="col-sm-8">
  334.                         <input type="text" class="form-control form-control-sm" formControlName="jabatan">
  335.              
  336.                         <div *ngIf="pedomanScoringForm.controls['jabatan'].invalid && (pedomanScoringForm.controls['jabatan'].dirty || pedomanScoringForm.controls['jabatan'].touched)"
  337.                          class="alert alert-danger">
  338.                           <div *ngIf="pedomanScoringForm.controls['jabatan'].errors.required">
  339.                             Jabatan Harus Diisi.
  340.                           </div>
  341.                         </div>
  342.                       </div>
  343.                     </div>
  344.                   </div>
  345.              
  346.                   <div class="col-md-6">
  347.                     <div class="form-group row">
  348.                       <label class="col-sm-4 text-right"><b>Alasan Perubahan</b></label>
  349.                       <div class="col-sm-8">
  350.              
  351.                         <textarea class="form-control" rows="5" formControlName="alasan"></textarea>
  352.                         <div *ngIf="pedomanScoringForm.controls['alasan'].invalid && (pedomanScoringForm.controls['alasan'].dirty || pedomanScoringForm.controls['alasan'].touched)"
  353.                          class="alert alert-danger">
  354.                           <div *ngIf="pedomanScoringForm.controls['alasan'].errors.required">
  355.                             Alasan Perubahan Harus Diisi.
  356.                           </div>
  357.                         </div>
  358.                       </div>
  359.                     </div>
  360.                   </div>
  361.              
  362.                 </div>
  363.               </div>
  364.  
  365.             </form>
  366.             <!-- <pre>{{pedomanScoringForm.getRawValue() | json}}</pre> -->
  367.             <div class="d-flex flex-row-reverse mt-4" *ngIf="loading == 'false'">
  368.               <div class="p-3">
  369.                 <button type="button" class="btn btn-success btn-lg mr-2" (click)="saveMemoPedoman()" [disabled]="pedomanScoringForm.invalid">
  370.                   <i class="fa fa-save"></i> Save
  371.                 </button>
  372.                 <!-- {{child.controls.min.value}} -->
  373.                 <div *ngIf="child.controls.min.value > child.controls.max.value">
  374.                     <small class="text-danger">min > max</small>
  375.                   </div>
  376.                
  377.               </div>
  378.             </div>
  379.  
  380.           </div>
  381.         </div>
  382.       </div>
  383.     </div>
  384.                  
  385.                            
  386.                                
  387.                                  
  388.  
  389.                                  
  390.                                  
  391.                                  
  392.                                        
  393.                            
  394.                              
  395.                  
  396.                    
  397.  
  398.                
  399.              
  400.              
  401.                 </div>
  402.  
  403.             </div>
  404.           </div>
  405.     </section>
  406.   </div>
  407.  
  408.   <!-- MODAL HISTORY -->
  409.   <!-- modal edit -->
  410. <div bsModal #modalEdit="bs-modal" class="modal fade bd-example-modal-lg" [config]="{backdrop: 'static', keyboard: false}"
  411. tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  412. <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
  413.  
  414.   <div class="modal-content">
  415.     <div class="modal-header">
  416.       <h3 class="modal-title pull-left"><i class="fa fa-folder-open"></i><b>History Memo Perubahan Pedoman Scoring</b></h3>
  417.       <button type="button" class="close" (click)="btnHideMemoPedoman()" aria-label="Close">
  418.         <span aria-hidden="true"><i class="fa fa-times-rectangle" style="color:red"></i></span>
  419.       </button>
  420.     </div>
  421.  
  422.     <div class="modal-body">
  423.       <div class="row" style="margin: auto">
  424.         <div class="col-12" [formGroup]="pedomanScoringFormModal">  
  425.          
  426.           <div class="d-flex">
  427.             <div class="mr-auto p-2">
  428.               <button type="button" class="btn btn-warning btn-sm mr-2 text-white" (click)="btnPrint1()">
  429.                 <i class="fa fa-print"></i> Print
  430.               </button>
  431.             </div>
  432.           </div>
  433.          
  434.           <div class="row ml-1 mb-1 mt-2 bg-primary" style="color:white">
  435.             <div class="col-1 col-md-1 col-sm-1"></div>
  436.             <div class="col-5 col-md-5 col-sm-5"><label style="margin-left: 80px">VARIABLE</label></div>
  437.             <div class="col-2 col-md-2 col-sm-2">Min (%)</div>
  438.             <div class="col-2 col-md-2 col-sm-2">Max (%)</div>
  439.             <div class="col-2 col-md-2 col-sm-2">Nilai</div>
  440.           </div>
  441.        
  442.           <div formArrayName="array">
  443.             <div *ngFor="let parent3 of pedomanScoringFormModal.get('array')['controls']; let parentIndex = index" [formGroupName]="parentIndex">
  444.               <div class="row ml-1 mb-1 mt-2">
  445.                 <div class="col-1 col-md-1 col-sm-1"></div>
  446.                 <div class="col-5 col-md-5 col-sm-5">
  447.                   <div class="input-group">
  448.                     <div class="input-group-prepend">                        
  449.                     </div>
  450.                     <input type="text" class="form-control form-control-sm" formControlName="pedoman" readonly>
  451.                   </div>
  452.                 </div>
  453.                 <div class="col-2 col-md-2 col-sm-2"></div>
  454.                 <div class="col-2 col-md-2 col-sm-2"></div>
  455.                 <div class="col-2 col-md-2 col-sm-2"></div>
  456.               </div>
  457.        
  458.               <div formArrayName="subPedoman">
  459.                 <div *ngFor="let child3 of parent3.get('subPedoman')['controls']; let childIndex = index; let last = last"
  460.                  [formGroupName]="childIndex">
  461.                   <div class="row ml-1 mb-1 mt-2">
  462.                     <div class="col-1 col-md-1 col-sm-1"></div>
  463.                     <div class="col-5 col-md-5 col-sm-5"></div>
  464.                     <div class="col-2 col-md-2 col-sm-2">
  465.                       <div class="input-group">                            
  466.                         <input type="number" class="form-control form-control-sm" formControlName="min" style="width: 30px" readonly>                              
  467.                       </div>            
  468.                     </div>
  469.                     <div class="col-2 col-md-2 col-sm-2">
  470.                       <div >
  471.                         <input type="number" class="form-control form-control-sm" formControlName="max" style="width: 100px" readonly>                            
  472.                       </div>            
  473.                     </div>
  474.                     <div class="col-2 col-md-2 col-sm-2">
  475.                       <input type="number" class="form-control form-control-sm" formControlName="nilai" style="width: 100px" readonly>                          
  476.                     </div>
  477.                   </div>
  478.                 </div>
  479.               </div>
  480.        
  481.             </div>
  482.           </div>  
  483.  
  484.         </div>        
  485.       </div>
  486.     </div>
  487.   </div>
  488.  
  489. </div>
  490. </div>
  491.  
  492. </router-outlet>
  493.  
  494. <!-- /.content -->
  495. <app-footer></app-footer>
  496. <aside class="control-sidebar control-sidebar-dark"></aside>
  497. <div id="sidebar-overlay" (click)="toggleMenuSidebar()"></div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement