Commit cfea96e1 by NitefllWind

新增couponWidget

parent 2c93a60f
#include "fmcouponwidget.h"
#include "ui_fmcouponwidget.h"
FMCouponWidget::FMCouponWidget(Coupon conpon, QWidget *parent) :
QWidget(parent),
ui(new Ui::FMCouponWidget)
{
ui->setupUi(this);
ui->code_lab->setText(conpon.code);
ui->amount_lab->setText(QString::number(conpon.disAmount, 'f', 2));
ui->desc_lab->setText(conpon.desc);
}
FMCouponWidget::~FMCouponWidget()
{
delete ui;
}
#ifndef FMCOUPONWIDGET_H
#define FMCOUPONWIDGET_H
#include <QWidget>
#include "fmvipforward.h"
namespace Ui {
class FMCouponWidget;
}
class FMCouponWidget : public QWidget
{
Q_OBJECT
public:
explicit FMCouponWidget(Coupon conpon, QWidget *parent = 0);
~FMCouponWidget();
private:
Ui::FMCouponWidget *ui;
};
#endif // FMCOUPONWIDGET_H
#include "fmviporder.h" #include "fmviporder.h"
#include "fmmsgwnd.h" #include "fmmsgwnd.h"
#include "fmcouponwidget.h"
#include "ui_fmviporder.h" #include "ui_fmviporder.h"
#include <QDebug> #include <QDebug>
...@@ -28,18 +29,20 @@ FMVipOrder::FMVipOrder(QDialog *parent) : ...@@ -28,18 +29,20 @@ FMVipOrder::FMVipOrder(QDialog *parent) :
ui->price_label->setText(orderInfo->getNeedPayStr()); ui->price_label->setText(orderInfo->getNeedPayStr());
ui->name_label->setText(name); ui->name_label->setText(name);
ui->scrollAreaWidgetContents->setViewMode(QListView::IconMode);
// ui->scrollAreaWidgetContents->setResizeMode(QListView::Adjust);
// ui->scrollAreaWidgetContents->setMovement(QListView::Static);
couponMap = FMVipForward::instance()->sessionCouponMap(); couponMap = FMVipForward::instance()->sessionCouponMap();
for(Coupon coupon : couponMap.values()) for(Coupon coupon : couponMap.values())
{ {
QString value = QString("券码:%1 金额:%2 备注:%3") auto item = new QListWidgetItem();
.arg(coupon.code)
.arg(coupon.disAmount)
.arg(coupon.desc);
auto item = new QListWidgetItem(value);
item->setData(Coupon_Code, coupon.code); item->setData(Coupon_Code, coupon.code);
item->setData(Coupon_Amount, coupon.disAmount);
item->setCheckState(Qt::Unchecked);
ui->scrollAreaWidgetContents->addItem(item); ui->scrollAreaWidgetContents->addItem(item);
FMCouponWidget *itemWidget = new FMCouponWidget(coupon, ui->scrollAreaWidgetContents);
// itemWidget->show();
ui->scrollAreaWidgetContents->setItemWidget(item, itemWidget);
//item大小
item->setSizeHint (QSize(itemWidget->rect().width(), itemWidget->rect().height()));
} }
connect(ui->scrollAreaWidgetContents, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(on_item_clicked(QListWidgetItem*))); connect(ui->scrollAreaWidgetContents, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(on_item_clicked(QListWidgetItem*)));
...@@ -102,24 +105,25 @@ void FMVipOrder::on_pay_chk_clicked(bool checked) ...@@ -102,24 +105,25 @@ void FMVipOrder::on_pay_chk_clicked(bool checked)
void FMVipOrder::on_item_clicked(QListWidgetItem *item) void FMVipOrder::on_item_clicked(QListWidgetItem *item)
{ {
if(item != NULL) qDebug() << item->data(Coupon_Code);
{ // if(item != NULL)
Qt::CheckState state = item->checkState(); // {
double amount = item->data(Coupon_Amount).toDouble(); // Qt::CheckState state = item->checkState();
bool isAddCoupon = false; // double amount = item->data(Coupon_Amount).toDouble();
switch (state) { // bool isAddCoupon = false;
case Qt::Checked: // switch (state) {
item->setCheckState(Qt::Unchecked); // case Qt::Checked:
break; // item->setCheckState(Qt::Unchecked);
case Qt::Unchecked: // break;
item->setCheckState(Qt::Checked); // case Qt::Unchecked:
isAddCoupon = true; // item->setCheckState(Qt::Checked);
default: // isAddCoupon = true;
break; // default:
} // break;
bool isOK = orderInfo->setCouponAmount(isAddCoupon, amount); // }
if(!isOK){ // bool isOK = orderInfo->setCouponAmount(isAddCoupon, amount);
FMMsgWnd::WarningWnd("请注意代金券总额已超过待付金额!"); // if(!isOK){
} // FMMsgWnd::WarningWnd("请注意代金券总额已超过待付金额!");
} // }
// }
} }
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FMCouponWidget</class>
<widget class="QWidget" name="FMCouponWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>327</width>
<height>165</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">
#code_lab
{
color: rgb(50,50,50);
font: 18px &quot;Microsoft YaHei&quot;;
}
#amount_lab
{
color: rgb(50,50,50);
font: bold 36px &quot;Microsoft YaHei&quot;;
}
#desc_lab
{
color: rgb(50,50,50);
font: 18px &quot;Microsoft YaHei&quot;;
}
</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QLabel" name="code_lab">
<property name="text">
<string>123456789</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="amount_lab">
<property name="text">
<string>40</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="desc_lab">
<property name="text">
<string>测试代金券</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment