Membuat Prototipe Desain Baru & Dialog Shortcut
* Tampilan dasar menjadi memiliki navigasi, per nota * Shortcut F7: Cari Nota Tunda, * Checkout Retur dibedakan dari Checkout Tunai * Shortcut CTRL+P: Cetak Ulang Nota * Shortcut F1: Nota Sebelum, F2: Nota Setelah, F3 & F4 Dihilangkan * Perbaikan pada dialog pada umumnya, penambahan kolom nomor tabel dllpull/1/head
parent
8b5e24bd36
commit
f13d1d4955
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.pencarian;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.stage.Window;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class DialogCariNotaTundaController extends Dialog<String> implements Initializable {
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
public DialogCariNotaTundaController(/*FormPresensiController parent*/) {
|
||||
try {
|
||||
Window window = getDialogPane().getScene().getWindow();
|
||||
window.setOnCloseRequest(event -> this.close());
|
||||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCariNotaTunda.fxml"));
|
||||
loader.setController(this);
|
||||
// DialogCariBarangController controller = loader.<DialogCariBarangController>getController();
|
||||
Parent root = loader.load();
|
||||
getDialogPane().setContent(root);
|
||||
setTitle("Cari Nota Tunda");
|
||||
|
||||
// getDialogPane().getButtonTypes().add(ButtonType.CANCEL);
|
||||
// setResultConverter(buttonType -> {
|
||||
// return str;
|
||||
// });
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(DialogCariBarangController.class
|
||||
.getName()).log(Level.SEVERE, null, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.pencarian;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.stage.Window;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class DialogCetakUlangNotaController extends Dialog<String> implements Initializable {
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
public DialogCetakUlangNotaController() {
|
||||
try {
|
||||
Window window = getDialogPane().getScene().getWindow();
|
||||
window.setOnCloseRequest(event -> this.close());
|
||||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogCetakUlangNota.fxml"));
|
||||
loader.setController(this);
|
||||
// DialogCariBarangController controller = loader.<DialogCariBarangController>getController();
|
||||
Parent root = loader.load();
|
||||
getDialogPane().setContent(root);
|
||||
setTitle("Cetak Ulang Nota");
|
||||
|
||||
} catch (IOException e) {
|
||||
Logger.getLogger(DialogCetakUlangNotaController.class
|
||||
.getName()).log(Level.SEVERE, null, e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,141 +0,0 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.pos;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.application.Platform;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyCodeCombination;
|
||||
import javafx.scene.input.KeyCombination;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class FormTransaksiController implements Initializable {
|
||||
|
||||
@FXML
|
||||
private TextField fldScan;
|
||||
@FXML
|
||||
private Button btnTunai;
|
||||
@FXML
|
||||
private Button btnBawaDulu;
|
||||
@FXML
|
||||
private Button btnBon;
|
||||
@FXML
|
||||
private Button btnRetur;
|
||||
@FXML
|
||||
private Text lblGrandTotal;
|
||||
|
||||
private final String BTN_TUNAI = "tunai";
|
||||
private final String BTN_BAWA_DULU = "bawa dulu";
|
||||
private final String BTN_BON = "bon";
|
||||
private final String BTN_RETUR = "retur";
|
||||
private String tableState = BTN_TUNAI;
|
||||
|
||||
private List<Button> navigasi = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
navigasi.add(btnTunai);
|
||||
navigasi.add(btnBawaDulu);
|
||||
navigasi.add(btnBon);
|
||||
navigasi.add(btnRetur);
|
||||
|
||||
initShortcuts();
|
||||
}
|
||||
|
||||
private void initShortcuts() {
|
||||
Map<KeyCombination, Runnable> listShortcuts = new HashMap<>();
|
||||
|
||||
KeyCombination kcBtnTunai = new KeyCodeCombination(KeyCode.F1);
|
||||
Runnable rnBtnTunai = () -> btnTunai.fire();
|
||||
listShortcuts.put(kcBtnTunai, rnBtnTunai);
|
||||
|
||||
KeyCombination kcBtnBawa = new KeyCodeCombination(KeyCode.F2);
|
||||
Runnable rnBtnBawa = () -> btnBawaDulu.fire();
|
||||
listShortcuts.put(kcBtnBawa, rnBtnBawa);
|
||||
|
||||
KeyCombination kcBon = new KeyCodeCombination(KeyCode.F3);
|
||||
Runnable rnBon = () -> btnBon.fire();
|
||||
listShortcuts.put(kcBon, rnBon);
|
||||
|
||||
KeyCombination kcRetur = new KeyCodeCombination(KeyCode.F4);
|
||||
Runnable rnRetur = () -> btnRetur.fire();
|
||||
listShortcuts.put(kcRetur, rnRetur);
|
||||
|
||||
Platform.runLater(() -> {
|
||||
fldScan.getScene().getAccelerators().putAll(listShortcuts);
|
||||
});
|
||||
}
|
||||
|
||||
@FXML
|
||||
void btnNavigasiOnAction(ActionEvent event) {
|
||||
Button buttonSource = (Button) event.getSource();
|
||||
if (!tableState.equals(buttonSource.getText().toLowerCase())) {
|
||||
switch (buttonSource.getText().toLowerCase()) {
|
||||
case BTN_TUNAI:
|
||||
//ambil data tunai
|
||||
tableState = BTN_TUNAI;
|
||||
System.out.println("ambil data tunai");
|
||||
break;
|
||||
case BTN_BAWA_DULU:
|
||||
//ambil data bawa dulu
|
||||
tableState = BTN_BAWA_DULU;
|
||||
System.out.println("ambil data bawa dulu");
|
||||
break;
|
||||
case BTN_BON:
|
||||
//ambil data bon
|
||||
tableState = BTN_BON;
|
||||
System.out.println("ambil data bon");
|
||||
break;
|
||||
case BTN_RETUR:
|
||||
//ambil data retur
|
||||
tableState = BTN_RETUR;
|
||||
System.out.println("ambil data retur");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (Button button : navigasi) {
|
||||
if (button.equals(buttonSource)) {
|
||||
if (!button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
|
||||
button.getStyleClass().add("button-navigasi-transaksi-selected");
|
||||
}
|
||||
} else {
|
||||
if (button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
|
||||
button.getStyleClass().remove("button-navigasi-transaksi-selected");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fldScan.requestFocus();
|
||||
}
|
||||
|
||||
@FXML
|
||||
void fldScanOnKeyPressed(KeyEvent event) {
|
||||
if (event.getCode() == KeyCode.ENTER) {
|
||||
//proses scan
|
||||
System.out.println("Scan");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.transaksi;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.stage.Window;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class DialogKonfirmasiReturController extends Dialog<String> implements Initializable {
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
|
||||
}
|
||||
|
||||
public DialogKonfirmasiReturController() {
|
||||
try {
|
||||
Window window = getDialogPane().getScene().getWindow();
|
||||
window.setOnCloseRequest(event -> this.close());
|
||||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/DialogKonfirmasiRetur.fxml"));
|
||||
loader.setController(this);
|
||||
// DialogCariBarangController controller = loader.<DialogCariBarangController>getController();
|
||||
|
||||
Parent root = loader.load();
|
||||
getDialogPane().setContent(root);
|
||||
setTitle("Konfirmasi Retur");
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(DialogKonfirmasiReturController.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.transaksi;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.fxml.Initializable;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class FormTransaksiReturController implements Initializable {
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
// TODO
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,127 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package id.amigogroup.posterminal.transaksi;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.ResourceBundle;
|
||||
import javafx.application.Platform;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyCodeCombination;
|
||||
import javafx.scene.input.KeyCombination;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
/**
|
||||
* FXML Controller class
|
||||
*
|
||||
* @author ronal
|
||||
*/
|
||||
public class FormTransaksiTunaiController implements Initializable {
|
||||
|
||||
@FXML
|
||||
private TextField fldScan;
|
||||
@FXML
|
||||
private Text lblGrandTotal;
|
||||
|
||||
private final String BTN_TUNAI = "tunai";
|
||||
private final String BTN_BAWA_DULU = "bawa dulu";
|
||||
private final String BTN_BON = "bon";
|
||||
private final String BTN_RETUR = "retur";
|
||||
// private String tableState = BTN_TUNAI;
|
||||
|
||||
/**
|
||||
* Initializes the controller class.
|
||||
*/
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
|
||||
initShortcuts();
|
||||
}
|
||||
|
||||
private void initShortcuts() {
|
||||
// Map<KeyCombination, Runnable> listShortcuts = new HashMap<>();
|
||||
//
|
||||
// KeyCombination kcBtnTunai = new KeyCodeCombination(KeyCode.F1);
|
||||
// Runnable rnBtnTunai = () -> btnTunai.fire();
|
||||
// listShortcuts.put(kcBtnTunai, rnBtnTunai);
|
||||
//
|
||||
// KeyCombination kcBtnBawa = new KeyCodeCombination(KeyCode.F2);
|
||||
// Runnable rnBtnBawa = () -> btnBawaDulu.fire();
|
||||
// listShortcuts.put(kcBtnBawa, rnBtnBawa);
|
||||
//
|
||||
// KeyCombination kcBon = new KeyCodeCombination(KeyCode.F3);
|
||||
// Runnable rnBon = () -> btnBon.fire();
|
||||
// listShortcuts.put(kcBon, rnBon);
|
||||
//
|
||||
// KeyCombination kcRetur = new KeyCodeCombination(KeyCode.F4);
|
||||
// Runnable rnRetur = () -> btnRetur.fire();
|
||||
// listShortcuts.put(kcRetur, rnRetur);
|
||||
//
|
||||
// Platform.runLater(() -> {
|
||||
// fldScan.getScene().getAccelerators().putAll(listShortcuts);
|
||||
// });
|
||||
}
|
||||
|
||||
@FXML
|
||||
void btnNavigasiOnAction(ActionEvent event) {
|
||||
// Button buttonSource = (Button) event.getSource();
|
||||
// if (!tableState.equals(buttonSource.getText().toLowerCase())) {
|
||||
// switch (buttonSource.getText().toLowerCase()) {
|
||||
// case BTN_TUNAI:
|
||||
// //ambil data tunai
|
||||
// tableState = BTN_TUNAI;
|
||||
// System.out.println("ambil data tunai");
|
||||
// break;
|
||||
// case BTN_BAWA_DULU:
|
||||
// //ambil data bawa dulu
|
||||
// tableState = BTN_BAWA_DULU;
|
||||
// System.out.println("ambil data bawa dulu");
|
||||
// break;
|
||||
// case BTN_BON:
|
||||
// //ambil data bon
|
||||
// tableState = BTN_BON;
|
||||
// System.out.println("ambil data bon");
|
||||
// break;
|
||||
// case BTN_RETUR:
|
||||
// //ambil data retur
|
||||
// tableState = BTN_RETUR;
|
||||
// System.out.println("ambil data retur");
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (Button button : navigasi) {
|
||||
// if (button.equals(buttonSource)) {
|
||||
// if (!button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
|
||||
// button.getStyleClass().add("button-navigasi-transaksi-selected");
|
||||
// }
|
||||
// } else {
|
||||
// if (button.getStyleClass().contains("button-navigasi-transaksi-selected")) {
|
||||
// button.getStyleClass().remove("button-navigasi-transaksi-selected");
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// fldScan.requestFocus();
|
||||
}
|
||||
|
||||
@FXML
|
||||
void fldScanOnKeyPressed(KeyEvent event) {
|
||||
if (event.getCode() == KeyCode.ENTER) {
|
||||
//proses scan
|
||||
System.out.println("Scan");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.ComboBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<AnchorPane id="AnchorPane" prefHeight="450.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label layoutX="14.0" layoutY="14.0" text="Cari Nota Tunda" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="4.0">
|
||||
<font>
|
||||
<Font size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<ComboBox layoutX="4.0" layoutY="46.0" prefWidth="281.0" promptText="Nomor Nota" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="46.0" />
|
||||
<Label layoutY="29.0" text="Nomor Nota Tunda" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="29.0" />
|
||||
<Label layoutX="14.0" layoutY="76.0" text="Pelanggan" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="76.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutX="75.0" layoutY="76.0" text=": -" AnchorPane.leftAnchor="75.0" AnchorPane.topAnchor="76.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<TableView layoutX="8.0" layoutY="100.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="100.0">
|
||||
<columns>
|
||||
<TableColumn editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" sortable="false" text="No" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Kode Barang" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Nama Barang" />
|
||||
<TableColumn editable="false" maxWidth="35.0" minWidth="35.0" prefWidth="35.0" resizable="false" text="Ukur" />
|
||||
<TableColumn editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="Jml" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Harga" />
|
||||
<TableColumn editable="false" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc I" />
|
||||
<TableColumn editable="false" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc II" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Sub Total" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Pramuniaga" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
</columnResizePolicy>
|
||||
</TableView>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.StackPane?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<AnchorPane id="AnchorPane" prefHeight="450.0" prefWidth="700.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label layoutX="14.0" layoutY="14.0" text="Cetak Ulang Nota" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="4.0">
|
||||
<font>
|
||||
<Font size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutY="29.0" text="Nomor Nota" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="29.0" />
|
||||
<Label layoutX="14.0" layoutY="76.0" text="Pelanggan" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="76.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutX="75.0" layoutY="76.0" text=": -" AnchorPane.leftAnchor="75.0" AnchorPane.topAnchor="76.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<TableView layoutX="8.0" layoutY="100.0" AnchorPane.bottomAnchor="55.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="100.0">
|
||||
<columns>
|
||||
<TableColumn editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" sortable="false" text="No" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Kode Barang" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Nama Barang" />
|
||||
<TableColumn editable="false" maxWidth="35.0" minWidth="35.0" prefWidth="35.0" resizable="false" text="Ukur" />
|
||||
<TableColumn editable="false" maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="Jml" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Harga" />
|
||||
<TableColumn editable="false" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc I" />
|
||||
<TableColumn editable="false" maxWidth="50.0" minWidth="50.0" prefWidth="50.0" resizable="false" text="Disc II" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Sub Total" />
|
||||
<TableColumn editable="false" prefWidth="75.0" text="Pramuniaga" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
</columnResizePolicy>
|
||||
</TableView>
|
||||
<StackPane id="price-background" alignment="CENTER_RIGHT" layoutX="10.0" layoutY="380.0" maxHeight="1.7976931348623157E308" prefHeight="55.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
|
||||
<children>
|
||||
<Text fx:id="lblGrandTotal" fill="#fbff00" strokeType="OUTSIDE" strokeWidth="0.0" text="Rp99.999.999,00">
|
||||
<font>
|
||||
<Font name="System Bold" size="36.0" />
|
||||
</font>
|
||||
<StackPane.margin>
|
||||
<Insets right="14.0" />
|
||||
</StackPane.margin>
|
||||
</Text>
|
||||
</children>
|
||||
<opaqueInsets>
|
||||
<Insets />
|
||||
</opaqueInsets>
|
||||
</StackPane>
|
||||
<TextField layoutX="7.0" layoutY="46.0" promptText="Nomor Nota" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="400.0" AnchorPane.topAnchor="46.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<AnchorPane id="AnchorPane" fx:id="apContent" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label layoutX="24.0" layoutY="24.0" text="Konfirmasi Retur" AnchorPane.leftAnchor="4.0" AnchorPane.topAnchor="4.0">
|
||||
<font>
|
||||
<Font size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<TableView fx:id="tbvBarang" layoutX="14.0" layoutY="98.0" prefHeight="357.0" prefWidth="500.0" AnchorPane.bottomAnchor="-5.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="98.0">
|
||||
<columns>
|
||||
<TableColumn maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
|
||||
<TableColumn fx:id="tcKode" prefWidth="75.0" text="Kode" />
|
||||
<TableColumn fx:id="tcNama" prefWidth="75.0" text="Nama" />
|
||||
<TableColumn fx:id="tcUkur" maxWidth="35.0" minWidth="35.0" prefWidth="35.0" resizable="false" text="Ukur" />
|
||||
<TableColumn fx:id="tcHarga" prefWidth="75.0" text="Harga" />
|
||||
<TableColumn fx:id="tcBtnTambah" maxWidth="80.0" minWidth="80.0" resizable="false" text="Tambah" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
</columnResizePolicy>
|
||||
</TableView>
|
||||
<GridPane layoutX="4.0" layoutY="29.0" AnchorPane.leftAnchor="4.0" AnchorPane.rightAnchor="4.0" AnchorPane.topAnchor="29.0">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="130.0" />
|
||||
<ColumnConstraints hgrow="ALWAYS" maxWidth="1.7976931348623157E308" minWidth="10.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Label text="Nomor Nota Penjualan">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Pelanggan" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="2.5" top="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Nomor Nota Retur" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets top="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label maxWidth="1.7976931348623157E308" text=": -" GridPane.columnIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label maxWidth="1.7976931348623157E308" text=": -" GridPane.columnIndex="1" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets top="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label maxWidth="1.7976931348623157E308" text=": -" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="2.5" top="2.5" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.SplitPane?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<AnchorPane id="AnchorPane" minHeight="-Infinity" minWidth="-Infinity" prefHeight="450.0" prefWidth="800.0" stylesheets="@../styles/pos_styles.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="id.amigogroup.posterminal.transaksi.FormTransaksiReturController">
|
||||
<children>
|
||||
<Label text="Transaksi Retur" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="14.0">
|
||||
<font>
|
||||
<Font size="16.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<HBox alignment="CENTER" layoutX="14.0" layoutY="144.0" prefHeight="80.0" prefWidth="80.0" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="144.0" />
|
||||
<SplitPane dividerPositions="0.5" layoutY="45.0" orientation="VERTICAL" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="39.0">
|
||||
<items>
|
||||
<AnchorPane>
|
||||
<children>
|
||||
<TableView AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="65.0">
|
||||
<columns>
|
||||
<TableColumn maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
|
||||
<TableColumn prefWidth="75.0" text="Kode Barang" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
</columnResizePolicy>
|
||||
</TableView>
|
||||
<Label layoutX="14.0" layoutY="6.0" text="Histori Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutX="14.0" layoutY="20.0" text="Nomor Nota Penjualan" />
|
||||
<TextField layoutX="14.0" layoutY="37.0" prefHeight="25.0" prefWidth="329.0" promptText="Nomor Nota Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="37.0" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane>
|
||||
<children>
|
||||
<TableView prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="50.0">
|
||||
<columns>
|
||||
<TableColumn maxWidth="30.0" minWidth="30.0" prefWidth="30.0" resizable="false" text="No" />
|
||||
<TableColumn prefWidth="75.0" text="Kode Barang" />
|
||||
</columns>
|
||||
<columnResizePolicy>
|
||||
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
|
||||
</columnResizePolicy>
|
||||
</TableView>
|
||||
<Label layoutX="14.0" text="Retur Penjualan" AnchorPane.leftAnchor="14.0" AnchorPane.topAnchor="0.0">
|
||||
<font>
|
||||
<Font size="14.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<GridPane layoutX="14.0" layoutY="20.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="20.0">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" percentWidth="33.3333" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" percentWidth="33.3333" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" percentWidth="33.3333" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<HBox alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="5.0">
|
||||
<children>
|
||||
<Label text="Nomor Nota" />
|
||||
<Label text=": -">
|
||||
<HBox.margin>
|
||||
<Insets />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
</children>
|
||||
<GridPane.margin>
|
||||
<Insets top="5.0" />
|
||||
</GridPane.margin>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="5.0" GridPane.columnIndex="1">
|
||||
<children>
|
||||
<Label text="Tanggal" />
|
||||
<Label text=": -">
|
||||
<HBox.margin>
|
||||
<Insets />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
</children>
|
||||
<GridPane.margin>
|
||||
<Insets top="5.0" />
|
||||
</GridPane.margin>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER_LEFT" maxWidth="1.7976931348623157E308" spacing="5.0" GridPane.columnIndex="2">
|
||||
<children>
|
||||
<Label text="Kasir" />
|
||||
<Label text=": -" />
|
||||
</children>
|
||||
<GridPane.margin>
|
||||
<Insets top="5.0" />
|
||||
</GridPane.margin>
|
||||
</HBox>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</items>
|
||||
</SplitPane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
Loading…
Reference in New Issue