2025年4月18日17:33:34
parent
b2e4912fce
commit
d0afcabd0c
|
|
@ -221,7 +221,7 @@ public class LoginPage extends AnchorPane {
|
||||||
Stage stage = new Stage();
|
Stage stage = new Stage();
|
||||||
|
|
||||||
//判断
|
//判断
|
||||||
PaperPage paperPage = new PaperPage();
|
PaperPage paperPage = new PaperPage(new HashMap<>());
|
||||||
scene = new Scene(paperPage, 1280, 720);
|
scene = new Scene(paperPage, 1280, 720);
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
stage.setTitle("在线考试系统");
|
stage.setTitle("在线考试系统");
|
||||||
|
|
|
||||||
|
|
@ -5,19 +5,36 @@ import com.zhangmeng.online.exam.ui.components.ExamComponent;
|
||||||
import javafx.scene.control.SplitPane;
|
import javafx.scene.control.SplitPane;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zm
|
* @author zm
|
||||||
* @date 2025/3/21 14:08
|
* @date 2025/3/21 14:08
|
||||||
* @version: 1.0
|
* @version: 1.0
|
||||||
*/
|
*/
|
||||||
public class PaperPage extends AnchorPane {
|
public class PaperPage extends AnchorPane {
|
||||||
|
|
||||||
|
private Map<String, Object> context = new HashMap<>();
|
||||||
|
|
||||||
|
public void setContext(Map<String, Object> context) {
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, Object> getContext() {
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
private SplitPane splitPane;
|
private SplitPane splitPane;
|
||||||
public PaperPage() {
|
public PaperPage(Map<String, Object> context) {
|
||||||
ExamComponent examComponent = new ExamComponent();
|
setContext(context);
|
||||||
|
ExamComponent examComponent = new ExamComponent(context);
|
||||||
ExamButtonComponent examButtonComponent = new ExamButtonComponent(examComponent.getTotalCount(),examComponent);
|
ExamButtonComponent examButtonComponent = new ExamButtonComponent(examComponent.getTotalCount(),examComponent);
|
||||||
examButtonComponent.setMaxWidth(300);
|
examButtonComponent.setMaxWidth(300);
|
||||||
|
examButtonComponent.setMinWidth(200);
|
||||||
|
|
||||||
splitPane = new SplitPane();
|
splitPane = new SplitPane();
|
||||||
|
|
||||||
splitPane.getItems().addAll(examButtonComponent,examComponent);
|
splitPane.getItems().addAll(examButtonComponent,examComponent);
|
||||||
this.getChildren().add(splitPane);
|
this.getChildren().add(splitPane);
|
||||||
splitPane.prefWidthProperty().bind(this.widthProperty());
|
splitPane.prefWidthProperty().bind(this.widthProperty());
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,20 @@ package com.zhangmeng.online.exam.ui.api.model;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.zhangmeng.online.exam.ui.admin.PaperPage;
|
||||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||||
|
import com.zhangmeng.online.exam.ui.components.ExamComponent;
|
||||||
|
import com.zhangmeng.online.exam.ui.components.PaperViewComponent;
|
||||||
|
import com.zhangmeng.online.exam.ui.components.callBack.PaperViewComponentCallBackImpl;
|
||||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
import javafx.scene.control.ContextMenu;
|
||||||
import javafx.scene.control.MenuItem;
|
import javafx.scene.control.MenuItem;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -22,19 +28,46 @@ import java.util.*;
|
||||||
*/
|
*/
|
||||||
public class ExamDataLoad implements DataLoad {
|
public class ExamDataLoad implements DataLoad {
|
||||||
|
|
||||||
|
private Parent form;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiUtils.DataView loadData(Integer pageNum, Integer pageSize) {
|
public ApiUtils.DataView loadData(Integer pageNum, Integer pageSize) {
|
||||||
return null;
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("pageNum", pageNum.toString());
|
||||||
|
params.put("pageSize", pageSize.toString());
|
||||||
|
String userListData = HttpUtils.GET(ApiUtils.API_URL + "/exam/list", params);
|
||||||
|
JSONObject jsonObject = JSON.parseObject(userListData);
|
||||||
|
JSONArray data = jsonObject.getJSONArray("data");
|
||||||
|
int total = jsonObject.getIntValue("total");
|
||||||
|
List<Map<String, SimpleStringProperty>> userMapList = new ArrayList<>();
|
||||||
|
for (Object datum : data) {
|
||||||
|
JSONObject user = (JSONObject) datum;
|
||||||
|
Map<String, SimpleStringProperty> userMap = new HashMap<>();
|
||||||
|
userMap.put("序号", new SimpleStringProperty(user.getString("id")));
|
||||||
|
userMap.put("paperId", new SimpleStringProperty(user.getString("paperId")));
|
||||||
|
userMap.put("试卷名称", new SimpleStringProperty(user.getString("paperName")));
|
||||||
|
userMap.put("考试时间", new SimpleStringProperty(user.getString("examTime")));
|
||||||
|
userMap.put("科目名称", new SimpleStringProperty(user.getString("subjectName")));
|
||||||
|
userMap.put("总分", new SimpleStringProperty(user.getString("score")));
|
||||||
|
userMap.put("状态", new SimpleStringProperty(user.getString("status")));
|
||||||
|
|
||||||
|
userMap.put("id", new SimpleStringProperty(user.getString("id")));
|
||||||
|
userMapList.add(userMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
ApiUtils.DataView dataView = new ApiUtils.DataView(Arrays.asList("序号", "试卷名称", "考试时间", "科目名称", "总分", "状态"), userMapList).setDataLoad(this).setPageNum(pageNum).setPageSize(pageSize).setTotal(total);
|
||||||
|
dataView.setDataLoad(this);
|
||||||
|
return dataView;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setForm(Parent view) {
|
public void setForm(Parent view) {
|
||||||
|
this.form = view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Parent getForm() {
|
public Parent getForm() {
|
||||||
return null;
|
return this.form;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -59,7 +92,33 @@ public class ExamDataLoad implements DataLoad {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MenuItem> getContextMenu() {
|
public List<MenuItem> getContextMenu() {
|
||||||
return null;
|
//考试
|
||||||
|
MenuItem exam_menu = exam_menu();
|
||||||
|
return Arrays.asList(exam_menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private MenuItem exam_menu(){
|
||||||
|
MenuItem group_volumes = new MenuItem("开始考试");
|
||||||
|
group_volumes.setOnAction(event -> {
|
||||||
|
Map<String, SimpleStringProperty> map = ApiUtils.selectedItem(group_volumes);
|
||||||
|
String id = map.get("id").getValue();
|
||||||
|
String paperId = map.get("paperId").getValue();
|
||||||
|
// AlertUtils.alert_msg("组卷正在开发中..." + id);
|
||||||
|
ContextMenu parentPopup = group_volumes.getParentPopup();
|
||||||
|
BorderPane indexPage = (BorderPane) parentPopup.getStyleableParent();
|
||||||
|
Stage stage = (Stage) indexPage.getScene().getWindow();
|
||||||
|
|
||||||
|
Map<String, Object> context = new HashMap<>();
|
||||||
|
context.put("id", id);
|
||||||
|
context.put("paperId", paperId);
|
||||||
|
|
||||||
|
PaperPage paperViewComponent = new PaperPage(context);
|
||||||
|
|
||||||
|
AlertUtils.alert("组卷", paperViewComponent, 1280, 720, stage, true);
|
||||||
|
|
||||||
|
});
|
||||||
|
return group_volumes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBack;
|
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBack;
|
||||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||||
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
import javafx.beans.property.SimpleStringProperty;
|
import javafx.beans.property.SimpleStringProperty;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
|
@ -66,9 +67,13 @@ public class DynamicTableComponent extends VBox {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//新增编辑删除表单是否显示(增删该)
|
||||||
|
private final SimpleBooleanProperty isForm = new SimpleBooleanProperty(true);
|
||||||
|
|
||||||
// public DynamicTableComponent(List<Map<String, SimpleStringProperty>> dataList,List<String> keys) {
|
// public DynamicTableComponent(List<Map<String, SimpleStringProperty>> dataList,List<String> keys) {
|
||||||
public DynamicTableComponent(ApiUtils.DataView dataView) {
|
public DynamicTableComponent(ApiUtils.DataView dataView,boolean showForm) {
|
||||||
super();
|
super();
|
||||||
|
this.isForm.set(showForm);
|
||||||
this.dataLoad = dataView.getDataLoad();
|
this.dataLoad = dataView.getDataLoad();
|
||||||
List<Map<String, SimpleStringProperty>> dataList = dataView.getDataList();
|
List<Map<String, SimpleStringProperty>> dataList = dataView.getDataList();
|
||||||
List<String> keys = dataView.getKeys();
|
List<String> keys = dataView.getKeys();
|
||||||
|
|
@ -102,8 +107,9 @@ public class DynamicTableComponent extends VBox {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 刷新数据
|
||||||
|
|
||||||
if (name != null) {
|
if (name != null) {
|
||||||
// 刷新数据
|
|
||||||
String newValue = event.getNewValue();
|
String newValue = event.getNewValue();
|
||||||
String oldValue = event.getOldValue();
|
String oldValue = event.getOldValue();
|
||||||
// 调用接口修改数据
|
// 调用接口修改数据
|
||||||
|
|
@ -113,6 +119,7 @@ public class DynamicTableComponent extends VBox {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
AlertUtils.alert_msg("该列不允许修改!");
|
AlertUtils.alert_msg("该列不允许修改!");
|
||||||
|
flushData();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -124,53 +131,63 @@ public class DynamicTableComponent extends VBox {
|
||||||
|
|
||||||
ContextMenu contextMenu = new ContextMenu();
|
ContextMenu contextMenu = new ContextMenu();
|
||||||
|
|
||||||
MenuItem editItem = new MenuItem("编辑");
|
|
||||||
|
|
||||||
editItem.setOnAction(new EventHandler<ActionEvent>() {
|
|
||||||
@Override
|
|
||||||
public void handle(ActionEvent event) {
|
|
||||||
Map<String, SimpleStringProperty> selectedItem = tableView.getSelectionModel().getSelectedItem();
|
|
||||||
if (selectedItem != null) {
|
|
||||||
SimpleStringProperty id = selectedItem.get("id");
|
|
||||||
if (id != null) {
|
|
||||||
callBack.edit(id.get(), DynamicTableComponent.this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
MenuItem deleteItem = new MenuItem("删除");
|
|
||||||
deleteItem.setOnAction(new EventHandler<ActionEvent>() {
|
|
||||||
@Override
|
|
||||||
public void handle(ActionEvent event) {
|
|
||||||
Map<String, SimpleStringProperty> selectedItem = tableView.getSelectionModel().getSelectedItem();
|
|
||||||
if (selectedItem != null) {
|
|
||||||
SimpleStringProperty id = selectedItem.get("id");
|
|
||||||
if (id != null) {
|
|
||||||
callBack.delete(id.get());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
data.remove(tableView.getSelectionModel().getSelectedItem());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (dataLoad.getContextMenu() != null && !dataLoad.getContextMenu().isEmpty()){
|
if (dataLoad.getContextMenu() != null && !dataLoad.getContextMenu().isEmpty()){
|
||||||
contextMenu.getItems().addAll(dataLoad.getContextMenu());
|
contextMenu.getItems().addAll(dataLoad.getContextMenu());
|
||||||
}
|
}
|
||||||
contextMenu.getItems().addAll(editItem, deleteItem);
|
|
||||||
tableView.setContextMenu(contextMenu);
|
if (isForm.get()){
|
||||||
|
|
||||||
|
MenuItem editItem = new MenuItem("编辑");
|
||||||
|
|
||||||
|
editItem.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
|
@Override
|
||||||
|
public void handle(ActionEvent event) {
|
||||||
|
Map<String, SimpleStringProperty> selectedItem = tableView.getSelectionModel().getSelectedItem();
|
||||||
|
if (selectedItem != null) {
|
||||||
|
SimpleStringProperty id = selectedItem.get("id");
|
||||||
|
if (id != null) {
|
||||||
|
callBack.edit(id.get(), DynamicTableComponent.this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
MenuItem deleteItem = new MenuItem("删除");
|
||||||
|
deleteItem.setOnAction(new EventHandler<ActionEvent>() {
|
||||||
|
@Override
|
||||||
|
public void handle(ActionEvent event) {
|
||||||
|
Map<String, SimpleStringProperty> selectedItem = tableView.getSelectionModel().getSelectedItem();
|
||||||
|
if (selectedItem != null) {
|
||||||
|
SimpleStringProperty id = selectedItem.get("id");
|
||||||
|
if (id != null) {
|
||||||
|
callBack.delete(id.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.remove(tableView.getSelectionModel().getSelectedItem());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
contextMenu.getItems().addAll(editItem, deleteItem);
|
||||||
|
|
||||||
|
///添加按钮
|
||||||
|
Button button = new Button("新增");
|
||||||
|
button.setOnAction(event -> {
|
||||||
|
Stage window = (Stage) this.getScene().getWindow();
|
||||||
|
callBack.Add(callBack.getAddForm(), window, this);
|
||||||
|
});
|
||||||
|
this.getChildren().add(button);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
tableView.setContextMenu(contextMenu);
|
||||||
|
|
||||||
|
|
||||||
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//允许一次选择一个或多个连续的索引范围。
|
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);//允许一次选择一个或多个连续的索引范围。
|
||||||
|
|
||||||
///添加按钮
|
|
||||||
Button button = new Button("新增");
|
|
||||||
button.setOnAction(event -> {
|
|
||||||
Stage window = (Stage) this.getScene().getWindow();
|
|
||||||
callBack.Add(callBack.getAddForm(), window, this);
|
|
||||||
});
|
|
||||||
this.getChildren().add(button);
|
|
||||||
this.setSpacing(10);
|
this.setSpacing(10);
|
||||||
|
|
||||||
|
|
||||||
if (headerComponent != null){
|
if (headerComponent != null){
|
||||||
this.getChildren().add(headerComponent);
|
this.getChildren().add(headerComponent);
|
||||||
}
|
}
|
||||||
|
|
@ -208,4 +225,8 @@ public class DynamicTableComponent extends VBox {
|
||||||
public void setHeaderComponent(HeaderComponent headerComponent) {
|
public void setHeaderComponent(HeaderComponent headerComponent) {
|
||||||
this.headerComponent = headerComponent;
|
this.headerComponent = headerComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setIsForm(boolean isForm) {
|
||||||
|
this.isForm.set(isForm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.FlowPane;
|
import javafx.scene.layout.FlowPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.paint.Paint;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -64,7 +66,19 @@ public class ExamButtonComponent extends FlowPane {
|
||||||
this.getChildren().add(button);
|
this.getChildren().add(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HBox hBox = new HBox();
|
||||||
|
hBox.prefWidthProperty().bind(this.widthProperty().subtract(40));
|
||||||
|
Button commit = new Button("提交");
|
||||||
|
|
||||||
|
commit.setStyle("-fx-background-color: #008CBA;");
|
||||||
|
commit.setTextFill(Paint.valueOf("#FFFFFF"));
|
||||||
|
commit.setPrefWidth(100);
|
||||||
|
commit.setOnAction(event -> {
|
||||||
|
System.out.println("提交");
|
||||||
|
});
|
||||||
|
hBox.getChildren().add(commit);
|
||||||
|
hBox.setAlignment(Pos.CENTER);
|
||||||
|
this.getChildren().add(hBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public class ExamComponent extends ScrollPane {
|
||||||
|
|
||||||
private VBox vBox;
|
private VBox vBox;
|
||||||
|
|
||||||
public ExamComponent() {
|
public ExamComponent(Map<String, Object> context) {
|
||||||
|
|
||||||
this.vBox = new VBox(5);
|
this.vBox = new VBox(5);
|
||||||
this.vBox.setPadding(new Insets(10));
|
this.vBox.setPadding(new Insets(10));
|
||||||
|
|
@ -58,7 +58,7 @@ public class ExamComponent extends ScrollPane {
|
||||||
Map<String, Object> params = new HashMap<>();
|
Map<String, Object> params = new HashMap<>();
|
||||||
params.put("pageNum", ApiUtils.PAGE_NUM);
|
params.put("pageNum", ApiUtils.PAGE_NUM);
|
||||||
params.put("pageSize", ApiUtils.PAGE_SIZE);
|
params.put("pageSize", ApiUtils.PAGE_SIZE);
|
||||||
params.put("id", 1);
|
params.put("id", context.get("paperId"));
|
||||||
String userListData = HttpUtils.GET(ApiUtils.API_URL + "/paper/chooseQuestion/list", params);
|
String userListData = HttpUtils.GET(ApiUtils.API_URL + "/paper/chooseQuestion/list", params);
|
||||||
JSONObject jsonObject = JSON.parseObject(userListData);
|
JSONObject jsonObject = JSON.parseObject(userListData);
|
||||||
JSONArray data = jsonObject.getJSONArray("data");
|
JSONArray data = jsonObject.getJSONArray("data");
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@ public class LoginController {
|
||||||
Stage stage = new Stage();
|
Stage stage = new Stage();
|
||||||
|
|
||||||
//判断
|
//判断
|
||||||
PaperPage paperPage = new PaperPage();
|
PaperPage paperPage = new PaperPage(new HashMap<>());
|
||||||
scene = new Scene(paperPage, 1280, 720);
|
scene = new Scene(paperPage, 1280, 720);
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
stage.setTitle("在线考试系统");
|
stage.setTitle("在线考试系统");
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,8 @@ public class MainController {
|
||||||
case "/option/list" -> init_table(ApiUtils.getQuestionOptionList(),FxUtils.QuestionOption_DynamicTableComponent);
|
case "/option/list" -> init_table(ApiUtils.getQuestionOptionList(),FxUtils.QuestionOption_DynamicTableComponent);
|
||||||
case "/permission/list" -> init_table(ApiUtils.getPermissionList(),FxUtils.Permission_DynamicTableComponent);
|
case "/permission/list" -> init_table(ApiUtils.getPermissionList(),FxUtils.Permission_DynamicTableComponent);
|
||||||
case "/profession/list" -> init_table(ApiUtils.getProfessionList(),FxUtils.Profession_DynamicTableComponent);
|
case "/profession/list" -> init_table(ApiUtils.getProfessionList(),FxUtils.Profession_DynamicTableComponent);
|
||||||
case "/exam/list" -> FXMLLoader.load(getClass().getResource("/fxml/notice-edit.fxml"));
|
case "/exam/list" -> init_table(ApiUtils.getExamList(),FxUtils.Exam_DynamicTableComponent,false);
|
||||||
|
case "通知" -> FXMLLoader.load(getClass().getResource("/fxml/notice-edit.fxml"));
|
||||||
case "在线用户" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-online.fxml"));
|
case "在线用户" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-online.fxml"));
|
||||||
case "系统日志" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-log.fxml"));
|
case "系统日志" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-log.fxml"));
|
||||||
case "性能监控" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-performance.fxml"));
|
case "性能监控" -> FXMLLoader.load(getClass().getResource("/fxml/monitor-performance.fxml"));
|
||||||
|
|
@ -149,14 +150,18 @@ public class MainController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private DynamicTableComponent init_table(ApiUtils.DataView dataView,String type) {
|
private DynamicTableComponent init_table(ApiUtils.DataView dataView,String type) {
|
||||||
|
return init_table(dataView,type,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private DynamicTableComponent init_table(ApiUtils.DataView dataView,String type,boolean isForm) {
|
||||||
dataView.setPageNum(dataView.getPageNum());
|
dataView.setPageNum(dataView.getPageNum());
|
||||||
dataView.setPageSize(dataView.getPageSize());
|
dataView.setPageSize(dataView.getPageSize());
|
||||||
dataView.setTotal(dataView.getTotal());
|
dataView.setTotal(dataView.getTotal());
|
||||||
DynamicTableComponent dynamicTableComponent = new DynamicTableComponent(dataView);
|
DynamicTableComponent dynamicTableComponent = new DynamicTableComponent(dataView,isForm);
|
||||||
dynamicTableComponent.setCallBack(new DynamicTableComponentCallBackImpl(dataView.getDataLoad(),dataView.getDataLoad().getForm()));
|
dynamicTableComponent.setCallBack(new DynamicTableComponentCallBackImpl(dataView.getDataLoad(),dataView.getDataLoad().getForm()));
|
||||||
dynamicTableComponent.setPadding(new Insets(15));
|
dynamicTableComponent.setPadding(new Insets(15));
|
||||||
dynamicTableComponent.prefHeightProperty().bind(contentTabPane.heightProperty().subtract(15));
|
dynamicTableComponent.prefHeightProperty().bind(contentTabPane.heightProperty().subtract(15));
|
||||||
|
// dynamicTableComponent.setIsForm(isForm);
|
||||||
FxUtils.FX_BEANS.put(type,dynamicTableComponent);
|
FxUtils.FX_BEANS.put(type,dynamicTableComponent);
|
||||||
|
|
||||||
return dynamicTableComponent;
|
return dynamicTableComponent;
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@ public class SideMenu extends VBox {
|
||||||
dataView.setPageNum(dataView.getPageNum());
|
dataView.setPageNum(dataView.getPageNum());
|
||||||
dataView.setPageSize(dataView.getPageSize());
|
dataView.setPageSize(dataView.getPageSize());
|
||||||
dataView.setTotal(dataView.getTotal());
|
dataView.setTotal(dataView.getTotal());
|
||||||
DynamicTableComponent dynamicTableComponent = new DynamicTableComponent(dataView);
|
DynamicTableComponent dynamicTableComponent = new DynamicTableComponent(dataView,true);
|
||||||
dynamicTableComponent.setCallBack(new DynamicTableComponentCallBackImpl(dataView.getDataLoad(),dataView.getDataLoad().getForm()));
|
dynamicTableComponent.setCallBack(new DynamicTableComponentCallBackImpl(dataView.getDataLoad(),dataView.getDataLoad().getForm()));
|
||||||
dynamicTableComponent.setPadding(new Insets(15));
|
dynamicTableComponent.setPadding(new Insets(15));
|
||||||
dynamicTableComponent.prefHeightProperty().bind(root.heightProperty().subtract(15));
|
dynamicTableComponent.prefHeightProperty().bind(root.heightProperty().subtract(15));
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,11 @@ public class ApiUtils {
|
||||||
return dataLoad.loadData(PAGE_NUM,PAGE_SIZE);
|
return dataLoad.loadData(PAGE_NUM,PAGE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DataView getExamList() {
|
||||||
|
DataLoad dataLoad = new ExamDataLoad();
|
||||||
|
return dataLoad.loadData(PAGE_NUM,PAGE_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
public static Map<String, SimpleStringProperty> selectedItem(MenuItem menuItem){
|
public static Map<String, SimpleStringProperty> selectedItem(MenuItem menuItem){
|
||||||
ContextMenu parentPopup = menuItem.getParentPopup();
|
ContextMenu parentPopup = menuItem.getParentPopup();
|
||||||
BorderPane indexPage = (BorderPane)parentPopup.getStyleableParent();
|
BorderPane indexPage = (BorderPane)parentPopup.getStyleableParent();
|
||||||
|
|
@ -128,6 +133,7 @@ public class ApiUtils {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static class DataView {
|
public static class DataView {
|
||||||
|
|
||||||
private List<String> keys;
|
private List<String> keys;
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ public class FxUtils {
|
||||||
public static String QuestionOption_DynamicTableComponent;
|
public static String QuestionOption_DynamicTableComponent;
|
||||||
public static String Permission_DynamicTableComponent;
|
public static String Permission_DynamicTableComponent;
|
||||||
public static String Profession_DynamicTableComponent;
|
public static String Profession_DynamicTableComponent;
|
||||||
|
public static String Exam_DynamicTableComponent;
|
||||||
|
|
||||||
|
|
||||||
public static void alert(String title, Parent node, Stage primaryStage) {
|
public static void alert(String title, Parent node, Stage primaryStage) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue