#include "adminoperation.h"
#include "ui_adminoperation.h"
AdminOperation::AdminOperation(QTcpSocket &cli, QWidget *parent) :
QWidget(parent),
ui(new Ui::AdminOperation)
{
ui->setupUi(this);
client = &cli;
// 设置logo和标题
this->setWindowIcon(QIcon(":/logo.ico"));
this->setWindowTitle("百川仓储--管理员");
}
AdminOperation::~AdminOperation()
{
delete ui;
}
void AdminOperation::open_AdminOP_UI_slots()
{
this->show();
}
void AdminOperation::on_viewHistoryBtn_clicked()
{
emit view_history_signal();
}
void AdminOperation::on_viewAllUsersBtn_clicked()
{
emit view_all_users_signal();
}
void AdminOperation::on_addUserBtn_clicked()
{
emit add_user_signal();
}
void AdminOperation::on_deleteUserBtn_clicked()
{
emit delete_user_signal();
}
void AdminOperation::on_changeUserPrivilegeBtn_clicked()
{
emit change_user_privilege_signal();
}
void AdminOperation::on_changeUserPasswdBtn_clicked()
{
emit change_user_passwd_signal();
}
void AdminOperation::on_checkBtn_clicked()
{
// 先把表清空
ui->tableWidget->clear();
// 设置新的行和列
ui->tableWidget->setRowCount(1);
ui->tableWidget->setColumnCount(5);
// 插入表格的标题
QTableWidgetItem *item_title = new QTableWidgetItem("物品名");
QTableWidgetItem *supplier_title = new QTableWidgetItem("供应商");
QTableWidgetItem *num_title = new QTableWidgetItem("数量");
QTableWidgetItem *inputName_title = new QTableWidgetItem("存放者");
QTableWidgetItem *time_title = new QTableWidgetItem("存放时间");
ui->tableWidget->setItem(0,0,item_title);
ui->tableWidget->setItem(0,1,supplier_title);
ui->tableWidget->setItem(0,2,num_title);
ui->tableWidget->setItem(0,3,inputName_title);
ui->tableWidget->setItem(0,5,time_title);
// 获取页面内容
QString item = ui->itemEdit->text();
QString supplier = ui->supplierEdit->text();
QByteArray data;
data.append(CHECK_ITEMS);
data.append(item);
data.append('\0');
data.append(supplier);
data.append('\0');
// 如果没有输入数据,那么就全部查一遍
qDebug() << "data = " << data;
// 发送
client->write(data);
// 接收用
QString s;
while (client->waitForReadyRead(700)) {
// 接收
s += client->readAll();
}
// 判断是否查看成功
if(s == "CHECK_FAILURE"){
QMessageBox::critical(this, "", "查看失败,请检查操作是否正确");
return ;
}
// 拆包
QStringList ret_list = s.split("\n");
QStringList::iterator iter;
int row = 1;
for (iter = ret_list.begin(); iter!=ret_list.end()-1; ++iter) {
qDebug() << *iter;
// 非阻塞显示
QCoreApplication::processEvents();
QStringList list = (*iter).split("|");
// 给单元格增加一行
ui->tableWidget->insertRow(row);
for(int col=0; col<5; ++col){
// 每次单独插入一个单元格
QTableWidgetItem *detail = new QTableWidgetItem(list.at(col));
ui->tableWidget->setItem(row,col,detail);
}
++row;
}
}
void AdminOperation::on_saveBtn_clicked()
{
QString item = ui->itemEdit->text();
QString supplier = ui->supplierEdit->text();
int32_t num = ui->numEdit->text().toInt();
QByteArray data;
data.append(SAVE);
data.append(item);
data.append('\0');
data.append(supplier);
data.append('\0');
data.append(num);
if(item == nullptr || supplier == nullptr || 0 == num){
QMessageBox::warning(this, "", "请将数据填充完整");
return ;
}
qDebug() << "data = " << data;
// 发送
client->write(data);
if(!client->waitForReadyRead(3000)){
QMessageBox::information(this, "提示", "连接超时");
return ;
}
// 接收
QString s;
s = client->readAll();
// 判断是否存放成功
if(s == "SAVE_SUCESS"){
QMessageBox::information(this, "", "存放成功");
}else{
QMessageBox::critical(this, "", "存放失败");
}
}
void AdminOperation::on_takeOutBtn_clicked()
{
QString item = ui->itemEdit->text();
QString supplier = ui->supplierEdit->text();
int32_t num = ui->numEdit->text().toInt();
QByteArray data;
data.append(GET_OUT);
data.append(item);
data.append('\0');
data.append(supplier);
data.append('\0');
data.append(num);
if(item == nullptr || supplier == nullptr || 0 == num){
QMessageBox::warning(this, "", "请将数据填充完整");
return ;
}
qDebug() << "data = " << data;
// 发送
client->write(data);
if(!client->waitForReadyRead(3000)){
QMessageBox::information(this, "提示", "连接超时");
return ;
}
// 接收
QString s;
s = client->readAll();
// 判断是否存放成功
if(s == "GET_OUT_SUCESS"){
QMessageBox::information(this, "", "取出成功");
}else{
QMessageBox::critical(this, "", "取出失败");
}
}
信息管理系统:百川仓储管理-百川仓储客户端
134 浏览量
2023-11-08
15:09:15
上传
评论
收藏 2.02MB ZIP 举报
zhk___
- 粉丝: 39
- 资源: 3
最新资源
- 基于matlab实现夜间车牌识别程序(1).rar
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- sdk.config
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈