You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

732 lines
24 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <client-only>
  3. <div
  4. class="purchaser-info tw-p-5 tw-mb-[20px] tw-bg-white tw-rounded-xl"
  5. >
  6. <div class="tw-flex tw-flex-row tw-justify-between tw-items-center">
  7. <h3
  8. :class="[
  9. 'collapse',
  10. 't16',
  11. 'tw-relative',
  12. 'tw-cursor-pointer',
  13. 'xl:tw-text-[18px]',
  14. show ? 'show' : 'hide',
  15. disabled ? 'disabled' : '',
  16. disabled ? 'tw-text-neutrals-300' : 'tw-text-black',
  17. ]"
  18. @click="show = !show"
  19. >
  20. {{ $t("Purchaser Info") }}
  21. </h3>
  22. <div class="element content-status xl:tw-ml-[20px]">
  23. <span
  24. v-if="purchaserValidation == true"
  25. class="status-check-icon tw-inline-block tw-w-[30px] tw-h-[30px]"
  26. ></span>
  27. </div>
  28. </div>
  29. <Transition name="bounce">
  30. <div v-show="show">
  31. <div class="tw-mt-[32px] md:tw-ml-[60px]">
  32. <div class="element element-tabs tw-mb-[20px]">
  33. <button
  34. :class="[
  35. 'tw-transition',
  36. 'tw-btn-md',
  37. 'tw-border',
  38. 'tw-border-solid',
  39. 'tw-border-neutrals-300',
  40. 'tw-px-[30px]',
  41. ' tw-py-[9.5px]',
  42. ' tw-rounded-2xl',
  43. infoType == 'Company'
  44. ? 'tw-bg-neutrals-800 tw-text-neutrals-0'
  45. : 'tw-bg-neutrals-0 tw-text-neutrals-300',
  46. ]"
  47. @click="$emit('type', 'Company')"
  48. >
  49. {{ $t('Company')}}
  50. </button>
  51. <button
  52. :class="[
  53. 'tw-transition',
  54. 'tw-btn-md',
  55. 'tw-border',
  56. 'tw-border-solid',
  57. 'tw-border-neutrals-300',
  58. 'tw-px-[30px]',
  59. ' tw-py-[9.5px]',
  60. ' tw-rounded-2xl',
  61. infoType == 'Individual'
  62. ? 'tw-bg-neutrals-800 tw-text-neutrals-0'
  63. : 'tw-bg-neutrals-0 tw-text-neutrals-300',
  64. ]"
  65. @click="$emit('type', 'Individual')"
  66. >
  67. {{ $t('Individual')}}
  68. </button>
  69. </div>
  70. <div v-show="infoType == 'Individual'">
  71. <div
  72. class="element element-form tw-grid tw-grid-cols-1 tw-gap-[10px] md:tw-grid-cols-2 md:tw-gap-x-[60px] md:tw-gap-y-[20px] md:tw-max-w-[580px]"
  73. >
  74. <div class="element">
  75. <elementInput
  76. :input="{
  77. id: 'FirstName',
  78. label: 'First Name',
  79. required: true,
  80. type: 'text',
  81. }"
  82. :default="userData.first_name"
  83. :validation="validation.first_name"
  84. @change="userData.first_name = $event"
  85. ></elementInput>
  86. </div>
  87. <div class="element">
  88. <elementInput
  89. :input="{
  90. id: 'LastName',
  91. label: 'Last Name',
  92. required: true,
  93. type: 'text',
  94. }"
  95. :default="userData.last_name"
  96. :validation="validation.last_name"
  97. @change="userData.last_name = $event"
  98. ></elementInput>
  99. </div>
  100. <div class="element">
  101. <elementInput
  102. :input="{
  103. id: 'ContactEmail',
  104. label: 'Contact Email',
  105. required: true,
  106. type: 'email',
  107. }"
  108. :default="userData.email"
  109. :validation="validation.email"
  110. @change="userData.email = $event"
  111. >
  112. </elementInput>
  113. </div>
  114. <div class="element">
  115. <label class="tw-block tw-mb-[10px]"
  116. ><span
  117. >{{ $t("Phone") }}<span class="required">*</span></span
  118. ></label
  119. >
  120. <div class="tw-grid tw-grid-cols-[120px_auto] tw-gap-[5px]">
  121. <!-- <vue-country-code
  122. class="d-none"
  123. @onSelect="onSelect"
  124. v-model="userData.country_code"
  125. :countryCode.sync="userData.country_code"
  126. enabldCountryCode
  127. :enabledFlags="false"
  128. ></vue-country-code> -->
  129. <elementCountryCodeSelect :select="{
  130. required: true,
  131. }" :userCodeSelect="userData.phone_code" :validation="validation.phone_code" @returnCode = "getReturnCode"></elementCountryCodeSelect>
  132. <!-- <vue-phone-number-input
  133. color="#e5e5e5"
  134. :border-radius="5"
  135. error-color="#ef5a5a"
  136. valid-color="#e5e5e5"
  137. :error="error"
  138. required
  139. no-flags
  140. no-example
  141. :validation="validation.phone_number"
  142. v-model="userData.phone_number"
  143. ></vue-phone-number-input> -->
  144. <vue-phone-number-input v-model="userData.phone_number" :validation="validation.phone_number" color="#E5e5e5" error-color="#ef5a5a"
  145. valid-color="#e5e5e5"
  146. :error="error" :border-radius="5"
  147. no-flags :no-country-selector="true" no-example @update="getPhoneData" :translations="translateOption">
  148. </vue-phone-number-input></div>
  149. </div>
  150. <div class="element">
  151. <elementSelect
  152. :select="{
  153. id: 'Country',
  154. label: 'Country/Region',
  155. required: true,
  156. }"
  157. :selectList="countryOptions"
  158. :default="userData.country"
  159. :validation="validation.country"
  160. @change="userData.country = $event"
  161. ></elementSelect>
  162. </div>
  163. <!-- <div class="element md:tw-col-span-2 tw-mt-[30px]">
  164. <elementCheckBox
  165. :input="{
  166. id: 'SaveInfo',
  167. label: 'Update personal info in your account',
  168. }"
  169. @update="updatePersonalInfo = $event"
  170. ></elementCheckBox>
  171. </div> -->
  172. </div>
  173. </div>
  174. <div v-show="infoType == 'Company'">
  175. <div
  176. class="element element-form tw-grid tw-grid-cols-1 tw-gap-y-[20px]"
  177. >
  178. <div
  179. class="element element-button-group tw-flex-wrap tw-mx-[8px]"
  180. >
  181. <Company ref="ref_company" :countryOptions="countryOptions"></Company>
  182. <!-- <button
  183. v-for="(item, index) in userCompanyList"
  184. :key="index"
  185. :class="[
  186. 'tw-transition',
  187. 'tw-btn-md',
  188. 'tw-text-[14px]',
  189. 'tw-leading-[18px]',
  190. 'tw-text-complementary-1',
  191. 'tw-bg-neutrals-0',
  192. 'tw-px-[12px]',
  193. 'tw-py-[11px]',
  194. 'tw-mx-[8px]',
  195. 'tw-mb-[16px]',
  196. 'tw-rounded-2xl',
  197. 'tw-border tw-border-solid',
  198. 'tw-bg-complementary-3',
  199. activeLabel == index + 1
  200. ? 'tw-border-complementary-1 tw-bg-complementary-1/20'
  201. : 'tw-border-transparent',
  202. ]"
  203. @click="onLabelClick(index + 1, item)"
  204. >
  205. {{ item.company_name }}
  206. </button>
  207. <button
  208. class="btn-add-icon tw-transition tw-btn-md tw-text-[14px] tw-leading-[18px] tw-text-complementary-1 tw-bg-complementary-3 tw-pr-[12px] tw-pl-[36px] tw-py-[11px] tw-mx-[8px] tw-mb-[16px] tw-rounded-[10px]"
  209. @click="$modal.show('add-modal')"
  210. >
  211. {{ $t("Add") }}
  212. </button> -->
  213. </div>
  214. <!-- <div class="company-info-list">
  215. <template v-for="(item, index) in userCompanyList">
  216. <div
  217. :key="index"
  218. v-if="index + 1 === activeLabel"
  219. class="tw-grid tw-grid-cols-1 tw-gap-y-[16px]"
  220. >
  221. <div
  222. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  223. >
  224. <div class="label t14 tw-font-bold">
  225. {{ $t("Company Name") }}
  226. </div>
  227. <div class="content tw-body-4">
  228. {{ item.company_name }}
  229. </div>
  230. </div>
  231. <div
  232. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  233. >
  234. <div class="label t14 tw-font-bold">
  235. {{ $t("Tax Number") }}
  236. </div>
  237. <div class="content tw-body-4">
  238. {{ item.company_tax_no }}
  239. </div>
  240. </div>
  241. <div
  242. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  243. >
  244. <div class="label t14 tw-font-bold">
  245. {{ $t("Street Address") }}
  246. </div>
  247. <div class="content tw-body-4">
  248. {{ item.company_address1 }}{{ item.company_address2 }}
  249. </div>
  250. </div>
  251. <div
  252. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  253. >
  254. <div class="label t14 tw-font-bold">{{ $t("City") }}</div>
  255. <div class="content tw-body-4">
  256. {{ item.company_city }}
  257. </div>
  258. </div>
  259. <div
  260. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  261. >
  262. <div class="label t14 tw-font-bold">
  263. {{ $t("State/Province") }}
  264. </div>
  265. <div class="content tw-body-4">
  266. {{ item.company_state }}
  267. </div>
  268. </div>
  269. <div
  270. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  271. >
  272. <div class="label t14 tw-font-bold">
  273. {{ $t("Country") }}
  274. </div>
  275. <div class="content tw-body-4">
  276. {{ item.company_country_name }}
  277. </div>
  278. </div>
  279. <div
  280. class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
  281. >
  282. <div class="label t14 tw-font-bold">
  283. {{ $t("ZIP/Postal Code") }}
  284. </div>
  285. <div class="content tw-body-4">
  286. {{ item.company_zipcode }}
  287. </div>
  288. </div>
  289. <button
  290. class="btn-edit-icon tw-w-[28px] tw-h-[28px]"
  291. @click="$modal.show('edit-modal')"
  292. ></button>
  293. </div>
  294. </template>
  295. </div> -->
  296. </div>
  297. </div>
  298. <div class="element tw-mt-[40px] tw-text-right">
  299. <button
  300. class="tw-transition tw-btn-md tw-bg-primary-1 tw-px-[30px] tw-py-[9.5px] tw-rounded-2xl hover:tw-bg-primary-2"
  301. @click="updatePurchaserInfo(false)"
  302. >
  303. {{ $t("Next") }}
  304. </button>
  305. </div>
  306. </div>
  307. </div>
  308. </Transition>
  309. </div>
  310. </client-only>
  311. </template>
  312. <script>
  313. import elementInput from "@/components/newComponent/form/ElementInput";
  314. import elementSelect from "@/components/newComponent/form/ElementSelect";
  315. import elementCheckBox from "@/components/newComponent/form/ElementCheckBox";
  316. import Company from "@/components/service/Company";
  317. import elementCountryCodeSelect from "@/components/newComponent/form/ElementCountryCodeSelect.vue";
  318. import { IsNumber } from "~/utils/common";
  319. import is from "is_js";
  320. export default {
  321. name: "PurchaserInfo",
  322. props: {
  323. // userCompanyList: {
  324. // type: Array,
  325. // },
  326. countryOptions: {
  327. type: Array,
  328. },
  329. infoType: {
  330. type: String,
  331. },
  332. bookingDetail_Validation: {
  333. type: Boolean,
  334. },
  335. },
  336. components: {
  337. elementInput,
  338. elementSelect,
  339. elementCheckBox,
  340. Company,
  341. elementCountryCodeSelect,
  342. is,
  343. },
  344. data() {
  345. return {
  346. show: false,
  347. disabled: false,
  348. completed: false,
  349. userData: {
  350. first_name: "",
  351. last_name: "",
  352. email: "",
  353. phone_number: "",
  354. country: "0",
  355. phone_code: "0",
  356. UserCompany: [],
  357. },
  358. updatePersonalInfo: false,
  359. userContactList: [],
  360. activeLabel: 0,
  361. Individual: {
  362. FirstName: "",
  363. LastName: "",
  364. Email: "",
  365. phone_code: "0",
  366. phone_number: "",
  367. Country: "",
  368. },
  369. Company: {
  370. company_name: "",
  371. unified_number: "",
  372. company_address: "",
  373. city_: "",
  374. state_or_province: "",
  375. country: "0",
  376. postal_code: "",
  377. },
  378. validation: {
  379. first_name: true,
  380. last_name: true,
  381. email: true,
  382. phone_code: true,
  383. phone_number: true,
  384. country: true,
  385. },
  386. errors: null,
  387. purchaserValidation: false,
  388. error: false,
  389. isValid: false,
  390. translateOption: {
  391. countrySelectorLabel: this.$t("country code"),
  392. phoneNumberLabel: this.$t("phone number"),
  393. },
  394. };
  395. },
  396. async created() {
  397. if (this.$auth.loggedIn) {
  398. await this.getUser();
  399. }
  400. },
  401. watch: {
  402. // userCompanyList: {
  403. // handler: function () {
  404. // if (this.userCompanyList) {
  405. // this.activeLabel = this.userCompanyList.length > 0 ? 1 : 0;
  406. // this.Company.company_name = this.userCompanyList[0].company_name;
  407. // this.Company.company_tax_no = this.userCompanyList[0].company_tax_no;
  408. // this.Company.company_address1 =
  409. // this.userCompanyList[0].company_address1;
  410. // this.Company.company_address2 =
  411. // this.userCompanyList[0].company_address2;
  412. // this.Company.company_city = this.userCompanyList[0].company_city;
  413. // this.Company.company_state = this.userCompanyList[0].company_state;
  414. // this.Company.company_country =
  415. // this.userCompanyList[0].company_country_name;
  416. // this.Company.company_zipcode =
  417. // this.userCompanyList[0].company_zipcode;
  418. // }
  419. // },
  420. // },
  421. bookingDetail_Validation: {
  422. handler: function () {
  423. if (this.bookingDetail_Validation) {
  424. this.show = true;
  425. } else {
  426. this.show = false;
  427. }
  428. },
  429. },
  430. purchaserValidation: {
  431. handler: function () {
  432. if (this.purchaserValidation) {
  433. this.show = false;
  434. }
  435. },
  436. },
  437. },
  438. methods: {
  439. getReturnCode(code){
  440. this.userData.phone_code = code;
  441. },
  442. getPhoneData(phoneData) {
  443. // this.userData.phone_code = phoneData.countryCode;
  444. // //this.userData.PhoneCode = phoneData.countryCallingCode;
  445. // this.error = phoneData.isValid = true ? false : true;
  446. this.validation.phone_number = phoneData.isValid;
  447. },
  448. // onLabelClick(label, item) {
  449. // this.activeLabel = label;
  450. // this.$emit("active", this.activeLabel);
  451. // this.Company.company_name = item.company_name;
  452. // this.Company.company_tax_no = item.company_tax_no;
  453. // this.Company.company_address1 = item.company_address1;
  454. // this.Company.company_address2 = item.company_address2;
  455. // this.Company.company_city = item.company_city;
  456. // this.Company.company_state = item.company_state;
  457. // this.Company.company_country = item.company_country_name;
  458. // this.Company.company_zipcode = item.company_zipcode;
  459. // },
  460. async getUser() {
  461. await this.$axios
  462. .get(`/trending/api/Onsite/MemberInfo`)
  463. .then((response) => {
  464. if(response && response.data && response.data.DATA && response.data.DATA.rel){
  465. let data = response.data.DATA.rel
  466. if(data){
  467. this.userData.first_name = data.FirstName;
  468. this.userData.last_name = data.LastName;
  469. this.userData.email = data.Email;
  470. this.userData.phone_number = data.Phone;
  471. if(data.CountryID == null){
  472. this.userData.country = "0";
  473. }else{
  474. this.userData.country = data.CountryID;
  475. }
  476. if(data.PhoneCode == null){
  477. this.userData.phone_code = "0";
  478. }else{
  479. this.userData.phone_code = data.PhoneCode;
  480. }
  481. }
  482. }
  483. })
  484. .catch((err) => {
  485. console.log(err);
  486. });
  487. },
  488. updateIndividual() {
  489. const patchData = JSON.parse(JSON.stringify(this.userData));
  490. let params = {
  491. FirstName: patchData.first_name,
  492. LastName: patchData.last_name,
  493. Email: patchData.email,
  494. Phone: patchData.phone_number,
  495. CountryID: patchData.country,
  496. PhoneCode: patchData.phone_code,
  497. }
  498. this.$axios
  499. .post(
  500. `/trending/api/Onsite/Member`,
  501. params
  502. )
  503. .then((result) => {
  504. //console.log(result);
  505. })
  506. .catch((err) => {
  507. console.log(err);
  508. });
  509. },
  510. updateCompany() {
  511. let patchData = this.$refs.ref_company.getFormData();
  512. if(patchData.company_name=="" && patchData.unified_number=="" && patchData.city_ ==""
  513. && patchData.company_address =="" && patchData.state_or_province=="" && (patchData.country=="" || patchData.country=="0") && patchData.postal_code==""){
  514. return false;
  515. }
  516. let params = {
  517. CompanyName: patchData.company_name,
  518. TaxNumber: patchData.unified_number,
  519. CityName: patchData.city_,
  520. Street1: patchData.company_address,
  521. StateName: patchData.state_or_province,
  522. CountryID: patchData.country,
  523. ZipCode: patchData.postal_code,
  524. }
  525. this.$axios
  526. .post(
  527. `/trending/api/Onsite/Company`,
  528. params
  529. )
  530. .then((result) => {
  531. //console.log(result);
  532. })
  533. .catch((err) => {
  534. console.log(err);
  535. });
  536. },
  537. updatePurchaserInfo(isUpdate) {
  538. switch (this.infoType) {
  539. case "Individual":
  540. this.$emit("type", "Individual");
  541. if(this.updatePersonalInfo){ //有勾要一併調整會員資訊
  542. this.validators();
  543. //console.log(this.validators());
  544. if (this.validators()) {
  545. // this.$emit("type", "Individual");
  546. this.$emit("individual", this.userData);
  547. this.purchaserValidation = true;
  548. this.$emit("purchaserInfo_validation", this.purchaserValidation);
  549. } else {
  550. this.purchaserValidation = false;
  551. this.$emit("purchaserInfo_validation", this.purchaserValidation);
  552. }
  553. }else{ //沒勾要一併調整會員資訊
  554. this.validators();
  555. if(this.validators()){
  556. this.$emit("individual", this.userData);
  557. this.purchaserValidation = true;
  558. this.$emit("purchaserInfo_validation", this.purchaserValidation);
  559. }
  560. }
  561. break;
  562. case "Company":
  563. this.$emit("type", "Company");
  564. this.$refs.ref_company.validators();
  565. if(this.$refs.ref_company.validators()){
  566. this.Company = this.$refs.ref_company.getFormData();
  567. this.$emit("company", this.Company);
  568. this.purchaserValidation = true;
  569. this.$emit("purchaserInfo_validation", this.purchaserValidation);
  570. }
  571. break;
  572. }
  573. // if(isUpdate){
  574. // if(this.updatePersonalInfo){
  575. // if (this.validators()) {
  576. // this.updateIndividual();
  577. // }
  578. // }
  579. // if (this.$refs.ref_company.validators()) {
  580. // this.updateCompany();
  581. // }
  582. // }
  583. },
  584. validators() {
  585. if (is.empty(this.userData.first_name)) {
  586. this.validation.first_name = false;
  587. } else {
  588. this.validation.first_name = true;
  589. }
  590. if (is.empty(this.userData.last_name)) {
  591. this.validation.last_name = false;
  592. } else {
  593. this.validation.last_name = true;
  594. }
  595. if (is.empty(this.userData.email) || is.not.email(this.userData.email)) {
  596. this.validation.email = false;
  597. } else {
  598. this.validation.email = true;
  599. }
  600. if (
  601. is.empty(this.userData.phone_code) ||
  602. this.userData.phone_code == '0'
  603. ) {
  604. this.validation.phone_code = false;
  605. } else {
  606. this.validation.phone_code = true;
  607. }
  608. if (
  609. is.empty(this.userData.phone_number) ||
  610. IsNumber(this.userData.phone_number) == false
  611. ) {
  612. this.validation.phone_number = false;
  613. this.error = true;
  614. } else {
  615. this.validation.phone_number = true;
  616. this.error = false;
  617. }
  618. if (is.empty(this.userData.country) || this.userData.country == "0") {
  619. this.validation.country = false;
  620. } else {
  621. this.validation.country = true;
  622. }
  623. this.errors = Object.entries(this.validation).filter(
  624. (e) => e[1] == false
  625. );
  626. if (this.errors.length > 0) {
  627. this.purchaserValidation = false;
  628. return false;
  629. } else {
  630. return true;
  631. }
  632. },
  633. onSelect(data){
  634. // debugger
  635. // this.userData.country_code = data.dialCode;
  636. }
  637. },
  638. };
  639. </script>
  640. <style lang="scss" scoped>
  641. .collapse {
  642. &::before {
  643. content: "";
  644. display: inline-block;
  645. position: relative;
  646. left: 0;
  647. top: 0;
  648. background-image: url("~/assets/svg/down-arrow.svg");
  649. background-repeat: no-repeat;
  650. background-position: center;
  651. background-size: 100%;
  652. width: 16px;
  653. height: 10px;
  654. margin-right: 40px;
  655. transform: rotate(-90deg);
  656. transition: all 0.2s linear;
  657. }
  658. &.disabled {
  659. pointer-events: none;
  660. &::before {
  661. background-image: url("~/assets/svg/down-arrow-disabled.svg");
  662. }
  663. }
  664. &.show {
  665. &::before {
  666. transform: rotate(0);
  667. transition: all 0.2s linear;
  668. }
  669. }
  670. }
  671. .btn-add-icon {
  672. background-image: url("~/assets/svg/plus-blue.svg");
  673. background-repeat: no-repeat;
  674. background-position: left 12px center;
  675. background-size: 16px 16px;
  676. }
  677. .btn-edit-icon {
  678. background-image: url("~/assets/svg/edit-info.svg");
  679. background-repeat: no-repeat;
  680. background-position: center;
  681. background-size: 100%;
  682. }
  683. .bounce-enter-active {
  684. animation: bounce-in 0.3s ease-out;
  685. }
  686. .bounce-leave-active {
  687. animation: bounce-in 0.3s cubic-bezier(1, 0.5, 0.8, 1) reverse;
  688. }
  689. @keyframes bounce-in {
  690. 0% {
  691. opacity: 0;
  692. transform: translateY(-10px);
  693. }
  694. 50% {
  695. opacity: 0.5;
  696. transform: translateY(-5px);
  697. }
  698. 100% {
  699. opacity: 1;
  700. transform: translateY(0);
  701. }
  702. }
  703. .status-check-icon {
  704. background-image: url("~/assets/svg/status-check.svg");
  705. background-size: 100%;
  706. background-repeat: no-repeat;
  707. background-position: center;
  708. }
  709. :deep(.input-tel__input) {
  710. height: 44px !important;
  711. padding-left: 13px !important;
  712. }
  713. </style>