Commit 8de42d27 authored by 罗超's avatar 罗超

优化部分页面,完成权限调整

parent 028523e4
...@@ -47,7 +47,6 @@ const healthCheckHandler = async ()=>{ ...@@ -47,7 +47,6 @@ const healthCheckHandler = async ()=>{
await UserServices.CollectAsync() await UserServices.CollectAsync()
} }
} }
setInterval(() => { setInterval(() => {
healthCheckHandler() healthCheckHandler()
}, 1000*60) }, 1000*60)
......
<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
...@@ -136,7 +136,7 @@ const moreList = [ ...@@ -136,7 +136,7 @@ const moreList = [
{ icon: require("@/assets/img/homeMore0.png"), Name: "添加到桌面" }, { icon: require("@/assets/img/homeMore0.png"), Name: "添加到桌面" },
{ icon: require("@/assets/img/homeMore1.png"), Name: "关注公众号" }, { icon: require("@/assets/img/homeMore1.png"), Name: "关注公众号" },
{ icon: require("@/assets/img/homeMore2.png"), Name: "我的订单", Url:'/u/order' }, { 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 = ()=>{ const forwardUserCenter = ()=>{
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
:gap="gaps[water.de-1]" :gap="gaps[water.de-1]"
:offset="[0,0]" :offset="[0,0]"
:image="water.wmtype==2?water.content:''" :image="water.wmtype==2?water.content:''"
:font="{fontSize:water.cz,color:water.color}" :font="{fontSize:water.cz,color:water.color,fontWeight:400}"
> >
</el-watermark> </el-watermark>
</template> </template>
...@@ -21,7 +21,7 @@ import { storeToRefs } from "pinia" ...@@ -21,7 +21,7 @@ import { storeToRefs } from "pinia"
import { ref, watch } from "vue" import { ref, watch } from "vue"
import { useRouter } from "vue-router" import { useRouter } from "vue-router"
const { token } = storeToRefs(useUserStore()) const { token,userInfo } = storeToRefs(useUserStore())
const water = ref<any>() const water = ref<any>()
const gaps = [[100,100],[150,150],[200,200]] const gaps = [[100,100],[150,150],[200,200]]
const exportRule = ['/editor/'] const exportRule = ['/editor/']
...@@ -46,10 +46,27 @@ const waterVisibleHandler = ()=>{ ...@@ -46,10 +46,27 @@ const waterVisibleHandler = ()=>{
const url = router.currentRoute.value.path const url = router.currentRoute.value.path
showWater.value = ruleRouter.value.findIndex(x=>url.includes(x))!=-1 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) => { watch(() => router.currentRoute.value.path, (toPath) => {
waterVisibleHandler() waterVisibleHandler()
},{immediate: true,deep: true}) },{immediate: true,deep: true})
loadWater()
if(userInfo.value.iv || userInfo.value.it) loadWater()
else freeUserWatermake()
</script> </script>
<style> <style>
......
...@@ -11,7 +11,7 @@ export const fillDigit = (digit: number, len: number) => { ...@@ -11,7 +11,7 @@ export const fillDigit = (digit: number, len: number) => {
export const openNewBlank = (path:string) => { export const openNewBlank = (path:string) => {
if(path!=''){ 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') window.open(url, '_blank')
} }
} }
......
<template> <template>
<div class="window-height regist-box column flex-center items-center"> <div class="window-height regist-box column flex-center items-center">
<div class="col column flex-center items-center rounded light-shadow q-pa-xl bg-white" style="margin: 60px 0;"> <div class="column flex-center items-center rounded light-shadow q-pa-xl bg-white" style="margin: 60px 0;">
<div style="width:400px;"> <div style="width:400px;padding:0 50px;">
<div class="text-center"> <div class="text-center">
<div style="font-size: 36px; " class="text-dark">创建Travel Design账户</div> <div style="font-size: 1.88vw; line-height: 1;" class="text-dark text-weight-bolder row items-end flex-center">
<div class="text-info text-small">开启行程设计第一步</div> <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> </div>
<el-form ref="registFormRef" :model="model" :rules="rules" label-width="0px" size="large" class="full-width q-mt-lg" :disabled="loading"> <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"> <el-form-item label="" prop="nickname">
...@@ -50,10 +53,10 @@ interface RuleForm { ...@@ -50,10 +53,10 @@ interface RuleForm {
confirmPwd:string confirmPwd:string
} }
const model = ref<{account:string,password:string,nickname:string,confirmPwd:string}>({ const model = ref<{account:string,password:string,nickname:string,confirmPwd:string}>({
account:'luochao', account:'',
password:'123456', password:'',
nickname:'罗超', nickname:'',
confirmPwd:'123456' confirmPwd:''
}) })
const validateToken = ref('') const validateToken = ref('')
const registFormRef = ref<FormInstance>() const registFormRef = ref<FormInstance>()
...@@ -127,8 +130,8 @@ const redicetToLogin = ()=>{ ...@@ -127,8 +130,8 @@ const redicetToLogin = ()=>{
</script> </script>
<style> <style>
.regist-box{ .regist-box{
background-image: url('../../assets/img/homeBJ.png'),linear-gradient(0deg, #E3ECFF, #FFFFFF); background-image: url('../../assets/img/regist.png'),linear-gradient(0deg, #E3ECFF, #FFFFFF);
background-size: auto auto; background-size: 100% auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
</style> </style>
\ No newline at end of file
...@@ -6,55 +6,56 @@ ...@@ -6,55 +6,56 @@
</div> </div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="ERP资料库" name="1"> <el-tab-pane label="ERP资料库" name="1">
<el-row class="q-mb-md"> <template v-if="userInfo.iv||userInfo.it">
<el-col :span="6"> <el-row class="q-mb-md">
<el-select v-model="datas.queryMsg.Type" class="m-2" <el-col :span="6">
@change="SearchHandler()"> <el-select v-model="datas.queryMsg.Type" class="m-2"
<el-option @change="SearchHandler()">
v-for="item in typeLists" <el-option
:key="item.value" v-for="item in typeLists"
:label="item.label" :key="item.value"
:value="item.value" :label="item.label"
/> :value="item.value"
</el-select> />
</el-col> </el-select>
<el-col :span="18"> </el-col>
<el-input v-model="datas.queryMsg.Name" <el-col :span="18">
placeholder="输入关键字快速查找" clearable <el-input v-model="datas.queryMsg.Name" placeholder="输入关键字快速查找" clearable class="input-with-select q-pl-lg" @change="SearchHandler()"></el-input>
class="input-with-select q-pl-lg" @keyup.enter="SearchHandler()"> </el-col>
<template #append> </el-row>
<el-button style="color: #fff;" type="primary" @click="SearchHandler">搜索</el-button> <div class="row UploadPicture-box" v-loading="datas.loading">
</template> <div v-for="(item,index) in datas.imgList" class="UploadPicture-list">
</el-input> <div class="UploadPicture-listBox">
</el-col> <img :src="item.Path" class="rounded" @click="getImgs(item,index)"/>
</el-row> <div class="UploadPicture-Hover" v-if="item.show">
<div class="row UploadPicture-box" v-loading="datas.loading"> <div>
<div v-for="(item,index) in datas.imgList" class="UploadPicture-list"> <el-icon :size="20"><CircleCheckFilled/></el-icon>
<div class="UploadPicture-listBox"> </div>
<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>
</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>
<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>
<el-tab-pane label="第三方资源" name="4"> <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>
<el-tab-pane label="本地图" name="2"> <el-tab-pane label="本地图" name="2">
<FileInput @change="files => insertImageElement(files)"> <FileInput @change="files => insertImageElement(files)">
...@@ -95,15 +96,16 @@ import { type UploadProps, type UploadUserFile,type UploadInstance, ElMessage, E ...@@ -95,15 +96,16 @@ import { type UploadProps, type UploadUserFile,type UploadInstance, ElMessage, E
import useCreateElement from '@/hooks/useCreateElement' import useCreateElement from '@/hooks/useCreateElement'
import useHistorySnapshot from '@/hooks/useHistorySnapshot' import useHistorySnapshot from '@/hooks/useHistorySnapshot'
import { getImageDataURL } from '@/utils/image' import { getImageDataURL } from '@/utils/image'
import { useMainStore, useSlidesStore, useScreenStore } from '@/store' import { useMainStore, useSlidesStore, useScreenStore, useUserStore } from '@/store'
import { injectKeyDataSource } from '@/types/injectKey' import { injectKeyDataSource } from '@/types/injectKey'
import ConfigService from '@/services/ConfigService' import ConfigService from '@/services/ConfigService'
import { VIEWPORT_SIZE, VIEWPORT_VER_SIZE } from '@/configs/canvas' import { VIEWPORT_SIZE, VIEWPORT_VER_SIZE } from '@/configs/canvas'
import FileService from '@/services/FileService' import FileService from '@/services/FileService'
import SpiderResource from '@/views/Editor/CanvasTool/SpiderResource.vue' import SpiderResource from '@/views/Editor/CanvasTool/SpiderResource.vue'
import type { PPTImageElement, SlideBackground } from '@/types/slides' import type { PPTImageElement, SlideBackground } from '@/types/slides'
import FileInput from '@/components/FileInput.vue' import FileInput from '@/components/FileInput.vue'
import BuyProduct from '@/components/User/BuyProduct.vue'
const showVisible = ref(true) const showVisible = ref(true)
const activeName = ref("1") const activeName = ref("1")
const imgVisibleStore = useScreenStore() const imgVisibleStore = useScreenStore()
...@@ -116,6 +118,9 @@ const spiderImgUrl = ref('') ...@@ -116,6 +118,9 @@ const spiderImgUrl = ref('')
const currentPage = ref(1) const currentPage = ref(1)
const upload = ref<UploadInstance>() const upload = ref<UploadInstance>()
const { userInfo } =storeToRefs(useUserStore())
if(!userInfo.value.iv && !userInfo.value.it) activeName.value="2"
const imgType = ref(0) // 1 插入图片 2替换图片 const imgType = ref(0) // 1 插入图片 2替换图片
imgType.value = inject('imgType') imgType.value = inject('imgType')
const propsDatas = ref<any>({}) const propsDatas = ref<any>({})
...@@ -295,6 +300,7 @@ const SearchHandler = async () => { ...@@ -295,6 +300,7 @@ const SearchHandler = async () => {
await getImgList() await getImgList()
} }
const getImgList = async () =>{ const getImgList = async () =>{
if(!userInfo.value.iv && !userInfo.value.it) return
datas.loading = true datas.loading = true
try { try {
let datasRes = await ConfigService.GetPicList(datas.queryMsg); let datasRes = await ConfigService.GetPicList(datas.queryMsg);
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<IconInsertTable class="handler-item" v-tooltip="'插入表格'" /> <IconInsertTable class="handler-item" v-tooltip="'插入表格'" />
</Popover> </Popover>
<IconFormula class="handler-item" v-tooltip="'插入公式'" @click="latexEditorVisible = true" /> <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"> <!-- <Popover trigger="click" v-model:value="mediaInputVisible">
<template #content> <template #content>
<MediaInput <MediaInput
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { ref, provide } from 'vue' import { ref, provide } from 'vue'
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { useMainStore, useSnapshotStore, useScreenStore } from '@/store' import { useMainStore, useSnapshotStore, useScreenStore, useUserStore } from '@/store'
import { getImageDataURL } from '@/utils/image' import { getImageDataURL } from '@/utils/image'
import type { ShapePoolItem } from '@/configs/shapes' import type { ShapePoolItem } from '@/configs/shapes'
import type { LinePoolItem } from '@/configs/lines' import type { LinePoolItem } from '@/configs/lines'
...@@ -130,6 +130,8 @@ const { redo, undo } = useHistorySnapshot() ...@@ -130,6 +130,8 @@ const { redo, undo } = useHistorySnapshot()
const { imgPoolVisible } = storeToRefs(useScreenStore()) const { imgPoolVisible } = storeToRefs(useScreenStore())
const { userInfo } =storeToRefs(useUserStore())
const { const {
scaleCanvas, scaleCanvas,
setCanvasScalePercentage, setCanvasScalePercentage,
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<IconUpload class="icon" /> <IconUpload class="icon" />
</div> </div>
</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" /> <IconDownload class="icon" />
</div> </div>
<el-button type="primary" <el-button type="primary"
...@@ -91,19 +91,20 @@ ...@@ -91,19 +91,20 @@
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item> <el-dropdown-item>
<el-button type="primary" <el-button type="default"
size="small" :loading="datas.loading" size="large" :loading="datas.loading"
style="color: #ffff;" link
@click.stop="setTemplate(0)"> @click.stop="setTemplate(0)">
保存{{searchData.TemplateType!=2?'行程':'广告'}} 保存<!-- {{searchData.TemplateType!=2?'行程':'广告'}} -->
</el-button> </el-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item> <el-dropdown-item>
<el-button type="primary" <el-button type="default"
size="small" :loading="datas.loading" size="large" :loading="datas.loading"
style="color: #ffff;" link
@click.stop="setTemplate(1)"> @click.stop="setTemplate(1)">
另存{{searchData.TemplateType!=2?'行程':'广告'}} 另存为...
<!-- {{searchData.TemplateType!=2?'行程':'广告'}} -->
</el-button> </el-button>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
</el-dropdown> </el-dropdown>
<div class="tabs-items"> <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==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==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)"><el-icon color="#564bec" class="q-mr-md" size="16"><Share /></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>
<div class="tabs-items"> <div class="tabs-items">
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</div> </div>
<div class="tabs-items"> <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> </div>
<div class="col"> <div class="col">
......
...@@ -106,11 +106,11 @@ ...@@ -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> <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"> <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="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 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)">分享</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" icon="Hide" @click.stop="removeShareHandler(scope.row)">取消分享</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="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"> <span class="row items-center">
<el-icon :color="scope.row.IsCollect?'#FCC525':'#65676B'" size="14"> <el-icon :color="scope.row.IsCollect?'#FCC525':'#65676B'" size="14">
<Star /></el-icon> <Star /></el-icon>
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
<div class="q-mt-sm text-info">个人账号ID:{{ userInfo.cardno??'8027970449819221090' }}</div> <div class="q-mt-sm text-info">个人账号ID:{{ userInfo.cardno??'8027970449819221090' }}</div>
</div> </div>
<div class="text-white">{{ userTheme?.desc }}</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':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>
<div class="q-mt-xl"> <div class="q-mt-xl">
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
</el-card> </el-card>
</div> </div>
</div> </div>
<OrderReview v-if="orderVisible" :default-type="1" @close="()=>orderVisible=false"></OrderReview>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
...@@ -112,11 +112,12 @@ import { ENT_USER_THEME, VIP_USER_THEME } from "@/configs/customer"; ...@@ -112,11 +112,12 @@ import { ENT_USER_THEME, VIP_USER_THEME } from "@/configs/customer";
import { useUserStore } from "@/store"; import { useUserStore } from "@/store";
import { storeToRefs } from "pinia"; import { storeToRefs } from "pinia";
import { ref } from "vue"; import { ref } from "vue";
import OrderReview from '@/views/components/Order/Review.vue'
const useUser = useUserStore() const useUser = useUserStore()
const { userInfo } = storeToRefs(useUser) const { userInfo } = storeToRefs(useUser)
const userTheme = useUser.getUserTheme const userTheme = useUser.getUserTheme
const orderVisible = ref(false)
const vipTheme = VIP_USER_THEME const vipTheme = VIP_USER_THEME
const enTheme = ENT_USER_THEME const enTheme = ENT_USER_THEME
......
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