添加了pina状态管理
|
@ -9,6 +9,9 @@
|
|||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"core-js": "^3.8.3",
|
||||
"pinia": "^2.1.7",
|
||||
"pinia-plugin-persist": "^1.0.0",
|
||||
"vant": "^4.8.10",
|
||||
"vue": "^3.2.13",
|
||||
"vue-router": "^4.0.3"
|
||||
},
|
||||
|
@ -2656,6 +2659,19 @@
|
|||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vant/popperjs": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
|
||||
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
|
||||
},
|
||||
"node_modules/@vant/use": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz",
|
||||
"integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
|
||||
"peerDependencies": {
|
||||
"vue": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/babel-helper-vue-jsx-merge-props": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
|
||||
|
@ -8825,6 +8841,90 @@
|
|||
"node": ">=8.6"
|
||||
}
|
||||
},
|
||||
"node_modules/pinia": {
|
||||
"version": "2.1.7",
|
||||
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz",
|
||||
"integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
|
||||
"dependencies": {
|
||||
"@vue/devtools-api": "^6.5.0",
|
||||
"vue-demi": ">=0.14.5"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vue/composition-api": "^1.4.0",
|
||||
"typescript": ">=4.4.4",
|
||||
"vue": "^2.6.14 || ^3.3.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@vue/composition-api": {
|
||||
"optional": true
|
||||
},
|
||||
"typescript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/pinia-plugin-persist": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz",
|
||||
"integrity": "sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==",
|
||||
"dependencies": {
|
||||
"vue-demi": "^0.12.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vue/composition-api": "^1.0.0",
|
||||
"pinia": "^2.0.0",
|
||||
"vue": "^2.0.0 || >=3.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@vue/composition-api": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/pinia-plugin-persist/node_modules/vue-demi": {
|
||||
"version": "0.12.5",
|
||||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.5.tgz",
|
||||
"integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==",
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"vue-demi-fix": "bin/vue-demi-fix.js",
|
||||
"vue-demi-switch": "bin/vue-demi-switch.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vue/composition-api": "^1.0.0-rc.1",
|
||||
"vue": "^3.0.0-0 || ^2.6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@vue/composition-api": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/pinia/node_modules/vue-demi": {
|
||||
"version": "0.14.7",
|
||||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz",
|
||||
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"vue-demi-fix": "bin/vue-demi-fix.js",
|
||||
"vue-demi-switch": "bin/vue-demi-switch.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@vue/composition-api": "^1.0.0-rc.1",
|
||||
"vue": "^3.0.0-0 || ^2.6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@vue/composition-api": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/pkg-dir": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
|
||||
|
@ -10973,7 +11073,7 @@
|
|||
"version": "4.5.5",
|
||||
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz",
|
||||
"integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
|
||||
"dev": true,
|
||||
"devOptional": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
|
@ -11117,6 +11217,19 @@
|
|||
"spdx-expression-parse": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vant": {
|
||||
"version": "4.8.10",
|
||||
"resolved": "https://registry.npmmirror.com/vant/-/vant-4.8.10.tgz",
|
||||
"integrity": "sha512-JKfywSAwxVrY6q2KbESdW9IyGMeOFKa8ub3DLluTaYV7ff4ECXFilkjMeRYVT4hdsNcNii6KCQF6mUYyI56SBA==",
|
||||
"dependencies": {
|
||||
"@vant/popperjs": "^1.3.0",
|
||||
"@vant/use": "^1.6.0",
|
||||
"@vue/shared": "^3.4.21"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vary": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz",
|
||||
|
@ -12398,7 +12511,8 @@
|
|||
"version": "7.21.0-placeholder-for-preset-env.2",
|
||||
"resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
|
||||
"integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"@babel/plugin-syntax-async-generators": {
|
||||
"version": "7.8.4",
|
||||
|
@ -13929,6 +14043,17 @@
|
|||
"eslint-visitor-keys": "^3.3.0"
|
||||
}
|
||||
},
|
||||
"@vant/popperjs": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
|
||||
"integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
|
||||
},
|
||||
"@vant/use": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz",
|
||||
"integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
|
||||
"requires": {}
|
||||
},
|
||||
"@vue/babel-helper-vue-jsx-merge-props": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
|
||||
|
@ -14229,7 +14354,8 @@
|
|||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz",
|
||||
"integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"@vue/cli-service": {
|
||||
"version": "5.0.8",
|
||||
|
@ -14752,13 +14878,15 @@
|
|||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
|
||||
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"acorn-jsx": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
|
||||
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"acorn-walk": {
|
||||
"version": "8.3.2",
|
||||
|
@ -14817,7 +14945,8 @@
|
|||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
|
||||
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "4.1.3",
|
||||
|
@ -15626,7 +15755,8 @@
|
|||
"version": "6.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz",
|
||||
"integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "6.11.0",
|
||||
|
@ -15812,7 +15942,8 @@
|
|||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
|
||||
"integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"csso": {
|
||||
"version": "4.2.0",
|
||||
|
@ -17506,7 +17637,8 @@
|
|||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz",
|
||||
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"ieee754": {
|
||||
"version": "1.2.1",
|
||||
|
@ -18835,6 +18967,39 @@
|
|||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"pinia": {
|
||||
"version": "2.1.7",
|
||||
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz",
|
||||
"integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
|
||||
"requires": {
|
||||
"@vue/devtools-api": "^6.5.0",
|
||||
"vue-demi": ">=0.14.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"vue-demi": {
|
||||
"version": "0.14.7",
|
||||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz",
|
||||
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"pinia-plugin-persist": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz",
|
||||
"integrity": "sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==",
|
||||
"requires": {
|
||||
"vue-demi": "^0.12.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"vue-demi": {
|
||||
"version": "0.12.5",
|
||||
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.5.tgz",
|
||||
"integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"pkg-dir": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
|
||||
|
@ -18912,25 +19077,29 @@
|
|||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
|
||||
"integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-discard-duplicates": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
|
||||
"integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-discard-empty": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
|
||||
"integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-discard-overridden": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
|
||||
"integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-loader": {
|
||||
"version": "6.2.1",
|
||||
|
@ -19048,7 +19217,8 @@
|
|||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
|
||||
"integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-modules-local-by-default": {
|
||||
"version": "4.0.5",
|
||||
|
@ -19083,7 +19253,8 @@
|
|||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
|
||||
"integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"postcss-normalize-display-values": {
|
||||
"version": "5.1.0",
|
||||
|
@ -20456,7 +20627,7 @@
|
|||
"version": "4.5.5",
|
||||
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz",
|
||||
"integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
|
||||
"dev": true
|
||||
"devOptional": true
|
||||
},
|
||||
"undici-types": {
|
||||
"version": "5.26.5",
|
||||
|
@ -20563,6 +20734,16 @@
|
|||
"spdx-expression-parse": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"vant": {
|
||||
"version": "4.8.10",
|
||||
"resolved": "https://registry.npmmirror.com/vant/-/vant-4.8.10.tgz",
|
||||
"integrity": "sha512-JKfywSAwxVrY6q2KbESdW9IyGMeOFKa8ub3DLluTaYV7ff4ECXFilkjMeRYVT4hdsNcNii6KCQF6mUYyI56SBA==",
|
||||
"requires": {
|
||||
"@vant/popperjs": "^1.3.0",
|
||||
"@vant/use": "^1.6.0",
|
||||
"@vue/shared": "^3.4.21"
|
||||
}
|
||||
},
|
||||
"vary": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz",
|
||||
|
@ -21022,7 +21203,8 @@
|
|||
"version": "8.16.0",
|
||||
"resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz",
|
||||
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -21144,7 +21326,8 @@
|
|||
"version": "7.5.9",
|
||||
"resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
|
||||
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
|
||||
"dev": true
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"y18n": {
|
||||
"version": "5.0.8",
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"core-js": "^3.8.3",
|
||||
"pinia": "^2.1.7",
|
||||
"pinia-plugin-persist": "^1.0.0",
|
||||
"vant": "^4.8.10",
|
||||
"vue": "^3.2.13",
|
||||
"vue-router": "^4.0.3"
|
||||
},
|
||||
|
|
24
src/App.vue
|
@ -1,10 +1,26 @@
|
|||
<template>
|
||||
<nav>
|
||||
<router-link to="/">Home</router-link> |
|
||||
<router-link to="/about">About</router-link>
|
||||
</nav>
|
||||
<!-- <!– <nav>–>-->
|
||||
<!-- <!– <router-link to="/">Home</router-link> |–>-->
|
||||
<!-- <!– <router-link to="/about">About</router-link>–>-->
|
||||
<!-- <!– </nav>–>-->
|
||||
<!-- <img src="@/assets/img/first1.svg" alt="">-->
|
||||
<!-- <img class="input-code" src="@/assets/img/Rectangle 29.svg" alt="">-->
|
||||
<!-- <div class="login-but">-->
|
||||
<!-- <span>登录</span>-->
|
||||
<!-- <img src="@/assets/img/Rectangle%2032.svg" alt="">-->
|
||||
<!-- </div>-->
|
||||
<router-view/>
|
||||
</template>
|
||||
<script setup>
|
||||
|
||||
// function test() {
|
||||
// setInterval(() =>{
|
||||
// location.reload()
|
||||
// },1500)
|
||||
// }
|
||||
// test()
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
#app {
|
||||
|
|
After Width: | Height: | Size: 301 KiB |
|
@ -0,0 +1,17 @@
|
|||
<svg width="242" height="72" viewBox="0 0 242 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_d_12_215)">
|
||||
<rect x="4" width="234" height="64" rx="12" fill="#ECF1F7"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_d_12_215" x="0" y="0" width="242" height="72" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="4"/>
|
||||
<feGaussianBlur stdDeviation="2"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12_215"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12_215" result="shape"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 897 B |
|
@ -0,0 +1,17 @@
|
|||
<svg width="217" height="62" viewBox="0 0 217 62" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g filter="url(#filter0_d_12_221)">
|
||||
<rect x="4" width="209" height="54" rx="27" fill="#95BCD9"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_d_12_221" x="0" y="0" width="217" height="62" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="4"/>
|
||||
<feGaussianBlur stdDeviation="2"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12_221"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12_221" result="shape"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 897 B |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 4.1 KiB |
|
@ -0,0 +1 @@
|
|||
<svg t="1686310663774" class="icon" viewBox="0 0 1034 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14779" width="200" height="200"><path d="M552.96 855.04c25.6 25.6 66.56 25.6 87.04 0l240.64-230.4c61.44-61.44 61.44-158.72 0-220.16s-168.96-61.44-230.4 0c-30.72 25.6-76.8 25.6-102.4 0-61.44-61.44-168.96-61.44-230.4 0S256 563.2 317.44 624.64l235.52 230.4z" fill="#91BDDA" p-id="14780" data-spm-anchor-id="a313x.7781069.0.i22" class="selected"></path><path d="M450.56 870.4c35.84 35.84 87.04 35.84 122.88 0l332.8-332.8c87.04-87.04 87.04-230.4 0-317.44s-230.4-87.04-317.44 0l-5.12 5.12c-40.96 40.96-102.4 40.96-143.36 0l-5.12-5.12C348.16 133.12 204.8 133.12 117.76 220.16s-87.04 230.4 0 317.44L450.56 870.4z m-35.84 35.84l-332.8-332.8c-107.52-107.52-107.52-281.6 0-394.24s281.6-107.52 394.24 0l5.12 5.12c20.48 20.48 51.2 20.48 71.68 0l5.12-5.12c107.52-107.52 281.6-107.52 394.24 0s107.52 281.6 0 394.24l-332.8 332.8c-61.44 56.32-153.6 56.32-204.8 0z" fill="" p-id="14781"></path></svg>
|
After Width: | Height: | Size: 997 B |
After Width: | Height: | Size: 334 KiB |
After Width: | Height: | Size: 329 KiB |
After Width: | Height: | Size: 167 KiB |
After Width: | Height: | Size: 3.7 KiB |
|
@ -0,0 +1 @@
|
|||
<svg t="1686310583241" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13666" width="200" height="200"><path d="M471.04 317.44L665.6 358.4v563.2l-256-51.2V368.64c0-30.72 20.48-51.2 51.2-51.2h10.24z" fill="#91BDDA" p-id="13667"></path><path d="M640 911.36v-716.8c-10.24 0-15.36-5.12-20.48-5.12L384 112.64v711.68c10.24 0 15.36 5.12 20.48 5.12l235.52 81.92z m51.2 0l194.56-66.56c20.48-5.12 35.84-25.6 35.84-46.08V122.88l-209.92 71.68c-5.12 0-15.36 5.12-20.48 5.12v711.68z m-358.4-81.92v-716.8L138.24 179.2c-20.48 5.12-35.84 25.6-35.84 46.08v675.84l209.92-71.68h20.48zM122.88 128l204.8-66.56c20.48-5.12 46.08-5.12 66.56 0l240.64 81.92c20.48 5.12 46.08 5.12 66.56 0l209.92-71.68c25.6-10.24 56.32 5.12 66.56 30.72-5.12 10.24-5.12 15.36-5.12 20.48v675.84c0 46.08-30.72 81.92-71.68 97.28l-204.8 66.56c-20.48 5.12-46.08 5.12-66.56 0l-240.64-81.92c-20.48-5.12-46.08-5.12-66.56 0l-209.92 71.68c-25.6 10.24-56.32-5.12-66.56-30.72 5.12-10.24 5.12-15.36 5.12-20.48V225.28c0-40.96 30.72-81.92 71.68-97.28z" fill="#2c2c2c" p-id="13668" data-spm-anchor-id="a313x.7781069.0.i19" class="selected"></path></svg>
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 709 KiB |
After Width: | Height: | Size: 4.4 KiB |
|
@ -0,0 +1 @@
|
|||
<svg t="1686310435404" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12365" width="200" height="200"><path d="M760.504 883.784l-619.152 9.88-64.68-24.576V787.024c7.808-3.712 191.376-75.2 193.576-83.568 2.144-8.376 71.616-34.12 66.576-41.168l-18.76-81.216V427.784c0-73.152 59.24-130.44 134.848-130.44 75.576 0 134.816 57.288 134.816 130.472l-31.704 153.256-37.864 64.304c-4.816 6.992 18.072 31.728 20.176 39.952 2.112 8.184 41.808 14.32 49.392 18.128l172.776 83.568v106.64-9.912 0.032z" fill="#91BDDA" p-id="12366" data-spm-anchor-id="a313x.7781069.0.i12" class=""></path><path d="M932.776 848.24l-177.056 1.992v-69.656l-155.936-72.08-65.888-33.152c7.816-3.712-45.48-2.52-43.304-10.888 2.136-8.376 48.344-37.864 43.304-44.888l23.264-71.384 30.56-120.368c0-73.152 9.92-169.472 85.52-169.472 59.752 0 109.264 35.792 127.424 86.936 4.784 13.536-13 29.624-13 44.984l-58.608 157.88-15.328 47.376c-4.816 6.984 44.664 15.84 46.776 24.048 2.104 8.184 39.976 41.08 47.56 44.888l172.776 83.568-18.04 82.064-30.024 18.16z" fill="#91BDDA" p-id="12367" data-spm-anchor-id="a313x.7781069.0.i16" class=""></path><path d="M771.456 761.784a29.264 29.264 0 0 1 16.208 26.216v103.248a29.264 29.264 0 0 1-29.336 29.304H76.232a29.304 29.304 0 0 1-29.336-29.304V788c0-11.296 6.52-21.56 16.68-26.44l241.84-115.84-72.024-101.256a29.136 29.136 0 0 1-5.44-16.992V364.864c0-106.016 84.984-189.112 193.48-189.112 108.472 0 193.456 83.064 193.456 189.112v162.608c0 5.928-1.8 11.72-5.16 16.616l-70.04 101.856 231.76 115.84z m-42.4 100.16h-0.032v-55.808l-245.704-122.8a29.296 29.296 0 0 1-11.016-42.832L556.24 518.376v-153.52c0-73.176-59.24-130.464-134.816-130.464-75.6 0-134.84 57.288-134.84 130.44v153.28L373.36 640.16a29.28 29.28 0 0 1-11.232 43.44l-256.6 122.88v55.464h623.52z m238.496-172.464a29.264 29.264 0 0 1 16.208 26.216v103.248a29.256 29.256 0 0 1-29.336 29.304h-73.088a29.336 29.336 0 0 1 0-58.64h43.784v-55.808L679.44 611.04a29.296 29.296 0 0 1-11.04-42.84l83.976-122.128v-153.52c0-73.176-59.232-130.496-134.84-130.496-4.72 0-10.576 0.504-17.504 1.576a31.472 31.472 0 0 1-34.624-21.528l-0.408-1.2a26.368 26.368 0 0 1 20.584-34.088 191.736 191.736 0 0 1 31.952-3.36c108.496 0 193.456 83.056 193.456 189.104v162.608c0 5.928-1.808 11.728-5.168 16.616l-70 101.864 231.728 115.832z" fill="#2c2c2c" p-id="12368" data-spm-anchor-id="a313x.7781069.0.i13" class="selected"></path></svg>
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 356 KiB |
After Width: | Height: | Size: 200 KiB |
After Width: | Height: | Size: 200 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 7.8 MiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 341 KiB |
After Width: | Height: | Size: 382 KiB |
After Width: | Height: | Size: 130 KiB |
After Width: | Height: | Size: 392 KiB |
|
@ -0,0 +1 @@
|
|||
<svg t="1686279836167" class="icon" viewBox="0 0 1288 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21110" data-spm-anchor-id="a313x.7781069.0.i32" width="200" height="200"><path d="M1115.134327 794.622808h-735.57223a26.453294 26.453294 0 1 0 0 52.906587h735.57223a26.453294 26.453294 0 1 0 0-52.906587zM762.025524 582.655126H938.665259a27.135959 27.135959 0 0 0 18.773305-7.850655 25.258629 25.258629 0 0 0 7.509322-18.431972A26.453294 26.453294 0 0 0 938.665259 529.065873H762.025524a26.453294 26.453294 0 0 0 0 52.906587zM762.025524 435.711346h294.228892a26.453294 26.453294 0 0 0 0-52.906587H762.025524a26.453294 26.453294 0 1 0 0 52.906587z" p-id="21111" fill="#1296db"></path><path d="M467.796632 382.634093a114.687828 114.687828 0 1 0 114.687828 114.687828 114.858494 114.858494 0 0 0-114.687828-114.687828z m0 176.469068A61.781241 61.781241 0 1 1 511.999232 453.972652a61.269241 61.269241 0 0 1 17.066641 43.519935 61.781241 61.781241 0 0 1-61.269241 61.610574z" fill="#1296db" p-id="21112"></path><path d="M1203.198195 205.823691H261.802274a85.333205 85.333205 0 0 0-85.333205 85.333206V938.665259a85.333205 85.333205 0 0 0 85.333205 85.333205H1203.198195a26.111961 26.111961 0 0 0 18.943972-7.850655 25.599962 25.599962 0 0 0 7.509322-18.602639 26.453294 26.453294 0 0 0-26.453294-26.62396H261.802274A32.255952 32.255952 0 0 1 229.546322 938.665259V291.156897a32.255952 32.255952 0 0 1 32.255952-32.255952h941.737254a32.255952 32.255952 0 0 1 32.255952 32.255952v498.857918a26.453294 26.453294 0 0 0 52.906587 0V291.156897a85.333205 85.333205 0 0 0-85.503872-85.333206z" p-id="21113" fill="#1296db"></path><path d="M1026.899793 0H85.333205a85.333205 85.333205 0 0 0-85.333205 85.333205v647.16703a85.333205 85.333205 0 0 0 85.333205 85.333205h115.54116a26.453294 26.453294 0 1 0 0-52.735921H85.333205a32.255952 32.255952 0 0 1-32.255951-32.255952V85.333205A32.255952 32.255952 0 0 1 85.333205 53.077254h941.907921A32.255952 32.255952 0 0 1 1059.497077 85.333205v146.090448a26.453294 26.453294 0 1 0 52.735921 0V85.333205a85.333205 85.333205 0 0 0-85.333205-85.333205z" p-id="21114" fill="#1296db"></path></svg>
|
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.7 KiB |
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1698028173053" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10729" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M782 571.9c17.8-39.9 29-77.1 29-107.6 0-150.7-122.2-272.9-272.8-272.9S265.4 313.6 265.4 464.3c0 137.6 227.5 411.3 267 455.1 3.1 3.5 8.5 3.5 11.7 0 22.6-25 106.8-125.3 174.6-232.3M538.2 570.5c-65.5 0-118.6-53.1-118.6-118.7s53.1-118.7 118.6-118.7 118.6 53.1 118.6 118.7-53.1 118.7-118.6 118.7z" fill="#C5E5FF" p-id="10730"></path><path d="M512 960c-5.3 0-10.4-2.3-14-6.3-3.2-3.6-323-369.1-323-552.7 0-185.8 151.2-337 337-337s337 151.2 337 337.1c0 35.4-12 80.1-35.6 133-2.1 4.8-7.8 7-12.5 4.8-4.8-2.1-6.9-7.8-4.8-12.5 22.5-50.5 34-92.6 34-125.3C830 225.7 687.4 83 512 83S194 225.7 194 401.1c0 154.3 255 470 318.1 539.9 28.3-31.4 127.5-149.9 208.5-277.6 2.8-4.4 8.7-5.8 13.1-2.9 4.4 2.8 5.7 8.7 2.9 13.1C654.9 802.4 554.7 922 526 953.7c-3.5 4-8.7 6.3-14 6.3z m0-422c-83.8 0-151.9-68.2-151.9-151.9s68.2-152 151.9-152S663.9 302.3 663.9 386 595.8 538 512 538z m0-284.9c-73.3 0-132.9 59.6-132.9 132.9S438.7 519 512 519s132.9-59.6 132.9-132.9-59.6-133-132.9-133z" fill="#3B94FF" p-id="10731"></path></svg>
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 6.4 KiB |
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1686223601489" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2298" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M958.464 294.912l-86.016-102.4c-16.384-16.384-40.96-28.672-65.536-28.672H143.36c-45.056 0-81.92 36.864-81.92 81.92v204.8c0 45.056 36.864 81.92 81.92 81.92h663.552c24.576 0 45.056-12.288 61.44-28.672l86.016-102.4c28.672-32.768 28.672-73.728 4.096-106.496zM806.912 450.56H143.36V245.76h663.552l86.016 102.4-86.016 102.4z" fill="#303133" p-id="2299"></path><path d="M512 36.864c24.576 0 40.96 16.384 40.96 40.96v110.592c0 24.576-16.384 40.96-40.96 40.96s-40.96-16.384-40.96-40.96V77.824c0-20.48 16.384-40.96 40.96-40.96zM512 454.656c24.576 0 40.96 16.384 40.96 40.96v479.232c0 24.576-16.384 40.96-40.96 40.96s-40.96-16.384-40.96-40.96V495.616c0-20.48 16.384-40.96 40.96-40.96z" fill="#303133" p-id="2300"></path><path d="M307.2 983.04c0-24.576 16.384-40.96 40.96-40.96h327.68c24.576 0 40.96 16.384 40.96 40.96s-16.384 40.96-40.96 40.96H348.16c-24.576 0-40.96-16.384-40.96-40.96z" fill="#303133" p-id="2301"></path></svg>
|
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
|
@ -1,34 +1,6 @@
|
|||
<template>
|
||||
<div class="hello">
|
||||
<h1>{{ msg }}</h1>
|
||||
<p>
|
||||
For a guide and recipes on how to configure / customize this project,<br>
|
||||
check out the
|
||||
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
|
||||
</p>
|
||||
<h3>Installed CLI Plugins</h3>
|
||||
<ul>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript" target="_blank" rel="noopener">typescript</a></li>
|
||||
</ul>
|
||||
<h3>Essential Links</h3>
|
||||
<ul>
|
||||
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
|
||||
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
|
||||
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
|
||||
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
|
||||
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
|
||||
</ul>
|
||||
<h3>Ecosystem</h3>
|
||||
<ul>
|
||||
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
|
||||
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
|
||||
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
|
||||
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
|
||||
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<script setup lang="ts">
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<h1>页面没找到</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
|
@ -0,0 +1,178 @@
|
|||
<template>
|
||||
<div>
|
||||
<img class="hsd-name" src="@/assets/img/hsd-name.svg" alt="">
|
||||
<div class="main-page">
|
||||
<p><span>马明</span> 同志,您的数据已通过审
|
||||
核!您将在本次评卷工作担任:</p>
|
||||
<span>评卷工作领导小组
|
||||
副组长</span>
|
||||
<p>您的数据已成功进入我校评卷人员
|
||||
档案数据库中,感谢您对本次评卷工作
|
||||
的支持。</p>
|
||||
</div>
|
||||
<!-- <div class="main-text">-->
|
||||
<!-- <p>老师,您已成功报名!感谢您参与本次评卷工作!</p>-->
|
||||
<!-- </div>-->
|
||||
<div class="main-item">
|
||||
<van-row>
|
||||
<van-col span="6">
|
||||
<img @click="show1 = true" src="@/assets/img/ditu_3.png" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show1" show-cancel-button>
|
||||
<img src="@/assets/img/dt.jpg" />
|
||||
<span class="dialog-close-content" @click="show1 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>师大地图</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show2 = true" src="@/assets/img/txz_tubiao.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show2" show-cancel-button>
|
||||
<img src="@/assets/img/txz.jpg" />
|
||||
<span class="dialog-close-content" @click="show2 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>通行证</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show6 = true" src="@/assets/img/xysh.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
:show-cancel-button="false"
|
||||
v-model:show="show6">
|
||||
<span class="dialog-close-content" @click="show6 = false">×</span>
|
||||
<div class="grop-by">
|
||||
校园生活
|
||||
<p>暂时未发布</p>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<p>校园生活</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show7 = true" src="@/assets/img/aixin_1.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show7" show-cancel-button>
|
||||
<img src="@/assets/img/letter.svg" />
|
||||
<span class="dialog-close-content" @click="show7 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>致谢</p>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<div class="main-bottom">
|
||||
<img src="@/assets/img/bottom.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {ref} from "vue";
|
||||
const show1 = ref(false);
|
||||
const show2 = ref(false);
|
||||
const show3 = ref(false);
|
||||
const show4 = ref(false);
|
||||
const show5 = ref(false);
|
||||
const show6 = ref(false);
|
||||
const show7 = ref(false);
|
||||
const show8 = ref(false);
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.dialog-close-content{
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0;
|
||||
font-weight: 700;
|
||||
font-size: 30px;
|
||||
//background-color: #42b983;
|
||||
color: #949494;
|
||||
}
|
||||
|
||||
.main-page{
|
||||
width: 95vw;
|
||||
height: 200px;
|
||||
//margin-top: 15px;
|
||||
// 边框radius是10px,边框阴影10px
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 10px 10px rgba(0,0,0,0.2);
|
||||
background-color: #fff;
|
||||
margin: 50px auto;
|
||||
margin-top: 0;
|
||||
color: #656565;
|
||||
p {
|
||||
text-indent: 2em;
|
||||
margin: 0 30px;
|
||||
text-align: left;
|
||||
line-height: 2;
|
||||
span{
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
span{
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
.hsd-name{
|
||||
width: 90%;
|
||||
margin: 15px 0;
|
||||
}
|
||||
.main-text{
|
||||
width: 90vw;
|
||||
margin: 0 auto;
|
||||
height: 45px;
|
||||
border-radius: 10px;
|
||||
background-color: #dce0e1;
|
||||
text-align: center;
|
||||
line-height: 45px;
|
||||
p{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.main-item{
|
||||
margin-top: 15px;
|
||||
img{
|
||||
width: 50%;
|
||||
}
|
||||
p{
|
||||
margin-top: -5px;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.van-row{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.main-bottom{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
img{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.grop-by{
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
p{
|
||||
text-align: center;
|
||||
line-height: 100px;
|
||||
font-size: initial;
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,135 @@
|
|||
<template>
|
||||
<div class="father">
|
||||
<van-cell-group inset class="mar-auto15">
|
||||
<van-field
|
||||
class="van-field__label_rectangle"
|
||||
label-width="400px"
|
||||
label="哈尔滨师范大学评卷信息填报"
|
||||
type="hidden"
|
||||
/>
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
<van-form @submit="onSubmit">
|
||||
<van-cell-group inset>
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="个人信息"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field
|
||||
v-model="student.userName"
|
||||
name="userName"
|
||||
label="姓名"
|
||||
type="text"
|
||||
placeholder="请输入姓名"
|
||||
:rules="[{ required: true, message: '请输入学号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="student.studentId"
|
||||
name="studentId"
|
||||
label="学号"
|
||||
type="number"
|
||||
placeholder="请输入学号"
|
||||
:rules="[{ required: true, message: '请输入学号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="student.phone"
|
||||
name="phone"
|
||||
label="手机号"
|
||||
type="number"
|
||||
placeholder="请输入手机号"
|
||||
:rules="[{ required: true, message: '请输入手机号' }]"
|
||||
/>
|
||||
<van-field label-width="150px" class="van-rad" name="checked" label="是否第一次参加阅卷">
|
||||
<template #input>
|
||||
<van-radio-group v-model="student.checked" direction="horizontal">
|
||||
<van-radio name="1">是</van-radio>
|
||||
<van-radio name="2">否</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
<div style="margin: 16px;">
|
||||
<van-button round block type="primary" native-type="submit">
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {reactive, ref} from 'vue';
|
||||
|
||||
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
const student = reactive({
|
||||
userName: '',
|
||||
studentId: '',
|
||||
phone: '',
|
||||
checked: ''
|
||||
})
|
||||
const onSubmit = (values: object) => {
|
||||
// values上挂上新的属性checked
|
||||
|
||||
// values = {...values ,...{checked:checked.value}}
|
||||
// values.checked = checked.value;
|
||||
console.log('submit', values);
|
||||
};
|
||||
|
||||
// return {
|
||||
// username,
|
||||
// password,
|
||||
// onSubmit,
|
||||
// };
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.father {
|
||||
height: 100vh;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.mar-auto15 {
|
||||
margin: 15px 15px;
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label1——circle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.van-field__label1——circle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 50%;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,145 @@
|
|||
<template>
|
||||
<div class="father">
|
||||
<van-cell-group inset class="mar-auto15">
|
||||
<van-field
|
||||
class="van-field__label_rectangle"
|
||||
label-width="400px"
|
||||
label="哈尔滨师范大学评卷信息填报"
|
||||
type="hidden"
|
||||
/>
|
||||
|
||||
</van-cell-group>
|
||||
<van-form @submit="onSubmit">
|
||||
<van-cell-group inset>
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="个人信息"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field
|
||||
v-model="teacher.userName"
|
||||
name="userName"
|
||||
label="姓名"
|
||||
type="text"
|
||||
placeholder="请输入姓名"
|
||||
:rules="[{ required: true, message: '请输入学号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="teacher.teacherId"
|
||||
name="studentId"
|
||||
label="工号"
|
||||
type="number"
|
||||
placeholder="请输入工号"
|
||||
:rules="[{ required: true, message: '请输入工号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="teacher.phone"
|
||||
name="phone"
|
||||
label="手机号"
|
||||
type="number"
|
||||
placeholder="请输入手机号"
|
||||
:rules="[{ required: true, message: '请输入手机号' }]"
|
||||
/>
|
||||
<van-field label-width="150px" class="van-rad" name="checked" label="是否第一次参加阅卷">
|
||||
<template #input>
|
||||
<van-radio-group v-model="teacher.checked" direction="horizontal">
|
||||
<van-radio name="1">是</van-radio>
|
||||
<van-radio name="2">否</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
<div style="margin: 16px;">
|
||||
<van-button round block type="primary" native-type="submit">
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
<button @click="add">+++</button>
|
||||
<button @click="sub">---</button>
|
||||
<div>{{store.count}}</div>
|
||||
<div>{{store.double}}</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {reactive, ref} from 'vue';
|
||||
import { useCounterStore } from '@/store'
|
||||
const store = useCounterStore()
|
||||
|
||||
function add(){
|
||||
store.increment()
|
||||
}
|
||||
function sub(){
|
||||
store.decrement()
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
const teacher = reactive({
|
||||
userName: '',
|
||||
teacherId: '',
|
||||
phone: '',
|
||||
checked: ''
|
||||
})
|
||||
const onSubmit = (values: object) => {
|
||||
// values上挂上新的属性checked
|
||||
|
||||
// values = {...values ,...{checked:checked.value}}
|
||||
// values.checked = checked.value;
|
||||
console.log('submit', values);
|
||||
};
|
||||
|
||||
// return {
|
||||
// username,
|
||||
// password,
|
||||
// onSubmit,
|
||||
// };
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.father {
|
||||
height: 100vh;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.mar-auto15 {
|
||||
margin: 15px 15px;
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label1——circle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.van-field__label1——circle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 50%;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,206 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="main-page">
|
||||
<img src="@/assets/img/success.svg">
|
||||
</div>
|
||||
<div class="main-text">
|
||||
<p>老师,您已成功报名!感谢您参与本次评卷工作!</p>
|
||||
</div>
|
||||
<div class="main-item">
|
||||
<van-row>
|
||||
<van-col span="6">
|
||||
<img @click="show1 = true" src="@/assets/img/ditu_3.png" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show1" show-cancel-button>
|
||||
<img src="@/assets/img/dt.jpg" />
|
||||
<span class="dialog-close-content" @click="show1 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>师大地图</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show2 = true" src="@/assets/img/txz_tubiao.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show2" show-cancel-button>
|
||||
<img src="@/assets/img/txz.jpg" />
|
||||
<span class="dialog-close-content" @click="show2 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>通行证</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show3 = true" src="@/assets/img/fenzu.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
:show-cancel-button="false"
|
||||
v-model:show="show3">
|
||||
<span class="dialog-close-content" @click="show3 = false">×</span>
|
||||
<div class="grop-by">
|
||||
分组信息
|
||||
<p>暂时未分组</p>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<p>所属分组</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show4 = true" src="@/assets/img/jianzhu_sushe.png" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
:show-cancel-button="false"
|
||||
v-model:show="show4">
|
||||
<span class="dialog-close-content" @click="show4 = false">×</span>
|
||||
<div class="grop-by">
|
||||
宿舍分配
|
||||
<p>暂时未分配宿舍</p>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<p>宿舍</p>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="6">
|
||||
<img @click="show5 = true" src="@/assets/img/mykaoshi.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show5" show-cancel-button>
|
||||
<img src="@/assets/img/dt.jpg" />
|
||||
<span class="dialog-close-content" @click="show5 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>评卷地点</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show6 = true" src="@/assets/img/xysh.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
:show-cancel-button="false"
|
||||
v-model:show="show6">
|
||||
<span class="dialog-close-content" @click="show6 = false">×</span>
|
||||
<div class="grop-by">
|
||||
校园生活
|
||||
<p>暂时未发布</p>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<p>校园生活</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show7 = true" src="@/assets/img/aixin_1.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show7" show-cancel-button>
|
||||
<img src="@/assets/img/letter.svg" />
|
||||
<span class="dialog-close-content" @click="show7 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>致谢</p>
|
||||
</van-col>
|
||||
<van-col span="6">
|
||||
<img @click="show8 = true" src="@/assets/img/zs.svg" alt="">
|
||||
<van-dialog
|
||||
:overlayStyle="{ background: 'rgba(0, 0, 0, 0.8)' }"
|
||||
:show-confirm-button="false"
|
||||
cancel-button-text="长按图片保存"
|
||||
cancel-button-color="#e34032"
|
||||
v-model:show="show8" show-cancel-button>
|
||||
<img src="@/assets/img/ryzs.png" />
|
||||
<span class="dialog-close-content" @click="show8 = false">×</span>
|
||||
</van-dialog>
|
||||
<p>证书</p>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<div class="main-bottom">
|
||||
<img src="@/assets/img/bottom.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {ref} from "vue";
|
||||
const show1 = ref(false);
|
||||
const show2 = ref(false);
|
||||
const show3 = ref(false);
|
||||
const show4 = ref(false);
|
||||
const show5 = ref(false);
|
||||
const show6 = ref(false);
|
||||
const show7 = ref(false);
|
||||
const show8 = ref(false);
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.dialog-close-content{
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0;
|
||||
font-weight: 700;
|
||||
font-size: 30px;
|
||||
//background-color: #42b983;
|
||||
color: #949494;
|
||||
}
|
||||
.main-page{
|
||||
width: 95vw;
|
||||
margin-top: 15px;
|
||||
img{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.main-text{
|
||||
width: 90vw;
|
||||
margin: 0 auto;
|
||||
height: 45px;
|
||||
border-radius: 10px;
|
||||
background-color: #dce0e1;
|
||||
text-align: center;
|
||||
line-height: 45px;
|
||||
p{
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.main-item{
|
||||
margin-top: 15px;
|
||||
img{
|
||||
width: 50%;
|
||||
}
|
||||
p{
|
||||
margin-top: -5px;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
.van-row{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.main-bottom{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
img{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.grop-by{
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
p{
|
||||
text-align: center;
|
||||
line-height: 100px;
|
||||
font-size: initial;
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,215 @@
|
|||
<template>
|
||||
<div class="father">
|
||||
<van-cell-group inset class="mar-auto15">
|
||||
<van-field
|
||||
class="van-field__label_rectangle"
|
||||
label-width="400px"
|
||||
label="哈尔滨师范大学评卷信息填报"
|
||||
type="hidden"
|
||||
/>
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
<van-form @submit="onSubmit">
|
||||
<van-cell-group inset>
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="个人信息"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacher.userName"
|
||||
name="userName"
|
||||
label="姓名"
|
||||
type="text"
|
||||
placeholder="请输入姓名"
|
||||
:rules="[{ required: true, message: '请输入姓名' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacher.userCardId"
|
||||
name="userCardId"
|
||||
label="身份证号"
|
||||
type="text"
|
||||
placeholder="请输入身份证号"
|
||||
:rules="[{ required: true, message: '请输入身份证号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacher.phone"
|
||||
name="phone"
|
||||
label="手机号"
|
||||
type="number"
|
||||
placeholder="请输入手机号"
|
||||
:rules="[{ required: true, message: '请输入手机号' }]"
|
||||
/>
|
||||
|
||||
<van-field
|
||||
v-model="notLocalTeacher.result"
|
||||
is-link
|
||||
readonly
|
||||
name="picker"
|
||||
label="职称"
|
||||
placeholder="点击选择职称"
|
||||
@click="showPicker = true"
|
||||
/>
|
||||
<van-popup v-model:show="showPicker" position="bottom">
|
||||
<van-picker
|
||||
:columns="columns"
|
||||
@confirm="onConfirm"
|
||||
@cancel="showPicker = false"
|
||||
/>
|
||||
</van-popup>
|
||||
|
||||
|
||||
<van-field
|
||||
v-model="notLocalTeacher.office"
|
||||
name="office"
|
||||
label="职务"
|
||||
type="text"
|
||||
placeholder="请输入职务(如教师,教务主任)"
|
||||
:rules="[{ required: true, message: '请输入职务' }]"
|
||||
/>
|
||||
|
||||
</van-cell-group>
|
||||
<van-cell-group inset class="mar-auto15">
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="工作单位"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacher.workName"
|
||||
name="workName"
|
||||
label="单位名称"
|
||||
type="text"
|
||||
placeholder="请输入单位名称"
|
||||
:rules="[{ required: true, message: '请输入单位名称' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacher.workPhone"
|
||||
name="workPhoen"
|
||||
label="单位电话"
|
||||
type="text"
|
||||
placeholder="电话/固定电话"
|
||||
:rules="[{ required: true, message: '请输入单位电话' }]"
|
||||
/>
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 16px;">
|
||||
<van-button round block type="primary" native-type="submit">
|
||||
下一步
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {onMounted, reactive, ref} from 'vue';
|
||||
import {useRouter} from "vue-router";
|
||||
// const userName = ref('');
|
||||
// const phone = ref('');
|
||||
// const userCardId = ref('');
|
||||
// const result = ref('');
|
||||
// const office = ref('');
|
||||
// const workName = ref('');
|
||||
// const workPhone = ref('');
|
||||
const router = useRouter();
|
||||
// 选择器
|
||||
|
||||
let notLocalTeacher = reactive({
|
||||
userName: '',
|
||||
phone: '',
|
||||
userCardId: '',
|
||||
result: '',
|
||||
office: '',
|
||||
workName: '',
|
||||
workPhone: '',
|
||||
|
||||
});
|
||||
|
||||
|
||||
const showPicker = ref(false);
|
||||
const columns = [
|
||||
{text: '教师1', value: 'Hangzhou'},
|
||||
{text: '教师2', value: 'Ningbo'},
|
||||
{text: '教师2', value: 'Wenzhou'},
|
||||
{text: '教师3', value: 'Shaoxing'},
|
||||
{text: '教师4', value: 'Huzhou'},
|
||||
];
|
||||
|
||||
const onConfirm = ({selectedOptions}) => {
|
||||
notLocalTeacher.result = selectedOptions[0]?.text;
|
||||
showPicker.value = false;
|
||||
};
|
||||
|
||||
const onSubmit = (values: object) => {
|
||||
console.log('submit', values);
|
||||
localStorage.setItem("notLocalTeacher", JSON.stringify(notLocalTeacher))
|
||||
router.push("/notLocalTeacherTwo")
|
||||
};
|
||||
|
||||
//
|
||||
// eslint-disable-next-line no-undef
|
||||
onMounted(() => {
|
||||
console.log("组件挂在了")
|
||||
|
||||
const notLocalTeacherStr = localStorage.getItem("notLocalTeacher")
|
||||
if (notLocalTeacherStr == null) {
|
||||
console.log("数据空")
|
||||
} else {
|
||||
const storedData = JSON.parse(notLocalTeacherStr);
|
||||
Object.assign(notLocalTeacher, storedData)
|
||||
console.log(notLocalTeacher)
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.father {
|
||||
height: 100vh;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.mar-auto15 {
|
||||
margin: 15px 15px;
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label1——circle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.van-field__label1——circle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 50%;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,274 @@
|
|||
<template>
|
||||
<div class="father">
|
||||
<div class="vant-title-card">
|
||||
<div class="title-tishi">
|
||||
<span>温馨提示</span>
|
||||
<p> 银行账户必须为本人账户!建议填报中国银行或中国建设银行借记卡账户信填报除借记
|
||||
卡以外其他类型账户(如:信用卡)会造成您的劳务费用无法成功发放。</p>
|
||||
</div>
|
||||
<van-form @submit="onSubmit">
|
||||
<van-cell-group inset>
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="劳务信息"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.userName"
|
||||
name="userName"
|
||||
label="姓名"
|
||||
type="text"
|
||||
placeholder="请输入姓名"
|
||||
:rules="[{ required: true, message: '请输入学号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.userCardId"
|
||||
name="userCardId"
|
||||
label="身份证号"
|
||||
type="text"
|
||||
placeholder="请输入身份证号"
|
||||
:rules="[{ required: true, message: '请输入身份证号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.phone"
|
||||
name="phone"
|
||||
label="手机号"
|
||||
type="number"
|
||||
placeholder="请输入手机号"
|
||||
:rules="[{ required: true, message: '请输入手机号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.pyCard"
|
||||
name="pyCard"
|
||||
label="银行卡号"
|
||||
type="number"
|
||||
placeholder="请输入银行卡号"
|
||||
:rules="[{ required: true, message: '请输入银行卡号' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.bankAddress"
|
||||
name="bankAddress"
|
||||
label="开户所在地"
|
||||
type="text"
|
||||
placeholder="请输入开户所在地(北京,哈尔滨)"
|
||||
:rules="[{ required: true, message: '请输入开户所在地' }]"
|
||||
/>
|
||||
<van-field
|
||||
v-model="notLocalTeacherTwo.bankName"
|
||||
name="bankName"
|
||||
label="开户行"
|
||||
type="text"
|
||||
placeholder="请输入开户行名称"
|
||||
:rules="[{ required: true, message: '请输入开户行名称' }]"
|
||||
/>
|
||||
|
||||
</van-cell-group>
|
||||
<div class="border-rad">
|
||||
<van-field
|
||||
class="van-field__label1——circle"
|
||||
label-width="400px"
|
||||
label="劳务信息"
|
||||
type="hidden"
|
||||
/>
|
||||
<van-field name="carStatus" label-width="150px" label="车辆是否入校">
|
||||
<template #input>
|
||||
<van-radio-group v-model="notLocalTeacherTwo.carStatus" direction="horizontal">
|
||||
<van-radio name="1">是</van-radio>
|
||||
<van-radio name="2">否</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field name="DormitoryStatus" label-width="150px" label="是否住宿">
|
||||
<template #input>
|
||||
<van-radio-group v-model="notLocalTeacherTwo.DormitoryStatus" direction="horizontal">
|
||||
<van-radio name="1">是</van-radio>
|
||||
<van-radio name="2">否</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
<div style="margin: 16px;">
|
||||
<van-button round class="van-button--primary" type="primary" @click="Previous">
|
||||
上一步
|
||||
</van-button>
|
||||
<van-button round class="van-button--primary" type="primary" native-type="submit">
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import {onMounted, reactive, ref} from 'vue';
|
||||
import {useRouter} from "vue-router";
|
||||
// const userName = ref('');
|
||||
// const phone = ref('');
|
||||
// const userCardId = ref('');
|
||||
// const pyCard = ref('');
|
||||
// const result = ref('');
|
||||
// const checked = ref('1');
|
||||
let notLocalTeacherTwo = reactive({
|
||||
userName: '',
|
||||
phone: '',
|
||||
userCardId: '',
|
||||
pyCard: '',
|
||||
result: '',
|
||||
carStatus:'1',
|
||||
DormitoryStatus:'1',
|
||||
bankAddress:'',
|
||||
bankName:'',
|
||||
|
||||
|
||||
});
|
||||
const router = useRouter();
|
||||
const onSubmit = (values: object) => {
|
||||
console.log('submit', values);
|
||||
router.push("/mainPage")
|
||||
|
||||
};
|
||||
|
||||
// 选择器
|
||||
|
||||
const showPicker = ref(false);
|
||||
const columns = [
|
||||
{text: '教师1', value: 'Hangzhou'},
|
||||
{text: '教师2', value: 'Ningbo'},
|
||||
{text: '教师2', value: 'Wenzhou'},
|
||||
{text: '教师3', value: 'Shaoxing'},
|
||||
{text: '教师4', value: 'Huzhou'},
|
||||
];
|
||||
|
||||
const onConfirm = ({selectedOptions}) => {
|
||||
notLocalTeacherTwo = selectedOptions[0]?.text;
|
||||
showPicker.value = false;
|
||||
};
|
||||
onMounted(() => {
|
||||
console.log("组件挂在了")
|
||||
|
||||
const notLocalTeacherStr = localStorage.getItem("notLocalTeacher")
|
||||
if (notLocalTeacherStr == null) {
|
||||
console.log("数据空")
|
||||
} else {
|
||||
const storedData = JSON.parse(notLocalTeacherStr);
|
||||
Object.assign(notLocalTeacherTwo, storedData)
|
||||
}
|
||||
})
|
||||
|
||||
const Previous = () => {
|
||||
router.push("/notLocalTeacher")
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.father {
|
||||
height: 100vh;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.mar-auto15 {
|
||||
margin: 15px 15px;
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label1——circle {
|
||||
position: relative;
|
||||
font-size: 1rem; /* 调整为您所需的字体大小 */
|
||||
|
||||
}
|
||||
|
||||
.van-field__label_rectangle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 30%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 20px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.van-field__label1——circle:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.vant-title-card {
|
||||
width: 90%;
|
||||
height: 100vh;
|
||||
margin: 0 auto;
|
||||
border-radius: 8px;
|
||||
//background-color: #42b983;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.van-cell-group--inset {
|
||||
margin: 0;
|
||||
margin-bottom: 15px;
|
||||
//border-top-right-radius: 0;
|
||||
//border-top-left-radius: 0;
|
||||
}
|
||||
|
||||
.van-cell-group--inset-bottom {
|
||||
|
||||
}
|
||||
|
||||
.title-tishi {
|
||||
width: 100%;
|
||||
//border-bottom-right-radius: 0;
|
||||
//border-bottom-left-radius: 0;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 15px;
|
||||
border-radius: 8px;
|
||||
|
||||
p {
|
||||
color: red;
|
||||
text-align: left;
|
||||
margin: 5px 15px;
|
||||
}
|
||||
|
||||
span {
|
||||
position: relative;
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
span:before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
margin: 0 10px;
|
||||
background-color: #1989fa;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.van-button--primary {
|
||||
width: 35%;
|
||||
margin-left: 7%;
|
||||
}
|
||||
.border-rad{
|
||||
border-radius: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
18
src/main.ts
|
@ -1,5 +1,19 @@
|
|||
import { createApp } from 'vue'
|
||||
import {createApp} from 'vue'
|
||||
import { createPinia } from 'pinia'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
import Vant from 'vant'
|
||||
import 'vant/lib/index.css';
|
||||
const app = createApp(App);
|
||||
const pinia = createPinia()
|
||||
app.use(Vant);
|
||||
app.use(pinia)
|
||||
app.use(router)
|
||||
// Lazyload 指令需要单独进行注册
|
||||
// app.use(vant.Lazyload);
|
||||
|
||||
createApp(App).use(router).mount('#app')
|
||||
|
||||
app.mount('#app')
|
||||
|
||||
|
||||
// createApp(App).use(router).mount('#app')
|
||||
|
|
|
@ -1,20 +1,79 @@
|
|||
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
|
||||
import HomeView from '../views/HomeView.vue'
|
||||
|
||||
import myIndex from '../views/myIndex.vue'
|
||||
// 导入404组件
|
||||
import NotFound from '../components/NotFound.vue';
|
||||
const routes: Array<RouteRecordRaw> = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'home',
|
||||
component: HomeView
|
||||
name: 'myIndex',
|
||||
component: myIndex
|
||||
},
|
||||
// {
|
||||
// path: '/about',
|
||||
// name: 'about',
|
||||
// // route level code-splitting
|
||||
// // this generates a separate chunk (about.[hash].js) for this route
|
||||
// // which is lazy-loaded when the route is visited.
|
||||
// component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
|
||||
// },
|
||||
{
|
||||
path: '/about',
|
||||
name: 'about',
|
||||
path: '/localTeacher',
|
||||
name: 'localTeacher',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/localTeacher.vue')
|
||||
}
|
||||
,
|
||||
{
|
||||
path: '/localStudent',
|
||||
name: 'localStudent',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/localStudent.vue')
|
||||
}
|
||||
,
|
||||
{
|
||||
path: '/notLocalTeacher',
|
||||
name: 'notLocalTeacher',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/notLocalTeacher.vue')
|
||||
},
|
||||
{
|
||||
path: '/notLocalTeacherTwo',
|
||||
name: 'notLocalTeacherTwo',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/notLocalTeacherTwo.vue')
|
||||
},
|
||||
{
|
||||
path: '/mainPage',
|
||||
name: 'mainPage',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/mainPage.vue')
|
||||
},
|
||||
{
|
||||
path: '/leaderShip',
|
||||
name: 'leaderShip',
|
||||
// route level code-splitting
|
||||
// this generates a separate chunk (about.[hash].js) for this route
|
||||
// which is lazy-loaded when the route is visited.
|
||||
component: () => import(/* webpackChunkName: "about" */ '../components/leaderShip.vue')
|
||||
},
|
||||
|
||||
|
||||
// 在路由配置中添加通配符路由
|
||||
{
|
||||
path: '/:catchAll(.*)',
|
||||
name: 'NotFound',
|
||||
component: NotFound
|
||||
}
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
import { defineStore } from 'pinia'
|
||||
|
||||
// 你可以任意命名 `defineStore()` 的返回值,但最好使用 store 的名字,同时以 `use` 开头且以 `Store` 结尾。
|
||||
// (比如 `useUserStore`,`useCartStore`,`useProductStore`)
|
||||
// 第一个参数是你的应用中 Store 的唯一 ID。
|
||||
export const useAlertsStore = defineStore('alerts', {
|
||||
// 其他配置...
|
||||
})
|
||||
export const useCounterStore = defineStore('counter', {
|
||||
state: () => ({ count: 0 }),
|
||||
getters: {
|
||||
double: (state) => state.count * 2,
|
||||
},
|
||||
actions: {
|
||||
increment() {
|
||||
this.count++
|
||||
},
|
||||
decrement() {
|
||||
this.count--
|
||||
}
|
||||
},
|
||||
})
|
|
@ -1,5 +1,20 @@
|
|||
<template>
|
||||
<div class="about">
|
||||
<h1>This is an about page</h1>
|
||||
<van-button type="primary">主要按钮</van-button>
|
||||
<van-cell-group inset>
|
||||
<van-cell title="单元格" value="内容" />
|
||||
<van-cell title="单元格" value="内容" label="描述信息" />
|
||||
</van-cell-group>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import {defineComponent} from "vue";
|
||||
|
||||
export default defineComponent({
|
||||
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
|
||||
<template>
|
||||
<img class="img-first1" src="@/assets/img/first1.svg" alt="">
|
||||
<div class="input-code">
|
||||
<input type="number" v-model="inputCode">
|
||||
<!-- <img src="@/assets/img/Rectangle 29.svg" alt="">-->
|
||||
</div>
|
||||
|
||||
<div class="login-but">
|
||||
<span>登录</span>
|
||||
<img @click="login" src="@/assets/img/Rectangle%2032.svg" alt="">
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {ref} from "vue";
|
||||
import {useRouter} from "vue-router";
|
||||
import {showNotify} from "vant";
|
||||
|
||||
const router = useRouter()
|
||||
const inputCode = ref('12345678')
|
||||
|
||||
const login = () => {
|
||||
if (inputCode.value.length!=8){
|
||||
showNotify({ message: '请输入8位的身份码' });
|
||||
return;
|
||||
}
|
||||
showNotify({ type: 'success', message: '登录成功' });
|
||||
setTimeout(()=>{
|
||||
router.push('/notLocalTeacher')
|
||||
// router.push('/localStudent')
|
||||
// router.push('/localTeacher')
|
||||
},10)
|
||||
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<style scoped lang="scss">
|
||||
.img-first1 {
|
||||
width: 80%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.input-code {
|
||||
margin-top: 20px;
|
||||
input{
|
||||
width: 70%;
|
||||
height: 60px;
|
||||
margin: 0 auto;
|
||||
border-radius: 15px;
|
||||
background-color: #f6f6f6;
|
||||
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5) ;
|
||||
border: none;
|
||||
font-size:1.5rem;
|
||||
font-weight: 60;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.login-but {
|
||||
position: relative;
|
||||
width: 50%;
|
||||
margin: 10px auto;
|
||||
//border: 1px solid red;
|
||||
height: 4rem;
|
||||
|
||||
img {
|
||||
height: 4rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
span {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
top: 50%;
|
||||
//;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|