Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Theater
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
吴春
Theater
Commits
148e5bda
Commit
148e5bda
authored
Apr 28, 2019
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交最后代码
parent
12657edc
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
817 additions
and
482 deletions
+817
-482
HandlerRegister.cs
EheMall.Business/HandlerRegister.cs
+2
-1
TheaterOrderHandler.cs
EheMall.Business/Handlers/TheaterOrderHandler.cs
+25
-14
UpdateOrderSeatStateCommand.cs
EheMall.Models/Commands/订单管理/UpdateOrderSeatStateCommand.cs
+26
-0
UpdateOrderStateCommand..cs
EheMall.Models/Commands/订单管理/UpdateOrderStateCommand..cs
+1
-1
EheMall.Models.csproj
EheMall.Models/EheMall.Models.csproj
+9
-1
201904280319176_OrderSeatStateAndTime.Designer.cs
...rations/201904280319176_OrderSeatStateAndTime.Designer.cs
+29
-0
201904280319176_OrderSeatStateAndTime.cs
...odels/Migrations/201904280319176_OrderSeatStateAndTime.cs
+22
-0
201904280319176_OrderSeatStateAndTime.resx
...els/Migrations/201904280319176_OrderSeatStateAndTime.resx
+126
-0
OrderSeat.cs
EheMall.Models/Models/订单管理/OrderSeat.cs
+18
-2
LodopFuncs.js
EheMall.Web/Areas/TicketMall/Content/js/LodopFuncs.js
+0
-141
SaleTheaterController.cs
...Web/Areas/TicketMall/Controllers/SaleTheaterController.cs
+29
-0
TakeTicketController.cs
....Web/Areas/TicketMall/Controllers/TakeTicketController.cs
+166
-11
CheckTicket.cshtml
...Web/Areas/TicketMall/Views/SaleTheater/CheckTicket.cshtml
+174
-0
Index.cshtml
EheMall.Web/Areas/TicketMall/Views/TakeTicket/Index.cshtml
+69
-44
_ExchangeDetails.cshtml
...Areas/TicketMall/Views/TakeTicket/_ExchangeDetails.cshtml
+1
-1
_PrintDetails.cshtml
...eb/Areas/TicketMall/Views/TakeTicket/_PrintDetails.cshtml
+101
-266
EheMall.Web.csproj
EheMall.Web/EheMall.Web.csproj
+18
-0
packages.config
EheMall.Web/packages.config
+1
-0
No files found.
EheMall.Business/HandlerRegister.cs
View file @
148e5bda
...
...
@@ -99,7 +99,8 @@ namespace EheMall.Admin.PermissionService.Initialize
_eventBus
.
Subscribe
<
OrderBillingUploadAuditCommand
>(
new
OrderBillingHandler
());
_eventBus
.
Subscribe
<
MemberOrderCommand
>(
new
TheaterOrderHandler
());
_eventBus
.
Subscribe
<
AdminOrderCommand
>(
new
TheaterOrderHandler
());
_eventBus
.
Subscribe
<
UpdateOrderStateCommand
>(
new
TheaterOrderHandler
());
//_eventBus.Subscribe<TakeUpdateOrderStateCommand>(new TheaterOrderHandler());
_eventBus
.
Subscribe
<
UpdateOrderSeatStateCommand
>(
new
TheaterOrderHandler
());
_eventBus
.
Subscribe
<
RefundTicketOrderCommand
>(
new
TheaterOrderHandler
());
_eventBus
.
Subscribe
<
UpdateOrderCommand
>(
new
TheaterOrderHandler
());
#
endregion
...
...
EheMall.Business/Handlers/TheaterOrderHandler.cs
View file @
148e5bda
...
...
@@ -25,7 +25,7 @@ namespace EheMall.Business.Handlers
public
class
TheaterOrderHandler
:
ICommandHandlers
,
IEventHandler
<
MemberOrderCommand
>,
IEventHandler
<
AdminOrderCommand
>,
IEventHandler
<
UpdateOrderStateCommand
>,
IEventHandler
<
UpdateOrderS
eatS
tateCommand
>,
IEventHandler
<
RefundTicketOrderCommand
>,
IEventHandler
<
UpdateOrderCommand
>
{
...
...
@@ -188,23 +188,34 @@ namespace EheMall.Business.Handlers
}
}
public
void
HandleEvent
(
UpdateOrderStateCommand
eventData
)
public
void
HandleEvent
(
UpdateOrderS
eatS
tateCommand
eventData
)
{
var
data
=
_repository
.
Get
(
eventData
.
OrderID
);
data
.
OrderState
=
OrderStateEnum
.
Ticket
;
OrderBilling
model
=
new
OrderBilling
();
model
.
OrderID
=
data
.
ID
;
model
.
BillingState
=
BillingStateEnum
.
ToAudit
;
model
.
RefuseContent
=
""
;
model
.
VoucherPic
=
""
;
model
.
dInsertTime
=
System
.
DateTime
.
Now
;
model
.
bIsDeleted
=
false
;
model
.
dAuditTime
=
Convert
.
ToDateTime
(
"1990-01-01"
);
_repositoryOrderBilling
.
Insert
(
model
);
_repository
.
Update
(
data
);
var
data
=
_repositoryOrderSeat
.
Get
(
eventData
.
ID
);
data
.
SeatState
=
1
;
data
.
UpdateBy
=
eventData
.
iLogUserId
;
data
.
UpdateTime
=
eventData
.
UpdateTime
;
_repositoryOrderSeat
.
Update
(
data
);
this
.
WriteLog
(
data
,
_unitOfWork
.
Commit
());
}
//public void HandleEvent(TakeUpdateOrderStateCommand eventData)
//{
// var data = _repository.Get(eventData.OrderID);
// data.OrderState = OrderStateEnum.Ticket;
// OrderBilling model = new OrderBilling();
// model.OrderID = data.ID;
// model.BillingState = BillingStateEnum.ToAudit;
// model.RefuseContent = "";
// model.VoucherPic = "";
// model.dInsertTime = System.DateTime.Now;
// model.bIsDeleted = false;
// model.dAuditTime = Convert.ToDateTime("1990-01-01");
// _repositoryOrderBilling.Insert(model);
// _repository.Update(data);
// this.WriteLog(data, _unitOfWork.Commit());
//}
public
void
HandleEvent
(
RefundTicketOrderCommand
eventData
)
{
var
data
=
_repository
.
Get
(
eventData
.
ID
);
...
...
EheMall.Models/Commands/订单管理/UpdateOrderSeatStateCommand.cs
0 → 100644
View file @
148e5bda
using
EheMall.Events
;
using
EheMall.Models.Enums
;
using
EheMall.Models.Models
;
using
System
;
using
System.Collections.Generic
;
namespace
EheMall.Models.Commands
{
public
class
UpdateOrderSeatStateCommand
:
ICommand
{
/// <summary>
/// 座位id
/// </summary>
public
Guid
ID
{
get
;
set
;
}
/// <summary>
/// 0-未入场,1-已入场
/// </summary>
public
int
SeatState
{
get
;
set
;
}
/// <summary>
/// 入场时间
/// </summary>
public
DateTime
?
UpdateTime
{
get
;
set
;
}
}
}
EheMall.Models/Commands/订单管理/UpdateOrderStateCommand.cs
→
EheMall.Models/Commands/订单管理/UpdateOrderStateCommand.
.
cs
View file @
148e5bda
...
...
@@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace
EheMall.Models.Commands
{
public
class
UpdateOrderStateCommand
:
ICommand
public
class
UpdateOrderStateCommand
:
ICommand
{
/// <summary>
/// 订单id
...
...
EheMall.Models/EheMall.Models.csproj
View file @
148e5bda
...
...
@@ -135,6 +135,7 @@
<Compile
Include=
"Commands\消息管理\MsgUpdateCommand.cs"
/>
<Compile
Include=
"Commands\消息管理\MsgCreateCommand.cs"
/>
<Compile
Include=
"Commands\短信\SendMsgCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\UpdateOrderStateCommand..cs"
/>
<Compile
Include=
"Commands\订单管理\UpdateOrderCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\AdminOrderCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\MemberOrderCommand.cs"
/>
...
...
@@ -143,7 +144,7 @@
<Compile
Include=
"Commands\订单管理\OrderBillingUpdateCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\OrderBillingUploadAuditCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\RefundTicketOrderCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\UpdateOrderStateCommand.cs"
/>
<Compile
Include=
"Commands\订单管理\UpdateOrderS
eatS
tateCommand.cs"
/>
<Compile
Include=
"EheMallContext.cs"
/>
<Compile
Include=
"Enums\BillingStateEnum.cs"
/>
<Compile
Include=
"Enums\LanguageEnum.cs"
/>
...
...
@@ -286,6 +287,10 @@
<Compile
Include=
"Migrations\201901220535281_screeningstayseat.Designer.cs"
>
<DependentUpon>
201901220535281_screeningstayseat.cs
</DependentUpon>
</Compile>
<Compile
Include=
"Migrations\201904280319176_OrderSeatStateAndTime.cs"
/>
<Compile
Include=
"Migrations\201904280319176_OrderSeatStateAndTime.Designer.cs"
>
<DependentUpon>
201904280319176_OrderSeatStateAndTime.cs
</DependentUpon>
</Compile>
<Compile
Include=
"Migrations\Configuration.cs"
/>
<Compile
Include=
"Models\会员管理\Member.cs"
/>
<Compile
Include=
"Models\剧场管理\TheaterPrice.cs"
/>
...
...
@@ -434,6 +439,9 @@
<EmbeddedResource
Include=
"Migrations\201901220535281_screeningstayseat.resx"
>
<DependentUpon>
201901220535281_screeningstayseat.cs
</DependentUpon>
</EmbeddedResource>
<EmbeddedResource
Include=
"Migrations\201904280319176_OrderSeatStateAndTime.resx"
>
<DependentUpon>
201904280319176_OrderSeatStateAndTime.cs
</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"..\EheMall\EheMall.csproj"
>
...
...
EheMall.Models/Migrations/201904280319176_OrderSeatStateAndTime.Designer.cs
0 → 100644
View file @
148e5bda
// <auto-generated />
namespace
EheMall.Models.Migrations
{
using
System.CodeDom.Compiler
;
using
System.Data.Entity.Migrations
;
using
System.Data.Entity.Migrations.Infrastructure
;
using
System.Resources
;
[
GeneratedCode
(
"EntityFramework.Migrations"
,
"6.1.3-40302"
)]
public
sealed
partial
class
OrderSeatStateAndTime
:
IMigrationMetadata
{
private
readonly
ResourceManager
Resources
=
new
ResourceManager
(
typeof
(
OrderSeatStateAndTime
));
string
IMigrationMetadata
.
Id
{
get
{
return
"201904280319176_OrderSeatStateAndTime"
;
}
}
string
IMigrationMetadata
.
Source
{
get
{
return
null
;
}
}
string
IMigrationMetadata
.
Target
{
get
{
return
Resources
.
GetString
(
"Target"
);
}
}
}
}
EheMall.Models/Migrations/201904280319176_OrderSeatStateAndTime.cs
0 → 100644
View file @
148e5bda
namespace
EheMall.Models.Migrations
{
using
System
;
using
System.Data.Entity.Migrations
;
public
partial
class
OrderSeatStateAndTime
:
DbMigration
{
public
override
void
Up
()
{
AddColumn
(
"dbo.OrderSeat"
,
"SeatState"
,
c
=>
c
.
Int
(
nullable
:
false
));
AddColumn
(
"dbo.OrderSeat"
,
"UpdateBy"
,
c
=>
c
.
Guid
(
nullable
:
false
));
AddColumn
(
"dbo.OrderSeat"
,
"UpdateTime"
,
c
=>
c
.
DateTime
());
}
public
override
void
Down
()
{
DropColumn
(
"dbo.OrderSeat"
,
"UpdateTime"
);
DropColumn
(
"dbo.OrderSeat"
,
"UpdateBy"
);
DropColumn
(
"dbo.OrderSeat"
,
"SeatState"
);
}
}
}
EheMall.Models/Migrations/201904280319176_OrderSeatStateAndTime.resx
0 → 100644
View file @
148e5bda
This diff is collapsed.
Click to expand it.
EheMall.Models/Models/订单管理/OrderSeat.cs
View file @
148e5bda
...
...
@@ -89,17 +89,33 @@ namespace EheMall.Models.Models
[
NotMapped
]
public
int
IsSale
{
get
;
set
;
}
/// <summary>
/// 0-未入场,1-已入场
/// </summary>
public
int
SeatState
{
get
;
set
;
}
/// <summary>
///操作人
/// </summary>
public
Guid
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 入场时间
/// </summary>
public
DateTime
?
UpdateTime
{
get
;
set
;
}
/// <summary>
/// 订单状态未取票,已取票,未入场,取消
/// </summary>
[
NotMapped
]
public
OrderStateEnum
OrderState
{
get
;
set
;
}
/// <summary>
/// 条形码
/// </summary>
[
NotMapped
]
public
System
.
IO
.
MemoryStream
mBarCode
{
get
;
set
;
}
public
string
mBarCode
{
get
;
set
;
}
}
}
EheMall.Web/Areas/TicketMall/Content/js/LodopFuncs.js
deleted
100644 → 0
View file @
12657edc
var
CreatedOKLodop7766
=
null
,
CLodopIsLocal
;
//====判断是否需要 Web打印服务CLodop:===
//===(不支持插件的浏览器版本需要用它)===
function
needCLodop
()
{
try
{
var
ua
=
navigator
.
userAgent
;
if
(
ua
.
match
(
/Windows
\s
Phone/i
))
return
true
;
if
(
ua
.
match
(
/iPhone|iPod|iPad/i
))
return
true
;
if
(
ua
.
match
(
/Android/i
))
return
true
;
if
(
ua
.
match
(
/Edge
\D?\d
+/i
))
return
true
;
var
verTrident
=
ua
.
match
(
/Trident
\D?\d
+/i
);
var
verIE
=
ua
.
match
(
/MSIE
\D?\d
+/i
);
var
verOPR
=
ua
.
match
(
/OPR
\D?\d
+/i
);
var
verFF
=
ua
.
match
(
/Firefox
\D?\d
+/i
);
var
x64
=
ua
.
match
(
/x64/i
);
if
((
!
verTrident
)
&&
(
!
verIE
)
&&
(
x64
))
return
true
;
else
if
(
verFF
)
{
verFF
=
verFF
[
0
].
match
(
/
\d
+/
);
if
((
verFF
[
0
]
>=
41
)
||
(
x64
))
return
true
;
}
else
if
(
verOPR
)
{
verOPR
=
verOPR
[
0
].
match
(
/
\d
+/
);
if
(
verOPR
[
0
]
>=
32
)
return
true
;
}
else
if
((
!
verTrident
)
&&
(
!
verIE
))
{
var
verChrome
=
ua
.
match
(
/Chrome
\D?\d
+/i
);
if
(
verChrome
)
{
verChrome
=
verChrome
[
0
].
match
(
/
\d
+/
);
if
(
verChrome
[
0
]
>=
41
)
return
true
;
}
}
return
false
;
}
catch
(
err
)
{
return
true
;
}
}
//====页面引用CLodop云打印必须的JS文件,用双端口(8000和18000)避免其中某个被占用:====
if
(
needCLodop
())
{
var
src1
=
"http://localhost:8000/CLodopfuncs.js?priority=1"
;
var
src2
=
"http://localhost:18000/CLodopfuncs.js?priority=0"
;
var
head
=
document
.
head
||
document
.
getElementsByTagName
(
"head"
)[
0
]
||
document
.
documentElement
;
var
oscript
=
document
.
createElement
(
"script"
);
oscript
.
src
=
src1
;
head
.
insertBefore
(
oscript
,
head
.
firstChild
);
oscript
=
document
.
createElement
(
"script"
);
oscript
.
src
=
src2
;
head
.
insertBefore
(
oscript
,
head
.
firstChild
);
CLodopIsLocal
=
!!
((
src1
+
src2
).
match
(
/
\/\/
localho|
\/\/
127.0.0./i
));
}
//====获取LODOP对象的主过程:====
function
getLodop
(
oOBJECT
,
oEMBED
)
{
var
strHtmInstall
=
"<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
;
var
strHtmUpdate
=
"<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>"
;
var
strHtm64_Install
=
"<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
;
var
strHtm64_Update
=
"<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>"
;
var
strHtmFireFox
=
"<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>"
;
var
strHtmChrome
=
"<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>"
;
var
strCLodopInstall_1
=
"<br><font color='#FF00FF'>Web打印服务CLodop未安装启动,点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>"
;
var
strCLodopInstall_2
=
"<br>(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)"
;
var
strCLodopInstall_3
=
",成功后请刷新本页面。</font>"
;
var
strCLodopUpdate
=
"<br><font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>"
;
var
LODOP
;
try
{
var
ua
=
navigator
.
userAgent
;
var
isIE
=
!!
(
ua
.
match
(
/MSIE/i
))
||
!!
(
ua
.
match
(
/Trident/i
));
if
(
needCLodop
())
{
try
{
LODOP
=
getCLodop
();
}
catch
(
err
)
{}
if
(
!
LODOP
&&
document
.
readyState
!==
"complete"
)
{
alert
(
"网页还没下载完毕,请稍等一下再操作."
);
return
;
}
if
(
!
LODOP
)
{
document
.
body
.
innerHTML
=
strCLodopInstall_1
+
(
CLodopIsLocal
?
strCLodopInstall_2
:
""
)
+
strCLodopInstall_3
+
document
.
body
.
innerHTML
;
return
;
}
else
{
if
(
CLODOP
.
CVERSION
<
"3.0.8.3"
)
{
document
.
body
.
innerHTML
=
strCLodopUpdate
+
document
.
body
.
innerHTML
;
}
if
(
oEMBED
&&
oEMBED
.
parentNode
)
oEMBED
.
parentNode
.
removeChild
(
oEMBED
);
if
(
oOBJECT
&&
oOBJECT
.
parentNode
)
oOBJECT
.
parentNode
.
removeChild
(
oOBJECT
);
}
}
else
{
var
is64IE
=
isIE
&&
!!
(
ua
.
match
(
/x64/i
));
//=====如果页面有Lodop就直接使用,没有则新建:==========
if
(
oOBJECT
||
oEMBED
)
{
if
(
isIE
)
LODOP
=
oOBJECT
;
else
LODOP
=
oEMBED
;
}
else
if
(
!
CreatedOKLodop7766
)
{
LODOP
=
document
.
createElement
(
"object"
);
LODOP
.
setAttribute
(
"width"
,
0
);
LODOP
.
setAttribute
(
"height"
,
0
);
LODOP
.
setAttribute
(
"style"
,
"position:absolute;left:0px;top:-100px;width:0px;height:0px;"
);
if
(
isIE
)
LODOP
.
setAttribute
(
"classid"
,
"clsid:2105C259-1E0C-4534-8141-A753534CB4CA"
);
else
LODOP
.
setAttribute
(
"type"
,
"application/x-print-lodop"
);
document
.
documentElement
.
appendChild
(
LODOP
);
CreatedOKLodop7766
=
LODOP
;
}
else
LODOP
=
CreatedOKLodop7766
;
//=====Lodop插件未安装时提示下载地址:==========
if
((
!
LODOP
)
||
(
!
LODOP
.
VERSION
))
{
if
(
ua
.
indexOf
(
'Chrome'
)
>=
0
)
document
.
body
.
innerHTML
=
strHtmChrome
+
document
.
body
.
innerHTML
;
if
(
ua
.
indexOf
(
'Firefox'
)
>=
0
)
document
.
body
.
innerHTML
=
strHtmFireFox
+
document
.
body
.
innerHTML
;
document
.
body
.
innerHTML
=
(
is64IE
?
strHtm64_Install
:
strHtmInstall
)
+
document
.
body
.
innerHTML
;
return
LODOP
;
}
}
if
(
LODOP
.
VERSION
<
"6.2.2.6"
)
{
if
(
!
needCLodop
())
document
.
body
.
innerHTML
=
(
is64IE
?
strHtm64_Update
:
strHtmUpdate
)
+
document
.
body
.
innerHTML
;
}
//===如下空白位置适合调用统一功能(如注册语句、语言选择等):==
//=======================================================
return
LODOP
;
}
catch
(
err
)
{
alert
(
"getLodop出错:"
+
err
);
}
}
EheMall.Web/Areas/TicketMall/Controllers/SaleTheaterController.cs
View file @
148e5bda
...
...
@@ -538,5 +538,34 @@ namespace EheMall.Web.Areas.TicketMall.Controllers
#
endregion
#
region
检票
public
ActionResult
CheckTicket
()
{
return
View
();
}
[
HttpPost
]
public
ActionResult
CheckTicketByID
(
UpdateOrderSeatStateCommand
model
)
{
var
info
=
_OrderSeatService
.
Get
(
model
.
ID
);
if
(
info
!=
null
)
{
if
(
info
.
SeatState
==
1
)
{
return
Json
(
new
{
valid
=
false
,
message
=
"已入场,请勿重复操作"
});
}
else
{
model
.
iLogUserId
=
LoginUser
.
ID
;
model
.
UpdateTime
=
System
.
DateTime
.
Now
;
this
.
_eventBus
.
Publish
(
model
);
return
Json
(
new
{
valid
=
true
,
message
=
"入场成功"
});
}
}
return
View
();
}
#
endregion
}
}
\ No newline at end of file
EheMall.Web/Areas/TicketMall/Controllers/TakeTicketController.cs
View file @
148e5bda
This diff is collapsed.
Click to expand it.
EheMall.Web/Areas/TicketMall/Views/SaleTheater/CheckTicket.cshtml
0 → 100644
View file @
148e5bda
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=9; IE=8; IE=7; IE=EDGE"
>
<meta
name=
"renderer"
content=
"webkit"
>
<title>
芙蓉国粹—抢票系统
</title>
<meta
name=
"keywords"
content=
"芙蓉国粹—抢票系统"
/>
<meta
name=
"description"
content=
"芙蓉国粹—抢票系统"
/>
<link
href=
"/Areas/TicketMall/Content/layui/css/layui.css"
rel=
"stylesheet"
/>
<link
rel=
"stylesheet"
href=
"/Areas/TicketMall/Content/css/jquery.ui.css"
/>
<link
href=
"/Areas/TicketMall/Content/css/public.css"
rel=
"stylesheet"
/>
<link
href=
"/Areas/TicketMall/Content/css/main.css"
rel=
"stylesheet"
/>
<script
src=
"/Scripts/jquery-1.10.2.js"
></script>
<script
type=
"text/javascript"
src=
"/Areas/TicketMall/Content/js/jquery.ui.js"
></script>
<script
type=
"text/javascript"
src=
"/Areas/TicketMall/Content/js/moment.min.js"
></script>
<script
src=
"/Areas/TicketMall/Content/js/layer/layer.js"
></script>
<script
src=
"/Areas/TicketMall/Content/layui/layui.js"
></script>
<script
src=
"~/Areas/TicketMall/Content/js/jquery.flexslider-min.js"
></script>
<script
src=
"~/Areas/TicketMall/Content/js/lib/jquery.pagination.js"
></script>
<style>
.CollectTitle
{
color
:
#333333
;
font-weight
:
bold
;
font-size
:
16px
;
margin
:
30px
0
;
}
.codeInput
{
width
:
310px
;
height
:
34px
;
padding-left
:
16px
;
border
:
1px
solid
#BBBBBB
;
}
.TicketSureBtn
{
width
:
100px
;
height
:
34px
;
background-color
:
#8C1324
;
cursor
:
pointer
;
margin
:
30px
0
;
color
:
#fff
;
}
</style>
</head>
<body>
<!--头部-->
<header
class=
"w1240 clearfix"
>
<div
class=
"logo fl"
>
<a
href=
"/TicketMall/SaleTheater/Index"
><img
src=
"/Areas/TicketMall/Content/Sp_img/logo.png"
alt=
"芙蓉国粹—抢票系统"
>
</a>
</div>
<div
class=
"codebox fr"
>
<ul>
<li>
<img
src=
"/Areas/TicketMall/Content/Sp_img/201816040903.jpg"
width=
"74"
height=
"74"
alt=
""
/>
<span>
关注公众号
</span>
</li>
<li>
<img
src=
"/Areas/TicketMall/Content/Sp_img/201816040903.jpg"
width=
"74"
height=
"74"
alt=
""
/>
<span>
联系客服
</span>
</li>
</ul>
</div>
</header>
<!--导航-->
<!--轮播图-->
<!--热门戏剧-->
<div
class=
"w100 clearfix"
style=
"width:100%;border-top:1px solid #d1d1d1;"
>
<div
class=
"w1240"
>
<div
class=
"CollectTitle"
>
条形码
</div>
<input
type=
"text"
placeholder=
"请扫描条形码"
class=
"codeInput"
onfocus=
"true"
/>
<div>
<input
type=
"button"
value=
"确认"
class=
"TicketSureBtn"
/>
</div>
</div>
</div>
<div
class=
"hotbox w100 clearfix"
>
<div
class=
"fast w1240 pt35 clearfix"
>
<ul>
<li>
<div
class=
"fastinfo"
>
<div
class=
"pic fl"
>
<img
src=
"/Areas/TicketMall/Content/Sp_img/fast01.png"
width=
"52"
height=
"52"
alt=
""
>
</div>
<div
class=
"text fl"
>
<h3>
Fast·01
</h3>
<span><a
href=
"#"
>
快速选座购票/选票
</a>
</span>
</div>
</div>
</li>
<li>
<div
class=
"fastinfo"
>
<div
class=
"pic fl"
>
<img
src=
"/Areas/TicketMall/Content/Sp_img/fast02.png"
width=
"51"
height=
"53"
alt=
""
>
</div>
<div
class=
"text fl"
>
<h3>
Fast·02
</h3>
<span><a
href=
"#"
>
剧院出票/取票
</a>
</span>
</div>
</div>
</li>
<li>
<div
class=
"fastinfo"
>
<div
class=
"pic fl"
>
<img
src=
"/Areas/TicketMall/Content/Sp_img/fast03.png"
width=
"41"
height=
"56"
alt=
""
>
</div>
<div
class=
"text fl"
>
<h3>
Fast·03
</h3>
<span><a
href=
"#"
>
真票真戏/保障
</a>
</span>
</div>
</div>
</li>
</ul>
</div>
</div>
</body>
</html>
<script
type=
"text/javascript"
>
$
(
function
()
{
$
(
".TicketSureBtn"
).
click
(
function
()
{
if
(
$
(
".codeInput"
).
val
().
length
==
36
)
{
$
(
".codeInput"
).
prop
(
"disable"
,
true
);
$
.
ajax
({
type
:
"post"
,
url
:
"@Url.Action("
CheckTicketByID
")"
,
data
:
{
"ID"
:
$
(
".codeInput"
).
val
()},
success
:
function
(
data
)
{
if
(
data
.
valid
)
{
layer
.
msg
(
'入场成功'
,
{
icon
:
1
,
//提示的样式
end
:
function
()
{
$
(
".codeInput"
).
val
(
""
);
$
(
".codeInput"
).
prop
(
"disable"
,
false
);
$
(
".codeInput"
).
focus
();
}
});
}
else
{
layer
.
msg
(
data
.
message
,
{
icon
:
2
,
end
:
function
()
{
$
(
".codeInput"
).
val
(
""
);
$
(
".codeInput"
).
prop
(
"disable"
,
false
);
$
(
".codeInput"
).
focus
();
}
});
}
}
});
}
})
document
.
onkeydown
=
function
(
e
)
{
var
ev
=
document
.
all
?
window
.
event
:
e
;
if
(
ev
.
keyCode
==
57
)
{
}
}
});
</script>
\ No newline at end of file
EheMall.Web/Areas/TicketMall/Views/TakeTicket/Index.cshtml
View file @
148e5bda
...
...
@@ -14,9 +14,10 @@
height
:
auto
;
background-color
:
#fff
;
font-size
:
12px
;
margin-right
:
56px
;
margin-right
:
56px
;
display
:
inline-block
;
}
.clearfix
::after
{
content
:
""
;
height
:
0
;
...
...
@@ -97,7 +98,7 @@
.Tk_right
{
float
:
left
;
width
:
70px
;
width
:
70px
;
margin-top
:
13px
;
}
...
...
@@ -506,7 +507,7 @@
<div
class=
"orderInfo"
>
订单信息
</div>
<div
class=
"orderList"
>
</div>
<input
type=
"button"
value=
"确认取票"
onclick=
"orderQupiao()"
style=
"position: absolute;bottom:60px;"
class=
"tkQuBtn
"
/>
<input
type=
"button"
value=
"确认取票"
style=
"position: absolute;bottom:60px;"
class=
"tkQuBtn"
id=
"SurePrint
"
/>
</div>
<div
class=
"tkdivFour"
style=
"display:none"
>
<div
class=
"tkthreeTop"
>
...
...
@@ -527,6 +528,8 @@
<div
class=
"PrintPageInfo"
>
</div>
</body>
</html>
<script
src=
"/Scripts/jquery-1.10.2.js"
></script>
...
...
@@ -537,30 +540,53 @@
<script
src=
"~/Scripts/knockout-3.4.0.js"
></script>
<script
src=
"~/Scripts/Ace/js/jquery-ui.js"
></script>
<script
src=
"~/Areas/TicketMall/Content/js/jcpfree.js"
></script>
<script
src=
"~/Areas/TicketMall/Content/js/JsBarcode.all.min.js"
></script>
@*
<script
src=
"~/Areas/TicketMall/Content/js/LodopFuncs.js"
></script>
*@
<script>
var
LODOP
;
function
doPrint
(
how
)
{
$
(
'.tkdivThree'
).
css
(
'display'
,
'none'
);
//页面层-自定义
var
num
=
(
parseInt
(
$
(
".PrintPage"
).
length
)
+
1
)
*
1000
;
//页面层-自定义
layer
.
open
({
type
:
1
,
time
:
num
,
shade
:
0.1
,
title
:
false
,
area
:
[
'45.7rem'
,
'47.1rem'
],
closeBtn
:
0
,
shadeClose
:
false
,
content
:
$
(
".tkdivFour"
),
end
:
function
()
{
//打印结束
$
(
'.tkdivThree'
).
css
(
'display'
,
'block'
);
layer
.
msg
(
'取票成功'
,
{
icon
:
1
,
//提示的样式
end
:
function
()
{
//调用打印
location
.
reload
();
}
});
}
});
var
myDoc
=
{
settings
:{
settings
:
{
marginLeft
:
1
,
marginRight
:
1
,
marginTop
:
2
,
marginBottom
:
2
,
pageFrom
:
1
,
pageTo
:
2
,
scale
:
"on-width"
,
portrait
:
false
},
documents
:
document
,
// 打印页面(div)们在本文档中
copyrights
:
'杰创软件拥有版权 www.jatools.com'
// 版权声明必须
};
var
jcp
=
getJCP
();
// 调用打印方法
if
(
how
==
'打印预览'
)
jcp
.
printPreview
(
myDoc
,
false
);
else
if
(
how
==
'弹出打印机选择对话框打印'
)
{
jcp
.
print
(
myDoc
,
true
);
}
else
jcp
.
print
(
myDoc
,
false
);
// 不弹出对话框打印
jcp
.
printPreview
(
myDoc
,
true
);
jcp
.
print
(
myDoc
,
true
);
// 不弹出对话框打印
}
$
(
function
(){
//取票验证码二维码点击切换
...
...
@@ -585,14 +611,30 @@
});*/
$
(
"#tempPrint"
).
click
(
function
()
{
qupiao
();
// doPrint("无对话框直接打印");
// window.print();
//prn_print();
// $("#print-container").printArea();
});
//订单确认取票
$
(
"#SurePrint"
).
click
(
function
()
{
$
(
"#SurePrint"
).
prop
(
"disable"
,
true
);
if
(
$
(
"#orderId"
).
val
().
length
<=
0
||
$
(
"#orderId"
).
val
()
==
undefined
)
{
layer
.
msg
(
"订单信息有误,请与工作人员联系"
,
{
icon
:
2
});
return
;
}
doPrint
(
"打印"
);
@
*
$
.
ajax
({
type
:
"post"
,
url
:
"@Url.Action("
UpdateOrderState
")"
,
data
:
{
"OrderID"
:
$
(
"#orderId"
).
val
()
},
success
:
function
(
data
)
{
if
(
data
.
valid
)
{
}
else
{
$
(
this
).
prop
(
"disable"
,
false
);
layer
.
msg
(
data
.
message
,
{
icon
:
2
});
}
}
});
*
@
});
});
...
...
@@ -618,7 +660,6 @@
sec
=
10
;
clearInterval
(
setTime10
);
clearInterval
(
setTime
);
$
(
'.tkdivOne'
).
css
(
'display'
,
'none'
);
$
(
".tkdivTwo"
).
css
(
'display'
,
'block'
);
$
(
'video'
).
trigger
(
'pause'
);
...
...
@@ -674,7 +715,7 @@
//验证码确认取票
function
qupiao
()
{
if
(
$
(
".codeInput"
).
val
()
==
undefined
||
$
(
".codeInput"
).
val
().
length
==
0
)
{
layer
.
msg
(
"请输入取票码"
,
{
icon
:
1
});
layer
.
msg
(
"请输入取票码"
,
{
icon
:
2
});
return
;
}
var
keyWord
=
$
(
".codeInput"
).
val
();
...
...
@@ -689,6 +730,12 @@
$
(
".codeInput"
).
val
();
$
(
'.tkdivTwo'
).
css
(
'display'
,
'none'
);
$
(
'.tkdivThree'
).
css
(
'display'
,
'block'
);
if
(
parseInt
(
$
(
".PrintPage"
).
length
)
==
0
)
{
$
(
"#SurePrint"
).
prop
(
"disable"
,
true
);
}
else
{
$
(
"#SurePrint"
).
prop
(
"disable"
,
false
);
}
setInterval
(
yidong
,
1000
);
},
error
:
function
()
{
...
...
@@ -704,36 +751,14 @@
success
:
function
(
data
)
{
$
(
".PrintPageInfo"
).
html
(
data
?
data
:
""
);
$
(
".codeInput"
).
val
();
},
error
:
function
()
{
layer
.
msg
(
"请求超时,请重试"
,
{
icon
:
2
});
}
});
}
//订单确认取票
function
orderQupiao
()
{
doPrint
(
"打印预览"
);
@
*
$
.
ajax
({
type
:
"post"
,
url
:
"@Url.Action("
UpdateOrderState
")"
,
data
:
{
"OrderID"
:
$
(
"#orderId"
).
val
()
},
success
:
function
(
data
)
{
if
(
data
.
valid
)
{
layer
.
msg
(
'取票成功'
,
{
icon
:
1
,
//提示的样式
end
:
function
()
{
//调用打印
$
(
'.tkdivThree'
).
css
(
'display'
,
'none'
);
$
(
'.tkdivFour'
).
css
(
'display'
,
'block'
);
}
});
}
else
{
$
(
this
).
prop
(
"disable"
,
false
);
layer
.
msg
(
data
.
message
,
{
icon
:
2
});
}
}
});
*
@
}
function
yidong
()
{
$
(
".piaoList"
).
animate
({
top
:
9.3
+
'rem'
},
2000
,
function
()
{
$
(
'.piaoList'
).
css
(
'top'
,
'4.6rem'
)
...
...
EheMall.Web/Areas/TicketMall/Views/TakeTicket/_ExchangeDetails.cshtml
View file @
148e5bda
...
...
@@ -8,7 +8,7 @@
<input type="hidden" id="orderId" value="@Model.ID" />
<div class="clearfix" style="margin:15px 0">
@if (Model.OrderSeatList != null && Model.OrderSeatList.Any())
@if (Model.OrderSeatList != null && Model.OrderSeatList.Any()
&&Model.OrderState== EheMall.Models.Enums.OrderStateEnum.Normal
)
{
foreach (var item in Model.OrderSeatList)
{
...
...
EheMall.Web/Areas/TicketMall/Views/TakeTicket/_PrintDetails.cshtml
View file @
148e5bda
This diff is collapsed.
Click to expand it.
EheMall.Web/EheMall.Web.csproj
View file @
148e5bda
...
...
@@ -143,6 +143,12 @@
<Private>
True
</Private>
<HintPath>
..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll
</HintPath>
</Reference>
<Reference
Include=
"zxing, Version=0.16.4.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL"
>
<HintPath>
..\packages\ZXing.Net.0.16.4\lib\net45\zxing.dll
</HintPath>
</Reference>
<Reference
Include=
"zxing.presentation, Version=0.16.4.0, Culture=neutral, PublicKeyToken=4e88037ac681fe60, processorArchitecture=MSIL"
>
<HintPath>
..\packages\ZXing.Net.0.16.4\lib\net45\zxing.presentation.dll
</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Reference
Include=
"System.Net.Http.Formatting"
>
...
...
@@ -344,10 +350,20 @@
<Content
Include=
"Areas\TicketMall\Content\css\main.css"
/>
<Content
Include=
"Areas\TicketMall\Content\css\public.css"
/>
<Content
Include=
"Areas\TicketMall\Content\css\SaleTicket.css"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.codabar.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.code128.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.code39.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.ean-upc.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.itf-14.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.itf.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.msi.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\barcodes\JsBarcode.pharmacode.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\jcpfree.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\jquery.flexslider-min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\jquery.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\jquery.ui.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\JsBarcode.all.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\JsBarcode.all.min.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\layer\layer.js"
/>
<Content
Include=
"Areas\TicketMall\Content\js\layer\theme\default\layer.css"
/>
<Content
Include=
"Areas\TicketMall\Content\js\layer\theme\layer.css"
/>
...
...
@@ -363,6 +379,7 @@
<Content
Include=
"Areas\TicketMall\Content\layui\lay\modules\laydate.js"
/>
<Content
Include=
"Areas\TicketMall\Content\layui\modules\laydate.js"
/>
<Content
Include=
"Areas\TicketMall\Content\login.html"
/>
<Content
Include=
"Areas\TicketMall\Content\print\cc0189df-1e7d-45ec-bba2-283a1f41d61d.png"
/>
<Content
Include=
"Areas\TicketMall\Content\print\no-print.css"
/>
<Content
Include=
"Areas\TicketMall\Content\print\print-100x180.css"
/>
<Content
Include=
"Areas\TicketMall\Content\print\print-210x297.css"
/>
...
...
@@ -888,6 +905,7 @@
<Content
Include=
"Areas\TicketMall\Views\TakeTicket\Index.cshtml"
/>
<Content
Include=
"Areas\TicketMall\Views\TakeTicket\_ExchangeDetails.cshtml"
/>
<Content
Include=
"Areas\TicketMall\Views\TakeTicket\_PrintDetails.cshtml"
/>
<Content
Include=
"Areas\TicketMall\Views\SaleTheater\CheckTicket.cshtml"
/>
<None
Include=
"Properties\PublishProfiles\publish.pubxml"
/>
<None
Include=
"Scripts\jquery-1.8.0.intellisense.js"
/>
<Content
Include=
"Scripts\jquery-1.10.2.js"
/>
...
...
EheMall.Web/packages.config
View file @
148e5bda
...
...
@@ -30,4 +30,5 @@
<
package
id
=
"Spire.Barcode"
version
=
"3.4.0"
targetFramework
=
"net452"
/>
<
package
id
=
"Webdiyer.MvcPager"
version
=
"3.0.1.1"
targetFramework
=
"net452"
/>
<
package
id
=
"WebGrease"
version
=
"1.5.2"
targetFramework
=
"net452"
/>
<
package
id
=
"ZXing.Net"
version
=
"0.16.4"
targetFramework
=
"net452"
/>
</
packages
>
\ No newline at end of file
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