iopProject

This commit is contained in:
zhuzhuxia233 2023-04-12 14:40:19 +08:00
commit 54bc2204dc
133 changed files with 35706 additions and 0 deletions

5
.env Normal file
View File

@ -0,0 +1,5 @@
# port 端口号
VITE_PORT = 3000
# open 运行 npm run dev 时自动打开浏览器
VITE_OPEN = true

8
.env.development Normal file
View File

@ -0,0 +1,8 @@
# 本地环境
ENV = 'development'
# 本地环境接口地址
VITE_API_URL = '/api'
# 本地mock接口地址
VITE_MOCK_API_URL = '/mock'

5
.env.production Normal file
View File

@ -0,0 +1,5 @@
# 线上环境
ENV = 'production'
# 线上环境接口地址
VITE_API_URL = '/api'

18
.eslintrc.js Normal file
View File

@ -0,0 +1,18 @@
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");
module.exports = {
root: true,
extends: [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/eslint-config-typescript/recommended",
"@vue/eslint-config-prettier",
],
env: {
"vue/setup-compiler-macros": true,
},
globals: {
BMapGL: "readonly",
},
};

28
.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

1
.npmrc Normal file
View File

@ -0,0 +1 @@
auto-install-peers=true

10
.prettierignore Normal file
View File

@ -0,0 +1,10 @@
/node_modules/**
/dist/
/dist*
/public/*
/docs/*
/vite.config.ts
/src/types/env.d.ts
/docs/**/*
/plop/**/*
CHANGELOG

373
LICENSE Normal file
View File

@ -0,0 +1,373 @@
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# 说明
- 基于 Vue3 的项目
- 技术栈: TS + Vue3 + VueRouter4 + Pinia + ElementPlus
- 当前为完成版

19
db.json Normal file
View File

@ -0,0 +1,19 @@
{
"posts": [
{
"id": 1,
"title": "json-server",
"author": "typicode"
}
],
"comments": [
{
"id": 1,
"body": "some comment",
"postId": 1
}
],
"profile": {
"name": "typicode"
}
}

BIN
dist.zip Normal file

Binary file not shown.

1
env.d.ts vendored Normal file
View File

@ -0,0 +1 @@
/// <reference types="vite/client" />

18
index.html Normal file
View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<title>Vite App</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
<style>
</style>
</html>

9
mock/home/data.json Normal file
View File

@ -0,0 +1,9 @@
{
"code": 200,
"message": "",
"success": true,
"data": {
"name": "张三",
"age": "18"
}
}

279
mock/home/data1.json Normal file
View File

@ -0,0 +1,279 @@
{
"code": 200,
"msg": "",
"success": true,
"data": [
{
"listingDate": "2023-04-20 09:00:00",
"overallCoordinators": [
{
"member": "Credit Suisse (Hong Kong) Limited",
"id": "1"
},
{
"member": "China International Capital Corporation",
"id": "2"
}
],
"priceMax": 3.910,
"regsIndicator": "0",
"companyChiFull": "洲際船務集團控股有限公司",
"overallotPoShares": null,
"ioSharesInitial": "99999999",
"boardLot": 1000,
"overallIpoShares": null,
"sehkTradingFee": 0.00500,
"upsizePoShares": null,
"hkSharereg": "卓佳證券登記有限公司",
"primaryExchange": [
"10"
],
"priceMin": 3.270,
"siinputDate": null,
"logoLink": "http://192.168.2.11:8080/logo/getLogo?ipoID=02409",
"upsizeOption": 20.00,
"warrants": [
{
"totalWarrants": 10000000,
"warrantNameEngShort": "BABA-WRT 1",
"faceValue": "Dollar Amount",
"boardLot": 100000,
"warrantCode": "4988",
"warrantNameEngFull": "Alibaba Warrant 1",
"isin": "",
"subscriptionPrice": 2.0
},
{
"totalWarrants": 40000000,
"warrantNameEngShort": "BABA-WRT 2",
"faceValue": "Dollar Amount",
"boardLot": 100000,
"warrantCode": "4999",
"warrantNameEngFull": "Alibaba Warrant 2",
"isin": "",
"subscriptionPrice": 4.0
}
],
"sponsors": [
{
"member": "中泰國際融資有限公司",
"id": "1"
}
],
"legalSponsor": [
{
"member": "Clifford Chance",
"id": "1"
},
{
"member": "Deacons",
"id": "2"
}
],
"id": 1,
"sfcLevy": 0.00270,
"brokerage": 1.00000,
"ioOversubscriptionRatio": 1.00,
"totalIssuedHsharesListing": null,
"distributors": [
{
"member": "Citigroup Global Markets Asia",
"id": "1"
},
{
"member": "JP Morgan",
"id": "2"
},
{
"member": "The Hongkong and Shanghai Banking",
"id": "3"
}
],
"allotmentDate": "2023-04-19",
"overallPoShares": null,
"upsizeIoShares": null,
"companyChiShort": "洲際船務",
"clawback": [
{
"allocation": 2.5,
"threshold": 1,
"id": "1"
},
{
"allocation": 5,
"threshold": 15,
"id": "2"
},
{
"allocation": 7.5,
"threshold": 50,
"id": "3"
},
{
"allocation": 10,
"threshold": 100,
"id": "4"
}
],
"advisers": [],
"preIpoShares": "80000000",
"frcoLevy": 0.00015,
"totalIssuedCapitalListing": null,
"downwardPriceFlex": null,
"ipoID": "02409",
"status": "40",
"poApplicationQuantity": "530465900",
"pricingDate": "2021-04-30",
"priceFinal": null,
"hkAddress": [
{
"line": "26/F Tower One, Times Square",
"id": "1"
},
{
"line": "1 Matheson Street",
"id": "2"
},
{
"line": "Causeway Bay",
"id": "3"
},
{
"line": "Hong Kong",
"id": "4"
}
],
"ioOfferSharesFinal": null,
"poOversubscriptionRatio": 42.44,
"poSharesFinal": "50000000",
"ipoShares": "",
"companyEngFull": null,
"offerType": 1,
"overallotOption": 15.00,
"placingSharesDeliveryDate": "2021-05-04 09:00:00",
"stkCode": "02409",
"dualPrimaryExchange": null,
"nomCur": 2,
"prefOfferIndicator": "0",
"poReallocationCap": 20.00,
"poSharesInitial": "9999999",
"wvrRatio": "1,10",
"designatedSponsor": null,
"legalIssuer": "Freshfields Bruckhaus Deringer",
"companyEngShort": "Seacon Shipping ",
"ioApplicationQuantity": "487500000",
"placeOfCorp": "1",
"listPlatform": 1,
"overallIoShares": null,
"tradeCurrency": "HKD",
"bookCloseDate": "2023-04-13 12:00:00",
"denomTable": [
{
"shares": 100,
"id": "1",
"value": 188997.91
},
{
"shares": 200,
"id": "2",
"value": 37995.82
},
{
"shares": 300,
"id": "3",
"value": 56993.72
},
{
"shares": 400,
"id": "4",
"value": 75991.63
},
{
"shares": 500,
"id": "5",
"value": 94989.54
},
{
"shares": 600,
"id": "6",
"value": 113987.45
},
{
"shares": 700,
"id": "7",
"value": 132985.35
},
{
"shares": 800,
"id": "8",
"value": 151983.26
},
{
"shares": 900,
"id": "9",
"value": 170981.17
},
{
"shares": 1000,
"id": "10",
"value": 189979.08
},
{
"shares": 2000,
"id": "11",
"value": 379958.15
},
{
"shares": 3000,
"id": "12",
"value": 569937.23
},
{
"shares": 4000,
"id": "13",
"value": 759937.3
},
{
"shares": 5000,
"id": "14",
"value": 949895.38
},
{
"shares": 6000,
"id": "15",
"value": 1139874.46
},
{
"shares": 7000,
"id": "16",
"value": 1329853.53
},
{
"shares": 8000,
"id": "17",
"value": 1519832.61
},
{
"shares": 9000,
"id": "18",
"value": 1709811.68
},
{
"shares": 10000,
"id": "19",
"value": 1899790.76
}
],
"totalIssuedNonwvrsharesListing": null,
"overallotIoShares": null,
"biotechindicator": null,
"bookOpenDate": "2023-03-30 09:00:00",
"nomValue": 0.010000000000,
"listSecurities": 1,
"isin": "KYG017191142",
"underwriters": [
"中泰國際證券有限公司"
]
}
]
}

32
mock/home/data100.json Normal file
View File

@ -0,0 +1,32 @@
{
"code": 200,
"message": "",
"success": true,
"data": [
{
"ipoId": 1,
"stkCode": "stkCode",
"dateTime": "2023-03-31 09:00"
},
{
"ipoId": 2,
"stkCode": "stkCode",
"dateTime": "2023-03-31 09:00"
},
{
"ipoId": 3,
"stkCode": "stkCode",
"dateTime": "2023-03-31 09:00"
},
{
"ipoId": 4,
"stkCode": "stkCode",
"dateTime": "2023-03-31 09:00"
},
{
"ipoId": 5,
"stkCode": "stkCode",
"dateTime": "2023-03-31 09:00"
}
]
}

119
mock/home/data101.json Normal file
View File

@ -0,0 +1,119 @@
{
"code": 200,
"msg": "",
"success": true,
"data": [
{
"id": 1,
"ipoID": "02409",
"stkCode": "02409",
"isin": "KYG017191142",
"status": "25",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 2,
"ipoID": "01405",
"stkCode": "01405",
"isin": "CNE100004272",
"status": "30",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 3,
"ipoID": "02482",
"stkCode": "02482",
"isin": "KYG8208B1014",
"status": "45",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 4,
"ipoID": "02271",
"stkCode": "02271",
"isin": "KYG8208B1014",
"status": "60",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 5,
"ipoID": "02450",
"stkCode": "02450",
"isin": "KYG8208B1014",
"status": "70",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 6,
"ipoID": "02402",
"stkCode": "02402",
"isin": "KYG8208B1014",
"status": "70",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 7,
"ipoID": "06698",
"stkCode": "06698",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 8,
"ipoID": "00314",
"stkCode": "00314",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 9,
"ipoID": "02145",
"stkCode": "02145",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 10,
"ipoID": "09985",
"stkCode": "09985",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 11,
"ipoID": "02407",
"stkCode": "02407",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 12,
"ipoID": "02440",
"stkCode": "02440",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 13,
"ipoID": "02405",
"stkCode": "02405",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
},
{
"id": 14,
"ipoID": "02439",
"stkCode": "02439",
"isin": "KYG8208B1014",
"status": "55",
"dateTime": "2023-03-27T07:21:00.000+00:00"
}
]
}

277
mock/home/data4.json Normal file
View File

@ -0,0 +1,277 @@
{
"code": 200,
"message": "",
"success": true,
"data": [
{
"stkCode": "02409",
"status": "40",
"companyEngFull": "Seacon Shipping Group Holdings Limited444",
"companyEngShort": "Seacon Shipping ",
"companyChiFull": "洲際船務集團控股有限公司",
"companyChiShort": "洲際船務",
"placeOfCorp": "1",
"isin": "KYG017191142",
"nomValue": "0.000000000025",
"nomCur": "2",
"hkAddress": [
{
"id": "1",
"line": "26/F Tower One, Times Square"
},
{
"id": "2",
"line": "1 Matheson Street"
},
{
"id": "3",
"line": "Causeway Bay"
},
{
"id": "4",
"line": "Hong Kong"
}
],
"warrants": [
{
"warrantNameEngShort": "BABA-WRT 1",
"warrantNameEngFull": "Alibaba Warrant 1",
"warrantCode": "4988",
"isin": "",
"boardLot": 100000,
"subscriptionPrice": 2.000,
"faceValue": "Dollar Amount",
"totalWarrants": 10000000
},
{
"warrantNameEngShort": "BABA-WRT 2",
"warrantNameEngFull": "Alibaba Warrant 2",
"warrantCode": "4999",
"isin": "",
"boardLot": 100000,
"subscriptionPrice": 4.000,
"faceValue": "Dollar Amount",
"totalWarrants": 40000000
}
],
"offerType": 1,
"listSecurities": 1,
"listPlatform": 1,
"primaryExchange": [
"10"
],
"dualPrimaryExchange": null,
"biotechIndicator": "0",
"regsIndicator": "0",
"wvrRatio": "1,10",
"tradeCurrency": "HKD",
"boardLot": 100,
"downwardPriceFlex": 10,
"priceMin": 3.270,
"priceMax": 3.910,
"priceFinal": null,
"clawback": [
{
"id": "1",
"threshold": 1,
"allocation": 2.5
},
{
"id": "2",
"threshold": 15,
"allocation": 5
},
{
"id": "3",
"threshold": 50,
"allocation": 7.5
},
{
"id": "4",
"threshold": 100,
"allocation": 10
}
],
"preIpoShares": "80000000",
"ipoShares": "500000000",
"poSharesInitial": "12500000",
"poApplicationQuantity": "530465900",
"poOversubscriptionRatio": 42.44,
"poSharesFinal": "50000000",
"ioSharesInitial": "112500000",
"ioApplicationQuantity": "487500000",
"ioOversubscriptionRatio": 1.00,
"ioOfferSharesFinal": "450000000",
"poReallocationCap": 20,
"upsizeOption": 20,
"upsizePoShares": null,
"upsizeIoShares": null,
"overallotOption": 15,
"overallotPoShares": null,
"overallotIoShares": null,
"overallPoShares": null,
"overallIoShares": null,
"overallIpoShares ": null,
"totalIssuedCapitalListing": null,
"totalIssuedHsharesListing": null,
"totalIssuedNonwvrsharesListing": null,
"denomTable": [
{
"id": "1",
"shares": 100,
"value": 188997.91
},
{
"id": "2",
"shares": 200,
"value": 37995.82
},
{
"id": "3",
"shares": 300,
"value": 56993.72
},
{
"id": "4",
"shares": 400,
"value": 75991.63
},
{
"id": "5",
"shares": 500,
"value": 94989.54
},
{
"id": "6",
"shares": 600,
"value": 113987.45
},
{
"id": "7",
"shares": 700,
"value": 132985.35
},
{
"id": "8",
"shares": 800,
"value": 151983.26
},
{
"id": "9",
"shares": 900,
"value": 170981.17
},
{
"id": "10",
"shares": 1000,
"value": 189979.08
},
{
"id": "11",
"shares": 2000,
"value": 379958.15
},
{
"id": "12",
"shares": 3000,
"value": 569937.23
},
{
"id": "13",
"shares": 4000,
"value": 759937.30
},
{
"id": "14",
"shares": 5000,
"value": 949895.38
},
{
"id": "15",
"shares": 6000,
"value": 1139874.46
},
{
"id": "16",
"shares": 7000,
"value": 1329853.53
},
{
"id": "17",
"shares": 8000,
"value": 1519832.61
},
{
"id": "18",
"shares": 9000,
"value": 1709811.68
},
{
"id": "19",
"shares": 10000,
"value": 1899790.76
}
],
"designatedSponsor": "Credit Suisse (Hong Kong) Limited",
"sponsors": [
{
"id": "1",
"member": "中泰國際融資有限公司"
}
],
"legalSponsor": [
{
"id": "1",
"member": "Clifford Chance"
},
{
"id": "2",
"member": "Deacons"
}
],
"legalIssuer": "Freshfields Bruckhaus Deringer",
"underwriters": [],
"advisers": [],
"overallCoordinators": [
{
"id": "1",
"member": "Credit Suisse (Hong Kong) Limited"
},
{
"id": "2",
"member": "China International Capital Corporation"
}
],
"distributors": [
{
"id": "1",
"member": "Citigroup Global Markets Asia"
},
{
"id": "2",
"member": "JP Morgan"
},
{
"id": "3",
"member": "The Hongkong and Shanghai Banking"
}
],
"hkSharereg": "卓佳證券登記有限公司",
"bookOpenDate": "2023-03-14 09:00:00",
"bookCloseDate": "202-03-17 12:00:00",
"pricingDate": "2021-04-30",
"allotmentDate": "2023-03-28",
"listingDate": "2023-03-29 09:00:00",
"siInputDate": "2021-05-03",
"placingSharesDeliveryDate": "2021-05-04 09:00:00",
"prefOfferIndicator": "0",
"brokerage": 1.00000,
"sfcLevy": 0.00270,
"sehkTradingFee": 0.00500,
"frcoLevy": 0.00015
}
],
"totalSize": 1,
"timestamp": "2021-04-29 15:00:00",
"exception": []
}

1085
mock/home/dataSearch.json Normal file

File diff suppressed because it is too large Load Diff

146
mock/home/dataevent.json Normal file
View File

@ -0,0 +1,146 @@
{
"code": "200",
"msg": "",
"data": [
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02409",
"bookOpenDate": "2023-03-08 09:00:00",
"id": 1,
"isin": "KYG017191142",
"bookCloseDate": "2023-03-22 12:00:00",
"ipoID": "02409",
"status": "25"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "01405",
"bookOpenDate": "2023-03-02 09:00:00",
"id": 2,
"isin": "CNE100004272",
"bookCloseDate": "2023-03-16 12:00:00",
"ipoID": "01405",
"status": "30"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02482",
"bookOpenDate": "2023-03-12 09:00:00",
"id": 3,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-26 12:00:00",
"ipoID": "02482",
"status": "45"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02271",
"bookOpenDate": "2023-03-04 09:00:00",
"id": 4,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-18 12:00:00",
"ipoID": "02271",
"status": "60"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02450",
"bookOpenDate": "2023-03-11 09:00:00",
"id": 5,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-25 12:00:00",
"ipoID": "02450",
"status": "70"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02402",
"bookOpenDate": "2023-03-05 09:00:00",
"id": 6,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-19 12:00:00",
"ipoID": "02402",
"status": "70"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "06698",
"bookOpenDate": "2023-03-13 09:00:00",
"id": 7,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-27 12:00:00",
"ipoID": "06698",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "00314",
"bookOpenDate": "2023-03-01 09:00:00",
"id": 8,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-15 12:00:00",
"ipoID": "00314",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02145",
"bookOpenDate": "2023-03-03 09:00:00",
"id": 9,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-17 12:00:00",
"ipoID": "02145",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "09985",
"bookOpenDate": "2023-03-14 09:00:00",
"id": 10,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-28 12:00:00",
"ipoID": "09985",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02407",
"bookOpenDate": "2023-03-07 09:00:00",
"id": 11,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-21 12:00:00",
"ipoID": "02407",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02440",
"bookOpenDate": "2023-03-10 09:00:00",
"id": 12,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-24 12:00:00",
"ipoID": "02440",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02405",
"bookOpenDate": "2023-03-06 09:00:00",
"id": 13,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-20 09:00:00",
"ipoID": "02405",
"status": "55"
},
{
"dateTime": "2023-03-27 15:55:00",
"stkCode": "02439",
"bookOpenDate": "2023-03-09 09:00:00",
"id": 14,
"isin": "KYG8208B1014",
"bookCloseDate": "2023-03-23 09:00:00",
"ipoID": "02439",
"status": "55"
}
]
}

2039
mock/home/datahome.json Normal file

File diff suppressed because it is too large Load Diff

105
mock/home/dataoffer.json Normal file
View File

@ -0,0 +1,105 @@
{
"code": 200,
"msg": "",
"success": true,
"data": [
{
"listingDate": null,
"overallCoordinators": null,
"priceMax": null,
"regsIndicator": null,
"companyChiFull": null,
"overallotPoShares": null,
"ioSharesInitial": null,
"boardLot": null,
"overallIpoShares": null,
"sehkTradingFee": null,
"upsizePoShares": null,
"hkSharereg": null,
"primaryExchange": null,
"priceMin": null,
"siinputDate": null,
"logoLink": null,
"upsizeOption": null,
"warrants": null,
"sponsors": null,
"legalSponsor": null,
"id": null,
"sfcLevy": null,
"brokerage": null,
"ioOversubscriptionRatio": null,
"totalIssuedHsharesListing": null,
"distributors": null,
"allotmentDate": null,
"overallPoShares": null,
"upsizeIoShares": null,
"companyChiShort": null,
"clawback": [
{
"allocation": 2.5,
"threshold": 1,
"id": "1"
},
{
"allocation": 5,
"threshold": 15,
"id": "2"
},
{
"allocation": 7.5,
"threshold": 50,
"id": "3"
},
{
"allocation": 10,
"threshold": 100,
"id": "4"
}
],
"advisers": null,
"preIpoShares": null,
"frcoLevy": null,
"totalIssuedCapitalListing": null,
"downwardPriceFlex": 10,
"ipoID": null,
"status": null,
"poApplicationQuantity": null,
"pricingDate": null,
"priceFinal": null,
"hkAddress": null,
"ioOfferSharesFinal": null,
"poOversubscriptionRatio": null,
"poSharesFinal": "50000000",
"ipoShares": "",
"companyEngFull": null,
"offerType": null,
"overallotOption": 15.00,
"placingSharesDeliveryDate": null,
"stkCode": null,
"dualPrimaryExchange": null,
"nomCur": null,
"prefOfferIndicator": null,
"poReallocationCap": 20.00,
"poSharesInitial": null,
"wvrRatio": null,
"designatedSponsor": null,
"legalIssuer": null,
"companyEngShort": null,
"ioApplicationQuantity": null,
"placeOfCorp": null,
"listPlatform": null,
"overallIoShares": null,
"tradeCurrency": "HKD",
"bookCloseDate": null,
"denomTable": null,
"totalIssuedNonwvrsharesListing": null,
"overallotIoShares": null,
"biotechindicator": null,
"bookOpenDate": null,
"nomValue": null,
"listSecurities": null,
"isin": null,
"underwriters": null
}
]
}

84
mock/home/datatypeof.json Normal file
View File

@ -0,0 +1,84 @@
{
"code": 200,
"msg": "",
"success": true,
"data": [
{
"listingDate": null,
"overallCoordinators": null,
"priceMax": null,
"regsIndicator": null,
"companyChiFull": null,
"overallotPoShares": null,
"ioSharesInitial": null,
"boardLot": null,
"overallIpoShares": null,
"sehkTradingFee": null,
"upsizePoShares": null,
"hkSharereg": null,
"primaryExchange": null,
"priceMin": null,
"siinputDate": null,
"logoLink": null,
"upsizeOption": null,
"warrants": null,
"sponsors": null,
"legalSponsor": null,
"id": null,
"sfcLevy": null,
"brokerage": null,
"ioOversubscriptionRatio": null,
"totalIssuedHsharesListing": null,
"distributors": null,
"allotmentDate": null,
"overallPoShares": null,
"upsizeIoShares": null,
"companyChiShort": null,
"clawback": null,
"advisers": null,
"preIpoShares": null,
"frcoLevy": null,
"totalIssuedCapitalListing": null,
"downwardPriceFlex": null,
"ipoID": null,
"status": null,
"poApplicationQuantity": null,
"pricingDate": null,
"priceFinal": null,
"hkAddress": null,
"ioOfferSharesFinal": null,
"poOversubscriptionRatio": null,
"poSharesFinal": null,
"ipoShares": null,
"companyEngFull": null,
"offerType": null,
"overallotOption": null,
"placingSharesDeliveryDate": null,
"stkCode": null,
"dualPrimaryExchange": null,
"nomCur": null,
"prefOfferIndicator": null,
"poReallocationCap": null,
"poSharesInitial": null,
"wvrRatio": null,
"designatedSponsor": null,
"legalIssuer": null,
"companyEngShort": null,
"ioApplicationQuantity": null,
"placeOfCorp": null,
"listPlatform": "main board",
"overallIoShares": null,
"tradeCurrency": null,
"bookCloseDate": null,
"denomTable": null,
"totalIssuedNonwvrsharesListing": null,
"overallotIoShares": null,
"biotechindicator": null,
"bookOpenDate": null,
"nomValue": "150",
"listSecurities": "Ordinary",
"isin": null,
"underwriters": null
}
]
}

19653
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

57
package.json Normal file
View File

@ -0,0 +1,57 @@
{
"name": "vue3-shop",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "run-p type-check build-only",
"preview": "vite preview --port 4173",
"build-only": "vite build",
"type-check": "vue-tsc --noEmit",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
"dependencies": {
"@ant-design/charts": "^1.4.2",
"@babel/types": "^7.21.2",
"@element-plus/icons-vue": "^2.1.0",
"amfe-flexible": "^2.2.1",
"axios": "^0.27.2",
"echarts": "^5.4.1",
"element-plus": "^2.3.0",
"js-cookie": "^3.0.1",
"moment": "^2.29.4",
"node-sass": "^7.0.3",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"path-browserify": "^1.0.1",
"path-to-regexp": "^6.2.1",
"pinia": "^2.0.33",
"postcss-px2rem": "^0.3.0",
"vue": "^3.2.36",
"vue-i18n": "^9.2.2",
"vue-lazyload": "^3.0.0-rc.2",
"vue-router": "^4.0.15"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.1.0",
"@types/js-cookie": "^3.0.2",
"@types/node": "^16.18.14",
"@types/nprogress": "^0.2.0",
"@types/path-browserify": "^1.0.0",
"@vitejs/plugin-vue": "^2.3.3",
"@vitejs/plugin-vue-jsx": "^1.3.10",
"@vue/eslint-config-prettier": "^7.0.0",
"@vue/eslint-config-typescript": "^10.0.0",
"@vue/tsconfig": "^0.1.3",
"eslint": "^8.5.0",
"eslint-plugin-vue": "^8.2.0",
"npm-run-all": "^4.1.5",
"postcss-pxtorem": "^6.0.0",
"prettier": "^2.5.1",
"sass": "^1.60.0",
"sass-loader": "^13.2.1",
"typescript": "~4.7.2",
"vite": "^2.9.9",
"vite-easy-mock": "^1.0.8",
"vue-tsc": "^0.35.2"
}
}

3493
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

25
prettier.config.js Normal file
View File

@ -0,0 +1,25 @@
module.exports = {
"printWidth": 100, // 超过最大值换行
"tabWidth": 4, // 缩进字节数
"useTabs": false, // 缩进不使用tab使用空格
"semi": true, // 句尾添加分号
"singleQuote": true, // 使用单引号代替双引号
"proseWrap": "preserve", // 默认值。因为使用了一些折行敏感型的渲染器如GitHub comment而按照markdown文本样式进行折行
"arrowParens": "avoid", // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid省略括号
"bracketSpacing": true, // 在对象,数组括号与文字之间加空格 "{ foo: bar }"
"disableLanguages": ["vue"], // 不格式化vue文件vue文件的格式化单独设置
"endOfLine": "auto", // 结尾是 \n \r \n\r auto
"eslintIntegration": false, //不让prettier使用eslint的代码格式进行校验
"htmlWhitespaceSensitivity": "ignore",
"ignorePath": ".prettierignore", // 不使用prettier格式化的文件填写在项目的.prettierignore文件中
"jsxBracketSameLine": false, // 在jsx中把'>' 是否单独放一行
"jsxSingleQuote": false, // 在jsx中使用单引号代替双引号
"parser": "babylon", // 格式化的解析器默认是babylon
"requireConfig": false, // Require a 'prettierconfig' to format prettier
"stylelintIntegration": false, //不让prettier使用stylelint的代码格式进行校验
"trailingComma": "es5", // 在对象或数组最后一个元素后面是否加逗号在ES5中加尾逗号
"tslintIntegration": false,
"terminal.integrated.allowMnemonics": true,
"terminal.integrated.automationShell.linux": "" // 不让prettier使用tslint的代码格式进行校验
///报错的话,检查一下有没有用逗号与上一项设置分隔
}

43
public/css/reset.css Normal file
View File

@ -0,0 +1,43 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
/* font-size: 100%; */
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
public/static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

14
shims.d.ts vendored Normal file
View File

@ -0,0 +1,14 @@
declare module "*.vue" {
import { defineComponent } from "vue";
const Component: ReturnType<typeof defineComponent>;
export default Component;
}
interface Window {
initBMap(): void;
}
declare const BMapGL: any;
declare module 'element-plus/dist/locale/zh-cn.mjs';
declare module 'element-plus/dist/locale/en.mjs';
declare module 'element-plus/dist/locale/zh-tw.mjs';

4
src/.browserslistrc Normal file
View File

@ -0,0 +1,4 @@
last 2 versions
> 1%
iOS 7
last 3 iOS versions

83
src/App.vue Normal file
View File

@ -0,0 +1,83 @@
<template >
<el-config-provider :locale="store.localeLang">
<div class="login">
<router-view />
</div>
</el-config-provider>
</template>
<script lang="ts" setup>
import { defineComponent, ref, onBeforeMount } from 'vue'
import { ElConfigProvider } from 'element-plus'
import { ipoStore } from "@/stores/ipo"
const store = ipoStore();
onBeforeMount(() => {
setFontSize()
})
const setFontSize = () => {
// ipone6,1rem=1px; ipone6rempx
var font = document.documentElement.clientWidth / 375;
document.documentElement.style.fontSize = font + "px";
}
// export default defineComponent({
// components: {
// ElConfigProvider,
// },
// setup() {
// // store.setLocale(2)
// console.log(store.$state.locale, store.localeLang)
// console.log(document.documentElement.clientWidth)
// return {
// store
// }
// },
// })
</script>
<style lang="scss" >
// @import url(./vars.scss);
// $bg-color: red;
@media (max-width: 767px) {
.login {
width: 100vw;
height: fit-content;
background-color: blue;
}
}
@media (min-width: 768px) {
.login {
width: 100vw;
height: 100vh;
// background-color: blue;
}
}
@media (min-width: 992px) {
.login {
height: 100%;
width: 100%;
// background-color: pink;
}
}
@media (min-width: 1200px) {
.login {
height: 1100px;
width: 100%;
// background-color: pink;
}
}
.login {
background-image: url("@/assets/1x/beijingtu.png");
background-repeat: no-repeat;
background-size: cover;
// height: 100%;
width: 100%;
}
</style>

13
src/api/mock/home.ts Normal file
View File

@ -0,0 +1,13 @@
import requestMock from "@/utils/request-mock";
enum Api {
getHomeDataUrl = "/home/data",
}
export const getHomeDataApi = () => {
return requestMock.get<any, any>(Api.getHomeDataUrl);
};
export const getDataFromId = (id:number|string) => {
return requestMock.get<any, any>(Api.getHomeDataUrl+id);
};

18
src/api/product/sku.ts Normal file
View File

@ -0,0 +1,18 @@
import request from "@/utils/request";
enum Api {
addSkuUrl = "/admin/product/saveSkuInfo",
}
/**
* SKU
* @param data SkuItem
* @returns null
*/
// export const addSkuApi = (data: SkuItem) => {
// return request.post<any, null>(Api.addSkuUrl, data);
// };
// export const addSkuApi2 = () => {
// return request.post<any, null>(Api.addSkuUrl);
// };

39
src/api/reqIpo/ipo.ts Normal file
View File

@ -0,0 +1,39 @@
import request from "@/utils/request";
enum Api {
addReferenceUrl = "/api/ipo/refdata/v1",
//昨天的数据
addhomelist = "/api/ipos/listv2",
//今天的数据
addhomelist1 = "/api/ipos/listv1",
offeringsUrl="/api/ipo/refdata/offering",
EventData="/api/ipos/listingData",
TypeofList="/api/ipo/refdata/typeOfListing",
searchUrl="/api/ipo/refdata/search"
}
//获取ipo详情页的数据
export const getIpo = (ipoID:string) => {
return request.get<any, null>(Api.addReferenceUrl+`?ipoID=${ipoID}`);
};
//获取ipo首页数据
export const getHomeIpo = (size:number) => {
return request.get<any, null>(Api.addhomelist1+`?size=${size}`);
};
//获取ipo的offerings数据
export const getOfferings = (ipoID:string) => {
return request.get<any, null>(Api.offeringsUrl+`?ipoID=${ipoID}`);
};
//获取首页的getEventData数据
export const getEventData = (dateString:string) => {
return request.get<any, null>(Api.EventData+`?dateString=${dateString}`);
};
//获取ipo的typeofListing数据
export const getTypeofListing = (ipoID:string) => {
return request.get<any, null>(Api.TypeofList+`?ipoID=${ipoID}`);
};
//获取首页的搜索数据
export const getSearchListing = (keyword:string) => {
return request.get<any, null>(Api.searchUrl+`?keyword=${keyword}`);
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

BIN
src/assets/1x/beijingtu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
src/assets/1x/source1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

BIN
src/assets/1x/source10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

BIN
src/assets/1x/source11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

BIN
src/assets/1x/source12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

BIN
src/assets/1x/source2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

BIN
src/assets/1x/source3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

BIN
src/assets/1x/source4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

BIN
src/assets/1x/source5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

BIN
src/assets/1x/source6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

BIN
src/assets/1x/source7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

BIN
src/assets/1x/source8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
src/assets/1x/source9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

View File

@ -0,0 +1,28 @@
字体家网站关于字体版权说明
付费下载字体:
是指在字体家平台上通过付费下载的个人版非商业用途的字体,字体家平台上所有付费下载的
字体,均是各大字体厂商与字体家平台建立了发布合作的字体品牌,有仅限于付费下载个人版;
以及可以提供个人版付费下载和正版授权购买的字体,具体以网站实际发布为准。
免费下载的字体:
是指在字体家网站不需要通过任何付费即可下载到的字体文件,该类字体文件是本站收集于网
络,本站不享有任何版权,仅提供给本站网友进行字体爱好交流,如您想通过免费下载的字体
进行商业用途使用,本站强烈提醒您联系对应厂商或原作者进行版权授权购买,如因为使用了
免费下载的字体引起了版权诉讼纠纷,本站不承担任何责任;当然,您如果是这些免费下载的
字体原作者如不愿意通过本站发布字体作品的话请提供有效版权证明我们将在48小时之
内删除下载链接以及字体产品。
关于字体家网站:
字体家网站是专业发布字体的网站,是杭州贤书阁文化创意有限公司旗下网站平台。
我们的业务:字体授权、企业字体定制、字体冠名、书法家字体制作等。
网址www.zitijia.com
在字体家网站,您可以下载到各种各样的字体产品,同时也可以以特惠的价格购买到各种原创
字体的版权使用权。每日更新,免费下载和付费下载的优质字体供您选择。
联系QQ942481760
字体家群号275221323

BIN
src/assets/Logo/00314.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
src/assets/Logo/01405.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
src/assets/Logo/02145.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
src/assets/Logo/02271.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/assets/Logo/02402.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
src/assets/Logo/02407.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
src/assets/Logo/02409.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

BIN
src/assets/Logo/02440.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/assets/Logo/02450.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
src/assets/Logo/02482.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/Logo/06698.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
src/assets/Logo/09985.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

BIN
src/assets/Search.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
src/assets/Snipaste.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/assets/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

55
src/assets/css/reset.css Normal file
View File

@ -0,0 +1,55 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
/* font-size: 100%; */
/* font: inherit; */
vertical-align: baseline;
}
@font-face{
font-family: 'Calibri';
src:url("@/assets/CALIBRI/CALIBRI.ttf");
font-weight: normal;
font-size: 20px;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
font-family: "Calibri"
}
ol, ul,li {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
.w{
width: 1400px;
margin: 0 auto;
}

1
src/assets/eye-open.svg Normal file
View File

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
src/assets/eye.svg Normal file
View File

@ -0,0 +1 @@
<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg>

After

Width:  |  Height:  |  Size: 944 B

View File

@ -0,0 +1,19 @@
import type { App} from 'vue'
import * as svg from '@element-plus/icons-vue';
import SvgIcon from '@/components/SvgIcon/index.vue'
export default function (app: App) {
app.component('svg-icon', SvgIcon)
// import.meta.glob('./svg/*.svg')
// import.meta.globEager('./svg/*.svg')
const icons = svg as any;
for (const i in icons) {
app.component(`ele-${icons[i].name}`, icons[i]);
}
app.component('SvgIcon', SvgIcon);
}

View File

@ -0,0 +1,73 @@
<template>
<i v-if="isShowIconSvg" class="el-icon" :style="setIconSvgStyle">
<component :is="getIconName" />
</i>
<div v-else-if="isShowIconImg" :style="setIconImgOutStyle">
<img :src="getIconName" :style="setIconSvgInsStyle" />
</div>
<i v-else :class="getIconName" :style="setIconSvgStyle" />
</template>
<script lang="ts">
import { computed, defineComponent } from 'vue';
export default defineComponent({
name: 'svgIcon',
props: {
// svg
name: {
type: String,
},
// svg
size: {
type: Number,
default: () => 14,
},
// svg
color: {
type: String,
},
},
setup(props) {
// 线
const linesString = ['https', 'http', '/src', '/assets'];
// icon
const getIconName = computed(() => {
return props?.name;
});
// element plus svg
const isShowIconSvg = computed(() => {
return props?.name?.startsWith('ele-');
});
// 线
const isShowIconImg = computed(() => {
return linesString.find((str) => props.name?.startsWith(str));
});
//
const setIconSvgStyle = computed(() => {
return `font-size: ${props.size}px;color: ${props.color};`;
});
//
const setIconImgOutStyle = computed(() => {
return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
});
//
// https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0
const setIconSvgInsStyle = computed(() => {
const filterStyle: string[] = [];
const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];
compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} 30px 0);`));
return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
});
return {
getIconName,
isShowIconSvg,
isShowIconImg,
setIconSvgStyle,
setIconImgOutStyle,
setIconSvgInsStyle,
};
},
});
</script>

48
src/hooks/useResize.ts Normal file
View File

@ -0,0 +1,48 @@
import { watch, onMounted, onBeforeMount, onBeforeUnmount } from "vue";
import { useRoute } from "vue-router";
import { useAppStore } from "@/stores/app";
const { body } = document;
const WIDTH = 992; // refer to Bootstrap's responsive design
export function useResize() {
const route = useRoute();
const appStore = useAppStore();
watch(route, () => {
if (appStore.device === "mobile" && appStore.sidebar.opened) {
appStore.closeSidebar(false);
}
});
const isMobile = () => {
const rect = body.getBoundingClientRect();
return rect.width - 1 < WIDTH;
};
const resizeHandler = () => {
if (!document.hidden) {
const mobile = isMobile();
appStore.toggleDevice(mobile ? "mobile" : "desktop");
if (mobile) {
appStore.closeSidebar(true);
}
}
};
onBeforeMount(() => {
window.addEventListener("resize", resizeHandler);
});
onBeforeUnmount(() => {
window.removeEventListener("resize", resizeHandler);
});
onMounted(() => {
const mobile = isMobile();
if (mobile) {
appStore.toggleDevice("mobile");
appStore.closeSidebar(true);
}
});
}

156
src/locales/en.ts Normal file
View File

@ -0,0 +1,156 @@
export default {
home:{
IPOcalendar:'IPO Calendar',
offerpricerange:'Offer Price Range',
finalofferprice:'Final Offer Price',
CommencementofTradeDate:'Commencement of Trade Date',
ExpectedPriceDeterminationDate:'Expected Price Determination Date',
DealInitiated:'Deal Initiated',
PublicOfferClosed:'Public Offer Closed',
ApplicationValidated:'Application Validated',
AllotmentConfirmed:'Allotment Confirmed',
MoneySettlement:'Money Settlement',
AllocationConfirmed:'Allocation Confirmed',
placingApproved:'Placing Approved',
AllotmentResultsApproved:'Allotment Results Approved',
TradingStarted:'Trading Started',
Suspended:'Suspended',
Cancelled:'Cancelled',
Mainboard:'Main board',
GEM:'GEM',
new:'New'
},
dashboard:{
Home:'Home',
Dashboard:'Dashboard',
IPOReferenceData:'IPO Reference Data',
Milestones:'Milestones',
PublicOfferSubscription:'Public Offer Subscription',
PublicOfferFundingConfirmation:'Public Offer Funding Confirmation',
AllocationAdjustment:'Allocation Adjustment',
PublicOfferAllotment:'Public Offer Allotment',
PublicOfferMoneySettlement:'Public Offer Money Settlement',
PublicOffer :'Public Offer',
SubscriptionRatio:'Subscription Ratio',
ApplicationQuantity:'Application Quantity (Shares)',
InitialShares:'Initial Shares',
FinalShares:'Final Shares',
LastUpadated:'Last Upadated',
InitialAllocation:'Initial Allocation',
Public:'Public',
Institutional:'Institutional',
TotalOfferShares:'Total Offer Shares',
FinalAllocation:'Final Allocation',
Listingdate:'Listing date'
},
ipo:{
report:'Report',
CompanyInformation:'Company Information',
CompanyNameEnglishFull:'Company Name (English Full)',
CompanyNameEnglishShort:'Company Name (English Short)',
CompanyNameChineseFull:'Company Name (Chinese Full)',
CompanyNameChineseShort:'Company Name (Chinese Short)',
STockCode:'Stock Code',
ISIN:'ISIN',
PlaceofIncorporation:'Place of Incorporation',
PrincipalPlaceofBussineseeinHongKong:'Principal Place of Bussinesee in Hong Kong',
CompanyLogo:'Company Logo',
Bermuda:'Bermuda',
CaymanIslands:'Cayman Islands',
HongKongChina:'Hong Kong, China',
PeoplesRepublicofChina:"People's Republic of China",
Australia:'Australia',
BritishVirginIslands:'British Virgin Islands',
CanadaAlberta:'Canada-Alberta',
CanadaBritishColumbia:'Canada-British Columbia',
CanadaOntario:'Canada-Ontario',
England:'England',
Israel:'Israel',
Italy:'Italy',
Japan:'Japan',
Jersey:'Jersey',
Luxembourg:'Luxembourg',
Singapore:'Singapore',
USDelaware:'US - Delaware',
Others:'Others',
TypeofListing:{
TypeofListing:'Type of Listing',
OfferingType:'Offering Type',
SecuritiestobeListed:'Securities to be Listed',
NominalValueperShare:'Nominal Value per Share',
ListingPlatform:'Listing Platform',
ListingType:'Listing Type',
ListingCategories:'Listing Categories',
Ordinaryshares:'Ordinary shares',
OrdinarysharesHshares:'Ordinary shares (H shares)',
OrdinarysharesconversionfromBtoHshares:'Ordinary shares (conversion from B to H shares)',
Preferenceshares:'Preference shares',
RealEstateInvestmentTrust:'Real Estate Investment Trust',
ExchangeTradedProduct:'Exchange Traded Product',
DepositaryReceipts:'Depositary Receipts',
ShareStapledUnits:'Share Stapled Units',
Other:'Other',
Globalofferplacingandpublicoffer:'Global offer (placing and public offer)',
Byplacingonly:'By placing only',
Bypublicofferonly:'By public offer only',
Byintroduction:'By introduction',
TransferfromGEM:'Transfer from GEM'
},
Offering:{
Offering:'Offering',
TradingCurrency:'Trading Currency',
DownwardPriceFlexibility:'Downward Price Flexibility (%)',
OfferPriceRange:'Offer Price Range',
TradingBoardLot:'Trading Board Lot',
PublicOfferReallocationCap:'Public Offer Reallocation Cap (%)',
NumberofSharesHeldbyExistingShareholders:'Number of Shares Held by Existing Shareholders',
NumberofOfferShares:'Number of Offer Shares',
InititalandClawbackThrehold:'Initital and Clawback Threhold',
PublicOfferAllocation:'Public Offer Allocation (%)',
NumberofPublicOfferShares:'Number of Public Offer Shares',
NumberofInsitutionalOfferShares:'Number of Insitutional Offer Shares',
OfferSizeAdjustmentOption:'Offer Size Adjustment Option (%)',
OverallotmentOptionInclusiveofOfferSizeAdjustmentOption:'Over-allotment Option Inclusive of Offer Size Adjustment Option',
OverallotmentOption:'Over-allotment Option (%)',
DenominationTable:'Denomination Table',
ApplicationQuantity:'Application Quantity',
MaximumPayableonApplication:'Maximum Payable on Application'
},
advisers:{
DesignatedSponsor:'Designated Sponsor',
Sponsor:'Sponsor(s)',
HKLegalAdviserforSponsor:'HK Legal Adviser (for Sponsor)',
HKLegalAdviser:'HK Legal Adviser (for Issuer)',
Underwriter:'Underwriter(s)',
Adviser:'Advisers',
OverallCoordinator:'Overall Coordinator(s)',
Distributor:'Distributor(s)',
HKShareRegistrar:'HK Share Registrar'
},
Timetable:{
Timetable:'Timetable',
CommencementofTradingDate:'Commencement of Trading Date',
Time:'Time',
Date:'Date',
DealPublicOfferStartDate:'Deal / Public Offer Start Date',
PublicOfferEndDate:'Public Offer End Date',
ExpectedPriceDeterminationDate:'Expected Price Determination Date',
AllotmentAnnouncementSharePostingCertificateDispatchDate:"Allotment Announcement / Share Posting / \n Certificate Dispatch Date",
SettlementInstructionsInputDate:'Settlement Instructions Input Date',
PredepositPlacingSharesDeliveryDate:'Pre-deposit / Placing Shares Delivery Date',
},
Documents:{
Documents:'Documents',
ListingDocumentEnglish:'Listing Document (English)',
ListingDocumentChinese:'Listing Document (Chinese)'
},
TransactionCosts:{
TransactionCosts:'Transaction Costs',
Brokerage:'Brokerage',
SFCTransactionLevy:'SFC Transaction Levy',
SrockExchangeTradingFee:'Srock Exchange Trading Fee',
AFRCTransactionLevy:'AFRC Transaction Levy'
}
}
}

21
src/locales/index.ts Normal file
View File

@ -0,0 +1,21 @@
import { createI18n } from 'vue-i18n'
import zhCn from './zh-cn'
import en from './en'
import zhCt from './zh-ct'
//import locale from 'element-plus/lib/locale'
// import localeZH from 'element-plus/lib/locale/lang/zh-cn'
// import localeEN from 'element-plus/lib/locale/lang/en'
// import localePL from 'element-plus/lib/locale/lang/zh-tw'
// 创建 i18n
const i18n = createI18n({
legacy: false,
globalInjection: true, // 全局模式,可以直接使用 $t
locale: 'en',
messages: {
zhCn,
en,
zhCt
}
})
export default i18n

156
src/locales/zh-cn.ts Normal file
View File

@ -0,0 +1,156 @@
export default {
home:{
IPOcalendar:'首次公开招股日历',
offerpricerange:'发售价范围',
finalofferprice:'最终发售价',
CommencementofTradeDate:'交易开始日期',
ExpectedPriceDeterminationDate:'预期定价日期',
DealInitiated:'启动交易',
PublicOfferClosed:'结束公开发售',
ApplicationValidated:'已验证的申请',
AllotmentConfirmed:'确认配发',
MoneySettlement:'结算款项',
AllocationConfirmed:'确认分配',
placingApproved:'获批配售',
AllotmentResultsApproved:'获批配发结果',
TradingStarted:'开始交易',
Suspended:'暂停',
Cancelled:'取消',
Mainboard:'主板上市',
GEM:'创业板',
new:'新上市'
},
dashboard:{
Home:'主页',
Dashboard:'仪表板',
IPOReferenceData:'首次公开招股参考数据',
Milestones:'上市里程',
PublicOfferSubscription:'公开认购',
PublicOfferFundingConfirmation:'公开招募基金确认书',
AllocationAdjustment:'分配调整',
PublicOfferAllotment:'公开发售配发',
PublicOfferMoneySettlement:'公开发售款项结算',
PublicOffer :'公开招股',
SubscriptionRatio:'认购比率',
ApplicationQuantity:'申请数量(股)',
InitialShares:'初始股份',
FinalShares:'最终股份',
LastUpadated:'最后更新',
InitialAllocation:'初始分配',
Public:'公开',
Institutional:'机构',
TotalOfferShares:'总发售股份',
FinalAllocation:'最后配额分配',
Listingdate:'上市日期'
},
ipo:{
report:'报告',
CompanyInformation:'公司资讯',
CompanyNameEnglishFull:'公司名称(英文全名)',
CompanyNameEnglishShort:'公司名称(英文简称)',
CompanyNameChineseFull:'公司名称(中文全名)',
CompanyNameChineseShort:'公司名称(中文简称)',
STockCode:'股票编号',
ISIN:'国际证券号码',
PlaceofIncorporation:'注册地点',
PrincipalPlaceofBussineseeinHongKong:'香港主要营业地点',
CompanyLogo:'公司标志',
Bermuda:'百慕达',
CaymanIslands:'开曼群岛',
HongKongChina:'中国香港',
PeoplesRepublicofChina:"中华人民共和国",
Australia:'澳大利亞',
BritishVirginIslands:'英属维尔京群岛',
CanadaAlberta:'加拿大 - 艾伯塔省',
CanadaBritishColumbia:'加拿大 - 不列颠哥伦比亚省',
CanadaOntario:'加拿大 - 安大略省',
England:'英格兰',
Israel:'以色列',
Italy:'意大利',
Japan:'日本',
Jersey:'泽西',
Luxembourg:'卢森堡',
Singapore:'新加坡',
USDelaware:'美国 - 特拉华州',
Others:'其他',
TypeofListing:{
TypeofListing:'上市种类',
OfferingType:'招股类型',
SecuritiestobeListed:'拟上市证券',
NominalValueperShare:'每股面值',
ListingPlatform:'上市平台',
ListingType:'上市类型',
ListingCategories:'上市类别',
Ordinaryshares:'普通股',
OrdinarysharesHshares:'普通股H股',
OrdinarysharesconversionfromBtoHshares:'普通股由B股转换为H股',
Preferenceshares:'优先股',
RealEstateInvestmentTrust:'房地产投资信托基金',
ExchangeTradedProduct:'交易所交易产品',
DepositaryReceipts:'存托凭证',
ShareStapledUnits:'合订证券',
Other:'其他',
Globalofferplacingandpublicoffer:'全球发售(配售及公开发售)',
Byplacingonly:'限于配售',
Bypublicofferonly:'限于公开发售',
Byintroduction:'以介绍形式上市',
TransferfromGEM:'转由创业板'
},
Offering:{
Offering:'招股',
TradingCurrency:'交易货币',
DownwardPriceFlexibility:'下调灵活定价(%)',
OfferPriceRange:'发售价范围',
TradingBoardLot:'交易单位',
PublicOfferReallocationCap:'首次公开募股分配(%)',
NumberofSharesHeldbyExistingShareholders:'现有股东持股数',
NumberofOfferShares:'发售股份数目',
InititalandClawbackThrehold:'初始和回扣',
PublicOfferAllocation:'公开发售分配(%)',
NumberofPublicOfferShares:'公开发售股份数目',
NumberofInsitutionalOfferShares:'机构发售股份数目',
OfferSizeAdjustmentOption:'Offer Size 调整选项 (%)',
OverallotmentOptionInclusiveofOfferSizeAdjustmentOption:'超额配股权包括发售量调整期权',
OverallotmentOption:'超额配股权(%)',
DenominationTable:'面額表',
ApplicationQuantity:'申请数量',
MaximumPayableonApplication:'申请时应付的最高金额'
},
advisers:{
DesignatedSponsor:'指定保荐人',
Sponsor:'保荐人',
HKLegalAdviserforSponsor:'香港法律顾问(保荐人)',
HKLegalAdviser:'香港法律顾问(发行人)',
Underwriter:'包销商',
Adviser:'顾问',
OverallCoordinator:'总协调员',
Distributor:'分销商',
HKShareRegistrar:'过户登记处'
},
Timetable:{
Timetable:'时间表',
CommencementofTradingDate:'上市日期',
Time:'时间',
Date:'日期',
DealPublicOfferStartDate:'招股开始日期',
PublicOfferEndDate:'招股截止日期',
ExpectedPriceDeterminationDate:'预计定价日',
AllotmentAnnouncementSharePostingCertificateDispatchDate:'分配结果公布/###/寄发股票日期',
SettlementInstructionsInputDate:'结算指示输入日期',
PredepositPlacingSharesDeliveryDate:'预存/配售股份交割日',
},
Documents:{
Documents:'文件',
ListingDocumentEnglish:'上市文件(英文)',
ListingDocumentChinese:'上市文件(中文)'
},
TransactionCosts:{
TransactionCosts:'交易费用',
Brokerage:'佣金',
SFCTransactionLevy:'证监会交易征费',
SrockExchangeTradingFee:'交易费',
AFRCTransactionLevy:'财务汇报局交易征费'
}
}
}

156
src/locales/zh-ct.ts Normal file
View File

@ -0,0 +1,156 @@
export default {
home:{
IPOcalendar:'首次公開招股日曆',
offerpricerange:'發售價範圍',
finalofferprice:'最終發售價',
CommencementofTradeDate:'交易開始日期',
ExpectedPriceDeterminationDate:'預期定價日期',
DealInitiated:'啟動交易',
PublicOfferClosed:'結束公開發售',
ApplicationValidated:'已驗證的申請',
AllotmentConfirmed:'確認配發',
MoneySettlement:'結算款項',
AllocationConfirmed:'確認分配',
placingApproved:'獲批配售',
AllotmentResultsApproved:'獲批配發結果',
TradingStarted:'開始交易',
Suspended:'暫停',
Cancelled:'取消',
Mainboard:'主板上市',
GEM:'創業板',
new:'新上市'
},
dashboard:{
Home:'主頁',
Dashboard:'儀表板',
IPOReferenceData:'首次公開招股參考數據',
Milestones:'上市里程',
PublicOfferSubscription:'公開認購',
PublicOfferFundingConfirmation:'公開招募基金確認書',
AllocationAdjustment:'分配調整',
PublicOfferAllotment:'公開發售配發',
PublicOfferMoneySettlement:'公開發售款項結算',
PublicOffer :'公開招股',
SubscriptionRatio:'認購比率',
ApplicationQuantity:'申請數量(股)',
InitialShares:'初始股份',
FinalShares:'最終股份',
LastUpadated:'最後更新',
InitialAllocation:'初始分配',
Public:'公開',
Institutional:'機構',
TotalOfferShares:'總發售股份',
FinalAllocation:'最後配額分配',
Listingdate:'上市日期'
},
ipo:{
report:'報告',
CompanyInformation:'公司資訊',
CompanyNameEnglishFull:'公司名稱(英文全名)',
CompanyNameEnglishShort:'公司名稱(英文簡稱)',
CompanyNameChineseFull:'公司名稱(中文全名)',
CompanyNameChineseShort:'公司名稱(中文簡稱)',
STockCode:'股票編號',
ISIN:'國際證券號碼',
PlaceofIncorporation:'註冊地點',
PrincipalPlaceofBussineseeinHongKong:'香港主要營業地點',
CompanyLogo:'公司標誌',
Bermuda:'百慕達',
CaymanIslands:'開曼群島',
HongKongChina:'中國香港',
PeoplesRepublicofChina:"中華人民共和國",
Australia:'澳大利亞',
BritishVirginIslands:'英屬維爾京群島',
CanadaAlberta:'加拿大 - 艾伯塔省',
CanadaBritishColumbia:' 加拿大 - 不列顛哥倫比亞省',
CanadaOntario:'加拿大 - 安大略省',
England:'英格蘭',
Israel:'以色列',
Italy:'意大利',
Japan:'日本',
Jersey:'澤西',
Luxembourg:'盧森堡',
Singapore:'新加坡',
USDelaware:'美國 - 特拉華州',
Others:'其他',
TypeofListing:{
TypeofListing:'上市種類',
OfferingType:'招股類型',
SecuritiestobeListed:'擬上市證券',
NominalValueperShare:'每股面值',
ListingPlatform:'上市平台',
ListingType:'上市類型',
ListingCategories:'上市類別',
Ordinaryshares:'普通股',
OrdinarysharesHshares:'普通股H股',
OrdinarysharesconversionfromBtoHshares:'普通股由B股轉换為H股',
Preferenceshares:'優先股',
RealEstateInvestmentTrust:'房地產投資信託基金',
ExchangeTradedProduct:'交易所交易產品',
DepositaryReceipts:'存託憑證',
ShareStapledUnits:'合訂證券',
Other:'其他',
Globalofferplacingandpublicoffer:'全球發售(配售及公開發售)',
Byplacingonly:'限於配售',
Bypublicofferonly:'限於公開發售',
Byintroduction:'以介紹形式上市',
TransferfromGEM:'轉由創業板'
},
Offering:{
Offering:'招股',
TradingCurrency:'交易貨幣',
DownwardPriceFlexibility:'下調靈活定價(%)',
OfferPriceRange:'發售價範圍',
TradingBoardLot:'交易單位',
PublicOfferReallocationCap:'首次公開募股分配(%)',
NumberofSharesHeldbyExistingShareholders:'現有股東持股數',
NumberofOfferShares:'發售股份數目',
InititalandClawbackThrehold:'初始和回扣',
PublicOfferAllocation:'公開發售分配(%)',
NumberofPublicOfferShares:'公開發售股份數目',
NumberofInsitutionalOfferShares:'機構發售股份數目',
OfferSizeAdjustmentOption:'Offer Size 調整選項 (%)',
OverallotmentOptionInclusiveofOfferSizeAdjustmentOption:'超額配股權包括發售量調整期權',
OverallotmentOption:'超額配股權(%)',
DenominationTable:'面額表',
ApplicationQuantity:'申請數量',
MaximumPayableonApplication:'申請時應付的最高金額'
},
advisers:{
DesignatedSponsor:'指定保薦人',
Sponsor:'保薦人',
HKLegalAdviserforSponsor:'香港法律顧問(保薦人)',
HKLegalAdviser:'香港法律顧問(發行人)',
Underwriter:'包銷商',
Adviser:'顧問',
OverallCoordinator:'總協調員',
Distributor:'分銷商',
HKShareRegistrar:'過戶登記處'
},
Timetable:{
Timetable:'時間表',
CommencementofTradingDate:'上市日期',
Time:'時間',
Date:'日期',
DealPublicOfferStartDate:'招股開始日期',
PublicOfferEndDate:'招股截止日期',
ExpectedPriceDeterminationDate:'預計定價日',
AllotmentAnnouncementSharePostingCertificateDispatchDate:'分配結果公佈/###/寄發股票日期',
SettlementInstructionsInputDate:'結算指示輸入日期',
PredepositPlacingSharesDeliveryDate:'預存/配售股份交割日',
},
Documents:{
Documents:'文件',
ListingDocumentEnglish:'上市文件(英文)',
ListingDocumentChinese:'上市文件(中文)'
},
TransactionCosts:{
TransactionCosts:'交易費用',
Brokerage:'佣金',
SFCTransactionLevy:'證監會交易徵費',
SrockExchangeTradingFee:'交易費',
AFRCTransactionLevy:'財務匯報局交易徵費'
}
}
}

44
src/main.ts Normal file
View File

@ -0,0 +1,44 @@
import { createApp } from "vue";
// import pinia from "./stores";
import ElementPlus from "element-plus";
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import "element-plus/dist/index.css";
import App from "./App.vue";
import router from "./router";
// import "./styles/index.scss";
import ElSvg from "./components/SvgIcon/ElSvg";
// import "./permission";
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import '@/assets/css/reset.css'
import i18n from "./locales";
import store from './stores'
import 'amfe-flexible'
import '@/rem.js'
import VueLazyload from 'vue-lazyload'
import logo from '@/assets/Snipaste.png'
// import "./mock/index.js"
// import { setupI18n } from '@/locales/setupI18n';
const app = createApp(App);
// setupI18n(app);
ElSvg(app);
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}
app.config.warnHandler = (msg, instance, trace) => {}
app
// .use(pinia)
.use(router)
.use(ElementPlus)
.use(i18n)
.use(ElementPlus, {
locale: zhCn,
})
.use(store)
.use(VueLazyload,{
loading: logo,
error:logo
})
.mount("#app");

14
src/postcss.config.js Normal file
View File

@ -0,0 +1,14 @@
const px2rem = require("postcss-px2rem");
const postcss = px2rem({
remUnit: 16, //基准大小 baseSize需要和rem.js中相同
});
module.exports = {
css: {
loaderOptions: {
postcss: {
plugins: [postcss],
},
},
},
};

17
src/rem.js Normal file
View File

@ -0,0 +1,17 @@
// 基准大小
const baseSize = 16;
// 设置 rem 函数
function setRem() {
// 当前页面宽度相对于 375 宽的缩放比例,可根据自己需要修改。
const scale = document.documentElement.clientWidth / 375;
// 设置页面根节点字体大小,Math.min(scal,2)表示最大缩放比例为2
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + "px";
}
// 初始化
setRem();
// 改变窗口大小时重新设置 rem
window.onresize = function () {
setRem();
};

46
src/router/index.ts Normal file
View File

@ -0,0 +1,46 @@
import { createRouter, createWebHistory ,createWebHashHistory} from "vue-router";
import { staticRoutes } from "@/router/routes";
import {modelRoutes} from "./routesModel"
let shouRoute=[] as any;
function setRoutes(){
IsMobile();
window.addEventListener('resize', function() {
IsMobile2()
})
}
function IsMobile(){
if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){
shouRoute=modelRoutes;
}else{
shouRoute=staticRoutes;
}
}
function IsMobile2(){
if(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){
window.location.reload()
}else{
}
}
setRoutes();
var router = createRouter({
history: createWebHashHistory(),
routes:staticRoutes ,
// 滚动行为:当路由组件切换时滚动条的位置
scrollBehavior() {
return { top: 0, left: 0 };
},
});
// router.beforeEach((to, from, next) => {
// if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
// window.location.href = '/move.html/'
// return
// }
// next()
// })
// 导出路由
export default router;

75
src/router/routes.ts Normal file
View File

@ -0,0 +1,75 @@
import type { RouteRecordRaw } from "vue-router";
/**
* meta对象参数说明
* meta: {
* title: 菜单栏及 tagsView
* hidden
* icon tagsView `iconfont xxx`fontawesome `fa xxx`
* }
*/
/**
*
*/
export const staticRoutes: Array<RouteRecordRaw> = [
{
path: "/",
redirect: "/home",
component:()=> import("@/views/login/index.vue"),
meta: {
hidden: true,
},
},
{
path: "/home",
name: "XLogin",
component: () => import("@/views/login/index.vue"),
meta: {
hidden: true,
},
},
{
path: "/dashboard",
name: "Xdashboard",
component: () => import("@/views/dashBoard/index.vue"),
},
{
path: "/IPO",
name: "XIPO",
component: () => import("@/views/IPO/index.vue")
},
{
path: "/searchdash",
name: "Xsearchdash",
component: () => import("@/views/searchdash/index.vue")
},
{
path: "/searchipo",
name: "Xsearchipo",
component: () => import("@/views/searchipo/index.vue")
},
{
path: "/404",
name: "404",
component: () => import("@/views/error/404.vue"),
meta: {
hidden: true,
},
},
/* 匹配任意的路由 必须最后注册 */
{
path: "/:pathMatch(.*)",
name: "Any",
redirect: "/404",
meta: {
hidden: true,
},
},
];
/**
*
*/
// export const allAsyncRoutes: Array<RouteRecordRaw> = [];

65
src/router/routesModel.ts Normal file
View File

@ -0,0 +1,65 @@
import type { RouteRecordRaw } from "vue-router";
/**
* meta对象参数说明
* meta: {
* title: 菜单栏及 tagsView
* hidden
* icon tagsView `iconfont xxx`fontawesome `fa xxx`
* }
*/
/**
*
*/
export const modelRoutes: Array<RouteRecordRaw> = [
{
path: "/",
redirect: "/home",
component:()=> import("@/viewsModel/Home/index.vue"),
meta: {
hidden: true,
},
},
{
path: "/home",
name: "XHome",
component: () => import("@/viewsModel/Home/index.vue"),
meta: {
hidden: true,
},
},
// {
// path: "/dashboard",
// name: "Xdashboard",
// component: () => import("@/views/dashBoard/index.vue"),
// },
// {
// path: "/IPO",
// name: "XIPO",
// component: () => import("@/views/IPO/index.vue")
// },
{
path: "/404",
name: "404",
component: () => import("@/views/error/404.vue"),
meta: {
hidden: true,
},
},
/* 匹配任意的路由 必须最后注册 */
{
path: "/:pathMatch(.*)",
name: "Any",
redirect: "/404",
meta: {
hidden: true,
},
},
];
/**
*
*/
// export const allAsyncRoutes: Array<RouteRecordRaw> = [];

19
src/settings.ts Normal file
View File

@ -0,0 +1,19 @@
/*
*/
export default {
/*
Logo标题
*/
title: "fini",
/*
Header部分
*/
fixedHeader: false,
/*
Logo部分
*/
sidebarLogo: true,
};

36
src/stores/app.ts Normal file
View File

@ -0,0 +1,36 @@
import Cookies from 'js-cookie'
import { defineStore } from 'pinia'
export const useAppStore = defineStore({
id: 'app',
state: () => ({
sidebar: {
opened: Cookies.get('sidebarStatus') ? !!+(Cookies.get('sidebarStatus') as string) : true,
withoutAnimation: false
},
device: 'desktop'
}),
actions: {
toggleSidebar () {
this.sidebar.opened = !this.sidebar.opened
this.sidebar.withoutAnimation = false
if (this.sidebar.opened) {
Cookies.set('sidebarStatus', '1')
} else {
Cookies.set('sidebarStatus', '0')
}
},
closeSidebar(withoutAnimation: boolean) {
Cookies.set('sidebarStatus', '0')
this.sidebar.opened = false
this.sidebar.withoutAnimation = withoutAnimation
},
toggleDevice(device: string) {
this.device = device
}
}
})

5
src/stores/index.ts Normal file
View File

@ -0,0 +1,5 @@
import { createPinia } from 'pinia';
const pinia = createPinia();
export default pinia;

View File

@ -0,0 +1,26 @@
import type { RouteRecordRaw } from "vue-router";
// 用户信息包括权限数据
export interface UserInfoState {
token: string;
avatar: string;
name: string;
menuRoutes: RouteRecordRaw[]; // 用于生成导航菜单的路由列表
}
// 三级分类数据
export interface CategoryState {
category1Id: undefined | number;
category2Id: undefined | number;
category3Id: undefined | number;
}
// // 三级分类数据
// export interface AttrState {
// attrItem: AttrItem;
// }
// export interface SpuState {
// spuItem: AllSpuItem;
// }

23
src/stores/ipo.ts Normal file
View File

@ -0,0 +1,23 @@
import { defineStore } from 'pinia'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import en from 'element-plus/dist/locale/en.mjs'
import zhTw from 'element-plus/dist/locale/zh-tw.mjs'
export const ipoStore = defineStore({
id: 'app',
state: () => ({
//1代表英文 2代表繁体中文 3代表简体中文
locale:1
}),
getters: {
localeLang(state) {
return [en,zhTw,zhCn][state.locale-1];
},
},
actions: {
//更改语言的方法
setLocale(data: number) {
this.locale = data
}
}
})

Some files were not shown because too many files have changed in this diff Show More