{"id":93078,"date":"2025-04-08T16:23:50","date_gmt":"2025-04-08T07:23:50","guid":{"rendered":"https:\/\/khfair.com\/osco\/?page_id=93078"},"modified":"2026-02-13T13:55:44","modified_gmt":"2026-02-13T04:55:44","slug":"attendanceconfirmation","status":"publish","type":"page","link":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/","title":{"rendered":"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1456px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style>\n  [v-cloak] {\n    display: none;\n  }\n\n  .attendance-confirmation-send-code {\n    padding: 6px !important;\n    background-color: var(--messe-cert-btn-bg-color) !important;\n    border-color: var(--messe-cert-btn-bg-color) !important;\n    color: var(--messe-cert-btn-font-color) !important;\n    font-size: var(--messe-cert-btn-font-size) !important;\n    font-weight: var(--messe-cert-btn-font-weight) !important;\n    border-radius: var(--messe-btn-border-radius) !important;\n  }\n\n  .round-btn {\n    border-radius: 50px !important;\n  }\n\n<\/style>\n<div id=\"vueAttendanceConfirmation\" v-cloak>\n  <form id=\"frmAttendanceConfirmation\" ref=\"refAttendanceConfirmation\" data-toggle=\"validator\">\n    <div class=\"title_m\">2026 \ucda9\uccad\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucd98\uacc4) \ubb38\uc11c \ubc1c\uae09 \uc2e0\uccad<\/div>\n    <ul class=\"my-3\" style=\"list-style: none; padding-left: 0;\">\n      <li class=\"mb-4 mb-lg-2\" v-for=\"guide in vueData.setting.guide['5']\" v-html=\"guide\">\n      <\/li>\n      <template v-if=\"vueData.setting.guide['5'] == undefined\">\n        <li class=\"mb-4 mb-lg-2\">\n          \u203b \ucc38\uad00 \ud655\uc778\uc99d \ubc1c\uae09 \uc2e0\uccad \ud398\uc774\uc9c0\uc785\ub2c8\ub2e4.\n        <\/li>\n        <li class=\"mb-4 mb-lg-2\">\n          \u203b \ubb38\uc11c\ubc1c\uae09\uc740 \uc804\uc2dc \ud3d0\ub9c9 \ud6c4 \uc57d 2~3\uc77c \uc18c\uc694\ub429\ub2c8\ub2e4.\n        <\/li>\n      <\/template>\n    <\/ul>\n    <div class=\"form-horizontal\">\n      <div class=\"form-group d-sm-flex row align-items-start\">\n        <label for=\"mem_name\" class=\"col-md-2 control-label\">\uc131\uba85<span style=\"color:red\">*<\/span><\/label>\n        <div class=\"col-md-10\">\n          <input type=\"text\" name=\"dd\" class=\"form-control\" placeholder=\"\uc131\uba85*\" data-minlength=\"2\"\n            data-required-error=\"\uc131\uba85\uc744 \uc785\ub825\ud574\uc8fc\uc138\uc694.\" required\n            v-model=\"vueData.iParam.NAME\" \/>\n          <div class=\"help-block with-errors\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\">\n        <label for=\"inputPhone\" class=\"col-md-2 control-label\">\uc774\uba54\uc77c <span style=\"color:red\">*<\/span><\/label>\n        <div class=\"col-md-10\">\n          <input type=\"email\"\n            class=\"form-control\"\n            placeholder=\"\uc774\uba54\uc77c*\"\n            data-minlength=\"2\"\n            pattern=\"^[a-zA-Z0-9._+\\-]+@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]{2,}$\"\n            data-required-error=\"\uc774\uba54\uc77c\uc744 \uc785\ub825\ud574\uc8fc\uc138\uc694.\"\n            required\n            v-model=\"vueData.iParam.EMAIL\" \/>\n          <div class=\"help-block with-errors\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\">\n        <label for=\"inputPhone\" class=\"col-md-2 control-label\">\ud734\ub300\ud3f0\ubc88\ud638 <span style=\"color:red\">*<\/span><\/label>\n        <div class=\"col-md-10\">\n          <input type=\"text\"\n            class=\"form-control\"\n            placeholder=\"\ud734\ub300\ud3f0\ubc88\ud638* ('-' \uc5c6\uc774 \uc785\ub825\ud574\uc8fc\uc138\uc694.)\"\n            data-minlength=\"10\"\n            pattern=\"(0(?:2|[0-9]{2}))([0-9]{3,4})([0-9]{4}$)\"\n            data-required-error=\"\ud734\ub300\ud3f0\ubc88\ud638\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694.\"\n            data-pattern-error=\"'-'\uc5c6\uc774 \uc22b\uc790\ub85c\ub9cc \uc774\ub8e8\uc5b4\uc9c4 \ud734\ub300\ud3f0\ubc88\ud638\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694.\"\n            maxlength=\"11\"\n            required\n            autocomplete=\"off\"\n            ref=\"txtMobile\"\n            :value=\"vueAuth.data.mobile\"\n            :disabled=\"vueAuth.data.verifiedState\"\n            @input=\"vueAuth.handlers.updateMobile\"\n            @keydown.enter=\"vueAuth.handlers.requestAuthCode\" \/>\n          <div class=\"help-block with-errors\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\" v-if=\"!vueAuth.data.verifiedState\">\n        <div class=\"col-md-offset-2 col-md-10\">\n          <div class=\"row\">\n            <div class=\"col-xs-12\">\n              <button\n                type=\"button\"\n                class=\"btn btn-success btn-block attendance-confirmation-send-code\"\n                :label=\"vueAuth.data.authButtonText\"\n                :disabled=\"vueAuth.data.isAuthRequestButtonDisabled\"\n                @click=\"vueAuth.handlers.requestAuthCode\">\uc778\uc99d\ubc88\ud638 \uc804\uc1a1<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\" v-if=\"vueAuth.data.showAuthCodeContainer\">\n        <label for=\"inputCheck\" class=\"col-md-2 control-label\">\uc778\uc99d\ubc88\ud638 \ud655\uc778 <span style=\"color:red\">*<\/span><\/label>\n        <div class=\"col-md-10\">\n          <input type=\"text\"\n            pattern=\"^\\d{6}$\"\n            class=\"form-control\"\n            autocomplete=\"off\"\n            data-minlength=\"6\"\n            maxlength=\"6\"\n            data-required-error=\"\uc778\uc99d\ubc88\ud638 6\uc790\ub9ac\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694.\"\n            data-pattern-error=\"\uc778\uc99d\ubc88\ud638 6\uc790\ub9ac\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694.\"\n            required\n            placeholder=\"\uc778\uc99d\ubc88\ud638 \uc785\ub825 *\"\n            ref=\"txtAuthCode\"\n            :value=\"vueAuth.data.authCode\"\n            @input=\"vueAuth.handlers.updateAuth\"\n            @keydown.enter=\"vueAuth.handlers.verifyCode\">\n          <div class=\"help-block with-errors\"><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\" v-if=\"vueAuth.data.showAuthCodeContainer\">\n        <div class=\"col-md-offset-2 col-md-10\">\n          <button type=\"button\"\n            class=\"btn btn-warning w-100 attendance-confirmation-send-code\"\n            :disabled=\"vueAuth.data.isAuthCheckButtonDisabled\"\n            @click=\"vueAuth.handlers.verifyCode\">\n            \uc778\uc99d\ubc88\ud638 \ud655\uc778\n          <\/button>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\" v-if=\"vueAuth.data.showAuthCodeContainer\">\n        <div class=\"col-md-offset-2 col-md-10\">\n          <div class='display-none padl15'\n            v-if=\"vueAuth.data.time > 0\">\n            <p>\ubb38\uc790\ub85c \uc778\uc99d\ubc88\ud638\ub97c \ubc1c\uc1a1\ud588\uc2b5\ub2c8\ub2e4. <span style=\"color:red;\">{{ vueAuth.data.time }}<\/span>\ucd08 \uc548\uc5d0 \uc218\uc2e0\ud55c \uc778\uc99d\ubc88\ud638\ub97c \uc785\ub825\ud574\n              \uc8fc\uc138\uc694.(\ubb38\uc790\ub85c \ubc1c\uc1a1\ub429\ub2c8\ub2e4.)\n              <br>\n              * \uc778\uc99d \ubc88\ud638\uac00 \uc624\uc9c0 \uc54a\uc73c\uba74 \ud578\ub4dc\ud3f0\ubc88\ud638\uac00 \uc815\ud655\ud55c\uc9c0 \ub610\ub294 \uc2a4\ud338\ubb38\uc790\ud568\uc744 \ud655\uc778\ud574\uc8fc\uc138\uc694\n            <\/p>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"form-group d-sm-flex row align-items-start\">\n        <label for=\"inputCheck\" class=\"col-md-2 control-label\">\ubc1c\uae09\uc11c\ub958<span style=\"color:red\">*<\/span><\/label>\n        <div class=\"col-md-10\">\n          <select class=\"form-control\"\n            data-error=\"\uc6d0\ud558\uc2dc\ub294 \ubc1c\uae09\uc11c\ub958\ub97c \uc120\ud0dd\ud574\uc8fc\uc138\uc694.\"\n            required=\"\"\n            v-model=\"vueData.selectedDocumentValue\">\n            <option value=\"\">\uc120\ud0dd<\/option>\n            <option :key=\"doc.value\" :value=\"doc.value\" v-for=\"doc in vueData.setting.documentTypes\">{{doc.text}}<\/option>\n          <\/select>\n          <div class=\"help-block with-errors\"><\/div>\n        <\/div>\n      <\/div>\n      <div v-if=\"selectedDoc\">\n        <div class=\"form-group d-sm-flex row align-items-start\" v-for=\"option in selectedDoc.options\" :key=\"option.value\">\n          <label :for=\"option.value\" class=\"col-md-2 control-label\">\n            {{ option.text }}<span style=\"color:red\">*<\/span>\n          <\/label>\n          <div class=\"col-md-10\">\n            <input\n              type=\"text\"\n              class=\"form-control\"\n              :id=\"option.value\"\n              :data-required-error=\"`${option.text}\uc744(\ub97c) \uc785\ub825\ud574\uc8fc\uc138\uc694.`\"\n              :placeholder=\"option.placeholder ? option.placeholder : option.text + '*'\"\n              :pattern=\"option.pattern ? option.pattern : null\"\n              :data-pattern-error=\"option['data-pattern-error'] ? option['data-pattern-error'] : null\"\n              :value=\"vueData.documentData[option.value]\"\n              @input=\"handleInput(option, $event)\"\n              required \/>\n            <div class=\"help-block with-errors\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"text-center pt-5 mb-5\">\n        <button class=\"btn btn-primary btn-block btn-lg fw-bold w-100\"\n          :class=\"vueData.setting.submitClass[vueData.fairMasterId] ? vueData.setting.submitClass[vueData.fairMasterId] : ''\"\n          @click=\"submit\">\n          \uc2e0\uccad\ud558\uae30\n        <\/button>\n      <\/div>\n    <\/div>\n  <\/form>\n<\/div>\n\n<script type=\"importmap\">\n  {\n    \"imports\": {\n      \"vue\": \"https:\/\/cdn.messeesang.com\/npm\/vue.esm-browser\/3.5.13\/vue.esm-browser.js\",\n      \"axios\": \"https:\/\/cdn.jsdelivr.net\/npm\/axios@1.6.8\/+esm\"\n    }\n  }\n<\/script>\n\n<script type=\"module\">\n  import {\n    createApp,\n    ref,\n    reactive,\n    watch,\n    computed,\n    onMounted,\n    onUpdated,\n    nextTick,\n  } from 'vue'\n  import axios from 'axios'\n\n  const App = {\n    setup() {\n      onMounted(async () => {\n        init.initView();\n        init.loadData();\n        vueAuth.init();\n      })\n\n      const refAttendanceConfirmation = ref(null);\n      const vueData = reactive({\n        fair: {\"FAIR_ID\":977,\"FAIR_MASTER_ID\":5,\"FAIR_PLACE\":\"20\",\"FAIR_PLACE_DESC\":\"\\uccad\\uc8fc\\uc624\\uc2a4\\ucf54\",\"FAIR_PLACE_ETC_DESC\":\"Hall 1, 2, 3\",\"FAIR_DESC\":\"2026 \\ucda9\\uccad\\uacbd\\ud5a5\\ud558\\uc6b0\\uc9d5\\ud398\\uc5b4(\\ucd98\\uacc4)\",\"FAIR_DESC_ENG\":\"CHUNGCHEONG KYUNGHYANG HOUSING FAIR 2026\",\"FAIR_MASTER_CD\":\"KHFAR\",\"CONTACT_VISITOR\":\"1577-6695\",\"CONTACT_EMAIL\":\"koreabuild@esgroup.net\",\"TICKET_PRICE\":10000,\"CONVERSION_URL\":\"https:\\\/\\\/khfair.com\\\/osco\\\/pre-registration-end\\\/\",\"FAIR_LOGO_FILE2\":\"2026 \\ucda9\\uccad.jpg\",\"FAIR_STR_DATE\":\"2026-06-11 10:00:00.000\",\"FAIR_END_DATE\":\"2026-06-14 18:00:00.000\",\"REQ_STR_DATE\":\"2025-12-17 00:00:00.000\",\"REQ_END_DATE\":\"2026-06-19 00:00:00.000\",\"PRE_STR_DATE\":\"2025-12-17 00:00:00.000\",\"PRE_END_DATE\":\"2026-06-11 00:00:00.000\",\"USE_PAYMENT_FLAG\":\"N\",\"FAIR_YEAR\":\"2026\",\"FAIR_SEQ\":1,\"DEPOSIT_ACCOUNT\":\"2\",\"BANK_ACCOUNT_NO\":\"541-033065-04-032\",\"BANK_NAME\":\"\\uae30\\uc5c5\",\"BANK_ACCOUNT_HOLDER\":\"\\uba54\\uc384\\uc774\\uc0c1\",\"CONTACT_COMPANY\":\"02-6121-6400\",\"CONTACT_HOMEPAGE\":\"http:\\\/\\\/khfair.com\\\/osco\\\/\",\"TEAM\":17,\"FAIR_NAME\":\"2026 \\uacbd\\ud5a5\\ud558\\uc6b0\\uc9d5\\ud398\\uc5b4 \\uccad\\uc8fc\\uc624\\uc2a4\\ucf54 1\",\"SMS_INVITE_STR_DATE\":\"2025-12-17 00:00:00.000\",\"SMS_INVITE_END_DATE\":\"2026-06-15 00:00:00.000\",\"URL_MASTER_CD\":\"KHFAR\",\"SEMINAR_DEPOSIT_ACCOUNT\":\"2\",\"SEMIAR_ACCOUNT\":\"541-033065-04-032\",\"SMN_STR_DATE\":\"2025-12-17 00:00:00.000\",\"SMN_END_DATE\":\"2026-06-11 00:00:00.000\",\"FAIR_LOGO_FILE\":\"\\uc790\\uc0b0 28.png\",\"FAIR_INTRODUCTION\":\"Since 1986, \\ub300\\ud55c\\ubbfc\\uad6d \\ub300\\ud45c \\uac74\\uc124 \\\/ \\uac74\\ucd95 \\\/ \\uc778\\ud14c\\ub9ac\\uc5b4 \\uc804\\uc2dc\\ud68c \\uacbd\\ud5a5\\ud558\\uc6b0\\uc9d5\\ud398\\uc5b4 \\n\\uc6b0\\uc218\\ud55c \\uc2e0\\uae30\\uc220\\uacfc \\uc2e0\\uc81c\\ud488\\uc744 \\uc2dc\\uc7a5\\uc5d0 \\uc120\\ubcf4\\uc774\\uace0 \\uc0c8\\ub85c\\uc6b4 \\ube44\\uc988\\ub2c8\\uc2a4\\ub97c \\ucc3d\\ucd9c\\ud558\\uba70 39\\ub144\\uac04 \\ud55c\\uad6d \\uac74\\uc124\\\/\\uac74\\ucd95\\\/\\uc778\\ud14c\\ub9ac\\uc5b4 \\uc0b0\\uc5c5\\uc758 \\ubc1c\\uc804\\uc744 \\uc774\\ub04c\\uc5b4\\uc628 \\uad6d\\ub0b4 \\ucd5c\\uace0 \\uc804\\uc2dc\\ud68c!\\n\\uc624\\uc2a4\\ucf54 \\uc804\\uc2dc\\uc7a5 \\uac1c\\uad00\\uacfc \\ud568\\uaed8 \\ub300\\ud55c\\ubbfc\\uad6d \\uc911\\uc2ec \\ucda9\\uccad\\ub3c4\\uc5d0\\uc11c \\ucd5c\\ucd08 \\uac1c\\ucd5c!!\",\"ENABLE_DEFFERED_PAYMENT\":\"N\",\"FAIR_SQUARE_MEASURE\":10031,\"PRE_REG_ALIMTALK_NOTICE\":\"\\n\\u203b\\ub9c8\\uc9c0\\ub9c9 \\ub0a0\\uc740 17:00 \\ub9c8\\uac10\\n\\n\\u25bc \\ud568\\uaed8 \\uac08 \\uce5c\\uad6c\\uc5d0\\uac8c \\ubb34\\ub8cc\\ucd08\\uccad\\uc7a5 \\ubcf4\\ub0b4\\uae30\\nhttps:\\\/\\\/bit.ly\\\/4rw8Upj\",\"ENTER_END_TIME\":\"(\\uc785\\uc7a5\\ub9c8\\uac10 17:30)\",\"FAIR_PLACE_RENTAL\":1,\"BEFORE_FAIR_ID\":835,\"SMS_SEND_DNC_NUMBER\":\"0808800066\",\"CERTNO_TEMPLATE_CODE\":\"UBR.0PebS8klp6-6KXV7044S5LnEk5ywE28f6fPZ\",\"SIMPLE_COMPANY_NAME\":\"\\uba54\\uc384\\uc774\\uc0c1\",\"FAIR_MASTER_NAME\":\"\\uacbd\\ud5a5\\ud558\\uc6b0\\uc9d5\\ud398\\uc5b4\",\"FAIR_STR_DATE_YEAR\":2026,\"FAIR_STR_DATE_MONTH\":6,\"FAIR_STR_DATE_DAY\":11,\"FAIR_STR_DATE_YOIL\":\"\\ubaa9\",\"FAIR_END_DATE_YEAR\":2026,\"FAIR_END_DATE_MONTH\":6,\"FAIR_END_DATE_DAY\":14,\"FAIR_END_DATE_YOIL\":\"\\uc77c\",\"FAIR_STR_TIME\":\"10:00\",\"FAIR_END_TIME\":\"18:00\",\"FAIR_STATUS_DESC\":\"\\uc9c4\\ud589\\uc911\",\"COMPANY_NAME\":\"(\\uc8fc)\\uba54\\uc384\\uc774\\uc0c1\",\"ALIMTALK_SENDER_KEY\":\"75858b16ee8aea3754fb06ce3edd452d9ff05a98\",\"PRE_DATE_OPEN_FLAG\":\"Y\",\"DATE_OPEN_FLAG\":\"N\",\"OPEN_FLAG\":\"Y\",\"FAIR_PLACE_OVERSEA\":\"N\"},\n        fairId: '977',\n        fairMasterId: '5',\n        isMobile: window.innerWidth < 768,\n        selectedDocumentValue: '',\n        documentData: {},\n        iParam: {\n          NAME: '',\n          EMAIL: '',\n          FAIR_ID: '',\n          CERTIFICATE_TYPE: '',\n          CERTIFICATE_ADDITIONAL_INFO: '',\n        },\n        useDocumentTypes: [1,2,3],\n        verifiedData: {},\n        setting: {\n          submitClass: {\n            '23': 'round-btn',\n            '5': 'round-btn'\n          },\n          guide: {\n            '23': [\n              `\ucf54\ub9ac\uc544\ube4c\ub4dc '\uacf5\ubb34\uc6d0\uc6a9 \uc0ac\uc804\uacf5\ubb38, \uac74\ucd95\uc0ac \ucc38\uad00\ud655\uc778\uc99d, \ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d' \ubc1c\uae09 \uc2e0\uccad \ud398\uc774\uc9c0\uc785\ub2c8\ub2e4.`,\n              `\u00b7 \uacf5\ubb34\uc6d0\uc6a9 \uc0ac\uc804 \uacf5\ubb38 - <b>\uc804\uc2dc \uac1c\ub9c9 3\uc77c\uc804 \uae4c\uc9c0 \ubc1c\uae09 \uac00\ub2a5<\/b>`,\n              `\u00b7 \uac74\ucd95\uc0ac \ucc38\uad00\ud655\uc778\uc99d, \ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d -  <b>\uc804\uc2dc \ud3d0\ub9c9 \ud6c4 \ubc1c\uae09 \uac00\ub2a5<\/b>`,\n              ` `,\n              `<b>\u203b \ubb38\uc11c\ubc1c\uae09\uc740 \uc57d 2~3\uc77c \uc18c\uc694\ub429\ub2c8\ub2e4.<\/b>`\n            ],\n            '5': [\n              `2026 \ucda9\uccad\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucd98\uacc4) '\uac74\ucd95\uc0ac \ucc38\uad00\ud655\uc778\uc99d, \ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d' \ubc1c\uae09 \uc2e0\uccad \ud398\uc774\uc9c0\uc785\ub2c8\ub2e4.`,\n              `\u00b7 \uacf5\ubb34\uc6d0\uc6a9 \uc0ac\uc804 \uacf5\ubb38 - <b>\uc804\uc2dc \uac1c\ub9c9 3\uc77c\uc804 \uae4c\uc9c0 \ubc1c\uae09 \uac00\ub2a5<\/b>`,\n              `\u00b7 \uac74\ucd95\uc0ac \ucc38\uad00\ud655\uc778\uc99d, \ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d -  <b>\uc804\uc2dc \ud3d0\ub9c9 \ud6c4 \ubc1c\uae09 \uac00\ub2a5<\/b>`,\n              ` `,\n              `<b>\u203b \ubb38\uc11c\ubc1c\uae09\uc740 \uc57d 2~3\uc77c \uc18c\uc694\ub429\ub2c8\ub2e4.<\/b>`\n            ],\n            '72': [\n              `2026 \ucda9\uccad\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucd98\uacc4) '\uc77c\ubc18 \ucc38\uad00\ud655\uc778\uc99d' \ubc0f '\ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d' \ubc1c\uae09 \uc2e0\uccad \ud398\uc774\uc9c0\uc785\ub2c8\ub2e4.`,\n              `\u00b7 \ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d\uc740 \uc804\uc2dc \ud3d0\ub9c9 \ud6c4 \ubc1c\uae09 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/b>`,\n              ` `,\n              `<b>\u203b \ubb38\uc11c\ubc1c\uae09\uc740 \uc57d 2~3\uc77c \uc18c\uc694\ub429\ub2c8\ub2e4.<\/b>`\n            ],\n          },\n          documentTypeTextOverridesByFairMasterId: {\n            '54': {\n              '3': 'N-Tech Summit \ucc38\uc11d \ud655\uc778\uc99d',\n              '4': '\uc804\uc2dc\ud68c \ucc38\uad00\ud655\uc778\uc99d'\n            }\n          },\n          documentTypes: [{\n              \"value\": \"1\",\n              \"text\": \"\uacf5\ubb34\uc6d0\uc6a9 \uc0ac\uc804 \uacf5\ubb38\",\n              \"options\": [{\n                  \"value\": \"AFFILIATION\",\n                  \"text\": \"\uc18c\uc18d\"\n                },\n                {\n                  \"value\": \"POSITION\",\n                  \"text\": \"\uc9c1\ud568\"\n                },\n                {\n                  \"value\": \"RECIPIENT\",\n                  \"text\": \"\uc218\uc2e0\"\n                },\n                {\n                  \"value\": \"REFERENCE\",\n                  \"text\": \"\ucc38\uc870\"\n                }\n              ],\n              \"limitDate\": {\n                \"baseDate\": \"2026-06-11 10:00:00.000\",\n                \"offset\": -2\n              }\n            },\n            {\n              \"value\": \"2\",\n              \"text\": \"\uac74\ucd95\uc0ac \ucc38\uad00\ud655\uc778\uc99d\",\n              \"options\": [{\n                  \"value\": \"AFFILIATION\",\n                  \"text\": \"\uc18c\uc18d\"\n                },\n                {\n                  \"value\": \"ARCHITECT_REGISTRATION_NUMBER\",\n                  \"text\": \"\uac74\ucd95\uc0ac\ub4f1\ub85d\ubc88\ud638\",\n                  \"placeholder\": \"\uac74\ucd95\uc0ac\ub4f1\ub85d\ubc88\ud638(\uc22b\uc790 5\uc790\ub9ac \uc774\uc0c1)\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694*\",\n                  \"pattern\": \"^\\\\d{5,}$\",\n                  \"data-pattern-error\": \"\uac74\ucd95\uc0ac\ub4f1\ub85d\ubc88\ud638(\uc22b\uc790 5\uc790\ub9ac \uc774\uc0c1)\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694.\",\n                  \"numeric\": true\n                }\n              ]\n            },\n            {\n              \"value\": \"3\",\n              \"text\": \"\ucee8\ud37c\ub7f0\uc2a4 \ucc38\uc11d\ud655\uc778\uc99d\",\n              \"options\": [{\n                \"value\": \"AFFILIATION\",\n                \"text\": \"\uc18c\uc18d\"\n              }]\n            },\n            {\n              \"value\": \"4\",\n              \"text\": \"\uc77c\ubc18 \ucc38\uad00\ud655\uc778\uc99d\",\n              \"options\": [{\n                \"value\": \"AFFILIATION\",\n                \"text\": \"\uc18c\uc18d\"\n              }],\n              \"downloadable\": true,\n            }\n          ],\n        }\n      })\n\n      const init = {\n        initView: () => {\n          const documentTypeTextOverrides = vueData.setting.documentTypeTextOverridesByFairMasterId[vueData.fairMasterId] ?? {};\n\n          vueData.setting.documentTypes = vueData.setting.documentTypes.map(docType => ({\n            ...docType,\n            text: documentTypeTextOverrides[docType.value] ?? docType.text,\n          }));\n\n          if (Array.isArray(vueData.useDocumentTypes) && vueData.useDocumentTypes.length > 0) {\n            vueData.setting.documentTypes = vueData.setting.documentTypes.filter(docType => {\n              if (!vueData.useDocumentTypes.includes(parseInt(docType.value))) {\n                return false;\n              }\n\n              const today = new Date();\n              const fairStartDate = new Date(vueData.fair.FAIR_STR_DATE);\n\n              if (docType.limitDate) {\n                const endDate = new Date(docType.limitDate.baseDate);\n                endDate.setHours(0, 0, 0, 0);\n                endDate.setDate(endDate.getDate() + docType.limitDate.offset);\n\n                return today <= endDate;\n              }\n\n              return true;\n            });\n          }\n\n          window.addEventListener('resize', () => {\n            vueData.isMobile = window.innerWidth < 768;\n          });\n        },\n        loadData: async () => {},\n      }\n\n      const selectedDoc = computed(() =>\n        vueData.setting.documentTypes.find(doc => doc.value === vueData.selectedDocumentValue)\n      );\n\n      const resetDocumentData = () => {\n        if (!selectedDoc.value) {\n          vueData.documentData = {};\n          return;\n        }\n        const newDocumentData = {};\n        selectedDoc.value.options.forEach(opt => {\n          newDocumentData[opt.value] = \"\";\n        });\n        vueData.documentData = newDocumentData;\n\n        nextTick(() => {\n          jQuery(refAttendanceConfirmation.value).validator(\"update\");\n        });\n      };\n\n      watch(\n        () => vueData.selectedDocumentValue,\n        (nv, ov) => {\n          resetDocumentData()\n        }, {\n          deep: true\n        });\n\n      const handlers = {\n        handleInput: (option, event) => {\n          if (option.numeric) {\n            const numericValue = event.target.value.replace(\/\\D\/g, '');\n            vueData.documentData[option.value] = event.target.value = numericValue;\n          } else {\n            vueData.documentData[option.value] = event.target.value;\n          }\n        }\n      }\n\n      const validators = {\n        validateVisitorData: (visitor) => {},\n        validateSubmit: () => {\n          jQuery(refAttendanceConfirmation.value).validator(\"validate\");\n          if (jQuery(refAttendanceConfirmation.value).find(\".has-error\").length > 0) {\n            \/\/alert('\uc785\ub825\uac12\uc744 \ud655\uc778\ud574\uc8fc\uc138\uc694.');\n            return false;\n          }\n\n          if (vueData.verifiedData && vueData.verifiedData.RESULT != 'Y') {\n            alert('\ud734\ub300\ud3f0 \uc778\uc99d\uc744 \uc644\ub8cc\ud574\uc8fc\uc138\uc694.');\n            return false;\n          }\n\n          if ((vueData.selectedDocumentValue != 1) &&\n            (!vueData.verifiedData.ENTER || !vueData.verifiedData.ENTER.length > 0)) {\n            alert('\uc785\uc7a5\ub0b4\uc5ed\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uad00\ub9ac\uc790\uc5d0\uac8c \ubb38\uc758\ud574\uc8fc\uc138\uc694.');\n            vueData.selectedDocumentValue = '';\n            return false;\n          }\n\n          if ((vueData.selectedDocumentValue == 3) &&\n            (!vueData.verifiedData.SEMINAR || !vueData.verifiedData.SEMINAR.length > 0)) {\n            alert('\uc138\ubbf8\ub098 \uc2e0\uccad \ub0b4\uc5ed\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uad00\ub9ac\uc790\uc5d0\uac8c \ubb38\uc758\ud574\uc8fc\uc138\uc694.');\n            vueData.selectedDocumentValue = '';\n            return false;\n          }\n\n          return true;\n        },\n        authCheck: () => {\n          const accessToken = esmem.storage.cookie.getItem('accessToken');\n\n          if (accessToken == null) {\n            alert('\ub85c\uadf8\uc778 \uc138\uc158\uc774 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ub85c\uadf8\uc778\ud574\uc8fc\uc138\uc694.');\n            window.location.reload();\n            return false;\n          }\n\n          if (esmem.jwt.isTokenExpired(accessToken)) {\n            esmem.jwt.clear();\n            alert('\ub85c\uadf8\uc778 \uc138\uc158\uc774 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ub85c\uadf8\uc778\ud574\uc8fc\uc138\uc694.');\n            window.location.reload();\n            return false;\n          }\n\n          const info = esmem.jwt.decode(accessToken);\n\n          if (info) {\n            if (info.isExpired) {\n              alert('\ub85c\uadf8\uc778 \uc138\uc158\uc774 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ub85c\uadf8\uc778\ud574\uc8fc\uc138\uc694.');\n              window.location.reload();\n              return false;\n            }\n          }\n\n          return true;\n        }\n      }\n\n      const utils = {}\n\n      const submit = async (event) => {\n        event.preventDefault();\n        if (validators.validateSubmit()) {\n          vueData.iParam = Object.assign({}, vueData.iParam, {\n            FAIR_ID: vueData.fairId,\n            CERTIFICATE_TYPE: vueData.selectedDocumentValue,\n            CERTIFICATE_ADDITIONAL_INFO: JSON.stringify(vueData.documentData),\n          });\n\n          jQuery.blockUI({\n            message: '',\n            css: {\n              border: 'none',\n              padding: '15px',\n              backgroundColor: '#000',\n              color: '#fff',\n            },\n          });\n          const result = await api.VST_in_FairVisitorCertificate();\n          if (selectedDoc.value.downloadable) {\n            const sendResult = await api.sendAttendanceDocument(result.FAIR_VISITOR_CERTIFICATE_ID);\n            alert('\ubb38\uc11c \ubc1c\uae09\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud30c\uc77c\uc774 \ub2e4\uc6b4\ub85c\ub4dc\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 \uc0ac\ubb34\uad6d\uc73c\ub85c \ubb38\uc758\ubc14\ub78d\ub2c8\ub2e4.');\n          } else if (result.State == 'success') {\n            alert('\ubb38\uc11c \ubc1c\uae09 \uc2e0\uccad\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\\n\ubc1c\uc1a1\uc740 \uc601\uc5c5\uc77c \uae30\uc900 2~3\uc77c \uc18c\uc694\ub429\ub2c8\ub2e4.');\n          } else if (result.ErrorCode == 98) {\n            alert('\uc778\uc99d\uc774 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uace0\uce68 \ud6c4 \ub2e4\uc2dc \uc2dc\ub3c4\ud574\uc8fc\uc138\uc694.');\n          } else {\n            alert(result.Message);\n          }\n\n          jQuery.unblockUI();\n          vueData.selectedDocumentValue = '';\n          resetDocumentData();\n        }\n      }\n\n      const api = {\n        VST_in_FairVisitorCertificate: async () => {\n          return axios.post(\n              `https:\/\/fmsapi.messeesang.com\/visitor\/VST_in_FairVisitorCertificate`,\n              vueData.iParam, {\n                headers: {\n                  'Content-Type': 'application\/json',\n                  'Authorization': `Bearer ${vueAuth.data.token}`,\n                }\n              }\n            )\n            .then(response => response.data)\n            .catch(error => console.error(error));\n        },\n\n        sendAttendanceDocument: async (fairVisitorCertificateId) => {\n          const formData = new FormData();\n          formData.append(\"fairVisitorCertificateId\", fairVisitorCertificateId);\n\n          return axios.post(\n              `https:\/\/fmsapi.messeesang.com\/visitor\/sendAttendanceDocument`,\n              formData, {\n                headers: {\n                  'Authorization': `Bearer ${vueAuth.data.token}`,\n                },\n                responseType: 'blob' \/\/ blob \ud0c0\uc785\uc73c\ub85c \uc751\ub2f5 \ubc1b\uae30\n              }\n            )\n            .then(response => {\n              \/\/ Content-Disposition \ud5e4\ub354\uc5d0\uc11c \ud30c\uc77c\uba85 \ucd94\ucd9c\n              const contentDisposition = response.headers['content-disposition'];\n              let filename = 'attendance-certificate.pdf'; \/\/ \uae30\ubcf8 \ud30c\uc77c\uba85\n\n              if (contentDisposition) {\n                \/\/ filename*=UTF-8''... \ud615\uc2dd\uc5d0\uc11c \ud30c\uc77c\uba85 \ucd94\ucd9c\n                const filenameRegex = \/filename\\*=UTF-8''(.+?)(?:;|$)\/i;\n                const matches = filenameRegex.exec(contentDisposition);\n                if (matches && matches[1]) {\n                  filename = decodeURIComponent(matches[1]);\n                } else {\n                  \/\/ filename=\"...\" \ud615\uc2dd\uc5d0\uc11c \ud30c\uc77c\uba85 \ucd94\ucd9c\n                  const simpleRegex = \/filename=\"(.+?)\"\/i;\n                  const simpleMatches = simpleRegex.exec(contentDisposition);\n                  if (simpleMatches && simpleMatches[1]) {\n                    filename = simpleMatches[1];\n                  }\n                }\n              }\n\n              \/\/ Blob URL \uc0dd\uc131\n              const blob = new Blob([response.data], {\n                type: 'application\/pdf'\n              });\n              const url = window.URL.createObjectURL(blob);\n\n              \/\/ \uc784\uc2dc \ub9c1\ud06c \uc0dd\uc131 \ubc0f \ud074\ub9ad\ud558\uc5ec \ub2e4\uc6b4\ub85c\ub4dc\n              const link = document.createElement('a');\n              link.href = url;\n              link.download = filename;\n              document.body.appendChild(link);\n              link.click();\n\n              \/\/ \uc815\ub9ac\n              document.body.removeChild(link);\n              window.URL.revokeObjectURL(url);\n\n              return response.data;\n            })\n            .catch(error => {\n              console.error('\ud30c\uc77c \ub2e4\uc6b4\ub85c\ub4dc \uc624\ub958:', error);\n              throw error;\n            });\n        }\n      }\n\n      \/\/\ucee8\ud2b8\ub864 \uc811\uadfc \uc704\ud574\uc11c\ub294 ref\ub85c \ucd08\uae30\ud654 \ud574\uc57c\ud568\n      const txtMobile = ref(null);\n      const txtAuthCode = ref(null);\n      \/\/\ucee8\ud2b8\ub864 \uc811\uadfc \uc704\ud574\uc11c\ub294 ref\ub85c \ucd08\uae30\ud654 \ud574\uc57c\ud568\n\n\n      const vueAuth = {\n        data: reactive({\n          fairId: '977',\n          fairMasterId: '5',\n          txtMobile, \/\/ \uc8fc\uc758 : \ucee8\ud2b8\ub864 \uc811\uadfc \uc704\ud574\uc11c\ub294 ref\ub85c \ucd08\uae30\ud654 \ud574\uc57c\ud568\n          txtAuthCode, \/\/ \uc8fc\uc758 : \ucee8\ud2b8\ub864 \uc811\uadfc \uc704\ud574\uc11c\ub294 ref\ub85c \ucd08\uae30\ud654 \ud574\uc57c\ud568\n          authButtonText: '\uc778\uc99d\ubc88\ud638 \uc804\uc1a1',\n          showAuthCodeContainer: false,\n          mobile: '',\n          authCode: '',\n          time: 300,\n          disableTime: 3,\n          isAuthRequestButtonDisabled: false,\n          isAuthCheckButtonDisabled: true,\n          verifiedState: false,\n          token: '',\n        }),\n        init: () => {\n          watch(() => vueAuth.data.showAuthCodeContainer, (nv, ov) => {\n            nextTick(() => {\n              jQuery(refAttendanceConfirmation.value).validator(\"update\");\n            });\n          })\n        },\n        api: {\n          sendVerificationCode: async (type, mobile, fairId) => {\n            return fetch('https:\/\/fmsapi.messeesang.com' + '\/membership\/sendVerificationCode', {\n                method: 'POST',\n                headers: {\n                  'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                  \"check_type\": \"M\",\n                  \"check_target\": mobile,\n                  \"fair_id\": fairId,\n                }),\n              })\n              .then(res => res.json())\n              .catch(err => console.error(err));\n          },\n          verifyCodeAndExistFairVisitor: (type, mobile, authCode, fairId, fairMasterId) => {\n            return fetch('https:\/\/fmsapi.messeesang.com' + '\/visitor\/verifyCodeAndExistFairVisitor', {\n                method: 'POST',\n                headers: {\n                  'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                  \"check_type\": type,\n                  \"check_target\": mobile,\n                  \"check_code\": authCode,\n                  \"fair_id\": fairId,\n                  \"fair_master_id\": fairMasterId,\n                }),\n              })\n              .then(res => res.json())\n              .catch(err => console.error(err));\n          },\n        },\n        handlers: {\n          countdown: () => {\n            if (vueAuth.data.time > 0) {\n              vueAuth.data.time--\n            } else {\n              clearInterval(vueAuth.data.timer)\n              vueAuth.data.isAuthRequestButtonDisabled = false\n            }\n          },\n          numericOnly: (event) => {\n            event.target.value = event.target.value.replace(\/\\D\/g, \"\")\n          },\n          disableCountDown: () => {\n            if (vueAuth.data.disableTime > 0) {\n              vueAuth.data.disableTime--\n            } else {\n              clearInterval(vueAuth.data.disableTimer)\n              vueAuth.data.isAuthRequestButtonDisabled = false\n              vueAuth.data.authButtonText = \"\uc778\uc99d\ubc88\ud638 \uc7ac\uc804\uc1a1\"\n            }\n          },\n          updateMobile: (event) => {\n            vueAuth.handlers.numericOnly(event)\n            vueAuth.data.mobile = event.target.value\n            \/\/ emit(\"update:mobile\", mobile.value) \/\/ \ubd80\ubaa8 \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uac8c \uc5c5\ub370\uc774\ud2b8\ub41c \ubaa8\ubc14\uc77c \ubc88\ud638 \uc804\ub2ec\n          },\n          updateAuth: (event) => {\n            vueAuth.handlers.numericOnly(event)\n            vueAuth.data.authCode = event.target.value\n          },\n          clearTimer: () => {\n            clearInterval(vueAuth.data.timer)\n            clearInterval(vueAuth.data.disableTimer)\n          },\n          requestAuthCode: async () => {\n            if (vueAuth.data.mobile.length < 10) {\n              alert(\"\ud734\ub300\ud3f0 \ubc88\ud638\ub97c \uc815\ud655\ud788 \uc785\ub825\ud574\uc8fc\uc138\uc694.\")\n              return\n            }\n\n            try {\n              \/\/ showLoader()\n              vueAuth.data.txtMobile?.blur()\n\n              clearInterval(vueAuth.data.timer)\n              clearInterval(vueAuth.data.disableTimer)\n\n              if (!vueAuth.data.isAuthRequestButtonDisabled) {\n                vueAuth.data.isAuthRequestButtonDisabled = true\n\n                const result = await vueAuth.api.sendVerificationCode(\"M\", vueAuth.data.mobile, vueData.fairId)\n\n                if (result.State === \"success\") {\n                  vueAuth.data.showAuthCodeContainer = true\n                  vueAuth.data.isAuthCheckButtonDisabled = false\n\n                  vueAuth.data.time = 300 \/\/ 5\ubd84 \uc778\uc99d\ubc88\ud638 \uc720\ud6a8 \uc2dc\uac04 \uce74\uc6b4\ud2b8\ub2e4\uc6b4 \uc2dc\uc791\n                  vueAuth.data.disableTime = 3 \/\/ 3\ucd08 \uc778\uc99d\ubc88\ud638 \uc804\uc1a1 \ub51c\ub808\uc774\n\n                  vueAuth.data.timer = setInterval(vueAuth.handlers.countdown, 1000)\n                  vueAuth.data.disableTimer = setInterval(vueAuth.handlers.disableCountDown, 1000)\n\n                  alert(\"\uc778\uc99d\ubc88\ud638\uac00 \ubc1c\uc1a1\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\");\n                  setTimeout(() => {\n                    vueAuth.data.txtAuthCode?.focus()\n                  }, 200)\n                } else {\n                  alert(\"\uc778\uc99d\ubc88\ud638 \uc804\uc1a1\uc5d0 \uc2e4\ud328 \ud558\uc600\uc2b5\ub2c8\ub2e4.\")\n                }\n              }\n            } catch (error) {\n              alert(error)\n            } finally {\n              \/\/ hideLoader()\n            }\n          },\n          verifyCode: async () => {\n            try {\n              if (vueAuth.data\n                .authCode.length < 6) {\n                alert(\"\uc778\uc99d\ubc88\ud638\ub97c \uc815\ud655\ud788 \uc785\ub825\ud574\uc8fc\uc138\uc694.\")\n                return\n              }\n\n              const ret = await vueAuth.api.verifyCodeAndExistFairVisitor(\"M\", vueAuth.data.mobile, vueAuth.data\n                .authCode, vueAuth.data.fairId, vueAuth.data.fairMasterId)\n\n              if (ret.State === \"success\") {\n                if (ret.Data && ret.Data.RESULT === \"Y\") {\n                  vueData.verifiedData = ret.Data;\n\n                  vueAuth.data.showAuthCodeContainer = false\n                  vueAuth.data.verifiedState = true\n                  vueAuth.data.token = ret.Token\n                  alert(\"\uc778\uc99d\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\");\n\n                } else {\n                  alert(\"\ubc29\ubb38\uc790 \uc815\ubcf4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ud655\uc778\ud574 \uc8fc\uc138\uc694.\");\n                }\n\n                vueAuth.handlers.clearTimer()\n              } else {\n                if (ret.Code == 'ENTER_ERROR') {\n                  alert(\"\uc778\uc99d\ubc88\ud638\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \ud655\uc778\ud574 \uc8fc\uc138\uc694.\")\n                } else {\n                  alert('\ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud574\uc8fc\uc138\uc694.');\n                }\n              }\n            } catch (error) {\n              alert(error)\n            } finally {\n              \/\/ hideLoader()\n            }\n          }\n        }\n      }\n\n\n      return {\n        vueData,\n        vueAuth,\n        txtMobile,\n        txtAuthCode,\n        refAttendanceConfirmation,\n        selectedDoc,\n        resetDocumentData,\n        ...handlers,\n        submit\n      };\n    }\n  };\n\n  createApp(App).mount('#vueAttendanceConfirmation');\n\n<\/script>\n<\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-93078","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/\" \/>\n<meta property=\"og:site_name\" content=\"\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T04:55:44+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/\",\"url\":\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/\",\"name\":\"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)\",\"isPartOf\":{\"@id\":\"https:\/\/khfair.com\/osco\/#website\"},\"datePublished\":\"2025-04-08T07:23:50+00:00\",\"dateModified\":\"2026-02-13T04:55:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/khfair.com\/osco\/attendanceconfirmation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/khfair.com\/osco\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/khfair.com\/osco\/#website\",\"url\":\"https:\/\/khfair.com\/osco\/\",\"name\":\"\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/khfair.com\/osco\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/","og_locale":"ko_KR","og_type":"article","og_title":"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)","og_url":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/","og_site_name":"\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)","article_modified_time":"2026-02-13T04:55:44+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/","url":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/","name":"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09 - \uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)","isPartOf":{"@id":"https:\/\/khfair.com\/osco\/#website"},"datePublished":"2025-04-08T07:23:50+00:00","dateModified":"2026-02-13T04:55:44+00:00","breadcrumb":{"@id":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/khfair.com\/osco\/attendanceconfirmation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/khfair.com\/osco\/attendanceconfirmation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/khfair.com\/osco\/"},{"@type":"ListItem","position":2,"name":"\ucc38\uc11d\ud655\uc778\uc99d\ubc1c\uae09"}]},{"@type":"WebSite","@id":"https:\/\/khfair.com\/osco\/#website","url":"https:\/\/khfair.com\/osco\/","name":"\uacbd\ud5a5\ud558\uc6b0\uc9d5\ud398\uc5b4(\ucda9\uccad)","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/khfair.com\/osco\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"}]}},"_links":{"self":[{"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/pages\/93078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/comments?post=93078"}],"version-history":[{"count":3,"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/pages\/93078\/revisions"}],"predecessor-version":[{"id":94367,"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/pages\/93078\/revisions\/94367"}],"wp:attachment":[{"href":"https:\/\/khfair.com\/osco\/wp-json\/wp\/v2\/media?parent=93078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}