Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jijin
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
82d86ec5
authored
2024-08-07 17:45:13 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
票务
1 parent
9503459c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
31 deletions
src/utils/ruoyi.js
src/viewsPc/booking/ticket/confirmOrder.vue
src/viewsPc/booking/ticket/index.vue
src/viewsPc/booking/ticket/peopleManage.vue
src/utils/ruoyi.js
View file @
82d86ec
/**
* 通用js方法封装处理
* Copyright (c) 2019 ruoyi
...
...
@@ -37,7 +35,9 @@ export function parseTime(time, pattern) {
const
time_str
=
format
.
replace
(
/{
(
y|m|d|h|i|s|a
)
+}/g
,
(
result
,
key
)
=>
{
let
value
=
formatObj
[
key
]
// Note: getDay() returns 0 on Sunday
if
(
key
===
'a'
)
{
return
[
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
][
value
]
}
if
(
key
===
'a'
)
{
return
[
'日'
,
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
][
value
]
}
if
(
result
.
length
>
0
&&
value
<
10
)
{
value
=
'0'
+
value
}
...
...
@@ -114,8 +114,10 @@ export function selectDictLabels(datas, value, separator) {
// 字符串格式化(%s )
export
function
sprintf
(
str
)
{
var
args
=
arguments
;
var
flag
=
true
;
var
i
=
1
str
=
str
.
replace
(
/%s/g
,
function
()
{
var
args
=
arguments
;
var
flag
=
true
;
var
i
=
1
str
=
str
.
replace
(
/%s/g
,
function
()
{
var
arg
=
args
[
i
++
]
if
(
typeof
arg
===
'undefined'
)
{
flag
=
false
...
...
@@ -148,7 +150,7 @@ export function mergeRecursive(source, target) {
}
}
return
source
}
;
}
/**
* 构造树型结构数据
...
...
@@ -198,13 +200,14 @@ export function handleTree(data, id, parentId, children) {
}
}
}
return
tree
}
/**
* 参数处理
* @param {*} params 参数
*/
* 参数处理
* @param {*} params 参数
*/
export
function
tansParams
(
params
)
{
let
result
=
''
for
(
const
propName
of
Object
.
keys
(
params
))
{
...
...
@@ -232,7 +235,8 @@ export function tansParams(params) {
export
function
getNormalPath
(
p
)
{
if
(
p
.
length
===
0
||
!
p
||
p
==
'undefined'
)
{
return
p
};
}
const
res
=
p
.
replace
(
'//'
,
'/'
)
if
(
res
[
res
.
length
-
1
]
===
'/'
)
{
return
res
.
slice
(
0
,
res
.
length
-
1
)
...
...
@@ -311,3 +315,11 @@ export function downloadFile(filePath, prefix) {
return
`
${
prefix
}
/upload/getFile?fileUrl=
${
encodeURIComponent
(
filePath
)}
`
}
}
export
function
triggerLanguage
(
fn
,
cn
,
en
)
{
if
(
fn
)
{
return
en
}
else
{
return
cn
}
}
...
...
src/viewsPc/booking/ticket/confirmOrder.vue
View file @
82d86ec
...
...
@@ -21,7 +21,7 @@
</div>
<div
class=
"form"
>
<el-form
ref=
"formRef"
:model=
"orderForm"
:rules=
"rules"
label-width=
"1
0
0px"
>
<el-form
ref=
"formRef"
:model=
"orderForm"
:rules=
"rules"
label-width=
"1
2
0px"
>
<!--
<el-form-item-->
<!-- :label="language == 0 ? '联系人' : 'contact'" prop="contacts"-->
<!-- >-->
...
...
@@ -145,9 +145,12 @@ import {
import
{
ElMessage
}
from
"element-plus"
;
import
{
languageFormat
}
from
"@/viewsPc/seat/utils/language.js"
;
import
useUserStore
from
"/@/store/modules/user"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
const
useStore
=
useUserStore
()
const
language
=
useStore
.
language
;
const
language
=
useStorage
(
'language'
,
0
)
console
.
log
(
language
)
const
loading
=
ref
(
false
);
const
route
=
useRoute
();
...
...
src/viewsPc/booking/ticket/index.vue
View file @
82d86ec
...
...
@@ -6,7 +6,7 @@
<div
class=
"info"
>
<div
class=
"title"
>
{{
matchForm
.
name
}}
</div>
<div
class=
"time"
>
{{
languageFormat
(
language
,
"时间"
,
"Event Date & Time"
)
}}
:
{{
{{
triggerLanguage
(
language
,
"时间"
,
"Event Date & Time"
)
}}
:
{{
matchForm
.
ticketStart
?
dayjs
(
matchForm
.
ticketStart
).
format
(
"YYYY.MM.DD"
)
:
""
...
...
@@ -35,14 +35,14 @@
}}
</div>
<div
class=
"address"
>
{{
languageFormat
(
language
,
"地址"
,
"Location"
)
}}
:
{{
{{
triggerLanguage
(
language
,
"地址"
,
"Location"
)
}}
:
{{
matchForm
.
address
}}
</div>
<!-- 时间 -->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
{{
languageFormat
(
language
,
"票档"
,
"Tickets"
)
}}
{{
triggerLanguage
(
language
,
"票档"
,
"Tickets"
)
}}
</div>
<div
class=
"select_item"
>
<div
...
...
@@ -60,7 +60,7 @@
<!-- 时间 -->
<div
class=
"select_item_box"
>
<div
class=
"label"
>
{{
languageFormat
(
language
,
"时间"
,
"Event Date & Time"
)
}}
{{
triggerLanguage
(
language
,
"时间"
,
"Event Date & Time"
)
}}
</div>
<div
class=
"select_item"
>
<div
...
...
@@ -77,8 +77,8 @@
</div>
<!-- button -->
<div
class=
"btn forPc"
@
click=
"toSelectSeat()"
>
{{
languageFormat
(
language
,
"添加观影人"
,
"Add Moviegoers"
)
}}
<div
class=
"btn forPc"
style=
"margin-left: 40px"
@
click=
"toSelectSeat()"
>
{{
triggerLanguage
(
language
,
"添加观影人"
,
"Add Moviegoers"
)
}}
</div>
</div>
</div>
...
...
@@ -91,7 +91,7 @@
<
script
setup
>
import
{
ref
,
reactive
,
onMounted
,
watch
}
from
"vue"
;
import
{
ref
,
reactive
,
onMounted
,
watch
,
computed
}
from
"vue"
;
import
{
listApi
,
getTicketInfoByActivityId
,
getTicketListApi
}
from
'@/apiPc/booking'
import
{
dayjs
}
from
"element-plus"
;
...
...
@@ -99,10 +99,12 @@ import {ElMessageBox, ElMessage} from "element-plus";
import
{
languageFormat
,
getDayName
}
from
"@/viewsPc/seat/utils/language"
;
import
{
fillImgUrl
}
from
"/@/utils/ruoyi"
;
import
useUserStore
from
"/@/store/modules/user"
;
import
{
triggerLanguage
}
from
'@/utils/ruoyi'
import
{
useStorage
}
from
"@vueuse/core/index"
;
const
language
=
useStorage
(
'language'
,
0
)
const
useStore
=
useUserStore
()
const
language
=
useStore
.
language
;
const
user
=
useStore
.
user
const
user
=
computed
(()
=>
useUserStore
().
user
)
const
route
=
useRoute
();
const
router
=
useRouter
();
const
activeId
=
ref
(
route
.
params
.
activeId
)
...
...
@@ -152,10 +154,10 @@ function selectTick(v) {
}
function
toSelectSeat
()
{
if
(
!
selectForm
.
value
.
latId
)
return
ElMessage
.
error
(
language
.
value
==
0
?
"请选择票档"
:
'Please select a ticket file'
)
if
(
!
selectForm
.
value
.
id
)
return
ElMessage
.
error
(
language
.
value
==
0
?
"请选择时间"
:
'Please select time'
)
console
.
log
(
user
)
if
(
!
user
)
{
if
(
!
selectForm
.
value
.
latId
)
return
ElMessage
.
error
(
language
==
0
?
"请选择票档"
:
'Please select a ticket file'
)
if
(
!
selectForm
.
value
.
id
)
return
ElMessage
.
error
(
language
==
0
?
"请选择时间"
:
'Please select time'
)
console
.
log
(
user
.
value
)
if
(
!
user
.
value
)
{
useStore
().
setVisitor
()
return
}
...
...
src/viewsPc/booking/ticket/peopleManage.vue
View file @
82d86ec
...
...
@@ -27,7 +27,7 @@
center
width=
"700"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"
8
0px"
size=
"large"
style=
"margin: 80px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"
10
0px"
size=
"large"
style=
"margin: 80px"
>
<el-form-item
:label=
"language==0?'姓名':'name'"
prop=
"name"
required
>
<el-input
v-model=
"form.name"
:placeholder=
"language==0?'请输入':'Please input'"
/>
</el-form-item>
...
...
@@ -66,23 +66,28 @@ import {aadCustomer, customerListApi, delCustomer} from '@/apiPc/booking'
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
import
{
languageFormat
}
from
"@/viewsPc/seat/utils/language.js"
;
import
useUserStore
from
"/@/store/modules/user"
;
import
{
useStorage
}
from
"@vueuse/core/index"
;
import
{
triggerLanguage
}
from
'@/utils/ruoyi'
const
useStore
=
useUserStore
()
const
language
=
useStore
.
language
;
const
language
=
useStorage
(
'language'
,
0
)
const
personnelList
=
ref
([])
const
show
=
ref
(
false
)
const
form
=
ref
({})
const
formRef
=
ref
(
null
)
const
rules
=
ref
({
name
:
[
{
required
:
true
,
message
:
"请输入姓名"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请输入姓名'
,
'Please input'
)
,
trigger
:
"blur"
},
],
idCard
:
[
{
required
:
true
,
message
:
"请输入证件号"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请输入证件号'
,
'Please enter the ID after ah'
),
trigger
:
"blur"
},
],
idcType
:
[
{
required
:
true
,
message
:
"请选择证件类型"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
triggerLanguage
(
language
.
value
,
'请选择证件类型'
,
'Please choose'
)
,
trigger
:
"blur"
},
],
})
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment