2025年4月11日11:53:06
parent
563fdaa861
commit
f365c606b2
|
|
@ -1,17 +1,11 @@
|
|||
package com.zhangmeng.online.exam.ui.admin;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.layouts.SideMenu;
|
||||
import com.zhangmeng.online.exam.ui.layouts.TopMenu;
|
||||
import javafx.scene.control.MenuBar;
|
||||
import javafx.scene.control.SplitPane;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.BorderPane;
|
||||
import javafx.scene.layout.StackPane;
|
||||
import javafx.scene.layout.VBox;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
package com.zhangmeng.online.exam.ui.admin;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.ExamButtonComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.ExamComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.ShortAnswerComponent;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
|
|
@ -18,7 +15,6 @@ import javafx.scene.image.Image;
|
|||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.*;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
import javafx.util.Duration;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
package com.zhangmeng.online.exam.ui.api;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,8 @@
|
|||
package com.zhangmeng.online.exam.ui.api.form;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.base.Form;
|
||||
import com.zhangmeng.online.exam.ui.api.model.UserDataLoad;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBack;
|
||||
import com.zhangmeng.online.exam.ui.controller.RoleEditController;
|
||||
import com.zhangmeng.online.exam.ui.controller.UserEditController;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
package com.zhangmeng.online.exam.ui.api.form;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.form.base.Form;
|
||||
import com.zhangmeng.online.exam.ui.controller.RoleEditController;
|
||||
import com.zhangmeng.online.exam.ui.controller.SubjectEditController;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/4/11 9:25
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class SubjectForm extends Form {
|
||||
|
||||
private SubjectEditController controller;
|
||||
|
||||
public SubjectForm() {
|
||||
try {
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/subject-edit.fxml"));
|
||||
this.getChildren().add(fxmlLoader.load());
|
||||
this.controller = fxmlLoader.getController();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public SubjectEditController getController() {
|
||||
return controller;
|
||||
}
|
||||
|
||||
public void setController(SubjectEditController controller) {
|
||||
this.controller = controller;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,26 +1,10 @@
|
|||
package com.zhangmeng.online.exam.ui.api.form;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.base.Form;
|
||||
import com.zhangmeng.online.exam.ui.api.model.UserDataLoad;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBack;
|
||||
import com.zhangmeng.online.exam.ui.controller.UserEditController;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.PasswordField;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
|
|
|||
|
|
@ -3,22 +3,16 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.admin.IndexPage;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
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.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.css.Styleable;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.ContextMenu;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.layout.BorderPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,31 +3,24 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.PermissionForm;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.controller.PermissionEditController;
|
||||
import com.zhangmeng.online.exam.ui.controller.UserEditController;
|
||||
import com.zhangmeng.online.exam.ui.module.Permission;
|
||||
import com.zhangmeng.online.exam.ui.module.Role;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.service.PermissionService;
|
||||
import com.zhangmeng.online.exam.ui.service.RoleService;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.api.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Permission_DynamicTableComponent;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Role_DynamicTableComponent;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
|
|
|||
|
|
@ -3,10 +3,9 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.QuestionForm;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.controller.QuestionEditController;
|
||||
import com.zhangmeng.online.exam.ui.module.QuestionType;
|
||||
import com.zhangmeng.online.exam.ui.module.SubjectType;
|
||||
|
|
@ -16,17 +15,14 @@ import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
|||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.stage.Modality;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.api.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Question_DynamicTableComponent;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
@ -77,7 +73,16 @@ public class QuestionDataLoad implements DataLoad {
|
|||
|
||||
@Override
|
||||
public void deleteData(String id) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", id);
|
||||
String result = HttpUtils.POST(ApiUtils.API_URL + "/question/delete", map);
|
||||
JSONObject jsonObject = JSON.parseObject(result);
|
||||
if (jsonObject.getIntValue("code") == 200) {
|
||||
AlertUtils.alert_msg("删除成功!");
|
||||
FxUtils.FX_BEANS.get(Question_DynamicTableComponent).flushData();
|
||||
} else {
|
||||
AlertUtils.alert_warning("删除失败!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -3,9 +3,8 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
|
|
|||
|
|
@ -3,26 +3,20 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.RoleForm;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.components.PaperViewComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.PermissionChooseComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.PaperViewComponentCallBackImpl;
|
||||
import com.zhangmeng.online.exam.ui.controller.PermissionChooseController;
|
||||
import com.zhangmeng.online.exam.ui.controller.RoleEditController;
|
||||
import com.zhangmeng.online.exam.ui.controller.UserEditController;
|
||||
import com.zhangmeng.online.exam.ui.module.Permission;
|
||||
import com.zhangmeng.online.exam.ui.module.Role;
|
||||
import com.zhangmeng.online.exam.ui.module.RoleType;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.service.RoleService;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.ContextMenu;
|
||||
import javafx.scene.control.MenuItem;
|
||||
|
|
@ -31,7 +25,7 @@ import javafx.stage.Stage;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.api.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Role_DynamicTableComponent;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,10 +3,14 @@ package com.zhangmeng.online.exam.ui.api.model;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.form.SubjectForm;
|
||||
import com.zhangmeng.online.exam.ui.controller.SubjectEditController;
|
||||
import com.zhangmeng.online.exam.ui.module.Subject;
|
||||
import com.zhangmeng.online.exam.ui.service.SubjectService;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.scene.Parent;
|
||||
|
|
@ -39,8 +43,11 @@ public class SubjectDataLoad implements DataLoad {
|
|||
Map<String, SimpleStringProperty> userMap = new HashMap<>();
|
||||
userMap.put("序号", new SimpleStringProperty(user.getString("id")));
|
||||
userMap.put("学科名称", new SimpleStringProperty(user.getString("name")));
|
||||
userMap.put("学科名称_name", new SimpleStringProperty(user.getString("name")));
|
||||
userMap.put("学科代码", new SimpleStringProperty(user.getString("code")));
|
||||
userMap.put("学科代码_code", new SimpleStringProperty(user.getString("code")));
|
||||
userMap.put("学科描述", new SimpleStringProperty(user.getString("description")));
|
||||
userMap.put("学科描述_description", new SimpleStringProperty(user.getString("description")));
|
||||
userMap.put("id", new SimpleStringProperty(user.getString("id")));
|
||||
userMapList.add(userMap);
|
||||
}
|
||||
|
|
@ -87,13 +94,28 @@ public class SubjectDataLoad implements DataLoad {
|
|||
|
||||
@Override
|
||||
public void editData(String id, Stage stage) {
|
||||
SubjectForm subjectForm = new SubjectForm();
|
||||
SubjectEditController controller = subjectForm.getController();
|
||||
Subject subject = SubjectService.getSubjectById(id);
|
||||
controller.setSubject(subject);
|
||||
|
||||
|
||||
FxUtils.alert("编辑学科信息", (Parent) subjectForm, stage,true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateData(String id, String name, String oldValue, String newValue) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", id);
|
||||
map.put("fieldName", name);
|
||||
map.put("oldValue", oldValue == null ? "" : oldValue);
|
||||
map.put("newValue", newValue);
|
||||
String result = HttpUtils.POST(ApiUtils.API_URL + "/subject/update", map);
|
||||
JSONObject jsonObject = JSON.parseObject(result);
|
||||
if (jsonObject.getIntValue("code") == 200) {
|
||||
AlertUtils.alert_msg("更新成功!");
|
||||
} else {
|
||||
AlertUtils.alert_warning("更新失败!");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -15,9 +15,8 @@ import javafx.beans.property.SimpleStringProperty;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.stage.Stage;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.zhangmeng.online.exam.ui.components;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBack;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
|
|
@ -9,19 +9,14 @@ import javafx.collections.FXCollections;
|
|||
import javafx.collections.ObservableList;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.control.cell.MapValueFactory;
|
||||
import javafx.scene.control.cell.TextFieldTableCell;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
import org.casic.javafx.control.PaginationPicker;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -33,6 +28,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||
*/
|
||||
public class DynamicTableComponent extends VBox {
|
||||
|
||||
private HeaderComponent headerComponent;
|
||||
|
||||
private DynamicTableComponentCallBack callBack;
|
||||
|
||||
private TableView<Map<String, SimpleStringProperty>> tableView;
|
||||
|
|
@ -172,6 +169,12 @@ public class DynamicTableComponent extends VBox {
|
|||
});
|
||||
this.getChildren().add(button);
|
||||
this.setSpacing(10);
|
||||
|
||||
|
||||
if (headerComponent != null){
|
||||
this.getChildren().add(headerComponent);
|
||||
}
|
||||
|
||||
this.getChildren().addAll(tableView);
|
||||
|
||||
//初始化一个分页
|
||||
|
|
@ -197,4 +200,12 @@ public class DynamicTableComponent extends VBox {
|
|||
data.clear();
|
||||
data.addAll(callBack.flushData(ApiUtils.PAGE_NUM, ApiUtils.PAGE_SIZE).getDataList());
|
||||
}
|
||||
|
||||
public HeaderComponent getHeaderComponent() {
|
||||
return headerComponent;
|
||||
}
|
||||
|
||||
public void setHeaderComponent(HeaderComponent headerComponent) {
|
||||
this.headerComponent = headerComponent;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,23 +3,15 @@ package com.zhangmeng.online.exam.ui.components;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleIntegerProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.WritableValue;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.css.StyleableProperty;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.AccessibleRole;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.ScrollPane;
|
||||
import javafx.scene.layout.FlowPane;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.text.Font;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.zhangmeng.online.exam.ui.components;
|
||||
|
||||
import javafx.scene.layout.HBox;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/4/11 9:17
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class HeaderComponent extends HBox {
|
||||
}
|
||||
|
|
@ -1,12 +1,9 @@
|
|||
package com.zhangmeng.online.exam.ui.components;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.PaperViewComponentCallBack;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.InvalidationListener;
|
||||
import javafx.beans.Observable;
|
||||
import javafx.beans.property.SimpleIntegerProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
|
|
@ -29,7 +26,6 @@ import org.casic.javafx.control.PaginationPicker;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 试题展示组件
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.zhangmeng.online.exam.ui.components;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.control.*;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.zhangmeng.online.exam.ui.components;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.control.Button;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,10 @@
|
|||
package com.zhangmeng.online.exam.ui.components.callBack;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/3/14 15:34
|
||||
|
|
|
|||
|
|
@ -1,21 +1,13 @@
|
|||
package com.zhangmeng.online.exam.ui.components.callBack;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.UserForm;
|
||||
import com.zhangmeng.online.exam.ui.api.form.base.Form;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/3/14 15:35
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
package com.zhangmeng.online.exam.ui.components.callBack;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.zhangmeng.online.exam.ui.components.callBack;
|
|||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.model.PaperDataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.model.QuestionDataLoad;
|
||||
|
|
@ -12,7 +12,6 @@ import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
|||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
package com.zhangmeng.online.exam.ui.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.admin.IndexPage;
|
||||
import com.zhangmeng.online.exam.ui.admin.LoginPage;
|
||||
import com.zhangmeng.online.exam.ui.admin.PaperPage;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.service.UserService;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
|
|
@ -18,7 +16,6 @@ import javafx.fxml.FXML;
|
|||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.image.Image;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,11 @@
|
|||
package com.zhangmeng.online.exam.ui.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.admin.IndexPage;
|
||||
import com.zhangmeng.online.exam.ui.admin.UserListPage;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBackImpl;
|
||||
import com.zhangmeng.online.exam.ui.layouts.SideMenu;
|
||||
import com.zhangmeng.online.exam.ui.module.MenuData;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.geometry.Insets;
|
||||
|
|
@ -24,9 +17,6 @@ import javafx.scene.control.*;
|
|||
import javafx.scene.layout.HBox;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.service.UserService;
|
||||
import javafx.util.Callback;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,17 @@
|
|||
package com.zhangmeng.online.exam.ui.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.module.QuestionType;
|
||||
import com.zhangmeng.online.exam.ui.module.SubjectType;
|
||||
import com.zhangmeng.online.exam.ui.service.RoleService;
|
||||
import com.zhangmeng.online.exam.ui.service.SubjectService;
|
||||
import com.zhangmeng.online.exam.ui.service.UserService;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.control.cell.CheckBoxListCell;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.util.Callback;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package com.zhangmeng.online.exam.ui.controller;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.api.model.QuestionDataLoad;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.module.QuestionType;
|
||||
import com.zhangmeng.online.exam.ui.module.SubjectType;
|
||||
|
|
@ -12,14 +10,10 @@ import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
|||
import javafx.beans.property.SimpleLongProperty;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
import javafx.util.Callback;
|
||||
import javafx.util.StringConverter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.FX_BEANS;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
package com.zhangmeng.online.exam.ui.controller;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.module.Subject;
|
||||
import com.zhangmeng.online.exam.ui.service.SubjectService;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.PasswordField;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Subject_DynamicTableComponent;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/4/11 9:26
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class SubjectEditController {
|
||||
|
||||
@FXML
|
||||
public TextField nameField;
|
||||
|
||||
@FXML
|
||||
public TextField codeField;
|
||||
|
||||
@FXML
|
||||
public TextField descField;
|
||||
|
||||
private Subject subject;
|
||||
|
||||
public void setSubject(Subject subject) {
|
||||
this.subject = subject;
|
||||
this.nameField.setText(subject.getName());
|
||||
this.codeField.setText(subject.getCode());
|
||||
this.descField.setText(subject.getDesc());
|
||||
nameField.textProperty().bindBidirectional(subject.nameProperty());
|
||||
codeField.textProperty().bindBidirectional(subject.codeProperty());
|
||||
descField.textProperty().bindBidirectional(subject.descProperty());
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void initialize() {
|
||||
nameField.setPromptText("请输入科目名称");
|
||||
codeField.setPromptText("请输入考试代码");
|
||||
descField.setPromptText("请输入科目描述");
|
||||
subject = new Subject();
|
||||
nameField.textProperty().bindBidirectional(subject.nameProperty());
|
||||
codeField.textProperty().bindBidirectional(subject.codeProperty());
|
||||
descField.textProperty().bindBidirectional(subject.descProperty());
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void handleSave(ActionEvent actionEvent) {
|
||||
|
||||
if (nameField.getText().isEmpty()){
|
||||
AlertUtils.alert_msg("科目名称不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (codeField.getText().isEmpty()){
|
||||
AlertUtils.alert_msg("科目代码不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (descField.getText().isEmpty()){
|
||||
AlertUtils.alert_msg("科目描述不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("科目名称:" + subject.getName()
|
||||
+ " 科目代码:" + subject.getCode()
|
||||
+ " 科目描述:" + subject.getDesc()
|
||||
);
|
||||
|
||||
boolean isSuccess = SubjectService.saveSubject(subject);
|
||||
if (isSuccess){
|
||||
if (subject.getId()!= null){
|
||||
AlertUtils.alert_msg("保存成功!");
|
||||
}else {
|
||||
AlertUtils.alert_msg("更新成功!");
|
||||
}
|
||||
closeDialog();
|
||||
FxUtils.FX_BEANS.get(Subject_DynamicTableComponent).flushData();
|
||||
|
||||
}else {
|
||||
AlertUtils.alert_msg("操作失败!");
|
||||
}
|
||||
}
|
||||
|
||||
public void handleCancel(ActionEvent actionEvent) {
|
||||
closeDialog();
|
||||
}
|
||||
|
||||
public Subject getSubject() {
|
||||
return subject;
|
||||
}
|
||||
|
||||
private void closeDialog() {
|
||||
Stage stage = (Stage) nameField.getScene().getWindow();
|
||||
stage.close();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,28 +1,20 @@
|
|||
package com.zhangmeng.online.exam.ui.layouts;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.admin.IndexPage;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.ShortAnswerComponent;
|
||||
import com.zhangmeng.online.exam.ui.components.callBack.DynamicTableComponentCallBackImpl;
|
||||
import javafx.beans.property.SimpleMapProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Accordion;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TitledPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
package com.zhangmeng.online.exam.ui.module;
|
||||
|
||||
import javafx.beans.property.SimpleIntegerProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
* @date 2025/4/11 9:37
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class Subject {
|
||||
|
||||
private final SimpleStringProperty id = new SimpleStringProperty();
|
||||
private final SimpleStringProperty name = new SimpleStringProperty();
|
||||
private final SimpleStringProperty code = new SimpleStringProperty();
|
||||
private final SimpleStringProperty desc = new SimpleStringProperty();
|
||||
|
||||
public Subject() {
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id.get();
|
||||
}
|
||||
|
||||
public SimpleStringProperty idProperty() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id.set(id);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name.get();
|
||||
}
|
||||
|
||||
public SimpleStringProperty nameProperty() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name.set(name);
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code.get();
|
||||
}
|
||||
|
||||
public SimpleStringProperty codeProperty() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code.set(code);
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc.get();
|
||||
}
|
||||
|
||||
public SimpleStringProperty descProperty() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc.set(desc);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ package com.zhangmeng.online.exam.ui.service;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.Permission;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
|
|
@ -14,7 +14,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.api.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.Permission_DynamicTableComponent;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.zhangmeng.online.exam.ui.service;
|
|||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.QuestionType;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
|
|
|
|||
|
|
@ -3,15 +3,11 @@ package com.zhangmeng.online.exam.ui.service;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.Permission;
|
||||
import com.zhangmeng.online.exam.ui.module.Role;
|
||||
import com.zhangmeng.online.exam.ui.module.RoleType;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.ObservableList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -19,8 +15,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.zhangmeng.online.exam.ui.api.ApiUtils.API_URL;
|
||||
import static com.zhangmeng.online.exam.ui.utils.FxUtils.User_DynamicTableComponent;
|
||||
import static com.zhangmeng.online.exam.ui.utils.ApiUtils.API_URL;
|
||||
|
||||
/**
|
||||
* @author zm
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
package com.zhangmeng.online.exam.ui.service;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.QuestionType;
|
||||
import com.zhangmeng.online.exam.ui.module.Subject;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.SubjectType;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
|
||||
|
|
@ -31,4 +32,34 @@ public class SubjectService {
|
|||
}
|
||||
return questionTypes;
|
||||
}
|
||||
|
||||
public static boolean saveSubject(Subject subject) {
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", subject.getId() == null? "" : subject.getId());
|
||||
map.put("name", subject.getName());
|
||||
map.put("desc", subject.getDesc());
|
||||
map.put("code", subject.getCode());
|
||||
String result = HttpUtils.POST(ApiUtils.API_URL + "/subject/saveSubject", map);
|
||||
JSONObject jsonObject = JSON.parseObject(result);
|
||||
return jsonObject.getIntValue("code") == 200;
|
||||
}
|
||||
|
||||
public static Subject getSubjectById(String id) {
|
||||
|
||||
Subject subject = null ;
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("id", id);
|
||||
String result = HttpUtils.GET(ApiUtils.API_URL + "/subject/getSubjectById",params);
|
||||
JSONObject jsonObject = JSON.parseObject(result);
|
||||
if (jsonObject.getIntValue("code") == 200) {
|
||||
subject = new Subject();
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
subject.setId(data.getString("id"));
|
||||
subject.setName(data.getString("name"));
|
||||
subject.setCode(data.getString("code"));
|
||||
subject.setDesc(data.getString("desc"));
|
||||
}
|
||||
return subject;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,18 +3,14 @@ package com.zhangmeng.online.exam.ui.service;
|
|||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.module.MenuData;
|
||||
import com.zhangmeng.online.exam.ui.module.User;
|
||||
import com.zhangmeng.online.exam.ui.utils.AlertUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.FxUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.HttpUtils;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.stage.Stage;
|
||||
import com.zhangmeng.online.exam.ui.module.Role;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.zhangmeng.online.exam.ui.user;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.api.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.utils.ApiUtils;
|
||||
import com.zhangmeng.online.exam.ui.layouts.SideMenu;
|
||||
import com.zhangmeng.online.exam.ui.layouts.TopMenu;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.zhangmeng.online.exam.ui.api;
|
||||
package com.zhangmeng.online.exam.ui.utils;
|
||||
|
||||
import com.zhangmeng.online.exam.ui.admin.IndexPage;
|
||||
import com.zhangmeng.online.exam.ui.api.DataLoad;
|
||||
import com.zhangmeng.online.exam.ui.api.form.*;
|
||||
import com.zhangmeng.online.exam.ui.api.model.*;
|
||||
import com.zhangmeng.online.exam.ui.components.DynamicTableComponent;
|
||||
|
|
@ -86,6 +87,7 @@ public class ApiUtils {
|
|||
|
||||
public static DataView getSubjectList() {
|
||||
DataLoad dataLoad = new SubjectDataLoad();
|
||||
dataLoad.setForm(new SubjectForm());
|
||||
return dataLoad.loadData(PAGE_NUM,PAGE_SIZE);
|
||||
}
|
||||
|
||||
|
|
@ -49,6 +49,10 @@ public class FxUtils {
|
|||
form = new QuestionForm();
|
||||
}
|
||||
|
||||
if (form instanceof SubjectForm) {
|
||||
form = new SubjectForm();
|
||||
}
|
||||
|
||||
Scene scene = new Scene(form);
|
||||
Stage dialogStage = new Stage();
|
||||
dialogStage.setTitle(title);
|
||||
|
|
@ -82,6 +86,10 @@ public class FxUtils {
|
|||
form = new PermissionForm();
|
||||
}
|
||||
|
||||
if (form instanceof SubjectForm){
|
||||
form = new SubjectForm();
|
||||
}
|
||||
|
||||
Scene scene = null;
|
||||
if (!isEdit) {
|
||||
scene = new Scene(form);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
|
||||
<VBox spacing="10" xmlns:fx="http://javafx.com/fxml"
|
||||
fx:controller="com.zhangmeng.online.exam.ui.controller.SubjectEditController">
|
||||
<padding>
|
||||
<Insets top="10" right="10" bottom="10" left="10"/>
|
||||
</padding>
|
||||
|
||||
<GridPane hgap="10" vgap="10">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints minWidth="80" prefWidth="100"/>
|
||||
<ColumnConstraints hgrow="ALWAYS"/>
|
||||
</columnConstraints>
|
||||
|
||||
<!-- 学科名称 -->
|
||||
<Label text="学科名称:" GridPane.rowIndex="0" GridPane.columnIndex="0"/>
|
||||
<TextField fx:id="nameField" GridPane.rowIndex="0" GridPane.columnIndex="1"/>
|
||||
|
||||
<!-- 学科代码 -->
|
||||
<Label text="学科代码:" GridPane.rowIndex="1" GridPane.columnIndex="0"/>
|
||||
<TextField fx:id="codeField" GridPane.rowIndex="1" GridPane.columnIndex="1"/>
|
||||
|
||||
<!-- 学科描述 -->
|
||||
<Label text="学科描述:" GridPane.rowIndex="2" GridPane.columnIndex="0"/>
|
||||
<TextField fx:id="descField" GridPane.rowIndex="2" GridPane.columnIndex="1"/>
|
||||
|
||||
</GridPane>
|
||||
|
||||
<HBox spacing="10" alignment="CENTER_RIGHT">
|
||||
<Button text="保存" onAction="#handleSave" defaultButton="true"/>
|
||||
<Button text="取消" onAction="#handleCancel" cancelButton="true"/>
|
||||
</HBox>
|
||||
</VBox>
|
||||
Loading…
Reference in New Issue