Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FmTakeaway
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shangshang.dai
FmTakeaway
Commits
b9062ad8
Commit
b9062ad8
authored
Mar 29, 2017
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加打印机选项
parent
891537b0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
154 additions
and
48 deletions
+154
-48
fmPrinter/fmPrinter.cpp
+17
-9
fmTakeaway/Control/flowControl.cpp
+8
-3
fmTakeaway/DTools/configManger.cpp
+32
-6
fmTakeaway/DTools/configManger.h
+15
-3
fmTakeaway/detailForm.cpp
+4
-2
fmTakeaway/preDefine.h
+4
-2
fmTakeaway/settingForm.cpp
+59
-13
fmTakeaway/settingForm.h
+8
-3
fmTakeaway/settingForm.ui
+0
-0
run/skin/deaufult.qss
+7
-7
run/skin/deaufult.rcc
+0
-0
No files found.
fmPrinter/fmPrinter.cpp
View file @
b9062ad8
#include "fmPrinter.h"
#
include
"fmPrinter.h"
#include <windows.h>
#include <winspool.h>
#include <QFile>
...
...
@@ -6,6 +6,7 @@
#include <QDateTime>
#include <QPrinter>
#include <QTextDocument>
#include <QDebug>
FmPrinter
&
FmPrinter
::
GetInstance
()
{
...
...
@@ -17,19 +18,24 @@ bool FmPrinter::DoPrint(QString printerName, OrderObject *pData, QString& error)
{
foreach
(
QString
data
,
_GetPrintData
(
pData
))
{
if
(
printerName
.
compare
(
"禁用此打印机"
))
{
if
(
!
_RawDataToPrinter
(
printerName
,
data
,
error
))
{
return
false
;
}
}
}
return
true
;
}
bool
FmPrinter
::
TestPrint
(
QString
printerName
,
QString
data
)
{
QString
error
;
if
(
printerName
.
compare
(
"禁用此打印机"
))
{
return
_RawDataToPrinter
(
printerName
,
data
,
error
);
}
}
QStringList
FmPrinter
::
_GetPrintData
(
OrderObject
*
pData
)
...
...
@@ -37,7 +43,6 @@ QStringList FmPrinter::_GetPrintData(OrderObject *pData)
QStringList
str_list
;
QString
str_print
;
QString
str_comd_list
;
QString
filePath
=
QString
(
"%1/printformat.txt"
).
arg
(
QCoreApplication
::
applicationDirPath
());
QFile
file
(
filePath
);
if
(
!
file
.
open
(
QFile
::
ReadOnly
)){
...
...
@@ -57,13 +62,13 @@ QStringList FmPrinter::_GetPrintData(OrderObject *pData)
QStringList
cfgList
;
cfgList
=
pData
->
printcfg
.
split
(
'|'
);
foreach
(
QString
v
,
cfgList
)
{
QString
print
,
fee
;
if
(
!
v
.
compare
(
"顾客留存"
))
{
fee
=
"应付金额:¥"
+
_Penny2Dollar
(
pData
->
user_fee
);
}
else
if
(
!
v
.
compare
(
"商户留存"
))
//}
/*else if(!v.compare("商户留存"))
{
if(!pData->pay_type.compare("货到付款"))
{
...
...
@@ -72,8 +77,10 @@ QStringList FmPrinter::_GetPrintData(OrderObject *pData)
{
fee = "应收现金:¥ 0";
}
}
else
{
}*/
//else
//{
if
(
!
pData
->
pay_type
.
compare
(
"货到付款"
))
{
fee
=
"应收现金:¥"
+
_Penny2Dollar
(
pData
->
user_fee
);
...
...
@@ -81,7 +88,7 @@ QStringList FmPrinter::_GetPrintData(OrderObject *pData)
{
fee
=
"应收现金:¥ 0"
;
}
}
//
}
QString
orderType
;
switch
(
pData
->
order_type
)
...
...
@@ -108,8 +115,9 @@ QStringList FmPrinter::_GetPrintData(OrderObject *pData)
str_list
.
append
(
print
);
}
}
return
str_list
;
}
bool
FmPrinter
::
_RawDataToPrinter
(
QString
printerName
,
QString
data
,
QString
&
error
)
...
...
fmTakeaway/Control/flowControl.cpp
View file @
b9062ad8
#include "flowControl.h"
#
include
"flowControl.h"
#include "fmPlugin.h"
#include "fmPrinter.h"
#include "QsLog.h"
...
...
@@ -229,7 +229,9 @@ bool FlowControl::_PullOrder()
{
QString
error
;
QLOG_INFO
()
<<
QString
(
"[---begin print---]."
);
if
(
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetPrinterName
(),
orderObject
,
error
))
if
(
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetqtPrinterName
(),
orderObject
,
error
)
&&
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetlfPrinterName
(),
orderObject
,
error
)
&&
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetrcPrinterName
(),
orderObject
,
error
))
{
QLOG_INFO
()
<<
QString
(
"print sucessful"
);
file
.
open
(
QIODevice
::
WriteOnly
);
...
...
@@ -253,7 +255,10 @@ bool FlowControl::_PullOrder()
{
QString
error
;
QLOG_INFO
()
<<
QString
(
"[---begin print---]."
);
if
(
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetPrinterName
(),
orderObject
,
error
))
//if(FmPrinter::GetInstance().DoPrint(ConfigManger::GetInstance().GetPrinterName(), orderObject, error))
if
(
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetqtPrinterName
(),
orderObject
,
error
)
&&
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetlfPrinterName
(),
orderObject
,
error
)
&&
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetrcPrinterName
(),
orderObject
,
error
))
{
QLOG_INFO
()
<<
QString
(
"print sucessful"
);
file
.
open
(
QIODevice
::
WriteOnly
);
...
...
fmTakeaway/DTools/configManger.cpp
View file @
b9062ad8
#include "configManger.h"
#
include
"configManger.h"
#include <QApplication>
#include "preDefine.h"
#include <QDebug>
#include <QTextCodec>
ConfigManger
&
ConfigManger
::
GetInstance
()
{
static
ConfigManger
cm
;
...
...
@@ -11,11 +12,14 @@ ConfigManger &ConfigManger::GetInstance()
ConfigManger
::
ConfigManger
()
{
QTextCodec
*
codec
=
QTextCodec
::
codecForName
(
"GBK"
);
QTextCodec
::
setCodecForLocale
(
codec
);
QString
appDir
=
QApplication
::
applicationDirPath
();
QString
config
=
QString
(
"%1/%2"
).
arg
(
appDir
).
arg
(
CONFIG_NAME
);
QString
userConfig
=
QString
(
"%1/%2"
).
arg
(
appDir
).
arg
(
USERCONFIG_NAME
);
m_config
=
new
QSettings
(
config
,
QSettings
::
IniFormat
);
m_userConfig
=
new
QSettings
(
userConfig
,
QSettings
::
IniFormat
);
m_userConfig
->
setIniCodec
(
"GB2312"
);
}
ConfigManger
::
SqlConnectInfo
ConfigManger
::
GetSqlConnectInfo
()
...
...
@@ -41,14 +45,36 @@ QUrl ConfigManger::GetServerUrl()
return
m_config
->
value
(
INI_SERVER
).
toUrl
();
}
QString
ConfigManger
::
GetPrinterName
()
QString
ConfigManger
::
GetlfPrinterName
()
{
qDebug
()
<<
m_userConfig
->
value
(
INI_LFPRINTERNAME
).
toString
();
return
m_userConfig
->
value
(
INI_LFPRINTERNAME
).
toString
();
}
QString
ConfigManger
::
GetqtPrinterName
()
{
qDebug
()
<<
m_userConfig
->
value
(
INI_QTPRINTERNAME
).
toString
();
return
m_userConfig
->
value
(
INI_QTPRINTERNAME
).
toString
();
}
QString
ConfigManger
::
GetrcPrinterName
()
{
qDebug
()
<<
m_userConfig
->
value
(
INI_RCPRINTERNAME
).
toString
();
return
m_userConfig
->
value
(
INI_RCPRINTERNAME
).
toString
();
}
void
ConfigManger
::
SetlfPrinterName
(
const
QString
&
printer
)
{
return
m_userConfig
->
value
(
INI_PRINTERNAME
).
toString
(
);
m_userConfig
->
setValue
(
INI_LFPRINTERNAME
,
printer
);
}
void
ConfigManger
::
SetPrinterName
(
const
QString
&
printer
)
void
ConfigManger
::
SetrcPrinterName
(
const
QString
&
printer
)
{
m_userConfig
->
setValue
(
INI_RCPRINTERNAME
,
printer
);
}
void
ConfigManger
::
SetqtPrinterName
(
const
QString
&
printer
)
{
m_userConfig
->
setValue
(
INI_PRINTERNAME
,
printer
);
m_userConfig
->
setValue
(
INI_
QT
PRINTERNAME
,
printer
);
}
QPoint
ConfigManger
::
GetFloatInitPostion
()
...
...
fmTakeaway/DTools/configManger.h
View file @
b9062ad8
#ifndef CONFIGMANGER_H
#
ifndef
CONFIGMANGER_H
#define CONFIGMANGER_H
#include <QSettings>
...
...
@@ -39,12 +39,24 @@ public:
* 参数:NULL
* 返回:服务器地址
* */
QString
GetPrinterName
();
QString
GetlfPrinterName
();
/* 功能:读取打印机名称
* 参数:NULL
* 返回:服务器地址
* */
QString
GetqtPrinterName
();
/* 功能:读取打印机名称
* 参数:NULL
* 返回:服务器地址
* */
QString
GetrcPrinterName
();
/* 功能:设置打印机名称
* 参数:打印机名称
* 返回:NULL
* */
void
SetPrinterName
(
const
QString
&
printer
);
void
SetlfPrinterName
(
const
QString
&
printer
);
void
SetrcPrinterName
(
const
QString
&
printer
);
void
SetqtPrinterName
(
const
QString
&
printer
);
/* 功能:读取悬浮窗坐标
* 参数:NULL
* 返回:服务器地址
...
...
fmTakeaway/detailForm.cpp
View file @
b9062ad8
#include "detailForm.h"
#
include
"detailForm.h"
#include "ui_detailForm.h"
#include "DTools/util.h"
#include "preDefine.h"
...
...
@@ -171,7 +171,9 @@ void DetailForm::on_detailBtn1_clicked()
{
QLOG_INFO
()
<<
"re print..............."
;
QString
error
;
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetPrinterName
(),
m_orderObject
,
error
);
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetqtPrinterName
(),
m_orderObject
,
error
);
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetlfPrinterName
(),
m_orderObject
,
error
);
FmPrinter
::
GetInstance
().
DoPrint
(
ConfigManger
::
GetInstance
().
GetrcPrinterName
(),
m_orderObject
,
error
);
}
void
DetailForm
::
on_detailBtn0_clicked
()
...
...
fmTakeaway/preDefine.h
View file @
b9062ad8
#ifndef PREDEFINE_H
#
ifndef
PREDEFINE_H
#define PREDEFINE_H
#include <QDebug>
...
...
@@ -20,7 +20,9 @@
#define INI_DATABASE "SqlServer/database"
#define INI_SERVER "FmServer/url"
#define INI_PREFIX "FmServer/prefix"
#define INI_PRINTERNAME "Printer/name"
#define INI_LFPRINTERNAME "Printer/lfname"
#define INI_RCPRINTERNAME "Printer/rcname"
#define INI_QTPRINTERNAME "Printer/qtname"
#define INI_FLOATPOSTION "Float/postion"
#define INI_FLOATOPACITY "Float/opacity"
#define INI_BLINKINTERVAL "Float/blinkInterval"
...
...
fmTakeaway/settingForm.cpp
View file @
b9062ad8
#include "settingForm.h"
#
include
"settingForm.h"
#include "ui_settingForm.h"
#include "preDefine.h"
#include "DTools/configManger.h"
#include <QPrinterInfo>
#include <QSound>
#include "fmPrinter.h"
#include <QListView>
SettingForm
::
SettingForm
(
QWidget
*
parent
)
:
QDialog
(
parent
),
...
...
@@ -13,18 +14,36 @@ SettingForm::SettingForm(QWidget *parent) :
ui
->
setupUi
(
this
);
// 初始化打印机选项
QString
printer
=
ConfigManger
::
GetInstance
().
GetPrinterName
();
QString
lfprinter
=
ConfigManger
::
GetInstance
().
GetlfPrinterName
();
QString
qtprinter
=
ConfigManger
::
GetInstance
().
GetqtPrinterName
();
QString
rcprinter
=
ConfigManger
::
GetInstance
().
GetrcPrinterName
();
QStringList
printerList
=
QPrinterInfo
::
availablePrinterNames
();
printerList
.
append
(
"禁用此打印机"
);
for
(
int
i
=
0
;
i
<
printerList
.
count
();
i
++
)
{
QString
name
=
printerList
[
i
];
ui
->
settingCbxPrinter
->
addItem
(
name
);
if
(
!
name
.
compare
(
printer
))
ui
->
settingCbxlfPrinter
->
addItem
(
name
);
ui
->
settingCbxqtPrinter
->
addItem
(
name
);
ui
->
settingCbxrcPrinter
->
addItem
(
name
);
if
(
!
name
.
compare
(
lfprinter
))
{
ui
->
settingCbxPrinter
->
setCurrentIndex
(
i
);
ui
->
settingCbx
lf
Printer
->
setCurrentIndex
(
i
);
}
if
(
!
name
.
compare
(
qtprinter
))
{
ui
->
settingCbxqtPrinter
->
setCurrentIndex
(
i
);
}
if
(
!
name
.
compare
(
rcprinter
))
{
ui
->
settingCbxrcPrinter
->
setCurrentIndex
(
i
);
}
}
// ui->settingCbxlfPrinter->addItem("禁用此打印机");
// ui->settingCbxqtPrinter->addItem("禁用此打印机");
// ui->settingCbxrcPrinter->addItem("禁用此打印机");
ui
->
settingCbxlfPrinter
->
setView
(
new
QListView
());
ui
->
settingCbxrcPrinter
->
setView
(
new
QListView
());
ui
->
settingCbxqtPrinter
->
setView
(
new
QListView
());
_Init
();
}
...
...
@@ -40,18 +59,45 @@ void SettingForm::_Init()
setModal
(
true
);
}
void
SettingForm
::
on_settingCbxPrinter_currentIndexChanged
(
const
QString
&
text
)
//void SettingForm::on_settingCbxPrinter_currentIndexChanged(const QString &text)
//{
// ConfigManger::GetInstance().SetPrinterName(text);
//}
void
SettingForm
::
on_settingBtnSoundTest_clicked
()
{
ConfigManger
::
GetInstance
().
SetPrinterName
(
text
);
QSound
::
play
(
QString
(
"%1/wav/msg.wav"
).
arg
(
QApplication
::
applicationDirPath
())
);
}
void
SettingForm
::
on_settingBtnPrintTest_clicked
()
void
SettingForm
::
on_settingBtn
qt
PrintTest_clicked
()
{
QString
testStr
(
"这是一个测试页看到此此页说明打印正常!
\r\n\r\n\r\n
"
);
FmPrinter
::
GetInstance
().
TestPrint
(
ConfigManger
::
GetInstance
().
GetPrinterName
(),
testStr
);
QString
testStr
(
"这是一个
前台打印
测试页看到此此页说明打印正常!
\r\n\r\n\r\n
"
);
FmPrinter
::
GetInstance
().
TestPrint
(
ConfigManger
::
GetInstance
().
Get
qt
PrinterName
(),
testStr
);
}
void
SettingForm
::
on_settingBtn
Sound
Test_clicked
()
void
SettingForm
::
on_settingBtn
lfPrint
Test_clicked
()
{
QSound
::
play
(
QString
(
"%1/wav/msg.wav"
).
arg
(
QApplication
::
applicationDirPath
()));
QString
testStr
(
"这是一个冷房打印测试页看到此此页说明打印正常!
\r\n\r\n\r\n
"
);
FmPrinter
::
GetInstance
().
TestPrint
(
ConfigManger
::
GetInstance
().
GetlfPrinterName
(),
testStr
);
}
void
SettingForm
::
on_settingBtnrcPrintTest_clicked
()
{
QString
testStr
(
"这是一个热厨打印测试页看到此此页说明打印正常!
\r\n\r\n\r\n
"
);
FmPrinter
::
GetInstance
().
TestPrint
(
ConfigManger
::
GetInstance
().
GetrcPrinterName
(),
testStr
);
}
void
SettingForm
::
on_settingCbxqtPrinter_activated
(
const
QString
&
text
)
{
ConfigManger
::
GetInstance
().
SetqtPrinterName
(
text
);
}
void
SettingForm
::
on_settingCbxlfPrinter_activated
(
const
QString
&
text
)
{
ConfigManger
::
GetInstance
().
SetlfPrinterName
(
text
);
}
void
SettingForm
::
on_settingCbxrcPrinter_activated
(
const
QString
&
text
)
{
ConfigManger
::
GetInstance
().
SetrcPrinterName
(
text
);
}
fmTakeaway/settingForm.h
View file @
b9062ad8
#ifndef SETTINGFORM_H
#
ifndef
SETTINGFORM_H
#define SETTINGFORM_H
#include <QDialog>
...
...
@@ -29,17 +29,22 @@ private slots:
* 参数:NULL
* 返回:NULL
* */
void
on_settingCbxPrinter_currentIndexChanged
(
const
QString
&
text
);
//
void on_settingCbxPrinter_currentIndexChanged(const QString &text);
/* 功能:处理打印测试按钮点击
* 参数:NULL
* 返回:NULL
* */
void
on_settingBtnPrintTest_clicked
();
void
on_settingBtn
qt
PrintTest_clicked
();
/* 功能:处理声音测试按钮点击
* 参数:NULL
* 返回:NULL
* */
void
on_settingBtnSoundTest_clicked
();
void
on_settingBtnlfPrintTest_clicked
();
void
on_settingBtnrcPrintTest_clicked
();
void
on_settingCbxqtPrinter_activated
(
const
QString
&
text
);
void
on_settingCbxlfPrinter_activated
(
const
QString
&
text
);
void
on_settingCbxrcPrinter_activated
(
const
QString
&
text
);
};
#endif // SETTINGFORM_H
fmTakeaway/settingForm.ui
View file @
b9062ad8
This diff is collapsed.
Click to expand it.
run/skin/deaufult.qss
View file @
b9062ad8
...
...
@@ -227,39 +227,39 @@ QWidget
{
border-image: url(:alert_bg.png);
}
#settingSlabPrinter
#settingSlab
qtPrinter,#settingSlablfPrinter,#settingSlabrc
Printer
{
color: rgb(105, 107, 108);
}
#settingCbxPrinter
#settingCbx
qtPrinter,#settingCbxlfPrinter,#settingCbxrc
Printer
{
color: rgb(105, 107, 108);
padding: 1px 18px 1px 3px;
border: 1px solid gray;
border-radius: 5px;
}
#settingCbx
Printer::drop-down
#settingCbx
qtPrinter::drop-down,#settingCbxlfPrinter::drop-down,#settingCbxrcPrinter::drop-down
{
width: 30px;
border-left-width: 0px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
#settingCbxPrinter::down-arrow
#settingCbx
qtPrinter::down-arrow,#settingCbxrcPrinter::down-arrow ,#settingCbxlf
Printer::down-arrow
{
border-image: url(:cbxArrow.png);
}
#settingCbx
Printer QAbstractItemView::item
#settingCbx
qtPrinter QAbstractItemView::item,#settingCbxlfPrinter QAbstractItemView::item ,#settingCbxrcPrinter QAbstractItemView::item
{
height: 40px;
}
#settingBtn
PrintTest,#settingBtnSoundTest,#settingBtnOk
#settingBtn
qtPrintTest,#settingBtnSoundTest,#settingBtnOk,#settingBtnlfPrintTest,#settingBtnrcPrintTest
{
color: #ffffff;
background-color: #ad3237;
border-radius: 4px;
}
#settingBtnPrintTest:pressed,#settingBtnSoundTest:pressed,#settingBtnOk:pressed
#settingBtn
qtPrintTest:pressed,#settingBtnrcPrintTest:pressed,#settingBtnlf
PrintTest:pressed,#settingBtnSoundTest:pressed,#settingBtnOk:pressed
{
background-color: #a02125;
}
...
...
run/skin/deaufult.rcc
View file @
b9062ad8
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment