Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

sellPage.vue 22KB

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