<link rel="icon" type="image/svg+xml" href="/logo_1.jpg" /> | <link rel="icon" type="image/svg+xml" href="/logo_1.jpg" /> | ||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
<title>菊城人才市场后台管理</title> | <title>菊城人才市场后台管理</title> | ||||
<script type="module" crossorigin src="/assets/index-DHnGGSqj.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-CUkgkv2i.css"> | |||||
<script type="module" crossorigin src="/assets/index-BpKBtsYb.js"></script> | |||||
<link rel="stylesheet" crossorigin href="/assets/index-DUO8mlbs.css"> | |||||
</head> | </head> | ||||
<body> | <body> | ||||
<div id="app"></div> | <div id="app"></div> |
"axios": "^1.6.2", | "axios": "^1.6.2", | ||||
"dayjs": "^1.11.10", | "dayjs": "^1.11.10", | ||||
"echarts": "^5.4.3", | "echarts": "^5.4.3", | ||||
"file-saver": "^2.0.5", | |||||
"he": "^1.2.0", | "he": "^1.2.0", | ||||
"html-docx-js": "^0.3.1", | |||||
"html-docx-js-typescript": "^0.1.5", | |||||
"moment": "^2.30.1", | "moment": "^2.30.1", | ||||
"vue": "^3.4.21", | "vue": "^3.4.21", | ||||
"vue-doc-exporter": "^1.2.2", | "vue-doc-exporter": "^1.2.2", | ||||
"node": ">=8" | "node": ">=8" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/browser-or-node": { | |||||
"version": "1.3.0", | |||||
"resolved": "https://registry.npmmirror.com/browser-or-node/-/browser-or-node-1.3.0.tgz", | |||||
"integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg==" | |||||
}, | |||||
"node_modules/browserslist": { | "node_modules/browserslist": { | ||||
"version": "4.22.1", | "version": "4.22.1", | ||||
"dev": true, | "dev": true, | ||||
"url": "https://opencollective.com/core-js" | "url": "https://opencollective.com/core-js" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/core-util-is": { | |||||
"version": "1.0.3", | |||||
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", | |||||
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" | |||||
}, | |||||
"node_modules/css-line-break": { | "node_modules/css-line-break": { | ||||
"version": "2.1.0", | "version": "2.1.0", | ||||
"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz", | "resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz", | ||||
"resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.4.8.tgz", | "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.4.8.tgz", | ||||
"integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" | "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==" | ||||
}, | }, | ||||
"node_modules/file-saver": { | |||||
"version": "2.0.5", | |||||
"resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz", | |||||
"integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" | |||||
}, | |||||
"node_modules/fill-range": { | "node_modules/fill-range": { | ||||
"version": "7.0.1", | "version": "7.0.1", | ||||
"license": "MIT", | "license": "MIT", | ||||
"resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", | "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", | ||||
"integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" | "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" | ||||
}, | }, | ||||
"node_modules/html-docx-js": { | |||||
"version": "0.3.1", | |||||
"resolved": "https://registry.npmmirror.com/html-docx-js/-/html-docx-js-0.3.1.tgz", | |||||
"integrity": "sha512-QSrMiRhxesqxYCa3f+2Z3ttIHPzSjDOL1tCOmIDIEET7HdabxXND6tAbsFMXAgRG4RADQ3wbl74ydMmjidaDPA==", | |||||
"dependencies": { | |||||
"jszip": "^2.3.0", | |||||
"lodash.escape": "^3.0.0", | |||||
"lodash.merge": "^3.2.0" | |||||
} | |||||
}, | |||||
"node_modules/html-docx-js-typescript": { | |||||
"version": "0.1.5", | |||||
"resolved": "https://registry.npmmirror.com/html-docx-js-typescript/-/html-docx-js-typescript-0.1.5.tgz", | |||||
"integrity": "sha512-GNojWFDYbpHSIgKml6/0oAom8mtHrHRTWKMyLRdeJQHO/CyeM6H39DYgzYvPp4OhBp2Ti8dxMKFq0/FkpYD4bg==", | |||||
"dependencies": { | |||||
"browser-or-node": "^1.2.1", | |||||
"jszip": "^3.4.0", | |||||
"tslib": "^1.13.0" | |||||
} | |||||
}, | |||||
"node_modules/html-docx-js-typescript/node_modules/jszip": { | |||||
"version": "3.10.1", | |||||
"resolved": "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz", | |||||
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", | |||||
"dependencies": { | |||||
"lie": "~3.3.0", | |||||
"pako": "~1.0.2", | |||||
"readable-stream": "~2.3.6", | |||||
"setimmediate": "^1.0.5" | |||||
} | |||||
}, | |||||
"node_modules/html-docx-js-typescript/node_modules/tslib": { | |||||
"version": "1.14.1", | |||||
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", | |||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" | |||||
}, | |||||
"node_modules/html2canvas": { | "node_modules/html2canvas": { | ||||
"version": "1.4.1", | "version": "1.4.1", | ||||
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz", | "resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz", | ||||
"node": ">=0.10.0" | "node": ">=0.10.0" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/immediate": { | |||||
"version": "3.0.6", | |||||
"resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", | |||||
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" | |||||
}, | |||||
"node_modules/immutable": { | "node_modules/immutable": { | ||||
"version": "4.3.4", | "version": "4.3.4", | ||||
"license": "MIT", | "license": "MIT", | ||||
"optional": true, | "optional": true, | ||||
"peer": true | "peer": true | ||||
}, | }, | ||||
"node_modules/inherits": { | |||||
"version": "2.0.4", | |||||
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", | |||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" | |||||
}, | |||||
"node_modules/is-arguments": { | "node_modules/is-arguments": { | ||||
"version": "1.1.1", | "version": "1.1.1", | ||||
"license": "MIT", | "license": "MIT", | ||||
"devOptional": true, | "devOptional": true, | ||||
"license": "MIT" | "license": "MIT" | ||||
}, | }, | ||||
"node_modules/isarray": { | |||||
"version": "1.0.0", | |||||
"resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", | |||||
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" | |||||
}, | |||||
"node_modules/jest-worker": { | "node_modules/jest-worker": { | ||||
"version": "27.5.1", | "version": "27.5.1", | ||||
"dev": true, | "dev": true, | ||||
"html2canvas": "^1.0.0-rc.5" | "html2canvas": "^1.0.0-rc.5" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/jszip": { | |||||
"version": "2.7.0", | |||||
"resolved": "https://registry.npmmirror.com/jszip/-/jszip-2.7.0.tgz", | |||||
"integrity": "sha512-JIsRKRVC3gTRo2vM4Wy9WBC3TRcfnIZU8k65Phi3izkvPH975FowRYtKGT6PxevA0XnJ/yO8b0QwV0ydVyQwfw==", | |||||
"dependencies": { | |||||
"pako": "~1.0.2" | |||||
} | |||||
}, | |||||
"node_modules/less": { | "node_modules/less": { | ||||
"version": "4.2.0", | "version": "4.2.0", | ||||
"devOptional": true, | "devOptional": true, | ||||
"webpack": "^5.0.0" | "webpack": "^5.0.0" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/lie": { | |||||
"version": "3.3.0", | |||||
"resolved": "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz", | |||||
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", | |||||
"dependencies": { | |||||
"immediate": "~3.0.5" | |||||
} | |||||
}, | |||||
"node_modules/loader-runner": { | "node_modules/loader-runner": { | ||||
"version": "4.3.0", | "version": "4.3.0", | ||||
"dev": true, | "dev": true, | ||||
"version": "4.17.21", | "version": "4.17.21", | ||||
"license": "MIT" | "license": "MIT" | ||||
}, | }, | ||||
"node_modules/lodash._arraycopy": { | |||||
"version": "3.0.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", | |||||
"integrity": "sha512-RHShTDnPKP7aWxlvXKiDT6IX2jCs6YZLCtNhOru/OX2Q/tzX295vVBK5oX1ECtN+2r86S0Ogy8ykP1sgCZAN0A==" | |||||
}, | |||||
"node_modules/lodash._arrayeach": { | |||||
"version": "3.0.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", | |||||
"integrity": "sha512-Mn7HidOVcl3mkQtbPsuKR0Fj0N6Q6DQB77CtYncZcJc0bx5qv2q4Gl6a0LC1AN+GSxpnBDNnK3CKEm9XNA4zqQ==" | |||||
}, | |||||
"node_modules/lodash._basecopy": { | |||||
"version": "3.0.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", | |||||
"integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==" | |||||
}, | |||||
"node_modules/lodash._basefor": { | |||||
"version": "3.0.3", | |||||
"resolved": "https://registry.npmmirror.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz", | |||||
"integrity": "sha512-6bc3b8grkpMgDcVJv9JYZAk/mHgcqMljzm7OsbmcE2FGUMmmLQTPHlh/dFqR8LA0GQ7z4K67JSotVKu5058v1A==" | |||||
}, | |||||
"node_modules/lodash._bindcallback": { | |||||
"version": "3.0.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", | |||||
"integrity": "sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==" | |||||
}, | |||||
"node_modules/lodash._createassigner": { | |||||
"version": "3.1.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", | |||||
"integrity": "sha512-LziVL7IDnJjQeeV95Wvhw6G28Z8Q6da87LWKOPWmzBLv4u6FAT/x5v00pyGW0u38UoogNF2JnD3bGgZZDaNEBw==", | |||||
"dependencies": { | |||||
"lodash._bindcallback": "^3.0.0", | |||||
"lodash._isiterateecall": "^3.0.0", | |||||
"lodash.restparam": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash._getnative": { | |||||
"version": "3.9.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz", | |||||
"integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==" | |||||
}, | |||||
"node_modules/lodash._isiterateecall": { | |||||
"version": "3.0.9", | |||||
"resolved": "https://registry.npmmirror.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", | |||||
"integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==" | |||||
}, | |||||
"node_modules/lodash._root": { | |||||
"version": "3.0.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash._root/-/lodash._root-3.0.1.tgz", | |||||
"integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==" | |||||
}, | |||||
"node_modules/lodash.clonedeep": { | "node_modules/lodash.clonedeep": { | ||||
"version": "4.5.0", | "version": "4.5.0", | ||||
"license": "MIT" | "license": "MIT" | ||||
}, | }, | ||||
"node_modules/lodash.escape": { | |||||
"version": "3.2.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash.escape/-/lodash.escape-3.2.0.tgz", | |||||
"integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==", | |||||
"dependencies": { | |||||
"lodash._root": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash.isarguments": { | |||||
"version": "3.1.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", | |||||
"integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" | |||||
}, | |||||
"node_modules/lodash.isarray": { | |||||
"version": "3.0.4", | |||||
"resolved": "https://registry.npmmirror.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz", | |||||
"integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==" | |||||
}, | |||||
"node_modules/lodash.isequal": { | "node_modules/lodash.isequal": { | ||||
"version": "4.5.0", | "version": "4.5.0", | ||||
"license": "MIT" | "license": "MIT" | ||||
}, | }, | ||||
"node_modules/lodash.isplainobject": { | |||||
"version": "3.2.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz", | |||||
"integrity": "sha512-P4wZnho5curNqeEq/x292Pb57e1v+woR7DJ84DURelKB46lby8aDEGVobSaYtzHdQBWQrJSdxcCwjlGOvvdIyg==", | |||||
"dependencies": { | |||||
"lodash._basefor": "^3.0.0", | |||||
"lodash.isarguments": "^3.0.0", | |||||
"lodash.keysin": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash.istypedarray": { | |||||
"version": "3.0.6", | |||||
"resolved": "https://registry.npmmirror.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", | |||||
"integrity": "sha512-lGWJ6N8AA3KSv+ZZxlTdn4f6A7kMfpJboeyvbFdE7IU9YAgweODqmOgdUHOA+c6lVWeVLysdaxciFXi+foVsWw==" | |||||
}, | |||||
"node_modules/lodash.keys": { | |||||
"version": "3.1.2", | |||||
"resolved": "https://registry.npmmirror.com/lodash.keys/-/lodash.keys-3.1.2.tgz", | |||||
"integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", | |||||
"dependencies": { | |||||
"lodash._getnative": "^3.0.0", | |||||
"lodash.isarguments": "^3.0.0", | |||||
"lodash.isarray": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash.keysin": { | |||||
"version": "3.0.8", | |||||
"resolved": "https://registry.npmmirror.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz", | |||||
"integrity": "sha512-YDB/5xkL3fBKFMDaC+cfGV00pbiJ6XoJIfRmBhv7aR6wWtbCW6IzkiWnTfkiHTF6ALD7ff83dAtB3OEaSoyQPg==", | |||||
"dependencies": { | |||||
"lodash.isarguments": "^3.0.0", | |||||
"lodash.isarray": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash.merge": { | |||||
"version": "3.3.2", | |||||
"resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-3.3.2.tgz", | |||||
"integrity": "sha512-ZgGZpRhWLjivGUbjtApZR4HyLv/UAyoYqESVYkK4aLBJVHRrbFpG+GNnE9JPijliME4LkKM0SFI/WyOiBiv1+w==", | |||||
"dependencies": { | |||||
"lodash._arraycopy": "^3.0.0", | |||||
"lodash._arrayeach": "^3.0.0", | |||||
"lodash._createassigner": "^3.0.0", | |||||
"lodash._getnative": "^3.0.0", | |||||
"lodash.isarguments": "^3.0.0", | |||||
"lodash.isarray": "^3.0.0", | |||||
"lodash.isplainobject": "^3.0.0", | |||||
"lodash.istypedarray": "^3.0.0", | |||||
"lodash.keys": "^3.0.0", | |||||
"lodash.keysin": "^3.0.0", | |||||
"lodash.toplainobject": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/lodash.restparam": { | |||||
"version": "3.6.1", | |||||
"resolved": "https://registry.npmmirror.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz", | |||||
"integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==" | |||||
}, | |||||
"node_modules/lodash.toplainobject": { | |||||
"version": "3.0.0", | |||||
"resolved": "https://registry.npmmirror.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz", | |||||
"integrity": "sha512-wMI0Ju1bvSmnBS3EcRRH/3zDnZOPpDtMtNDzbbNMKuTrEpALsf+sPyMeogmv63Y11qZQO7H1xFzohIEGRMjPYA==", | |||||
"dependencies": { | |||||
"lodash._basecopy": "^3.0.0", | |||||
"lodash.keysin": "^3.0.0" | |||||
} | |||||
}, | |||||
"node_modules/loose-envify": { | "node_modules/loose-envify": { | ||||
"version": "1.4.0", | "version": "1.4.0", | ||||
"license": "MIT", | "license": "MIT", | ||||
"node": ">= 0.4" | "node": ">= 0.4" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/pako": { | |||||
"version": "1.0.11", | |||||
"resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", | |||||
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" | |||||
}, | |||||
"node_modules/parchment": { | "node_modules/parchment": { | ||||
"version": "1.1.4", | "version": "1.1.4", | ||||
"license": "BSD-3-Clause" | "license": "BSD-3-Clause" | ||||
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.20.1.tgz", | "resolved": "https://registry.npmmirror.com/preact/-/preact-10.20.1.tgz", | ||||
"integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==" | "integrity": "sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==" | ||||
}, | }, | ||||
"node_modules/process-nextick-args": { | |||||
"version": "2.0.1", | |||||
"resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | |||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | |||||
}, | |||||
"node_modules/proxy-from-env": { | "node_modules/proxy-from-env": { | ||||
"version": "1.1.0", | "version": "1.1.0", | ||||
"license": "MIT" | "license": "MIT" | ||||
"safe-buffer": "^5.1.0" | "safe-buffer": "^5.1.0" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/readable-stream": { | |||||
"version": "2.3.8", | |||||
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", | |||||
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", | |||||
"dependencies": { | |||||
"core-util-is": "~1.0.0", | |||||
"inherits": "~2.0.3", | |||||
"isarray": "~1.0.0", | |||||
"process-nextick-args": "~2.0.0", | |||||
"safe-buffer": "~5.1.1", | |||||
"string_decoder": "~1.1.1", | |||||
"util-deprecate": "~1.0.1" | |||||
} | |||||
}, | |||||
"node_modules/readable-stream/node_modules/safe-buffer": { | |||||
"version": "5.1.2", | |||||
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", | |||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | |||||
}, | |||||
"node_modules/readdirp": { | "node_modules/readdirp": { | ||||
"version": "3.6.0", | "version": "3.6.0", | ||||
"license": "MIT", | "license": "MIT", | ||||
"node": ">= 0.4" | "node": ">= 0.4" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/setimmediate": { | |||||
"version": "1.0.5", | |||||
"resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", | |||||
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" | |||||
}, | |||||
"node_modules/shallow-equal": { | "node_modules/shallow-equal": { | ||||
"version": "1.2.1", | "version": "1.2.1", | ||||
"license": "MIT" | "license": "MIT" | ||||
"node": ">=0.1.14" | "node": ">=0.1.14" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/string_decoder": { | |||||
"version": "1.1.1", | |||||
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", | |||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | |||||
"dependencies": { | |||||
"safe-buffer": "~5.1.0" | |||||
} | |||||
}, | |||||
"node_modules/string_decoder/node_modules/safe-buffer": { | |||||
"version": "5.1.2", | |||||
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", | |||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | |||||
}, | |||||
"node_modules/stylis": { | "node_modules/stylis": { | ||||
"version": "4.3.0", | "version": "4.3.0", | ||||
"license": "MIT" | "license": "MIT" | ||||
"punycode": "^2.1.0" | "punycode": "^2.1.0" | ||||
} | } | ||||
}, | }, | ||||
"node_modules/util-deprecate": { | |||||
"version": "1.0.2", | |||||
"resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", | |||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" | |||||
}, | |||||
"node_modules/utrie": { | "node_modules/utrie": { | ||||
"version": "1.0.2", | "version": "1.0.2", | ||||
"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz", | "resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz", |
"axios": "^1.6.2", | "axios": "^1.6.2", | ||||
"dayjs": "^1.11.10", | "dayjs": "^1.11.10", | ||||
"echarts": "^5.4.3", | "echarts": "^5.4.3", | ||||
"file-saver": "^2.0.5", | |||||
"he": "^1.2.0", | "he": "^1.2.0", | ||||
"html-docx-js": "^0.3.1", | |||||
"html-docx-js-typescript": "^0.1.5", | |||||
"moment": "^2.30.1", | "moment": "^2.30.1", | ||||
"vue": "^3.4.21", | "vue": "^3.4.21", | ||||
"vue-doc-exporter": "^1.2.2", | "vue-doc-exporter": "^1.2.2", |
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="跳转网址" name="target_url"> | |||||
<a-form-item required label="跳转网址" name="target_url"> | |||||
<a-input v-model:value="createForm.target_url" placeholder="请输入跳转网址" /> | <a-input v-model:value="createForm.target_url" placeholder="请输入跳转网址" /> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="选择企业" name="company_id"> | |||||
<a-form-item required label="选择企业" name="company_id"> | |||||
<search-select placeholder="请搜索选择企业" :list="company_list" :select_value="addOtherForm.company_name" | <search-select placeholder="请搜索选择企业" :list="company_list" :select_value="addOtherForm.company_name" | ||||
@searchData="companySearch" @getSelectValue="getCompanyValue" ></search-select> | @searchData="companySearch" @getSelectValue="getCompanyValue" ></search-select> | ||||
</a-form-item> | </a-form-item> |
login_pwd ?: String, | login_pwd ?: String, | ||||
company_photos ?: Object[], | company_photos ?: Object[], | ||||
status ?: Number, | status ?: Number, | ||||
longitude?: Number, | |||||
latitude?: Number, | |||||
} | } | ||||
type addOtherFormType = { | type addOtherFormType = { |
<a-col span="12"> | <a-col span="12"> | ||||
<a-form-item required label="到期日期"> | <a-form-item required label="到期日期"> | ||||
<a-date-picker v-model:value="addOtherForm.daoqi_date" @Change="disabledDateChange" | <a-date-picker v-model:value="addOtherForm.daoqi_date" @Change="disabledDateChange" | ||||
style="width: 100%;" /> | |||||
style="width: 100%;" :disabled-date="disabledDate" /> | |||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="12"> | <a-col span="12"> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="12"> | <a-col span="12"> | ||||
<a-form-item label="薪资范围" name="pay_range"> | |||||
<a-form-item required label="薪资范围" name="pay_range"> | |||||
<a-xuanze :dict="2005" placeholder="请选择月薪要求范围" @saveSelect="savePayRange" | <a-xuanze :dict="2005" placeholder="请选择月薪要求范围" @saveSelect="savePayRange" | ||||
:select_content="createForm.pay_range"></a-xuanze> | :select_content="createForm.pay_range"></a-xuanze> | ||||
</a-form-item> | </a-form-item> | ||||
<a-input v-model:value="createForm.interview_address" placeholder="请输入面试地址" /> | <a-input v-model:value="createForm.interview_address" placeholder="请输入面试地址" /> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="12"> | |||||
<a-form-item required label="选择经度"> | |||||
<a-input v-model:value="createForm.longitude" placeholder="选择经度" disabled/> | |||||
</a-form-item> | |||||
</a-col> | |||||
<a-col span="12"> | |||||
<a-form-item required label="选择纬度"> | |||||
<a-input v-model:value="createForm.latitude" placeholder="选择纬度" disabled/> | |||||
</a-form-item> | |||||
</a-col> | |||||
<a-col span="24"> | |||||
<a-form-item required label="选择经纬度"> | |||||
<a-switch v-model:checked="showMap"> </a-switch> | |||||
<div v-if="showMap"> | |||||
<v-map @getLoc="getLoc"></v-map> | |||||
</div> | |||||
</a-form-item> | |||||
</a-col> | |||||
</a-row> | </a-row> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<script setup lang="ts"> | <script setup lang="ts"> | ||||
import { ref, onMounted, computed, defineProps, watch, defineEmits, onBeforeUnmount } from 'vue'; | import { ref, onMounted, computed, defineProps, watch, defineEmits, onBeforeUnmount } from 'vue'; | ||||
import { getCompanyList, GetCompanyDepartmentList, GetDictTree, PostCompanyJobAdd, PostCompanyJobEdit, PostCompanyJobInfo } from '@/apis/models'; | import { getCompanyList, GetCompanyDepartmentList, GetDictTree, PostCompanyJobAdd, PostCompanyJobEdit, PostCompanyJobInfo } from '@/apis/models'; | ||||
import vMap from '@/components/map/map-iframe.vue' | |||||
import { intersectionAlike } from '@/utils/dataHelper'; | import { intersectionAlike } from '@/utils/dataHelper'; | ||||
import { steps, dataForm, otherDataForm, reset } from '@/views/company/position/add/data.js'; | import { steps, dataForm, otherDataForm, reset } from '@/views/company/position/add/data.js'; | ||||
import { useCommon } from '@/hooks/useCommon'; | import { useCommon } from '@/hooks/useCommon'; | ||||
let { store, openAddModel, hideModal, dayjs, richOption, message } = useCommon(); | |||||
let { store, openAddModel, hideModal, dayjs, richOption, message, disabledDate } = useCommon(); | |||||
const dayjsRef = ref(dayjs); | const dayjsRef = ref(dayjs); | ||||
let props = defineProps(['edit_record']); | let props = defineProps(['edit_record']); | ||||
const emit = defineEmits(); | const emit = defineEmits(); | ||||
const licenseChange = (val) => { | const licenseChange = (val) => { | ||||
console.log(val) | console.log(val) | ||||
} | } | ||||
let showMap = ref<Boolean>(false); | |||||
// 经纬度 | |||||
const getLoc = (mapData : Object) => { | |||||
createForm.value.longitude = mapData.latlng.lng; | |||||
createForm.value.latitude = mapData.latlng.lat; | |||||
showMap.value = false; | |||||
} | |||||
const sumbitForm = () => { | const sumbitForm = () => { | ||||
console.log(createForm.value) | console.log(createForm.value) |
fax_public: 2, | fax_public: 2, | ||||
other_address: '', | other_address: '', | ||||
interview_address: '', | interview_address: '', | ||||
status: 2 | |||||
status: 2, | |||||
longitude: 0, | |||||
latitude: 0 | |||||
} | } | ||||
export let otherDataForm = { | export let otherDataForm = { | ||||
fax_public: 2, | fax_public: 2, | ||||
other_address: '', | other_address: '', | ||||
interview_address: '', | interview_address: '', | ||||
status: 2 | |||||
status: 2, | |||||
longitude: 0, | |||||
latitude: 0 | |||||
}; | }; | ||||
otherDataForm = { | otherDataForm = { | ||||
describe_content: '', | describe_content: '', |
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="成为热门" name="hot"> | |||||
<a-form-item required label="成为热门" name="hot"> | |||||
<a-radio-group v-model:value="createForm.hot" button-style="solid"> | <a-radio-group v-model:value="createForm.hot" button-style="solid"> | ||||
<a-radio-button :value="1">普通</a-radio-button> | <a-radio-button :value="1">普通</a-radio-button> | ||||
<a-radio-button :value="2">热门推荐</a-radio-button> | <a-radio-button :value="2">热门推荐</a-radio-button> |
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="招聘会内容" name="content"> | |||||
<a-form-item required label="招聘会内容" name="content"> | |||||
<QuillEditor theme="snow" :options="options" toolbar="full" | <QuillEditor theme="snow" :options="options" toolbar="full" | ||||
v-model:content="addOtherForm.content" @update:content="onEditorUpdate($event)" | v-model:content="addOtherForm.content" @update:content="onEditorUpdate($event)" | ||||
contentType="html" /> | contentType="html" /> |
</a-col> | </a-col> | ||||
<a-col span="6"> | <a-col span="6"> | ||||
<image-container :need="true" | <image-container :need="true" | ||||
:imgObj="{src: detail.photo? imageprefix+detail.photo : '/images/gongzhonghao.png' ,width: '150px',height:'210px'}"></image-container> | |||||
:imgObj="{src: detail.photo? detail.photo : '/images/gongzhonghao.png' ,width: '150px',height:'210px'}"></image-container> | |||||
</a-col> | </a-col> | ||||
</a-row> | </a-row> | ||||
</a-col> | </a-col> | ||||
</a-spin> | </a-spin> | ||||
<a-flex justify="flex-end"> | <a-flex justify="flex-end"> | ||||
<a-space> | <a-space> | ||||
<ExportToWord element="export-container" :filename="detail.seekername + '个人简历'"> | |||||
<a-button type="primary">导出简历</a-button> | |||||
</ExportToWord> | |||||
<a-button type="primary" @click="exportToWord">导出简历</a-button> | |||||
</a-space> | </a-space> | ||||
</a-flex> | </a-flex> | ||||
<table border="1" style="border-collapse: collapse;"> | <table border="1" style="border-collapse: collapse;"> | ||||
<tbody> | <tbody> | ||||
<tr> | <tr> | ||||
<td style="width: 400px;">姓名</td> | |||||
<td style="width: 400px;">{{detail.seekername}}</td> | |||||
<td style="width: 400px;">性别</td> | |||||
<td style="width: 400px;">{{detail.gender}}</td> | |||||
<td>姓名</td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>性别</td> | |||||
<td>{{detail.gender}}</td> | |||||
<td rowspan="6" style="text-align: center; vertical-align: middle;width:20%"> | |||||
<img :src="detail.photo" alt="" style="width: 150px;height: 210px"> | |||||
</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>出生日期</td> | <td>出生日期</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>现居住地</td> | <td>现居住地</td> | ||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}}</td> | |||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}} | |||||
</td> | |||||
<td>户口所在地</td> | <td>户口所在地</td> | ||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}}</td> | |||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}} | |||||
</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>学历</td> | <td>学历</td> | ||||
<td>{{detail.weight}}kg</td> | <td>{{detail.weight}}kg</td> | ||||
<td>政治面貌</td> | <td>政治面貌</td> | ||||
<td>{{detail.political_status_txt}}</td> | <td>{{detail.political_status_txt}}</td> | ||||
<td colspan="6" style="text-align: center; vertical-align: middle;"> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
<!-- 个人简介 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">个人简介</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<p v-html="detail.introduction"> | |||||
</p> | |||||
</div> | |||||
</div> | |||||
<!-- 求职期望 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">求职期望</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<table border="1" style="border-collapse: collapse;"> | |||||
<tbody> | |||||
<tr> | |||||
<td>求职类型</td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>可到职日期</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>人才类型</td> | |||||
<td>{{detail.dob}}</td> | |||||
<td>工作经验</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>月薪要求</td> | |||||
<td colspan="3">{{detail.education_txt}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>希望工作地区</td> | |||||
<td colspan="3">{{detail.education_txt}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>期望从事行业</td> | |||||
<td colspan="3">{{detail.education_txt}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>希望从事职位</td> | |||||
<td colspan="3">{{detail.education_txt}}</td> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
<!-- 教育培训 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">教育培训</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<table border="1" style="border-collapse: collapse;"> | |||||
<thead> | |||||
<th>起止时间</th> | |||||
<th>学校/培训机构</th> | |||||
<th>专业</th> | |||||
<th>获得证书</th> | |||||
</thead> | |||||
<tbody> | |||||
<tr> | |||||
<td></td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>可到职日期</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
<!-- 工作经历 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">工作经历</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<table border="1" style="border-collapse: collapse;"> | |||||
<thead> | |||||
<th>起止时间</th> | |||||
<th>单位名称</th> | |||||
<th>职位</th> | |||||
<th>离职原因</th> | |||||
</thead> | |||||
<tbody> | |||||
<tr> | |||||
<td></td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>可到职日期</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
<!-- 专业技能掌握能力 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">专业技能掌握能力</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<table border="1" style="border-collapse: collapse;"> | |||||
<tbody> | |||||
<tr> | |||||
<td>英语</td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>粤语</td> | |||||
<td>{{detail.gender}}</td> | |||||
<td>国语</td> | |||||
<td>{{detail.gender}}</td> | |||||
<td>第二外语</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>计算机能力</td> | |||||
<td colspan="7">{{detail.dob}}</td> | |||||
</tr> | |||||
</tbody> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
<!-- 联系信息 --> | |||||
<div class="resume-word-item"> | |||||
<div class="resume-word-item-title"> | |||||
<h2 class="resume-word-item-title-content">联系信息</h2> | |||||
</div> | |||||
<div class="resume-word-item-content"> | |||||
<table border="1" style="border-collapse: collapse;"> | |||||
<tbody> | |||||
<tr> | |||||
<td>移动电话</td> | |||||
<td>{{detail.seekername}}</td> | |||||
<td>固定电话</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>联系邮箱</td> | |||||
<td>{{detail.dob}}</td> | |||||
<td>QQ</td> | |||||
<td>{{detail.gender}}</td> | |||||
</tr> | |||||
<tr> | |||||
<td>通讯地址</td> | |||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}} | |||||
</td> | |||||
<td>邮编</td> | |||||
<td>{{detail.now_level1_txt ? detail.now_level1_txt : ''}}{{detail.now_level2_txt ? detail.now_level2_txt : ''}}{{detail.now_level3_txt ? detail.now_level3_txt : ''}}{{detail.now_level4_txt ? detail.now_level4_txt : ''}} | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | |||||
<td>个人主页</td> | |||||
<td>{{detail.education_txt}}</td> | |||||
</tr> | |||||
</tbody> | </tbody> | ||||
</table> | </table> | ||||
</div> | </div> | ||||
import { GetJobseekerDetail, GetJobapplicantIntroductiondetail, PostJobapplicantTrainingdetail, PostJobapplicantDesireindustrydetail, PostJobapplicantExperiencedetail } from '@/apis/models'; | import { GetJobseekerDetail, GetJobapplicantIntroductiondetail, PostJobapplicantTrainingdetail, PostJobapplicantDesireindustrydetail, PostJobapplicantExperiencedetail } from '@/apis/models'; | ||||
import { message } from 'ant-design-vue'; | import { message } from 'ant-design-vue'; | ||||
import { useCommon } from '@/hooks/useCommon'; | import { useCommon } from '@/hooks/useCommon'; | ||||
import { ExportToWord } from 'vue-doc-exporter' | |||||
import * as htmlDocx from "html-docx-js-typescript"; | |||||
import { saveAs } from 'file-saver' | |||||
let { store, commomParams, hideOtherModal1, openOtherModel_1, imageprefix } = useCommon(); | let { store, commomParams, hideOtherModal1, openOtherModel_1, imageprefix } = useCommon(); | ||||
const emit = defineEmits(); | const emit = defineEmits(); | ||||
let props = defineProps(['detail_record']); | let props = defineProps(['detail_record']); | ||||
return store.state.openOtherModel_1; | return store.state.openOtherModel_1; | ||||
}) | }) | ||||
const exportToWord = async () => { | |||||
const htmlContent = document.getElementById('export-container'); // 获取需要转换的HTML内容 | |||||
const convertedFile = htmlDocx.asBlob(htmlContent?.outerHTML!); | |||||
const fileData = await convertedFile | |||||
saveAs((fileData as Blob), detail.value.seekername+ '个人简历.docx') | |||||
} | |||||
watch(() => [props.detail_record], (newVal) => { | watch(() => [props.detail_record], (newVal) => { | ||||
if (newVal[0]) { | if (newVal[0]) { | ||||
GetJobseekerDetail({ customer_id: props.detail_record.customer_id, application_id: props.detail_record.id }).then(res => { | GetJobseekerDetail({ customer_id: props.detail_record.customer_id, application_id: props.detail_record.id }).then(res => { | ||||
detail.value = res.data | detail.value = res.data | ||||
console.log(detail.value) | console.log(detail.value) | ||||
detail.value.photo = imageprefix + detail.value.photo | |||||
}) | }) | ||||
} | } | ||||
}, { immediate: true }) | }, { immediate: true }) | ||||
} | } | ||||
.export-container { | .export-container { | ||||
width: 794px; | |||||
height: 1123px; | |||||
} | } | ||||
// 导出简历 | // 导出简历 | ||||
.resume-word { | .resume-word { | ||||
width: 794px; | |||||
height: 1123px; | |||||
} | } | ||||
.resume-word-title { | .resume-word-title { | ||||
text-align: center; | |||||
display: flex; | |||||
} | } | ||||
.resume-word-item { | .resume-word-item { |
<a-form :model="createForm" :label-col="{span: 4}" labelAlign="right" style="margin-top: 20px;"> | <a-form :model="createForm" :label-col="{span: 4}" labelAlign="right" style="margin-top: 20px;"> | ||||
<a-row gutter="20"> | <a-row gutter="20"> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="手机号(必填项)" name="mobile"> | |||||
<a-form-item required label="手机号" name="mobile"> | |||||
<a-input v-model:value="createForm.mobile" placeholder="请输入手机号" /> | <a-input v-model:value="createForm.mobile" placeholder="请输入手机号" /> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="密码(必填项)" name="password"> | |||||
<a-form-item required label="密码" name="password"> | |||||
<a-input-password v-model:value="createForm.password" placeholder="请输入密码" /> | <a-input-password v-model:value="createForm.password" placeholder="请输入密码" /> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="确认密码(必填项)" name="repassword"> | |||||
<a-form-item required label="确认密码" name="repassword"> | |||||
<a-input-password v-model:value="createForm.repassword" placeholder="请输入密码" /> | <a-input-password v-model:value="createForm.repassword" placeholder="请输入密码" /> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
</a-form-item> | </a-form-item> | ||||
</a-col> | </a-col> | ||||
<a-col span="24"> | <a-col span="24"> | ||||
<a-form-item label="选择角色(必填项)" name="roleids"> | |||||
<a-form-item required label="选择角色" name="roleids"> | |||||
<a-select @change="getRoleValue" v-model:value="addOtherForm.roleids" placeholder="请选择角色" mode="multiple"> | <a-select @change="getRoleValue" v-model:value="addOtherForm.roleids" placeholder="请选择角色" mode="multiple"> | ||||
<a-select-option v-for="(item,index) in role_list" :key="index" | <a-select-option v-for="(item,index) in role_list" :key="index" | ||||
:value="item.value">{{item.label}}</a-select-option> | :value="item.value">{{item.label}}</a-select-option> |