您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

editTimeShareAdminPage.vue 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754
  1. <template>
  2. <main id="main">
  3. <section id="contact2">
  4. <div class="container">
  5. <div class="row">
  6. <div class="col-lg-12">
  7. <div class="section-header">
  8. <h2>Week Information</h2>
  9. </div>
  10. <div align="left" class="custom-control custom-switch mb-2">
  11. <div class="row">
  12. <div align="center" class="col">
  13. <!-- <label class="mr-5">Were you referred by an agent?</label> -->
  14. <!-- <input
  15. type="checkbox"
  16. class="custom-control-input"
  17. id="customSwitch1"
  18. :checked="refAgent"
  19. @change="changeRef"
  20. /> -->
  21. <!-- <label class="custom-control-label" for="customSwitch1">{{
  22. refAgent ? "Yes" : "No"
  23. }}</label> -->
  24. <!-- <div class="refbyAgent" :class="{ 'refbyAgent--clicked': refAgent }">
  25. <div class="col-md-6" v-if="refAgent">
  26. <label for="Name of Agency">Agency</label>
  27. <select
  28. class="form-control uniSelect"
  29. id="Agency"
  30. name="agency"
  31. v-model="sellItem.agencyId"
  32. >
  33. <option v-for="(item, i) in agencies" :key="i" :value="item.id">
  34. {{ item.agencyName }}
  35. </option>
  36. </select>
  37. </div>
  38. <div class="col-md-6" v-if="refAgent">
  39. <label for="Name of Agent">Agent</label>
  40. <select
  41. class="form-control uniSelect"
  42. id="agent"
  43. name="agent"
  44. v-model="sellItem.agentId"
  45. :disabled="!sellItem.agencyId"
  46. >
  47. <option
  48. v-for="(item, i) in displayNotDeletedAgents"
  49. :key="i"
  50. :value="item.id"
  51. >
  52. <div>{{ item.name + " " + item.surname }}</div>
  53. </option>
  54. </select>
  55. </div>
  56. </div> -->
  57. </div>
  58. </div>
  59. </div>
  60. <div class="form">
  61. <div id="sendmessage">Your details has been sent. Thank you!</div>
  62. <div id="errormessage"></div>
  63. <div class="form-row">
  64. <div class="form-group col-md-6">
  65. <div class="input-group">
  66. <label v-if="!sellItem.region" class="uniSelectLabel" for="weekInfoRegionSelect"
  67. >REGION</label
  68. >
  69. <select
  70. id="weekInfoRegionSelect"
  71. class="form-control uniSelect"
  72. v-model="sellItem.region"
  73. @change="regionChange()"
  74. style="font-size: 15px"
  75. >
  76. <option v-for="(region, r) in regions" :key="r" :value="region">{{
  77. region.regionName
  78. }}</option>
  79. </select>
  80. </div>
  81. <div class="validation"></div>
  82. </div>
  83. <div class="form-group col-md-6">
  84. <div class="input-group">
  85. <label v-if="!sellItem.resort" class="uniSelectLabel" for="weekInfoResortSelect"
  86. >RESORT NAME</label
  87. >
  88. <select
  89. id="weekInfoResortSelect"
  90. class="form-control uniSelect"
  91. v-model="sellItem.resort"
  92. @change="resortChange()"
  93. >
  94. <option value="Other">Other</option>
  95. <option v-for="(resort, r) in filteredResort" :key="r" :value="resort">{{
  96. resort.resortName
  97. }}</option>
  98. </select>
  99. </div>
  100. <div class="validation"></div>
  101. </div>
  102. <div class="form-group col-md-6">
  103. <input
  104. class="form-control"
  105. v-if="sellItem.otherResort"
  106. placeholder="NAME OF RESORT (* IF OTHER)"
  107. type="text"
  108. name="other"
  109. v-model="sellItem.otherResortName"
  110. />
  111. </div>
  112. <div class="form-group col-md-6">
  113. <div v-if="sellItem.otherResort">
  114. <label v-if="!sellItem.region" class="uniSelectLabel" for="region">REGION</label>
  115. </div>
  116. <select
  117. class="form-control uniSelect"
  118. v-if="sellItem.otherResort"
  119. name="region"
  120. id="region"
  121. v-model="sellItem.region"
  122. >
  123. <option v-for="(region, r) in regions" :key="r">{{ region.regionName }}</option>
  124. </select>
  125. </div>
  126. <div class="form-group col-md-6">
  127. <input
  128. type="number"
  129. class="form-control"
  130. name="unitNumber"
  131. id="unitNumber"
  132. placeholder="UNIT NUMBER"
  133. v-model="sellItem.unitNumber"
  134. data-msg="Please enter unit number"
  135. />
  136. <div class="validation"></div>
  137. </div>
  138. <div class="form-group col-md-6">
  139. <input
  140. type="number"
  141. class="form-control"
  142. name="week"
  143. id="week"
  144. placeholder="UNIT / WEEK NUMBER"
  145. v-model="sellItem.module"
  146. data-msg="Please enter week number"
  147. />
  148. <div class="validation"></div>
  149. </div>
  150. <div class="form-group col-md-6">
  151. <label v-if="!sellItem.season" class="uniSelectLabel" for="region">SEASON</label>
  152. <select
  153. class="form-control uniSelect"
  154. name="region"
  155. id="region"
  156. v-model="sellItem.season"
  157. >
  158. <option v-for="(season, r) in seasons" :key="r">{{ season.name }}</option>
  159. </select>
  160. <div class="validation"></div>
  161. </div>
  162. <div class="form-group col-md-6">
  163. <label v-if="!sellItem.bedrooms" class="uniSelectLabel" for="region"
  164. >BEDROOM/S</label
  165. >
  166. <select
  167. class="form-control uniSelect"
  168. name="region"
  169. id="region"
  170. v-model="sellItem.bedrooms"
  171. >
  172. <option v-for="(item, i) in resortBedrooms" :key="i">{{ item }}</option>
  173. </select>
  174. <div class="validation"></div>
  175. </div>
  176. <div class="form-group col-md-6">
  177. <label v-if="!sellItem.maxSleep" class="uniSelectLabel" for="region"
  178. >SLEEP MAX</label
  179. >
  180. <select
  181. class="form-control uniSelect"
  182. name="region"
  183. id="region"
  184. v-model="sellItem.maxSleep"
  185. >
  186. <option v-for="(item, i) in maxSleep" :key="i">{{ item }}</option>
  187. </select>
  188. <div class="validation"></div>
  189. </div>
  190. <div class="form-group col-md-6">
  191. <input
  192. type="number"
  193. class="form-control"
  194. name="levy"
  195. id="levy"
  196. placeholder="Levy Amount"
  197. v-model="sellItem.levyAmount"
  198. data-msg="Please enter levy amount"
  199. />
  200. <div class="validation"></div>
  201. </div>
  202. <div class="form-group col-md-6">
  203. <label v-if="!sellItem.weekType" class="uniSelectLabel" for="region"
  204. >WEEK TYPE</label
  205. >
  206. <select
  207. class="form-control uniSelect"
  208. name="region"
  209. id="region"
  210. v-model="sellItem.weekType"
  211. >
  212. <option :key="0">Flexi</option>
  213. <option :key="1">Fixed</option>
  214. <option :key="2">Module</option>
  215. <option :key="3">Syndicate</option>
  216. </select>
  217. </div>
  218. <div class="form-row">
  219. <div class="form-group col-md-6">
  220. Arrival Date :
  221. <input
  222. type="date"
  223. class="form-control"
  224. name="occupationDate1"
  225. v-model="sellItem.arrivalDate"
  226. />
  227. <div class="validation"></div>
  228. </div>
  229. <div class="form-group col-md-6">
  230. Departure Date :
  231. <input
  232. type="date"
  233. class="form-control"
  234. name="occupationDate2"
  235. v-model="sellItem.departureDate"
  236. />
  237. <div class="validation"></div>
  238. </div>
  239. <div class="form-group col-md-6">
  240. Purchase Price:
  241. <input
  242. class="form-control"
  243. placeholder="R"
  244. type="number"
  245. step="any"
  246. name="purchasePrice"
  247. v-model="sellItem.originalPurchasePrice"
  248. />
  249. <div class="validation"></div>
  250. </div>
  251. </div>
  252. </div>
  253. </div>
  254. <div align="left" class="custom-control custom-switch mb-2">
  255. <div class="row">
  256. <div align="center" class="col">
  257. <label class="mr-5">Has your week been spacebanked for the current year?</label>
  258. <input
  259. type="checkbox"
  260. class="custom-control-input"
  261. id="customSwitch2"
  262. :checked="sellItem.currentYearBanked"
  263. @change="changeCurrentBanked"
  264. />
  265. <label class="custom-control-label" for="customSwitch2">{{
  266. sellItem.currentYearBanked ? "Yes" : "No"
  267. }}</label>
  268. <div
  269. class="spacebanked1"
  270. :class="{ 'spacebanked1--clicked': sellItem.currentYearBanked }"
  271. >
  272. <div class="col-md-6">
  273. <label for="If yes, please confirm with whom" v-if="sellItem.currentYearBanked"
  274. >Please confirm with whom</label
  275. >
  276. <select
  277. class="form-control uniSelect"
  278. name="spacebankOwner"
  279. v-if="sellItem.currentYearBanked"
  280. v-model="sellItem.bankedWith"
  281. >
  282. <option v-for="(item, i) in bankedEntities" :key="i">{{ item }}</option>
  283. </select>
  284. </div>
  285. </div>
  286. </div>
  287. </div>
  288. </div>
  289. <div class="section-header">
  290. <h2>Detailed Individual Information</h2>
  291. </div>
  292. <div class="form">
  293. <div class="row">
  294. <div class="form-group col-md-6">
  295. <input
  296. type="text"
  297. name="name"
  298. class="form-control"
  299. id="name"
  300. placeholder="Name"
  301. data-rule="minlen:4"
  302. data-msg="Please enter your name"
  303. v-model="indiv.name"
  304. />
  305. <div class="validation"></div>
  306. </div>
  307. <div class="form-group col-md-6">
  308. <input
  309. type="text"
  310. class="form-control"
  311. name="surname"
  312. id="surname"
  313. placeholder="Surname"
  314. data-msg="Please enter your surname"
  315. v-model="indiv.surname"
  316. />
  317. <div class="validation"></div>
  318. </div>
  319. </div>
  320. <div class="row">
  321. <div class="form-group col-md-6">
  322. <input
  323. type="text"
  324. name="idnum"
  325. class="form-control"
  326. id="idnum"
  327. placeholder="ID Number"
  328. data-rule="minlen:4"
  329. data-msg="Please enter your ID number"
  330. v-model="indiv.idNumber"
  331. />
  332. <div class="validation"></div>
  333. </div>
  334. <div class="form-group col-md-6">
  335. <input
  336. type="text"
  337. class="form-control"
  338. name="company"
  339. id="company"
  340. placeholder="Company Reg Number"
  341. data-rule="minlen:4"
  342. data-msg="Please enter your company reg number"
  343. v-model="indiv.companyRegNumber"
  344. />
  345. <div class="validation"></div>
  346. </div>
  347. </div>
  348. <div class="row">
  349. <div class="form-group col-md-6">
  350. <div class="input-group">
  351. <label
  352. v-if="!indiv.howMarried || indiv.howMarried === 'N/A'"
  353. for="howMarried"
  354. class="uniSelectLabel"
  355. >Marital Status</label
  356. >
  357. <select class="form-control uniSelect" id="howMarried" v-model="indiv.howMarried">
  358. <option value="N/A">N/A</option>
  359. <option value="In Community Of Property">In Community Of Property</option>
  360. <option value="Out of Community Of Property"
  361. >Out of Community Of Property</option
  362. >
  363. <option value="Other">Other</option>
  364. <option value="Traditional Wedding">Traditional Wedding</option>
  365. <option value="Single">Single</option>
  366. <option value="Divorced">Divorced</option>
  367. <option value="Widow">Widow</option>
  368. <option value="Committed Relationship">Committed Relationship</option>
  369. <option value="Partner">Partner</option>
  370. </select>
  371. </div>
  372. <div class="validation"></div>
  373. </div>
  374. <div class="form-group col-md-6">
  375. <input
  376. type="text"
  377. class="form-control"
  378. name="email"
  379. id="email"
  380. placeholder="Email Address"
  381. data-msg="Please enter your email address"
  382. v-model="indiv.emailAddress"
  383. />
  384. <div class="validation"></div>
  385. </div>
  386. </div>
  387. <div class="row">
  388. <div class="form-group col-md-6">
  389. <input
  390. type="text"
  391. name="cell"
  392. class="form-control"
  393. id="cell"
  394. placeholder="Cell Number"
  395. data-rule="minlen:4"
  396. data-msg="Please enter your cell number"
  397. v-model="indiv.cellNumner"
  398. />
  399. <div class="validation"></div>
  400. </div>
  401. <div class="form-group col-md-6">
  402. <input
  403. type="text"
  404. class="form-control"
  405. name="landline"
  406. id="landline"
  407. placeholder="Landline Number"
  408. data-msg="Please enter your landline number"
  409. v-model="indiv.landlineNumber"
  410. />
  411. <div class="validation"></div>
  412. </div>
  413. </div>
  414. </div>
  415. <div v-if="indiv.howMarried === 'In Community Of Property'" class="section-header">
  416. <h2>Spouse Details</h2>
  417. </div>
  418. <div v-if="indiv.howMarried === 'In Community Of Property'" class="form">
  419. <div class="form-row">
  420. <div class="form-group col-md-6">
  421. <input
  422. type="text"
  423. class="form-control"
  424. placeholder="SPOUSE NAME"
  425. data-msg="Please enter your spouse's name"
  426. v-model="indiv.spouseName"
  427. />
  428. <div class="validation"></div>
  429. </div>
  430. <div class="form-group col-md-6">
  431. <input
  432. type="text"
  433. class="form-control"
  434. placeholder="SPOUSE SURNAME"
  435. data-msg="Please enter your spouse's surname"
  436. v-model="indiv.spouseSurname"
  437. />
  438. <div class="validation"></div>
  439. </div>
  440. <div class="form-group col-md-6">
  441. <input
  442. type="text"
  443. class="form-control"
  444. placeholder="SPOUSE EMAIL"
  445. data-rule="minlen:4"
  446. data-msg="Please enter your spouse's email"
  447. v-model="indiv.spouseEmail"
  448. />
  449. <div class="validation"></div>
  450. </div>
  451. <div class="form-group col-md-6">
  452. <input
  453. type="text"
  454. class="form-control"
  455. placeholder="SPOUSE TELEPHONE"
  456. data-rule="minlen:4"
  457. data-msg="Please enter your spouse's telephone number"
  458. v-model="indiv.spouseTelephone"
  459. />
  460. <div class="validation"></div>
  461. </div>
  462. <div class="form-group col-md-6">
  463. <input
  464. type="text"
  465. class="form-control"
  466. placeholder="SPOUSE CELL NUMBER"
  467. data-rule="minlen:4"
  468. data-msg="Please enter your spouse's cellphone number"
  469. v-model="indiv.spouseCellnumber"
  470. />
  471. <div class="validation"></div>
  472. </div>
  473. </div>
  474. <div class="form-group col-md-6">
  475. <input
  476. type="text"
  477. class="form-control"
  478. placeholder="SPOUSE CELL NUMBER"
  479. data-rule="minlen:4"
  480. data-msg="Please enter your spouse's cellphone number"
  481. v-model="indiv.spouseCellnumber"
  482. />
  483. <div class="validation"></div>
  484. </div>
  485. </div>
  486. <div class="form">
  487. <div id="sendmessage">Your details has been sent. Thank you!</div>
  488. <div id="errormessage"></div>
  489. <div class="form-row" v-if="!CanSave">
  490. <div class="col-md-12">
  491. <p class="alert myError">Please ensure that you add spouse details.</p>
  492. </div>
  493. </div>
  494. <div class="text-center col-12" v-if="CanSave">
  495. <button class="btn-solid-blue" v-if="!sellItem.id" @click="submitSale()">
  496. Save
  497. </button>
  498. </div>
  499. <div class="text-center col-12">
  500. <button class="btn-solid-blue" @click="paygateRedirect()">Back</button>
  501. </div>
  502. <br />
  503. <br />
  504. </div>
  505. </div>
  506. <br />
  507. <br />
  508. </div>
  509. <div v-if="wait" id="preloader"></div>
  510. </div>
  511. </section>
  512. </main>
  513. </template>
  514. <script>
  515. /* eslint-disable */
  516. import { mapState, mapActions, mapGetters } from "vuex";
  517. import addressAutoComplete from "../../shared/addressAutoComplete";
  518. import Alert from "../../shared/alert.vue";
  519. import Log from "../../../assets/Log";
  520. import _ from "lodash";
  521. export default {
  522. name: "EditTimeshare",
  523. props: {
  524. weekId: {
  525. default: 0
  526. }
  527. },
  528. data() {
  529. return {
  530. wait: false,
  531. userLoggedIn: Log.isLoggedIn(),
  532. listedWeekId: this.$route.params.id
  533. };
  534. },
  535. components: {
  536. addressAutoComplete,
  537. Alert
  538. },
  539. mounted() {
  540. if (this.sellItem.id) {
  541. this.newSale();
  542. }
  543. this.initTimeshare(0);
  544. this.getIndividual(Log.getUser().id);
  545. this.getBanks();
  546. },
  547. created() {
  548. this.initTimeshare(this.weekId);
  549. },
  550. computed: {
  551. ...mapState("timeshare", [
  552. "resorts",
  553. "regions",
  554. "detailedRegion",
  555. "seasons",
  556. "result",
  557. "resortBedrooms",
  558. "maxSleep",
  559. "bankedEntities",
  560. "sellItem",
  561. "agencies",
  562. "agents",
  563. "getTemplate"
  564. ]),
  565. ...mapState("individual", ["indiv"]),
  566. ...mapState("authentication", ["isLoggedIn"]),
  567. ...mapGetters({
  568. user: "authentication/getUser",
  569. person: "authentication/getPerson"
  570. }),
  571. ...mapState("bank", ["banks"]),
  572. refAgent() {
  573. return this.sellItem && this.sellItem.referedByAgent;
  574. },
  575. filteredResort() {
  576. let list = [];
  577. if (this.sellItem && this.sellItem.region && this.sellItem.region.regionCode) {
  578. const item = this.detailedRegion.find(
  579. region => region.region.regionCode === this.sellItem.region.regionCode
  580. );
  581. if (item) {
  582. list = item.children;
  583. }
  584. } else {
  585. list = this.resorts;
  586. }
  587. return _.sortBy(list, x => x.resortName);
  588. },
  589. isLoggedIn() {
  590. return this.user && this.person;
  591. },
  592. displayNotDeletedAgents() {
  593. var notDeletedArr = [];
  594. this.agents.forEach(agent => {
  595. if (!agent.isDeleted) {
  596. if (agent.agencyId === this.sellItem.agencyId) {
  597. notDeletedArr.push(agent);
  598. }
  599. }
  600. });
  601. return notDeletedArr;
  602. },
  603. CanSave() {
  604. if (this.indiv.howMarried === "In Community Of Property") {
  605. if (this.indiv.spouseName || this.indiv.spouseSurname || this.spouseEmail) {
  606. return true;
  607. }
  608. return false;
  609. }
  610. return true;
  611. }
  612. },
  613. methods: {
  614. ...mapActions("individual", ["getIndividual"]),
  615. ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek", "getBlankWeek"]),
  616. ...mapActions("payment", ["addPayment"]),
  617. ...mapActions("bank", ["getBanks"]),
  618. newSale() {
  619. this.weekId = 0;
  620. this.getBlankWeek();
  621. },
  622. submitSale() {
  623. if (this.userLoggedIn) {
  624. this.sellItem.ownerObject = this.indiv;
  625. this.sellItem.status = undefined;
  626. this.saveWeek(this.sellItem).then(fulfilled => {
  627. this.paygateRedirect();
  628. });
  629. } else this.$router.push("/user/login");
  630. },
  631. paygateRedirect() {
  632. var paymentObj = {
  633. timeshareWeekId: this.sellItem.id, // this.sellItem.Id,
  634. propertyId: 0,
  635. creatydById: Log.getUser().id, //Log.getUser().id,
  636. amount: 380.0,
  637. paymentStatus: "",
  638. paymentToken: ""
  639. };
  640. this.addPayment(paymentObj).then(res => {
  641. this.$router.push({
  642. name: "PaymentGateway",
  643. params: {
  644. paymentReqId: res.PAY_REQUEST_ID,
  645. checksum: res.CHECKSUM
  646. }
  647. });
  648. });
  649. },
  650. previewFiles(event) {
  651. console.log(event.target.files);
  652. },
  653. changeRef() {
  654. this.sellItem.agent = undefined;
  655. this.sellItem.agency = undefined;
  656. this.sellItem.referedByAgent = !this.sellItem.referedByAgent;
  657. },
  658. changeLeviesPaidInFull() {
  659. this.sellItem.leviesPaidInFull = !this.sellItem.leviesPaidInFull;
  660. },
  661. changeWeekPlacedForRental() {
  662. this.sellItem.weekPlacedForRental = !this.sellItem.weekPlacedForRental;
  663. },
  664. changeCurrentBanked() {
  665. this.sellItem.bankedWith = undefined;
  666. this.sellItem.currentYearBanked = !this.sellItem.currentYearBanked;
  667. },
  668. resortChange() {
  669. this.onResortChange({
  670. resortName: this.sellItem.resort.resortName,
  671. resortCode: this.sellItem.resort.resortCode
  672. });
  673. if (this.sellItem && this.sellItem.resort === "Other") {
  674. this.sellItem.otherResortName = undefined;
  675. this.sellItem.otherResort = true;
  676. } else {
  677. this.sellItem.otherResortName = undefined;
  678. this.sellItem.otherResort = false;
  679. }
  680. },
  681. regionChange() {
  682. this.sellItem.regionId = this.sellItem.region ? this.sellItem.region.id : 1;
  683. },
  684. UpdateAddress(address) {
  685. this.indiv.address.streetNumber = address.streetNumber;
  686. this.indiv.address.street = address.streetName;
  687. this.indiv.address.province = address.province;
  688. this.indiv.address.city = address.city;
  689. this.indiv.address.suburb = address.suburb;
  690. this.indiv.address.postalCode = address.postalCode;
  691. },
  692. SetMandateDate() {
  693. if (this.sellItem.mandate) {
  694. this.sellItem.mandateDate = new Date();
  695. } else {
  696. this.sellItem.mandateDate = undefined;
  697. }
  698. }
  699. }
  700. };
  701. </script>
  702. <style lang="scss" scoped>
  703. .refbyAgent {
  704. will-change: transform;
  705. transition: height 500ms;
  706. height: 0px;
  707. }
  708. .refbyAgent--clicked {
  709. height: 150px;
  710. }
  711. .spacebanked1 {
  712. will-change: transform;
  713. transition: height 500ms;
  714. height: 0px;
  715. }
  716. .spacebanked1--clicked {
  717. height: 150px;
  718. }
  719. .custom-file-label {
  720. border-width: 2px;
  721. border-color: rgb(27, 117, 187);
  722. margin-bottom: 20px;
  723. }
  724. .custom-file-label::after {
  725. border-left: none;
  726. border-bottom: solid;
  727. border-width: 2px;
  728. border-color: rgb(27, 117, 187);
  729. font-family: "Muli";
  730. }
  731. </style>