Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pptist
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
viitto
pptist
Commits
8de42d27
Commit
8de42d27
authored
May 22, 2024
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化部分页面,完成权限调整
parent
028523e4
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
132 additions
and
82 deletions
+132
-82
App.vue
src/App.vue
+0
-1
regist.png
src/assets/img/regist.png
+0
-0
BuyProduct.vue
src/components/User/BuyProduct.vue
+21
-0
UserCard.vue
src/components/User/UserCard.vue
+1
-1
Index.vue
src/components/WaterMake/Index.vue
+20
-3
common.ts
src/utils/common.ts
+1
-1
Regist.vue
src/views/Auth/Regist.vue
+13
-10
UploadPicture.vue
src/views/Editor/CanvasTool/UploadPicture.vue
+50
-44
index.vue
src/views/Editor/CanvasTool/index.vue
+4
-2
index.vue
src/views/Editor/EditorHeader/index.vue
+10
-9
Workspace.vue
src/views/SellTemplate/Workspace.vue
+3
-3
journeyAdsList.vue
src/views/SellTemplate/components/journeyAdsList.vue
+4
-4
Index.vue
src/views/UserCenter/Index.vue
+5
-4
No files found.
src/App.vue
View file @
8de42d27
...
...
@@ -47,7 +47,6 @@ const healthCheckHandler = async ()=>{
await
UserServices
.
CollectAsync
()
}
}
setInterval
(()
=>
{
healthCheckHandler
()
},
1000
*
60
)
...
...
src/assets/img/regist.png
0 → 100644
View file @
8de42d27
900 KB
src/components/User/BuyProduct.vue
0 → 100644
View file @
8de42d27
<
template
>
<div>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638519915351184239.png"
width=
"200"
>
<div
class=
"q-mt-lg"
style=
"font-size: 20px; font-weight: 400;"
>
VIP专属权限,购买后立即解锁
</div>
<div
class=
"text-center q-mt-lg"
>
<el-button
class=
"ppt-button"
size=
"large"
@
click=
"()=>orderVisible=true"
>
立即解锁
</el-button>
</div>
</div>
<OrderReview
v-if=
"orderVisible"
:default-type=
"1"
@
close=
"()=>orderVisible=false"
></OrderReview>
</
template
>
<
script
lang=
"ts"
setup
>
import
OrderReview
from
'@/views/components/Order/Review.vue'
import
{
ref
}
from
'vue'
const
orderVisible
=
ref
(
false
)
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/components/User/UserCard.vue
View file @
8de42d27
...
...
@@ -136,7 +136,7 @@ const moreList = [
{
icon
:
require
(
"@/assets/img/homeMore0.png"
),
Name
:
"添加到桌面"
},
{
icon
:
require
(
"@/assets/img/homeMore1.png"
),
Name
:
"关注公众号"
},
{
icon
:
require
(
"@/assets/img/homeMore2.png"
),
Name
:
"我的订单"
,
Url
:
'/u/order'
},
{
icon
:
require
(
"@/assets/img/homeMore3.png"
),
Name
:
"意见反馈"
},
{
icon
:
require
(
"@/assets/img/homeMore3.png"
),
Name
:
"意见反馈"
,
Url
:
'https://work.weixin.qq.com/kfid/kfc378aada578ca8b0e'
},
];
const
forwardUserCenter
=
()
=>
{
...
...
src/components/WaterMake/Index.vue
View file @
8de42d27
...
...
@@ -8,7 +8,7 @@
:gap=
"gaps[water.de-1]"
:offset=
"[0,0]"
:image=
"water.wmtype==2?water.content:''"
:font=
"
{fontSize:water.cz,color:water.color}"
:font=
"
{fontSize:water.cz,color:water.color
,fontWeight:400
}"
>
</el-watermark>
</
template
>
...
...
@@ -21,7 +21,7 @@ import { storeToRefs } from "pinia"
import
{
ref
,
watch
}
from
"vue"
import
{
useRouter
}
from
"vue-router"
const
{
token
}
=
storeToRefs
(
useUserStore
())
const
{
token
,
userInfo
}
=
storeToRefs
(
useUserStore
())
const
water
=
ref
<
any
>
()
const
gaps
=
[[
100
,
100
],[
150
,
150
],[
200
,
200
]]
const
exportRule
=
[
'/editor/'
]
...
...
@@ -46,10 +46,27 @@ const waterVisibleHandler = ()=>{
const
url
=
router
.
currentRoute
.
value
.
path
showWater
.
value
=
ruleRouter
.
value
.
findIndex
(
x
=>
url
.
includes
(
x
))
!=-
1
}
const
freeUserWatermake
=
()
=>
{
ruleRouter
.
value
.
push
(...
previewRule
)
ruleRouter
.
value
.
push
(...
exportRule
)
water
.
value
=
{
status
:
true
,
content
:
'Travel Design'
,
wmtype
:
1
,
ag
:
-
25
,
cz
:
16
,
color
:
'rgba(0,0,0,.1)'
,
de
:
2
}
showWater
.
value
=
true
waterVisibleHandler
()
}
watch
(()
=>
router
.
currentRoute
.
value
.
path
,
(
toPath
)
=>
{
waterVisibleHandler
()
},{
immediate
:
true
,
deep
:
true
})
loadWater
()
if
(
userInfo
.
value
.
iv
||
userInfo
.
value
.
it
)
loadWater
()
else
freeUserWatermake
()
</
script
>
<
style
>
...
...
src/utils/common.ts
View file @
8de42d27
...
...
@@ -11,7 +11,7 @@ export const fillDigit = (digit: number, len: number) => {
export
const
openNewBlank
=
(
path
:
string
)
=>
{
if
(
path
!=
''
){
const
url
=
`
${
window
.
location
.
origin
}${
path
}
`
const
url
=
path
.
includes
(
'http://'
)
||
path
.
includes
(
'https://'
)
?
path
:
`
${
window
.
location
.
origin
}${
path
}
`
window
.
open
(
url
,
'_blank'
)
}
}
...
...
src/views/Auth/Regist.vue
View file @
8de42d27
<
template
>
<div
class=
"window-height regist-box column flex-center items-center"
>
<div
class=
"col
col
umn flex-center items-center rounded light-shadow q-pa-xl bg-white"
style=
"margin: 60px 0;"
>
<div
style=
"width:400px;"
>
<div
class=
"column flex-center items-center rounded light-shadow q-pa-xl bg-white"
style=
"margin: 60px 0;"
>
<div
style=
"width:400px;
padding:0 50px;
"
>
<div
class=
"text-center"
>
<div
style=
"font-size: 36px; "
class=
"text-dark"
>
创建Travel Design账户
</div>
<div
class=
"text-info text-small"
>
开启行程设计第一步
</div>
<div
style=
"font-size: 1.88vw; line-height: 1;"
class=
"text-dark text-weight-bolder row items-end flex-center"
>
<span>
Welcome to
</span>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1715138194000_864.png"
style=
"width:3.18vw;margin-left: 1.67vw;"
alt=
""
>
</div>
<div
class=
"text-small"
style=
"color:#404B5B;margin-top:0.99vw"
>
创建账户,开启行程设计第一步
</div>
</div>
<el-form
ref=
"registFormRef"
:model=
"model"
:rules=
"rules"
label-width=
"0px"
size=
"large"
class=
"full-width q-mt-lg"
:disabled=
"loading"
>
<el-form-item
label=
""
prop=
"nickname"
>
...
...
@@ -50,10 +53,10 @@ interface RuleForm {
confirmPwd
:
string
}
const
model
=
ref
<
{
account
:
string
,
password
:
string
,
nickname
:
string
,
confirmPwd
:
string
}
>
({
account
:
'
luochao
'
,
password
:
'
123456
'
,
nickname
:
'
罗超
'
,
confirmPwd
:
'
123456
'
account
:
''
,
password
:
''
,
nickname
:
''
,
confirmPwd
:
''
})
const
validateToken
=
ref
(
''
)
const
registFormRef
=
ref
<
FormInstance
>
()
...
...
@@ -127,8 +130,8 @@ const redicetToLogin = ()=>{
</
script
>
<
style
>
.regist-box
{
background-image
:
url('../../assets/img/
homeBJ
.png')
,
linear-gradient
(
0deg
,
#E3ECFF
,
#FFFFFF
);
background-size
:
auto
auto
;
background-image
:
url('../../assets/img/
regist
.png')
,
linear-gradient
(
0deg
,
#E3ECFF
,
#FFFFFF
);
background-size
:
100%
auto
;
background-repeat
:
no-repeat
;
}
</
style
>
\ No newline at end of file
src/views/Editor/CanvasTool/UploadPicture.vue
View file @
8de42d27
...
...
@@ -6,55 +6,56 @@
</div>
<el-tabs
v-model=
"activeName"
class=
"demo-tabs"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"ERP资料库"
name=
"1"
>
<el-row
class=
"q-mb-md"
>
<el-col
:span=
"6"
>
<el-select
v-model=
"datas.queryMsg.Type"
class=
"m-2"
@
change=
"SearchHandler()"
>
<el-option
v-for=
"item in typeLists"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-col>
<el-col
:span=
"18"
>
<el-input
v-model=
"datas.queryMsg.Name"
placeholder=
"输入关键字快速查找"
clearable
class=
"input-with-select q-pl-lg"
@
keyup
.
enter=
"SearchHandler()"
>
<template
#
append
>
<el-button
style=
"color: #fff;"
type=
"primary"
@
click=
"SearchHandler"
>
搜索
</el-button>
</
template
>
</el-input>
</el-col>
</el-row>
<div
class=
"row UploadPicture-box"
v-loading=
"datas.loading"
>
<div
v-for=
"(item,index) in datas.imgList"
class=
"UploadPicture-list"
>
<div
class=
"UploadPicture-listBox"
>
<img
:src=
"item.Path"
class=
"rounded"
@
click=
"getImgs(item,index)"
/>
<div
class=
"UploadPicture-Hover"
v-if=
"item.show"
>
<div>
<el-icon
:size=
"20"
><CircleCheckFilled/></el-icon>
<template
v-if=
"userInfo.iv||userInfo.it"
>
<el-row
class=
"q-mb-md"
>
<el-col
:span=
"6"
>
<el-select
v-model=
"datas.queryMsg.Type"
class=
"m-2"
@
change=
"SearchHandler()"
>
<el-option
v-for=
"item in typeLists"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-col>
<el-col
:span=
"18"
>
<el-input
v-model=
"datas.queryMsg.Name"
placeholder=
"输入关键字快速查找"
clearable
class=
"input-with-select q-pl-lg"
@
change=
"SearchHandler()"
></el-input>
</el-col>
</el-row>
<div
class=
"row UploadPicture-box"
v-loading=
"datas.loading"
>
<div
v-for=
"(item,index) in datas.imgList"
class=
"UploadPicture-list"
>
<div
class=
"UploadPicture-listBox"
>
<img
:src=
"item.Path"
class=
"rounded"
@
click=
"getImgs(item,index)"
/>
<div
class=
"UploadPicture-Hover"
v-if=
"item.show"
>
<div>
<el-icon
:size=
"20"
><CircleCheckFilled/></el-icon>
</div>
</div>
</div>
</div>
</div>
<div
class=
"q-mt-md"
style=
"display: flex;justify-content: center;"
>
<el-pagination
v-model:current-page=
"currentPage"
:page-size=
"datas.queryMsg.pageSize"
small=
"small"
layout=
"prev, pager, next"
:total=
"datas.queryMsg.total"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
/>
</div>
</
template
>
<div
class=
"flex-center column items-center q-py-lg"
v-else
>
<BuyProduct></BuyProduct>
</div>
<div
class=
"q-mt-md"
style=
"display: flex;justify-content: center;"
>
<el-pagination
v-model:current-page=
"currentPage"
:page-size=
"datas.queryMsg.pageSize"
small=
"small"
layout=
"prev, pager, next"
:total=
"datas.queryMsg.total"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
/>
</div>
</el-tab-pane>
<el-tab-pane
label=
"第三方资源"
name=
"4"
>
<SpiderResource
@
change=
"(payload:string)=> spiderImgUrl=payload"
></SpiderResource>
<SpiderResource
@
change=
"(payload:string)=> spiderImgUrl=payload"
v-if=
"userInfo.iv||userInfo.it"
></SpiderResource>
<div
class=
"flex-center column items-center q-py-lg"
v-else
>
<BuyProduct></BuyProduct>
</div>
</el-tab-pane>
<el-tab-pane
label=
"本地图"
name=
"2"
>
<FileInput
@
change=
"files => insertImageElement(files)"
>
...
...
@@ -95,15 +96,16 @@ import { type UploadProps, type UploadUserFile,type UploadInstance, ElMessage, E
import
useCreateElement
from
'@/hooks/useCreateElement'
import
useHistorySnapshot
from
'@/hooks/useHistorySnapshot'
import
{
getImageDataURL
}
from
'@/utils/image'
import
{
useMainStore
,
useSlidesStore
,
useScreenStore
}
from
'@/store'
import
{
useMainStore
,
useSlidesStore
,
useScreenStore
,
useUserStore
}
from
'@/store'
import
{
injectKeyDataSource
}
from
'@/types/injectKey'
import
ConfigService
from
'@/services/ConfigService'
import
{
VIEWPORT_SIZE
,
VIEWPORT_VER_SIZE
}
from
'@/configs/canvas'
import
FileService
from
'@/services/FileService'
import
SpiderResource
from
'@/views/Editor/CanvasTool/SpiderResource.vue'
import
type
{
PPTImageElement
,
SlideBackground
}
from
'@/types/slides'
import
FileInput
from
'@/components/FileInput.vue'
import
BuyProduct
from
'@/components/User/BuyProduct.vue'
const
showVisible
=
ref
(
true
)
const
activeName
=
ref
(
"1"
)
const
imgVisibleStore
=
useScreenStore
()
...
...
@@ -116,6 +118,9 @@ const spiderImgUrl = ref('')
const
currentPage
=
ref
(
1
)
const
upload
=
ref
<
UploadInstance
>
()
const
{
userInfo
}
=
storeToRefs
(
useUserStore
())
if
(
!
userInfo
.
value
.
iv
&&
!
userInfo
.
value
.
it
)
activeName
.
value
=
"2"
const
imgType
=
ref
(
0
)
// 1 插入图片 2替换图片
imgType
.
value
=
inject
(
'imgType'
)
const
propsDatas
=
ref
<
any
>
({})
...
...
@@ -295,6 +300,7 @@ const SearchHandler = async () => {
await
getImgList
()
}
const
getImgList
=
async
()
=>
{
if
(
!
userInfo
.
value
.
iv
&&
!
userInfo
.
value
.
it
)
return
datas
.
loading
=
true
try
{
let
datasRes
=
await
ConfigService
.
GetPicList
(
datas
.
queryMsg
);
...
...
src/views/Editor/CanvasTool/index.vue
View file @
8de42d27
...
...
@@ -52,7 +52,7 @@
<IconInsertTable
class=
"handler-item"
v-tooltip=
"'插入表格'"
/>
</Popover>
<IconFormula
class=
"handler-item"
v-tooltip=
"'插入公式'"
@
click=
"latexEditorVisible = true"
/>
<IconEarth
class=
"handler-item"
v-tooltip=
"'编辑地图'"
@
click=
"mapVisibleStatus = true"
/>
<IconEarth
class=
"handler-item"
v-tooltip=
"'编辑地图'"
@
click=
"mapVisibleStatus = true"
v-if=
"userInfo.iv||userInfo.it"
/>
<!-- <Popover trigger="click" v-model:value="mediaInputVisible">
<template #content>
<MediaInput
...
...
@@ -100,7 +100,7 @@
<
script
lang=
"ts"
setup
>
import
{
ref
,
provide
}
from
'vue'
import
{
storeToRefs
}
from
'pinia'
import
{
useMainStore
,
useSnapshotStore
,
useScreenStore
}
from
'@/store'
import
{
useMainStore
,
useSnapshotStore
,
useScreenStore
,
useUserStore
}
from
'@/store'
import
{
getImageDataURL
}
from
'@/utils/image'
import
type
{
ShapePoolItem
}
from
'@/configs/shapes'
import
type
{
LinePoolItem
}
from
'@/configs/lines'
...
...
@@ -130,6 +130,8 @@ const { redo, undo } = useHistorySnapshot()
const
{
imgPoolVisible
}
=
storeToRefs
(
useScreenStore
())
const
{
userInfo
}
=
storeToRefs
(
useUserStore
())
const
{
scaleCanvas
,
setCanvasScalePercentage
,
...
...
src/views/Editor/EditorHeader/index.vue
View file @
8de42d27
...
...
@@ -70,7 +70,7 @@
<IconUpload
class=
"icon"
/>
</div>
</div>
<div
v-if=
"!searchData.noExportPermission"
class=
"menu-item"
v-tooltip=
"'导出'"
@
click=
"setDialogForExport('image')"
>
<div
v-if=
"!searchData.noExportPermission"
class=
"menu-item
q-mr-md
"
v-tooltip=
"'导出'"
@
click=
"setDialogForExport('image')"
>
<IconDownload
class=
"icon"
/>
</div>
<el-button
type=
"primary"
...
...
@@ -91,19 +91,20 @@
<template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item>
<el-button
type=
"
primary
"
size=
"
small
"
:loading=
"datas.loading"
style=
"color: #ffff;"
<el-button
type=
"
default
"
size=
"
large
"
:loading=
"datas.loading"
link
@
click
.
stop=
"setTemplate(0)"
>
保存
{{
searchData
.
TemplateType
!=
2
?
'行程'
:
'广告'
}}
保存
<!--
{{
searchData
.
TemplateType
!=
2
?
'行程'
:
'广告'
}}
-->
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"
primary
"
size=
"
small
"
:loading=
"datas.loading"
style=
"color: #ffff;"
<el-button
type=
"
default
"
size=
"
large
"
:loading=
"datas.loading"
link
@
click
.
stop=
"setTemplate(1)"
>
另存
{{
searchData
.
TemplateType
!=
2
?
'行程'
:
'广告'
}}
另存为...
<!--
{{
searchData
.
TemplateType
!=
2
?
'行程'
:
'广告'
}}
-->
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
...
...
src/views/SellTemplate/Workspace.vue
View file @
8de42d27
...
...
@@ -17,8 +17,8 @@
</el-dropdown>
<div
class=
"tabs-items"
>
<div
class=
"item"
:class=
"{'active':currentMenu==0}"
@
click=
"setCurrentMenuHandler(0)"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Clock
/></el-icon>
最近
</div>
<div
class=
"item"
:class=
"{'active':currentMenu==1}"
@
click=
"setCurrentMenuHandler(1)"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Star
/></el-icon>
星标
</div>
<div
class=
"item"
:class=
"{'active':currentMenu==2}"
@
click=
"setCurrentMenuHandler(2)"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Share
/></el-icon>
共享
</div>
<div
class=
"item"
:class=
"{'active':currentMenu==1}"
@
click=
"setCurrentMenuHandler(1)"
v-if=
"userInfo.iv||userInfo.it"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Star
/></el-icon>
星标
</div>
<div
class=
"item"
:class=
"{'active':currentMenu==2}"
@
click=
"setCurrentMenuHandler(2)"
v-if=
"userInfo.it"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Share
/></el-icon>
共享
</div>
</div>
<div
class=
"tabs-items"
>
...
...
@@ -28,7 +28,7 @@
</div>
<div
class=
"tabs-items"
>
<div
class=
"item"
:class=
"{'active':currentMenu==-1}"
@
click=
"setCurrentMenuHandler(-1)"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Delete
/></el-icon>
回收站
</div>
<div
class=
"item"
:class=
"{'active':currentMenu==-1}"
@
click=
"setCurrentMenuHandler(-1)"
v-if=
"userInfo.iv||userInfo.it"
><el-icon
color=
"#564bec"
class=
"q-mr-md"
size=
"16"
><Delete
/></el-icon>
回收站
</div>
</div>
</div>
<div
class=
"col"
>
...
...
src/views/SellTemplate/components/journeyAdsList.vue
View file @
8de42d27
...
...
@@ -106,11 +106,11 @@
<el-dropdown-item
v-if=
"(datas.loggedder==scope.row.CreateName&&scope.row.FileType>0)||scope.row.IsView"
icon=
"View"
@
click=
"viewTemplate(scope.row)"
>
查看
</el-dropdown-item>
<template
v-if=
"currentMenu!=-1&&datas.loggedder==scope.row.CreateName"
>
<el-dropdown-item
v-if=
"scope.row.FileType"
icon=
"EditPen"
@
click
.
stop=
"startEditTitle(scope.row)"
>
重命名
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.FileType"
icon=
"Clock"
@
click
.
stop=
"history(scope.row)"
>
历史版本
</el-dropdown-item>
<el-dropdown-item
icon=
"Position"
@
click
.
stop=
"()=>setFileShareHandler(scope.row)"
>
分享
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.IsShare"
icon=
"Hide"
@
click
.
stop=
"removeShareHandler(scope.row)"
>
取消分享
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.FileType
&& (userInfo.iv || userInfo.it)
"
icon=
"Clock"
@
click
.
stop=
"history(scope.row)"
>
历史版本
</el-dropdown-item>
<el-dropdown-item
icon=
"Position"
@
click
.
stop=
"()=>setFileShareHandler(scope.row)"
v-if=
"userInfo.it"
>
分享
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.IsShare
&& userInfo.it
"
icon=
"Hide"
@
click
.
stop=
"removeShareHandler(scope.row)"
>
取消分享
</el-dropdown-item>
<el-dropdown-item
v-if=
"currentMenu==3||currentMenu==4"
icon=
"Expand"
@
click
.
stop=
"MoveFile(scope.row)"
>
移动至
</el-dropdown-item>
<el-dropdown-item
v-if=
"scope.row.FileType"
@
click
.
stop=
"CollectHandler(scope.row)"
>
<el-dropdown-item
v-if=
"scope.row.FileType
&& (userInfo.iv || userInfo.it)
"
@
click
.
stop=
"CollectHandler(scope.row)"
>
<span
class=
"row items-center"
>
<el-icon
:color=
"scope.row.IsCollect?'#FCC525':'#65676B'"
size=
"14"
>
<Star
/></el-icon>
...
...
src/views/UserCenter/Index.vue
View file @
8de42d27
...
...
@@ -6,9 +6,9 @@
<div
class=
"q-mt-sm text-info"
>
个人账号ID:
{{
userInfo
.
cardno
??
'8027970449819221090'
}}
</div>
</div>
<div
class=
"text-white"
>
{{
userTheme
?.
desc
}}
</div>
<div
:style=
"
{'background':vipTheme.color}" v-if="userTheme?.name=='FREE'"
class="text-white pingfangr q-ml-lg rounded cusor-pointer q-py-md q-px-lg no-select">升级为VIP
</div>
<div
:style=
"
{'background':vipTheme.color}" v-if="userTheme?.name=='FREE'"
@click="()=>orderVisible=true" class="text-white pingfangr q-ml-lg rounded cusor-pointer q-py-md q-px-lg no-select">解锁专业版
</div>
<!--
<div
:style=
"
{'background':vipTheme.color}" v-if="1==2" class="text-white pingfangr q-ml-lg rounded cusor-pointer q-py-md q-px-lg no-select">续费VIP
</div>
-->
<
div
:style=
"
{'background':enTheme.color}" v-if="userTheme?.name=='FREE'" class="text-white pingfangr q-ml-lg rounded cusor-pointer q-py-md q-px-lg no-select">升级为企业
</div
>
<
!--
<div
:style=
"
{'background':enTheme.color}" v-if="userTheme?.name=='FREE'" class="text-white pingfangr q-ml-lg rounded cusor-pointer q-py-md q-px-lg no-select">升级为企业
</div>
--
>
</div>
<div
class=
"q-mt-xl"
>
...
...
@@ -104,7 +104,7 @@
</el-card>
</div>
</div>
<OrderReview
v-if=
"orderVisible"
:default-type=
"1"
@
close=
"()=>orderVisible=false"
></OrderReview>
</
template
>
<
script
lang=
"ts"
setup
>
...
...
@@ -112,11 +112,12 @@ import { ENT_USER_THEME, VIP_USER_THEME } from "@/configs/customer";
import
{
useUserStore
}
from
"@/store"
;
import
{
storeToRefs
}
from
"pinia"
;
import
{
ref
}
from
"vue"
;
import
OrderReview
from
'@/views/components/Order/Review.vue'
const
useUser
=
useUserStore
()
const
{
userInfo
}
=
storeToRefs
(
useUser
)
const
userTheme
=
useUser
.
getUserTheme
const
orderVisible
=
ref
(
false
)
const
vipTheme
=
VIP_USER_THEME
const
enTheme
=
ENT_USER_THEME
...
...
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