提交 760da05b authored 作者: 刘旭's avatar 刘旭

同步代码

上级 ba4f9dff
......@@ -22,6 +22,7 @@
"pinia-plugin-persistedstate": "^3.2.0",
"sass": "^1.64.1",
"vue": "^3.3.4",
"vue-dompurify-html": "^4.1.4",
"vue-router": "4"
},
"devDependencies": {
......@@ -43,7 +44,6 @@
"unplugin-vue-components": "^0.25.1",
"vite": "^4.4.5",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-mock": "2.9.6",
"vite-plugin-vue-setup-extend": "^0.4.0",
"vue-tsc": "^1.8.5"
}
......
......@@ -38,6 +38,9 @@ dependencies:
vue:
specifier: ^3.3.4
version: 3.3.4
vue-dompurify-html:
specifier: ^4.1.4
version: 4.1.4(vue@3.3.4)
vue-router:
specifier: '4'
version: 4.2.4(vue@3.3.4)
......@@ -84,22 +87,19 @@ devDependencies:
version: 5.1.6
unplugin-auto-import:
specifier: ^0.16.6
version: 0.16.6(rollup@2.79.1)
version: 0.16.6
unplugin-icons:
specifier: ^0.16.5
version: 0.16.5
unplugin-vue-components:
specifier: ^0.25.1
version: 0.25.1(rollup@2.79.1)(vue@3.3.4)
version: 0.25.1(vue@3.3.4)
vite:
specifier: ^4.4.5
version: 4.4.6(@types/node@20.4.4)(sass@1.64.1)(terser@5.19.2)
vite-plugin-eslint:
specifier: ^1.8.1
version: 1.8.1(eslint@8.45.0)(vite@4.4.6)
vite-plugin-mock:
specifier: 2.9.6
version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.4.6)
vite-plugin-vue-setup-extend:
specifier: ^0.4.0
version: 0.4.0(vite@4.4.6)
......@@ -723,33 +723,6 @@ packages:
tslib: 2.6.0
dev: true
/@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1):
resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^2.42.0
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.79.1)
'@types/resolve': 1.17.1
deepmerge: 4.3.1
is-builtin-module: 3.2.1
is-module: 1.0.0
resolve: 1.22.2
rollup: 2.79.1
dev: true
/@rollup/pluginutils@3.1.0(rollup@2.79.1):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0
dependencies:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
rollup: 2.79.1
dev: true
/@rollup/pluginutils@4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
......@@ -758,7 +731,7 @@ packages:
picomatch: 2.3.1
dev: true
/@rollup/pluginutils@5.0.2(rollup@2.79.1):
/@rollup/pluginutils@5.0.2:
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
......@@ -770,7 +743,6 @@ packages:
'@types/estree': 1.0.1
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 2.79.1
dev: true
/@sxzz/popperjs-es@2.11.7:
......@@ -788,10 +760,6 @@ packages:
'@types/json-schema': 7.0.12
dev: true
/@types/estree@0.0.39:
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
dev: true
/@types/estree@1.0.1:
resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
dev: true
......@@ -814,19 +782,9 @@ packages:
resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==}
dev: false
/@types/mockjs@1.0.7:
resolution: {integrity: sha512-OCxXz6hEaJOVpRwuJMiVY5a6LtJcih+br9gwB/Q8ooOBikvk5FpBQ31OlNimXo3EqKha1Z7PFBni+q9m+8NCWg==}
dev: true
/@types/node@20.4.4:
resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==}
/@types/resolve@1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
'@types/node': 20.4.4
dev: true
/@types/semver@7.5.0:
resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
dev: true
......@@ -1487,11 +1445,6 @@ packages:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: true
/builtin-modules@3.3.0:
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
engines: {node: '>=6'}
dev: true
/bundle-name@3.0.0:
resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==}
engines: {node: '>=12'}
......@@ -1570,6 +1523,7 @@ packages:
/commander@11.0.0:
resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==}
engines: {node: '>=16'}
dev: false
/commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
......@@ -1583,18 +1537,6 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
/connect@3.7.0:
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
engines: {node: '>= 0.10.0'}
dependencies:
debug: 2.6.9
finalhandler: 1.1.2
parseurl: 1.3.3
utils-merge: 1.0.1
transitivePeerDependencies:
- supports-color
dev: true
/convert-source-map@1.9.0:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
dev: true
......@@ -1632,17 +1574,6 @@ packages:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
dev: true
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.0.0
dev: true
/debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
......@@ -1659,11 +1590,6 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
/deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
dev: true
/default-browser-id@3.0.0:
resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==}
engines: {node: '>=12'}
......@@ -1712,9 +1638,9 @@ packages:
ssr-window: 3.0.0
dev: false
/ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: true
/dompurify@3.0.6:
resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==}
dev: false
/electron-to-chromium@1.4.468:
resolution: {integrity: sha512-6M1qyhaJOt7rQtNti1lBA0GwclPH+oKCmsra/hkcWs5INLxfXXD/dtdnaKUYQu/pjOBP/8Osoe4mAcNvvzoFag==}
......@@ -1745,11 +1671,6 @@ packages:
- '@vue/composition-api'
dev: false
/encodeurl@1.0.2:
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
engines: {node: '>= 0.8'}
dev: true
/es5-ext@0.10.62:
resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
engines: {node: '>=0.10'}
......@@ -1775,12 +1696,6 @@ packages:
ext: 1.7.0
dev: false
/esbuild@0.11.3:
resolution: {integrity: sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==}
hasBin: true
requiresBuild: true
dev: true
/esbuild@0.18.16:
resolution: {integrity: sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ==}
engines: {node: '>=12'}
......@@ -1818,6 +1733,7 @@ packages:
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
dev: false
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
......@@ -1987,10 +1903,6 @@ packages:
engines: {node: '>=4.0'}
dev: true
/estree-walker@1.0.1:
resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
dev: true
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
......@@ -2088,21 +2000,6 @@ packages:
dependencies:
to-regex-range: 5.0.1
/finalhandler@1.1.2:
resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
engines: {node: '>= 0.8'}
dependencies:
debug: 2.6.9
encodeurl: 1.0.2
escape-html: 1.0.3
on-finished: 2.3.0
parseurl: 1.3.3
statuses: 1.5.0
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
dev: true
/find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
......@@ -2303,13 +2200,6 @@ packages:
dependencies:
binary-extensions: 2.2.0
/is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
dependencies:
builtin-modules: 3.3.0
dev: true
/is-core-module@2.12.1:
resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
dependencies:
......@@ -2350,10 +2240,6 @@ packages:
is-docker: 3.0.0
dev: true
/is-module@1.0.0:
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
dev: true
/is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
......@@ -2604,10 +2490,7 @@ packages:
hasBin: true
dependencies:
commander: 11.0.0
/ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
dev: true
dev: false
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
......@@ -2670,13 +2553,6 @@ packages:
boolbase: 1.0.0
dev: true
/on-finished@2.3.0:
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
engines: {node: '>= 0.8'}
dependencies:
ee-first: 1.1.1
dev: true
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
......@@ -2740,11 +2616,6 @@ packages:
callsites: 3.1.0
dev: true
/parseurl@1.3.3:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
dev: true
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
......@@ -2769,10 +2640,6 @@ packages:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
/path-to-regexp@6.2.1:
resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
dev: true
/path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
......@@ -3044,11 +2911,6 @@ packages:
resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==}
dev: false
/statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
dev: true
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
......@@ -3180,10 +3042,10 @@ packages:
resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==}
dev: true
/unimport@3.1.0(rollup@2.79.1):
/unimport@3.1.0:
resolution: {integrity: sha512-ybK3NVWh30MdiqSyqakrrQOeiXyu5507tDA0tUf7VJHrsq4DM6S43gR7oAsZaFojM32hzX982Lqw02D3yf2aiA==}
dependencies:
'@rollup/pluginutils': 5.0.2(rollup@2.79.1)
'@rollup/pluginutils': 5.0.2
escape-string-regexp: 5.0.0
fast-glob: 3.3.1
local-pkg: 0.4.3
......@@ -3198,12 +3060,7 @@ packages:
- rollup
dev: true
/unpipe@1.0.0:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
dev: true
/unplugin-auto-import@0.16.6(rollup@2.79.1):
/unplugin-auto-import@0.16.6:
resolution: {integrity: sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==}
engines: {node: '>=14'}
peerDependencies:
......@@ -3216,12 +3073,12 @@ packages:
optional: true
dependencies:
'@antfu/utils': 0.7.5
'@rollup/pluginutils': 5.0.2(rollup@2.79.1)
'@rollup/pluginutils': 5.0.2
fast-glob: 3.3.1
local-pkg: 0.4.3
magic-string: 0.30.1
minimatch: 9.0.3
unimport: 3.1.0(rollup@2.79.1)
unimport: 3.1.0
unplugin: 1.4.0
transitivePeerDependencies:
- rollup
......@@ -3258,7 +3115,7 @@ packages:
- supports-color
dev: true
/unplugin-vue-components@0.25.1(rollup@2.79.1)(vue@3.3.4):
/unplugin-vue-components@0.25.1(vue@3.3.4):
resolution: {integrity: sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==}
engines: {node: '>=14'}
peerDependencies:
......@@ -3272,7 +3129,7 @@ packages:
optional: true
dependencies:
'@antfu/utils': 0.7.5
'@rollup/pluginutils': 5.0.2(rollup@2.79.1)
'@rollup/pluginutils': 5.0.2
chokidar: 3.5.3
debug: 4.3.4
fast-glob: 3.3.1
......@@ -3322,11 +3179,6 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
/utils-merge@1.0.1:
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
engines: {node: '>= 0.4.0'}
dev: true
/vite-plugin-eslint@1.8.1(eslint@8.45.0)(vite@4.4.6):
resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
peerDependencies:
......@@ -3340,29 +3192,6 @@ packages:
vite: 4.4.6(@types/node@20.4.4)(sass@1.64.1)(terser@5.19.2)
dev: true
/vite-plugin-mock@2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.4.6):
resolution: {integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==}
engines: {node: '>=12.0.0'}
peerDependencies:
mockjs: '>=1.1.0'
vite: '>=2.0.0'
dependencies:
'@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.1)
'@types/mockjs': 1.0.7
chalk: 4.1.2
chokidar: 3.5.3
connect: 3.7.0
debug: 4.3.4
esbuild: 0.11.3
fast-glob: 3.3.1
mockjs: 1.1.0
path-to-regexp: 6.2.1
vite: 4.4.6(@types/node@20.4.4)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- rollup
- supports-color
dev: true
/vite-plugin-vue-setup-extend@0.4.0(vite@4.4.6):
resolution: {integrity: sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==}
peerDependencies:
......@@ -3426,6 +3255,18 @@ packages:
vue: 3.3.4
dev: false
/vue-dompurify-html@4.1.4(vue@3.3.4):
resolution: {integrity: sha512-K0XDSZA4dmMMvAgW8yaCx1kAYQldmgXeHJaLPS0mlSKOu8B+onE06X4KfB5LGyX4jR3rlVosyWJczRBzR0sZ/g==}
peerDependencies:
vue: ^2.7.0 || ^3.0.0
dependencies:
dompurify: 3.0.6
vue: 3.3.4
vue-demi: 0.14.5(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
dev: false
/vue-eslint-parser@9.3.1(eslint@8.45.0):
resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==}
engines: {node: ^14.17.0 || >=16.0.0}
......
......@@ -17,7 +17,11 @@
<img src="../assets/img/logo.jpg" width="150" height="60" />
<div class="menu-list">
<template v-for="item in menuList" :key="item.link">
<router-link :to="{ path: item.link }" @click="handleClick(item)">
<router-link
:to="{ path: item.link }"
style="text-decoration: none"
@click="handleClick(item)"
>
<el-link
class="item"
:underline="false"
......
......@@ -64,14 +64,6 @@ const editorConfig = {
console.log(`${file.name} 上传成功`, res, imgList.value)
}
}
},
// 单个文件上传失败
onFailed(file: File, res: any) {
console.log(`${file.name} 上传失败`, res)
},
// 上传错误,或者触发 timeout 超时
onError(file: File, err: any, res: any) {
console.log(`${file.name} 上传出错`, err, res)
}
},
uploadVideo: {
......
<template>
<div v-loading="loading" class="flx-center">
<div class="container">
<div class="breadcrumb">
<span class="current">当前位置:</span>
<el-breadcrumb :separator-icon="ArrowRight">
<el-breadcrumb-item :to="{ path: previousPage }">{{ previousName }}</el-breadcrumb-item>
<el-breadcrumb-item>{{ route.query?.FTITLE }}</el-breadcrumb-item>
</el-breadcrumb>
</div>
<el-divider />
<div style="min-height: 400px">
<div v-dompurify-html="html"></div>
<!-- <el-empty description="暂无数据" /> -->
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { menuList } from '@/Layout/config'
import { ArrowRight } from '@element-plus/icons-vue'
import { getCommonDetail } from '@/services/api/common'
const router = useRouter()
const route = useRoute()
const previousPage = ref()
const previousName = ref()
const loading = ref(true)
const html = ref()
onMounted(async () => {
// 获取上个跳转的路由
previousPage.value = router.options.history.state.back as string
previousName.value = menuList.filter((item: any) => item.link === previousPage.value)[0]?.name
const { FormType, FID } = route.query
const res: any = await getCommonDetail({ FormType, FID })
if (res.code === 200) {
loading.value = false
html.value = res.data.FRICHTEXT_Tag
}
})
</script>
<style lang="scss" scoped>
.container {
width: 1316px;
background: #ffffff;
padding: 46px 36px 54px;
margin-top: 26px;
box-sizing: border-box;
.breadcrumb {
font-size: 12px;
font-weight: 400;
color: #666666;
display: flex;
align-items: center;
.current {
margin-right: 8px;
}
}
}
</style>
<template>
<div class="content-container">
<div v-for="(item, index) in list" :key="index" class="content-item">
<img :src="item.url" height="238" />
<div class="detail">{{ item.name }}</div>
<div v-for="(item, index) in list" :key="index" class="content-item" @click="change(item)">
<img :src="baseURL + '/' + item?.FPICTURE" height="238" />
<div class="detail nowrap-ellipsis" :title="item.FTITLE">{{ item.FTITLE }}</div>
</div>
</div>
</template>
<script setup lang="ts">
import { baseURL } from '@/services'
defineProps({
list: {
type: Array,
default: () => []
} as any
})
const emits = defineEmits(['change'])
const change = (row: any) => {
// console.log(row)
emits('change', row)
}
</script>
<style lang="scss" scoped>
......@@ -36,9 +45,9 @@ defineProps({
border-radius: 12px 12px 0px 0px;
display: block; /* 将图片设置为块级元素 */
max-width: 100%; /* 保证图片在其父元素内部自适应大小 */
height: auto; /* 保持图片的宽高比 */
}
.detail {
width: calc(1316px / 3 - 16px);
height: 42px;
line-height: 42px;
background: linear-gradient(90deg, #177cfa 0%, #177cfa 100%);
......@@ -46,7 +55,8 @@ defineProps({
color: #ffffff;
font-size: 20px;
font-weight: 400;
color: #ffffff;
padding: 0 20px;
box-sizing: border-box;
}
}
}
......
......@@ -29,6 +29,10 @@ defineProps({
isMore: {
type: Boolean,
default: false
},
minHeight: {
type: Number,
default: 200
}
})
</script>
......@@ -47,6 +51,7 @@ defineProps({
}
.policy-content {
width: 100%;
min-height: 200px;
display: flex;
flex-direction: column;
align-items: start;
......@@ -85,7 +90,7 @@ defineProps({
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 554px;
max-width: 470px;
}
img {
margin-left: 4px;
......
......@@ -3,6 +3,8 @@ import App from './App.vue'
import router from './routers'
import store from './stores'
import VueDOMPurifyHTML from 'vue-dompurify-html'
import '@/styles/reset.scss'
import '@/styles/common.scss'
......@@ -10,5 +12,6 @@ const app = createApp(App)
app.use(router)
app.use(store)
app.use(VueDOMPurifyHTML)
app.mount('#app')
export default [
{
url: '/api2/getUsers',
method: 'get',
response: () => {
return {
code: 200,
message: 'ok',
data: {
'rows|10': [
{
id: '@guid',
name: '@cname',
'age|20-30': 23,
'job|1': ['前端工程师', '后端工程师', 'UI工程师', '需求工程师']
}
]
}
}
}
}
]
const randomJobList = () => {
let list = [
{
id: '@guid',
key: '地标',
list: [
{ name: '全深圳', show: true },
{ name: '南山区', show: false },
{ name: '罗湖区', show: false },
{ name: '福田区', show: false },
{ name: '坪山区', show: false },
{ name: '盐田区', show: false },
{ name: '宝安区', show: false },
{ name: '龙岗区', show: false },
{ name: '龙华区', show: false },
{ name: '光明区', show: false },
{ name: '大鹏新区', show: false },
{ name: '深汕合作区', show: false }
],
isShow: false,
show: false
}
] as any
for (let index = 0; index < 6; index++) {
if (!index) {
list.push({
id: '@guid',
key: '@ctitle(3,4)',
'list|55': [{ name: '@ctitle', show: false }],
isShow: true,
show: false
})
} else {
list.push({
id: '@guid',
key: '@ctitle(3,4)',
'list|3-8': [{ name: '@ctitle', show: false }],
isShow: false,
show: false
})
}
}
return list
}
export default [
{
url: '/api2/jobList',
methods: 'get',
response: () => {
return {
code: 200,
message: 'ok',
data: randomJobList()
}
}
}
]
......@@ -86,24 +86,16 @@ const routes = [
{
path: '/counterpartAssistance',
component: () => import('@/views/counterpartAssistance/index.vue')
},
{
path: '/commonDetail',
component: () => import('@/components/commonDetail.vue')
}
]
},
{
path: '/RichTextEditor',
component: () => import('@/views/editor/index.vue')
},
{
path: '/home1',
component: () => import('@/views/home/index1.vue')
},
{
path: '/job',
component: () => import('@/views/job/index.vue')
},
{
path: '/details',
component: () => import('@/views/home/details.vue')
}
//{
//配置404页面
......@@ -116,7 +108,11 @@ const routes = [
// 路由
const router = createRouter({
history: createWebHashHistory(),
routes
routes,
scrollBehavior(to, from, savedPosition) {
// 滚动到顶部
return { top: 0 }
}
})
// 导出
export default router
import request from '@/services'
// /LQKJ.K3.NSJYBSystem.WebApi.WebApiService.PictureTextHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc
export const getCommon = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.PictureTextHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
export const getCommonList = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.PictureTextHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
export const getCommonDetail = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SelectDetails,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
......@@ -8,7 +8,7 @@ import request from '@/services'
*/
export const getRichText = (data: any) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.SelectRichText,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.SelectRichText,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
......@@ -21,7 +21,7 @@ export const getRichText = (data: any) => {
*/
export const uploadRichText = (data: any) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.UpRichText,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.UpRichText,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data,
{ IsError: true }
)
......
import request from '@/services'
export const getPositionList = (data: any) => {
return request.post('https://rms.junrunrenli.com/api/4Government/rpoPost/selectByParameter', data)
}
export const getFlexibleEmploym = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.FlexibleEmploymentHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
export const getFlexibleEmploymList = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SeFlexibleEmployment,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
import request from '@/services'
export const getUsers = () => {
return request.get('/api2/getUsers')
}
export const getJobList = () => {
return request.get('/api2/jobList')
}
export const getPositionList = (data: any) => {
return request.post('/api/4Government/rpoPost/selectByParameter', data)
export const getHome = () => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SeHomePage,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc'
)
}
......@@ -3,7 +3,7 @@ import request from '@/services'
// 获取验证码
export const getCode = (Phone: string) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.Verification,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.Verification,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
{ Phone }
)
}
......@@ -11,7 +11,7 @@ export const getCode = (Phone: string) => {
// 登录注册
export const loginSign = (data: any) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.LoginSign,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiEditService.LoginSign,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
......@@ -3,14 +3,14 @@ import request from '@/services'
// 查询
export const getPolicy = (data: any) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SePolicyNoticeHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SePolicyNoticeHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
export const getPolicyList = (data: any) => {
return request.post(
'/K3Cloud/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SePolicyNotice,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SePolicyNotice,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
import request from '@/services'
// 查询
export const getSkillTraining = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SeSkillTraininHome,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
export const getPolicyList = (data: any) => {
return request.post(
'/LQKJ.K3.NSJYBSystem.WebApi.WebApiService.SePolicyNotice,LQKJ.K3.NSJYBSystem.WebApi.common.kdsvc',
data
)
}
......@@ -41,7 +41,7 @@ let IsError = false
const config = {
// 默认地址
baseURL: '',
baseURL,
// 设置超时时间
timeout: RequestEnums.TIMEOUT as number,
// 跨域时候允许携带凭证
......
.skill-container {
width: 100%;
.container {
width: 1316px;
text-align: center;
img {
width: 100%;
margin-top: 24px;
border-radius: 12px;
}
.train-list {
display: flex;
margin: 24px 0;
border: 1px solid #177cfa;
border-radius: 8px;
.train-item {
flex: 0 0 20%;
height: 58px;
line-height: 58px;
border-right: 1px solid #177cfa;
font-size: 24px;
font-weight: 500;
color: #177cfa;
&:nth-child(5) {
border-right: 0;
}
}
}
}
}
<template>
<div>为什么,我不理解</div>
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts"></script>
<script setup lang="ts">
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
<style scoped></style>
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'K' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'K', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
@import './index.scss';
</style>
<template>
<div class="skill-container flx-center">
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="imgUrl1" height="560" />
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="trainDetailList" />
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { imgUrl1 } from '@/assets/imgUrl'
import Frame690 from '@/assets/img/Frame690(2).png'
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
const trainDetailList = [
{ url: Frame690, name: '失业登记(含户籍、异地务工人员)' },
{ url: Frame690, name: '就业困难人员和零就业家庭人员认定' },
{ url: Frame690, name: '就业困难人员灵活就业社保补贴申领' },
{ url: Frame690, name: '用人单位招用就业困难人员申请补贴和奖励' },
{ url: Frame690, name: '吸纳脱贫人口就业补贴' },
{ url: Frame690, name: '吸纳脱贫人口社保和岗位补贴' },
{ url: Frame690, name: '吸纳退役军人一次性就业补贴' }
]
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'F' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'F', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
......
......@@ -6,7 +6,7 @@
<span class="poliy-item-order" :class="index > 2 ? 'poliy-item-postorder' : ''">{{
index + 1
}}</span>
<el-link>{{ item.detail }}</el-link>
<el-link>{{ item.FTITLE }}</el-link>
<img v-show="index < 3" src="@/assets/img/icon-new.png" width="28" height="15" alt="" />
</div>
<div v-show="isMore" class="flexible-footer">
......
<template>
<div class="flexible-container">
<div v-loading="loading" class="flexible-container">
<div class="container">
<img :src="imgUrl" height="560" />
<img :src="baseURL + '/' + flexibleData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div class="flexible-list">
<flexible
v-for="(item, index) in flexibleNameList"
:key="index"
:title="item.name"
:list="flexibleList"
:list="flexibleData?.[item.field]"
is-more
/>
</div>
......@@ -21,7 +21,7 @@
<el-tab-pane
v-for="(item, index) in tabsList"
:key="index"
v-loading="loading"
v-loading="flexibleLoading"
:label="item.label"
:name="item.name"
class="hot-position-tab-pane"
......@@ -76,8 +76,8 @@
</template>
<script setup lang="ts">
import { imgUrl } from '@/assets/imgUrl'
import { getPositionList } from '@/services/api/home'
import { baseURL } from '@/services'
import { getPositionList, getFlexibleEmploym } from '@/services/api/flexibleEmploym'
import flexible from '@/views/flexibleEmploym/components/flexible.vue'
const tabsList = [
......@@ -100,11 +100,18 @@ const listQuery = reactive({
})
const positionList = ref([] as any)
const loading = ref(false)
const activeName = ref(0)
const searchValue = ref('')
const loading = ref(true)
const flexibleLoading = ref(false)
const queryList = ref({ pageIndex: 1, pageSize: 10 })
const flexibleData: any = ref()
const flexibleNameList = [{ name: '公告' }, { name: '政策' }, { name: '新闻' }]
const flexibleNameList = [
{ name: '公告', field: 'GgData' },
{ name: '政策', field: 'ZcData' },
{ name: '新闻', field: 'XwData' }
]
const flexibleList = [
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
......@@ -121,22 +128,32 @@ const flexibleList = [
const handleChange = (name: number) => {
listQuery.obj.postName = tabsList[name].label
init()
initPosition()
}
const search = () => {
init()
initPosition()
// console.log(searchValue.value)
}
const initPosition = async () => {
flexibleLoading.value = true
const res: any = await getPositionList(listQuery)
if (res.code === 200) {
flexibleLoading.value = false
positionList.value = res.data.obj
}
}
const init = async () => {
loading.value = true
const res: any = await getPositionList(listQuery)
const res: any = await getFlexibleEmploym(queryList.value)
if (res.code === 200) {
console.log(res)
flexibleData.value = res.data
loading.value = false
positionList.value = res.data.obj
initPosition()
}
}
init()
</script>
......
......@@ -49,7 +49,7 @@
border-radius: 12px 12px 0px 0px;
display: block; /* 将图片设置为块级元素 */
max-width: 100%; /* 保证图片在其父元素内部自适应大小 */
height: auto; /* 保持图片的宽高比 */
// height: auto; /* 保持图片的宽高比 */
}
.recruit-item-detail {
width: 318px;
......@@ -113,6 +113,7 @@
margin: -5px;
margin-top: 24px;
.scene-item {
cursor: pointer;
flex: 0 0 calc(16.666% - 10px); /* 让每个盒子占据六分之一的宽度,并且减去间距 */
margin: 5px; /* 设置为盒子之间的间隔 */
box-sizing: border-box; /* 让盒子的边框和填充算入盒子的总宽度 */
......
import Frame690 from '@/assets/img/Frame690.png'
import Frame691 from '@/assets/img/Frame690(1).png'
import Frame692 from '@/assets/img/Frame690(2).png'
import Frame693 from '@/assets/img/Frame690(3).png'
import Frame694 from '@/assets/img/Frame690(4).png'
import Frame695 from '@/assets/img/Frame690(5).png'
import Frame696 from '@/assets/img/Frame690(6).png'
import Frame697 from '@/assets/img/Frame690(7).png'
import gonggao from '@/assets/img/icon-gonggao.png'
import zhengnc from '@/assets/img/icon-zhengnc.png'
import xinwen from '@/assets/img/icon-xinwen.png'
import zhao from '@/assets/img/icon-zhao.png'
import chuang from '@/assets/img/icon-chuang.png'
import gao from '@/assets/img/icon-gao.png'
import gang from '@/assets/img/icon-gang.png'
import tui from '@/assets/img/icon-tui.png'
import jia from '@/assets/img/icon-jia.png'
import can from '@/assets/img/icon-can.png'
export const imgList = [
{ name: '粤海街道专题', url: Frame690 },
{ name: '南头街道专题', url: Frame691 },
{ name: '西丽街道专题', url: Frame692 },
{ name: '沙河街道专题', url: Frame693 },
{ name: '南山街道专题', url: Frame694 },
{ name: '蛇口街道专题', url: Frame695 },
{ name: '招商街道专题 ', url: Frame696 },
{ name: '桃源街道专题 ', url: Frame697 }
]
export const employmentList = [
{ name: '公告', url: gonggao },
{ name: '政策', url: zhengnc },
{ name: '新闻', url: xinwen },
{ name: '招聘', url: zhao }
]
export const sceneList = [
{ name: '创业人员', url: chuang, link: '/innovationEntrepreneurship' },
{ name: '高校学生', url: gao, link: '/collegeStudents' },
{ name: '港澳青年', url: gang, link: '/macaoYouthEmployment' },
{ name: '退役军人', url: tui, link: '/veterans' },
{ name: '家政', url: jia, link: '/housekeepingServices' },
{ name: '残疾人', url: can, link: '/disabilitiesEmployment' }
]
<template>
<div class="home-container">
<div v-loading="loading" class="home-container">
<div style="position: relative; width: 100%">
<img src="@/assets/img/Banner.png" height="480" style="width: 100%" />
<img
:src="baseURL + '/' + homeData?.HbData?.[0].FPOSTERPICTURE"
height="480"
style="width: 100%"
/>
<div class="img-ct banner">
<div>深圳市南山区公共就业服务平台</div>
<div>
......@@ -13,16 +17,16 @@
<div class="home-tp flx-direction-column">
<div class="n-title">公共就业服务政策</div>
<div class="flx-justify-between policy-bottom">
<policy title="南山就业政策公告" :list="policyList" />
<policy title="南山就业活动" :list="policyList" />
<policy title="南山就业政策公告" :list="homeData?.GgData" />
<policy title="南山就业活动" :list="homeData?.HdData" />
</div>
</div>
<div class="home-tp">
<div class="n-title">街道办招聘</div>
<div class="recruit">
<div v-for="(item, index) in imgList" :key="index" class="recruit-item">
<img :src="item.url" width="318" height="130" />
<div class="recruit-item-detail">{{ item.name }}</div>
<div v-for="(item, index) in homeData?.JdData" :key="index" class="recruit-item">
<img :src="baseURL + '/' + item.FSTREETPICTURE" width="318" height="130" />
<div class="recruit-item-detail">{{ item.FNAME }}</div>
</div>
</div>
</div>
......@@ -90,9 +94,11 @@
<div class="container" style="margin: 64px 60px">
<div class="n-title" style="text-align: center">重点就业情景</div>
<div class="scene">
<div v-for="(item, index) in sceneList" :key="index" class="scene-item">
<img :src="item.url" width="24" height="24" style="margin-left: 4px" />
<div>{{ item.name }}</div>
<div v-for="(item, index) in sceneList" :key="index">
<router-link :to="{ path: item.link }" style="text-decoration: none" class="scene-item">
<img :src="item.url" width="24" height="24" style="margin-left: 4px" />
<div>{{ item.name }}</div>
</router-link>
</div>
</div>
</div>
......@@ -100,60 +106,23 @@
</template>
<script setup lang="ts">
import { baseURL } from '@/services'
import { getHome } from '@/services/api/home'
import { employmentList, sceneList } from './index'
import policy from '../../components/policy.vue'
import Frame690 from '@/assets/img/Frame690.png'
import Frame691 from '@/assets/img/Frame690(1).png'
import Frame692 from '@/assets/img/Frame690(2).png'
import Frame693 from '@/assets/img/Frame690(3).png'
import Frame694 from '@/assets/img/Frame690(4).png'
import Frame695 from '@/assets/img/Frame690(5).png'
import Frame696 from '@/assets/img/Frame690(6).png'
import Frame697 from '@/assets/img/Frame690(7).png'
import gonggao from '@/assets/img/icon-gonggao.png'
import zhengnc from '@/assets/img/icon-zhengnc.png'
import xinwen from '@/assets/img/icon-xinwen.png'
import zhao from '@/assets/img/icon-zhao.png'
import chuang from '@/assets/img/icon-chuang.png'
import gao from '@/assets/img/icon-gao.png'
import gang from '@/assets/img/icon-gang.png'
import tui from '@/assets/img/icon-tui.png'
import jia from '@/assets/img/icon-jia.png'
import can from '@/assets/img/icon-can.png'
const policyList = [
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '深圳市创业带动就业补贴办事指南' },
{ detail: '深圳市创业带动就业补贴办事指南' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' }
]
const loading = ref(true)
const homeData = ref()
const imgList = [
{ name: '粤海街道专题', url: Frame690 },
{ name: '南头街道专题', url: Frame691 },
{ name: '西丽街道专题', url: Frame692 },
{ name: '沙河街道专题', url: Frame693 },
{ name: '南山街道专题', url: Frame694 },
{ name: '蛇口街道专题', url: Frame695 },
{ name: '招商街道专题 ', url: Frame696 },
{ name: '桃源街道专题 ', url: Frame697 }
]
const init = async () => {
loading.value = false
const res: any = await getHome()
if (res.code === 200) {
homeData.value = res.data
}
}
const employmentList = [
{ name: '公告', url: gonggao },
{ name: '政策', url: zhengnc },
{ name: '新闻', url: xinwen },
{ name: '招聘', url: zhao }
]
const sceneList = [
{ name: '创业人员', url: chuang },
{ name: '高校学生', url: gao },
{ name: '港澳青年', url: gang },
{ name: '退役军人', url: tui },
{ name: '家政', url: jia },
{ name: '残疾人', url: can }
]
init()
</script>
<style lang="scss" scoped>
......
<template>
<div class="skill-container flx-center">
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="imgUrl1" height="560" />
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="trainDetailList" />
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { imgUrl1 } from '@/assets/imgUrl'
import Frame690 from '@/assets/img/Frame690(2).png'
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
const trainDetailList = [
{ url: Frame690, name: '家政服务企业商业保险补贴' },
{ url: Frame690, name: '员工制家政服务企业备案' },
{ url: Frame690, name: '员工制家政服务企业社保补贴' },
{ url: Frame690, name: '员工制家政服务企业吸纳就业补贴' }
]
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'J' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'J', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
......
.skill-container {
width: 100%;
.container {
width: 1316px;
text-align: center;
img {
width: 100%;
margin-top: 24px;
border-radius: 12px;
}
.train-list {
display: flex;
margin: 24px 0;
border: 1px solid #177cfa;
border-radius: 8px;
.train-item {
flex: 0 0 20%;
height: 58px;
line-height: 58px;
border-right: 1px solid #177cfa;
font-size: 24px;
font-weight: 500;
color: #177cfa;
&:nth-child(5) {
border-right: 0;
}
}
}
}
}
<template>
<div>人力资源服务</div>
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts"></script>
<script setup lang="ts">
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
<style scoped></style>
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'L' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'L', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
@import './index.scss';
</style>
<template>
<div class="skill-container flx-center">
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="imgUrl1" height="560" />
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="trainDetailList" />
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { imgUrl1 } from '@/assets/imgUrl'
import Frame690 from '@/assets/img/Frame690(2).png'
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
const trainDetailList = [
{ url: Frame690, name: '自主创业人员身份核实' },
{ url: Frame690, name: '创业社保补贴' },
{ url: Frame690, name: '初创企业补贴 (一次性创业资助)' },
{ url: Frame690, name: '创业场租补贴 (创业租金补贴)' },
{ url: Frame690, name: '创业孵化补贴' }
]
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'G' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'G', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
......
<template>
<div class="job-container">
<search />
<el-card class="screen-group" shadow="never">
<div v-for="item in jobList" :key="item.id" class="screen-list">
<div class="screen-type">{{ item.key }}</div>
<div class="screen-item" :class="item.show ? 'isShow' : ''">
<el-button
v-for="(col, i) in item.list"
:key="i"
:type="col.show ? 'primary' : ''"
text
@click="change(item, i)"
>{{ col.name }}</el-button
>
</div>
<div v-show="item.isShow" class="stretch" @click="collapse(item)">
{{ item.show ? '收起' : '更多' }}
</div>
</div>
<div v-show="tagList.length">
<el-divider />
<div class="tag-list">
<div class="tag-left">
<div class="tag-type">已选条件:</div>
<div class="tag-item">
<el-tag
v-for="(item, index) in tagList"
:key="index"
closable
@close="close(index)"
>{{ item.key + ':' + item.name }}</el-tag
>
</div>
</div>
<el-button type="danger" round plain size="small" :icon="Delete" @click="clear"
>清空</el-button
>
</div>
</div>
</el-card>
<el-card shadow="never" style="width: 1316px; margin: 20px 0; border-radius: 8px">
<el-link type="primary" :underline="false">综合排序</el-link>
</el-card>
</div>
</template>
<script setup lang="ts">
import { Search, Delete } from '@element-plus/icons-vue'
import { getJobList } from '@/services/api/home'
import search from '@/components/search.vue'
const jobList = ref()
const tagList = ref([] as any)
const collapse = (item: any) => {
item.show = !item.show
}
const change = (row: any, i: number) => {
row.list.map((item: any, index: number) => {
if (index === i) {
const tag: any = tagList.value.filter((tag: any) => tag.id === row.id)
if (index) {
if (tag.length) {
tagList.value.map((tag: any) => {
if (tag.id == row.id) {
tag.name = item.name
}
})
} else {
tagList.value.push({ id: row.id, key: row.key, name: item.name, type: '' })
}
} else {
if (tag.length) {
let Index = 0
tagList.value.map((tag: any, tagIndex: number) => {
if (tag.id == row.id) {
Index = tagIndex
}
})
tagList.value.splice(Index, 1)
}
}
item.show = true
} else {
item.show = false
}
})
}
const clear = () => (tagList.value = [])
const close = (index: number) => {
tagList.value.splice(index, 1)
}
const init = async () => {
const res: any = await getJobList()
if (res.code === 200) {
res.data.map((item: any) => {
item.list[0].show = true
})
jobList.value = res.data
}
}
init()
</script>
<style lang="scss" scoped>
.job-container {
height: 100%;
display: flex;
flex-direction: row;
flex-direction: column;
align-items: center;
.screen-group {
width: 1316px;
border-radius: 8px;
.screen-list {
display: flex;
justify-content: flex-start;
align-items: flex-start;
margin-top: 18px;
.screen-type {
display: inline-block;
width: 80px;
font-size: 14px;
margin-top: 7px;
}
.screen-item {
flex: 1;
height: 28px;
overflow: hidden;
.el-button {
margin-left: 0px;
margin-right: 8px;
}
}
.isShow {
height: auto !important;
}
.stretch {
width: 60px;
height: 20px;
background-color: #ebe7e7;
text-align: center;
line-height: 20px;
cursor: pointer;
border-radius: 2px;
color: #888585;
margin-top: 7px;
font-size: 14px;
user-select: none; // 文字不可被选中
}
}
&:first-child {
margin-top: 0;
}
.tag-list {
display: flex;
align-items: center;
justify-content: space-between;
.tag-left {
display: flex;
align-items: center;
.tag-type {
display: inline-block;
font-size: 14px;
width: 80px;
}
.tag-item {
.el-tag {
margin-right: 8px;
}
}
}
}
}
}
</style>
<template>
<div class="skill-container flx-center">
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="imgUrl1" height="560" />
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="trainDetailList" />
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { imgUrl1 } from '@/assets/imgUrl'
import Frame690 from '@/assets/img/Frame690(2).png'
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
const trainDetailList = [
{ url: Frame690, name: '就业见习补贴' },
{ url: Frame690, name: '港澳台青年实习补助' },
{ url: Frame690, name: '大湾区青年就业计划生活补助' },
{ url: Frame690, name: '求职创业补贴' },
{ url: Frame690, name: '高校毕业生职业技能培训补贴' },
{ url: Frame690, name: '高校毕业生灵活就业社保补贴' },
{ url: Frame690, name: '小微企业社保补贴' },
{ url: Frame690, name: '职业技能鉴定 (评价)补贴' },
{ url: Frame690, name: '市外职业院校学生来深顶岗实习补贴' }
]
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'E' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'E', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
......
<template>
<div class="policy-container flx-center" v-loading="loading">
<div v-loading="loading" class="policy-container flx-center">
<div class="container">
<img
:src="baseURL + '/' + policyData?.HbData?.[0].FPOSTERPICTURE"
......@@ -24,18 +24,6 @@ import { baseURL } from '@/services'
import { getPolicy } from '@/services/api/policy'
import policy from '@/components/policy.vue'
const policyList = [
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '深圳市创业带动就业补贴办事指南' },
{ detail: '深圳市创业带动就业补贴办事指南' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' },
{ detail: '关于协助做好2022年农村电商“省级精英训练营”宣传发动有关工作的通知' }
]
const searchValue = ref()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10 })
......
......@@ -34,9 +34,9 @@
display: none;
position: absolute;
top: 0;
left: 444px;
left: 443px;
z-index: 10;
width: 904px;
width: 873.5px;
height: 418px;
border-radius: 12px;
box-sizing: border-box;
......@@ -53,14 +53,14 @@
}
}
.street-list {
width: 872px;
width: 873px;
height: 418px;
// margin-left: 16px;
display: flex;
flex-wrap: wrap;
img {
max-width: 100%;
height: auto;
display: block; /* 将图片设置为块级元素 */
max-width: 100%; /* 保证图片在其父元素内部自适应大小 */
}
}
}
......
<template>
<div class="skill-container flx-center">
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="imgUrl1" height="560" />
<img :src="baseURL + '/' + skillTrainData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div class="train-list">
<div v-for="(item, index) in trainList" :key="index" class="train-item">
{{ item.name }}
</div>
</div>
<div style="margin-bottom: 360px">
<contentBlock :list="trainDetailList" />
<contentBlock :list="skillTrainData?.JcAqData" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { imgUrl1 } from '@/assets/imgUrl'
import Frame690 from '@/assets/img/Frame690(2).png'
import { baseURL } from '@/services'
import { getSkillTraining } from '@/services/api/skillTraining'
import contentBlock from '@/components/contentBlock.vue'
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10 })
const skillTrainData: any = ref()
const trainList = [
{ name: '基础安全培训' },
{ name: '专业技能培训' },
......@@ -27,13 +30,16 @@ const trainList = [
{ name: '团队管理培训' }
]
const trainDetailList = [
{ url: Frame690, name: '技能培训' },
{ url: Frame690, name: '技能培训' },
{ url: Frame690, name: '技能培训' },
{ url: Frame690, name: '技能培训' },
{ url: Frame690, name: '技能培训' }
]
const init = async () => {
const res: any = await getSkillTraining(queryList.value)
if (res.code === 200) {
console.log(res)
skillTrainData.value = res.data
loading.value = false
}
}
init()
</script>
<style lang="scss" scoped>
......
.skill-container {
width: 100%;
.container {
width: 1316px;
text-align: center;
img {
width: 100%;
margin-top: 24px;
border-radius: 12px;
}
.train-list {
display: flex;
margin: 24px 0;
border: 1px solid #177cfa;
border-radius: 8px;
.train-item {
flex: 0 0 20%;
height: 58px;
line-height: 58px;
border-right: 1px solid #177cfa;
font-size: 24px;
font-weight: 500;
color: #177cfa;
&:nth-child(5) {
border-right: 0;
}
}
}
}
}
<template>
<div>退役军人</div>
<div v-loading="loading" class="skill-container flx-center">
<div class="container">
<img :src="baseURL + '/' + commonData?.HbData?.[0].FPOSTERPICTURE" height="560" />
<div style="margin: 24px 0 360px">
<contentBlock :list="commonData?.GaQnData" @change="handleChange" />
</div>
</div>
</div>
</template>
<script setup lang="ts">
const route = useRoute()
console.log(route)
import { baseURL } from '@/services'
import { getCommon } from '@/services/api/common'
import contentBlock from '@/components/contentBlock.vue'
const router = useRouter()
const loading = ref(true)
const queryList = ref({ pageIndex: 1, pageSize: 10, FormType: 'I' })
const commonData: any = ref()
const handleChange = (row: any) => {
router.push({ path: '/commonDetail', query: { FID: row.FID, FormType: 'I', FTITLE: row.FTITLE } })
}
const init = async () => {
const res: any = await getCommon(queryList.value)
if (res.code === 200) {
commonData.value = res.data
loading.value = false
}
}
init()
</script>
<style scoped></style>
<style lang="scss" scoped>
@import './index.scss';
</style>
......@@ -15,8 +15,7 @@
"paths": {
"@/*": ["src/*"]
},
"lib": ["esnext", "dom", "dom.iterable", "scripthost"],
"types": ["pinia-plugin-persist"]
"lib": ["esnext", "dom", "dom.iterable", "scripthost"]
},
"include": [
"src/**/*.ts",
......
......@@ -7,15 +7,14 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
CommonDetail: typeof import('./../src/components/commonDetail.vue')['default']
ContentBlock: typeof import('./../src/components/contentBlock.vue')['default']
CustomSelect: typeof import('./../src/components/customSelect.vue')['default']
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
ElButton: typeof import('element-plus/es')['ElButton']
ElCard: typeof import('element-plus/es')['ElCard']
ElCarousel: typeof import('element-plus/es')['ElCarousel']
ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElContainer: typeof import('element-plus/es')['ElContainer']
ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
......@@ -30,7 +29,6 @@ declare module 'vue' {
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
ElLink: typeof import('element-plus/es')['ElLink']
ElMain: typeof import('element-plus/es')['ElMain']
......@@ -39,12 +37,10 @@ declare module 'vue' {
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElRate: typeof import('element-plus/es')['ElRate']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
IEpArrowRight: typeof import('~icons/ep/arrow-right')['default']
IEpCaretBottom: typeof import('~icons/ep/caret-bottom')['default']
IEpCaretTop: typeof import('~icons/ep/caret-top')['default']
......@@ -54,13 +50,11 @@ declare module 'vue' {
IEpOfficeBuilding: typeof import('~icons/ep/office-building')['default']
IEpSearch: typeof import('~icons/ep/search')['default']
IEpView: typeof import('~icons/ep/view')['default']
NSelect: typeof import('./../src/components/n-select.vue')['default']
Policy: typeof import('./../src/components/policy.vue')['default']
RichTextEditor: typeof import('./../src/components/RichTextEditor.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Search: typeof import('./../src/components/search.vue')['default']
Select: typeof import('./../src/components/select.vue')['default']
VerificationCode: typeof import('./../src/components/verificationCode.vue')['default']
}
export interface ComponentCustomProperties {
......
......@@ -14,7 +14,6 @@ import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// Vue3 setup 语法糖下定义组件名称 <script lang="ts" setup name="home">
import VueSetupExtend from 'vite-plugin-vue-setup-extend'
// 引入viteMockServe 配置mock
import { viteMockServe } from 'vite-plugin-mock'
import eslintPlugin from 'vite-plugin-eslint'
export default defineConfig({
......@@ -24,9 +23,6 @@ export default defineConfig({
eslintPlugin({
include: ['src/**/*.ts', 'src/**/*.vue', 'src/*.ts', 'src/*.vue']
}),
viteMockServe({
mockPath: 'src/mock/'
}),
// 配置自动装载配置
AutoImport({
// 生成配置文件,如果是ts项目,通常我们会把声明文件放在根目录/types中,注意,这个文件夹需要先建好,否则可能导致等下无法往里生成auto-imports.d.ts文件
......@@ -78,15 +74,6 @@ export default defineConfig({
host: '0.0.0.0',
// 设置代理
proxy: {
'/api2': {
target: 'http://127.0.0.1:5173/',
changeOrigin: true,
rewrite: path => path.replace(/^\/api2/, '')
},
'/api': {
target: 'https://rms.junrunrenli.com',
changeOrigin: true
},
'/K3Cloud': {
target: 'http://192.168.1.168',
changeOrigin: true
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论