pcm-agents 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components-chat-message_33.cjs.entry.js +28 -7
- package/dist/cjs/components-chat-message_33.cjs.entry.js.map +1 -1
- package/dist/cjs/{conversation-utils-BfkOMf_-.js → conversation-utils-B4jUfmtU.js} +4 -4
- package/dist/cjs/{conversation-utils-BfkOMf_-.js.map → conversation-utils-B4jUfmtU.js.map} +1 -1
- package/dist/cjs/{index-BnRvF-cO.js → index-Dghp_NL6.js} +3 -3
- package/dist/cjs/{index-BnRvF-cO.js.map → index-Dghp_NL6.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/oem-htws-modal.cjs.entry.js +1 -1
- package/dist/cjs/oem-jd-modal.cjs.entry.js +2 -2
- package/dist/cjs/oem-jlpp-modal.cjs.entry.js +1 -1
- package/dist/cjs/oem-jlzz-modal.cjs.entry.js +23 -2
- package/dist/cjs/oem-jlzz-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/oem-jlzz-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/oem-mnct-modal.cjs.entry.js +1 -1
- package/dist/cjs/oem-mnms-modal.cjs.entry.js +1 -1
- package/dist/cjs/oem-qgqjl-modal.cjs.entry.js +3 -3
- package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +2 -2
- package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +174 -6
- package/dist/cjs/pcm-jlsx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-jlsx-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/{sentry-reporter-CAeLEFLc.js → sentry-reporter-CgJowDyu.js} +3 -3
- package/dist/cjs/{sentry-reporter-CAeLEFLc.js.map → sentry-reporter-CgJowDyu.js.map} +1 -1
- package/dist/collection/components/oem-jlzz-modal/oem-jlzz-modal.css +8 -2
- package/dist/collection/components/oem-jlzz-modal/oem-jlzz-modal.js +35 -0
- package/dist/collection/components/oem-jlzz-modal/oem-jlzz-modal.js.map +1 -1
- package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.css +1 -1
- package/dist/collection/components/pcm-jlsx-modal/pcm-jlsx-modal.css +14 -0
- package/dist/collection/components/pcm-jlsx-modal/pcm-jlsx-modal.js +173 -5
- package/dist/collection/components/pcm-jlsx-modal/pcm-jlsx-modal.js.map +1 -1
- package/dist/collection/components/pcm-jlzz-modal/pcm-jlzz-modal.css +8 -2
- package/dist/collection/components/pcm-jlzz-modal/pcm-jlzz-modal.js +35 -0
- package/dist/collection/components/pcm-jlzz-modal/pcm-jlzz-modal.js.map +1 -1
- package/dist/collection/components/pcm-virtual-chat-modal/pcm-virtual-chat-modal.css +1 -1
- package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.css +1 -1
- package/dist/components/components-chat-message.js +1 -1
- package/dist/components/components-digital-human.js +1 -1
- package/dist/components/components-export-records-modal.js +1 -1
- package/dist/components/components-mobile-input-btn.js +1 -1
- package/dist/components/components-mobile-upload-btn.js +1 -1
- package/dist/components/components-position-selector.js +1 -1
- package/dist/components/components-thousand-resume-wrapper.js +1 -1
- package/dist/components/components-upload.js +1 -1
- package/dist/components/components-voice-input-btn.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/oem-htws-modal.js +5 -5
- package/dist/components/oem-jd-modal.js +5 -5
- package/dist/components/oem-jlpp-modal.js +7 -7
- package/dist/components/oem-jlsx-modal.js +5 -5
- package/dist/components/oem-jlzz-modal.js +27 -6
- package/dist/components/oem-jlzz-modal.js.map +1 -1
- package/dist/components/oem-mnct-modal.js +7 -7
- package/dist/components/oem-mnms-modal.js +8 -8
- package/dist/components/oem-qgqjl-modal.js +9 -9
- package/dist/components/oem-zygh-modal.js +5 -5
- package/dist/components/{p-Bab9bYff.js → p-BDEiyYVl.js} +4 -4
- package/dist/components/{p-Bab9bYff.js.map → p-BDEiyYVl.js.map} +1 -1
- package/dist/components/{p-DkJ7RM7j.js → p-Bg0KKnpU.js} +3 -3
- package/dist/components/{p-DkJ7RM7j.js.map → p-Bg0KKnpU.js.map} +1 -1
- package/dist/components/{p-CR7hzwAG.js → p-BhdGTSLg.js} +6 -6
- package/dist/components/p-BhdGTSLg.js.map +1 -0
- package/dist/components/{p-CUpl5cwz.js → p-C-lvK9NX.js} +3 -3
- package/dist/components/{p-CUpl5cwz.js.map → p-C-lvK9NX.js.map} +1 -1
- package/dist/components/{p-Bn48g_o5.js → p-C7ubjB1x.js} +3 -3
- package/dist/components/{p-Bn48g_o5.js.map → p-C7ubjB1x.js.map} +1 -1
- package/dist/components/{p-Cp6_0jsj.js → p-CB7myOe_.js} +3 -3
- package/dist/components/{p-Cp6_0jsj.js.map → p-CB7myOe_.js.map} +1 -1
- package/dist/components/{p-DNPkGKCS.js → p-CEu-bFot.js} +3 -3
- package/dist/components/{p-DNPkGKCS.js.map → p-CEu-bFot.js.map} +1 -1
- package/dist/components/{p-BH3zMcBy.js → p-CPq5-i_-.js} +4 -4
- package/dist/components/{p-BH3zMcBy.js.map → p-CPq5-i_-.js.map} +1 -1
- package/dist/components/{p-Cy_hQiQs.js → p-CzFKth7J.js} +3 -3
- package/dist/components/{p-Cy_hQiQs.js.map → p-CzFKth7J.js.map} +1 -1
- package/dist/components/{p-CCTgkbh7.js → p-D4RnNrxx.js} +3 -3
- package/dist/components/{p-CCTgkbh7.js.map → p-D4RnNrxx.js.map} +1 -1
- package/dist/components/{p-DrIjQbpV.js → p-DJDJfWq9.js} +3 -3
- package/dist/components/{p-DrIjQbpV.js.map → p-DJDJfWq9.js.map} +1 -1
- package/dist/components/{p-DuRuN7gY.js → p-i4wY2JnB.js} +3 -3
- package/dist/components/{p-DuRuN7gY.js.map → p-i4wY2JnB.js.map} +1 -1
- package/dist/components/{p-BBxWf8DW.js → p-oVAdweom.js} +3 -3
- package/dist/components/{p-BBxWf8DW.js.map → p-oVAdweom.js.map} +1 -1
- package/dist/components/pcm-1zhanshi-mnms-modal.js +5 -5
- package/dist/components/pcm-app-chat-modal.js +1 -1
- package/dist/components/pcm-ats-mnms-modal.js +5 -5
- package/dist/components/pcm-card.js +1 -1
- package/dist/components/pcm-hr-chat-modal.js +2 -2
- package/dist/components/pcm-htws-modal.js +8 -8
- package/dist/components/pcm-hyzj-modal.js +5 -5
- package/dist/components/pcm-jd-modal.js +6 -6
- package/dist/components/pcm-jlpp-modal.js +8 -8
- package/dist/components/pcm-jlsx-modal.js +177 -9
- package/dist/components/pcm-jlsx-modal.js.map +1 -1
- package/dist/components/pcm-jlzz-modal.js +28 -7
- package/dist/components/pcm-jlzz-modal.js.map +1 -1
- package/dist/components/pcm-mnct-modal.js +7 -7
- package/dist/components/pcm-mnms-modal.js +8 -8
- package/dist/components/pcm-mnms-zp-modal.js +8 -8
- package/dist/components/pcm-msbg-modal.js +5 -5
- package/dist/components/pcm-qgqjl-modal.js +9 -9
- package/dist/components/pcm-virtual-chat-modal.js +1 -1
- package/dist/components/pcm-zsk-chat-modal.js +3 -3
- package/dist/components/pcm-zsk-chat-modal.js.map +1 -1
- package/dist/components/pcm-zygh-modal.js +7 -7
- package/dist/components/pcm-zygh-v2-modal.js +7 -7
- package/dist/esm/components-chat-message_33.entry.js +28 -7
- package/dist/esm/components-chat-message_33.entry.js.map +1 -1
- package/dist/esm/{conversation-utils-Ck8snHlu.js → conversation-utils-CLO35DHR.js} +4 -4
- package/dist/esm/{conversation-utils-Ck8snHlu.js.map → conversation-utils-CLO35DHR.js.map} +1 -1
- package/dist/esm/{index-BR_BEmyI.js → index-KVnu9w-h.js} +4 -4
- package/dist/esm/{index-BR_BEmyI.js.map → index-KVnu9w-h.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/oem-htws-modal.entry.js +1 -1
- package/dist/esm/oem-jd-modal.entry.js +2 -2
- package/dist/esm/oem-jlpp-modal.entry.js +1 -1
- package/dist/esm/oem-jlzz-modal.entry.js +23 -2
- package/dist/esm/oem-jlzz-modal.entry.js.map +1 -1
- package/dist/esm/oem-mnct-modal.entry.js +1 -1
- package/dist/esm/oem-mnms-modal.entry.js +1 -1
- package/dist/esm/oem-qgqjl-modal.entry.js +3 -3
- package/dist/esm/pcm-hr-chat-modal.entry.js +2 -2
- package/dist/esm/pcm-jlsx-modal.entry.js +174 -6
- package/dist/esm/pcm-jlsx-modal.entry.js.map +1 -1
- package/dist/esm/{sentry-reporter-BZPRD4nE.js → sentry-reporter-B4aHQq-A.js} +3 -3
- package/dist/esm/{sentry-reporter-BZPRD4nE.js.map → sentry-reporter-B4aHQq-A.js.map} +1 -1
- package/dist/pcm-agents/index.esm.js +1 -1
- package/dist/pcm-agents/oem-jlzz-modal.entry.esm.js.map +1 -1
- package/dist/pcm-agents/{p-4427d0b4.entry.js → p-4d7511e0.entry.js} +2 -2
- package/dist/pcm-agents/{p-66459556.entry.js → p-7e8bdfa6.entry.js} +2 -2
- package/dist/pcm-agents/{p-7000140e.entry.js → p-8144f0d4.entry.js} +2 -2
- package/dist/pcm-agents/{p-4f35fe24.entry.js → p-8256890d.entry.js} +2 -2
- package/dist/pcm-agents/p-B4ClCdh9.js +2 -0
- package/dist/pcm-agents/{p-CDLRm6tb.js.map → p-B4ClCdh9.js.map} +1 -1
- package/dist/pcm-agents/{p-C5UfA3VN.js → p-Bktjt_YJ.js} +2 -2
- package/dist/pcm-agents/{p-C5UfA3VN.js.map → p-Bktjt_YJ.js.map} +1 -1
- package/dist/pcm-agents/{p-CC_AWE7Q.js → p-CMfzTNOk.js} +2 -2
- package/dist/pcm-agents/{p-CC_AWE7Q.js.map → p-CMfzTNOk.js.map} +1 -1
- package/dist/pcm-agents/p-aa606968.entry.js +2 -0
- package/dist/pcm-agents/p-aa606968.entry.js.map +1 -0
- package/dist/pcm-agents/p-dd6362f0.entry.js +2 -0
- package/dist/pcm-agents/p-dd6362f0.entry.js.map +1 -0
- package/dist/pcm-agents/{p-174577d5.entry.js → p-e2b9a9f2.entry.js} +2 -2
- package/dist/pcm-agents/{p-6419b0bb.entry.js → p-eb9b355e.entry.js} +2 -2
- package/dist/pcm-agents/{p-8b6019b7.entry.js → p-efb4e819.entry.js} +2 -2
- package/dist/pcm-agents/{p-4a767489.entry.js → p-f6683f29.entry.js} +3 -3
- package/dist/pcm-agents/{p-4a767489.entry.js.map → p-f6683f29.entry.js.map} +1 -1
- package/dist/pcm-agents/pcm-agents.esm.js +1 -1
- package/dist/pcm-agents/pcm-jlsx-modal.entry.esm.js.map +1 -1
- package/dist/types/components/oem-jlzz-modal/oem-jlzz-modal.d.ts +11 -0
- package/dist/types/components/pcm-jlsx-modal/pcm-jlsx-modal.d.ts +7 -2
- package/dist/types/components/pcm-jlzz-modal/pcm-jlzz-modal.d.ts +11 -0
- package/dist/types/components.d.ts +24 -2
- package/package.json +1 -1
- package/dist/components/p-CR7hzwAG.js.map +0 -1
- package/dist/pcm-agents/p-0abb8e18.entry.js +0 -2
- package/dist/pcm-agents/p-0abb8e18.entry.js.map +0 -1
- package/dist/pcm-agents/p-99bf652c.entry.js +0 -2
- package/dist/pcm-agents/p-99bf652c.entry.js.map +0 -1
- package/dist/pcm-agents/p-CDLRm6tb.js +0 -2
- /package/dist/pcm-agents/{p-4427d0b4.entry.js.map → p-4d7511e0.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-66459556.entry.js.map → p-7e8bdfa6.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-7000140e.entry.js.map → p-8144f0d4.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-4f35fe24.entry.js.map → p-8256890d.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-174577d5.entry.js.map → p-e2b9a9f2.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-6419b0bb.entry.js.map → p-eb9b355e.entry.js.map} +0 -0
- /package/dist/pcm-agents/{p-8b6019b7.entry.js.map → p-efb4e819.entry.js.map} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-C_qhED9Z.js');
|
|
4
|
-
var index$1 = require('./index-
|
|
4
|
+
var index$1 = require('./index-Dghp_NL6.js');
|
|
5
5
|
var messageUtils = require('./message-utils-DbTqMOA1.js');
|
|
6
6
|
var errorEvent = require('./error-event-J_ZWIqWF.js');
|
|
7
|
-
var sentryReporter = require('./sentry-reporter-
|
|
7
|
+
var sentryReporter = require('./sentry-reporter-CgJowDyu.js');
|
|
8
8
|
require('./exports-Dc-pQh4A.js');
|
|
9
9
|
|
|
10
10
|
const globalCss = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;z-index:1000;overflow-y:auto}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7);position:absolute;width:100%;height:auto}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:5vh auto auto auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100%;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;max-height:100%}.pc-layout{width:80%;max-width:600px;min-width:320px}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:10px 0px 0px 0px}.modal-container.fullscreen{width:100%;height:100%;max-height:100%;border-radius:16px 16px 0 0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{cursor:pointer;width:100%}.upload-placeholder{transition:all 0.3s ease;display:flex;flex-direction:column;align-items:center;background:rgba(0, 0, 0, 0.02);border:1px dashed #d9d9d9;border-radius:8px;cursor:pointer}.upload-placeholder:hover{border:1px dashed #1890ff}.upload-placeholder img{margin-top:8px;width:50px;height:50px}.upload-placeholder .upload-text{margin:4px 0;color:#332F39;font-size:14px}.upload-placeholder .upload-hint{font-size:14px;color:#949AA5;margin-top:8px;padding:0px 10px;text-align:center;white-space:normal;word-wrap:break-word;word-break:break-all;line-height:1.4}.file-item{position:relative;padding:16px;border:1px solid #e2e8f0;border-radius:8px;transition:border-color 0.3s;cursor:pointer;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.file-item:hover{border-color:#0D75FB}.file-item-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.file-icon{color:#0D75FB;flex-shrink:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 50px)}.remove-file{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;padding:4px;margin-left:8px;border-radius:4px;transition:all 0.2s;min-width:30px;min-height:30px}.remove-file:hover{background-color:#f1f5f9;color:#475569}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);background:linear-gradient(150deg, #2a6ee933, #0000 50%) 0 0 / 400px 200px no-repeat, #fff;overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:calc(100% - 16px);border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s;padding:8px}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.interview-settings-section{margin-bottom:24px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.settings-row{margin-bottom:20px}.settings-row:last-child{margin-bottom:0}.settings-label{display:block;font-weight:500;color:#333;margin-bottom:12px;font-size:14px}.question-number-section{width:100%}.slider-container{display:flex;align-items:center;gap:12px}.question-slider{flex:1;height:6px;background:#ddd;outline:none;border-radius:3px;-webkit-appearance:none;appearance:none}.question-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.question-slider::-moz-range-thumb{width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;border:none;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.slider-value{font-weight:600;color:#0D75FB;font-size:14px;min-width:30px;text-align:center}.analysis-toggle-section{width:100%}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:0.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:0.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}input:checked+.toggle-slider{background-color:#0D75FB}input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{font-size:14px;color:#666;font-weight:500}.submit-button{margin-top:10px;padding:10px 30px;background:#0D75FB;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center}.submit-button:hover{background-color:#40a9ff}.submit-button:disabled{background-color:rgba(0,0,0,0.04);color:rgba(0,0,0,0.25);cursor:not-allowed}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0, 0, 0, 0.1);border-radius:50%;border-top-color:var(--pcm-primary-color, #1890ff);animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{font-size:16px;color:var(--pcm-text-color, #333)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.header-history-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#bbb;cursor:pointer;font-size:13px;font-family:inherit;line-height:1;transition:all 0.2s ease;flex-shrink:0;white-space:nowrap}.header-history-button svg{width:16px;height:16px;display:block;flex-shrink:0}.header-history-button:hover{background-color:rgba(0, 0, 0, 0.04);color:#666}.header-history-button:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.history-drawer-content{height:100%;display:flex;flex-direction:column}.conversation-list{flex:1;overflow-y:auto;padding:8px 0}.loading-conversations,.empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999}.loading-conversations .loading-spinner-small{margin-bottom:12px}.conversation-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 8px 4px 8px;border-radius:8px;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent}.conversation-item:hover{background:#f5f5f5}.conversation-info{flex:1;min-width:0}.conversation-title{font-size:14px;font-weight:500;color:#262626;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#8c8c8c}.conversation-time{flex-shrink:0}.message-count{flex-shrink:0}.conversation-status{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.conversation-status.completed{background:#f6ffed;color:#52c41a}.conversation-status.running{background:#fff7e6;color:#fa8c16}.header-history-entry{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:4px 8px;border:none;border-radius:4px;background:#e6f7ff;color:#1890ff;cursor:pointer;font-size:12px;font-family:inherit;line-height:1;white-space:nowrap;transition:all 0.2s ease}.header-history-entry:hover{background:#bae7ff;color:#0958d9;transform:translateY(-1px)}.header-history-entry:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 16px;border-top:1px solid #f0f0f0}.history-pagination-button{min-width:72px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#595959;cursor:pointer;font-size:12px;transition:all 0.2s ease}.history-pagination-button:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#e6f7ff}.history-pagination-button:disabled{border-color:#f0f0f0;color:#bfbfbf;background:#fafafa;cursor:not-allowed}.history-pagination-info{flex:1;text-align:center;color:#8c8c8c;font-size:12px}";
|
|
11
11
|
|
|
12
|
-
const pcmJlsxModalCss = ".pc-layout{max-width:none}.task-layout{width:90%;max-width:1200px;min-width:800px}@media screen and (max-width: 1024px){.task-layout{width:95%;min-width:320px}}.task-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto;gap:20px}.upload-area{max-height:300px;overflow-y:auto}.step-header{text-align:center;margin-bottom:24px}.step-header h3{margin:0 0 8px 0;font-size:20px;color:#333}.step-description{margin:0;color:#666;font-size:14px}.step-indicator{background:#e6f7ff;color:#1890ff;padding:4px 8px;border-radius:4px;font-size:12px;margin-left:8px}.criteria-input-section{margin-bottom:20px}.criteria-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.task-info-section{flex-shrink:0}.info-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media screen and (max-width: 768px){.info-cards{grid-template-columns:1fr}}.info-card{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fff}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;cursor:pointer;transition:background-color 0.2s}.card-header:hover{background:#f0f0f0}.card-title{font-weight:500;color:#333}.toggle-btn{background:transparent;border:none;color:#1890ff;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px;transition:background-color 0.2s}.toggle-btn:hover{background:rgba(24, 144, 255, 0.1)}.card-content{padding:16px;border-top:1px solid #e8e8e8;max-height:120px;overflow-y:auto}.card-content p{margin:0;line-height:1.6;color:#666;font-size:14px}.card-preview{padding:12px 16px;border-top:1px solid #e8e8e8}.preview-text{margin:0;line-height:1.5;color:#666;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-text-content{line-height:1.6;color:#333;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.upload-section{flex-shrink:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.section-header-side{display:flex;align-items:center;gap:8px}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#595959;cursor:pointer;transition:color 0.2s, border-color 0.2s, background 0.2s}.refresh-btn:hover{color:#1890ff;border-color:#1890ff;background:#e6f4ff}.refresh-btn:disabled{color:#bfbfbf;border-color:#d9d9d9;background:#f5f5f5;cursor:not-allowed}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.refresh-btn .rotating{animation:spin 0.8s linear infinite}.export-actions{height:32px;display:flex;border-radius:6px;background-color:white;border:1px solid #1890ff;overflow:hidden;margin-right:16px;color:#1890ff;font-size:14px;font-weight:bold}.export-btn{width:128px;height:100%;display:flex;align-items:center;justify-content:center}.export-btn:hover{background-color:#f5f5f5;cursor:pointer}.export-divide{width:1px;height:100%;background-color:#1890ff}.section-header h4{margin:0;font-size:16px;color:#333}.count-badge{background:#1890ff;color:white;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.analyze-btn{padding:8px 16px;background:#52c41a;color:white;border:none;border-radius:4px;cursor:pointer;transition:background-color 0.2s;font-size:14px}.analyze-btn:hover{background:#73d13d}.analyze-btn:disabled{background:#d9d9d9;cursor:not-allowed}.resume-table-section{flex:1;display:flex;flex-direction:column;min-height:0}.table-container{flex:1;border:1px solid #e8e8e8;border-radius:8px;background:white;overflow-x:auto;min-height:400px}.resume-table{width:100%;border-collapse:collapse;font-size:14px}.resume-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:500;color:#333;border-bottom:1px solid #e8e8e8}.resume-table td{padding:12px 16px;vertical-align:middle;height:60px}.resume-table tr{border-bottom:1px solid #f0f0f0;height:60px}.resume-table tr:hover{background:#f9f9f9}.filename-cell{max-width:200px;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filename-cell span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.talent-info-cell{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:12px}.score-badge.excellent{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.score-badge.good{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.score-badge.average{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.score-badge.below-average{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.score-badge.poor{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:12px}.status-badge.status-pending{background:#f0f0f0;color:#8c8c8c;border:1px solid #d9d9d9}.status-badge.status-analyzing{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.status-badge.status-completed{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-badge.status-failed{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.detail-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-content{cursor:pointer;transition:color 0.2s}.detail-content:hover{color:#40a9ff}.action-cell{display:flex;gap:8px;position:relative;align-items:center;justify-content:center;height:100%}.action-dropdown{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#f0f0f0;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:12px;color:#595959;transition:all 0.2s;min-width:60px;justify-content:center}.dropdown-trigger:hover{background:#e6e6e6;border-color:#bfbfbf;color:#333}.dropdown-trigger svg{transition:transform 0.2s;margin-left:4px}.dropdown-menu{position:absolute;top:100%;right:0;z-index:9999;min-width:120px;background:white;border:1px solid #e8e8e8;border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);overflow:hidden;margin-top:4px}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:14px;color:#333;cursor:pointer;transition:background-color 0.2s;border-bottom:1px solid #f5f5f5;white-space:nowrap}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.danger{color:#f5222d}.dropdown-item.danger:hover{background:#fff1f0;color:#cf1322}.dropdown-item svg{flex-shrink:0}.view-btn{background:#e6f7ff;color:#1890ff}.view-btn:hover{background:#bae7ff}.delete-btn{background:#fff1f0;color:#f5222d}.delete-btn:hover{background:#ffccc7}.empty-row{text-align:center;padding:40px 20px !important;border-bottom:none !important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999}.empty-state p{margin:0}.empty-hint{font-size:12px}@media screen and (max-width: 768px){.task-container{padding:16px;gap:16px}.resume-table{font-size:12px}.resume-table th,.resume-table td{padding:8px 12px}.filename-cell,.talent-info-cell,.detail-cell{max-width:120px}.action-cell{flex-direction:column;gap:4px;align-items:center;justify-content:center;min-width:80px;height:100%}.dropdown-trigger{min-width:50px;padding:4px 8px;font-size:11px}}.criteria-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.criteria-header label{margin:0;font-weight:500;color:#333}.criteria-actions{display:flex;align-items:center;gap:12px}.total-weight{font-size:14px;color:#52c41a;font-weight:500}.total-weight.invalid{color:#f5222d}.add-criteria-btn-wrapper{width:100%;display:flex;justify-content:end}.add-criteria-btn{padding:6px 12px;background:#1890ff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s}.add-criteria-btn:hover{background:#40a9ff}.criteria-table-container{border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;background:white;margin-bottom:12px}.criteria-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.criteria-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:500;color:#333;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;font-size:13px;vertical-align:middle}.criteria-table th:last-child{border-right:none}.criteria-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;vertical-align:middle}.criteria-table td:last-child{border-right:none}.criteria-table tr:last-child td{border-bottom:none}.criteria-name-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color 0.2s;box-sizing:border-box}.criteria-name-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.criteria-value-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color 0.2s;text-align:center;box-sizing:border-box}.criteria-value-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.criteria-description-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;resize:vertical;min-height:80px;line-height:1.5;transition:border-color 0.2s;box-sizing:border-box}.criteria-description-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.remove-criteria-btn{width:28px;height:28px;background:#fff1f0;color:#f5222d;border:1px solid #ffa39e;border-radius:4px;cursor:pointer;font-size:16px;font-weight:bold;display:flex;align-items:center;justify-content:center;transition:all 0.2s;margin:0 auto}.remove-criteria-btn:hover:not(:disabled){background:#ffccc7;border-color:#ff7875}.remove-criteria-btn:disabled{background:#f5f5f5;color:#bfbfbf;border-color:#d9d9d9;cursor:not-allowed}.criteria-warning{color:#fa8c16;font-size:13px;margin:8px 0 0 0;padding:8px 12px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;display:flex;align-items:center;gap:6px}@media screen and (max-width: 768px){.criteria-header{flex-direction:column;align-items:flex-start;gap:8px}.criteria-actions{width:100%;justify-content:space-between}.criteria-table th,.criteria-table td{padding:10px 8px;font-size:12px;vertical-align:middle}.criteria-table th:nth-child(1){width:20%}.criteria-table th:nth-child(2){width:15%}.criteria-table th:nth-child(3){width:55%}.criteria-table th:nth-child(4){width:10%}.criteria-name-input,.criteria-value-input,.criteria-description-input{font-size:12px;padding:6px 8px}.criteria-description-input{min-height:60px}.remove-criteria-btn{width:24px;height:24px;font-size:14px}}.sortable-header{cursor:pointer !important;user-select:none;transition:background-color 0.2s}.sortable-header:hover{background:#f0f0f0 !important}.sortable-header.active{background:#e6f7ff !important;color:#1890ff}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.sort-icons{display:flex;flex-direction:column;gap:1px;margin-left:8px;opacity:0.6}.sortable-header:hover .sort-icons{opacity:1}.sort-icon{transition:color 0.2s;color:#bfbfbf}.sort-icon.active{color:#1890ff}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0;margin-top:16px;border-top:1px solid #f0f0f0}.page-btn{padding:8px 16px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:14px;color:#333;transition:all 0.2s;min-width:80px;display:flex;align-items:center;justify-content:center;height:36px}.page-btn:hover:not(:disabled){border-color:#40a9ff;color:#40a9ff;background:#f6f8ff}.page-btn:disabled{background:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf;cursor:not-allowed}.page-info{font-size:14px;color:#666;padding:0 16px;display:flex;align-items:center;height:36px;white-space:nowrap}@media screen and (max-width: 768px){.pagination{gap:12px;padding:16px 0;flex-wrap:wrap}.page-btn{min-width:70px;padding:6px 12px;font-size:13px;height:32px}.page-info{font-size:13px;padding:0 8px;height:32px;order:3;width:100%;justify-content:center;margin-top:8px}}.step-indicator.clickable{cursor:pointer;transition:all 0.2s ease}.step-indicator.clickable:hover{background:#bae7ff;color:#0958d9;transform:translateY(-1px)}.task-history-drawer-content{display:flex;flex-direction:column;height:100%}.task-list{flex:1;overflow-y:auto;padding:16px 0}.loading-tasks,.empty-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666}.loading-spinner-small{width:24px;height:24px;border:2px solid #f0f0f0;border-top:2px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.task-item{display:flex;align-items:center;justify-content:space-between;padding:16px;margin-bottom:8px;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all 0.2s ease;background:#fff}.task-item:hover{border-color:#1890ff;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1)}.task-item.active{border-color:#1890ff;background:#f6ffed;box-shadow:0 2px 8px rgba(24, 144, 255, 0.15)}.task-info{flex:1;min-width:0}.task-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.task-id{font-weight:600;color:#333;font-size:14px}.task-time{font-size:12px;color:#666}.task-job-info{font-size:14px;color:#333;margin-bottom:8px;line-height:1.4;word-break:break-word}.task-meta{display:flex;align-items:center;gap:12px}.resume-count{font-size:12px;color:#666;background:#f5f5f5;padding:2px 6px;border-radius:4px}.current-task-indicator{flex-shrink:0;margin-left:12px;color:#52c41a}.current-task-indicator svg{width:16px;height:16px}@media screen and (max-width: 768px){.task-item{padding:12px}.task-header{flex-direction:column;align-items:flex-start;gap:4px}.task-job-info{font-size:13px;margin-bottom:6px}}.pcm-jlsx-card{margin-bottom:20px;background-color:#ffffff;border-radius:8px;border:1px solid #e9ecef}.pcm-jlsx-card-header{padding:12px 20px;font-size:16px;font-weight:500;color:#333;border-bottom:1px solid #e9ecef}.pcm-jlsx-card-body{padding:20px;font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.out-important-conditions{margin-top:8px;color:#666;font-size:12px}";
|
|
12
|
+
const pcmJlsxModalCss = ".pc-layout{max-width:none}.task-layout{width:90%;max-width:1200px;min-width:800px}@media screen and (max-width: 1024px){.task-layout{width:95%;min-width:320px}}.task-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto;gap:20px}.upload-area{max-height:300px;overflow-y:auto}.upload-disabled-wrapper{position:relative;cursor:not-allowed}.upload-disabled-wrapper::before{content:'';position:absolute;inset:0;background-color:rgba(255, 255, 255, 0.7);cursor:not-allowed;z-index:1}.step-header{text-align:center;margin-bottom:24px}.step-header h3{margin:0 0 8px 0;font-size:20px;color:#333}.step-description{margin:0;color:#666;font-size:14px}.step-indicator{background:#e6f7ff;color:#1890ff;padding:4px 8px;border-radius:4px;font-size:12px;margin-left:8px}.criteria-input-section{margin-bottom:20px}.criteria-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.task-info-section{flex-shrink:0}.info-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media screen and (max-width: 768px){.info-cards{grid-template-columns:1fr}}.info-card{border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fff}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;cursor:pointer;transition:background-color 0.2s}.card-header:hover{background:#f0f0f0}.card-title{font-weight:500;color:#333}.toggle-btn{background:transparent;border:none;color:#1890ff;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px;transition:background-color 0.2s}.toggle-btn:hover{background:rgba(24, 144, 255, 0.1)}.card-content{padding:16px;border-top:1px solid #e8e8e8;max-height:120px;overflow-y:auto}.card-content p{margin:0;line-height:1.6;color:#666;font-size:14px}.card-preview{padding:12px 16px;border-top:1px solid #e8e8e8}.preview-text{margin:0;line-height:1.5;color:#666;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-text-content{line-height:1.6;color:#333;font-size:14px;white-space:pre-wrap;word-wrap:break-word}.upload-section{flex-shrink:0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.section-header-side{display:flex;align-items:center;gap:8px}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#595959;cursor:pointer;transition:color 0.2s, border-color 0.2s, background 0.2s}.refresh-btn:hover{color:#1890ff;border-color:#1890ff;background:#e6f4ff}.refresh-btn:disabled{color:#bfbfbf;border-color:#d9d9d9;background:#f5f5f5;cursor:not-allowed}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.refresh-btn .rotating{animation:spin 0.8s linear infinite}.export-actions{height:32px;display:flex;border-radius:6px;background-color:white;border:1px solid #1890ff;overflow:hidden;margin-right:16px;color:#1890ff;font-size:14px;font-weight:bold}.export-btn{width:128px;height:100%;display:flex;align-items:center;justify-content:center}.export-btn:hover{background-color:#f5f5f5;cursor:pointer}.export-divide{width:1px;height:100%;background-color:#1890ff}.section-header h4{margin:0;font-size:16px;color:#333}.count-badge{background:#1890ff;color:white;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.analyze-btn{padding:8px 16px;background:#52c41a;color:white;border:none;border-radius:4px;cursor:pointer;transition:background-color 0.2s;font-size:14px}.analyze-btn:hover{background:#73d13d}.analyze-btn:disabled{background:#d9d9d9;cursor:not-allowed}.resume-table-section{flex:1;display:flex;flex-direction:column;min-height:0}.table-container{flex:1;border:1px solid #e8e8e8;border-radius:8px;background:white;overflow-x:auto;min-height:400px}.resume-table{width:100%;border-collapse:collapse;font-size:14px}.resume-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:500;color:#333;border-bottom:1px solid #e8e8e8}.resume-table td{padding:12px 16px;vertical-align:middle;height:60px}.resume-table tr{border-bottom:1px solid #f0f0f0;height:60px}.resume-table tr:hover{background:#f9f9f9}.filename-cell{max-width:200px;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filename-cell span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.talent-info-cell{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:12px}.score-badge.excellent{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.score-badge.good{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.score-badge.average{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.score-badge.below-average{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.score-badge.poor{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:12px}.status-badge.status-pending{background:#f0f0f0;color:#8c8c8c;border:1px solid #d9d9d9}.status-badge.status-analyzing{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.status-badge.status-completed{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-badge.status-failed{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.detail-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-content{cursor:pointer;transition:color 0.2s}.detail-content:hover{color:#40a9ff}.action-cell{display:flex;gap:8px;position:relative;align-items:center;justify-content:center;height:100%}.action-dropdown{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#f0f0f0;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;font-size:12px;color:#595959;transition:all 0.2s;min-width:60px;justify-content:center}.dropdown-trigger:hover{background:#e6e6e6;border-color:#bfbfbf;color:#333}.dropdown-trigger svg{transition:transform 0.2s;margin-left:4px}.dropdown-menu{position:absolute;top:100%;right:0;z-index:9999;min-width:120px;background:white;border:1px solid #e8e8e8;border-radius:6px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);overflow:hidden;margin-top:4px}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:14px;color:#333;cursor:pointer;transition:background-color 0.2s;border-bottom:1px solid #f5f5f5;white-space:nowrap}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.danger{color:#f5222d}.dropdown-item.danger:hover{background:#fff1f0;color:#cf1322}.dropdown-item svg{flex-shrink:0}.view-btn{background:#e6f7ff;color:#1890ff}.view-btn:hover{background:#bae7ff}.delete-btn{background:#fff1f0;color:#f5222d}.delete-btn:hover{background:#ffccc7}.empty-row{text-align:center;padding:40px 20px !important;border-bottom:none !important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999}.empty-state p{margin:0}.empty-hint{font-size:12px}@media screen and (max-width: 768px){.task-container{padding:16px;gap:16px}.resume-table{font-size:12px}.resume-table th,.resume-table td{padding:8px 12px}.filename-cell,.talent-info-cell,.detail-cell{max-width:120px}.action-cell{flex-direction:column;gap:4px;align-items:center;justify-content:center;min-width:80px;height:100%}.dropdown-trigger{min-width:50px;padding:4px 8px;font-size:11px}}.criteria-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.criteria-header label{margin:0;font-weight:500;color:#333}.criteria-actions{display:flex;align-items:center;gap:12px}.total-weight{font-size:14px;color:#52c41a;font-weight:500}.total-weight.invalid{color:#f5222d}.add-criteria-btn-wrapper{width:100%;display:flex;justify-content:end}.add-criteria-btn{padding:6px 12px;background:#1890ff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s}.add-criteria-btn:hover{background:#40a9ff}.criteria-table-container{border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;background:white;margin-bottom:12px}.criteria-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.criteria-table th{background:#fafafa;padding:12px 16px;text-align:left;font-weight:500;color:#333;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;font-size:13px;vertical-align:middle}.criteria-table th:last-child{border-right:none}.criteria-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;vertical-align:middle}.criteria-table td:last-child{border-right:none}.criteria-table tr:last-child td{border-bottom:none}.criteria-name-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color 0.2s;box-sizing:border-box}.criteria-name-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.criteria-value-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;transition:border-color 0.2s;text-align:center;box-sizing:border-box}.criteria-value-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.criteria-description-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;outline:none;resize:vertical;min-height:80px;line-height:1.5;transition:border-color 0.2s;box-sizing:border-box}.criteria-description-input:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.remove-criteria-btn{width:28px;height:28px;background:#fff1f0;color:#f5222d;border:1px solid #ffa39e;border-radius:4px;cursor:pointer;font-size:16px;font-weight:bold;display:flex;align-items:center;justify-content:center;transition:all 0.2s;margin:0 auto}.remove-criteria-btn:hover:not(:disabled){background:#ffccc7;border-color:#ff7875}.remove-criteria-btn:disabled{background:#f5f5f5;color:#bfbfbf;border-color:#d9d9d9;cursor:not-allowed}.criteria-warning{color:#fa8c16;font-size:13px;margin:8px 0 0 0;padding:8px 12px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px;display:flex;align-items:center;gap:6px}@media screen and (max-width: 768px){.criteria-header{flex-direction:column;align-items:flex-start;gap:8px}.criteria-actions{width:100%;justify-content:space-between}.criteria-table th,.criteria-table td{padding:10px 8px;font-size:12px;vertical-align:middle}.criteria-table th:nth-child(1){width:20%}.criteria-table th:nth-child(2){width:15%}.criteria-table th:nth-child(3){width:55%}.criteria-table th:nth-child(4){width:10%}.criteria-name-input,.criteria-value-input,.criteria-description-input{font-size:12px;padding:6px 8px}.criteria-description-input{min-height:60px}.remove-criteria-btn{width:24px;height:24px;font-size:14px}}.sortable-header{cursor:pointer !important;user-select:none;transition:background-color 0.2s}.sortable-header:hover{background:#f0f0f0 !important}.sortable-header.active{background:#e6f7ff !important;color:#1890ff}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.sort-icons{display:flex;flex-direction:column;gap:1px;margin-left:8px;opacity:0.6}.sortable-header:hover .sort-icons{opacity:1}.sort-icon{transition:color 0.2s;color:#bfbfbf}.sort-icon.active{color:#1890ff}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px 0;margin-top:16px;border-top:1px solid #f0f0f0}.page-btn{padding:8px 16px;background:#fff;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;font-size:14px;color:#333;transition:all 0.2s;min-width:80px;display:flex;align-items:center;justify-content:center;height:36px}.page-btn:hover:not(:disabled){border-color:#40a9ff;color:#40a9ff;background:#f6f8ff}.page-btn:disabled{background:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf;cursor:not-allowed}.page-info{font-size:14px;color:#666;padding:0 16px;display:flex;align-items:center;height:36px;white-space:nowrap}@media screen and (max-width: 768px){.pagination{gap:12px;padding:16px 0;flex-wrap:wrap}.page-btn{min-width:70px;padding:6px 12px;font-size:13px;height:32px}.page-info{font-size:13px;padding:0 8px;height:32px;order:3;width:100%;justify-content:center;margin-top:8px}}.step-indicator.clickable{cursor:pointer;transition:all 0.2s ease}.step-indicator.clickable:hover{background:#bae7ff;color:#0958d9;transform:translateY(-1px)}.task-history-drawer-content{display:flex;flex-direction:column;height:100%}.task-list{flex:1;overflow-y:auto;padding:16px 0}.loading-tasks,.empty-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666}.loading-spinner-small{width:24px;height:24px;border:2px solid #f0f0f0;border-top:2px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.task-item{display:flex;align-items:center;justify-content:space-between;padding:16px;margin-bottom:8px;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all 0.2s ease;background:#fff}.task-item:hover{border-color:#1890ff;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1)}.task-item.active{border-color:#1890ff;background:#f6ffed;box-shadow:0 2px 8px rgba(24, 144, 255, 0.15)}.task-info{flex:1;min-width:0}.task-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.task-id{font-weight:600;color:#333;font-size:14px}.task-time{font-size:12px;color:#666}.task-job-info{font-size:14px;color:#333;margin-bottom:8px;line-height:1.4;word-break:break-word}.task-meta{display:flex;align-items:center;gap:12px}.resume-count{font-size:12px;color:#666;background:#f5f5f5;padding:2px 6px;border-radius:4px}.current-task-indicator{flex-shrink:0;margin-left:12px;color:#52c41a}.current-task-indicator svg{width:16px;height:16px}@media screen and (max-width: 768px){.task-item{padding:12px}.task-header{flex-direction:column;align-items:flex-start;gap:4px}.task-job-info{font-size:13px;margin-bottom:6px}}.pcm-jlsx-card{margin-bottom:20px;background-color:#ffffff;border-radius:8px;border:1px solid #e9ecef}.pcm-jlsx-card-header{padding:12px 20px;font-size:16px;font-weight:500;color:#333;border-bottom:1px solid #e9ecef}.pcm-jlsx-card-body{padding:20px;font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.out-important-conditions{margin-top:8px;color:#666;font-size:12px}";
|
|
13
13
|
|
|
14
14
|
const markdownCss = ".markdown-body{--base-size-4:4px;--base-size-8:8px;--base-size-16:16px;--base-size-24:24px;--base-size-40:40px;--base-text-weight-normal:400;--base-text-weight-medium:500;--base-text-weight-semibold:600;--fontStack-monospace:ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent:Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=\"dark\"]{color-scheme:dark;--focus-outlineColor:#0969da;--fgColor-default:#1f2328;--fgColor-muted:#59636e;--fgColor-accent:#0969da;--fgColor-success:#1a7f37;--fgColor-attention:#9a6700;--fgColor-danger:#d1242f;--fgColor-done:#8250df;--bgColor-default:#ffffff;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--bgColor-attention-muted:#fff8c5;--borderColor-default:#d1d9e0;--borderColor-muted:#d1d9e0b3;--borderColor-neutral-muted:#d1d9e0b3;--borderColor-accent-emphasis:#0969da;--borderColor-success-emphasis:#1a7f37;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-done-emphasis:#8250df;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#1f2328;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=\"light\"]{color-scheme:light;--focus-outlineColor:#0969da;--fgColor-default:#1f2328;--fgColor-muted:#59636e;--fgColor-accent:#0969da;--fgColor-success:#1a7f37;--fgColor-attention:#9a6700;--fgColor-danger:#d1242f;--fgColor-done:#8250df;--bgColor-default:#ffffff;--bgColor-muted:#f6f8fa;--bgColor-neutral-muted:#818b981f;--bgColor-attention-muted:#fff8c5;--borderColor-default:#d1d9e0;--borderColor-muted:#d1d9e0b3;--borderColor-neutral-muted:#d1d9e0b3;--borderColor-accent-emphasis:#0969da;--borderColor-success-emphasis:#1a7f37;--borderColor-attention-emphasis:#9a6700;--borderColor-danger-emphasis:#cf222e;--borderColor-done-emphasis:#8250df;--color-prettylights-syntax-comment:#59636e;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#1f2328;--color-prettylights-syntax-entity-tag:#0550ae;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-brackethighlighter-angle:#59636e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#1f2328;--color-prettylights-syntax-markup-bold:#1f2328;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#d1d9e0;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-sublimelinter-gutter-mark:#818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:' ';display:inline-block;background-color:currentColor;-webkit-mask-image:url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");mask-image:url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none !important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-0.25em}.markdown-body sup{top:-0.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr::before{display:table;content:\"\"}.markdown-body hr::after{display:table;clear:both;content:\"\"}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.05em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:0.875em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.80em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible !important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px) !important}.markdown-body::before{display:table;content:\"\"}.markdown-body::after{display:table;clear:both;content:\"\"}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16);font-size:16px;font-weight:400}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}.markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}.markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}.markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}.markdown-body ol[type=\"1\"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]::before{content:\"[\"}.markdown-body [data-footnote-ref]::after{content:\"]\"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target::before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:\"\";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter) !important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:bold;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:bold;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:bold;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:bold;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex=\"0\"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1em;font-style:normal !important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-0.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0 !important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}";
|
|
15
15
|
|
|
@@ -53,8 +53,9 @@ const JlsxModal = class {
|
|
|
53
53
|
*/
|
|
54
54
|
fullscreen = false;
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* 自定义输入参数<br>
|
|
57
|
+
* - job_info: 填充 JD 输入区域
|
|
58
|
+
* - file_urls: 简历文件 URL,多个以逗号分隔;创建任务后自动进入简历列表并开始筛选
|
|
58
59
|
*/
|
|
59
60
|
customInputs = {};
|
|
60
61
|
/**
|
|
@@ -342,6 +343,9 @@ const JlsxModal = class {
|
|
|
342
343
|
evaluation_criteria: this.evaluationCriteria,
|
|
343
344
|
create_time: new Date().toISOString()
|
|
344
345
|
});
|
|
346
|
+
if (this.customInputs?.file_urls) {
|
|
347
|
+
await this.startAnalysisWithCustomFileUrls();
|
|
348
|
+
}
|
|
345
349
|
}
|
|
346
350
|
else {
|
|
347
351
|
throw new Error(response.message || '创建任务失败');
|
|
@@ -552,7 +556,13 @@ const JlsxModal = class {
|
|
|
552
556
|
} })), index.h("textarea", { id: "job-description", class: "job-description-textarea", placeholder: "\u8BF7\u8F93\u5165\u804C\u4F4D\u63CF\u8FF0\uFF0C\u5305\u62EC\u804C\u8D23\u3001\u8981\u6C42\u7B49\u4FE1\u606F...", rows: 6, value: this.jobDescription, onInput: this.handleJobDescriptionChange })), index.h("div", { class: "criteria-input-section" }, index.h("div", { class: "criteria-header" }, index.h("label", { htmlFor: "evaluation-criteria" }, "\u8BC4\u5206\u6807\u51C6"), index.h("div", { class: "criteria-actions" }, index.h("span", { class: `total-weight ${this.getTotalWeight() !== 100 ? 'invalid' : ''}` }, "\u603B\u6743\u91CD: ", this.getTotalWeight(), "%"), index.h("span", null))), index.h("div", { class: "criteria-table-container" }, index.h("table", { class: "criteria-table" }, index.h("thead", null, index.h("tr", null, index.h("th", { style: { width: '25%' } }, "\u6807\u51C6\u540D\u79F0"), index.h("th", { style: { width: '15%' } }, "\u6743\u91CD(%)"), index.h("th", { style: { width: '50%' } }, "\u63CF\u8FF0"), index.h("th", { style: { width: '10%' } }, "\u64CD\u4F5C"))), index.h("tbody", null, this.evaluationCriteria.map((criteria, index$1) => (index.h("tr", { key: index$1 }, index.h("td", null, index.h("input", { type: "text", class: "criteria-name-input", placeholder: "\u8BF7\u8F93\u5165\u6807\u51C6\u540D\u79F0", value: criteria.name, onInput: (e) => this.handleEvaluationCriteriaNameChange(index$1, e.target.value) })), index.h("td", null, index.h("input", { type: "number", class: "criteria-value-input", placeholder: "0", min: "0", max: "100", value: criteria.value, onInput: (e) => this.handleEvaluationCriteriaValueChange(index$1, e.target.value) })), index.h("td", null, index.h("textarea", { class: "criteria-description-input", placeholder: "\u8BF7\u8F93\u5165\u8BC4\u5206\u6807\u51C6\u63CF\u8FF0", rows: 2, value: criteria.description, onInput: (e) => this.handleEvaluationCriteriaDescriptionChange(index$1, e.target.value) })), index.h("td", null, index.h("button", { type: "button", class: "remove-criteria-btn", disabled: this.evaluationCriteria.length <= 1, onClick: () => this.removeEvaluationCriteria(index$1), title: this.evaluationCriteria.length <= 1 ? '至少需要保留一个评分标准' : '删除此标准' }, "\u00D7")))))))), index.h("div", { class: "add-criteria-btn-wrapper" }, index.h("button", { type: "button", class: "add-criteria-btn", onClick: this.addEvaluationCriteria }, "+ \u6DFB\u52A0\u6807\u51C6")), this.getTotalWeight() !== 100 && (index.h("p", { class: "criteria-warning" }, "\u26A0\uFE0F \u6743\u91CD\u603B\u548C\u5E94\u4E3A100%\uFF0C\u5F53\u524D\u4E3A", this.getTotalWeight(), "%"))), index.h("div", { class: "criteria-input-section" }, index.h("div", { class: "criteria-header" }, index.h("label", { htmlFor: "evaluation-criteria" }, "\u91CD\u8981\u6761\u4EF6\uFF08\u9009\u586B\uFF09"), index.h("div", null)), index.h("textarea", { id: "job-description", class: "job-description-textarea", placeholder: "\u5728\u6B64\u680F\u586B\u5199\u7684\u6761\u4EF6\u4E3A\u786C\u6027\u8981\u6C42\uFF0C\u4E0D\u7B26\u5408\u6761\u4EF6\u7684\u7B80\u5386\uFF0C\u5176\u6700\u7EC8\u5339\u914D\u5EA6\u5C06\u76F4\u63A5\u5224\u5B9A\u4E3A0\u5206\u3002", rows: 6, value: this.importantConditions, onInput: this.handleImportantConditionsChange })), index.h("button", { class: "submit-button", disabled: !this.jobDescription.trim() || this.evaluationCriteria.length === 0 || this.getTotalWeight() !== 100 || this.isSubmitting, onClick: this.handleCreateTask }, this.isSubmitting ? '创建中...' : '创建任务'), index.h("div", { class: "ai-disclaimer" }, index.h("p", null, "\u6240\u6709\u5185\u5BB9\u5747\u7531AI\u751F\u6210\u4EC5\u4F9B\u53C2\u8003"), index.h("p", { class: "beian-info" }, index.h("span", null, "\u4E2D\u592E\u7F51\u4FE1\u529E\u751F\u6210\u5F0F\u4EBA\u5DE5\u667A\u80FD\u670D\u52A1\u5907\u6848\u53F7"), "\uFF1A", index.h("a", { href: "https://www.pincaimao.com", target: "_blank", rel: "noopener noreferrer" }, "Hunan-PinCaiMao-202412310003")))));
|
|
553
557
|
}
|
|
554
558
|
renderTaskStep() {
|
|
555
|
-
return (index.h("div", { class: "task-container" }, index.h("div", { class: "task-info-section" }, index.h("div", { class: "info-cards" }, index.h("div", { class: "info-card" }, index.h("div", { class: "card-header", onClick: this.toggleJdDetail }, index.h("span", { class: "card-title" }, "\u804C\u4F4D\u63CF\u8FF0"), index.h("button", { class: "toggle-btn" }, "\u67E5\u770B")), index.h("div", { class: "card-preview" }, index.h("p", { class: "preview-text" }, this.jobDescription))), index.h("div", { class: "info-card" }, index.h("div", { class: "card-header", onClick: this.toggleCriteriaDetail }, index.h("span", { class: "card-title" }, "\u8BC4\u5206\u6807\u51C6\u3001\u91CD\u8981\u6761\u4EF6"), index.h("button", { class: "toggle-btn" }, "\u67E5\u770B")), index.h("div", { class: "card-preview" }, index.h("p", { class: "preview-text" }, this.getEvaluationCriteriaText()))))), index.h("div", { class: "upload-section" }, index.h("div", { class: "section-header" }, index.h("h4", null, "\u4E0A\u4F20\u7B80\u5386")), index.h("
|
|
559
|
+
return (index.h("div", { class: "task-container" }, index.h("div", { class: "task-info-section" }, index.h("div", { class: "info-cards" }, index.h("div", { class: "info-card" }, index.h("div", { class: "card-header", onClick: this.toggleJdDetail }, index.h("span", { class: "card-title" }, "\u804C\u4F4D\u63CF\u8FF0"), index.h("button", { class: "toggle-btn" }, "\u67E5\u770B")), index.h("div", { class: "card-preview" }, index.h("p", { class: "preview-text" }, this.jobDescription))), index.h("div", { class: "info-card" }, index.h("div", { class: "card-header", onClick: this.toggleCriteriaDetail }, index.h("span", { class: "card-title" }, "\u8BC4\u5206\u6807\u51C6\u3001\u91CD\u8981\u6761\u4EF6"), index.h("button", { class: "toggle-btn" }, "\u67E5\u770B")), index.h("div", { class: "card-preview" }, index.h("p", { class: "preview-text" }, this.getEvaluationCriteriaText()))))), index.h("div", { class: "upload-section" }, index.h("div", { class: "section-header" }, index.h("h4", null, "\u4E0A\u4F20\u7B80\u5386")), index.h("div", { class: this.customInputs?.file_urls ? 'upload-disabled-wrapper' : '', onClick: (event) => {
|
|
560
|
+
if (this.customInputs?.file_urls) {
|
|
561
|
+
event.stopPropagation();
|
|
562
|
+
event.preventDefault();
|
|
563
|
+
messageUtils.showMessage('不允许上传简历,请联系管理员', 'warning');
|
|
564
|
+
}
|
|
565
|
+
} }, index.h("components-upload", { ref: (el) => this.pcmUploadRef = el, multiple: true, maxFileSize: 15 * 1024 * 1024, acceptFileSuffixList: ['.pdf', '.doc', '.docx', '.txt', '.md', '.ppt', '.pptx', '.jpg', '.jpeg', '.png'], mobileUploadAble: this.mobileUploadAble, disabled: Boolean(this.customInputs?.file_urls), uploadParams: { tags: ['resume'] }, onUploadChange: this.handleUploadChange })), index.h("div", { class: "upload-actions" }, this.uploadedResumeRecords.some(record => record.evaluate_status !== 1 && record.evaluate_status !== 0) && (index.h("button", { class: "analyze-btn", onClick: this.handleStartAnalysis }, `开始分析 (${this.uploadedResumeRecords.filter(record => record.evaluate_status !== 1 && record.evaluate_status !== 0).length} 个待分析)`)))), index.h("div", { class: "resume-table-section" }, index.h("div", { class: "section-header" }, index.h("h4", null, "\u7B80\u5386\u5217\u8868"), index.h("div", { class: "section-header-side" }, this.showBatchExport && !!this.resumeRecords?.find(item => item.evaluate_status == 1) && index.h("div", { class: "export-actions" }, index.h("div", { class: "export-btn", onClick: this.exportAllPDF }, index.h("span", null, "\u6279\u91CF\u5BFC\u51FA\u62A5\u544A")), index.h("div", { class: "export-divide" }), index.h("div", { class: "export-btn", onClick: this.handleExportRecordsClick }, "\u5BFC\u51FA\u8BB0\u5F55")), index.h("button", { class: "refresh-btn", onClick: this.handleRefreshTable, disabled: this.isLoadingResumeList, title: "\u5237\u65B0\u8868\u683C" }, index.h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", class: this.isLoadingResumeList ? 'rotating' : '' }, index.h("path", { d: "M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z" }))), index.h("span", { class: "record-count" }, "\u5DF2\u7B5B\u9009 ", this.totalRecords, " \u6761\u8BB0\u5F55"))), index.h("div", { class: "table-container" }, index.h("table", { class: "resume-table" }, index.h("thead", null, index.h("tr", null, index.h("th", null, "\u7B80\u5386\u6587\u4EF6\u540D"), index.h("th", null, "\u4EBA\u624D\u4FE1\u606F"), index.h("th", { class: `sortable-header ${this.sortOrder !== 'none' ? 'active' : ''}`, onClick: this.handleSortByScore }, index.h("span", { class: "header-content" }, "\u8BC4\u4F30\u5206\u6570", index.h("span", { class: "sort-icons" }, index.h("svg", { class: `sort-icon ${this.sortOrder === 'asc' ? 'active' : ''}`, width: "12", height: "12", viewBox: "0 0 12 12" }, index.h("path", { d: "M6 3l4 4H2z", fill: "currentColor" })), index.h("svg", { class: `sort-icon ${this.sortOrder === 'desc' ? 'active' : ''}`, width: "12", height: "12", viewBox: "0 0 12 12" }, index.h("path", { d: "M6 9L2 5h8z", fill: "currentColor" }))))), index.h("th", null, "\u8BC4\u4F30\u8BE6\u60C5"), index.h("th", null, "\u72B6\u6001"), index.h("th", null, "\u64CD\u4F5C"))), index.h("tbody", null, this.isLoadingResumeList ? (index.h("tr", null, index.h("td", { colSpan: 6, class: "empty-row" }, index.h("div", { class: "empty-state" }, index.h("div", { class: "loading-spinner-small" }), index.h("p", null, "\u6B63\u5728\u52A0\u8F7D\u7B80\u5386\u6570\u636E..."))))) : this.resumeRecords.length === 0 ? (index.h("tr", null, index.h("td", { colSpan: 6, class: "empty-row" }, index.h("div", { class: "empty-state" }, index.h("p", null, "\u6682\u65E0\u7B80\u5386\u6570\u636E"), index.h("p", { class: "empty-hint" }, "\u8BF7\u4E0A\u4F20\u7B80\u5386\u5F00\u59CB\u7B5B\u9009"))))) : (this.resumeRecords.map(record => (index.h("tr", { key: record.id }, index.h("td", { class: "filename-cell" }, index.h("span", { class: "file-icon" }, "\uD83D\uDCDD"), index.h("span", { title: record.fileName }, record.fileName)), index.h("td", { class: "talent-info-cell", title: record.talentInfo }, record.talentInfo), index.h("td", { class: "score-cell" }, index.h("div", { class: `score-badge ${this.getScoreClass(record.score)}` }, typeof record.score === 'number' ? record.score : '--'), record.out_important_conditions === 1 && index.h("div", { class: "out-important-conditions" }, "\u4E0D\u6EE1\u8DB3\u91CD\u8981\u6761\u4EF6")), index.h("td", { class: "detail-cell", title: record.scoreDetail }, index.h("span", { class: "detail-content", onClick: () => this.handleViewEvaluate(record) }, record.scoreDetail)), index.h("td", { class: "status-cell" }, index.h("span", { class: `status-badge status-${this.getEvaluateStatusClass(record.evaluate_status)}` }, this.getEvaluateStatusText(record.evaluate_status))), index.h("td", { class: "action-cell" }, index.h("div", { class: "action-dropdown" }, index.h("button", { class: "action-btn dropdown-trigger", onClick: (e) => {
|
|
556
566
|
e.stopPropagation();
|
|
557
567
|
this.toggleDropdown(record.id);
|
|
558
568
|
} }, "\u64CD\u4F5C", index.h("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor" }, index.h("path", { d: "M7 10l5 5 5-5z" }))), this.activeDropdownId === record.id && (index.h("div", { class: "dropdown-menu" }, index.h("div", { class: "dropdown-item", onClick: (e) => {
|
|
@@ -702,6 +712,164 @@ const JlsxModal = class {
|
|
|
702
712
|
this.isLoadingResumeList = false;
|
|
703
713
|
}
|
|
704
714
|
}
|
|
715
|
+
/**
|
|
716
|
+
* 使用 customInputs 中的 file_urls 开始分析简历。
|
|
717
|
+
*/
|
|
718
|
+
async startAnalysisWithCustomFileUrls() {
|
|
719
|
+
if (!this.currentTask) {
|
|
720
|
+
messageUtils.showMessage('任务信息不存在', 'error');
|
|
721
|
+
return;
|
|
722
|
+
}
|
|
723
|
+
const fileUrls = this.customInputs?.file_urls;
|
|
724
|
+
if (!fileUrls) {
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
727
|
+
const originalFileUrls = fileUrls.split(',').map(url => url.trim()).filter(Boolean);
|
|
728
|
+
if (originalFileUrls.length === 0) {
|
|
729
|
+
messageUtils.showMessage('没有有效的简历文件URL', 'warning');
|
|
730
|
+
return;
|
|
731
|
+
}
|
|
732
|
+
this.isAnalyzing = true;
|
|
733
|
+
this.isLoadingResumeList = true;
|
|
734
|
+
try {
|
|
735
|
+
const resumeFileUrls = [];
|
|
736
|
+
for (const url of originalFileUrls) {
|
|
737
|
+
if (url.startsWith('http://') || url.startsWith('https://')) {
|
|
738
|
+
try {
|
|
739
|
+
const fileName = url.split('/').pop() || 'resume.pdf';
|
|
740
|
+
const uploadResponse = await index$1.uploadFileByUrl({
|
|
741
|
+
url,
|
|
742
|
+
file_name: fileName
|
|
743
|
+
});
|
|
744
|
+
if (uploadResponse.success && uploadResponse.data?.cos_key) {
|
|
745
|
+
resumeFileUrls.push(uploadResponse.data.cos_key);
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
console.error(`上传文件失败: ${url}`, uploadResponse.message);
|
|
749
|
+
messageUtils.showMessage(`上传文件 ${fileName} 失败: ${uploadResponse.message || '未知错误'}`, 'error');
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
catch (error) {
|
|
753
|
+
console.error(`上传文件出错: ${url}`, error);
|
|
754
|
+
messageUtils.showMessage(`上传文件出错: ${error instanceof Error ? error.message : '未知错误'}`, 'error');
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
else {
|
|
758
|
+
resumeFileUrls.push(url);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
if (resumeFileUrls.length === 0) {
|
|
762
|
+
messageUtils.showMessage('没有有效的简历文件可以分析', 'error');
|
|
763
|
+
return;
|
|
764
|
+
}
|
|
765
|
+
if (resumeFileUrls.length < originalFileUrls.length) {
|
|
766
|
+
messageUtils.showMessage(`部分文件上传失败,将继续分析 ${resumeFileUrls.length}/${originalFileUrls.length} 个文件`, 'warning');
|
|
767
|
+
}
|
|
768
|
+
const clearResponse = await index$1.sendHttpRequest({
|
|
769
|
+
url: '/sdk/v1/agent/app_filter_resume/clear_repeated_resumes',
|
|
770
|
+
method: 'POST',
|
|
771
|
+
data: {
|
|
772
|
+
task_id: this.currentTask.id,
|
|
773
|
+
resume_file_urls: resumeFileUrls
|
|
774
|
+
}
|
|
775
|
+
});
|
|
776
|
+
if (!clearResponse.success) {
|
|
777
|
+
throw new Error(clearResponse.message || '简历校验失败');
|
|
778
|
+
}
|
|
779
|
+
const filteredFileUrls = clearResponse.data || [];
|
|
780
|
+
if (filteredFileUrls.length === 0) {
|
|
781
|
+
messageUtils.showMessage('已清除重复上传的简历,没有新的简历需要分析', 'info');
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
const ruleString = this.evaluationCriteria
|
|
785
|
+
.map(criteria => `- ${criteria.name}(占比${criteria.value}%):${criteria.description}`)
|
|
786
|
+
.join(' \n');
|
|
787
|
+
this.resumeAnalysisStart.emit({
|
|
788
|
+
task_id: this.currentTask.id,
|
|
789
|
+
resume_count: filteredFileUrls.length,
|
|
790
|
+
resume_files: filteredFileUrls.map(url => ({
|
|
791
|
+
file_name: url.split('/').pop() || '未知文件',
|
|
792
|
+
file_url: url
|
|
793
|
+
}))
|
|
794
|
+
});
|
|
795
|
+
let analysisFailed = false;
|
|
796
|
+
await index$1.sendSSERequest({
|
|
797
|
+
url: '/sdk/v1/chat/chat-messages',
|
|
798
|
+
method: 'POST',
|
|
799
|
+
data: {
|
|
800
|
+
bot_id: this.botId,
|
|
801
|
+
response_mode: 'blocking',
|
|
802
|
+
query: '简历筛选',
|
|
803
|
+
inputs: {
|
|
804
|
+
job_info: this.jobDescription,
|
|
805
|
+
jd_id: this.currentTask.jd_id,
|
|
806
|
+
task_id: this.currentTask.id,
|
|
807
|
+
file_urls: filteredFileUrls.join(','),
|
|
808
|
+
rule: ruleString
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
onMessage: (data) => {
|
|
812
|
+
if (data.event === 'error') {
|
|
813
|
+
analysisFailed = true;
|
|
814
|
+
this.someErrorEvent.emit({
|
|
815
|
+
error: data.data,
|
|
816
|
+
message: data.data?.message || data.message || '分析失败'
|
|
817
|
+
});
|
|
818
|
+
this.internalConversationId = null;
|
|
819
|
+
return;
|
|
820
|
+
}
|
|
821
|
+
if (data && !this.internalConversationId && (data.message_id || data.conversation_id || data.id)) {
|
|
822
|
+
this.internalConversationId = data.conversation_id;
|
|
823
|
+
this.conversationStart.emit({
|
|
824
|
+
conversation_id: data.conversation_id,
|
|
825
|
+
event: data.event || 'message',
|
|
826
|
+
message_id: data.message_id,
|
|
827
|
+
id: String(this.currentTask.id)
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
onComplete: async () => {
|
|
832
|
+
if (analysisFailed) {
|
|
833
|
+
this.internalConversationId = null;
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
await this.loadResumeList();
|
|
837
|
+
this.emitAnalysisCompleteEvent();
|
|
838
|
+
this.internalConversationId = null;
|
|
839
|
+
},
|
|
840
|
+
onError: (error) => {
|
|
841
|
+
analysisFailed = true;
|
|
842
|
+
console.error('简历分析失败:', error);
|
|
843
|
+
sentryReporter.SentryReporter.captureError(error, {
|
|
844
|
+
action: 'startAnalysisWithCustomFileUrls',
|
|
845
|
+
component: 'pcm-jlsx-modal',
|
|
846
|
+
title: '简历分析失败'
|
|
847
|
+
});
|
|
848
|
+
this.someErrorEvent.emit({
|
|
849
|
+
error,
|
|
850
|
+
message: '简历分析失败,请重试'
|
|
851
|
+
});
|
|
852
|
+
this.internalConversationId = null;
|
|
853
|
+
}
|
|
854
|
+
});
|
|
855
|
+
}
|
|
856
|
+
catch (error) {
|
|
857
|
+
console.error('开始分析失败:', error);
|
|
858
|
+
sentryReporter.SentryReporter.captureError(error, {
|
|
859
|
+
action: 'startAnalysisWithCustomFileUrls',
|
|
860
|
+
component: 'pcm-jlsx-modal',
|
|
861
|
+
title: '开始分析失败'
|
|
862
|
+
});
|
|
863
|
+
this.someErrorEvent.emit({
|
|
864
|
+
error,
|
|
865
|
+
message: '开始分析失败,请重试'
|
|
866
|
+
});
|
|
867
|
+
}
|
|
868
|
+
finally {
|
|
869
|
+
this.isAnalyzing = false;
|
|
870
|
+
this.isLoadingResumeList = false;
|
|
871
|
+
}
|
|
872
|
+
}
|
|
705
873
|
/**
|
|
706
874
|
* 开始分析简历
|
|
707
875
|
*/
|