1let larapopupTemplate = ` 2<div class="popup_lara right-bottom-dialog"> 3 <el-dialog :visible.sync="dialogVisible" :modal="mobileFlag" modal-append-to-body > 4 <div class="popup_lara_box"> 5 <div class="popup_lara_right"> 6 <div class="lara-header" :class="{ reverse: activeTab === 'help' }"> 7 <div class="header-bg"></div> 8 <!-- 缺å£å½¢ç¶åèªè®¾è®¡ç¨¿ç Union è·¯å¾ï¼Figma node 2270:19457ï¼ï¼ 9 åæ å·²åå» 0.5 çæè¾¹åç§»ï¼viewBox ä¸å¼¹çªå®å®½ 384 ä¸ä¸å¯¹åºã 10 忥æ¯ä¸æ¡æåè¿ä¼¼è·¯å¾è£ å¨ 800x120 ç viewBox éåéçæ¯æä¼¸ï¼ 11 æåè§åº¦ååè§é½å¯¹ä¸ä¸ã 12 13 å·¦ä¸è§æ æç»æç´è§ï¼è®¾è®¡ç¨¿éé£éæ¯ 32.5 çåè§ï¼ä½ viewBox 宽 14 åºå® 384ã容å¨å®½åº¦å´ä¸æ¯ï¼ç§»å¨ç«¯ 393ï¼ï¼éçæ¯æä¼¸ä¼æå®åæ 15 33+ çæ¤åè§ï¼æ¯å®¹å¨çè£å弧大ä¸åï¼ä¸¤æ¡å¼§ä¹é´å°±æ¼åºåºä¸ç 16 ç´«è²ââ表ç°ä¸ºåè§è¾¹ç¼ä¸æ¡é tab æ¢è¾¹çç»é¯é½¿ãæ¹æç´è§åç± 17 .el-dialog ç border-radius + overflow:hidden ç»ä¸è´è´£åè§ï¼ 18 ä»»ä½å®½åº¦ä¸é½ä¸ä¼éä½ã --> 19 <svg class="curve-panel" :class="{ reverse: activeTab === 'help' }" viewBox="0 0 384 52" preserveAspectRatio="none"> 20 <path 21 d=" 22 M142.51 0 23 C156.771 0 170.505 5.393 180.955 15.097 24 L204.726 37.17 25 C214.991 46.702 228.482 52 242.49 52 26 H384 27 V52 28 H0 29 V0 30 Z 31 "/> 32 </svg> 33 <div class="tab-item lara" :class="{ active: activeTab === 'lara' }" @click="changeTab('lara')">{{cn?'Lara AI':'Lara AI' }}</div> 34 <div class="tab-item contact_help" :class="{ active: activeTab === 'help' }" @click="changeTab('help')">{{cn?'èç³»æä»¬':'Get Help' }}</div> 35 </div> 36 <!-- å 容åºé¡¶é¨çå¹è§ï¼ç½è²ä¸»ä½çä¸è§æ¯ 24 åè§ï¼ç´«è²ä»ç¼ºå£å¯¹ä¾§æ¼åºæ¥ã 37 头é¨é« 52 ä¸ overflow:hiddenï¼ç´«è²ä¼¸ä¸å° 52 以ä¸ï¼æä»¥åç¬è¡¥è¿ä¸åã --> 38 <i class="header-corner" :class="{ left: activeTab === 'help' }"></i> 39 <div class="lara-body"> 40 <!-- lara --> 41 <div v-show="tab=='lara'" id="lara-tab"></div> 42 <!-- contact --> 43 <div class="contact-form" v-show="tab=='help'"> 44 <div class="container" v-show="isSend==false"> 45 <h6 class="contact-subtitle fadeIn animated">{{cn?'æ¬¢è¿æ¨éè¿å®¢æä¸å¿ä¸èèä¿é©åå¾èç³»ï¼æä»¬å°å¨ä¸ä¸ªå·¥ä½æ¥å å夿¨':'Leave us a message, our team usually responds within a few hours' }}</h6> 46 <div class="contact-formitem fadeIn animated"> 47 <el-form 48 :model="form" 49 :rules="FormRule" 50 ref="form"> 51 <dl class="form-dl"> 52 <el-form-item prop="email" key="email"> 53 <dd> 54 <label class="form-label" :class="emailLabel?'top':''">{{ cn?'èç³»é®ç®±':'Email Address' }}</label> 55 <el-input 56 v-model="form.email" 57 placeholder="" 58 @focus="emailLabel=true" 59 @blur="inputBlur('email')"></el-input> 60 </dd> 61 </el-form-item> 62 </dl> 63 <dl class="form-dl"> 64 <el-form-item prop="name" key="name"> 65 <dd> 66 <label class="form-label" :class="nameLabel?'top':''">{{ cn?'å§åï¼è±æï¼':'Full Name (English)' }}</label> 67 <el-input 68 v-model="form.name" 69 placeholder="" 70 @focus="nameLabel=true" 71 @blur="inputBlur('name')"></el-input> 72 </dd> 73 </el-form-item> 74 </dl> 75 <dl class="form-dl"> 76 <el-form-item prop="birth" key="birth"> 77 <dd> 78 <label class="form-label" :class="birthLabel?'top':''">{{ cn?'æ¨ççæ¥':'Date of Birth' }}</label> 79 <input 80 type="text" 81 name="Lbirthday" 82 autocomplete="off" 83 id="Lbirthday" 84 v-model="form.birth" 85 class="demo-input input laydate el-input__inner" 86 maxlength="10" 87 @focus="birthLabel=true" 88 @blur="inputBlur('birth')"> 89 <i class="date-calendar pc_elem" id="Ldate_open"></i> 90 <i class="date-calendar ipad_elem" id="Ldate_open"></i> 91 <div id="Ldate_open" style="position: absolute; width: 0.5rem; top:0%;height: .5rem; right: 0rem; z-index: 4; cursor: pointer;" class="mobile_elem"> 92 <i class="date-calendar" ></i> 93 </div> 94 </dd> 95 </el-form-item> 96 </dl> 97 <dl class="form-dl"> 98 <el-form-item prop="school" key="school"> 99 <dd> 100 <label class="form-label" :class="schoolLabel?'top':''">{{ cn?'妿 ¡ä¸è¯ä»¶ç§ç±»':'School & Visa Type' }}</label> 101 <el-input 102 v-model="form.school" 103 placeholder="" 104 @focus="schoolLabel=true" 105 @blur="inputBlur('school')"></el-input> 106 </dd> 107 </el-form-item> 108 </dl> 109 <dl class="form-dl"> 110 <el-form-item prop="wechat" key="wechat"> 111 <dd> 112 <label class="form-label" :class="wechatLabel?'top':''">{{ cn?'微信IDï¼éå¡«ï¼':'WeChat ID (Optional)' }}</label> 113 <el-input 114 v-model="form.wechat" 115 placeholder="" 116 @focus="wechatLabel=true" 117 @blur="inputBlur('wechat')"></el-input> 118 </dd> 119 </el-form-item> 120 </dl> 121 <dl class="form-dl"> 122 <el-form-item prop="subject" key="subject"> 123 <dd> 124 <label class="form-label" :class="subjectLabel?'top':''">{{ cn?'主é¢':'Subject' }}</label> 125 <el-input 126 v-model="form.subject" 127 placeholder="" 128 @focus="subjectLabel=true" 129 @blur="inputBlur('subject')"></el-input> 130 </dd> 131 </el-form-item> 132 </dl> 133 <dl class="form-dl margin0"> 134 <el-form-item prop="demo" key="demo"> 135 <dd> 136 <label class="form-label" :class="demoLabel?'top':''">{{ cn?'请详ç»éè¿°æ¨çé®é¢':'Please enter your message' }} </label> 137 <el-input 138 type="textarea" 139 :class="cn?'':'text_area-english'" 140 v-model="form.demo" 141 @focus="demoLabel=true" 142 @blur="inputBlur('demo')"></el-input> 143 </dd> 144 </el-form-item> 145 </dl> 146 <div class="annex"> 147 <div class="annex-list" v-if="form.fileList.length>0"> 148 <p class="annex-file" v-for="(item,index) in form.fileList"> 149 <a href="javascript:;">{{ item.fileName }}</a> 150 <i class="removeFile" @click="removeFile(index)"></i> 151 </p> 152 </div> 153 <div class="annex-upload"> 154 <el-upload 155 class="upload-elem" 156 action="/index/attachment/upload" 157 ref="upload" 158 :on-preview="handlePreview" 159 :on-remove="handleRemove" 160 :before-remove="beforeRemove" 161 :limit="10" 162 :on-exceed="handleExceed" 163 :on-change="fileChange" 164 :file-list="fileList" 165 :on-success="handleSuccess" 166 accept=".jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PDF,.doc,.docx"> 167 <el-button size="small" type="primary"><i></i>{{ cn?'æ·»å éä»¶':'Attachments' }}</el-button> 168 </el-upload> 169 </div> 170 </div> 171 </el-form> 172 </div> 173 </div> 174 <div class="container send-result" v-show="isSend"> 175 <div><img src="/public/v1/images/send_success.svg" alt=""></div> 176 <h6 class="send-title">{{cn?'ç³è¯·å·²æäº¤':'Message Sent!' }}</h6> 177 <h6 class="send-subtitle">{{cn?'ç³è¯·ç¡®è®¤é®ä»¶å·²åéè³ä¸é¢é®ç®±:':'A Confirmation email has been sent to the following email address:' }}</h6> 178 <h6 class="send-email" v-text="form.email"></h6> 179 </div> 180 <div class="bottom-btn"> 181 <div class="send" v-show="isSend==false"><a @click="submitForm" href="javascript:;" class="center-btn"><span>{{ cn?'æäº¤':'Send Message' }}</span></a></div> 182 <div class="send" v-show="isSend"><a @click="submitAnother" href="javascript:;" class="center-btn" style="background-color: #ffffff;color:#5A57FD"><span>{{ cn?'忬¡å¡«å':'Send Another Message' }}</span></a></div> 183 <div class="send bottom" v-show="isSend"><a @click="back" href="javascript:;" class="center-btn"><span>{{ cn?'è¿åé¦é¡µ':'Back to Home' }}</span></a></div> 184 </div> 185 </div> 186 </div>
187 </div> 188 </div> 189 </el-dialog> 190 <div id="LbirthdayDateTime" class="index-dateTime"></div> 191 <transition mode="in-out" name="fade" > 192 <loading-text v-if="loadingMaskSend" :result="result" :loading-text="cn?'æäº¤ä¸,请ç¨å':'Submitting, please wait'"></loading-text> 193 </transition> 194 <!-- ç§»å¨ç«¯å ³éæé®ï¼è®¾è®¡ç¨¿éå®å¨å¼¹çªä¹å¤ï¼x=361 y=62ï¼20x20ï¼ç½è²ï¼ï¼ 195 è½å¨åæç页é¢ä¸ãå¼¹çªèªèº« overflow:hiddenï¼è£ ä¸ä¸è¿ä¸ªä½ç½®ï¼ 196 æä»¥åç¬æ¾å¨ç»ä»¶æ ¹é¨ãfixed å®ä½ã徿 æ¯è®¾è®¡ç¨¿å¯¼åºçåå§ SVGã --> 197 <div class="lara_mobile_close" v-show="dialogVisible" @click="dialogVisible=false" 198 role="button" :aria-label="cn?'å ³é':'Close'"> 199 <svg viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M2.74408 2.74408C3.06951 2.41864 3.59715 2.41864 3.92259 2.74408L10 8.82149L16.0774 2.74408C16.4028 2.41864 16.9305 2.41864 17.2559 2.74408C17.5814 3.06951 17.5814 3.59715 17.2559 3.92259L11.1785 10L17.2558 16.0773C17.5813 16.4028 17.5813 16.9304 17.2558 17.2558C16.9304 17.5813 16.4028 17.5813 16.0773 17.2558L10 11.1785L3.92259 17.2559C3.59715 17.5814 3.06951 17.5814 2.74408 17.2559C2.41864 16.9305 2.41864 16.4028 2.74408 16.0774L8.82149 10L2.74408 3.92259C2.41864 3.59715 2.41864 3.06951 2.74408 2.74408Z" fill="white"/></svg> 200 </div> 201 <!-- ç§»å¨ç«¯å ¥å£ï¼PC çæ¬æµ®å¾æ å¨ç§»å¨ç«¯æ¹æåºé¨éæ æé®ï¼Figma node 2431-37152ï¼ã 202 徿 æ¯è®¾è®¡ç¨¿å¯¼åºçåå§ SVGï¼å¤æ¡ 28x28ãå é¨ 23.466x25.598 并带 203 æè½¬ 7.46 度 / æå -3.2 度ï¼ä¸è®¾è®¡ç¨¿ä¸è´ã --> 204 <div class="lara_mobile_btn" v-show="!dialogVisible && !hideMobileBtn" @click="showpoup"> 205 <span class="lara_mobile_btn_text">{{ cn ? 'é® Laraï¼å©æ¨æ å¿§ç»ä¿' : 'How Can Lara AI Help?' }}</span> 206 <span class="lara_mobile_btn_icon" aria-hidden="true"> 207 <svg viewBox="0 0 23.4661 25.5978" fill="none"><path id="Vector" d="M19.6143 20.8586C19.4303 21.2402 19.465 22.7325 19.6495 22.9433C19.9265 23.2477 20.4547 23.1813 20.5568 22.8364C20.8772 21.7777 20.0251 19.9883 19.6143 20.8586Z" fill="white"/> <path id="Vector_2" d="M4.11259 6.40834C4.02192 6.92939 4.03488 8.27644 4.04541 9.07991C4.05377 9.32797 4.26378 9.51447 4.53059 9.53482C5.30454 9.58439 5.49112 8.28215 5.03976 6.14875C4.9302 5.6183 4.23165 5.80418 4.11259 6.40834Z" fill="white"/> <path id="Vector_3" d="M7.34735 5.34776C8.56191 5.33252 9.24314 5.16199 9.24931 4.86281C9.25727 4.47636 8.24248 4.38937 6.71285 4.62044C5.06946 4.89032 5.49726 5.37098 7.34735 5.34776Z" fill="white"/> <path id="Vector_4" d="M4.09316 0.122195C3.76953 0.244434 3.78841 3.90869 4.10649 4.0584C4.9814 4.46125 5.37895 3.99531 5.29794 2.71965C5.09794 0.0624156 4.98303 -0.208049 4.09316 0.122195Z" fill="white"/> <path id="Vector_5" d="M1.20316 4.59067C0.254807 4.70228 0.0129221 4.79253 0.00754537 5.05442C-0.000903847 5.46595 2.82184 5.53036 3.4936 5.13546C4.29401 4.66415 3.07162 4.36781 1.20316 4.59067Z" fill="white"/> <path id="Vector_6" d="M19.6932 19.3559C19.9364 19.3291 20.1288 19.1608 20.1334 18.9476C20.2312 17.549 20.3051 16.6245 19.3132 16.9809C19.1229 17.0544 19.0634 17.9315 19.1918 18.8534C19.2746 19.3851 19.2878 19.3968 19.6932 19.3559Z" fill="white"/> <path id="Vector_7" d="M20.8656 19.8522C20.4246 20.0196 20.4607 20.3176 20.9389 20.3987C21.3606 20.4804 23.031 20.2478 23.3593 20.0694C23.9593 19.7258 21.7192 19.5303 20.8656 19.8522Z" fill="white"/> <path id="Vector_8" d="M18.8941 19.8121C18.4468 19.6703 18.3482 19.6717 17.6258 19.8663C16.5351 20.1644 16.9772 20.5403 18.2338 20.3754C19.1091 20.2649 19.425 19.9896 18.8941 19.8121Z" fill="white"/> <path id="Vector_9" d="M16.9464 14.2587C17.2963 13.756 17.202 13.129 16.7366 12.744C15.5797 11.7875 14.4789 10.1426 13.8535 8.43194C13.4957 7.47645 12.5795 3.63573 12.5904 3.14949C12.6042 2.53279 11.8389 2.23488 11.3416 2.66843C11.2311 2.76477 11.0863 3.18172 11.0364 3.59735C10.7322 5.68811 9.21715 10.4391 8.38593 11.8731C7.97735 12.5781 7.14932 13.2651 6.28835 13.6087C5.55038 13.9032 5.54932 13.9507 6.44162 14.6262C8.21269 15.9775 9.47955 18.6754 10.3192 22.9084C11.0739 26.704 12.5783 25.4506 12.433 24.6819C12.1278 23.1922 14.2317 18.1487 16.5828 14.7735L16.9464 14.2587ZM15.2232 13.796C13.8761 15.2843 12.402 17.6044 11.685 19.3806L11.3548 20.215L11.1959 19.4465C10.0802 14.2331 7.57967 14.0062 7.31375 13.7845C7.61792 13.5077 10.3472 11.9888 11.6702 8.55635C12.0726 7.51944
20712.0049 7.52035 12.3489 8.48788C12.9987 10.3167 13.9271 11.798 15.0157 12.7792L15.6397 13.3398L15.2232 13.796Z" fill="white"/></svg> 208 </span> 209 </div> 210 <div class="lara_float"> 211 <div class="help-bubble bottom-right-text"> 212 {{ cn ? '询é®Lara AIï¼' : 'Ask Lara AI!' }} 213 </div> 214 <div class="lara_icon_wrap"> 215 <div class="bottom-right-icon" @click="showpoup"> 216 <svg viewBox="31 31 37 30" aria-hidden="true"><path d="M36.9893 50.5215C36.9893 53.0012 38.9998 55.0117 41.4795 55.0117H45.7197V60H41.4795C36.2444 60 32.0001 55.7565 32 50.5215V32H36.9893V50.5215ZM56.4668 39.042C62.2529 39.042 66.9442 43.7325 66.9443 49.5186V59.9961H62.4541V58.1143C60.7568 59.2987 58.6935 59.9961 56.4668 59.9961C50.6808 59.9959 45.9902 55.3046 45.9902 49.5186C45.9904 43.7326 50.6809 39.0422 56.4668 39.042ZM56.4668 43.5322C53.1607 43.5324 50.4806 46.2124 50.4805 49.5186C50.4805 52.8248 53.1606 55.5057 56.4668 55.5059C59.7732 55.5059 62.4541 52.8249 62.4541 49.5186C62.4539 46.2123 59.7731 43.5322 56.4668 43.5322Z" fill="#fff"></path></svg> 217 </div> 218 <span class="lara_star lara_star_top_left" aria-hidden="true"> 219 <svg viewBox="0 0 36 36" fill="none"><path d="M16.1766 8.18255C16.463 7.42336 17.537 7.42336 17.8234 8.18255L19.9765 13.89C20.0625 14.1179 20.2391 14.3 20.4644 14.3929L26.0269 16.6864C26.753 16.9858 26.753 18.0142 26.0269 18.3136L20.4644 20.6071C20.2391 20.7 20.0625 20.8821 19.9765 21.11L17.8234 26.8175C17.537 27.5766 16.463 27.5766 16.1766 26.8174L14.0235 21.11C13.9375 20.8821 13.7609 20.7 13.5356 20.6071L7.97311 18.3136C7.24704 18.0142 7.24704 16.9858 7.97312 16.6864L13.5356 14.3929C13.7609 14.3 13.9375 14.1179 14.0235 13.89L16.1766 8.18255Z" fill="#B7BEFF"></path></svg> 220 </span> 221 <span class="lara_star lara_star_right" aria-hidden="true"> 222 <svg viewBox="0 0 36 36" fill="none"><path d="M17.3255 9.80512C17.5587 9.18112 18.4413 9.18112 18.6745 9.80512L20.4362 14.5204C20.506 14.707 20.65 14.8565 20.834 14.9331L25.4033 16.8353C25.9944 17.0814 25.9944 17.9186 25.4033 18.1647L20.834 20.0669C20.65 20.1435 20.506 20.293 20.4362 20.4796L18.6745 25.1949C18.4413 25.8189 17.5587 25.8189 17.3255 25.1949L15.5638 20.4796C15.494 20.293 15.35 20.1435 15.166 20.0669L10.5967 18.1647C10.0056 17.9186 10.0056 17.0814 10.5967 16.8353L15.166 14.9331C15.35 14.8565 15.494 14.707 15.5638 14.5204L17.3255 9.80512Z" fill="#B7BEFF"></path></svg> 223 </span> 224 <span class="lara_star lara_star_bottom_left" aria-hidden="true"> 225 <svg viewBox="0 0 36 36" fill="none"><path d="M17.4745 13.4277C17.6544 12.9389 18.3456 12.9389 18.5255 13.4277L19.896 17.1508C19.9495 17.2962 20.0609 17.4129 20.2036 17.4732L23.7793 18.9842C24.2353 19.1769 24.2353 19.8231 23.7793 20.0158L20.2036 21.5268C20.0609 21.5871 19.9495 21.7038 19.896 21.8492L18.5255 25.5723C18.3456 26.0611 17.6544 26.0611 17.4745 25.5723L16.104 21.8492C16.0505 21.7038 15.9391 21.5871 15.7964 21.5268L12.2207 20.0158C11.7647 19.8231 11.7647 19.1769 12.2207 18.9842L15.7964 17.4732C15.9391 17.4129 16.0505 17.2962 16.104 17.1508L17.4745 13.4277Z" fill="#B7BEFF"></path></svg> 226 </span> 227 <span class="lara_shot lara_shot_a" aria-hidden="true"> 228 <span class="lara_shot_spin"> 229 <svg viewBox="0 0 36 36" fill="none"><path d="M16.4603 10.6066C16.8856 9.74492 18.1144 9.74492 18.5397 10.6066L20.1692 13.9083C20.338 14.2505 20.6645 14.4877 21.0421 14.5426L24.6857 15.072C25.6367 15.2102 26.0164 16.3789 25.3283 17.0496L22.6918 19.6196C22.4185 19.886 22.2938 20.2697 22.3583 20.6459L22.9807 24.2747C23.1432 25.2219 22.149 25.9441 21.2985 25.497L18.0395 23.7836C17.7018 23.6061 17.2982 23.6061 16.9605 23.7836L13.7015 25.497C12.851 25.9441 11.8568 25.2219 12.0193 24.2747L12.6417 20.6459C12.7062 20.2697 12.5815 19.886 12.3082 19.6196L9.6717 17.0496C8.98356 16.3789 9.36328 15.2102 10.3143 15.072L13.9579 14.5426C14.3355 14.4877 14.662 14.2505 14.8308 13.9083L16.4603 10.6066Z" fill="#FFD2C4"></path></svg> 230 </span> 231 </span> 232 <span class="lara_shot lara_shot_b" aria-hidden="true"> 233 <span class="lara_shot_spin"> 234 <svg viewBox="0 0 36 36" fill="none"><path d="M17.0444 8.94931C17.6398 7.74288 19.3602 7.74288 19.9556 8.94931L21.796 12.6784C22.0324 13.1575 22.4895 13.4895 23.0181 13.5664L27.1334 14.1643C28.4648 14.3578 28.99
23464 15.9939 28.033 16.933L25.0552 19.8357C24.6726 20.2086 24.498 20.7459 24.5884 21.2724L25.2913 25.3711C25.5188 26.6971 24.127 27.7083 22.9362 27.0822L19.2553 25.1471C18.7825 24.8985 18.2175 24.8985 17.7447 25.1471L14.0638 27.0822C12.873 27.7083 11.4812 26.6971 11.7087 25.3711L12.4116 21.2724C12.502 20.7459 12.3274 20.2086 11.9448 19.8357L8.96696 16.933C8.00357 15.9939 8.53518 14.3578 9.86655 14.1643L13.9818 13.5664C14.5105 13.4895 14.9676 13.1575 15.204 12.6784L17.0444 8.94931Z" fill="#FFD2C4"></path></svg> 235 </span> 236 </span> 237 </div> 238 </div> 239</div> 240` 241Vue.component('lara', { 242 template: larapopupTemplate, 243 props: { 244 language: null, 245 // è´ä¹°æµç¨ï¼/sortã/Schoolã/Paymentãæ¯ä»æå页ï¼é䏿¾ç¤ºç§»å¨ç«¯åºé¨æé®ï¼ 246 // é£å 页åºé¨æèªå·±çãä¸ä¸æ¥ / è´ä¹°ãæä½ï¼éæ æé®ä¼åå¨ä¸é¢ã 247 // å¿ é¡»å£°ææ Booleanï¼æ°ç»åæ³ä¸ <lara hide-mobile-btn> æ¿å°çæ¯ç©ºä¸²ï¼å¤ä¸ºåã 248 hideMobileBtn: Boolean 249 }, 250 data: function () { 251 return { 252 cn: this.language, 253 dialogVisible:false, 254 tab: 'lara', 255 // ä¸ç«å å ¶å®ç»ä»¶åä¸å£å¾ï¼è§ index.php ç screenResizeï¼ï¼<=750 è§ä¸ºç§»å¨ç«¯ 256 mobileFlag: typeof window !== 'undefined' && window.innerWidth <= 750, 257 activeTab: "lara", 258 contactCode: false, 259 isSend: false, 260 form: { 261 email: '', 262 birth: '', 263 school: '', 264 name: '', 265 wechat: '', 266 subject: '', 267 demo: '', 268 fileList: [] 269 }, 270 emailLabel: '', 271 nameLabel: '', 272 birthLabel: '', 273 schoolLabel: '', 274 wechatLabel: '', 275 subjectLabel: '', 276 demoLabel: '', 277 fileList:[], 278 fileName: '', 279 FormRule: { 280 email: [ 281 { required: true, message: this.language==='cn' ? 'è¯·å¡«åæ¨çé®ç®±':"Please enter email address", trigger: 'blur' }, 282 { type: 'email', message: this.language==='cn' ? '请æç §æ£ç¡®çµåé®ç®±æ ¼å¼å¡«å':"Please enter a valid email address", trigger: ['blur', 'change'] } 283 ], 284 name: [ 285 { required: true, message: this.language==='cn' ? 'è¯·å¡«åæ¨çåç§°':"Please enter your name", trigger: 'blur' }, 286 { pattern: /^([a-zA-Z]+\s)*[a-zA-Z]+$/, message: this.language==='cn' ? '请ç¨è±æå¡«å':"Please enter English letters only", trigger: 'blur' } 287 ], 288 birth: [ 289 { required: true, message: this.language==='cn' ? 'è¯·éæ©åºçæ¥æ':'Please enter a date in the format MM/DD/YYYY', trigger: ['blur', 'change'] } 290 ], 291 school: [ 292 { required: true, message: this.language==='cn' ? '请填å妿 ¡':'Please enter your school', trigger: ['blur', 'change'] } 293 ], 294 subject: [ 295 { required: true, message: this.language==='cn' ? '请填å主é¢':'Please enter your subject', trigger: ['blur', 'change'] } 296 ], 297 demo: [ 298 { required: true, message: this.language==='cn' ? 'è¯·å¡«åæ¨çé®é¢ ':"Please enter your message", trigger: ['blur', 'change'] } 299 ] 300 }, 301 loadingMaskSend: false, 302 result: null, 303 defaultTextareaHeight: 200, // é»è®¤é«åº¦ 304 minTextareaHeight: 72, // æå°é«åº¦ 305 perFileHeight: 55, // æ¯ä¸ªæä»¶å½±åçé«åº¦ 306 } 307 }, 308 mounted(){ 309 // è§å£è·¨è¿ 750 æ¶è¦è·çåï¼ç§»å¨ç«¯æé®ç½©ãæç¬ç«çå ³éæé®ï¼PC 两è 齿²¡æ 310 this._laraResize = () => { this.mobileFlag = window.innerWidth <= 750; }; 311 window.addEventListener('resize', this._laraResize); 312 this._laraResize(); 313 }, 314 beforeDestroy(){ 315 if (this._laraResize) window.removeEventListener('resize', this._laraResize); 316 }, 317 methods: { 318 showpoup(){ 319 this.dialogVisible=true; 320 // æ£æ¥ #lara-tab æ¯å¦åå¨ 321 if (!document.querySelector('#lara-tab')) { 322 lara('mount', '#lara-tab'); 323 (function () { 324 console.log(1); 325 var ctx = { page_url: location.href }; 326 var b = sessionStorage.getItem('birthday'); 327 if (b) ctx.birth_date = b; 328 lara('context', ctx); 329 })(); 330 } 331 var Lmin_date="10/11/1958"; 332 var Lmax_date="10/11/2011"; 333 this.$nextTick(()=>{ 334 $(function(){ 335 setDatetimepicker( Lmin_date, Lmax_date, 'Lbirthday', 'Ldate_open', '#LbirthdayDateTime', this.language ) 336 }) 337 }) 338 }, 339 closepopup(){console.log(this.language) 340 this.dialogVisible=false 341 }, 342 changeTab(tab) { 343 this.activeTab = tab; 344 this.tab = tab; 345 this.$emit("change", tab); 346 },
347 submitForm(){ 348 let validateFlag = true; 349 let that = this; 350 this.$refs['form'].validate((valid) => { 351 if (valid) { 352 //ä¸ä¸æ¥ 353 let params = { 354 cn: that.cn, 355 email: that.form.email, //é®ç®± 356 name: that.form.name, 357 birth: that.form.birth, 358 school: that.form.school, 359 wechat: that.form.wechat, 360 subject: that.form.subject, 361 demo: that.form.demo, 362 } 363 if( that.form.fileList.length > 0 ){ 364 let pdf = []; 365 that.form.fileList.forEach(elem => { 366 pdf.push( elem.fileUrl ) 367 }); 368 params.pdf = pdf 369 } 370 that.loadingMaskSend = true 371 $.ajax({ 372 url: "/index/index/info_customer?cn="+that.cn, 373 type: 'post', 374 data: params, 375 dataType: 'json', 376 success:function(data) { 377 if (data.code === 1) { 378 that.result = '1' 379 setTimeout(function () { 380 that.loadingMaskSend = false 381 that.result = null 382 that.isSend = true; 383 },1000) 384 } else { 385 // æäº¤å¤±è´¥ 386 that.loadingMaskSend = false 387 that.$message.error( res.msg ); 388 } 389 }, 390 error:function(){ 391 // æäº¤å¤±è´¥ 392 that.result = '2' 393 setTimeout(function () { 394 that.loadingMaskSend = false 395 that.result = null 396 },1000) 397 } 398 }); 399 } else { 400 validateFlag = false 401 return false; 402 } 403 }); 404 }, 405 submitAnother(){ 406 let that = this; 407 that.form.email= ''; 408 that.form.birth= ''; 409 that.form.school= ''; 410 that.form.name= ''; 411 that.form.wechat= ''; 412 that.form.subject= ''; 413 that.form.demo= ''; 414 that.form.fileList= []; 415 that.isSend = false; 416 }, 417 back(){ 418 let that = this; 419 that.form.email= ''; 420 that.form.birth= ''; 421 that.form.school= ''; 422 that.form.name= ''; 423 that.form.wechat= ''; 424 that.form.subject= ''; 425 that.form.demo= ''; 426 that.form.fileList= []; 427 that.isSend = false; 428 }, 429 inputBlur( type ){ 430 let _label = type + 'Label'; 431 this[_label] = !!this.form[type] 432 }, 433 handleRemove(file, fileList) { 434 this.file = '' 435 console.log('remove',file, fileList); 436 }, 437 handlePreview(file) { 438 console.log(file); 439 }, 440 handleExceed(files, fileList) { 441 this.$message.warning(`The number of files exceeds the limit`); 442 }, 443 beforeRemove(file, fileList) { 444 return this.$confirm(`Confirm deleting ${ file.name }ï¼`); 445 }, 446 fileChange(file,fileList){ 447 }, 448 removeFile( index ){ 449 let that = this; 450 that.form.fileList.splice(index, 1) 451 that.$nextTick(() => { 452 that.updateTextareaHeight('remove'); 453 }); 454 }, 455 handleSuccess(response, file, fileList){ 456 if( response.status === 'success' ){ 457 let fileUrl = response.path; 458 let fileName = file.name; //å½åä¸ä¼ æä»¶åç§° 459 this.form.fileList.push({ 460 fileUrl: fileUrl, 461 fileName: fileName 462 }) 463 this.$message.success('Uploaded successfully'); 464 this.$nextTick(() => { 465 this.updateTextareaHeight('upload'); 466 }); 467 } else { 468 this.$message.error("Upload failed, please try again!"); 469 } 470 },
471 updateTextareaHeight(action) { 472 const textarea = document.querySelector('.popup_lara_box .contact-form .el-textarea__inner'); 473 if (!textarea) return; 474 475 // è·åå½åå®é é«åº¦ 476 let currentHeight = parseInt(textarea.style.height) || this.defaultTextareaHeight; 477 478 // æ ¹æ®æä½è®¡ç®æ°é«åº¦ 479 let newHeight; 480 if (action === 'remove') { 481 // å 餿件ï¼å¢å é«åº¦ 482 newHeight = currentHeight + this.perFileHeight; 483 } else if (action === 'upload') { 484 // ä¸ä¼ æä»¶ï¼åå°é«åº¦ 485 newHeight = currentHeight - this.perFileHeight; 486 } else { 487 // åå§åæéç½® 488 newHeight = this.defaultTextareaHeight - (this.form.fileList.length * this.perFileHeight); 489 } 490 491 // ç¡®ä¿ä¸ä½äºæå°é«åº¦ 492 newHeight = Math.max(newHeight, this.minTextareaHeight); 493 494 // ç¡®ä¿ä¸è¶ è¿æå¤§é«åº¦ï¼å¯éï¼ 495 const maxHeight = 200; 496 newHeight = Math.min(newHeight, maxHeight); 497 498 // åºç¨æ°é«åº¦ 499 textarea.style.height = newHeight + 'px'; 500 textarea.style.minHeight = newHeight + 'px'; 501 502 // 妿å å®¹è¶ åºï¼èªå¨è°æ´ 503 if (textarea.scrollHeight > newHeight) { 504 textarea.style.height = textarea.scrollHeight + 'px'; 505 } 506 }, 507 }, 508}); 509
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.