源码获取:博客首页 "资源" 里下载!

Springboot项目CRM客户关系管理系统:

系统实现了CRM客户关系系统的基本功能,主要有看板(当月参与的业务机会、当月转化情况、将要结束的业务机会等)、业务机会(初步接触中、需求分析中、协商方案中、商业谈判中的业务机会)、客户管理、联系人管理、个人日报管理、查看团队日报、主数据管理(组织架构管理)、系统管理(用户管理、角色管理、菜单管理)。

登录控制层:


public class LoginFrm extends javax.swing.JFrame {/*** 皮肤*/static {try {// LookAndFeel lf = new SubstanceAutumnLookAndFeel();// LookAndFeel lf = new SubstanceChallengerDeepLookAndFeel();// LookAndFeel lf = new Plastic3DLookAndFeel();// LookAndFeel lf = new PlasticLookAndFeel();LookAndFeel lf = new PlasticXPLookAndFeel();UIManager.setLookAndFeel(lf);} catch (UnsupportedLookAndFeelException e) {e.printStackTrace();}}/*** 版本序列号*/private static final long serialVersionUID = -2989784724450522952L;// 验证码的String类型private String imageCode;private User user;/** Creates new form LoginFrm */public LoginFrm(User user) {this.user = user;initComponents();this.setLocationRelativeTo(null);fillImageCode();if (user != null) {this.jtf_username.setText(this.user.getusername());this.jpw_password.setText(this.user.getpassword());}}public void setUser(User user) {this.user = user;}/*** 填充验证码图片*/private void fillImageCode() {// this.jl_checkImage.setIcon(new ImageIcon("images/check.jpeg"));// this.repaint();// jl_checkImage.setIcon(new ImageIcon(ImageIO.read(new// File("images/check.jpeg"))));ImageCodeUtil imageCodeUtil = ImageCodeUtil.getImageCodeUtil();jl_checkImage.setIcon(new ImageIcon(imageCodeUtil.getBufferedImage()));imageCode =imageCodeUtil.sRand;}// GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jLabel1 = new javax.swing.JLabel();jLabel2 = new javax.swing.JLabel();jLabel3 = new javax.swing.JLabel();jtf_username = new javax.swing.JTextField();jpw_password = new javax.swing.JPasswordField();jLabel4 = new javax.swing.JLabel();jtf_check = new javax.swing.JTextField();jl_checkImage = new javax.swing.JLabel();jb_login = new javax.swing.JButton();jb_cancle = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setTitle("\u7528\u6237\u767b\u5f55");jLabel1.setFont(new java.awt.Font("宋体", 0, 24));jLabel1.setText("\u5ba2\u6237\u5173\u7cfb\u7ba1\u7406\u7cfb\u7edf");jLabel2.setText("\u7528\u6237\u540d\uff1a");jLabel3.setText("\u5bc6  \u7801\uff1a");jLabel4.setText("\u9a8c\u8bc1\u7801\uff1a");jb_login.setText("\u767b\u5f55");jb_login.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_loginActionPerformed(evt);}});jb_cancle.setText("\u53d6\u6d88");jb_cancle.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_cancleActionPerformed(evt);}});javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(108,108,108).addComponent(jLabel1)).addGroup(layout.createSequentialGroup().addGap(78, 78,78).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jLabel2).addComponent(jLabel3).addComponent(jLabel4)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,false).addGroup(javax.swing.GroupLayout.Alignment.LEADING,layout.createSequentialGroup().addComponent(jtf_check,javax.swing.GroupLayout.PREFERRED_SIZE,71,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jl_checkImage)).addComponent(jpw_password,javax.swing.GroupLayout.Alignment.LEADING,javax.swing.GroupLayout.DEFAULT_SIZE,157,Short.MAX_VALUE).addComponent(jtf_username,javax.swing.GroupLayout.Alignment.LEADING))).addGroup(layout.createSequentialGroup().addComponent(jb_login).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addComponent(jb_cancle))))).addContainerGap(79, Short.MAX_VALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(34, 34, 34).addComponent(jLabel1).addGap(53, 53, 53).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2).addComponent(jtf_username,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3).addComponent(jpw_password,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(28, 28, 28).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel4).addComponent(jtf_check,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jl_checkImage)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,38, Short.MAX_VALUE).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_login).addComponent(jb_cancle)).addContainerGap()));pack();}// </editor-fold>// GEN-END:initComponentsprivate void jb_cancleActionPerformed(java.awt.event.ActionEvent evt) {int i = JOptionPane.showConfirmDialog(this, "确定退出系统?", "确认信息",JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);if (i == 0) {this.dispose();}}private void jb_loginActionPerformed(java.awt.event.ActionEvent evt) {String userName = this.jtf_username.getText();String password = new String(this.jpw_password.getPassword());String checkCode = this.jtf_check.getText();if (StringUtil.isEmpty(userName)) {JOptionPane.showMessageDialog(this, "用户名不能为空!");return;}if (StringUtil.isEmpty(password)) {JOptionPane.showMessageDialog(this, "密码不能为空");return;}if (!checkCode.equals(imageCode)) {JOptionPane.showMessageDialog(this, "验证码错误");// this.fillImageCode();// this.jl_checkImage.updateUI();// this.pack();return;}User user = new User(userName, password);UserEbi userEbi = UserEbiFactory.getUserEbi();User currentUser = userEbi.login(user);if (currentUser == null) {JOptionPane.showMessageDialog(this, "用户名或密码错误!");return;}// System.out.println("登录成功");this.dispose();new MainFrm(currentUser).setVisible(true);}/*** @param args*            the command line arguments*/public static void main(String args[]) {java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new LoginFrm(null).setVisible(true);}});}// GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JLabel jLabel4;private javax.swing.JButton jb_cancle;private javax.swing.JButton jb_login;private javax.swing.JLabel jl_checkImage;private javax.swing.JPasswordField jpw_password;private javax.swing.JTextField jtf_check;private javax.swing.JTextField jtf_username;// End of variables declaration//GEN-END:variables}

用户服务类:

public class UserSerInterFrm extends javax.swing.JInternalFrame {/*** */private static final long serialVersionUID = -8462503234613628488L;private PageBean bean = null;/** Creates new form UserSerInterFrm */public UserSerInterFrm() {initComponents();this.setLocation(230, 130);this.fillRole();QueryInfo info = new QueryInfo();info.setPagesize(9);this.fillTable(info);}private void fillRole() {DefaultComboBoxModel dcm = (DefaultComboBoxModel) this.jcb_role.getModel();dcm.removeAllElements();List<Role> list = RoleEbiFactory.getRoleEbo().getRole();for (Role role : list) {dcm.addElement(role);}}/*** This method is called from within the constructor to initialize the form.* WARNING: Do NOT modify this code. The content of this method is always* regenerated by the Form Editor.*///GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jScrollPane1 = new javax.swing.JScrollPane();jtb_user = new javax.swing.JTable();jLabel1 = new javax.swing.JLabel();jLabel2 = new javax.swing.JLabel();jLabel3 = new javax.swing.JLabel();jtf_username = new javax.swing.JTextField();jtf_password = new javax.swing.JTextField();jcb_role = new javax.swing.JComboBox();jb_modify = new javax.swing.JButton();jb_del = new javax.swing.JButton();jb_end = new javax.swing.JButton();jb_nextpage = new javax.swing.JButton();jb_previouspage = new javax.swing.JButton();jb_start = new javax.swing.JButton();jb_add = new javax.swing.JButton();jLabel4 = new javax.swing.JLabel();setClosable(true);setIconifiable(true);setTitle("\u7528\u6237\u7ba1\u7406");jtb_user.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {}, new String[] { "编号", "用户名", "角色" }) {boolean[] canEdit = new boolean[] { false, false, false };public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit[columnIndex];}});jtb_user.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent evt) {jtb_userMouseClicked(evt);}});jScrollPane1.setViewportView(jtb_user);jLabel1.setText("\u7528\u6237\u540d\uff1a");jLabel2.setText("\u5bc6   \u7801\uff1a");jLabel3.setText("\u89d2   \u8272\uff1a");jcb_role.setModel(new javax.swing.DefaultComboBoxModel(new String[] {"Item 1", "Item 2", "Item 3", "Item 4" }));jb_modify.setText("\u4fee\u6539");jb_modify.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_modifyActionPerformed(evt);}});jb_del.setText("\u5220\u9664");jb_del.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_delActionPerformed(evt);}});jb_end.setText("\u672b\u9875");jb_end.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_endActionPerformed(evt);}});jb_nextpage.setText("\u4e0b\u4e00\u9875");jb_nextpage.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_nextpageActionPerformed(evt);}});jb_previouspage.setText("\u4e0a\u4e00\u9875");jb_previouspage.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_previouspageActionPerformed(evt);}});jb_start.setText("\u9996\u9875");jb_start.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_startActionPerformed(evt);}});jb_add.setText("\u65b0\u5efa");jb_add.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_addActionPerformed(evt);}});jLabel4.setText("jLabel4");javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addContainerGap(87,Short.MAX_VALUE).addComponent(jb_start).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_previouspage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_nextpage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_end).addGap(39, 39,39)).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,359,javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jLabel4,javax.swing.GroupLayout.PREFERRED_SIZE,271,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(28, 28,28))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(layout.createSequentialGroup().addComponent(jLabel1).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jtf_username,javax.swing.GroupLayout.PREFERRED_SIZE,125,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(layout.createSequentialGroup().addComponent(jLabel2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jtf_password)).addGroup(layout.createSequentialGroup().addComponent(jLabel3).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jcb_role,javax.swing.GroupLayout.PREFERRED_SIZE,75,javax.swing.GroupLayout.PREFERRED_SIZE))).addGroup(layout.createSequentialGroup().addComponent(jb_add).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_modify).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_del))).addContainerGap(20, Short.MAX_VALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,199,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jLabel4).addGap(4, 4, 4).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_end).addComponent(jb_nextpage).addComponent(jb_previouspage).addComponent(jb_start).addComponent(jb_del).addComponent(jb_modify).addComponent(jb_add)).addContainerGap(45, Short.MAX_VALUE)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addContainerGap(99, Short.MAX_VALUE).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jtf_username,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(26, 26, 26).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2).addComponent(jtf_password,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(26, 26, 26).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3).addComponent(jcb_role,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(98, 98, 98)));pack();}// </editor-fold>//GEN-END:initComponentsprivate void jtb_userMouseClicked(java.awt.event.MouseEvent evt) {DefaultTableModel tableModel = (DefaultTableModel) jtb_user.getModel();int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行if (selectRows == 1) {String id = tableModel.getValueAt(selectedRowIndex, 0).toString();User user = UserEbiFactory.getUserEbi().search(id);this.jtf_username.setText(user.getusername());this.jtf_password.setText(user.getpassword());// Role[] role = (Role[]) this.jcb_role.getSelectedObjects();// for (Role r: role) {// if (r.getId()==user.getid()) {// this.jcb_role.setSelectedItem(r);// }// }for (int i = 0; i < this.jcb_role.getItemCount(); i++) {Role role = (Role) this.jcb_role.getItemAt(i);if (role.getId() == user.getroleid()) {this.jcb_role.setSelectedIndex(i);}}}}private void jb_endActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getTotalpage());info.setPagesize(9);fillTable(info);}private void jb_nextpageActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getNextpage());info.setPagesize(9);fillTable(info);}private void jb_previouspageActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getPreviouspage());info.setPagesize(9);fillTable(info);}private void jb_startActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(1);info.setPagesize(9);fillTable(info);}private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {DefaultTableModel tableModel = (DefaultTableModel) jtb_user.getModel();int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行if (selectRows == 1) {BigDecimal userId = (BigDecimal) tableModel.getValueAt(selectedRowIndex, 0);String username = this.jtf_username.getText();String password = this.jtf_password.getText();Role role = (Role) this.jcb_role.getSelectedItem();BigDecimal roleId = role.getId();User user = new User(userId, username, password, roleId);boolean b = UserEbiFactory.getUserEbi().update(user);if (b) {JOptionPane.showMessageDialog(this, "修改成功!");} else {JOptionPane.showMessageDialog(this, "修改失败!");}}}private void jb_addActionPerformed(java.awt.event.ActionEvent evt) {String username = this.jtf_username.getText();String password = this.jtf_password.getText();User user = new User(username, password, new BigDecimal(5));boolean b = UserEbiFactory.getUserEbi().add(user);if (b) {JOptionPane.showMessageDialog(this, "添加成功!");} else {JOptionPane.showMessageDialog(this, "添加失败!");}}private void jb_delActionPerformed(java.awt.event.ActionEvent evt) {int i = JOptionPane.showConfirmDialog(this, "确认删除此条记录?", "确认信息",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);if (i == 0) {DefaultTableModel tableModel = (DefaultTableModel) jtb_user.getModel();int selectRows = jtb_user.getSelectedRows().length;// 取得用户所选行的行数int selectedRowIndex = jtb_user.getSelectedRow(); // 取得用户所选单行if (selectRows == 1) {String userId = tableModel.getValueAt(selectedRowIndex, 0).toString();boolean b = UserEbiFactory.getUserEbi().del(userId);if (b) {JOptionPane.showMessageDialog(this, "删除成功!");} else {JOptionPane.showMessageDialog(this, "删除失败!");}}}}@SuppressWarnings({ "unchecked", "rawtypes" })private void fillTable(QueryInfo info) {// 获取表格模型DefaultTableModel dtm = (DefaultTableModel) this.jtb_user.getModel();// 清空表格dtm.setRowCount(0);// 获取业务层接口实现类对象UserEbi userEbi = UserEbiFactory.getUserEbi();// 查询数据bean = userEbi.search(info);// 获取封装数据的集合List list = bean.getList();// 遍历集合并向表格填充数据for (Object object : list) {Vector v = new Vector();User user = (User) object;v.add(user.getid());v.add(user.getusername());v.add(user.getRolename());dtm.addRow(v);}this.jLabel4.setText("共" + bean.getTotalrecord() + "条记录-共"+ bean.getTotalpage() + "页-当前第" + bean.getCurrentpage() + "页");}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JLabel jLabel4;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JButton jb_add;private javax.swing.JButton jb_del;private javax.swing.JButton jb_end;private javax.swing.JButton jb_modify;private javax.swing.JButton jb_nextpage;private javax.swing.JButton jb_previouspage;private javax.swing.JButton jb_start;private javax.swing.JComboBox jcb_role;private javax.swing.JTable jtb_user;private javax.swing.JTextField jtf_password;private javax.swing.JTextField jtf_username;// End of variables declaration//GEN-END:variables}

订单管理服务类:

public class CusOrderInterFrm extends javax.swing.JInternalFrame {private static final long serialVersionUID = 5178086178074169208L;private static final int PAGESIZE = 10;private String id;private String name;private PageBean bean;/** Creates new form CusOrderInterFrm */public CusOrderInterFrm(String id, String name) {this.id = id;this.name = name;initComponents();this.setLocation(330, 80);initData();}private void initData() {this.jtf_cusid.setText(id);this.jtf_cusname.setText(name);QueryInfo info = new QueryInfo();info.setPagesize(PAGESIZE);fillTable(info, id);}@SuppressWarnings({ "unchecked", "rawtypes" })private void fillTable(QueryInfo info, String id) {DefaultTableModel dtm = (DefaultTableModel) this.jtb_order.getModel();dtm.setRowCount(0);bean = CustomerEbiFactory.getCustomerEbi().searchOrder(id, info);List<CusOrder> list = bean.getList();for (CusOrder cusOrder : list) {Vector v = new Vector();v.add(cusOrder.getOrderid());v.add(cusOrder.getOrder_date());v.add(cusOrder.getOrder_address());v.add(cusOrder.getOr_state());dtm.addRow(v);}this.jLabel9.setText("共" + bean.getTotalrecord() + "条记录-共"+ bean.getTotalpage() + "页-当前第" + bean.getCurrentpage() + "页");}//GEN-BEGIN:initComponents// <editor-fold defaultstate="collapsed" desc="Generated Code">private void initComponents() {jLabel1 = new javax.swing.JLabel();jtf_cusid = new javax.swing.JTextField();jLabel2 = new javax.swing.JLabel();jtf_cusname = new javax.swing.JTextField();jScrollPane1 = new javax.swing.JScrollPane();jtb_order = new javax.swing.JTable();jb_start = new javax.swing.JButton();jb_end = new javax.swing.JButton();jb_previouspage = new javax.swing.JButton();jb_nextpage = new javax.swing.JButton();jLabel9 = new javax.swing.JLabel();jb_info = new javax.swing.JButton();setClosable(true);setIconifiable(true);setTitle("\u5386\u53f2\u8ba2\u5355");jLabel1.setText("\u5ba2\u6237\u7f16\u53f7\uff1a");jtf_cusid.setEditable(false);jLabel2.setText("\u5ba2\u6237\u540d\u79f0\uff1a");jtf_cusname.setEditable(false);jtb_order.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {}, new String[] { "订单编号", "日期", "送货地址", "状态" }) {boolean[] canEdit = new boolean[] { false, false, false, false };public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit[columnIndex];}});jScrollPane1.setViewportView(jtb_order);jb_start.setText("\u9996\u9875");jb_start.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_startActionPerformed(evt);}});jb_end.setText("\u672b\u9875");jb_end.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_endActionPerformed(evt);}});jb_previouspage.setText("\u4e0a\u4e00\u9875");jb_previouspage.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_previouspageActionPerformed(evt);}});jb_nextpage.setText("\u4e0b\u4e00\u9875");jb_nextpage.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_nextpageActionPerformed(evt);}});jLabel9.setText("jLabel9");jb_info.setText("\u660e\u7ec6");jb_info.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jb_infoActionPerformed(evt);}});javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addComponent(jLabel9,javax.swing.GroupLayout.PREFERRED_SIZE,162,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_info).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE).addComponent(jb_start).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_previouspage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_nextpage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jb_end)).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,503,javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(javax.swing.GroupLayout.Alignment.LEADING,layout.createSequentialGroup().addComponent(jLabel1).addGap(18,18,18).addComponent(jtf_cusid,javax.swing.GroupLayout.PREFERRED_SIZE,151,javax.swing.GroupLayout.PREFERRED_SIZE).addGap(26,26,26).addComponent(jLabel2).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jtf_cusname,javax.swing.GroupLayout.PREFERRED_SIZE,176,javax.swing.GroupLayout.PREFERRED_SIZE)))).addContainerGap(36, Short.MAX_VALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1).addComponent(jtf_cusid,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jLabel2).addComponent(jtf_cusname,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE,193,javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_end).addComponent(jb_nextpage).addComponent(jb_previouspage).addComponent(jb_start).addComponent(jLabel9).addComponent(jb_info)).addGap(24, 24, 24)));pack();}// </editor-fold>//GEN-END:initComponentsprivate void jb_infoActionPerformed(java.awt.event.ActionEvent evt) {JOptionPane.showMessageDialog(this, "暂不提供查看明细\n系统功能开发中");}private void jb_endActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getTotalpage());info.setPagesize(PAGESIZE);fillTable(info, id);}private void jb_nextpageActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getNextpage());info.setPagesize(PAGESIZE);fillTable(info, id);}private void jb_previouspageActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(bean.getPreviouspage());info.setPagesize(PAGESIZE);fillTable(info, id);}private void jb_startActionPerformed(java.awt.event.ActionEvent evt) {QueryInfo info = new QueryInfo();info.setCurrentpage(1);info.setPagesize(PAGESIZE);fillTable(info, id);}//GEN-BEGIN:variables// Variables declaration - do not modifyprivate javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel9;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JButton jb_end;private javax.swing.JButton jb_info;private javax.swing.JButton jb_nextpage;private javax.swing.JButton jb_previouspage;private javax.swing.JButton jb_start;private javax.swing.JTable jtb_order;private javax.swing.JTextField jtf_cusid;private javax.swing.JTextField jtf_cusname;// End of variables declaration//GEN-END:variables}

源码获取:博客首页 "资源" 里下载!

Java项目:CRM客户关系管理系统(java+Springboot+maven+mysql)相关推荐

  1. Java产品:CRM客户关系管理系统

    Java产品:CRM客户关系管理系统(java+Springboot+maven+mysql+完整源码) 编号:6999652804178739三岁就超帅

  2. 基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql)

    基于javaweb的crm客户关系管理系统(java+springboot+echarts+freemarker+layui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 ecl ...

  3. 基于java的CRM客户关系管理系统的设计与实现

    本科毕业设计(论文) 题 目: 基于java的CRM客户关系管理系统的设计与实现 专题题目: 说 明 请按以下顺序编排: 封面 任务书 开题报告 中外文摘要及关键词 目录 正文 附录(可选) 参考文献 ...

  4. 基于java的CRM客户关系管理系统的设计和实现

    基于java的CRM客户关系管理系统的设计和实现这个系统开发的开发环境: 开发工具:MyEclipse2010版数据库:MySql+HeidiSqlJDK:MyEclipse2010自带的JDK1.7 ...

  5. 毕业设计之 - 基于java的CRM客户关系管理系统的设计与实现【源码+论文】

    文章目录 前言 一.项目设计 1. 模块设计 数据库设计 2. 实现效果 二.部分源码 项目源码 前言 今天学长向大家分享一个 java web 毕业设计 项目: 基于java web 的CRM客户关 ...

  6. 开源项目-CRM客户关系管理系统

    哈喽,大家好,今天给大家带来一个开源系统-CRM客户关系管理系统 主要功能包括客户管理,客户流失,销售机会,客户关怀等模块 系统开发环境以及版本 操作系统: Windows_7 集成开发工具: Ecl ...

  7. crm客户关系管理系统(vue+maven多模块+SSM)

    一.技术介绍 1.1 maven多模块 这里写了maven多模块的介绍和为什么要使用maven多模块,后面还有maven多模块项目搭建实战. https://blog.csdn.net/qq_3689 ...

  8. Java Web项目源代码|CRM客户关系管理系统项目实战(Struts2+Spring+Hibernate)解析+源代码+教程

    客户关系管理 (CRM) CRM一般指客户关系管理 客户关系管理是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新 ...

  9. java计算机毕业设计-移动公司crm客户关系管理系统开发与实现-源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计-移动公司crm客户关系管理系统开发与实现-源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计-移动公司crm客户关系管理系统开发与实现-源程序+mysql+系 ...

最新文章

  1. postgresql----JSON类型和函数
  2. 洛谷——P1051 谁拿了最多奖学金
  3. 你还不了解Redis的发布/订阅功能与Redis的Stream吗
  4. 云原生的本质_云原生2.0的逻辑之辩,如何让每个企业都成为新云原生企业
  5. 深度学习与神经网络概述
  6. day07 深浅拷贝
  7. 一次性奖励300万?成都市武侯区促进文化产业发展系列政策影视产业专项政策出来了
  8. 【Web后端架构】2022年10个最佳Web开发后端框架
  9. GitHub桌面版 Github Desktop 下载
  10. 《漫步华尔街》书中的精髓:在美国市场中,怎样用“随机漫步”的投资方法让自己的投资收益稳步增长
  11. IE7绿色版下载-转载
  12. 解决torch.cuda.is_available()返回False的问题
  13. 质量小议19 -- 熵
  14. Django 入门教程
  15. (linux-x86-ARM)麒麟V10安装DBeaver21.3通用的数据库管理工具和 SQL 客户端
  16. TigerGraph首将模式匹配与高效图计算相结合,为欺诈检测、网络安全保护、人工智能等应用增砖加瓦!
  17. VS2005使用easyx图形库graphics.h链接过程出错:error LNK2001: 无法解析的外部符号 __iob
  18. FAILED org.spark_project.jetty.server.Server@8a6631b: java.net.BindException: Address already in use
  19. 一文让你彻底了解多线程
  20. HKUST DDM面试

热门文章

  1. ATS上的hosting.config和volume.config文件解读
  2. Windows 和 Linux 应用程序从上到下调用层次比较
  3. 利用blktrace分析磁盘I/O
  4. 深入理解ceph-disk activate 源码逻辑
  5. Dubbo 2.7.1 踩坑记
  6. 关于捕获键盘信息的processDialogkey方法
  7. PL/SQL第五章 Order by排序
  8. Linux(CentOS)目录操作命令、文件操作命令、压缩解压缩命令
  9. C# async await 学习笔记2
  10. 基于AOA协议的android USB通信