pcm-agents 1.0.5 → 1.0.6
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_34.cjs.entry.js → components-chat-message_32.cjs.entry.js} +9449 -10408
- package/dist/cjs/components-chat-message_32.cjs.entry.js.map +1 -0
- package/dist/cjs/{conversation-utils-CtqfWyjk.js → conversation-utils-Na0f0AoH.js} +4 -4
- package/dist/cjs/{conversation-utils-CtqfWyjk.js.map → conversation-utils-Na0f0AoH.js.map} +1 -1
- package/dist/cjs/{index-DjwiIxrh.js → index-BPngQTFc.js} +261 -7
- package/dist/cjs/index-BPngQTFc.js.map +1 -0
- package/dist/cjs/index-C_qhED9Z.js +26 -18
- package/dist/cjs/index.cjs.js +1 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pcm-agents.cjs.js +1 -1
- package/dist/cjs/pcm-ats-mnms-modal.cjs.entry.js +238 -0
- package/dist/cjs/pcm-ats-mnms-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-ats-mnms-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +3 -4
- package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-hr-chat-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/{oem-htws-modal.cjs.entry.js → pcm-htws-modal.cjs.entry.js} +116 -138
- package/dist/cjs/pcm-htws-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-htws-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/{oem-jd-modal.cjs.entry.js → pcm-jd-modal.cjs.entry.js} +376 -83
- package/dist/cjs/pcm-jd-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-jd-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/{oem-mnct-modal.cjs.entry.js → pcm-jlpp-modal.cjs.entry.js} +97 -70
- package/dist/cjs/pcm-jlpp-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-jlpp-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +3 -4
- 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/{oem-jlzz-modal.cjs.entry.js → pcm-jlzz-modal.cjs.entry.js} +203 -16
- package/dist/cjs/pcm-jlzz-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/{oem-jlzz-modal.entry.cjs.js.map → pcm-jlzz-modal.entry.cjs.js.map} +1 -1
- package/dist/cjs/pcm-mnct-modal.cjs.entry.js +457 -0
- package/dist/cjs/pcm-mnct-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-mnct-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/pcm-mnms-modal.cjs.entry.js +2 -3
- package/dist/cjs/pcm-mnms-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/pcm-mnms-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/{oem-qgqjl-modal.cjs.entry.js → pcm-qgqjl-modal.cjs.entry.js} +18 -48
- package/dist/{pcm-agents/p-1a01b4fc.entry.js.map → cjs/pcm-qgqjl-modal.cjs.entry.js.map} +1 -1
- package/dist/cjs/pcm-qgqjl-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/{oem-jlpp-modal.cjs.entry.js → pcm-zygh-modal.cjs.entry.js} +101 -165
- package/dist/cjs/pcm-zygh-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-zygh-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/pcm-zygh-v2-modal.cjs.entry.js +332 -0
- package/dist/cjs/pcm-zygh-v2-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/pcm-zygh-v2-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/{sentry-reporter-uulX7WVC.js → sentry-reporter-B1jvgkp7.js} +5 -5
- package/dist/cjs/{sentry-reporter-uulX7WVC.js.map → sentry-reporter-B1jvgkp7.js.map} +1 -1
- package/dist/collection/components/oem-cast-modal/cast-data.js.map +1 -1
- package/dist/collection/components/oem-cast-modal/oem-cast-modal.css +839 -534
- package/dist/collection/components/oem-cast-modal/oem-cast-modal.js +25 -5
- package/dist/collection/components/oem-cast-modal/oem-cast-modal.js.map +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-oem-virtual-chat-modal.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-cast-modal.js +26 -6
- package/dist/components/oem-cast-modal.js.map +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 +5 -5
- 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-6DFSErLz.js → p-0Ij65ybD.js} +3 -3
- package/dist/components/{p-6DFSErLz.js.map → p-0Ij65ybD.js.map} +1 -1
- package/dist/components/{p-CuSvTsR9.js → p-B24U704n.js} +3 -3
- package/dist/components/{p-CuSvTsR9.js.map → p-B24U704n.js.map} +1 -1
- package/dist/components/{p-l6-kVCwa.js → p-B5DJYdYb.js} +3 -3
- package/dist/components/{p-l6-kVCwa.js.map → p-B5DJYdYb.js.map} +1 -1
- package/dist/components/{p-BUsDMuD3.js → p-BI0i2rY4.js} +3 -3
- package/dist/components/{p-BUsDMuD3.js.map → p-BI0i2rY4.js.map} +1 -1
- package/dist/components/{p-DQT6Eu_k.js → p-BR37xNkD.js} +3 -3
- package/dist/components/{p-DQT6Eu_k.js.map → p-BR37xNkD.js.map} +1 -1
- package/dist/components/{p-CNvgKUkT.js → p-C6gAMnwa.js} +3 -3
- package/dist/components/{p-CNvgKUkT.js.map → p-C6gAMnwa.js.map} +1 -1
- package/dist/components/{p-BfGmWNQl.js → p-C9XyS38z.js} +5 -5
- package/dist/components/{p-BfGmWNQl.js.map → p-C9XyS38z.js.map} +1 -1
- package/dist/components/{p-ByhieQTZ.js → p-Cc0Eazm9.js} +3 -3
- package/dist/components/{p-ByhieQTZ.js.map → p-Cc0Eazm9.js.map} +1 -1
- package/dist/components/{p-CUB7SkgT.js → p-CjhA27Iq.js} +3 -3
- package/dist/components/{p-CUB7SkgT.js.map → p-CjhA27Iq.js.map} +1 -1
- package/dist/components/{p-DCXGgFU_.js → p-CzbmmB8j.js} +3 -3
- package/dist/components/{p-DCXGgFU_.js.map → p-CzbmmB8j.js.map} +1 -1
- package/dist/components/{p-DSjCE1H5.js → p-D7D_3MQL.js} +3 -3
- package/dist/components/{p-DSjCE1H5.js.map → p-D7D_3MQL.js.map} +1 -1
- package/dist/components/{p-Dev2ejUC.js → p-DhrczBoo.js} +3 -3
- package/dist/components/{p-Dev2ejUC.js.map → p-DhrczBoo.js.map} +1 -1
- package/dist/components/{p-QTkJYrid.js → p-fAgc1_6t.js} +4 -4
- package/dist/components/{p-QTkJYrid.js.map → p-fAgc1_6t.js.map} +1 -1
- package/dist/components/{p-BrqabR-j.js → p-li4R8x26.js} +3 -3
- package/dist/components/{p-BrqabR-j.js.map → p-li4R8x26.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 +5 -5
- package/dist/components/pcm-jlzz-modal.js +6 -6
- 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 +2 -2
- 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_34.entry.js → components-chat-message_32.entry.js} +9256 -10213
- package/dist/esm/components-chat-message_32.entry.js.map +1 -0
- package/dist/esm/{conversation-utils-CYf3kXhY.js → conversation-utils-BSUtuMqH.js} +4 -4
- package/dist/esm/{conversation-utils-CYf3kXhY.js.map → conversation-utils-BSUtuMqH.js.map} +1 -1
- package/dist/esm/{index-DA8Myhft.js → index-Bq0K-WqZ.js} +29 -21
- package/dist/esm/{index-DA8Myhft.js.map → index-Bq0K-WqZ.js.map} +1 -1
- package/dist/esm/{index-Bz5Co8pj.js → index-ffawiHP3.js} +260 -7
- package/dist/esm/index-ffawiHP3.js.map +1 -0
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/pcm-agents.js +3 -3
- package/dist/esm/pcm-ats-mnms-modal.entry.js +236 -0
- package/dist/esm/pcm-ats-mnms-modal.entry.js.map +1 -0
- package/dist/esm/pcm-hr-chat-modal.entry.js +3 -4
- package/dist/esm/pcm-hr-chat-modal.entry.js.map +1 -1
- package/dist/esm/{oem-htws-modal.entry.js → pcm-htws-modal.entry.js} +116 -138
- package/dist/esm/pcm-htws-modal.entry.js.map +1 -0
- package/dist/esm/{oem-jd-modal.entry.js → pcm-jd-modal.entry.js} +376 -83
- package/dist/esm/pcm-jd-modal.entry.js.map +1 -0
- package/dist/esm/{oem-mnct-modal.entry.js → pcm-jlpp-modal.entry.js} +97 -70
- package/dist/esm/pcm-jlpp-modal.entry.js.map +1 -0
- package/dist/esm/pcm-jlsx-modal.entry.js +3 -4
- package/dist/esm/pcm-jlsx-modal.entry.js.map +1 -1
- package/dist/esm/{oem-jlzz-modal.entry.js → pcm-jlzz-modal.entry.js} +203 -16
- package/dist/esm/{oem-jlzz-modal.entry.js.map → pcm-jlzz-modal.entry.js.map} +1 -1
- package/dist/esm/{oem-jlpp-modal.entry.js → pcm-mnct-modal.entry.js} +237 -153
- package/dist/esm/pcm-mnct-modal.entry.js.map +1 -0
- package/dist/esm/pcm-mnms-modal.entry.js +2 -3
- package/dist/esm/pcm-mnms-modal.entry.js.map +1 -1
- package/dist/esm/{oem-qgqjl-modal.entry.js → pcm-qgqjl-modal.entry.js} +18 -48
- package/dist/esm/pcm-qgqjl-modal.entry.js.map +1 -0
- package/dist/esm/pcm-zygh-modal.entry.js +307 -0
- package/dist/esm/pcm-zygh-modal.entry.js.map +1 -0
- package/dist/esm/pcm-zygh-v2-modal.entry.js +330 -0
- package/dist/esm/pcm-zygh-v2-modal.entry.js.map +1 -0
- package/dist/esm/{sentry-reporter-st9SkiOU.js → sentry-reporter-q_g26pa7.js} +3 -3
- package/dist/esm/{sentry-reporter-st9SkiOU.js.map → sentry-reporter-q_g26pa7.js.map} +1 -1
- package/dist/pcm-agents/index.esm.js +1 -1
- package/dist/pcm-agents/index.esm.js.map +1 -1
- package/dist/pcm-agents/p-06359d3b.entry.js +2 -0
- package/dist/pcm-agents/p-06359d3b.entry.js.map +1 -0
- package/dist/pcm-agents/p-340ef557.entry.js +2 -0
- package/dist/pcm-agents/{p-372e7a6f.entry.js.map → p-340ef557.entry.js.map} +1 -1
- package/dist/pcm-agents/p-4facfdd8.entry.js +2 -0
- package/dist/pcm-agents/{p-0617e6f1.entry.js.map → p-4facfdd8.entry.js.map} +1 -1
- package/dist/pcm-agents/p-60c7f37f.entry.js +2 -0
- package/dist/pcm-agents/p-60c7f37f.entry.js.map +1 -0
- package/dist/pcm-agents/p-7e68b5b1.entry.js +8 -0
- package/dist/pcm-agents/p-7e68b5b1.entry.js.map +1 -0
- package/dist/pcm-agents/p-BCHVxmVd.js +2 -0
- package/dist/pcm-agents/p-BCHVxmVd.js.map +1 -0
- package/dist/pcm-agents/{p-DA8Myhft.js → p-Bq0K-WqZ.js} +2 -2
- package/dist/pcm-agents/{p-DA8Myhft.js.map → p-Bq0K-WqZ.js.map} +1 -1
- package/dist/pcm-agents/{p-B23366TU.js → p-BrEqs5mi.js} +2 -2
- package/dist/pcm-agents/{p-B23366TU.js.map → p-BrEqs5mi.js.map} +1 -1
- package/dist/pcm-agents/{p-dDgC2F6T.js → p-Oknq-jtc.js} +2 -2
- package/dist/pcm-agents/{p-dDgC2F6T.js.map → p-Oknq-jtc.js.map} +1 -1
- package/dist/pcm-agents/p-ae371752.entry.js +2 -0
- package/dist/pcm-agents/p-ae371752.entry.js.map +1 -0
- package/dist/pcm-agents/p-af179f1a.entry.js +2 -0
- package/dist/pcm-agents/p-af179f1a.entry.js.map +1 -0
- package/dist/pcm-agents/p-b778f4cc.entry.js +2 -0
- package/dist/pcm-agents/{p-9259b43e.entry.js.map → p-b778f4cc.entry.js.map} +1 -1
- package/dist/pcm-agents/p-bbb30b82.entry.js +2 -0
- package/dist/pcm-agents/p-bbb30b82.entry.js.map +1 -0
- package/dist/pcm-agents/p-be4fdac7.entry.js +2 -0
- package/dist/pcm-agents/{p-486793b9.entry.js.map → p-be4fdac7.entry.js.map} +1 -1
- package/dist/pcm-agents/p-c053e88e.entry.js +2 -0
- package/dist/pcm-agents/p-c053e88e.entry.js.map +1 -0
- package/dist/pcm-agents/p-d2905eef.entry.js +2 -0
- package/dist/pcm-agents/p-d2905eef.entry.js.map +1 -0
- package/dist/pcm-agents/p-eadc6905.entry.js +2 -0
- package/dist/pcm-agents/p-eadc6905.entry.js.map +1 -0
- package/dist/pcm-agents/pcm-agents.esm.js +1 -1
- package/dist/pcm-agents/pcm-ats-mnms-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-hr-chat-modal.entry.esm.js.map +1 -1
- package/dist/pcm-agents/pcm-htws-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-jd-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-jlpp-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-jlsx-modal.entry.esm.js.map +1 -1
- package/dist/pcm-agents/{oem-jlzz-modal.entry.esm.js.map → pcm-jlzz-modal.entry.esm.js.map} +1 -1
- package/dist/pcm-agents/pcm-mnct-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-mnms-modal.entry.esm.js.map +1 -1
- package/dist/pcm-agents/pcm-qgqjl-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-zygh-modal.entry.esm.js.map +1 -0
- package/dist/pcm-agents/pcm-zygh-v2-modal.entry.esm.js.map +1 -0
- package/dist/types/components/oem-cast-modal/oem-cast-modal.d.ts +4 -0
- package/package.json +1 -1
- package/dist/cjs/components-chat-message_34.cjs.entry.js.map +0 -1
- package/dist/cjs/config.store-BIjicJY9.js +0 -262
- package/dist/cjs/config.store-BIjicJY9.js.map +0 -1
- package/dist/cjs/index-DjwiIxrh.js.map +0 -1
- package/dist/cjs/oem-cast-modal.cjs.entry.js +0 -409
- package/dist/cjs/oem-cast-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-cast-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/oem-htws-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-htws-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/oem-jd-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-jd-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/oem-jlpp-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-jlpp-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/oem-jlzz-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-mnct-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-mnct-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/oem-qgqjl-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/oem-qgqjl-modal.entry.cjs.js.map +0 -1
- package/dist/esm/components-chat-message_34.entry.js.map +0 -1
- package/dist/esm/config.store-C--BQ-cn.js +0 -259
- package/dist/esm/config.store-C--BQ-cn.js.map +0 -1
- package/dist/esm/index-Bz5Co8pj.js.map +0 -1
- package/dist/esm/oem-cast-modal.entry.js +0 -407
- package/dist/esm/oem-cast-modal.entry.js.map +0 -1
- package/dist/esm/oem-htws-modal.entry.js.map +0 -1
- package/dist/esm/oem-jd-modal.entry.js.map +0 -1
- package/dist/esm/oem-jlpp-modal.entry.js.map +0 -1
- package/dist/esm/oem-mnct-modal.entry.js.map +0 -1
- package/dist/esm/oem-qgqjl-modal.entry.js.map +0 -1
- package/dist/pcm-agents/oem-cast-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/oem-htws-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/oem-jd-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/oem-jlpp-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/oem-mnct-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/oem-qgqjl-modal.entry.esm.js.map +0 -1
- package/dist/pcm-agents/p-0617e6f1.entry.js +0 -2
- package/dist/pcm-agents/p-1a01b4fc.entry.js +0 -2
- package/dist/pcm-agents/p-372e7a6f.entry.js +0 -2
- package/dist/pcm-agents/p-486793b9.entry.js +0 -2
- package/dist/pcm-agents/p-6f82d6c6.entry.js +0 -8
- package/dist/pcm-agents/p-6f82d6c6.entry.js.map +0 -1
- package/dist/pcm-agents/p-9259b43e.entry.js +0 -2
- package/dist/pcm-agents/p-BPY4JZY3.js +0 -2
- package/dist/pcm-agents/p-BPY4JZY3.js.map +0 -1
- package/dist/pcm-agents/p-C7m_4Gmk.js +0 -2
- package/dist/pcm-agents/p-C7m_4Gmk.js.map +0 -1
- package/dist/pcm-agents/p-bc894cc5.entry.js +0 -2
- package/dist/pcm-agents/p-bc894cc5.entry.js.map +0 -1
- package/dist/pcm-agents/p-c2de4bf9.entry.js +0 -2
- package/dist/pcm-agents/p-c2de4bf9.entry.js.map +0 -1
- package/dist/pcm-agents/p-df3fd806.entry.js +0 -2
- package/dist/pcm-agents/p-df3fd806.entry.js.map +0 -1
- package/dist/pcm-agents/p-e22e39c0.entry.js +0 -2
- package/dist/pcm-agents/p-e22e39c0.entry.js.map +0 -1
- package/dist/pcm-agents/p-e28f36a4.entry.js +0 -2
- package/dist/pcm-agents/p-e28f36a4.entry.js.map +0 -1
|
@@ -1,19 +1,229 @@
|
|
|
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-BPngQTFc.js');
|
|
5
5
|
var errorEvent = require('./error-event-J_ZWIqWF.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var sentryReporter = require('./sentry-reporter-B1jvgkp7.js');
|
|
7
|
+
var conversationUtils = require('./conversation-utils-Na0f0AoH.js');
|
|
8
8
|
require('./exports-Dc-pQh4A.js');
|
|
9
9
|
|
|
10
|
-
const
|
|
10
|
+
const modalTitle$1 = "职位生成";
|
|
11
|
+
const jobRequirementInfo$1 = "职位需求信息";
|
|
12
|
+
const toggleInput$1 = "切换输入";
|
|
13
|
+
const jobName$1 = "职位名称";
|
|
14
|
+
const jobNamePlaceholder$1 = "请输入职位名称";
|
|
15
|
+
const required$1 = "*";
|
|
16
|
+
const nextStep$1 = "下一步";
|
|
17
|
+
const prevStep$1 = "上一步";
|
|
18
|
+
const generateJD$1 = "生成JD";
|
|
19
|
+
const processing$1 = "处理中...";
|
|
20
|
+
const aiAnalyzing$1 = "AI 正在分析职位信息";
|
|
21
|
+
const pleaseWait$1 = "请稍候...";
|
|
22
|
+
const aiRecommendedTags$1 = "AI 推荐标签";
|
|
23
|
+
const salaryRange$1 = "月薪范围";
|
|
24
|
+
const benefits$1 = "福利待遇";
|
|
25
|
+
const education$1 = "学历要求";
|
|
26
|
+
const jdInfo$1 = "JD信息";
|
|
27
|
+
const jdInfoPlaceholder$1 = "请按照下方提示格式输入职位需求信息";
|
|
28
|
+
const inputGuideTitle$1 = "输入格式参考:";
|
|
29
|
+
const inputGuide$1 = {
|
|
30
|
+
jobTitle: "• 职位名称 - 明确定义职位的名称",
|
|
31
|
+
salary: "• 薪资范围 - 明确该岗位的月薪或年薪",
|
|
32
|
+
benefits: "• 福利待遇 - 该职位的福利待遇,如:五险一金、年休假、下午茶等",
|
|
33
|
+
responsibilities: "• 工作职责 - 描述工作内容",
|
|
34
|
+
qualifications: "• 任职资格 - 包括学历、经验和技术要求",
|
|
35
|
+
location: "• 工作地点与性质 - 全职/兼职、远程/办公室"
|
|
36
|
+
};
|
|
37
|
+
const aiDisclaimer$1 = "所有内容均由AI生成仅供参考";
|
|
38
|
+
const beianLabel$1 = "中央网信办生成式人工智能服务备案号";
|
|
39
|
+
const beianNumber$1 = "Hunan-PinCaiMao-202412310003";
|
|
40
|
+
const loadingConversation$1 = "正在加载对话...";
|
|
41
|
+
const salaryRanges$1 = {
|
|
42
|
+
"3k_5k": "3k-5k",
|
|
43
|
+
"5k_8k": "5k-8k",
|
|
44
|
+
"8k_12k": "8k-12k",
|
|
45
|
+
"12k_15k": "12k-15k",
|
|
46
|
+
"15k_20k": "15k-20k",
|
|
47
|
+
above_20k: "20k以上"
|
|
48
|
+
};
|
|
49
|
+
const benefitsList$1 = {
|
|
50
|
+
insurance: "五险一金",
|
|
51
|
+
bonus: "年终奖",
|
|
52
|
+
paidLeave: "带薪年假",
|
|
53
|
+
overtimePay: "加班补贴",
|
|
54
|
+
mealAllowance: "餐补",
|
|
55
|
+
transportAllowance: "交通补贴",
|
|
56
|
+
holidayBenefits: "节日福利",
|
|
57
|
+
teamBuilding: "团队建设"
|
|
58
|
+
};
|
|
59
|
+
const educationList$1 = {
|
|
60
|
+
college: "大专",
|
|
61
|
+
bachelor: "本科",
|
|
62
|
+
master: "硕士",
|
|
63
|
+
doctor: "博士",
|
|
64
|
+
noLimit: "学历不限"
|
|
65
|
+
};
|
|
66
|
+
const historyConversations$1 = "历史会话";
|
|
67
|
+
const history$1 = {
|
|
68
|
+
loading: "加载中...",
|
|
69
|
+
noHistory: "暂无历史会话"
|
|
70
|
+
};
|
|
71
|
+
const alerts$1 = {
|
|
72
|
+
enterJobName: "请输入职位名称",
|
|
73
|
+
enterJobInfo: "请输入职位需求信息"
|
|
74
|
+
};
|
|
75
|
+
const jobInfoFields$1 = {
|
|
76
|
+
jobName: "职位名称",
|
|
77
|
+
salaryRange: "薪资范围",
|
|
78
|
+
benefits: "福利待遇",
|
|
79
|
+
education: "学历要求"
|
|
80
|
+
};
|
|
81
|
+
var stringsZh = {
|
|
82
|
+
modalTitle: modalTitle$1,
|
|
83
|
+
jobRequirementInfo: jobRequirementInfo$1,
|
|
84
|
+
toggleInput: toggleInput$1,
|
|
85
|
+
jobName: jobName$1,
|
|
86
|
+
jobNamePlaceholder: jobNamePlaceholder$1,
|
|
87
|
+
required: required$1,
|
|
88
|
+
nextStep: nextStep$1,
|
|
89
|
+
prevStep: prevStep$1,
|
|
90
|
+
generateJD: generateJD$1,
|
|
91
|
+
processing: processing$1,
|
|
92
|
+
aiAnalyzing: aiAnalyzing$1,
|
|
93
|
+
pleaseWait: pleaseWait$1,
|
|
94
|
+
aiRecommendedTags: aiRecommendedTags$1,
|
|
95
|
+
salaryRange: salaryRange$1,
|
|
96
|
+
benefits: benefits$1,
|
|
97
|
+
education: education$1,
|
|
98
|
+
jdInfo: jdInfo$1,
|
|
99
|
+
jdInfoPlaceholder: jdInfoPlaceholder$1,
|
|
100
|
+
inputGuideTitle: inputGuideTitle$1,
|
|
101
|
+
inputGuide: inputGuide$1,
|
|
102
|
+
aiDisclaimer: aiDisclaimer$1,
|
|
103
|
+
beianLabel: beianLabel$1,
|
|
104
|
+
beianNumber: beianNumber$1,
|
|
105
|
+
loadingConversation: loadingConversation$1,
|
|
106
|
+
salaryRanges: salaryRanges$1,
|
|
107
|
+
benefitsList: benefitsList$1,
|
|
108
|
+
educationList: educationList$1,
|
|
109
|
+
historyConversations: historyConversations$1,
|
|
110
|
+
history: history$1,
|
|
111
|
+
alerts: alerts$1,
|
|
112
|
+
jobInfoFields: jobInfoFields$1
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
const modalTitle = "Job Description Generator";
|
|
116
|
+
const jobRequirementInfo = "Job Requirement Information";
|
|
117
|
+
const toggleInput = "Toggle Input";
|
|
118
|
+
const jobName = "Job Title";
|
|
119
|
+
const jobNamePlaceholder = "Please enter job title";
|
|
120
|
+
const required = "*";
|
|
121
|
+
const nextStep = "Next Step";
|
|
122
|
+
const prevStep = "Previous Step";
|
|
123
|
+
const generateJD = "Generate JD";
|
|
124
|
+
const processing = "Processing...";
|
|
125
|
+
const aiAnalyzing = "AI is analyzing job information";
|
|
126
|
+
const pleaseWait = "Please wait...";
|
|
127
|
+
const aiRecommendedTags = "AI Recommended Tags";
|
|
128
|
+
const salaryRange = "Monthly Salary Range";
|
|
129
|
+
const benefits = "Benefits";
|
|
130
|
+
const education = "Education Requirements";
|
|
131
|
+
const jdInfo = "JD Information";
|
|
132
|
+
const jdInfoPlaceholder = "Please enter job requirement information according to the format below";
|
|
133
|
+
const inputGuideTitle = "Input Format Reference:";
|
|
134
|
+
const inputGuide = {
|
|
135
|
+
jobTitle: "• Job Title - Clearly define the position name",
|
|
136
|
+
salary: "• Salary Range - Specify monthly or annual salary for this position",
|
|
137
|
+
benefits: "• Benefits - Benefits for this position, such as: five insurances and one fund, annual leave, afternoon tea, etc.",
|
|
138
|
+
responsibilities: "• Job Responsibilities - Describe the work content",
|
|
139
|
+
qualifications: "• Qualifications - Including education, experience and technical requirements",
|
|
140
|
+
location: "• Location & Nature - Full-time/Part-time, Remote/Office"
|
|
141
|
+
};
|
|
142
|
+
const aiDisclaimer = "All content is AI-generated and for reference only";
|
|
143
|
+
const beianLabel = "Cyberspace Administration of China Generative AI Service Registration Number";
|
|
144
|
+
const beianNumber = "Hunan-PinCaiMao-202412310003";
|
|
145
|
+
const loadingConversation = "Loading conversation...";
|
|
146
|
+
const salaryRanges = {
|
|
147
|
+
"3k_5k": "3k-5k",
|
|
148
|
+
"5k_8k": "5k-8k",
|
|
149
|
+
"8k_12k": "8k-12k",
|
|
150
|
+
"12k_15k": "12k-15k",
|
|
151
|
+
"15k_20k": "15k-20k",
|
|
152
|
+
above_20k: "20k+"
|
|
153
|
+
};
|
|
154
|
+
const benefitsList = {
|
|
155
|
+
insurance: "Five insurances and one fund",
|
|
156
|
+
bonus: "Year-end bonus",
|
|
157
|
+
paidLeave: "Paid annual leave",
|
|
158
|
+
overtimePay: "Overtime allowance",
|
|
159
|
+
mealAllowance: "Meal allowance",
|
|
160
|
+
transportAllowance: "Transport allowance",
|
|
161
|
+
holidayBenefits: "Holiday benefits",
|
|
162
|
+
teamBuilding: "Team building"
|
|
163
|
+
};
|
|
164
|
+
const educationList = {
|
|
165
|
+
college: "College",
|
|
166
|
+
bachelor: "Bachelor",
|
|
167
|
+
master: "Master",
|
|
168
|
+
doctor: "Doctor",
|
|
169
|
+
noLimit: "No limit"
|
|
170
|
+
};
|
|
171
|
+
const historyConversations = "History";
|
|
172
|
+
const history = {
|
|
173
|
+
loading: "Loading...",
|
|
174
|
+
noHistory: "No history conversations"
|
|
175
|
+
};
|
|
176
|
+
const alerts = {
|
|
177
|
+
enterJobName: "Please enter job title",
|
|
178
|
+
enterJobInfo: "Please enter job requirement information"
|
|
179
|
+
};
|
|
180
|
+
const jobInfoFields = {
|
|
181
|
+
jobName: "Job Title",
|
|
182
|
+
salaryRange: "Salary Range",
|
|
183
|
+
benefits: "Benefits",
|
|
184
|
+
education: "Education Requirements"
|
|
185
|
+
};
|
|
186
|
+
var stringsEn = {
|
|
187
|
+
modalTitle: modalTitle,
|
|
188
|
+
jobRequirementInfo: jobRequirementInfo,
|
|
189
|
+
toggleInput: toggleInput,
|
|
190
|
+
jobName: jobName,
|
|
191
|
+
jobNamePlaceholder: jobNamePlaceholder,
|
|
192
|
+
required: required,
|
|
193
|
+
nextStep: nextStep,
|
|
194
|
+
prevStep: prevStep,
|
|
195
|
+
generateJD: generateJD,
|
|
196
|
+
processing: processing,
|
|
197
|
+
aiAnalyzing: aiAnalyzing,
|
|
198
|
+
pleaseWait: pleaseWait,
|
|
199
|
+
aiRecommendedTags: aiRecommendedTags,
|
|
200
|
+
salaryRange: salaryRange,
|
|
201
|
+
benefits: benefits,
|
|
202
|
+
education: education,
|
|
203
|
+
jdInfo: jdInfo,
|
|
204
|
+
jdInfoPlaceholder: jdInfoPlaceholder,
|
|
205
|
+
inputGuideTitle: inputGuideTitle,
|
|
206
|
+
inputGuide: inputGuide,
|
|
207
|
+
aiDisclaimer: aiDisclaimer,
|
|
208
|
+
beianLabel: beianLabel,
|
|
209
|
+
beianNumber: beianNumber,
|
|
210
|
+
loadingConversation: loadingConversation,
|
|
211
|
+
salaryRanges: salaryRanges,
|
|
212
|
+
benefitsList: benefitsList,
|
|
213
|
+
educationList: educationList,
|
|
214
|
+
historyConversations: historyConversations,
|
|
215
|
+
history: history,
|
|
216
|
+
alerts: alerts,
|
|
217
|
+
jobInfoFields: jobInfoFields
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
const pcmJdModalCss = ".input-mode-toggle{display:flex;align-items:center;margin-bottom:16px}.input-mode-toggle span{color:#333;margin-right:12px}.toggle-button{display:flex;align-items:center;background:none;border:none;color:#2E6EDF;cursor:pointer;font-size:14px;padding:4px 8px}.toggle-button svg{margin-right:4px}.toggle-button:disabled{opacity:0.5;cursor:not-allowed}.structured-input{width:100%}.job-name-input{margin-bottom:20px}.job-name-input label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-name-input input{width:95%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#f9f9f9}.job-name-input input:focus{outline:none;border-color:#2E6EDF;box-shadow:0 0 0 2px rgba(46, 110, 223, 0.2)}.required{color:#f56c6c}.button-container{display:flex;justify-content:center;margin-top:24px;gap:12px;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.next-button{background-color:#2E6EDF;color:white}.next-button:hover{background-color:#2457b8}.next-button:disabled{background-color:#a0c0e8;cursor:not-allowed}.prev-button{background-color:#f0f0f0 !important;color:#333 !important}.prev-button:hover{background-color:#e0e0e0}.tag-selection{width:100%}.tag-selection-content{width:100%}.section-title{font-weight:600;color:#333;margin-bottom:12px;font-size:16px}.ai-tags-section,.basic-tags-section{margin-bottom:24px}.tag-group{margin-bottom:16px}.tag-title{color:#555;margin-bottom:8px;font-weight:500}.tag-container{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;box-sizing:border-box}.tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:4px;background-color:#f5f5f5;border:1px solid #e0e0e0;color:#333;font-size:13px;cursor:pointer;transition:all 0.2s;max-width:100%;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag:hover{background-color:#e8e8e8}.tag-selected{background-color:#e6f0ff;border-color:#2E6EDF;color:#2E6EDF}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;background-color:#f9f9f9;border-radius:8px;margin:20px 0;max-width:100%;box-sizing:border-box}.loading-spinner{width:40px;height:40px;border:3px solid rgba(46, 110, 223, 0.2);border-radius:50%;border-top-color:#2E6EDF;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{text-align:center;color:#333;font-weight:500}.loading-subtext{color:#888;font-size:14px;margin-top:4px}.free-input{width:100%}.textarea-container{margin-bottom:16px}.textarea-container label{display:block;margin-bottom:8px;font-weight:500;color:#333}.textarea-container textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;background-color:#f9f9f9;min-height:150px;width:100%;padding:12px 16px;margin-bottom:20px;max-width:100%;box-sizing:border-box;word-wrap:break-word}.textarea-container textarea:focus{outline:none;border-color:#2E6EDF;box-shadow:0 0 0 2px rgba(46, 110, 223, 0.2)}.voice-textarea-wrapper{position:relative}.voice-textarea-wrapper textarea{padding-bottom:52px}.voice-input-entry{position:absolute;right:12px;bottom:32px;z-index:1}.input-guide{background-color:#f5f7fa;border-radius:4px;padding:12px 16px;margin-bottom:20px;max-width:100%;box-sizing:border-box;word-wrap:break-word}.guide-title{font-weight:500;color:#333;margin-bottom:8px}.guide-content{color:#666;font-size:13px;max-width:100%;word-wrap:break-word}.guide-content div{margin-bottom:4px}@media (max-width: 768px){.tag-container{gap:7px}.tag{padding:4px 8px;font-size:12px}}@media (max-width: 480px){.button-container{flex-direction:column;align-items:center}.next-button,.prev-button,.submit-button{width:100%;margin-bottom:8px}.tag{max-width:calc(50% - 8px)}}.tag-selection,.tag-selection-content,.ai-tags-section,.basic-tags-section,.structured-input,.free-input{max-width:100%;box-sizing:border-box}";
|
|
11
221
|
|
|
12
222
|
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}";
|
|
13
223
|
|
|
14
224
|
const hostCss = ":host{font-size:16px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-weight:normal;font-style:normal;font-variant:normal;line-height:1.5;letter-spacing:normal;word-spacing:normal;color:#333;text-align:left;text-indent:0;text-transform:none;white-space:normal;word-wrap:normal;word-break:normal;visibility:visible;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;border-collapse:separate;border-spacing:0;caption-side:top;empty-cells:show;table-layout:auto;quotes:auto;cursor:auto;direction:ltr;orphans:2;widows:2;page-break-inside:auto;text-decoration:none;text-shadow:none;box-sizing:border-box;writing-mode:horizontal-tb;text-orientation:mixed}";
|
|
15
225
|
|
|
16
|
-
const
|
|
226
|
+
const PcmJdModal = class {
|
|
17
227
|
constructor(hostRef) {
|
|
18
228
|
index.registerInstance(this, hostRef);
|
|
19
229
|
this.modalClosed = index.createEvent(this, "modalClosed");
|
|
@@ -27,6 +237,10 @@ const OemJdModal = class {
|
|
|
27
237
|
* 模态框标题
|
|
28
238
|
*/
|
|
29
239
|
modalTitle = '职位生成';
|
|
240
|
+
/**
|
|
241
|
+
* 语言设置
|
|
242
|
+
*/
|
|
243
|
+
locale = 'zh';
|
|
30
244
|
/**
|
|
31
245
|
* SDK鉴权密钥
|
|
32
246
|
*/
|
|
@@ -76,7 +290,11 @@ const OemJdModal = class {
|
|
|
76
290
|
*/
|
|
77
291
|
showWorkspaceHistory = false;
|
|
78
292
|
/**
|
|
79
|
-
*
|
|
293
|
+
* 是否在上传界面显示历史会话按钮
|
|
294
|
+
*/
|
|
295
|
+
showInputHistory = false;
|
|
296
|
+
/**
|
|
297
|
+
* 是否显示”保存职位”按钮(仅JD助手智能体生效)
|
|
80
298
|
*/
|
|
81
299
|
showSaveJdButton = false;
|
|
82
300
|
/**
|
|
@@ -110,7 +328,15 @@ const OemJdModal = class {
|
|
|
110
328
|
*/
|
|
111
329
|
filePreviewMode = 'drawer';
|
|
112
330
|
showChatModal = false;
|
|
331
|
+
isHistoryDrawerOpen = false;
|
|
332
|
+
historyConversations = [];
|
|
333
|
+
isLoadingConversations = false;
|
|
334
|
+
historyConversationCursorStack = [''];
|
|
335
|
+
historyConversationPageIndex = 0;
|
|
336
|
+
hasMoreHistoryConversations = false;
|
|
113
337
|
get hostElement() { return index.getElement(this); }
|
|
338
|
+
// 国际化字符串
|
|
339
|
+
strings;
|
|
114
340
|
// 输入模式:structured(点选模式) 或 free(表单模式)
|
|
115
341
|
inputMode = 'structured';
|
|
116
342
|
// 步骤:input(输入职位名称) 或 review(选择标签)
|
|
@@ -139,53 +365,24 @@ const OemJdModal = class {
|
|
|
139
365
|
};
|
|
140
366
|
tokenInvalidListener;
|
|
141
367
|
removeErrorListener;
|
|
368
|
+
_historyConversationPageSize = 20;
|
|
142
369
|
handleTokenChange(newToken) {
|
|
143
370
|
// 当传入的 token 变化时,更新 authStore 中的 token
|
|
144
371
|
if (newToken && newToken !== index$1.authStore.getToken()) {
|
|
145
372
|
index$1.authStore.setToken(newToken);
|
|
146
373
|
}
|
|
147
374
|
}
|
|
148
|
-
async
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
this.showChatModal = false;
|
|
152
|
-
this.jobDescription = '';
|
|
153
|
-
this.jobName = '';
|
|
154
|
-
this.freeInputText = '';
|
|
155
|
-
this.isVoiceInputActive = false;
|
|
156
|
-
this.step = 'input';
|
|
157
|
-
this.inputMode = 'structured';
|
|
158
|
-
this.tagGroups = [];
|
|
159
|
-
this.shuffledTagGroups = [];
|
|
160
|
-
this.selectedAITags = {};
|
|
161
|
-
this.selectedTags = {
|
|
162
|
-
salary: '',
|
|
163
|
-
benefits: [],
|
|
164
|
-
education: ''
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
if (this.customInputs && this.customInputs.job_info) {
|
|
169
|
-
this.jobDescription = this.customInputs.job_info;
|
|
170
|
-
// 如果有 job_info,直接切换到自由输入模式并填充内容
|
|
171
|
-
this.inputMode = 'free';
|
|
172
|
-
this.freeInputText = this.customInputs.job_info;
|
|
173
|
-
}
|
|
174
|
-
await index$1.verifyApiKey(this.token);
|
|
175
|
-
if (this.conversationId) {
|
|
176
|
-
// 如果有会话ID,直接显示聊天模态框
|
|
177
|
-
this.showChatModal = true;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
componentWillLoad() {
|
|
375
|
+
async componentWillLoad() {
|
|
376
|
+
// 加载国际化字符串
|
|
377
|
+
this.strings = this.locale === 'en' ? stringsEn : stringsZh;
|
|
182
378
|
// 将 zIndex 存入配置缓存
|
|
183
379
|
if (this.zIndex) {
|
|
184
|
-
|
|
380
|
+
index$1.configStore.setItem('modal-zIndex', this.zIndex);
|
|
185
381
|
}
|
|
186
382
|
if (this.token) {
|
|
187
383
|
index$1.authStore.setToken(this.token);
|
|
188
384
|
}
|
|
385
|
+
index$1.verifyApiKey(this.token);
|
|
189
386
|
// 添加全局token无效事件监听器
|
|
190
387
|
this.tokenInvalidListener = () => {
|
|
191
388
|
this.tokenInvalid.emit();
|
|
@@ -205,36 +402,85 @@ const OemJdModal = class {
|
|
|
205
402
|
}
|
|
206
403
|
}
|
|
207
404
|
// 薪资范围选项
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
405
|
+
getSalaryRanges() {
|
|
406
|
+
return [
|
|
407
|
+
{ text: this.strings.salaryRanges['3k_5k'], value: '3k_5k' },
|
|
408
|
+
{ text: this.strings.salaryRanges['5k_8k'], value: '5k_8k' },
|
|
409
|
+
{ text: this.strings.salaryRanges['8k_12k'], value: '8k_12k' },
|
|
410
|
+
{ text: this.strings.salaryRanges['12k_15k'], value: '12k_15k' },
|
|
411
|
+
{ text: this.strings.salaryRanges['15k_20k'], value: '15k_20k' },
|
|
412
|
+
{ text: this.strings.salaryRanges.above_20k, value: 'above_20k' },
|
|
413
|
+
];
|
|
414
|
+
}
|
|
216
415
|
// 福利待遇选项
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
416
|
+
getBenefits() {
|
|
417
|
+
return [
|
|
418
|
+
{ text: this.strings.benefitsList.insurance, value: '五险一金' },
|
|
419
|
+
{ text: this.strings.benefitsList.bonus, value: '年终奖' },
|
|
420
|
+
{ text: this.strings.benefitsList.paidLeave, value: '带薪年假' },
|
|
421
|
+
{ text: this.strings.benefitsList.overtimePay, value: '加班补贴' },
|
|
422
|
+
{ text: this.strings.benefitsList.mealAllowance, value: '餐补' },
|
|
423
|
+
{ text: this.strings.benefitsList.transportAllowance, value: '交通补贴' },
|
|
424
|
+
{ text: this.strings.benefitsList.holidayBenefits, value: '节日福利' },
|
|
425
|
+
{ text: this.strings.benefitsList.teamBuilding, value: '团队建设' },
|
|
426
|
+
];
|
|
427
|
+
}
|
|
227
428
|
// 学历要求选项
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
429
|
+
getEducationRequirements() {
|
|
430
|
+
return [
|
|
431
|
+
{ text: this.strings.educationList.college, value: '大专' },
|
|
432
|
+
{ text: this.strings.educationList.bachelor, value: '本科' },
|
|
433
|
+
{ text: this.strings.educationList.master, value: '硕士' },
|
|
434
|
+
{ text: this.strings.educationList.doctor, value: '博士' },
|
|
435
|
+
{ text: this.strings.educationList.noLimit, value: '学历不限' },
|
|
436
|
+
];
|
|
437
|
+
}
|
|
235
438
|
handleClose = () => {
|
|
236
439
|
this.modalClosed.emit();
|
|
237
440
|
};
|
|
441
|
+
loadHistoryConversations = async (lastId, pageIndex) => {
|
|
442
|
+
this.isLoadingConversations = true;
|
|
443
|
+
const result = await conversationUtils.fetchHistoryConversations(this.getBotId(), 'pcm-jd-modal', lastId, this._historyConversationPageSize);
|
|
444
|
+
const nextCursorStack = this.historyConversationCursorStack.slice(0, pageIndex + 1);
|
|
445
|
+
if (result.hasMore && result.nextCursor) {
|
|
446
|
+
nextCursorStack[pageIndex + 1] = result.nextCursor;
|
|
447
|
+
}
|
|
448
|
+
this.historyConversationCursorStack = nextCursorStack;
|
|
449
|
+
this.historyConversationPageIndex = pageIndex;
|
|
450
|
+
this.historyConversations = result.items;
|
|
451
|
+
this.hasMoreHistoryConversations = result.hasMore;
|
|
452
|
+
this.isLoadingConversations = false;
|
|
453
|
+
};
|
|
454
|
+
handleInputHistoryClick = async () => {
|
|
455
|
+
this.isHistoryDrawerOpen = true;
|
|
456
|
+
this.historyConversationCursorStack = [''];
|
|
457
|
+
await this.loadHistoryConversations('', 0);
|
|
458
|
+
};
|
|
459
|
+
handleHistoryConversationPageChange = async (direction) => {
|
|
460
|
+
if (direction === 'prev') {
|
|
461
|
+
if (this.historyConversationPageIndex === 0) {
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
const previousPageIndex = this.historyConversationPageIndex - 1;
|
|
465
|
+
const previousCursor = this.historyConversationCursorStack[previousPageIndex] || '';
|
|
466
|
+
await this.loadHistoryConversations(previousCursor, previousPageIndex);
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
469
|
+
if (!this.hasMoreHistoryConversations) {
|
|
470
|
+
return;
|
|
471
|
+
}
|
|
472
|
+
const nextPageIndex = this.historyConversationPageIndex + 1;
|
|
473
|
+
const nextCursor = this.historyConversationCursorStack[nextPageIndex];
|
|
474
|
+
if (!nextCursor) {
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
await this.loadHistoryConversations(nextCursor, nextPageIndex);
|
|
478
|
+
};
|
|
479
|
+
handleSelectConversation = (id) => {
|
|
480
|
+
this.conversationId = id;
|
|
481
|
+
this.isHistoryDrawerOpen = false;
|
|
482
|
+
this.showChatModal = true;
|
|
483
|
+
};
|
|
238
484
|
handleToggleInput = () => {
|
|
239
485
|
if (this.isVoiceInputActive)
|
|
240
486
|
return;
|
|
@@ -271,7 +517,7 @@ const OemJdModal = class {
|
|
|
271
517
|
};
|
|
272
518
|
handleNextStep = async () => {
|
|
273
519
|
if (!this.jobName.trim()) {
|
|
274
|
-
alert(
|
|
520
|
+
alert(this.strings.alerts.enterJobName);
|
|
275
521
|
return;
|
|
276
522
|
}
|
|
277
523
|
this.step = 'review';
|
|
@@ -291,6 +537,7 @@ const OemJdModal = class {
|
|
|
291
537
|
data: {
|
|
292
538
|
inputs: {
|
|
293
539
|
input_info: jobName,
|
|
540
|
+
locale: this.locale
|
|
294
541
|
},
|
|
295
542
|
bot_id: "59322522667307008",
|
|
296
543
|
workflow_code: "generate_jd_tags"
|
|
@@ -332,7 +579,7 @@ const OemJdModal = class {
|
|
|
332
579
|
catch (error) {
|
|
333
580
|
sentryReporter.SentryReporter.captureError(error, {
|
|
334
581
|
action: 'handlePositionAnalysis',
|
|
335
|
-
component: '
|
|
582
|
+
component: 'pcm-jd-modal',
|
|
336
583
|
title: '解析前置标签时错误'
|
|
337
584
|
});
|
|
338
585
|
this.someErrorEvent.emit({
|
|
@@ -383,7 +630,7 @@ const OemJdModal = class {
|
|
|
383
630
|
// 处理薪资范围标签
|
|
384
631
|
let salaryRange = '';
|
|
385
632
|
if (this.selectedTags.salary) {
|
|
386
|
-
const range = this.
|
|
633
|
+
const range = this.getSalaryRanges().find(r => r.value === this.selectedTags.salary);
|
|
387
634
|
if (range) {
|
|
388
635
|
salaryRange = range.text;
|
|
389
636
|
}
|
|
@@ -393,21 +640,21 @@ const OemJdModal = class {
|
|
|
393
640
|
// 处理学历要求标签
|
|
394
641
|
let education = '';
|
|
395
642
|
if (this.selectedTags.education) {
|
|
396
|
-
const edu = this.
|
|
643
|
+
const edu = this.getEducationRequirements().find(e => e.value === this.selectedTags.education);
|
|
397
644
|
if (edu) {
|
|
398
645
|
education = edu.text;
|
|
399
646
|
}
|
|
400
647
|
}
|
|
401
648
|
// 构建职位描述
|
|
402
|
-
let jobInfo =
|
|
649
|
+
let jobInfo = `${this.strings.jobInfoFields.jobName}:${this.jobName}\n`;
|
|
403
650
|
if (salaryRange) {
|
|
404
|
-
jobInfo +=
|
|
651
|
+
jobInfo += `${this.strings.jobInfoFields.salaryRange}:${salaryRange}\n`;
|
|
405
652
|
}
|
|
406
653
|
if (selectedBenefits) {
|
|
407
|
-
jobInfo +=
|
|
654
|
+
jobInfo += `${this.strings.jobInfoFields.benefits}:${selectedBenefits}\n`;
|
|
408
655
|
}
|
|
409
656
|
if (education) {
|
|
410
|
-
jobInfo +=
|
|
657
|
+
jobInfo += `${this.strings.jobInfoFields.education}:${education}\n`;
|
|
411
658
|
}
|
|
412
659
|
// 添加AI标签
|
|
413
660
|
Object.entries(this.selectedAITags).forEach(([dimension, tags]) => {
|
|
@@ -423,7 +670,7 @@ const OemJdModal = class {
|
|
|
423
670
|
console.error('提交结构化数据时出错:', error);
|
|
424
671
|
sentryReporter.SentryReporter.captureError(error, {
|
|
425
672
|
action: 'handleSubmitStructured',
|
|
426
|
-
component: '
|
|
673
|
+
component: 'pcm-jd-modal',
|
|
427
674
|
title: '提交数据时出错'
|
|
428
675
|
});
|
|
429
676
|
this.someErrorEvent.emit({
|
|
@@ -437,7 +684,7 @@ const OemJdModal = class {
|
|
|
437
684
|
};
|
|
438
685
|
handleSubmitFree = async () => {
|
|
439
686
|
if (!this.freeInputText.trim()) {
|
|
440
|
-
alert(
|
|
687
|
+
alert(this.strings.alerts.enterJobInfo);
|
|
441
688
|
return;
|
|
442
689
|
}
|
|
443
690
|
this.isSubmitting = true;
|
|
@@ -451,7 +698,7 @@ const OemJdModal = class {
|
|
|
451
698
|
console.error('提交自由输入数据时出错:', error);
|
|
452
699
|
sentryReporter.SentryReporter.captureError(error, {
|
|
453
700
|
action: 'handleSubmitFree',
|
|
454
|
-
component: '
|
|
701
|
+
component: 'pcm-jd-modal',
|
|
455
702
|
title: '提交数据时出错'
|
|
456
703
|
});
|
|
457
704
|
this.someErrorEvent.emit({
|
|
@@ -464,6 +711,48 @@ const OemJdModal = class {
|
|
|
464
711
|
}
|
|
465
712
|
};
|
|
466
713
|
jobDescription = '';
|
|
714
|
+
// 根据语言获取对应的botId
|
|
715
|
+
getBotId() {
|
|
716
|
+
const currentLocale = this.locale || this.hostElement?.lang || 'zh';
|
|
717
|
+
const botIdMap = {
|
|
718
|
+
'zh': '3022316191018873',
|
|
719
|
+
'en': '8164748078835713'
|
|
720
|
+
};
|
|
721
|
+
return botIdMap[currentLocale] || botIdMap['zh'];
|
|
722
|
+
}
|
|
723
|
+
async handleIsOpenChange(newValue) {
|
|
724
|
+
if (!newValue) {
|
|
725
|
+
// 重置状态
|
|
726
|
+
this.showChatModal = false;
|
|
727
|
+
this.jobDescription = '';
|
|
728
|
+
this.jobName = '';
|
|
729
|
+
this.freeInputText = '';
|
|
730
|
+
this.isVoiceInputActive = false;
|
|
731
|
+
this.step = 'input';
|
|
732
|
+
this.inputMode = 'structured';
|
|
733
|
+
this.tagGroups = [];
|
|
734
|
+
this.shuffledTagGroups = [];
|
|
735
|
+
this.selectedAITags = {};
|
|
736
|
+
this.selectedTags = {
|
|
737
|
+
salary: '',
|
|
738
|
+
benefits: [],
|
|
739
|
+
education: ''
|
|
740
|
+
};
|
|
741
|
+
}
|
|
742
|
+
else {
|
|
743
|
+
if (this.customInputs && this.customInputs.job_info) {
|
|
744
|
+
this.jobDescription = this.customInputs.job_info;
|
|
745
|
+
// 如果有 job_info,直接切换到自由输入模式并填充内容
|
|
746
|
+
this.inputMode = 'free';
|
|
747
|
+
this.freeInputText = this.customInputs.job_info;
|
|
748
|
+
}
|
|
749
|
+
await index$1.verifyApiKey(this.token);
|
|
750
|
+
if (this.conversationId) {
|
|
751
|
+
// 如果有会话ID,直接显示聊天模态框
|
|
752
|
+
this.showChatModal = true;
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
467
756
|
// 渲染标签组
|
|
468
757
|
renderTagGroup(title, options, category) {
|
|
469
758
|
return (index.h("div", { class: "tag-group" }, index.h("div", { class: "tag-title" }, title), index.h("div", { class: "tag-container" }, options.map(option => {
|
|
@@ -488,7 +777,7 @@ const OemJdModal = class {
|
|
|
488
777
|
}
|
|
489
778
|
// 渲染加载状态
|
|
490
779
|
renderLoadingState() {
|
|
491
|
-
return (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("div", { class: "loading-text" }, index.h("div", null,
|
|
780
|
+
return (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("div", { class: "loading-text" }, index.h("div", null, this.strings.aiAnalyzing), index.h("div", { class: "loading-subtext" }, this.strings.pleaseWait))));
|
|
492
781
|
}
|
|
493
782
|
render() {
|
|
494
783
|
if (!this.isOpen)
|
|
@@ -507,7 +796,11 @@ const OemJdModal = class {
|
|
|
507
796
|
};
|
|
508
797
|
// 显示加载状态
|
|
509
798
|
const isLoading = this.conversationId && !this.showChatModal;
|
|
510
|
-
return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)
|
|
799
|
+
return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle), this.showInputHistory && (index.h("button", { type: "button", class: "header-history-entry", onClick: this.handleInputHistoryClick, title: this.strings?.historyConversations }, this.strings?.historyConversations))), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), this.showInputHistory && (index.h("components-drawer", { isOpen: this.isHistoryDrawerOpen, drawerTitle: this.strings?.historyConversations, width: "400px", onClosed: () => { this.isHistoryDrawerOpen = false; } }, index.h("div", { class: "history-drawer-content" }, index.h("div", { class: "conversation-list" }, this.isLoadingConversations ? (index.h("div", { class: "loading-conversations" }, index.h("div", { class: "loading-spinner-small" }), index.h("p", null, this.strings?.history?.loading))) : this.historyConversations.length === 0 ? (index.h("div", { class: "empty-conversations" }, index.h("p", null, this.strings?.history?.noHistory))) : (this.historyConversations.map(conversation => (index.h("div", { key: conversation.id, class: "conversation-item", onClick: () => this.handleSelectConversation(conversation.id) }, index.h("div", { class: "conversation-info" }, index.h("div", { class: "conversation-title" }, conversation.name), index.h("div", { class: "conversation-meta" }, index.h("span", { class: "conversation-time" }, conversation.timeDisplay), conversation.message_count > 0 && (index.h("span", { class: "message-count" }, conversation.message_count, "\u6761\u6D88\u606F")), conversation.status && (index.h("span", { class: {
|
|
800
|
+
'conversation-status': true,
|
|
801
|
+
'completed': conversation.status === '结束',
|
|
802
|
+
'running': conversation.status === '进行中',
|
|
803
|
+
} }, conversation.status))))))))), !this.isLoadingConversations && (this.historyConversationPageIndex > 0 || this.hasMoreHistoryConversations) && (index.h("div", { class: "history-pagination" }, index.h("button", { type: "button", class: "history-pagination-button", disabled: this.historyConversationPageIndex === 0, onClick: () => this.handleHistoryConversationPageChange('prev') }, "\u4E0A\u4E00\u9875"), index.h("span", { class: "history-pagination-info" }, "\u7B2C ", this.historyConversationPageIndex + 1, " \u9875"), index.h("button", { type: "button", class: "history-pagination-button", disabled: !this.hasMoreHistoryConversations, onClick: () => this.handleHistoryConversationPageChange('next') }, "\u4E0B\u4E00\u9875")))))), !this.showChatModal && !this.conversationId && true && (index.h("div", { class: "input-container" }, index.h("div", { class: "input-mode-toggle" }, index.h("span", null, this.strings.jobRequirementInfo), index.h("button", { class: "toggle-button", onClick: this.handleToggleInput, disabled: this.isLoading || this.isVoiceInputActive }, index.h("svg", { viewBox: "0 0 24 24", width: "16", height: "16", fill: "none", stroke: "currentColor" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M4 6h16M4 12h16M4 18h16" })), this.strings.toggleInput)), this.inputMode === 'structured' && (index.h("div", { class: "structured-input" }, this.step === 'input' && (index.h("div", { class: "job-name-input" }, index.h("label", { htmlFor: "job-name" }, this.strings.jobName, " ", index.h("span", { class: "required" }, this.strings.required)), index.h("input", { id: "job-name", type: "text", placeholder: this.strings.jobNamePlaceholder, value: this.jobName, onInput: this.handleJobNameChange, disabled: this.isLoading }), index.h("div", { class: "button-container" }, index.h("button", { class: "submit-button next-button", onClick: this.handleNextStep, disabled: !this.jobName.trim() || this.isLoading }, this.strings.nextStep)))), this.step === 'review' && (index.h("div", { class: "tag-selection" }, this.isLoading ? (this.renderLoadingState()) : (index.h("div", { class: "tag-selection-content" }, this.tagGroups.length > 0 && (index.h("div", { class: "ai-tags-section" }, index.h("div", { class: "section-title" }, this.strings.aiRecommendedTags), this.renderAITagGroups())), this.tagGroups.length > 0 && (index.h("div", { class: "basic-tags-section" }, this.renderTagGroup(this.strings.salaryRange, this.getSalaryRanges(), 'salary'), this.renderTagGroup(this.strings.benefits, this.getBenefits(), 'benefits'), this.renderTagGroup(this.strings.education, this.getEducationRequirements(), 'education'))), index.h("div", { class: "button-container" }, index.h("button", { class: "submit-button prev-button", onClick: this.handlePrevStep }, this.strings.prevStep), index.h("button", { class: "submit-button", onClick: this.handleSubmitStructured, disabled: this.isSubmitting }, this.isSubmitting ? this.strings.processing : this.strings.generateJD)))))))), this.inputMode === 'free' && (index.h("div", { class: "free-input" }, index.h("div", { class: "textarea-container" }, index.h("label", { htmlFor: "free-input-text" }, this.strings.jdInfo, " ", index.h("span", { class: "required" }, this.strings.required)), index.h("div", { class: "voice-textarea-wrapper" }, index.h("textarea", { id: "free-input-text", placeholder: this.strings.jdInfoPlaceholder, rows: 8, value: this.freeInputText, onInput: this.handleFreeInputChange, disabled: this.isVoiceInputActive }), index.h("div", { class: "voice-input-entry" }, index.h("components-voice-input-btn", { locale: this.locale === 'en' ? 'en' : 'zh', disabled: this.isSubmitting, onVoiceRecognized: this.handleVoiceRecognized, onVoiceStatusChange: this.handleVoiceStatusChange, onSomeErrorEvent: this.handleVoiceInputError })))), index.h("div", { class: "input-guide" }, index.h("div", { class: "guide-title" }, this.strings.inputGuideTitle), index.h("div", { class: "guide-content" }, index.h("div", null, this.strings.inputGuide.jobTitle), index.h("div", null, this.strings.inputGuide.salary), index.h("div", null, this.strings.inputGuide.benefits), index.h("div", null, this.strings.inputGuide.responsibilities), index.h("div", null, this.strings.inputGuide.qualifications), index.h("div", null, this.strings.inputGuide.location))), index.h("div", { class: "button-container" }, index.h("button", { class: "submit-button", onClick: this.handleSubmitFree, disabled: !this.freeInputText.trim() || this.isSubmitting || this.isVoiceInputActive }, this.isSubmitting ? this.strings.processing : this.strings.generateJD)))), index.h("div", { class: "ai-disclaimer" }, index.h("p", null, this.strings.aiDisclaimer), index.h("p", { class: "beian-info" }, index.h("span", null, this.strings.beianLabel), "\uFF1A", index.h("a", { href: "https://www.pincaimao.com", target: "_blank", rel: "noopener noreferrer" }, this.strings.beianNumber))))), isLoading && (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", { class: "loading-text" }, this.strings.loadingConversation))), this.showChatModal && (index.h("div", null, index.h("pcm-app-chat-modal", { locale: this.locale, isOpen: true, modalTitle: this.modalTitle, icon: this.icon, isShowHeader: this.isShowHeader, isNeedClose: this.isNeedClose, fullscreen: this.fullscreen, showWorkspaceHistory: this.showWorkspaceHistory, botId: this.getBotId(), conversationId: this.conversationId, defaultQuery: this.defaultQuery, filePreviewMode: this.filePreviewMode, customInputs: {
|
|
511
804
|
...this.customInputs,
|
|
512
805
|
job_info: this.customInputs?.job_info || this.jobDescription
|
|
513
806
|
}, interviewMode: "text", showSaveJdButton: this.showSaveJdButton, saveJdButtonText: this.saveJdButtonText }))))));
|
|
@@ -517,9 +810,9 @@ const OemJdModal = class {
|
|
|
517
810
|
"isOpen": ["handleIsOpenChange"]
|
|
518
811
|
}; }
|
|
519
812
|
};
|
|
520
|
-
|
|
813
|
+
PcmJdModal.style = pcmJdModalCss + (globalCss + hostCss);
|
|
521
814
|
|
|
522
|
-
exports.
|
|
523
|
-
//# sourceMappingURL=
|
|
815
|
+
exports.pcm_jd_modal = PcmJdModal;
|
|
816
|
+
//# sourceMappingURL=pcm-jd-modal.entry.cjs.js.map
|
|
524
817
|
|
|
525
|
-
//# sourceMappingURL=
|
|
818
|
+
//# sourceMappingURL=pcm-jd-modal.cjs.entry.js.map
|