移动端dashbord调整

This commit is contained in:
zzy 2023-04-21 16:54:59 +08:00
parent 3eb07382ae
commit cd4544afb8
20 changed files with 499 additions and 157 deletions

BIN
dist.zip

Binary file not shown.

View File

@ -1,15 +1,23 @@
<template > <template >
<el-config-provider :locale="store.localeLang"> <el-config-provider :locale="store.localeLang">
<div class="login"> <div class="login">
<router-view /> <router-view v-if="showRouter"/>
</div> </div>
</el-config-provider> </el-config-provider>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { defineComponent, ref, onBeforeMount, onMounted, watch } from 'vue' import { defineComponent, ref, onBeforeMount, onMounted, watch ,provide} from 'vue'
import { ElConfigProvider } from 'element-plus' import { ElConfigProvider } from 'element-plus'
import { ipoStore } from "@/stores/ipo" import { ipoStore } from "@/stores/ipo"
const showRouter=ref(true)
const reflashRouter=()=>{
showRouter.value=false;
setTimeout(()=>{
showRouter.value=true
},1)
}
provide('reflashRouter',reflashRouter);
function isMobileFn() { function isMobileFn() {
return 768 >= document.documentElement.clientWidth;//768true return 768 >= document.documentElement.clientWidth;//768true
} }
@ -24,8 +32,6 @@ const setFontSize = () => {
document.documentElement.style.fontSize = font + "px"; document.documentElement.style.fontSize = font + "px";
} }
</script> </script>
<style lang="scss" > <style lang="scss" >

View File

@ -19,7 +19,18 @@ export default {
Mainboard:'Main board', Mainboard:'Main board',
GEM:'GEM', GEM:'GEM',
new:'New', new:'New',
title:{
All:'All',
None:'None',
IPOStatus:'IPO Status',
TradingCurrency:'Trading Currency',
OfferingType:'Offering Type',
SecuritiestobeListed:'Securities to be Listed',
ListingPlatform:'Listing Platform',
ListingType:'Listing Type',
APPLY:'Apply',
Cancel:'Cancel'
}
}, },
dashboard:{ dashboard:{
Home:'Home', Home:'Home',

View File

@ -18,7 +18,19 @@ export default {
Cancelled:'取消', Cancelled:'取消',
Mainboard:'主板上市', Mainboard:'主板上市',
GEM:'创业板', GEM:'创业板',
new:'新上市' new:'新上市',
title:{
All:'全选',
None:'全不选',
IPOStatus:'首次公开招股状况',
TradingCurrency:'交易货币',
OfferingType:'招股类型',
SecuritiestobeListed:'拟上市证券',
ListingPlatform:'上市平台',
ListingType:'上市类型',
APPLY:'提交',
Cancel:'取消'
}
}, },
dashboard:{ dashboard:{
Home:'主页', Home:'主页',

View File

@ -18,7 +18,19 @@ export default {
Cancelled:'取消', Cancelled:'取消',
Mainboard:'主板上市', Mainboard:'主板上市',
GEM:'創業板', GEM:'創業板',
new:'新上市' new:'新上市',
title:{
All:'全選',
None:'全不選',
IPOStatus:'首次公開招股狀況',
TradingCurrency:'交易貨幣',
OfferingType:'招股類型',
SecuritiestobeListed:'擬上市證券',
ListingPlatform:'上市平台',
ListingType:'上市類型',
APPLY:'提交',
Cancel:'取消'
}
}, },
dashboard:{ dashboard:{
Home:'主頁', Home:'主頁',

View File

@ -187,7 +187,7 @@ const data = defineProps<{ info: obj[], title: string }>()
font-size: 12px; font-size: 12px;
position: relative; position: relative;
.name2 {} // .name2 {}
@ -207,7 +207,7 @@ const data = defineProps<{ info: obj[], title: string }>()
color: #355D80; color: #355D80;
} }
.info2 {} // .info2 {}
} }
.table { .table {

View File

@ -2,12 +2,12 @@
<div class="headerWrap"> <div class="headerWrap">
<el-drawer v-model="drawer" size="80%" direction="ltr" :show-close="false" :before-close="handleDrawer" <el-drawer v-model="drawer" size="80%" direction="ltr" :show-close="false" :before-close="handleDrawer"
style="background-color: #1C3F56;" :with-header="false"> style="background-color: #1C3F56;" :with-header="false">
<Drawer :drawer = "drawer" @childfn="fn"/> <Drawer :drawer="drawer" @childfn="fn" />
</el-drawer> </el-drawer>
<div class="hleft"> <div class="hleft">
<div class="left-1"> <div class="left-1">
<img src="@/assets/1x/1x/source5.png" alt="menu" @click="openDrawer" class="menu"> <img src="@/assets/1x/1x/source5.png" alt="menu" @click="openDrawer" class="menu">
<div class="title">{{ $t(i18n.global.t('dashboard.IPOReferenceData')) }}</div> <div class="title">{{ $t(i18n.global.t('dashboard.IPOReferenceData')) }}</div>
</div> </div>
<div class="search" @click="handlesearch"> <div class="search" @click="handlesearch">
@ -50,7 +50,6 @@ const openDrawer = () => {
drawer.value = true; drawer.value = true;
} }
const handleShowLang = (e: any) => { const handleShowLang = (e: any) => {
console.log(1111)
e.stopPropagation() e.stopPropagation()
lang.value.showLang = !lang.value.showLang lang.value.showLang = !lang.value.showLang
} }
@ -60,8 +59,8 @@ onMounted(() => {
lang.value.showLang = false lang.value.showLang = false
} }
}) })
function fn(data:any){ function fn(data: any) {
drawer.value = data drawer.value = data
} }
onUnmounted(() => { onUnmounted(() => {
document.documentElement.onclick = null document.documentElement.onclick = null
@ -69,11 +68,12 @@ onUnmounted(() => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@media screen and (max-width: 768px){ @media screen and (max-width: 768px) {
.headerWrap{ .headerWrap {
margin-left: 18px; margin-left: 18px;
} }
} }
.langWrap { .langWrap {
// position: absolute; // position: absolute;
// // top:-20px; // // top:-20px;
@ -84,7 +84,7 @@ onUnmounted(() => {
margin-left: 15px; margin-left: 15px;
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
display: none; // display: none;
} }
.second { .second {
@ -103,6 +103,10 @@ onUnmounted(() => {
position: absolute; position: absolute;
top: 50px; top: 50px;
left: -50px; left: -50px;
@media screen and (max-width: 768px) {
left: -110px;
}
} }
.headerWrap { .headerWrap {
@ -124,6 +128,10 @@ onUnmounted(() => {
width: fit-content; width: fit-content;
position: relative; position: relative;
@media screen and (max-width: 768px) {
justify-content: flex-start;
}
.menu { .menu {
display: none; display: none;
@ -132,6 +140,7 @@ onUnmounted(() => {
vertical-align: middle; vertical-align: middle;
width: 25px; width: 25px;
height: 20px; height: 20px;
} }
} }
@ -167,6 +176,8 @@ onUnmounted(() => {
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
transform: translateY(-0.5vh); transform: translateY(-0.5vh);
position: absolute;
right: 50px;
} }
} }
} }

View File

@ -11,7 +11,7 @@ export default {
</script> </script>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, defineProps } from "vue" import { ref, defineProps ,computed} from "vue"
import i18n from '@/locales' import i18n from '@/locales'
import { getCurrentInstance } from 'vue' import { getCurrentInstance } from 'vue'
const { proxy } = (getCurrentInstance() as any) const { proxy } = (getCurrentInstance() as any)
@ -21,7 +21,7 @@ const scrollto = (index: number) => {
console.log(ref11) console.log(ref11)
props.scroll(ref11) props.scroll(ref11)
} }
const list = ref([proxy.$t('ipo.CompanyInformation'), proxy.$t('ipo.TypeofListing.TypeofListing'), proxy.$t('ipo.Offering.Offering'), proxy.$t('ipo.advisers.Adviser'), proxy.$t('ipo.Timetable.Timetable'), proxy.$t('ipo.Documents.Documents'), proxy.$t('ipo.TransactionCosts.TransactionCosts')]) const list = computed(() => ([proxy.$t('ipo.CompanyInformation'), proxy.$t('ipo.TypeofListing.TypeofListing'), proxy.$t('ipo.Offering.Offering'), proxy.$t('ipo.advisers.Adviser'), proxy.$t('ipo.Timetable.Timetable'), proxy.$t('ipo.Documents.Documents'), proxy.$t('ipo.TransactionCosts.TransactionCosts')]))
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -150,13 +150,15 @@ const Offerings = ref([
info: "100" info: "100"
}, },
{ {
name: proxy.$t('ipo.Offering.NumberofSharesHeldbyExistingShareholders'), // name: proxy.$t('ipo.Offering.NumberofSharesHeldbyExistingShareholders'),
info: "100,000", // info: "100,000", ----
name: "",
info: "",
name2: proxy.$t('ipo.Offering.NumberofOfferShares'), name2: proxy.$t('ipo.Offering.NumberofOfferShares'),
info2: "10,000,000", info2: "10,000,000",
table: { table: {
title: [{ header: proxy.$t('ipo.Offering.InititalandClawbackThrehold'), content: "number", width: isMobel()?33:50, align: "right" }, title: [{ header: proxy.$t('ipo.Offering.InititalandClawbackThrehold'), content: "number", width: isMobel() ? 33 : 50, align: "right" },
{ header: proxy.$t('ipo.Offering.PublicOfferAllocation'), content: "persent", width: isMobel()?38:50, align: "right" }], { header: proxy.$t('ipo.Offering.PublicOfferAllocation'), content: "persent", width: isMobel() ? 38 : 50, align: "right" }],
lists: [ lists: [
{ {
number: '1', number: '1',
@ -184,18 +186,18 @@ const Offerings = ref([
name: proxy.$t('ipo.Offering.OfferSizeAdjustmentOption'), name: proxy.$t('ipo.Offering.OfferSizeAdjustmentOption'),
info: "5.00%" info: "5.00%"
}, },
{ // {--------
name: proxy.$t('ipo.Offering.OverallotmentOptionInclusiveofOfferSizeAdjustmentOption'), // name: proxy.$t('ipo.Offering.OverallotmentOptionInclusiveofOfferSizeAdjustmentOption'),
info: "inclusive" // info: "inclusive"
}, // },
{ // {-------------
name: proxy.$t('ipo.Offering.OverallotmentOption'), // name: proxy.$t('ipo.Offering.OverallotmentOption'),
info: "5.00%" // info: "5.00%"
}, // },
{ {
name: proxy.$t('ipo.Offering.DenominationTable'), name: proxy.$t('ipo.Offering.DenominationTable'),
table: { table: {
title: [{ header: proxy.$t('ipo.Offering.ApplicationQuantity'), content: "number", width: isMobel()?35:50, align: "right" }, title: [{ header: proxy.$t('ipo.Offering.ApplicationQuantity'), content: "number", width: isMobel() ? 35 : 50, align: "right" },
{ header: proxy.$t('ipo.Offering.MaximumPayableonApplication'), content: "persent", width: 50, align: "right" }], { header: proxy.$t('ipo.Offering.MaximumPayableonApplication'), content: "persent", width: 50, align: "right" }],
lists: [ lists: [
{ {
@ -274,10 +276,10 @@ const Timetable = ref([
info2: "09:00", info2: "09:00",
table: { table: {
title: [ title: [
{ header: " ", content: "des",width: isMobel()?50: 43, align: "left" }, { header: " ", content: "des", width: isMobel() ? 50 : 43, align: "left" },
{ width: 12 }, // { width: 12 }, //
{ header: proxy.$t('ipo.Timetable.Date'), content: "number", width: isMobel()?30: 20, align: "left" }, { header: proxy.$t('ipo.Timetable.Date'), content: "number", width: isMobel() ? 30 : 20, align: "left" },
{ header: proxy.$t('ipo.Timetable.Time'), content: "persent", width: isMobel()?22: 20, align: "left" }], { header: proxy.$t('ipo.Timetable.Time'), content: "persent", width: isMobel() ? 22 : 20, align: "left" }],
lists: [ lists: [
{ {
des: proxy.$t('ipo.Timetable.DealPublicOfferStartDate'), des: proxy.$t('ipo.Timetable.DealPublicOfferStartDate'),
@ -342,9 +344,9 @@ const content = ref()
onMounted( onMounted(
() => { () => {
data.value = JSON.parse(localStorage.getItem('itemData') as string) data.value = JSON.parse(localStorage.getItem('itemData') as string)
getreferencedata() getreferencedata()
setDownLoad() setDownLoad()
// text(); // text();
} }
) )
async function text() { async function text() {
@ -366,7 +368,7 @@ const getreferencedata = async () => {
setTransaction((res as any).data[0]) setTransaction((res as any).data[0])
setTimeTable((res as any).data[0]) setTimeTable((res as any).data[0])
} }
function isMobel(){ function isMobel() {
return 768 >= document.documentElement.clientWidth; return 768 >= document.documentElement.clientWidth;
} }
function setInformation(mockRes: any) { function setInformation(mockRes: any) {
@ -423,11 +425,11 @@ function setOfferings(mockRes: any) {
{ info: has_data(priceMin?.toFixed(3)) + "-" + has_data(priceMax?.toFixed(3)), info2: has_data(priceFinal?.toFixed(3)) }, { info: has_data(priceMin?.toFixed(3)) + "-" + has_data(priceMax?.toFixed(3)), info2: has_data(priceFinal?.toFixed(3)) },
{ info: has_data(boardLot) }, { info: has_data(boardLot) },
{ info: keepTwoDecimalStr(poReallocationCap) }, { info: keepTwoDecimalStr(poReallocationCap) },
{ info: "-", info2s: [has_data(ipoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), has_data(poSharesFinal?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), has_data(ioOfferSharesFinal?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))], table: clawback }, { info: "-", info2s: [has_data(ipoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))], table: clawback },
{ info: has_data(overallPoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), info2: has_data(overallIoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), }, { info: has_data(overallPoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), info2: has_data(overallIoShares?.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')), },
{ info: has_data(upsizeOption?.toFixed(2),"%") }, { info: has_data(upsizeOption?.toFixed(2), "%") },
{ info: "-" }, // { info: "-" },
{ info: keepTwoDecimalStr(overallotOption) }, // { info: "-" },
{ table: denomTable } { table: denomTable }
] ]
// info2s: [has_data(ipoShares) , has_data(poSharesFinal) , has_data(ioOfferSharesFinal)], // info2s: [has_data(ipoShares) , has_data(poSharesFinal) , has_data(ioOfferSharesFinal)],
@ -445,7 +447,7 @@ function setOfferings(mockRes: any) {
if (dataObj[index].table) { if (dataObj[index].table) {
filterObj.table = { title: item.table?.title, lists: [] } filterObj.table = { title: item.table?.title, lists: [] }
filterObj.table.lists = dataObj[index].table.map((element: any) => { filterObj.table.lists = dataObj[index].table.map((element: any) => {
if (index == 10) { if (index == 8) {
function formatNumber(num: number | string) { function formatNumber(num: number | string) {
return num.toString().replace(/\d+/, function (n: string) { return num.toString().replace(/\d+/, function (n: string) {
return n.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') return n.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
@ -597,7 +599,7 @@ function setTypeofListing(mockRes: any) {
{ info: has_data(nomValue), info2: nomCur as any }, { info: has_data(nomValue), info2: nomCur as any },
{ info: listPlatform }, { info: listPlatform },
{ info: has_data(listSecurities) },] { info: has_data(listSecurities) },]
// { info: has_data(listingCategories) }] // { info: has_data(listingCategories) }]
TypeOfListing.value = TypeOfListing.value.map((item, index) => { TypeOfListing.value = TypeOfListing.value.map((item, index) => {
if (arr[index].info2) { if (arr[index].info2) {
return { ...item, info: arr[index].info, info2: arr[index].info2 } return { ...item, info: arr[index].info, info2: arr[index].info2 }
@ -615,7 +617,7 @@ function setAdvisers(mockRes: any) {
{ infos: filter(sponsors) }, { infos: filter(sponsors) },
{ infos: filter(legalSponsor) }, { infos: filter(legalSponsor) },
{ info: has_data(legalIssuer) }, { info: has_data(legalIssuer) },
{ infos: underwriters }, { infos: filter(underwriters) },
{ infos: filter(advisers) }, { infos: filter(advisers) },
{ infos: filter(overallCoordinators) }, { infos: filter(overallCoordinators) },
{ infos: filter(distributors) }, { infos: filter(distributors) },
@ -712,10 +714,18 @@ function setTimeTable(mockRes: any) {
}) })
function timeTo(time: string | null | undefined) { function timeTo(time: string | null | undefined) {
if (time) { if (time) {
return [moment(time).format("YYYY-MM-DD"), moment(time).format("HH:mm")] return [moment(time).format("YYYY-MM-DD"), toEmpty(moment(time).format("HH:mm"))]
} else { } else {
return ["-", "-"] return ["-", "-"]
} }
function toEmpty(time: string) {
//00:00
if (time == "00:00") {
return ""
} else {
return time
}
}
} }
} }
@ -752,21 +762,24 @@ function scrollTo(stron: string) {
} }
} }
async function setDownLoad (){ async function setDownLoad() {
const ipoID = localStorage.getItem('ipoID'); const ipoID = localStorage.getItem('ipoID');
const res = await getIpo(ipoID as string) const res = await getIpo(ipoID as string)
const enHref = `${(res as any).data[0].pdfLink.eLink}`; const enHref = `${(res as any).data[0].pdfLink.eLink}`;
const chinaHref = `${(res as any).data[0].pdfLink.cLink}`; const chinaHref = `${(res as any).data[0].pdfLink.cLink}`;
Documents.value= [ // if((res as any).data[0].pdfLink.eLink.length === 0){
{ // alert("")
name: proxy.$t('ipo.Documents.ListingDocumentEnglish'), // }
info: "ipo.pdf", Documents.value = [
name2: proxy.$t('ipo.Documents.ListingDocumentChinese'), {
info2: "ipo.pdf", name: proxy.$t('ipo.Documents.ListingDocumentEnglish'),
href: enHref, info: "ipo.pdf",
href2:chinaHref name2: proxy.$t('ipo.Documents.ListingDocumentChinese'),
}, info2: "ipo.pdf",
] href: enHref,
href2: chinaHref
},
]
} }

View File

@ -203,7 +203,7 @@ const backRouter = () => {
} }
:deep(.el-calendar-table){ :deep(.el-calendar-table){
margin-top: 20px; margin-top: 20px;
width: 375px; width: 100vw;
transform: translateX(-19px); transform: translateX(-19px);
} }
:deep(.el-calendar) { :deep(.el-calendar) {

View File

@ -87,7 +87,6 @@ const drawShow = () => {
// align-items: end; // align-items: end;
position: relative; position: relative;
margin-left: 15px; margin-left: 15px;
.second { .second {
width: 32px; width: 32px;
@ -123,7 +122,7 @@ const drawShow = () => {
justify-content: space-between; justify-content: space-between;
padding-top: 40px; padding-top: 40px;
transform: translateY(-20px); transform: translateY(-20px);
height: 50px;
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
flex-direction: column; flex-direction: column;

View File

@ -187,7 +187,7 @@ const handleclick = (item: any) => {
width: 270px; width: 270px;
// height: 360px; // height: 360px;
// height: fit-content; height: fit-content;
// min-height: 350px; // min-height: 350px;
margin-top: 30px; margin-top: 30px;
margin-left: 20px; margin-left: 20px;

View File

@ -41,7 +41,7 @@ const rightWidth = computed(()=>{
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
height: 20px; height: 28px;
width: 400px; width: 400px;
@media screen and (max-width: 768px){ @media screen and (max-width: 768px){
width: 80vw; width: 80vw;
@ -51,7 +51,7 @@ const rightWidth = computed(()=>{
.left{ .left{
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: start;
height: 100%; height: 100%;
background-color:#ee4040 ; background-color:#ee4040 ;
font-weight: bold; font-weight: bold;
@ -61,7 +61,7 @@ const rightWidth = computed(()=>{
.right { .right {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: end;
height: 100%; height: 100%;
background-color:#98c2f2 ; background-color:#98c2f2 ;
font-weight: bold; font-weight: bold;

View File

@ -230,8 +230,8 @@ const LineData = reactive({
ids: [] as any ids: [] as any
}) })
const PublicOfferX1 = ref<string[]>([]) const PublicOfferX1 = ref<string[]>([])
const PublicOfferY1 = ref<string[]>([]) const PublicOfferY1 = ref<any[]>([])
const PublicOfferZ1 = ref<string[]>([]) const PublicOfferZ1 = ref<any[]>([])
const PublicOfferX = ref<string[]>([]) const PublicOfferX = ref<string[]>([])
const PublicOfferY = ref<string[]>([]) const PublicOfferY = ref<string[]>([])
const InitialAllocationPublic = ref('') const InitialAllocationPublic = ref('')
@ -259,19 +259,19 @@ const setBar = async () => {
const ipoID = localStorage.getItem('ipoID') const ipoID = localStorage.getItem('ipoID')
const result = await getIpo(ipoID as string) const result = await getIpo(ipoID as string)
// console.log(ipoID,(result as any).data[0]); // console.log(ipoID,(result as any).data[0]);
console.log(ipoID, (result as any).data[0]); if((result as any).data[0].graph!=null){
PublicOfferX1.value = (result as any).data[0].graph.map((item: any) => {
return moment(item.dateTime).format('MM/DD')
})
PublicOfferY1.value = (result as any).data[0].graph.map((item: any) => {
return item.poApplicationQuantity / 1000000;
});
PublicOfferZ1.value = (result as any).data[0].graph.map((item: any) => {
const number=(item.poApplicationQuantity) / item.poSharesInitial
return number.toFixed(2);
});
// if((result as any).data[0].graph!=null){ }
// PublicOfferX1.value = (result as any).data[0].graph.map((item: any) => {
// return moment(item.dateTime).format('MM/DD')
// })
// PublicOfferY1.value = (result as any).data[0].graph.map((item: any) => {
// return item.poApplicationQuantity / 1000000;
// });
// PublicOfferZ1.value = (result as any).data[0].graph.map((item: any) => {
// return (item.poApplicationQuantity) / item.poSharesInitial;
// });
// }
const amount = Number(initialpublic.value) + Number(initialinstituational.value); const amount = Number(initialpublic.value) + Number(initialinstituational.value);
InitialAllocationPublic.value = Math.round(Number(initialpublic.value) / amount * 10000) / 100 + "%"; InitialAllocationPublic.value = Math.round(Number(initialpublic.value) / amount * 10000) / 100 + "%";
@ -280,7 +280,7 @@ const setBar = async () => {
} }
onMounted(() => { onMounted(() => {
// setBarRight(); // setBarRight();
setBar() setBar()//real
}) })
const getdatatime = async () => { const getdatatime = async () => {
const res = await getHomeIpo(1) const res = await getHomeIpo(1)
@ -377,6 +377,11 @@ function calendarAddLine() {
span.style.backgroundColor = line.color span.style.backgroundColor = line.color
item.dom.appendChild(span) item.dom.appendChild(span)
Arr[index].push({ dom: item.dom }) Arr[index].push({ dom: item.dom })
if(768 >= document.documentElement.clientWidth){
span.style.width = '48px'
span.style.height = '8px'
span.style.borderRadius = "0px 10px 10px 0px"
}
} }
return {} return {}
}) })
@ -384,23 +389,34 @@ function calendarAddLine() {
console.log('Arr', Arr)//dom:div.el-calendar-day console.log('Arr', Arr)//dom:div.el-calendar-day
Arr.forEach((item: any) => { Arr.forEach((item: any) => {
if (item.length) { if (item.length) {
console.log(item[0].dom.children[1], item.length)
item[0].dom.children[1].style.marginLeft = "23px"// item[0].dom.children[1].style.marginLeft = "23px"//
item[0].dom.children[1].style.width = "42px" item[0].dom.children[1].style.width = "42px"
item[0].dom.children[1].style.borderRadius = "10px 0px 0px 10px"; item[0].dom.children[1].style.borderRadius = "10px 0px 0px 10px";
item[item.length - 1].dom.children[1].style.width = "42px"// item[item.length - 1].dom.children[1].style.width = "42px"//
item[item.length - 1].dom.children[1].style.borderRadius = "0px 20px 20px 0px"; item[item.length - 1].dom.children[1].style.borderRadius = "0px 20px 20px 0px";
if(768 >= document.documentElement.clientWidth){
item[0].dom.children[1].style.marginLeft = "23px"//
item[0].dom.children[1].style.width = "19px"
item[0].dom.children[1].style.borderRadius = "10px 0px 0px 10px";
item[item.length - 1].dom.children[1].style.width = "23px"//
item[item.length - 1].dom.children[1].style.borderRadius = "0px 10px 10px 0px";
}
} }
if (item.length == 1) {//1 if (item.length == 1) {//1
// console.log('item',item) // console.log('item',item)
item[0].dom.children[1].style.marginLeft = "11px" item[0].dom.children[1].style.marginLeft = "11px"
item[0].dom.children[1].style.width = "42px" item[0].dom.children[1].style.width = "42px"
item[0].dom.children[1].style.borderRadius = "10px"; item[0].dom.children[1].style.borderRadius = "10px";
if(768 >= document.documentElement.clientWidth){
item[0].dom.children[1].style.marginLeft = "7px"
item[0].dom.children[1].style.width = "30px"
item[0].dom.children[1].style.borderRadius = "10px";
}
} }
}) })
} }
function init() { function init() {
// domecharts // domecharts
var myChart = echarts.init(main.value); var myChart = echarts.init(main.value);
@ -425,7 +441,7 @@ function init() {
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value',
max: 9, max: Math.floor(PublicOfferY1.value.sort().reverse()[0]*2),
min: 0, min: 0,
splitNumber: 9, splitNumber: 9,
boundaryGap: [0.2, 0.2], boundaryGap: [0.2, 0.2],
@ -439,9 +455,10 @@ function init() {
type: 'value', type: 'value',
name: proxy.$t('dashboard.Ratio'), name: proxy.$t('dashboard.Ratio'),
min: 0, min: 0,
max: 1.8, max: Math.floor(PublicOfferZ1.value.sort().reverse()[0]*1.5),
splitNumber: 9, splitNumber: 9,
alignTicks: true, alignTicks: true,
scale:true
} }
], ],
@ -451,6 +468,8 @@ function init() {
name: proxy.$t('dashboard.Ratio'), name: proxy.$t('dashboard.Ratio'),
type: 'line', type: 'line',
data: PublicOfferZ1.value, data: PublicOfferZ1.value,
yAxisIndex: 1,
// data:PublicOfferY.value, // data:PublicOfferY.value,
// markLine:{ // markLine:{
@ -636,6 +655,12 @@ drawer.value = data
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
// @media screen and (max-width: 768px){
// .desmidle{
// font-size: 15px;
// }
// }
.login1 { .login1 {
background-image: url("@/assets/1x/beijingtu.png"); background-image: url("@/assets/1x/beijingtu.png");
background-repeat: no-repeat; background-repeat: no-repeat;
@ -682,7 +707,7 @@ drawer.value = data
} }
.content { .content {
width: 100%; width: 120%;
// height: 100vh; // height: 100vh;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -701,6 +726,7 @@ drawer.value = data
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
flex-direction: column; flex-direction: column;
margin-top: 30px;
} }
.pulic { .pulic {
@ -709,6 +735,9 @@ drawer.value = data
justify-content: space-between; justify-content: space-between;
margin-left: 55px; margin-left: 55px;
align-items: flex-end; align-items: flex-end;
@media screen and (max-width: 768px){
margin-left: 21px;
}
} }
.pulic1 { .pulic1 {
@ -717,6 +746,9 @@ drawer.value = data
justify-content: space-between; justify-content: space-between;
align-items: flex-end; align-items: flex-end;
margin-left: 35px; margin-left: 35px;
@media screen and (max-width: 768px){
margin-left: 0px;
}
} }
.pulic2 { .pulic2 {
@ -725,23 +757,26 @@ drawer.value = data
justify-content: space-between; justify-content: space-between;
align-items: flex-end; align-items: flex-end;
margin-left: 5px; margin-left: 5px;
@media screen and (max-width: 768px){
margin-left: -25px;
width: 85vw;
}
} }
.public-left { .public-left {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
// width:80px; // width:80px;
min-width: 80px; //min-width: 80px;
justify-content: space-between; justify-content: space-between;
color: #647c8b; color: #647c8b;
} }
.public-left1 { .public-left1 {
display: flex; display: flex;
margin-top: 10px; margin-top: 10px;
min-width: 120px; //min-width: 120px;
justify-content: space-between; justify-content: space-between;
color: #647c8b; color: #647c8b;
} }
@ -835,6 +870,9 @@ drawer.value = data
display: flex; display: flex;
flex-direction: row-reverse; flex-direction: row-reverse;
// background-color: #20b109; // background-color: #20b109;
@media screen and (max-width: 768px){
font-size: 20px;
}
} }
.yuan2 { .yuan2 {
@ -884,7 +922,7 @@ drawer.value = data
} }
.topleft-bottom { .topleft-bottom {
transform: translateY(-40px); transform: translateY(-10px);
} }
@ -895,7 +933,7 @@ drawer.value = data
} }
.topright-p { .topright-p {
transform: translateY(-170%); transform: translateY(-165%);
} }
.p-1 { .p-1 {
@ -946,7 +984,7 @@ drawer.value = data
.p-4 { .p-4 {
margin-top: 3px; margin-top: 3px;
margin-left: 50px; margin-left: 50px;
font-size: 19px;
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
width: 80vw; width: 80vw;
transform: translateX(-6vw); transform: translateX(-6vw);
@ -996,13 +1034,13 @@ drawer.value = data
.content-topleft { .content-topleft {
width: 490px; width: 490px;
height: 530px; height: 560px;
background-color: #fff; background-color: #fff;
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
width: 92vw; width: 90vw;
margin-left: 5vw; margin-left: 5vw;
height: 500px;
} }
// background-color: red; // background-color: red;
@ -1023,7 +1061,7 @@ drawer.value = data
.content-topright { .content-topright {
width: 490px; width: 490px;
height: 530px; height: 560px;
background-color: #fff; background-color: #fff;
margin-left: 20px; margin-left: 20px;
@ -1133,7 +1171,7 @@ drawer.value = data
font-family: "Calibri"; font-family: "Calibri";
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
width: 71vw; width: 75vw;
margin-left: -4px; margin-left: -4px;
} }
} }

View File

@ -71,7 +71,7 @@ const handDashBoard = () => {
margin-top: 10px; margin-top: 10px;
margin-left: 20px; margin-left: 20px;
background-color: #fff; background-color: #fff;
font-size: 24px; font-size: 21px;
display: flex; display: flex;
align-items: center; align-items: center;
color: #2B4A60; color: #2B4A60;

View File

@ -14,18 +14,30 @@ export default {
<script lang="ts" setup> <script lang="ts" setup>
import { ref, defineExpose } from 'vue'; import { ref, defineExpose ,inject} from 'vue';
import { getCurrentInstance } from 'vue' import { getCurrentInstance } from 'vue'
import { ipoStore } from "@/stores/ipo" import { ipoStore } from "@/stores/ipo"
import { useRouter } from "vue-router";
const store = ipoStore() const store = ipoStore()
const route=useRouter()
const { proxy } = (getCurrentInstance() as any) const { proxy } = (getCurrentInstance() as any)
const showLang = ref(false) const showLang = ref(false)
const reflashRouter=inject('reflashRouter') as Function
const IpoReflash=()=>{
if(route.options.history.location=="/IPO"||route.options.history.location=="/home"){
reflashRouter()
}
}
const handleLang1 = () => { const handleLang1 = () => {
if (proxy.$i18n.locale = 'en') { if (proxy.$i18n.locale = 'en') {
proxy.$i18n.locale = 'en' proxy.$i18n.locale = 'en'
} }
store.setLocale(1) store.setLocale(1)
IpoReflash()
} }
const handleLang2 = () => { const handleLang2 = () => {
if (proxy.$i18n.locale = 'zhCt') { if (proxy.$i18n.locale = 'zhCt') {
proxy.$i18n.locale = 'zhCt' proxy.$i18n.locale = 'zhCt'
@ -33,12 +45,14 @@ const handleLang2 = () => {
} }
store.setLocale(2) store.setLocale(2)
IpoReflash()
} }
const handleLang3 = () => { const handleLang3 = () => {
if (proxy.$i18n.locale = 'zhCn') { if (proxy.$i18n.locale = 'zhCn') {
proxy.$i18n.locale = 'zhCn' proxy.$i18n.locale = 'zhCn'
} }
store.setLocale(3) store.setLocale(3)
IpoReflash()
} }
defineExpose({ defineExpose({
showLang showLang

View File

@ -1,7 +1,6 @@
<template> <template>
<div class="bigbox" @click="handleclick(props.data)"> <div class="bigbox" @click="handleclick(props.data)">
<Aimage :src="props.data.logolinks" :number="props.data.number"/> <Aimage :src="props.data.logolinks" :number="props.data.number"/>
<div class="list"> <div class="list">
<div class="list-content"> <div class="list-content">
<div class="top"> <div class="top">
@ -18,7 +17,6 @@
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
<el-icon class="icon1" v-if="item.icon"> <el-icon class="icon1" v-if="item.icon">
<Check v-if="item.icon == 1" /> <Check v-if="item.icon == 1" />
<!-- <Filter v-if="item.icon==2" /> -->
<img v-if="item.icon == 2" src="@/assets/1x/1x/source9.png" class="icon"> <img v-if="item.icon == 2" src="@/assets/1x/1x/source9.png" class="icon">
</el-icon> </el-icon>
</h5> </h5>
@ -122,7 +120,7 @@ const code22 = ref('')
// } // }
// }) // })
onUpdated(() => { onMounted(() => {
var obj = { var obj = {
25: proxy.$t('home.DealInitiated'), 25: proxy.$t('home.DealInitiated'),
30: proxy.$t('home.PublicOfferClosed'), 30: proxy.$t('home.PublicOfferClosed'),
@ -136,10 +134,8 @@ onUpdated(() => {
80: proxy.$t('home.Suspended'), 80: proxy.$t('home.Suspended'),
90: proxy.$t('home.Cancelled'), 90: proxy.$t('home.Cancelled'),
} }
console.log('&&&&', props.data.status) // console.log('&&&&', props.data.status)
const stron = props.data.status const stron = props.data.status
if (isValidKey(stron, obj)) { if (isValidKey(stron, obj)) {
code22.value = obj[stron]; code22.value = obj[stron];
// console.log('kkkk',stron,obj[stron]) // console.log('kkkk',stron,obj[stron])
@ -155,6 +151,7 @@ onUpdated(() => {
return { ...item, icon: 0 } return { ...item, icon: 0 }
} }
}) })
// tsobj[stron] // tsobj[stron]
function isValidKey( function isValidKey(
key: string | number | symbol, key: string | number | symbol,
@ -164,28 +161,12 @@ onUpdated(() => {
} }
}) })
const cardDetail = (e: any) => { const cardDetail = (e: any) => {
e.stopPropagation(); e.stopPropagation();
expand.value = !expand.value; expand.value = !expand.value;
} }
// const fontstyle = computed((status)=>{
// if(status == 80 ){
// return {'color':'red'}
// }
// if(status == 90){
// return {'color':'red'}
// }
// })
// function fontstyle(status:any){
// console.log(status);
// if(status == 80 ){
// return {'color':'red'}
// }
// if(status == 90){
// return {'color':'red'}
// }
// }
// //
const handleclick = (item: any) => { const handleclick = (item: any) => {
localStorage.setItem('ipoID', item.ipoID) localStorage.setItem('ipoID', item.ipoID)
@ -206,7 +187,7 @@ const handleclick = (item: any) => {
width: 270px; width: 270px;
// height: 360px; // height: 360px;
// height: fit-content; height: fit-content;
// min-height: 350px; // min-height: 350px;
margin-top: 30px; margin-top: 30px;
margin-left: 20px; margin-left: 20px;

View File

@ -2,7 +2,25 @@
<div class="selectWrap" v-if="showSelect" @click="preVant"> <div class="selectWrap" v-if="showSelect" @click="preVant">
<div class="box"> <div class="box">
<div class="content"> <div class="content">
<div class="title">IPO Status</div> <li>
<div class="word" @click="checkAll(1)">
{{ $t(i18n.global.t('home.title.All')) }}
<div class="check">
<el-icon v-if="checkedAll==1">
<Check></Check>
</el-icon>
</div>
</div>
<div class="word" @click="checkAll(2)">{{ $t(i18n.global.t('home.title.None')) }}
<div class="check">
<el-icon v-if="checkedAll==2">
<Check></Check>
</el-icon>
</div>
</div>
</li>
<div class="title">{{ $t(i18n.global.t('home.title.IPOStatus')) }}</div>
<li> <li>
<div class="word" v-for="item in obj.ipoStatus" :key="item.key" @click="ipoStatusSlect(item.key)"> <div class="word" v-for="item in obj.ipoStatus" :key="item.key" @click="ipoStatusSlect(item.key)">
<div class="check"> <div class="check">
@ -13,7 +31,7 @@
<span>{{ item.value }}</span> <span>{{ item.value }}</span>
</div> </div>
</li> </li>
<div class="title">tradingCurrency</div> <div class="title">{{ $t(i18n.global.t('home.title.TradingCurrency')) }}</div>
<li> <li>
<div class="word" v-for="item in obj.tradingCurrency" :key="item.key" <div class="word" v-for="item in obj.tradingCurrency" :key="item.key"
@click="tradingCurrencySlect(item.key)"> @click="tradingCurrencySlect(item.key)">
@ -25,10 +43,54 @@
<span>{{ item.value }}</span> <span>{{ item.value }}</span>
</div> </div>
</li> </li>
<div class="title">{{ $t(i18n.global.t('home.title.OfferingType')) }}</div>
<li>
<div class="word" v-for="item in obj.offeringType" :key = "item.key" @click="offeringType(item.key)">
<div class="check">
<el-icon v-if="item.isSelcted">
<Check />
</el-icon>
</div>
<span>{{ item.value }}</span>
</div>
</li>
<div class="title">{{ $t(i18n.global.t('home.title.SecuritiestobeListed')) }}</div>
<li>
<div class="word" v-for="item in obj.SecuritiestobeListed" :key = "item.key" @click="SecuritiestobeListed(item.key)">
<div class="check">
<el-icon v-if="item.isSelcted">
<Check />
</el-icon>
</div>
<span>{{ item.value }}</span>
</div>
</li>
<div class="title">{{ $t(i18n.global.t('home.title.ListingPlatform')) }}</div>
<li>
<div class="word" v-for="item in obj.ListingPlatform" :key = "item.key" @click="ListingPlatform(item.key)">
<div class="check">
<el-icon v-if="item.isSelcted">
<Check />
</el-icon>
</div>
<span>{{ item.value }}</span>
</div>
</li>
<div class="title">{{ $t(i18n.global.t('home.title.ListingType')) }}</div>
<li>
<div class="word" v-for="item in obj.ListingType" :key = "item.key" @click="ListingType(item.key)">
<div class="check">
<el-icon v-if="item.isSelcted">
<Check />
</el-icon>
</div>
<span>{{ item.value }}</span>
</div>
</li>
</div> </div>
<div class="footer"> <div class="footer">
<button @click="confirm">Apply</button> <button @click="confirm">{{ $t(i18n.global.t('home.title.APPLY')) }}</button>
<button @click="confirm">Cancel</button> <button @click="confirm">{{ $t(i18n.global.t('home.title.Cancel')) }}</button>
</div> </div>
</div> </div>
@ -44,7 +106,12 @@ export default {
<script lang="ts" setup> <script lang="ts" setup>
import { ref, defineExpose, reactive } from 'vue'; import { ref, defineExpose, reactive } from 'vue';
import i18n from '@/locales'
import { getCurrentInstance } from 'vue'
type keyType='ipoStatus'|'tradingCurrency'|'offeringType'|'SecuritiestobeListed'|'ListingPlatform'|'ListingType'
const { proxy } = (getCurrentInstance() as any)
const showSelect = ref(false) const showSelect = ref(false)
const checkedAll=ref(0)
const confirm = () => { const confirm = () => {
showSelect.value = false; showSelect.value = false;
} }
@ -54,48 +121,48 @@ const preVant = (e: any) => {
const obj = reactive({ const obj = reactive({
ipoStatus: [{ ipoStatus: [{
key: 25, key: 25,
value: 'Deal Initiated', value: proxy.$t('home.DealInitiated'),
isSelcted: false isSelcted: false
}, },
{ {
key: 30, key: 30,
value: 'Public Offer Closed', value: proxy.$t('home.PublicOfferClosed'),
isSelcted: true isSelcted: true
}, { }, {
key: 35, key: 35,
value: 'Application Validated', value: proxy.$t('home.ApplicationValidated'),
isSelcted: true isSelcted: true
}, { }, {
key: 45, key: 45,
value: 'Allotment Confirmed', value: proxy.$t('home.AllotmentConfirmed'),
isSelcted: false isSelcted: false
}, { }, {
key: 50, key: 50,
value: 'Money Settlement', value: proxy.$t('home.MoneySettlement'),
isSelcted: false isSelcted: false
}, { }, {
key: 55, key: 55,
value: 'Allocation Confirmed', value: proxy.$t('home.AllocationConfirmed'),
isSelcted: false isSelcted: false
}, { }, {
key: 60, key: 60,
value: 'Placing Approved', value: proxy.$t('home.placingApproved'),
isSelcted: false isSelcted: false
}, { }, {
key: 65, key: 65,
value: 'Allotment Results Approved', value: proxy.$t('home.AllotmentResultsApproved'),
isSelcted: false isSelcted: false
}, { }, {
key: 70, key: 70,
value: 'Trading Started', value: proxy.$t('home.TradingStarted'),
isSelcted: false isSelcted: false
}, { }, {
key: 80, key: 80,
value: 'Suspended', value: proxy.$t('home.Suspended'),
isSelcted: false isSelcted: false
}, { }, {
key: 90, key: 90,
value: 'Cancelled', value: proxy.$t('home.Cancelled'),
isSelcted: false isSelcted: false
}], }],
tradingCurrency: [ tradingCurrency: [
@ -114,7 +181,125 @@ const obj = reactive({
value: 'United States Dollar', value: 'United States Dollar',
isSelcted: false isSelcted: false
} }
] ],
offeringType:[{
key:'1',
value:proxy.$t('ipo.TypeofListing.Globalofferplacingandpublicoffer'),
isSelcted: false
},{
key:'2',
value:proxy.$t('ipo.TypeofListing.Byplacingonly'),
isSelcted: false
},{
key:'3',
value:proxy.$t('ipo.TypeofListing.Bypublicofferonly'),
isSelcted: false
},{
key:'4',
value:proxy.$t('ipo.TypeofListing.Byintroduction'),
isSelcted: false
},
{
key:'5',
value:proxy.$t('ipo.TypeofListing.TransferfromGEM'),
isSelcted: true
}
],
SecuritiestobeListed:[{
key:'1',
value:proxy.$t('ipo.TypeofListing.Ordinaryshares'),
isSelcted: false
},{
key:'2',
value:proxy.$t('ipo.TypeofListing.OrdinarysharesHshares'),
isSelcted: false
},{
key:'3',
value:proxy.$t('ipo.TypeofListing.OrdinarysharesconversionfromBtoHshares'),
isSelcted: false
},{
key:'4',
value:proxy.$t('ipo.TypeofListing.Preferenceshares'),
isSelcted: false
},
{
key:'5',
value:proxy.$t('ipo.TypeofListing.RealEstateInvestmentTrust'),
isSelcted: true
},
{
key:'6',
value:proxy.$t('ipo.TypeofListing.ExchangeTradedProduct'),
isSelcted: true
},
{
key:'7',
value:proxy.$t('ipo.TypeofListing.DepositaryReceipts'),
isSelcted: true
},
{
key:'8',
value:proxy.$t('ipo.TypeofListing.ShareStapledUnits'),
isSelcted: true
},
{
key:'99',
value:proxy.$t('ipo.TypeofListing.Other'),
isSelcted: false
}
],
ListingPlatform:[{
key:'1',
value:proxy.$t('home.Mainboard'),
isSelcted: false
},{
key:'2',
value:proxy.$t('home.GEM'),
isSelcted: false
}],
ListingType:[{
key:'1',
value:proxy.$t('ipo.TypeofListing.Ordinaryshares'),
isSelcted: false
},{
key:'2',
value:proxy.$t('ipo.TypeofListing.OrdinarysharesHshares'),
isSelcted: false
},{
key:'3',
value:proxy.$t('ipo.TypeofListing.OrdinarysharesconversionfromBtoHshares'),
isSelcted: false
},{
key:'4',
value:proxy.$t('ipo.TypeofListing.Preferenceshares'),
isSelcted: false
},
{
key:'5',
value:proxy.$t('ipo.TypeofListing.RealEstateInvestmentTrust'),
isSelcted: true
},
{
key:'6',
value:proxy.$t('ipo.TypeofListing.ExchangeTradedProduct'),
isSelcted: true
},
{
key:'7',
value:proxy.$t('ipo.TypeofListing.DepositaryReceipts'),
isSelcted: true
},
{
key:'8',
value:proxy.$t('ipo.TypeofListing.ShareStapledUnits'),
isSelcted: true
},
{
key:'99',
value:proxy.$t('ipo.TypeofListing.Other'),
isSelcted: false
}
]
}) })
const ipoStatusSlect = (key: number) => { const ipoStatusSlect = (key: number) => {
obj.ipoStatus = obj.ipoStatus.map((item: any) => { obj.ipoStatus = obj.ipoStatus.map((item: any) => {
@ -132,6 +317,56 @@ const tradingCurrencySlect = (key: string) => {
return item return item
}) })
} }
const offeringType = (key: string) => {
obj.offeringType = obj.offeringType.map((item: any) => {
if (item.key == key) {
return { ...item, isSelcted: !item.isSelcted }
}
return item
})
}
const SecuritiestobeListed = (key: string) => {
obj.SecuritiestobeListed = obj.SecuritiestobeListed.map((item: any) => {
if (item.key == key) {
return { ...item, isSelcted: !item.isSelcted }
}
return item
})
}
const ListingPlatform = (key: string) => {
obj.ListingPlatform = obj.ListingPlatform.map((item: any) => {
if (item.key == key) {
return { ...item, isSelcted: !item.isSelcted }
}
return item
})
}
const ListingType = (key: string) => {
obj.ListingType = obj.ListingType.map((item: any) => {
if (item.key == key) {
return { ...item, isSelcted: !item.isSelcted }
}
return item
})
}
const checkAll = (number:number)=>{
if(checkedAll.value&&checkedAll.value==number){
checkedAll.value=0;
}else{
checkedAll.value=number;
selectAll(number as 1|2)
}
}
function selectAll(all:1|2){
// obj['ipoStatus']
var boolean=all==1?true:false;
Object.keys(obj).forEach((item:string)=>{
obj[item as keyType]=obj[item as keyType].map(element=>{
return {...element,isSelcted:boolean} as any;
})
})
}
defineExpose({ defineExpose({
showSelect showSelect
}) })
@ -140,7 +375,7 @@ defineExpose({
<style lang="scss" scoped> <style lang="scss" scoped>
.selectWrap { .selectWrap {
width: 800px; width: 800px;
height: 800px; height: 820px;
background-color: #fff; background-color: #fff;
border-radius: 20px; border-radius: 20px;
position: fixed; position: fixed;
@ -161,8 +396,8 @@ defineExpose({
.content { .content {
.title { .title {
font-size: 16px; font-size: 18px;
color: #8C979B; color: #879db2;
margin-top: 10px; margin-top: 10px;
} }
@ -177,9 +412,9 @@ defineExpose({
border-radius: 20px; border-radius: 20px;
// width: 50px; // width: 50px;
height: 20px; height: 20px;
background-color: #F2F0F5; background-color: #eff1f4;
padding: 5px 15px 5px 10px; padding: 5px 15px 5px 10px;
color: #6A7686; color: #879db2;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
cursor: pointer; cursor: pointer;
@ -208,7 +443,7 @@ defineExpose({
border: none; border: none;
font-weight: 600; font-weight: 600;
background-color: #fff; background-color: #fff;
color: #334B57; color: #557795;
padding: 10px 20px 10px 20px; padding: 10px 20px 10px 20px;
&:hover { &:hover {

View File

@ -62,12 +62,19 @@ export default {
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from "vue" import { ref } from "vue"
import { getCurrentInstance, onUnmounted } from 'vue' import { getCurrentInstance, onUnmounted,inject } from 'vue'
import { ipoStore } from "@/stores/ipo" import { ipoStore } from "@/stores/ipo"
import { useRouter } from "vue-router";
const route=useRouter()
const store = ipoStore() const store = ipoStore()
const { proxy } = (getCurrentInstance() as any) const { proxy } = (getCurrentInstance() as any)
let emit = defineEmits(['childfn']) let emit = defineEmits(['childfn'])
const reflashRouter=inject('reflashRouter') as Function
const IpoReflash=()=>{
if(route.options.history.location=="/IPO"||route.options.history.location=="/home"){
reflashRouter()
}
}
const props = defineProps({ const props = defineProps({
drawer:Boolean drawer:Boolean
}) })
@ -100,15 +107,17 @@ const handleLang1 = () => {
} }
store.setLocale(1) store.setLocale(1)
emit('childfn',!drawer) emit('childfn',!drawer)
IpoReflash()
} }
const handleLang2 = () => { const handleLang2 = () => {
if (proxy.$i18n.locale = 'zhCt') { if (proxy.$i18n.locale = 'zhCt') {
proxy.$i18n.locale = 'zhCt' proxy.$i18n.locale = 'zhCt'
IpoReflash()
} }
store.setLocale(2) store.setLocale(2)
emit('childfn',!drawer) emit('childfn',!drawer)
IpoReflash()
} }
const handleLang3 = () => { const handleLang3 = () => {
if (proxy.$i18n.locale = 'zhCn') { if (proxy.$i18n.locale = 'zhCn') {
@ -116,6 +125,7 @@ const handleLang3 = () => {
} }
store.setLocale(3) store.setLocale(3)
emit('childfn',!drawer) emit('childfn',!drawer)
IpoReflash()
} }
</script> </script>

View File

@ -1,6 +1,6 @@
{ {
"extends": "@vue/tsconfig/tsconfig.web.json", "extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*.vue", "shims.d.ts"], "include": ["env.d.ts", "src/**/*.vue", "shims.d.ts",],
"compilerOptions": { "compilerOptions": {
"target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
"module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, "module": "esnext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,