package com.example.client.service; import com.example.client.dto.ColumnDto; import com.example.client.dto.JComboBoxItem; import com.example.client.utils.BoxIteUtils; import com.example.client.utils.CommonTable; import com.example.client.utils.GBC; import com.example.client.utils.UploadFile; import com.example.server.boatFleet.service.BoatFleetService; import com.example.server.progressTrack.model.DjJdgzHandover; import com.example.server.progressTrack.service.DjJdgzHandoverService; import com.example.server.progressTrack.service.DjJdgzNetworkLevel1Service; import com.example.server.sysOss.model.SysOss; import com.example.server.teamGroup.service.SysTeamGroupClassService; import com.example.server.user.model.SysUser; import com.example.server.user.service.UserService; import org.apache.commons.lang3.StringUtils; import org.jdesktop.swingx.JXDatePicker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @Service public class UserAddOrUpdate { @Autowired private UserService userService; @Autowired private UserManageService userManageService; @Autowired private SysTeamGroupClassService sysTeamGroupClassService; @Autowired private BoatFleetService boatFleetService; public void openDialog(SysUser data, JFrame jFrame, List columnDto, JTable table) { JFrame frame1 = new JFrame("用户操作"); frame1.setSize(1000, 800); frame1.setResizable(false); frame1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); frame1.setLocationRelativeTo(null); frame1.setVisible(true); frame1.addWindowListener(new WindowAdapter() { //添加第二个界面的关闭事件: public void windowClosing(WindowEvent e) { //添加事件: jFrame.setEnabled(true);//将主界面再设置为可操作的 } }); GridBagLayout layout = new GridBagLayout(); frame1.setLayout(layout); JComboBoxItem[] deptList = sysTeamGroupClassService.getDeptList(); JComboBoxItem[] boatList = boatFleetService.getBoatList(); JLabel JLabel0 = new JLabel("用户名"); JTextField userName = new JTextField(16); if (StringUtils.isNotBlank(data.getUsername())) { userName.setText(data.getUsername()); } JLabel JLabel1 = new JLabel("昵称"); JTextField nickName = new JTextField(16); if (StringUtils.isNotBlank(data.getNickName())) { nickName.setText(data.getNickName()); } JLabel JLabel2 = new JLabel("密码"); JTextField passWord = new JTextField(16); if (StringUtils.isNotBlank(data.getPassword())) { passWord.setText(data.getPassword()); } JLabel JLabel3 = new JLabel("所属T队"); JComboBox comboBox = new JComboBox<>(boatList); if(StringUtils.isNotBlank(data.getBoatfleet())){ comboBox.setSelectedItem(BoxIteUtils.GetSelectItemById(boatList, data.getBoatFleetId())); } JLabel JLabel4 = new JLabel("所属部门"); JComboBox comboBox1 = new JComboBox<>(deptList); if(StringUtils.isNotBlank(data.getDept())){ comboBox1.setSelectedItem(BoxIteUtils.GetSelectItemById(deptList, data.getDeptId())); } JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(deptList[0].getId()); JLabel JLabel5 = new JLabel("所属专业"); JComboBox comboBox2 = new JComboBox<>(teamList); if(StringUtils.isNotBlank(data.getTeamgroup())){ comboBox2.setSelectedItem(BoxIteUtils.GetSelectItemById(teamList, data.getTeamgroupId())); } comboBox1.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { JComboBoxItem selectedItemNow = (JComboBoxItem) comboBox1.getSelectedItem(); if (selectedItemNow != null) { long selectedId = selectedItemNow.getId(); JComboBoxItem[] teamList2 = sysTeamGroupClassService.getTeamList(selectedId); comboBox2.setModel(new DefaultComboBoxModel<>(teamList2)); comboBox2.setSelectedIndex(-1); } } } }); JButton saveButton = new JButton("确定"); frame1.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(userName, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel1, new GBC(0, 1, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(nickName, new GBC(1, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel2, new GBC(0, 2, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(passWord, new GBC(1, 2, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel3, new GBC(0, 3, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(comboBox, new GBC(1, 3, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel4, new GBC(0, 4, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(comboBox1, new GBC(1, 4, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(JLabel5, new GBC(0, 5, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5)); frame1.add(comboBox2, new GBC(1, 5, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5)); frame1.add(saveButton, new GBC(0, 6, 1, 1).setWeight(0, 0)); saveButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JComboBoxItem boat = (JComboBoxItem) comboBox.getSelectedItem(); JComboBoxItem dept = (JComboBoxItem) comboBox1.getSelectedItem(); JComboBoxItem team = (JComboBoxItem) comboBox2.getSelectedItem(); data.setDept(String.valueOf(dept.getId())); data.setTeamgroup(String.valueOf(team.getId())); data.setBoatfleet(String.valueOf(boat.getId())); data.setUsername(userName.getText()); data.setNickName(nickName.getText()); data.setPassword(passWord.getText()); userService.save(data); List list = userService.getList(); CommonTable.refreshTable(list,columnDto,table); userManageService.tableModelListener(table,jFrame,list); frame1.dispose(); jFrame.setEnabled(true);//将主界面再设置为可操作的 } }); } }