@@ -5,8 +5,8 @@ | |||
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> | |||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |||
<title>Vite + Vue + TS</title> | |||
<script type="module" crossorigin src="/assets/index-K5riA1-W.js"></script> | |||
<link rel="stylesheet" crossorigin href="/assets/index-RU36Lilx.css"> | |||
<script type="module" crossorigin src="/assets/index-W7c0eAO7.js"></script> | |||
<link rel="stylesheet" crossorigin href="/assets/index-tRwQDn9K.css"> | |||
</head> | |||
<body> | |||
<div id="app"></div> |
@@ -8,8 +8,10 @@ | |||
"name": "job-pc", | |||
"version": "0.0.0", | |||
"dependencies": { | |||
"@vueup/vue-quill": "^1.2.0", | |||
"ant-design-vue": "^4.0.0-rc.6", | |||
"axios": "^1.6.4", | |||
"dayjs": "^1.11.10", | |||
"less": "^4.2.0", | |||
"less-loader": "^11.1.3", | |||
"vue": "^3.3.11", | |||
@@ -892,6 +894,18 @@ | |||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.5.tgz", | |||
"integrity": "sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==" | |||
}, | |||
"node_modules/@vueup/vue-quill": { | |||
"version": "1.2.0", | |||
"resolved": "https://registry.npmmirror.com/@vueup/vue-quill/-/vue-quill-1.2.0.tgz", | |||
"integrity": "sha512-kd5QPSHMDpycklojPXno2Kw2JSiKMYduKYQckTm1RJoVDA557MnyUXgcuuDpry4HY/Rny9nGNcK+m3AHk94wag==", | |||
"dependencies": { | |||
"quill": "^1.3.7", | |||
"quill-delta": "^4.2.2" | |||
}, | |||
"peerDependencies": { | |||
"vue": "^3.2.41" | |||
} | |||
}, | |||
"node_modules/@webassemblyjs/ast": { | |||
"version": "1.11.6", | |||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", | |||
@@ -1213,6 +1227,16 @@ | |||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", | |||
"peer": true | |||
}, | |||
"node_modules/call-bind": { | |||
"version": "1.0.5", | |||
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.5.tgz", | |||
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", | |||
"dependencies": { | |||
"function-bind": "^1.1.2", | |||
"get-intrinsic": "^1.2.1", | |||
"set-function-length": "^1.1.1" | |||
} | |||
}, | |||
"node_modules/caniuse-lite": { | |||
"version": "1.0.30001574", | |||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", | |||
@@ -1242,6 +1266,14 @@ | |||
"node": ">=6.0" | |||
} | |||
}, | |||
"node_modules/clone": { | |||
"version": "2.1.2", | |||
"resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", | |||
"integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", | |||
"engines": { | |||
"node": ">=0.8" | |||
} | |||
}, | |||
"node_modules/combined-stream": { | |||
"version": "1.0.8", | |||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | |||
@@ -1307,6 +1339,48 @@ | |||
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", | |||
"dev": true | |||
}, | |||
"node_modules/deep-equal": { | |||
"version": "1.1.2", | |||
"resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.2.tgz", | |||
"integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", | |||
"dependencies": { | |||
"is-arguments": "^1.1.1", | |||
"is-date-object": "^1.0.5", | |||
"is-regex": "^1.1.4", | |||
"object-is": "^1.1.5", | |||
"object-keys": "^1.1.1", | |||
"regexp.prototype.flags": "^1.5.1" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/define-data-property": { | |||
"version": "1.1.1", | |||
"resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.1.tgz", | |||
"integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", | |||
"dependencies": { | |||
"get-intrinsic": "^1.2.1", | |||
"gopd": "^1.0.1", | |||
"has-property-descriptors": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/define-properties": { | |||
"version": "1.2.1", | |||
"resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", | |||
"integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", | |||
"dependencies": { | |||
"define-data-property": "^1.0.1", | |||
"has-property-descriptors": "^1.0.0", | |||
"object-keys": "^1.1.1" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/delayed-stream": { | |||
"version": "1.0.0", | |||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | |||
@@ -1468,6 +1542,11 @@ | |||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", | |||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" | |||
}, | |||
"node_modules/eventemitter3": { | |||
"version": "2.0.3", | |||
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz", | |||
"integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" | |||
}, | |||
"node_modules/events": { | |||
"version": "3.3.0", | |||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", | |||
@@ -1477,12 +1556,22 @@ | |||
"node": ">=0.8.x" | |||
} | |||
}, | |||
"node_modules/extend": { | |||
"version": "3.0.2", | |||
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", | |||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | |||
}, | |||
"node_modules/fast-deep-equal": { | |||
"version": "3.1.3", | |||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | |||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", | |||
"peer": true | |||
}, | |||
"node_modules/fast-diff": { | |||
"version": "1.2.0", | |||
"resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz", | |||
"integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" | |||
}, | |||
"node_modules/fast-json-stable-stringify": { | |||
"version": "2.1.0", | |||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | |||
@@ -1535,12 +1624,41 @@ | |||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0" | |||
} | |||
}, | |||
"node_modules/function-bind": { | |||
"version": "1.1.2", | |||
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", | |||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" | |||
}, | |||
"node_modules/functions-have-names": { | |||
"version": "1.2.3", | |||
"resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", | |||
"integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" | |||
}, | |||
"node_modules/get-intrinsic": { | |||
"version": "1.2.2", | |||
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz", | |||
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", | |||
"dependencies": { | |||
"function-bind": "^1.1.2", | |||
"has-proto": "^1.0.1", | |||
"has-symbols": "^1.0.3", | |||
"hasown": "^2.0.0" | |||
} | |||
}, | |||
"node_modules/glob-to-regexp": { | |||
"version": "0.4.1", | |||
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", | |||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", | |||
"peer": true | |||
}, | |||
"node_modules/gopd": { | |||
"version": "1.0.1", | |||
"resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", | |||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", | |||
"dependencies": { | |||
"get-intrinsic": "^1.1.3" | |||
} | |||
}, | |||
"node_modules/graceful-fs": { | |||
"version": "4.2.11", | |||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", | |||
@@ -1555,6 +1673,52 @@ | |||
"node": ">=8" | |||
} | |||
}, | |||
"node_modules/has-property-descriptors": { | |||
"version": "1.0.1", | |||
"resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", | |||
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", | |||
"dependencies": { | |||
"get-intrinsic": "^1.2.2" | |||
} | |||
}, | |||
"node_modules/has-proto": { | |||
"version": "1.0.1", | |||
"resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", | |||
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/has-symbols": { | |||
"version": "1.0.3", | |||
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", | |||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/has-tostringtag": { | |||
"version": "1.0.0", | |||
"resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz", | |||
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", | |||
"dependencies": { | |||
"has-symbols": "^1.0.2" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/hasown": { | |||
"version": "2.0.0", | |||
"resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", | |||
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", | |||
"dependencies": { | |||
"function-bind": "^1.1.2" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/he": { | |||
"version": "1.2.0", | |||
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | |||
@@ -1588,6 +1752,29 @@ | |||
"node": ">=0.10.0" | |||
} | |||
}, | |||
"node_modules/is-arguments": { | |||
"version": "1.1.1", | |||
"resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", | |||
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", | |||
"dependencies": { | |||
"call-bind": "^1.0.2", | |||
"has-tostringtag": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/is-date-object": { | |||
"version": "1.0.5", | |||
"resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", | |||
"integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", | |||
"dependencies": { | |||
"has-tostringtag": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/is-plain-object": { | |||
"version": "3.0.1", | |||
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", | |||
@@ -1596,6 +1783,18 @@ | |||
"node": ">=0.10.0" | |||
} | |||
}, | |||
"node_modules/is-regex": { | |||
"version": "1.1.4", | |||
"resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", | |||
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", | |||
"dependencies": { | |||
"call-bind": "^1.0.2", | |||
"has-tostringtag": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/is-what": { | |||
"version": "3.14.1", | |||
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", | |||
@@ -1692,6 +1891,16 @@ | |||
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", | |||
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" | |||
}, | |||
"node_modules/lodash.clonedeep": { | |||
"version": "4.5.0", | |||
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", | |||
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" | |||
}, | |||
"node_modules/lodash.isequal": { | |||
"version": "4.5.0", | |||
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", | |||
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" | |||
}, | |||
"node_modules/loose-envify": { | |||
"version": "1.4.0", | |||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", | |||
@@ -1856,6 +2065,31 @@ | |||
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", | |||
"peer": true | |||
}, | |||
"node_modules/object-is": { | |||
"version": "1.1.5", | |||
"resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.5.tgz", | |||
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", | |||
"dependencies": { | |||
"call-bind": "^1.0.2", | |||
"define-properties": "^1.1.3" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/object-keys": { | |||
"version": "1.1.1", | |||
"resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", | |||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/parchment": { | |||
"version": "1.1.4", | |||
"resolved": "https://registry.npmmirror.com/parchment/-/parchment-1.1.4.tgz", | |||
"integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" | |||
}, | |||
"node_modules/parse-node-version": { | |||
"version": "1.0.1", | |||
"resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", | |||
@@ -1931,6 +2165,47 @@ | |||
"node": ">=6" | |||
} | |||
}, | |||
"node_modules/quill": { | |||
"version": "1.3.7", | |||
"resolved": "https://registry.npmmirror.com/quill/-/quill-1.3.7.tgz", | |||
"integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", | |||
"dependencies": { | |||
"clone": "^2.1.1", | |||
"deep-equal": "^1.0.1", | |||
"eventemitter3": "^2.0.3", | |||
"extend": "^3.0.2", | |||
"parchment": "^1.1.4", | |||
"quill-delta": "^3.6.2" | |||
} | |||
}, | |||
"node_modules/quill-delta": { | |||
"version": "4.2.2", | |||
"resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-4.2.2.tgz", | |||
"integrity": "sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==", | |||
"dependencies": { | |||
"fast-diff": "1.2.0", | |||
"lodash.clonedeep": "^4.5.0", | |||
"lodash.isequal": "^4.5.0" | |||
} | |||
}, | |||
"node_modules/quill/node_modules/fast-diff": { | |||
"version": "1.1.2", | |||
"resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.1.2.tgz", | |||
"integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" | |||
}, | |||
"node_modules/quill/node_modules/quill-delta": { | |||
"version": "3.6.3", | |||
"resolved": "https://registry.npmmirror.com/quill-delta/-/quill-delta-3.6.3.tgz", | |||
"integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", | |||
"dependencies": { | |||
"deep-equal": "^1.0.1", | |||
"extend": "^3.0.2", | |||
"fast-diff": "1.1.2" | |||
}, | |||
"engines": { | |||
"node": ">=0.10" | |||
} | |||
}, | |||
"node_modules/randombytes": { | |||
"version": "2.1.0", | |||
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | |||
@@ -1945,6 +2220,19 @@ | |||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", | |||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" | |||
}, | |||
"node_modules/regexp.prototype.flags": { | |||
"version": "1.5.1", | |||
"resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", | |||
"integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", | |||
"dependencies": { | |||
"call-bind": "^1.0.2", | |||
"define-properties": "^1.2.0", | |||
"set-function-name": "^2.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/resize-observer-polyfill": { | |||
"version": "1.5.1", | |||
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", | |||
@@ -2064,6 +2352,33 @@ | |||
"randombytes": "^2.1.0" | |||
} | |||
}, | |||
"node_modules/set-function-length": { | |||
"version": "1.1.1", | |||
"resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.1.1.tgz", | |||
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", | |||
"dependencies": { | |||
"define-data-property": "^1.1.1", | |||
"get-intrinsic": "^1.2.1", | |||
"gopd": "^1.0.1", | |||
"has-property-descriptors": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/set-function-name": { | |||
"version": "2.0.1", | |||
"resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.1.tgz", | |||
"integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", | |||
"dependencies": { | |||
"define-data-property": "^1.0.1", | |||
"functions-have-names": "^1.2.3", | |||
"has-property-descriptors": "^1.0.0" | |||
}, | |||
"engines": { | |||
"node": ">= 0.4" | |||
} | |||
}, | |||
"node_modules/shallow-equal": { | |||
"version": "1.2.1", | |||
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", |
@@ -15,7 +15,9 @@ | |||
"less-loader": "^11.1.3", | |||
"vue": "^3.3.11", | |||
"vue-router": "^4.2.5", | |||
"vuex": "^4.0.2" | |||
"vuex": "^4.0.2", | |||
"@vueup/vue-quill": "^1.2.0", | |||
"dayjs": "^1.11.10" | |||
}, | |||
"devDependencies": { | |||
"@vitejs/plugin-vue": "^4.5.2", |
@@ -1,38 +0,0 @@ | |||
<script setup lang="ts"> | |||
import { ref } from 'vue' | |||
defineProps<{ msg: string }>() | |||
const count = ref(0) | |||
</script> | |||
<template> | |||
<h1>{{ msg }}</h1> | |||
<div class="card"> | |||
<button type="button" @click="count++">count is {{ count }}</button> | |||
<p> | |||
Edit | |||
<code>components/HelloWorld.vue</code> to test HMR | |||
</p> | |||
</div> | |||
<p> | |||
Check out | |||
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank" | |||
>create-vue</a | |||
>, the official Vue + Vite starter | |||
</p> | |||
<p> | |||
Install | |||
<a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a> | |||
in your IDE for a better DX | |||
</p> | |||
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p> | |||
</template> | |||
<style scoped> | |||
.read-the-docs { | |||
color: #888; | |||
} | |||
</style> |
@@ -0,0 +1,26 @@ | |||
<template> | |||
<a-menu v-model:selectedKeys="selectedKeys" @click="menuClick" | |||
style="width: 100%;" mode="inline"> | |||
<a-menu-item v-for="(item, index) in menuList" :key="item.key">{{item.name}}</a-menu-item> | |||
</a-menu> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted, watch,defineProps,defineEmits } from 'vue'; | |||
let props = defineProps(['menu_list', 'selected_key']); | |||
let emit = defineEmits(); | |||
let menuList = ref<Object[]>(props.menu_list) | |||
const selectedKeys = ref<string[]>(['1']); | |||
watch(() => [props.menu_list, props.selected_key], (newVal) => { | |||
menuList.value = newVal[0], | |||
selectedKeys.value = newVal[1] | |||
}) | |||
const menuClick = (val) => { | |||
emit('changeKey', { key: val.key }) | |||
} | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,22 @@ | |||
<template> | |||
<upload upload_txt="上传企业图片" @uploadSuccess="uploadPhotoSuccess" | |||
:success_image="addOtherForm.photo_img" images_length="1"></upload> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import Upload from '@/components/form/upload.vue'; | |||
let addOtherForm = ref({ | |||
photo_img: '', | |||
}) | |||
// 营业执照 | |||
const uploadPhotoSuccess = (data : Object) => { | |||
addOtherForm.value.photo_img = "http://114.132.85.7:8894" + data | |||
createForm.value.photo = data | |||
} | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,22 @@ | |||
<template> | |||
<upload upload_txt="上传营业执照" @uploadSuccess="uploadPhotoSuccess" | |||
:success_image="addOtherForm.photo_img" images_length="1"></upload> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import Upload from '@/components/form/upload.vue'; | |||
let addOtherForm = ref({ | |||
photo_img: '', | |||
}) | |||
// 营业执照 | |||
const uploadPhotoSuccess = (data : Object) => { | |||
addOtherForm.value.photo_img = "http://114.132.85.7:8894" + data | |||
createForm.value.photo = data | |||
} | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,113 @@ | |||
<template> | |||
<div style="display: flex;"> | |||
<img v-if="imagesLength == 1 && imageUrl" :src="imageUrl" alt="avatar" width="200px" height="400px" | |||
style="margin-right: 10px;" /> | |||
<template v-else> | |||
<template v-for="(item, index) in imagesList"> | |||
<img :src="item.url" alt="avatar" width="100px" height="100px" style="margin-right: 10px;" /> | |||
</template> | |||
</template> | |||
<div v-if="imagesList.length < imagesLength"> | |||
<a-upload a-upload v-model:file-list="fileList" list-type="picture-card" class="avatar-uploader" | |||
:show-upload-list="false" :before-upload="beforeUpload" :data="uploadData" | |||
:customRequest="uploadCustom"> | |||
<div class="ant-upload-text">{{uploadTxt}}</div> | |||
</a-upload> | |||
</div> | |||
</div> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed, defineProps, watch, defineEmits } from 'vue'; | |||
import axios from 'axios'; | |||
import { message } from 'ant-design-vue'; | |||
const props = defineProps(['upload_txt', 'success_image', 'images_length']); | |||
const emit = defineEmits(); | |||
const headers = ref<Object>({ | |||
Authorization: sessionStorage.getItem('token'), | |||
'X-Requested-With': null | |||
}) | |||
const uploadData = ref<Object>({ | |||
image: '' | |||
}) | |||
let imagesList = ref<Object[]>([]) | |||
let fileList = ref<Object[]>([]) | |||
let imageUrl = ref<String>(props.success_image) // 图片路径 | |||
let uploadTxt = ref<String>(props.upload_txt) | |||
let imagesLength = ref<Number>(props.images_length) | |||
watch(() => props.success_image, (newVal : string, oldVal : string) => { | |||
imageUrl.value = newVal; | |||
}) | |||
const beforeUpload = (file) => { | |||
uploadData.value.image = file | |||
} | |||
const uploadCustom = (e) => { | |||
let formdata = new FormData() | |||
formdata.append('image', e.file) | |||
axios({ | |||
url: 'http://114.132.85.7:8889/common/image/upload?imgtype=1', | |||
method: 'post', | |||
data: formdata, | |||
headers: headers.value | |||
}).then((res) => { | |||
if (imagesLength.value === 1) { | |||
imagesList.value = [{ | |||
uid: '-1', // 文件唯一标识,建议设置为负数,防止和内部产生的 id 冲突 | |||
name: e.file.name, // 文件名 | |||
status: 'done', // 状态有:uploading done error removed | |||
url: "http://114.132.85.7:8894" + res.data.data.filename | |||
}] | |||
} else { | |||
if (imagesList.value.length < imagesLength.value) { | |||
console.log(imagesList.value) | |||
imagesList.value.push({ | |||
uid: '-' + (imagesList.value.length + 1), // 文件唯一标识,建议设置为负数,防止和内部产生的 id 冲突 | |||
name: e.file.name, // 文件名 | |||
status: 'done', // 状态有:uploading done error removed | |||
url: "http://114.132.85.7:8894" + res.data.data.filename | |||
}) | |||
} else { | |||
message.danger('最多上传5张'); | |||
} | |||
} | |||
message.success(`${props.upload_txt}成功`); | |||
emit('uploadSuccess', res.data.data.filename) | |||
}) | |||
} | |||
// const uploadChange = ({ file, fileList }) => { | |||
// console.log(fileList) | |||
// if (file.file.response) { | |||
// message.success(`${props.upload_txt}成功`); | |||
// emit('uploadSuccess', file.file.response) | |||
// } | |||
// } | |||
</script> | |||
<style scoped lang="less"> | |||
.avatar-uploader>.ant-upload { | |||
width: 128px; | |||
height: 128px; | |||
} | |||
.ant-upload-select-picture-card i { | |||
font-size: 32px; | |||
color: #999; | |||
} | |||
.ant-upload-select-picture-card .ant-upload-text { | |||
margin-top: 8px; | |||
color: #666; | |||
} | |||
.ant-upload-select-picture-card .ant-upload-list-item { | |||
width: 128px; | |||
height: 128px; | |||
margin-right: 8px; | |||
} | |||
</style> |
@@ -0,0 +1,157 @@ | |||
<template> | |||
<a-table :data-source="dataSource" :columns="columns"> | |||
<template #operation="{ record }"> | |||
<a-dropdown> | |||
<template #overlay> | |||
<a-menu @click="handleMenuClick"> | |||
<a-menu-item key="1"> | |||
修改 | |||
</a-menu-item> | |||
<a-menu-item key="2"> | |||
发布 | |||
</a-menu-item> | |||
<a-menu-item key="3"> | |||
暂停 | |||
</a-menu-item> | |||
<a-menu-item key="3"> | |||
删除 | |||
</a-menu-item> | |||
<a-menu-item key="3"> | |||
放入回收站 | |||
</a-menu-item> | |||
<a-menu-item key="3"> | |||
查看 | |||
</a-menu-item> | |||
</a-menu> | |||
</template> | |||
<a-button> | |||
刷新 | |||
<DownOutlined /> | |||
</a-button> | |||
</a-dropdown> | |||
</template> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import { UserOutlined, DownOutlined } from '@ant-design/icons-vue'; | |||
let dataSource = ref([ | |||
{ | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
} | |||
, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
} | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '职位名称', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '所属部门', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '状态', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '招聘时间', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '浏览数', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '应聘简历(未看)', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '推荐简历(未看)', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,97 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 6}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item required label="联系人" name="contact"> | |||
<a-input v-model:value="createForm.contact" placeholder="请输入联系人" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="担任职位" name="possession"> | |||
<a-input v-model:value="createForm.possession" placeholder="请输入联系人职位" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="联系电话" name="phone"> | |||
<a-input v-model:value="createForm.phone" placeholder="请输入联系电话" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="是否公开联系电话" name="phone_public" :label-col="{span: 0}"> | |||
<a-radio-group v-model:value="createForm.phone_public" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="手机" name="mobile"> | |||
<a-input v-model:value="createForm.mobile" placeholder="请输入手机" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="是否公开手机" name="mobile_public" :label-col="{span: 0}"> | |||
<a-radio-group v-model:value="createForm.mobile_public" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="邮箱" name="email"> | |||
<a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="是否公开邮箱" name="email_public" :label-col="{span: 0}"> | |||
<a-radio-group v-model:value="createForm.email_public" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="传真" name="fax"> | |||
<a-input v-model:value="createForm.fax" placeholder="请输入传真" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="是否公开传真" name="fax_public" :label-col="{span: 0}"> | |||
<a-radio-group v-model:value="createForm.fax_public" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="其他地址" name="other_address"> | |||
<a-input v-model:value="createForm.other_address" placeholder="请输入其他地址" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="面试地址" name="interview_address"> | |||
<a-input v-model:value="createForm.interview_address" placeholder="请输入面试地址" /> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,122 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 6}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item required label="工作经验"> | |||
<!-- <a-c-select :dict="2021" placeholder="请选择工作经验" @saveSelect="saveExperience"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="学历"> | |||
<!-- <a-c-select :dict="2006" placeholder="请选择学历" @saveSelect="saveSchoolDegree"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="含最高学历" name="degree_better"> | |||
<a-radio-group v-model:value="createForm.degree_better" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="职称要求"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="技能认证"> | |||
<!-- <a-c-select :dict="2015" placeholder="请选择技能认证" @saveSelect="saveCertification"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="语言要求"> | |||
<!-- <a-c-select :dict="2007" placeholder="请选择语言要求" @saveSelect="saveLanguage"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="掌握程度"> | |||
<!-- <a-c-select :dict="2008" placeholder="请选择掌握程度" @saveSelect="saveLanguageDegree"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="性别要求" name="sex"> | |||
<a-radio-group v-model:value="createForm.sex" button-style="solid"> | |||
<a-radio-button :value="1">男</a-radio-button> | |||
<a-radio-button :value="2">女</a-radio-button> | |||
<a-radio-button :value="3">不限</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="最小年龄" name="age_min"> | |||
<a-input-number :min="0" type="number" v-model:value="createForm.age_min" | |||
placeholder="请输入最小年龄" style="width: 100%;" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="最大年龄" name="age_max"> | |||
<a-input-number :min="0" type="number" v-model:value="createForm.age_max" | |||
placeholder="请输入最大年龄" style="width: 100%;" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="婚姻状况" name="marital_status"> | |||
<a-radio-group v-model:value="createForm.marital_status" button-style="solid"> | |||
<a-radio-button :value="1">已婚</a-radio-button> | |||
<a-radio-button :value="2">未婚</a-radio-button> | |||
<a-radio-button :value="3">不限</a-radio-button> | |||
</a-radio-group> | |||
<!-- <a-c-select :dict="2011" placeholder="请选择婚姻状况" @saveSelect="saveMandarinStatus"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="专业" name="major"> | |||
<a-input v-model:value="createForm.major" placeholder="请输入专业" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="证书要求" :label-col="{span: 0}"> | |||
<a-checkbox-group v-model:value="createForm.license" @change="licenseChange"> | |||
<template v-for="(item, index) in licenseOption"> | |||
<a-checkbox :value="item.id">{{item.name}}</a-checkbox> | |||
</template> | |||
</a-checkbox-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="籍贯要求" name="mandarin"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="compantJiguanSave" placeholder="请选择籍贯" | |||
:cascader_content="addOtherForm.company_jiguan_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="所在地要求" name="mandarin"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="compantSuozaidiSave" placeholder="请选择所在地" | |||
:cascader_content="addOtherForm.company_suozaidi_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,221 @@ | |||
<template> | |||
<a-tabs v-model:activeKey="activeKey"> | |||
<a-tab-pane key="1" tab="职位信息"> | |||
<position-info></position-info> | |||
</a-tab-pane> | |||
<a-tab-pane key="2" tab="职位要求" force-render> | |||
<position-demand></position-demand> | |||
</a-tab-pane> | |||
<a-tab-pane key="3" tab="联系方式"> | |||
<position-contact></position-contact> | |||
</a-tab-pane> | |||
</a-tabs> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import PositionInfo from '@/components/invite/position/info.vue' | |||
import PositionDemand from '@/components/invite/position/demand.vue' | |||
import PositionContact from '@/components/invite/position/contact.vue' | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '部门名称', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '联系人', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '联系电话', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '联系手机', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '电子邮件', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,118 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 6}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item label="是否紧急" name="urgent"> | |||
<a-radio-group v-model:value="createForm.urgent" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="联系人" name="contact"> | |||
<a-input v-model:value="createForm.contact" placeholder="请输入联系人" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="所属部门" name="department_id"> | |||
<!-- <a-c-select-common placeholder="请选择部门" :list="department_list" @searchKey="searchDepartment" | |||
@saveSearch="saveDepartmentSearch"></a-c-select-common> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="职位名称" name="name"> | |||
<a-input v-model:value="createForm.name" placeholder="请输入职位名称" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="招聘人数" name="invite_count"> | |||
<a-input v-model:value="createForm.invite_count" placeholder="请输入招聘人数" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="联系电话" name="phone"> | |||
<a-input v-model:value="createForm.phone" placeholder="请输入联系电话" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="职位类别" :label-col="{span: 0}"> | |||
<!-- <a-c-cascader :dict="2004" @saveCascader="industry1Save" placeholder="请选择职位类别" | |||
:cascader_content="addOtherForm.company_industry1_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="工作地区" name="name"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="location1Save" placeholder="请选择工作区域" | |||
:cascader_content="addOtherForm.company_location1_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="职位描述" name="describe_text" > | |||
<!-- <QuillEditor theme="snow" :options="options" toolbar="full" | |||
v-model:content="addOtherForm.describe_content" | |||
@update:content="onEditorDescribeUpdate($event)" contentType="html" /> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="薪资范围" name="pay_range"> | |||
<!-- <a-c-select :dict="2005" placeholder="请选择月薪要求范围" @saveSelect="savePayRange"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="有效天数" name="useful_life"> | |||
<a-input-number :min="0" type="number" v-model:value="createForm.useful_life" | |||
placeholder="请输入有效天数" style="width: 100%;" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="到期日期"> | |||
<!-- <a-date-picker v-model:value="addOtherForm.daoqi_date" @Change="disabledDateChange" | |||
style="width: 100%;" /> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="关键词"> | |||
<a-input v-model:value="createForm.key_word" placeholder="请输入关键词" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="职位性质"> | |||
<!-- <a-date-picker v-model:value="addOtherForm.daoqi_date" @Change="disabledDateChange" | |||
style="width: 100%;" /> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="食宿要求"> | |||
<!-- <a-c-select :dict="2016" placeholder="请选择食宿要求" @saveSelect="saveShisu"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="节假日休息情况" > | |||
<!-- <a-c-select :dict="2017" placeholder="请选择节假日休息情况" @saveSelect="saveHolidays"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,122 @@ | |||
<template> | |||
<a-table :data-source="dataSource" :columns="columns"> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
import { UserOutlined, DownOutlined } from '@ant-design/icons-vue'; | |||
let dataSource = ref([ | |||
{ | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
} | |||
, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
}, { | |||
key: '第一部部门第一部部门第一部部门', | |||
name: '第一部', | |||
age: '已暂停', | |||
address: '2020111111', | |||
phone: '12', | |||
email: '12.com', | |||
} | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '职位名称', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '所属部门', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '状态', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '招聘时间', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '浏览数', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '应聘简历(未看)', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '推荐简历(未看)', | |||
dataIndex: 'email', | |||
key: 'email', | |||
} | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,204 @@ | |||
<template> | |||
<a-table :data-source="dataSource" :columns="columns"> | |||
<template #operation="{ record }"> | |||
<a-popconfirm v-if="dataSource.length" title="Sure to delete?" @confirm="onDelete(record.key)"> | |||
<a>删除</a> | |||
</a-popconfirm> | |||
</template> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '时间', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '招聘会主题', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '地点', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,250 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 4}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item required label="姓名" name="name"> | |||
<a-input v-model:value="createForm.name" placeholder="请输入姓名" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="电话" name="contact"> | |||
<a-input v-model:value="createForm.contact" placeholder="请输入联系人" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="地址" name="phone"> | |||
<a-input v-model:value="createForm.phone" placeholder="请输入联系电话" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="传真" name="mobile"> | |||
<a-input v-model:value="createForm.mobile" placeholder="请输入手机" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="邮编" name="email"> | |||
<a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="电子邮箱" name="email"> | |||
<a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="反馈内容" name="email"> | |||
<a-input v-model:value="createForm.email" placeholder="请输入邮箱" /> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '部门名称', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '联系人', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '联系电话', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '联系手机', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '电子邮件', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,209 @@ | |||
<template> | |||
<a-table :data-source="dataSource" :columns="columns"> | |||
<template #operation="{ record }"> | |||
<a-popconfirm v-if="dataSource.length" title="Sure to delete?" @confirm="onDelete(record.key)"> | |||
<a>删除</a> | |||
</a-popconfirm> | |||
</template> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '姓名', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '电话', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '留言内容', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '留言时间', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,281 @@ | |||
<template> | |||
<a-row> | |||
<a-col> | |||
搜索应聘简历 | |||
</a-col> | |||
<a-col span="2"> | |||
<a-dropdown> | |||
<template #overlay> | |||
</template> | |||
<a-button> | |||
部门 | |||
<DownOutlined /> | |||
</a-button> | |||
</a-dropdown> | |||
</a-col> | |||
<a-col> | |||
<a-dropdown> | |||
<template #overlay> | |||
</template> | |||
<a-button> | |||
职位 | |||
<DownOutlined /> | |||
</a-button> | |||
</a-dropdown> | |||
</a-col> | |||
<a-col> | |||
<a-dropdown> | |||
<template #overlay> | |||
</template> | |||
<a-button> | |||
状态 | |||
<DownOutlined /> | |||
</a-button> | |||
</a-dropdown> | |||
</a-col> | |||
<a-col> | |||
<a-input-search v-model:value="value" placeholder="input search text" style="width: 200px;" | |||
@search="onSearch"> | |||
<template #enterButton> | |||
<a-button>Custom</a-button> | |||
</template> | |||
</a-input-search> | |||
</a-col> | |||
</a-row> | |||
<div style="margin: 10px 0;"> | |||
<a-row> | |||
<a-col> | |||
<a-button>放入回收站</a-button> | |||
</a-col> | |||
<a-col span="2"> | |||
<a-button>发布面试通知</a-button> | |||
</a-col> | |||
</a-row> | |||
</div> | |||
<a-table :data-source="dataSource" :columns="columns" | |||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> | |||
<template #operation="{ record }"> | |||
<a-popconfirm v-if="dataSource.length" title="Sure to delete?" @confirm="onDelete(record.key)"> | |||
<a>删除</a> | |||
</a-popconfirm> | |||
</template> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import { DownOutlined } from '@ant-design/icons-vue'; | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '姓名', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '性别', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '应聘职位', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '学历', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '所在地', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '工作经验', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '应聘时间', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '状态', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,214 @@ | |||
<template> | |||
<a-input-search v-model:value="value" placeholder="input search text" | |||
@search="onSearch"> | |||
<template #enterButton> | |||
<a-button>搜索</a-button> | |||
</template> | |||
</a-input-search> | |||
<a-table :data-source="dataSource" :columns="columns" | |||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"> | |||
<template #operation="{ record }"> | |||
<a-popconfirm v-if="dataSource.length" title="Sure to delete?" @confirm="onDelete(record.key)"> | |||
<a>删除</a> | |||
</a-popconfirm> | |||
</template> | |||
</a-table> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import { DownOutlined } from '@ant-design/icons-vue'; | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '姓名', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '性别', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '意向职位', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '学历', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '期望工作地', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -0,0 +1,261 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 4}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item label="关键字" name="full_name"> | |||
<a-input v-model:value="value" placeholder="Basic usage" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="关键词匹配" name="registration_number"> | |||
<a-checkbox-group> | |||
<a-checkbox>求职意向</a-checkbox> | |||
<a-checkbox>工作经历</a-checkbox> | |||
<a-checkbox>教育经历</a-checkbox> | |||
<a-checkbox>技能专长</a-checkbox> | |||
</a-checkbox-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="应聘职位" name="mandarin"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="compantJiguanSave" placeholder="请选择籍贯" | |||
:cascader_content="addOtherForm.company_jiguan_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="期望地区" name="mandarin"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="compantJiguanSave" placeholder="请选择籍贯" | |||
:cascader_content="addOtherForm.company_jiguan_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="户口所在地" name="mandarin"> | |||
<!-- <a-c-cascader :dict="2009" @saveCascader="compantSuozaidiSave" placeholder="请选择所在地" | |||
:cascader_content="addOtherForm.company_suozaidi_cascader"></a-c-cascader> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="学历"> | |||
<!-- <a-c-select :dict="2006" placeholder="请选择学历" @saveSelect="saveSchoolDegree"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="含最高学历" name="degree_better"> | |||
<a-radio-group v-model:value="createForm.degree_better" button-style="solid"> | |||
<a-radio-button :value="1">是</a-radio-button> | |||
<a-radio-button :value="2">否</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="英语"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="国语"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="粤语"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="第二外语"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="计算机能力"> | |||
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="工作经验"> | |||
<!-- <a-c-select :dict="2021" placeholder="请选择工作经验" @saveSelect="saveExperience"></a-c-select> --> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="性别" name="sex"> | |||
<a-radio-group v-model:value="createForm.sex" button-style="solid"> | |||
<a-radio-button :value="1">男</a-radio-button> | |||
<a-radio-button :value="2">女</a-radio-button> | |||
<a-radio-button :value="3">不限</a-radio-button> | |||
</a-radio-group> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="最小年龄" name="age_min"> | |||
<a-input-number :min="0" type="number" v-model:value="createForm.age_min" | |||
placeholder="请输入最小年龄" style="width: 100%;" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item label="最大年龄" name="age_max"> | |||
<a-input-number :min="0" type="number" v-model:value="createForm.age_max" | |||
placeholder="请输入最大年龄" style="width: 100%;" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="简历更新" name="marital_status"> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="简历编号" name="major"> | |||
<a-input v-model:value="createForm.major" placeholder="请输入专业" /> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
<a-button block>保存</a-button> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed, defineProps, watch, defineEmits } from 'vue'; | |||
// import dayjs from 'dayjs'; | |||
// import 'dayjs/locale/zh-cn'; | |||
// dayjs.locale('zh-cn'); | |||
// const dayjsRef = ref(dayjs); | |||
let createForm : companyListType.addrFormType = ref({ | |||
full_name: '', | |||
registration_number: '', | |||
establishment_date: '', | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
fax: '', | |||
website: '', | |||
province: 0, | |||
city: 0, | |||
district: 0, | |||
street: 0, | |||
address: '', | |||
industry: 0, | |||
nature: 0, | |||
scale: 0, | |||
introduction: '', | |||
photo: '', | |||
photo_status: 1, | |||
license_path: '', | |||
license_status: 1, | |||
login_name: '', | |||
login_pwd: '', | |||
company_photos: [], | |||
}) | |||
let addOtherForm = ref<companyListType.addOtherFormType>({ | |||
chengli_date: '', | |||
content: '', | |||
photo_img: '', | |||
license_img: '', | |||
company_photo_img: '', | |||
company_address_cascader: '', | |||
company_industry_cascader: '', | |||
company_nature_cascader: '', | |||
company_scale_cascader: '', | |||
}) | |||
onMounted(async () => { | |||
// let res = await listSection({ page: 1, pagesize: 10, sort: 'id', sortby: "asc", keyword: "" }); | |||
// section_list.value = res.data.sections; | |||
}) | |||
// 上传图片 | |||
// 企业照片 | |||
// const uploadPhotoSuccess = (data : Object) => { | |||
// addOtherForm.value.photo_img = "http://114.132.245.7:242494" + data | |||
// createForm.value.photo = data | |||
// } | |||
// // 营业执照 | |||
// const uploadLicenseSuccess = (data : Object) => { | |||
// addOtherForm.value.license_img = "http://114.132.245.7:242494" + data | |||
// createForm.value.license_path = data | |||
// } | |||
// // 企业相册 | |||
// const uploadSuccess = (data : Object) => { | |||
// addOtherForm.value.company_photo_img = "http://114.132.245.7:242494" + data | |||
// createForm.value.company_photos.push({ photo: data }) | |||
// } | |||
// // 成立日期 | |||
// const establishmentDateChange = (val) => { | |||
// createForm.value.establishment_date = dayjsRef.value(val).format('YYYY-MM-DD'); | |||
// } | |||
// // 选择地址 | |||
// const compantAddressSave = (data) => { | |||
// createForm.value.province = data.arr1[0] ? data.arr1[0] : 0; | |||
// createForm.value.city = data.arr1[1] ? data.arr1[1] : 0; | |||
// createForm.value.district = data.arr1[2] ? data.arr1[2] : 0; | |||
// createForm.value.street = data.arr1[3] ? data.arr1[3] : 0; | |||
// } | |||
// // 所属行业 industrySave | |||
// const industrySave = (data) => { | |||
// createForm.value.industry = data.arr1[1] ? data.arr1[1] : 0; | |||
// } | |||
// // 企业性质 | |||
// const natureSave = (data) => { | |||
// createForm.value.nature = data.arr1[1] ? data.arr1[1] : 0; | |||
// } | |||
// // 企业规模 | |||
// const scaleSave = (data) => { | |||
// createForm.value.scale = data.val ? data.val : 0; | |||
// } | |||
// // 富文本 | |||
// const onEditorUpdate = (data) => { | |||
// createForm.value.introduction = data | |||
// } | |||
// const sumbitForm = () => { | |||
// console.log(createForm.value) | |||
// if (createForm.value.full_name) { | |||
// if (!createForm.value.id) { | |||
// addCompany(createForm.value).then(res => { | |||
// message.success('新增企业成功'); | |||
// hideModal(); | |||
// resetForm(); | |||
// emit('successAdd'); | |||
// }).catch(err => { | |||
// }) | |||
// } else { | |||
// PostCompanyEdit(createForm.value).then(res => { | |||
// message.success('修改企业信息成功'); | |||
// hideModal(); | |||
// resetForm(); | |||
// emit('successAdd'); | |||
// }).catch(err => { | |||
// }) | |||
// } | |||
// } else { | |||
// message.warning('请补充完整信息'); | |||
// } | |||
// } | |||
</script> | |||
<style> | |||
</style> | |||
<style> | |||
</style> |
@@ -0,0 +1,22 @@ | |||
<template> | |||
<a-row> | |||
<a-col :span="6"> | |||
<a-statistic title="总点数" value="10000" style="margin-right: 50px" /> | |||
</a-col> | |||
<a-col :span="6"> | |||
<a-statistic title="剩余点数" value="999" /> | |||
</a-col> | |||
<a-col :span="6"> | |||
<a-statistic title="开通日期" value="2012-12-20" /> | |||
</a-col> | |||
<a-col :span="6"> | |||
<a-statistic title="有效期限" value="2012-12-20" /> | |||
</a-col> | |||
</a-row> | |||
</template> | |||
<script> | |||
</script> | |||
<style> | |||
</style> |
@@ -0,0 +1,230 @@ | |||
<template> | |||
<a-form :model="createForm" :label-col="{span: 4}" labelAlign="right"> | |||
<a-row gutter="20"> | |||
<a-col span="12"> | |||
<a-row> | |||
<a-col span="24"> | |||
<a-form-item required label="登录密码" name="name"> | |||
<a-input v-model:value="createForm.name" placeholder="请输入登录密码" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="注册的手机号" name="name"> | |||
<a-input v-model:value="createForm.name" placeholder="请输入手机号" /> | |||
</a-form-item> | |||
</a-col> | |||
<a-col span="24"> | |||
<a-form-item required label="确认密码" name="contact"> | |||
<a-input v-model:value="createForm.contact" placeholder="请输入确认密码" /> | |||
</a-form-item> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
</a-form> | |||
</template> | |||
<script setup lang="ts"> | |||
import { ref, onMounted, computed } from 'vue'; | |||
let createForm : companyListType.addrFormType = ref({ | |||
name: '', | |||
company_id: 0, | |||
contact: '', | |||
phone: '', | |||
mobile: '', | |||
email: '', | |||
}) | |||
let dataSource = ref([ | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
{ | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, { | |||
key: '1', | |||
name: '第一部部门第一部部门第一部部门', | |||
age: '王二狗', | |||
address: '082-12331231', | |||
phone: '1223245645646', | |||
email: '6146545@126.com', | |||
}, | |||
]) | |||
let columns = ref([ | |||
{ | |||
title: '部门名称', | |||
dataIndex: 'name', | |||
key: 'name', | |||
}, | |||
{ | |||
title: '联系人', | |||
dataIndex: 'age', | |||
key: 'age', | |||
}, | |||
{ | |||
title: '联系电话', | |||
dataIndex: 'address', | |||
key: 'address', | |||
}, | |||
{ | |||
title: '联系手机', | |||
dataIndex: 'phone', | |||
key: 'phone', | |||
}, | |||
{ | |||
title: '电子邮件', | |||
dataIndex: 'email', | |||
key: 'email', | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'operation', | |||
slots: { customRender: 'operation' }, | |||
}, | |||
]) | |||
</script> | |||
<style scoped lang="less"> | |||
:deep(.ant-table-thead >tr>th) { | |||
background-color: #fff !important; | |||
border: none !important; | |||
color: #bbb !important; | |||
} | |||
:deep(.ant-table-thead >tr>th::before) { | |||
display: none !important; | |||
} | |||
:deep(.ant-table-tbody >tr >td) { | |||
border: none !important; | |||
} | |||
</style> |
@@ -5,7 +5,7 @@ import { router } from './router' | |||
import { store } from './store'; | |||
import Antd from 'ant-design-vue'; | |||
import 'ant-design-vue/dist/reset.css'; | |||
import CommonLeftSider from '@/components/common/left-sider.vue'; | |||
// router.beforeEach((to, from, next) => { | |||
// document.title = `${to.meta.title} - 菊城人才市场后台管理`; | |||
// if (!sessionStorage.getItem('token')) { | |||
@@ -34,7 +34,7 @@ import 'ant-design-vue/dist/reset.css'; | |||
// }) | |||
const app = createApp(App); | |||
app.component('common-left-sider', CommonLeftSider); | |||
app.use(router); | |||
app.use(store); | |||
app.use(Antd); |
@@ -22,13 +22,13 @@ export const LayoutRoute: AppRouteRecordRaw = { | |||
path: '', | |||
name: 'layout', | |||
component: Layout, | |||
redirect: '/manage/home', | |||
// children: [ | |||
// ...routesModuleList | |||
// ] | |||
redirect: '/job/home', | |||
children: [ | |||
...routesManageModuleList | |||
...routesModuleList | |||
] | |||
// children: [ | |||
// ...routesManageModuleList | |||
// ] | |||
} | |||
@@ -3,22 +3,17 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">基本资料</a-menu-item> | |||
<a-menu-item key="2">部门管理</a-menu-item> | |||
<a-menu-item key="3">上传营业执照</a-menu-item> | |||
<a-menu-item key="4">上传企业图片</a-menu-item> | |||
<a-menu-item key="5">资料预览</a-menu-item> | |||
<a-menu-item key="6">联系方式</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" @changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-basic v-if="curKey == 1"></company-basic> | |||
<company-department v-if="curKey == 2"></company-department> | |||
<company-licence v-if="curKey == 3"></company-licence> | |||
<company-image v-if="curKey == 4"></company-image> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -29,9 +24,14 @@ | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import CompanyLicence from '@/components/company/licence/index.vue' | |||
import CompanyImage from '@/components/company/image/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{name: '基本资料',key: 1},{name: '部门管理',key: 2},{name: '上传营业执照',key: 3},{name: '上传企业图片',key: 4},{name: '资料预览',key:5},{name: '联系方式',key: 6}]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,19 +3,17 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">发布招聘</a-menu-item> | |||
<a-menu-item key="2">招聘职位管理</a-menu-item> | |||
<a-menu-item key="3">招聘回收站</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<invite-position v-if="curKey == 1"></invite-position> | |||
<invite-manage v-if="curKey == 2"></invite-manage> | |||
<invite-recycle v-if="curKey == 3"></invite-recycle> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -24,11 +22,15 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import InvitePosition from '@/components/invite/position/index.vue' | |||
import InviteManage from '@/components/invite/manage/index.vue' | |||
import InviteRecycle from '@/components/invite/recycle/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '发布招聘', key: 1 }, { name: '招聘职位管理', key: 2 }, { name: '招聘回收站', key: 3 }]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,18 +3,16 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">招聘会预定</a-menu-item> | |||
<a-menu-item key="2">预定审核结果</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<meet-subscribe v-if="curKey == 1"></meet-subscribe> | |||
<meet-subscribe v-if="curKey == 2"></meet-subscribe> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -23,11 +21,13 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import MeetSubscribe from '@/components/meet/subscribe/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '招聘会预定', key: 1 },{ name: '预定审核结果', key: 2}]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,18 +3,16 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">意见反馈列表</a-menu-item> | |||
<a-menu-item key="2">意见反馈</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<message-list v-if="curKey == 1"></message-list> | |||
<message-feedback v-if="curKey == 2"></message-feedback> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -23,11 +21,14 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import MessageList from '@/components/message/list/index.vue' | |||
import MessageFeedback from '@/components/message/feedback/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '意见反馈列表', key: 1 },{ name: '意见反馈', key: 2}]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,21 +3,17 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">收到的应聘简历</a-menu-item> | |||
<a-menu-item key="2">邀请面试简历</a-menu-item> | |||
<a-menu-item key="3">已查看联系方式</a-menu-item> | |||
<a-menu-item key="4">企业人才库</a-menu-item> | |||
<a-menu-item key="5">简历回收站</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<resume-interview v-if="curKey == 2"></resume-interview> | |||
<resume-read v-if="curKey == 3"></resume-read> | |||
<resume-read v-if="curKey == 4"></resume-read> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -26,11 +22,14 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import ResumeInterview from '@/components/resume/interview/index.vue' | |||
import ResumeRead from '@/components/resume/read/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '收到的应聘简历', key: 1 }, { name: '邀请面试简历', key: 2 }, { name: '已查看联系方式', key: 3 }, { name: '企业人才库', key: 4 }, { name: '简历回收站', key: 5 }]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,17 +3,15 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">简历搜索</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<resume-search v-if="curKey == 1"></resume-search> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -22,11 +20,13 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import ResumeSearch from '@/components/resume/search/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '简历搜索', key: 1 }]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -3,18 +3,16 @@ | |||
<a-row :gutter="[10,10]" type="flex" justify="center"> | |||
<a-col span="18"> | |||
<a-row> | |||
<a-col span="4"> | |||
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline"> | |||
<a-menu-item key="1">费用管理</a-menu-item> | |||
<a-menu-item key="2">修改登录密码</a-menu-item> | |||
</a-menu> | |||
<a-col span="4"> | |||
<common-left-sider :menu_list="menu_list" :selected_key="[1]" | |||
@changeKey="changeKey"></common-left-sider> | |||
</a-col> | |||
<a-col span="20"> | |||
<div style="width: 100%;background-color: #fff;padding: 10px;"> | |||
<company-department></company-department> | |||
<user-expense v-if="curKey == 1"></user-expense> | |||
<user-password v-if="curKey == 2"></user-password> | |||
</div> | |||
</a-col> | |||
</a-row> | |||
</a-col> | |||
</a-row> | |||
@@ -23,11 +21,14 @@ | |||
<script setup lang="ts"> | |||
import { ref, computed, onMounted } from 'vue'; | |||
import CompanyBasic from '@/components/company/basic/index.vue' | |||
import CompanyDepartment from '@/components/company/department/index.vue' | |||
import UserExpense from '@/components/user/expense/index.vue' | |||
import UserPassword from '@/components/user/password/index.vue' | |||
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}]) | |||
const openKeys = ref<string[]>(['1']); | |||
const selectedKeys = ref<string[]>(['2']); | |||
let menu_list = ref([{ name: '费用管理', key: 1 },{ name: '修改登录密码', key: 2}]) | |||
let curKey = ref<Number>(1) | |||
const changeKey = (data) => { | |||
curKey.value = data.key; | |||
} | |||
</script> | |||
<style> |
@@ -1,26 +1,30 @@ | |||
{ | |||
"compilerOptions": { | |||
"target": "ES2020", | |||
"useDefineForClassFields": true, | |||
"module": "ESNext", | |||
"lib": ["ES2020", "DOM", "DOM.Iterable"], | |||
"skipLibCheck": true, | |||
"baseUrl": "./", | |||
"paths": {"@/*": ["src/*"]}, | |||
/* Bundler mode */ | |||
"moduleResolution": "bundler", | |||
"allowImportingTsExtensions": true, | |||
"resolveJsonModule": true, | |||
"isolatedModules": true, | |||
"noEmit": true, | |||
"jsx": "preserve", | |||
"compilerOptions": { | |||
"target": "ES2020", | |||
"useDefineForClassFields": true, | |||
"module": "ESNext", | |||
"lib": ["ES2020", "DOM", "DOM.Iterable"], | |||
"skipLibCheck": true, | |||
"baseUrl": "./", | |||
"paths": { | |||
"@/*": ["src/*"] | |||
}, | |||
/* Bundler mode */ | |||
"moduleResolution": "bundler", | |||
"allowImportingTsExtensions": true, | |||
"resolveJsonModule": true, | |||
"isolatedModules": true, | |||
"noEmit": true, | |||
"jsx": "preserve", | |||
/* Linting */ | |||
"strict": true, | |||
"noUnusedLocals": true, | |||
"noUnusedParameters": true, | |||
"noFallthroughCasesInSwitch": true | |||
}, | |||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.d.ts"], | |||
"references": [{ "path": "./tsconfig.node.json" }] | |||
} | |||
/* Linting */ | |||
"strict": true, | |||
"noUnusedLocals": true, | |||
"noUnusedParameters": true, | |||
"noFallthroughCasesInSwitch": true | |||
}, | |||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.d.ts"], | |||
"references": [{ | |||
"path": "./tsconfig.node.json" | |||
}] | |||
} |
@@ -4,10 +4,13 @@ import path from 'path' | |||
// https://vitejs.dev/config/ | |||
export default defineConfig({ | |||
plugins: [vue()], | |||
resolve: { | |||
alias: { | |||
'@': path.resolve(__dirname, 'src') | |||
} | |||
} | |||
}) | |||
plugins: [vue()], | |||
build: { | |||
outDir: 'dist/web' | |||
}, | |||
resolve: { | |||
alias: { | |||
'@': path.resolve(__dirname, 'src') | |||
} | |||
} | |||
}) |