Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

sellPage.vue 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <div class="container">
  4. <div class="row">
  5. <div class="col-md-12">
  6. <div class="col-sm-12">
  7. <div class="about-img-box">
  8. <img
  9. src="img/sell3.jpg"
  10. alt="Timeshare To Sell"
  11. class="img-fluid"
  12. style="width:800px;height:400px; border-radius:10px"
  13. />
  14. </div>
  15. <div class="sinse-box" style="opacity:0.7; border: white solid 3px; border-radius: 15px">
  16. <h3 class="sinse-title">Timeshare To Sell</h3>
  17. </div>
  18. </div>
  19. <br />
  20. <div>
  21. <div class="container col-md-10">
  22. <div class="myWell">
  23. <h4>Week Information</h4>
  24. </div>
  25. <div style="float: right;" class="btn btn-link color-b">
  26. <!-- <router-link to="LinkToBeSelected">
  27. Bulk Weeks Upload
  28. <span class="ion-ios-arrow-forward" style="color:#60CBEB"></span>
  29. </router-link>-->
  30. </div>
  31. </div>
  32. <br />
  33. <br />
  34. <p>* You need to be logged in to submit your listing. Please register and log in if you have not done so already.</p>
  35. <hr />
  36. <div class="form-group row">
  37. <div class="col-md-4">
  38. <label>Were you referred by an agent?</label>
  39. <br />
  40. <div class="form-check form-check-inline">
  41. <input
  42. class="form-check-input radiogroup"
  43. type="radio"
  44. value="true"
  45. :checked="refAgent"
  46. @change="changeRef"
  47. />
  48. <label class="form-check-label" for="referedBy">Yes</label>
  49. </div>
  50. <div class="form-check form-check-inline">
  51. <input
  52. class="form-check-input radiogroup"
  53. type="radio"
  54. value="false"
  55. :checked="!refAgent"
  56. @change="changeRef"
  57. />
  58. <label class="form-check-label" for="referedBy">No</label>
  59. </div>
  60. </div>
  61. <div class="col-md-4" v-if="refAgent">
  62. <label for="Name of Agency">Agency</label>
  63. <select class="form-control" id="Agency" name="agency" v-model="sellItem.agency">
  64. <option v-for="(item, i) in agencies" :key="i">{{item.agencyName}}</option>
  65. </select>
  66. </div>
  67. <div class="col-md-4" v-if="refAgent">
  68. <label for="Name of Agent">Agent</label>
  69. <select class="form-control" id="agent" name="agent" v-model="sellItem.agent">
  70. <option v-for="(item, i) in agents" :key="i">{{item.name}}</option>
  71. </select>
  72. </div>
  73. </div>
  74. <hr />
  75. <div class="container col-md-10">
  76. <div class="myWell">
  77. <h4>Week Information</h4>
  78. </div>
  79. <!-- <div style="float: right;" class="btn btn-link color-b">
  80. <router-link to="LinkToBeSelected">
  81. Bulk Weeks Upload
  82. <span class="ion-ios-arrow-forward" style="color:#60CBEB"></span>
  83. </router-link>
  84. </div>-->
  85. </div>
  86. <br />
  87. <br />
  88. </div>
  89. </div>
  90. </div>
  91. <div class="row mb-4">
  92. <div class="container col-md-10">
  93. <form
  94. id="mainForm"
  95. method="POST"
  96. action="/to-sell"
  97. accept-charset="UTF-8"
  98. enctype="multipart/form-data"
  99. >
  100. <div class="container">
  101. <div class="col-md-12" style="text-align:left">
  102. <div class="form-group row">
  103. <div class="col-md-6">
  104. <label for="Resort Name">Resort Name</label>
  105. <div class="input-group mb-3">
  106. <div class="input-group-prepend">
  107. <span class="input-group-text" style="color: #60CBEB">
  108. <b>RN</b>
  109. </span>
  110. </div>
  111. <select
  112. class="form-control"
  113. id="resort"
  114. name="resort"
  115. v-model="sellItem.resort"
  116. @change="resortChange()"
  117. >
  118. <option value="Other">Other</option>
  119. <option
  120. v-for="(resort, r) in resorts"
  121. :key="r"
  122. :value="resort"
  123. >{{resort.resortName}}</option>
  124. </select>
  125. </div>
  126. </div>
  127. <div class="col-md-6">
  128. <label for="* If other" v-if="sellItem.otherResort">Name of resort</label>
  129. <div class="input-group mb-3">
  130. <div class="input-group-prepend">
  131. <span
  132. class="input-group-text"
  133. style="color: #60CBEB"
  134. v-if="sellItem.otherResort"
  135. >
  136. <b>RN</b>
  137. </span>
  138. </div>
  139. <input
  140. class="form-control"
  141. v-if="sellItem.otherResort"
  142. placeholder="* If other"
  143. type="text"
  144. name="other"
  145. v-model="sellItem.otherResortName"
  146. />
  147. </div>
  148. <label for="Region" v-if="sellItem.otherResort">Province</label>
  149. <div class="input-group mb-3">
  150. <div class="input-group-prepend">
  151. <span
  152. class="input-group-text"
  153. style="color: #60CBEB"
  154. v-if="sellItem.otherResort"
  155. >
  156. <b>P</b>
  157. </span>
  158. </div>
  159. <select
  160. class="form-control"
  161. v-if="sellItem.otherResort"
  162. name="region"
  163. id="region"
  164. v-model="sellItem.region"
  165. >
  166. <option v-for="(region, r) in regions" :key="r">{{region.regionName}}</option>
  167. </select>
  168. </div>
  169. </div>
  170. </div>
  171. <div class="form-group row">
  172. <div class="col-md-6">
  173. <label for="Unit number">Unit Number</label>
  174. <div class="input-group mb-3">
  175. <div class="input-group-prepend">
  176. <span class="input-group-text" style="color: #60CBEB">
  177. <b>U#</b>
  178. </span>
  179. </div>
  180. <input
  181. class="form-control"
  182. type="text"
  183. name="unit"
  184. v-model="sellItem.unitNumber"
  185. />
  186. </div>
  187. </div>
  188. <div class="col-md-6">
  189. <label for="Module">Module / Week Number</label>
  190. <div class="input-group mb-3">
  191. <div class="input-group-prepend">
  192. <span class="input-group-text" style="color: #60CBEB">
  193. <b>M</b>
  194. </span>
  195. </div>
  196. <input class="form-control" type="text" name="module" v-model="sellItem.module" />
  197. </div>
  198. </div>
  199. </div>
  200. <div class="form-group row">
  201. <div class="col-md-6">
  202. <label for="Season">Season</label>
  203. <div class="input-group mb-3">
  204. <div class="input-group-prepend">
  205. <span class="input-group-text" style="color: #60CBEB">
  206. <b>S</b>
  207. </span>
  208. </div>
  209. <select class="form-control" name="season" v-model="sellItem.season">
  210. <option v-for="(season, r) in seasons" :key="r">{{season.name}}</option>
  211. </select>
  212. </div>
  213. </div>
  214. <div class="col-md-6">
  215. <label for="Bedrooms">Bedrooms</label>
  216. <div class="input-group mb-3">
  217. <div class="input-group-prepend">
  218. <span class="input-group-text" style="color: #60CBEB">
  219. <b>Bed</b>
  220. </span>
  221. </div>
  222. <select class="form-control" name="bedrooms" v-model="sellItem.bedrooms">
  223. <option v-for="(item, i) in resortBedrooms" :key="i">{{item}}</option>
  224. </select>
  225. </div>
  226. </div>
  227. <div class="col-md-6">
  228. <label for="Sleeps maximum">Sleep max</label>
  229. <div class="input-group mb-3">
  230. <div class="input-group-prepend">
  231. <span class="input-group-text" style="color: #60CBEB">
  232. <b>Max</b>
  233. </span>
  234. </div>
  235. <select class="form-control" name="sleeps" v-model="sellItem.maxSleep">
  236. <option v-for="(item, i) in maxSleep" :key="i">{{item}}</option>
  237. </select>
  238. </div>
  239. </div>
  240. <div class="col-md-6">
  241. <label for="Levy">Levy Amount</label>
  242. <div class="input-group mb-3">
  243. <div class="input-group-prepend">
  244. <span class="input-group-text" style="color: #60CBEB">
  245. <b>R</b>
  246. </span>
  247. </div>
  248. <input
  249. class="form-control"
  250. type="number"
  251. step="any"
  252. name="levy"
  253. v-model="sellItem.levyAmount"
  254. />
  255. </div>
  256. </div>
  257. </div>
  258. <div class="form-group row">
  259. <div class="col-md-12">
  260. <label for="Owner">Owner</label>
  261. <div class="input-group mb-3">
  262. <div class="input-group-prepend">
  263. <span class="input-group-text" style="color: #60CBEB">
  264. <b>O</b>
  265. </span>
  266. </div>
  267. <input class="form-control" type="text" name="owner" v-model="sellItem.owner" />
  268. </div>
  269. </div>
  270. </div>
  271. <div class="form-group row">
  272. <div class="col-md-6">
  273. <p>Has your week been spacebanked for the current year?</p>
  274. <div class="form-check">
  275. <input
  276. class="form-check-input"
  277. type="radio"
  278. name="spacebankedyear"
  279. id="spacebankedyearyes"
  280. value="Yes"
  281. @change="changeCurrentBanked"
  282. :checked="sellItem.currentYearBanked"
  283. />
  284. <label class="form-check-label" for="spacebankedyearyes">Yes</label>
  285. </div>
  286. <div class="form-check">
  287. <input
  288. class="form-check-input"
  289. type="radio"
  290. name="spacebankedyear"
  291. id="spacebankedyearno"
  292. value="No"
  293. :checked="!sellItem.currentYearBanked"
  294. @change="changeCurrentBanked"
  295. />
  296. <label class="form-check-label" for="spacebankedyearno">No</label>
  297. </div>
  298. </div>
  299. <div class="col-md-6">
  300. <label
  301. for="If yes, please confirm with whom"
  302. v-if="sellItem.currentYearBanked"
  303. >Please confirm with whom</label>
  304. <select
  305. class="form-control"
  306. name="spacebankOwner"
  307. v-if="sellItem.currentYearBanked"
  308. v-model="sellItem.bankedWith"
  309. >
  310. <option v-for="(item, i) in bankedEntities" :key="i">{{item}}</option>
  311. </select>
  312. </div>
  313. </div>
  314. </div>
  315. <div class="col-md-6">
  316. <label
  317. for="If yes, please confirm with whom"
  318. v-if="sellItem.currentYearBanked"
  319. >Please confirm with whom</label>
  320. <select
  321. class="form-control"
  322. name="spacebankOwner"
  323. v-if="sellItem.currentYearBanked"
  324. v-model="sellItem.bankedWith"
  325. >
  326. <option v-for="(item, i) in bankedEntities" :key="i">{{item}}</option>
  327. </select>
  328. </div>
  329. <DetailIndividual :owner="sellItem.owner" />
  330. <hr />
  331. <Address :address="sellItem.owner" />
  332. <hr />
  333. <BankDetails :bankingDetails="sellItem.owner.bankingDetails" />
  334. <hr />
  335. </div>
  336. <hr />
  337. <br />
  338. <div class="myWell">
  339. <h4>Share transfer information</h4>
  340. </div>
  341. <br />
  342. <tr>
  343. <td>1. With respect to my timeshare module/week, I confirm that:</td>
  344. </tr>
  345. <div class="form-group row" style="text-align:left">
  346. <label
  347. for="name"
  348. class="col-form-label col-md-8"
  349. >1.1 All levy amounts for the current cycle have been paid in full</label>
  350. <div class="col-md-4">
  351. <div class="form-check form-check-inline">
  352. <input
  353. class="form-check-input"
  354. type="radio"
  355. name="paid"
  356. value="Yes"
  357. :checked="sellItem.leviesPaidInFull"
  358. @change="changeLeviesPaidInFull()"
  359. />
  360. <label class="form-check-label" for="paid">Yes</label>
  361. </div>
  362. <div class="form-check form-check-inline">
  363. <input
  364. class="form-check-input"
  365. type="radio"
  366. name="paid"
  367. value="No"
  368. :checked="!sellItem.leviesPaidInFull"
  369. @change="changeLeviesPaidInFull()"
  370. />
  371. <label class="form-check-label" for="paid">No</label>
  372. </div>
  373. </div>
  374. </div>
  375. <hr />
  376. <div class="form-group row" style="text-align:left">
  377. <label
  378. for="name"
  379. class="col-form-label col-md-8"
  380. >1.2 My week is placed for rental this year</label>
  381. <div class="col-md-4">
  382. <div class="form-check form-check-inline">
  383. <input
  384. class="form-check-input"
  385. type="radio"
  386. name="rental"
  387. value="Yes"
  388. :checked="sellItem.weekPlacedForRental"
  389. @change="changeWeekPlacedForRental()"
  390. />
  391. <label class="form-check-label" for="paidyes">Yes</label>
  392. </div>
  393. <div class="form-check form-check-inline">
  394. <input
  395. class="form-check-input"
  396. type="radio"
  397. name="rental"
  398. value="No"
  399. :checked="!sellItem.weekPlacedForRental"
  400. @change="changeWeekPlacedForRental()"
  401. />
  402. <label class="form-check-label" for="paidno">No</label>
  403. </div>
  404. </div>
  405. </div>
  406. <hr />
  407. <div class="form-group row" style="text-align:left">
  408. <label
  409. for="name"
  410. class="col-form-label col-md-8"
  411. >1.3 I/We bought the timeshare module/week on the following date:</label>
  412. <div class="col-md-4">
  413. <input
  414. type="date"
  415. class="form-control"
  416. name="date"
  417. v-model="sellItem.originalPurchaseDate"
  418. />
  419. </div>
  420. </div>
  421. <hr />
  422. <div class="form-group row" style="text-align:left">
  423. <label
  424. for="name"
  425. class="col-form-label col-md-8"
  426. >1.4 The purchase price for which I/we bought timeshare module/week was:</label>
  427. <div class="col-md-4">
  428. <div class="input-group mb-3">
  429. <div class="input-group-prepend">
  430. <span class="input-group-text" style="color: #60CBEB">
  431. <b>R</b>
  432. </span>
  433. </div>
  434. <input
  435. class="form-control"
  436. type="number"
  437. step="any"
  438. name="purchasePrice"
  439. v-model="sellItem.originalPurchasePrice"
  440. />
  441. </div>
  442. </div>
  443. </div>
  444. <hr />
  445. <div class="form-group row" style="text-align:left">
  446. <label
  447. for="name"
  448. class="col-form-label col-md-8"
  449. >1.5 I/We bought the timeshare module/week for the following dates for the current year:</label>
  450. <div class="col-md-4">
  451. Arrival Date :
  452. <input
  453. type="date"
  454. class="form-control"
  455. name="occupationDate1"
  456. v-model="sellItem.arrivalDate"
  457. />
  458. Departure Date :
  459. <input
  460. type="date"
  461. class="form-control"
  462. name="occupationDate2"
  463. v-model="sellItem.departureDate"
  464. />
  465. </div>
  466. </div>
  467. <hr />
  468. <div class="form-group row" style="text-align:left">
  469. <label
  470. for="name"
  471. class="col-form-label col-md-8"
  472. >1.6 The selling price for the timeshare module/week for which I/we want to sell is: (Including Vat)</label>
  473. <div class="col-md-4">
  474. <div class="input-group mb-3">
  475. <div class="input-group-prepend">
  476. <span class="input-group-text" style="color: #60CBEB">
  477. <b>R</b>
  478. </span>
  479. </div>
  480. <input
  481. class="form-control"
  482. type="number"
  483. step="any"
  484. name="sellingPrice"
  485. v-model="sellItem.sellingPrice"
  486. />
  487. </div>
  488. </div>
  489. </div>
  490. <hr />
  491. <div class="form-group row" style="text-align:left">
  492. <label
  493. for="name"
  494. class="col-form-label col-md-8"
  495. >1.7 Estate agent’s commission agreed to (state Rand value)</label>
  496. <div class="col-md-4">
  497. <div class="input-group mb-3">
  498. <div class="input-group-prepend">
  499. <span class="input-group-text" style="color: #60CBEB">
  500. <b>R</b>
  501. </span>
  502. </div>
  503. <input
  504. class="form-control"
  505. type="number"
  506. step="any"
  507. name="commission"
  508. v-model="sellItem.agentCommission"
  509. />
  510. </div>
  511. </div>
  512. </div>
  513. <hr />
  514. <div class="form-group row" style="text-align:left">
  515. <label for="name" class="col-form-label col-md-8">1.8 Mandate to sell timeshare</label>
  516. <div class="col-md-4">
  517. <input class="btn btn-b-n" type="file" name="mandate" />
  518. </div>
  519. </div>
  520. <button type="submit" class="btn btn-b-n btn-lg">Submit</button>
  521. <hr />
  522. <p>* A listing fee of R380 including VAT is payable to list your timeshare week/module on the Uni-Vate website</p>
  523. <br />
  524. <br />
  525. <p style="text-align:center;">
  526. To rent your week out
  527. <a href="https://www.tradeunipoint.com/" target="_blank">click here</a>
  528. </p>
  529. </form>
  530. </div>
  531. </div>
  532. </div>
  533. </template>
  534. <script>
  535. import { mapState, mapActions } from 'vuex';
  536. import DetailIndividual from '../../user/timeshareIndividual.vue';
  537. import BankDetails from '../../shared/bankAccount.vue';
  538. import Address from '../../misc/address.vue';
  539. export default {
  540. name: 'TimeshareToSell',
  541. components: { DetailIndividual, BankDetails, Address },
  542. created() {
  543. this.initTimeshare();
  544. },
  545. computed: {
  546. ...mapState('timeshare', [
  547. 'resorts',
  548. 'regions',
  549. 'detailedRegion',
  550. 'seasons',
  551. 'resortBedrooms',
  552. 'maxSleep',
  553. 'bankedEntities',
  554. 'sellItem',
  555. 'agencies',
  556. 'agents',
  557. ]),
  558. refAgent() {
  559. return this.sellItem && this.sellItem.referedByAgent;
  560. },
  561. },
  562. methods: {
  563. previewFiles(event) {
  564. console.log(event.target.files);
  565. },
  566. changeRef() {
  567. this.sellItem.agent = undefined;
  568. this.sellItem.agency = undefined;
  569. this.sellItem.referedByAgent = !this.sellItem.referedByAgent;
  570. },
  571. changeLeviesPaidInFull() {
  572. this.sellItem.leviesPaidInFull = !this.sellItem.leviesPaidInFull;
  573. },
  574. changeWeekPlacedForRental() {
  575. this.sellItem.weekPlacedForRental = !this.sellItem.weekPlacedForRental;
  576. },
  577. changeCurrentBanked() {
  578. this.sellItem.bankedWith = undefined;
  579. this.sellItem.currentYearBanked = !this.sellItem.currentYearBanked;
  580. },
  581. resortChange() {
  582. if (this.sellItem && this.sellItem.resort === 'Other') {
  583. this.sellItem.otherResortName = undefined;
  584. this.sellItem.otherResort = true;
  585. } else {
  586. this.sellItem.otherResortName = undefined;
  587. this.sellItem.otherResort = false;
  588. }
  589. },
  590. ...mapActions('timeshare', ['initTimeshare']),
  591. },
  592. };
  593. </script>
  594. <style>
  595. .myWell {
  596. width: 100%;
  597. background-color: #60cbeb;
  598. border-radius: 6px;
  599. padding: 5px;
  600. margin: 3px;
  601. }
  602. </style>