add.vue 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <template>
  2. <!--MAIN-->
  3. <main>
  4. <!--REGISTER ADDRESS-->
  5. <div class="registerAddress mt-3">
  6. <div class="container-fluid c-section">
  7. <div class="row">
  8. <div class="col-sm-3"></div>
  9. <div class="col-sm-6">
  10. <div class="a-section a-spacing-medium">
  11. <div class="a-subheader a-breadcrumb a-spacing-small">
  12. <ul>
  13. <li>
  14. <a href="#">
  15. <span>Your Account</span>
  16. </a>
  17. </li>
  18. <li class="a-breadcrumb-divider">›</li>
  19. <li>
  20. <a href="#">
  21. <span>Your Adresses</span>
  22. </a>
  23. </li>
  24. <li class="a-breadcrumb-divider">›</li>
  25. <li class="active">
  26. <a href="#">
  27. <span>New Address</span>
  28. </a>
  29. </li>
  30. </ul>
  31. </div>
  32. </div>
  33. <div class="a-section">
  34. <h2>Add a new address</h2>
  35. <div class="a-section a-spacing-none a-spacing-top-small">
  36. <b>
  37. Or pick up your packages at your convenience from our self-service locations. To add an Amazon Pickup Point or Locker, click
  38. <a
  39. href="#"
  40. >here</a>.
  41. </b>
  42. </div>
  43. <!-- Error Message -->
  44. <div class="a-section a-spacing-none a-spacing-top-small">
  45. <b></b>
  46. </div>
  47. <form>
  48. <div class="a-spacing-medium a-spacing-top-medium">
  49. <!-- Country / Region -->
  50. <div class="a-spacing-top-medium">
  51. <label style="margin-bottom: 0px;">Country/Region</label>
  52. <select v-model="country" class="a-select-option">
  53. <option value>--</option>
  54. <option></option>
  55. </select>
  56. </div>
  57. <!-- Full name -->
  58. <div class="a-spacing-top-medium">
  59. <label style="margin-bottom: 0px;">Full Name</label>
  60. <input v-model="fullName" type="text" class="a-input-text" style="width: 100%;" />
  61. </div>
  62. <!-- Street Address -->
  63. <div class="a-spacing-top-medium">
  64. <label style="margin-bottom: 0px;">Street Address</label>
  65. <input
  66. v-model="streetAddress1"
  67. type="text"
  68. class="a-input-text"
  69. style="width: 100%;"
  70. placeholder="Street and number, P.O. box, c/o."
  71. />
  72. <!-- Street Address 2 -->
  73. <input
  74. v-model="streetAddress2"
  75. type="text"
  76. class="a-input-text a-spacing-top-small"
  77. style="width: 100%;"
  78. placeholder="Apartment, suite, unit, building, floor, etc."
  79. />
  80. </div>
  81. <!-- City -->
  82. <div class="a-spacing-top-medium">
  83. <label style="margin-bottom: 0px;">City</label>
  84. <input v-model="city" type="text" class="a-input-text" style="width: 100%;" />
  85. </div>
  86. <!-- State -->
  87. <div class="a-spacing-top-medium">
  88. <label style="margin-bottom: 0px;">State / Province / Region</label>
  89. <input v-model="state" type="text" class="a-input-text" style="width: 100%;" />
  90. </div>
  91. <!-- Zip Code -->
  92. <div class="a-spacing-top-medium">
  93. <label style="margin-bottom: 0px;">Zip Code</label>
  94. <input v-model="zipCode" type="text" class="a-input-text" style="width: 100%;" />
  95. </div>
  96. <!-- Phone Number -->
  97. <div class="a-spacing-top-medium">
  98. <label style="margin-bottom: 0px;">Phone Number</label>
  99. <input v-model="phoneNumber" type="text" class="a-input-text" style="width: 100%;" />
  100. <div class="a-section a-spacing-none a-spacing-top-micro">
  101. <span class="a-size-mini">May be used to assist delivery</span>
  102. </div>
  103. </div>
  104. <div class="a-spacing-base a-spacing-top-medium">
  105. <h3>Add delivery instructions</h3>
  106. </div>
  107. <!-- Delivery Instruction -->
  108. <div class="a-spacing-top-medium">
  109. <label
  110. style="margin-bottom: 0px;"
  111. >Do we need additional instructions to find this address?</label>
  112. <textarea
  113. v-model="deliverInstructions"
  114. placeholder="Provide details such as building description, a nearby landmark, or other navigation instructions"
  115. style="height:6em; width: 100%;"
  116. ></textarea>
  117. </div>
  118. <!-- Security code -->
  119. <div class="a-spacing-top-medium">
  120. <label
  121. style="margin-bottom: 0px;"
  122. >Do we need a security code or a call box number to access this building?</label>
  123. <input v-model="securityCode" type="text" class="a-input-text" style="width: 100%;" placeholder="1234" />
  124. </div>
  125. <div class="a-spacing-top-medium">
  126. <label style="margin-bottom: 0px;">Weekend delivery</label>
  127. <a href="#">
  128. <i class="fas fa-angle-down"></i> Which days can you receive packages?
  129. </a>
  130. </div>
  131. <div class="a-spacing-top-medium"></div>
  132. <hr />
  133. <div class="a-spacing-top-medium">
  134. <span>
  135. <b>Make sure your address is correct</b>
  136. </span>
  137. </div>
  138. <div>
  139. <span>If the address contains typos or other errors, your package may be undeliverable.</span>
  140. </div>
  141. <div class="a-spacing-top-small">
  142. <span>
  143. <a href="#">Tips for entering addresses</a>
  144. </span>
  145. <span>|</span>
  146. <span>
  147. <a href="#">APO/FPO address tips</a>
  148. </span>
  149. </div>
  150. <div class="a-spacing-top-large">
  151. <span class="a-button-register">
  152. <span class="a-button-inner">
  153. <span class="a-button-text">Add address</span>
  154. </span>
  155. </span>
  156. </div>
  157. </div>
  158. </form>
  159. </div>
  160. </div>
  161. <div class="col-sm-3"></div>
  162. </div>
  163. </div>
  164. </div>
  165. <!--/REGISTER ADDRESS-->
  166. </main>
  167. <!--/MAIN-->
  168. </template>
  169. <script>
  170. export default {
  171. data () {
  172. return {
  173. country: '',
  174. fullName: '',
  175. streetAddress1: '',
  176. streetAddress2: '',
  177. city: '',
  178. state: '',
  179. zipCode: '',
  180. phoneNumber: '',
  181. deliverInstructions: '',
  182. securityCode: ''
  183. }
  184. },
  185. methods: {
  186. async onAddAddress () {
  187. try {
  188. let data = {
  189. country: this.country,
  190. fullName: this.fullName,
  191. streetAddress1: this.streetAddress1,
  192. streetAddress2: this.streetAddress2,
  193. city: this.city,
  194. state: this.state,
  195. zipCode: this.zipCode,
  196. phoneNumber: this.phoneNumber,
  197. deliverInstructions: this.deliverInstructions,
  198. securityCode: this.securityCode,
  199. }
  200. let response = await $axios.$post('/api/address', data)
  201. if (response.success) {
  202. this.$router.push('/address')
  203. }
  204. } catch (err) {
  205. }
  206. }
  207. }
  208. }
  209. </script>