ソースを参照

Login Fix & Various Fixes

master
30117125 4年前
コミット
16a9ddcadc
27個のファイルの変更428行の追加298行の削除
  1. 27
    0
      public/css/newStyle.css
  2. 51
    40
      src/components/financial/paygate/paygateProcess.vue
  3. 1
    1
      src/components/home/homePage.vue
  4. 5
    5
      src/components/home/propertySection.vue
  5. 51
    0
      src/components/misc/privacyPolicy/carouselSection.vue
  6. 99
    0
      src/components/misc/privacyPolicy/contentSection.vue
  7. 22
    0
      src/components/misc/privacyPolicy/privacyPolicyPage.vue
  8. 0
    121
      src/components/misc/privacyPolicyPage.vue
  9. 2
    2
      src/components/property/commercial/commercialPage.vue
  10. 4
    4
      src/components/property/commercial/latestListings.vue
  11. 18
    16
      src/components/property/residential/latestListings.vue
  12. 2
    2
      src/components/property/residential/residentialPage.vue
  13. 1
    1
      src/components/propertyManagement/ourServicesSection.vue
  14. 2
    2
      src/components/propertyManagement/propertyManagement.vue
  15. 1
    1
      src/components/propertyManagement/testimonialSection.vue
  16. 18
    5
      src/components/shared/footerSection.vue
  17. 2
    0
      src/components/shared/navBar.vue
  18. 32
    18
      src/components/timeshare/buy/searchSection.vue
  19. 0
    1
      src/components/timeshare/resort/contentSection.vue
  20. 3
    13
      src/components/timeshare/resort/unit/directions.vue
  21. 8
    2
      src/components/timeshare/resort/unit/tabSection.vue
  22. 26
    19
      src/components/timeshare/sell/contentSection.vue
  23. 37
    38
      src/components/user/loginPage.vue
  24. 2
    2
      src/main.js
  25. 10
    1
      src/router/index.js
  26. 3
    3
      src/store/modules/financial/payment.js
  27. 1
    1
      src/store/modules/user/authentication.js

+ 27
- 0
public/css/newStyle.css ファイルの表示

14
 
14
 
15
 @import url("https://fonts.googleapis.com/css?family=Muli&display=swap");
15
 @import url("https://fonts.googleapis.com/css?family=Muli&display=swap");
16
 
16
 
17
+.uniSelect {
18
+  border-color: rgb(27, 117, 187);
19
+  border-width: 2px;
20
+  font-family: "Muli";
21
+  color: rgb(118, 118, 118);
22
+  padding-left: 10px;
23
+  text-transform: uppercase;
24
+  font-size: 15px;
25
+  font-weight: 400;
26
+}
27
+
28
+.uniSelect option {
29
+  color: rgb(118, 118, 118);
30
+  font-family: "Muli";
31
+  text-transform: uppercase;
32
+}
33
+
34
+.uniSelectLabel {
35
+  position: absolute;
36
+  z-index: 2;
37
+  margin-left: 15px;
38
+  margin-top: 7px;
39
+  font-family: "muli";
40
+  font-size: 15px;
41
+  color: rgb(118, 118, 118);
42
+}
43
+
17
 body {
44
 body {
18
   color: #444;
45
   color: #444;
19
   font-family: "Muli";
46
   font-family: "Muli";

+ 51
- 40
src/components/financial/paygate/paygateProcess.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <div></div>
2
+  <div class="container mt-3 headerAdjustment">
3
+    <div class="row" v-if="loaded">
4
+      <div class="col"></div>
5
+      <div class="col-sm-6" sm="6">
6
+        <div class="card cardShadow">
7
+          <div class="container">
8
+            <div class="row" align="center">
9
+              <div class="row" align-v="center" style="width:100%">
10
+                <div class="col">
11
+                  <img width="150px" height="70" src="/img/logos/UVProp.png" />
12
+                </div>
13
+              </div>
14
+            </div>
15
+            <hr />
16
+            <div class="row">
17
+              <iframe
18
+                style="min-height:750px;"
19
+                name="payment_frame"
20
+                width="100%"
21
+                height="100%"
22
+                frameborder="0"
23
+              ></iframe>
24
+              <form
25
+                ref="form"
26
+                target="payment_frame"
27
+                action="https://secure.paygate.co.za/payweb3/process.trans"
28
+                method="POST"
29
+              >
30
+                <input type="hidden" name="PAY_REQUEST_ID" v-model="paymentReqId" />
31
+                <input type="hidden" name="CHECKSUM" v-model="checksum" />
32
+              </form>
33
+            </div>
34
+          </div>
35
+        </div>
36
+      </div>
37
+      <div class="col"></div>
38
+    </div>
39
+  </div>
3
 </template>
40
 </template>
4
 
41
 
5
 <script>
42
 <script>
6
 /* eslint-disable */
43
 /* eslint-disable */
7
-import { mapGetters, mapState, mapActions } from "vuex";
8
-
44
+import { mapGetters, mapActions } from "vuex";
9
 export default {
45
 export default {
46
+  data() {
47
+    return {
48
+      loaded: false
49
+    };
50
+  },
51
+  props: ["checksum", "paymentReqId"],
52
+  created() {
53
+    this.populateData();
54
+  },
10
   methods: {
55
   methods: {
11
-    ...mapActions(["payment", ["addPayment"]]),
12
-    sethtmlData(id, check) {
13
-      this.reqId = id;
14
-      this.checksum = check;
15
-    },
16
-    async placeOrder() {
17
-      await this.addOrder(this.price).then(async response => {
18
-        var respObj = {};
19
-
20
-        await response.split("&").forEach(element => {
21
-          var name = "";
22
-          var value = "";
23
-          name = element.split("=")[0];
24
-          value = element.split("=")[1];
25
-          if (name === "PAYGATE_ID") {
26
-            respObj.PAYGATE_ID = value;
27
-          } else if (name === "PAY_REQUEST_ID") {
28
-            respObj.PAY_REQUEST_ID = value;
29
-          } else if (name === "REFERENCE") {
30
-            respObj.REFERENCE = value;
31
-          } else if (name === "CHECKSUM") {
32
-            respObj.CHECKSUM = value;
33
-          }
34
-        });
35
-
36
-        await this.sethtmlData(respObj.PAY_REQUEST_ID, respObj.CHECKSUM);
37
-      });
38
-
39
-      this.$router.push({
40
-        name: "PaymentGateway",
41
-        params: {
42
-          paymentReqId: this.reqId,
43
-          checksum: this.checksum
44
-        }
45
-      });
56
+    async populateData() {
57
+      setTimeout(() => (this.loaded = true), 100);
58
+      setTimeout(() => this.$refs.form.submit(), 100);
46
     }
59
     }
47
   }
60
   }
48
 };
61
 };
53
   box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.281), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
66
   box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.281), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
54
 }
67
 }
55
 </style>
68
 </style>
56
-
57
-<style lang="scss" scoped></style>

+ 1
- 1
src/components/home/homePage.vue ファイルの表示

3
     <CarouselSection />
3
     <CarouselSection />
4
     <PropertySection
4
     <PropertySection
5
       data-aos="fade-up"
5
       data-aos="fade-up"
6
-      data-aos-anchor-placement="center-bottom"
6
+      data-aos-anchor-placement="top-bottom"
7
       data-aos-delay="150"
7
       data-aos-delay="150"
8
     />
8
     />
9
   </div>
9
   </div>

+ 5
- 5
src/components/home/propertySection.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <main id="main">
3
-    <section id="portfolio" class="wow fadeInUp">
2
+  <section id="portfolio">
3
+    <div style="margin-top:-60px">
4
       <div class="container">
4
       <div class="container">
5
         <div class="row">
5
         <div class="row">
6
           <div class="col-lg-12">
6
           <div class="col-lg-12">
20
           </div>
20
           </div>
21
         </div>
21
         </div>
22
       </div>
22
       </div>
23
-    </section>
24
-    <!-- #listings -->
25
-  </main>
23
+    </div>
24
+  </section>
25
+  <!-- #listings -->
26
 </template>
26
 </template>
27
 
27
 
28
 <script>
28
 <script>

+ 51
- 0
src/components/misc/privacyPolicy/carouselSection.vue ファイルの表示

1
+<template>
2
+  <section id="intro">
3
+    <div class="container">
4
+      <div class="row">
5
+        <div align="left" class="col-sm-12 col-md-8">
6
+          <div class="intro-content box">
7
+            <h2>Privacy Policy</h2>
8
+            <p>
9
+              We respect your privacy. This Privacy Policy governs the manner in which we will treat
10
+              your personal information collected when using our website and when we otherwise
11
+              engage with each after you visiting our website.
12
+            </p>
13
+          </div>
14
+        </div>
15
+      </div>
16
+    </div>
17
+
18
+    <carousel
19
+      :nav="false"
20
+      :dots="false"
21
+      :items="1"
22
+      :autoplay="true"
23
+      :loop="true"
24
+      id="intro-carousel"
25
+      style="margin-top:-50px"
26
+      :responsive="{ 0: { items: 1, nav: false }, 600: { items: 1, nav: false } }"
27
+    >
28
+      <img class="item" src="/img/intro-carousel/home-1.jpg" alt="" />
29
+      <img class="item" src="/img/intro-carousel/home-2.jpg" alt="" />
30
+      <img class="item" src="/img/intro-carousel/home-3.jpg" alt="" />
31
+      <img class="item" src="/img/intro-carousel/home-4.jpg" alt="" />
32
+      <img class="item" src="/img/intro-carousel/home-5.jpg" alt="" />
33
+      <img class="item" src="/img/intro-carousel/home-6.jpg" alt="" />
34
+    </carousel>
35
+
36
+    <div id="intro-carousel" class="owl-carousel"></div>
37
+  </section>
38
+</template>
39
+
40
+<script>
41
+/* eslint-disable */
42
+
43
+import carousel from "vue-owl-carousel";
44
+export default {
45
+  components: {
46
+    carousel
47
+  }
48
+};
49
+</script>
50
+
51
+<style lang="scss" scoped></style>

+ 99
- 0
src/components/misc/privacyPolicy/contentSection.vue ファイルの表示

1
+<template>
2
+  <div class="container pt-5">
3
+    <div class="row mb-3">
4
+      <div class="col-sm-12 col-md-6">
5
+        <h2>How do we collect your personal indormation?</h2>
6
+        <p style="text-align:left">
7
+          Your personal information may be collected while using this website, when you contact us,
8
+          when you complete an application form, when you check in at your destination or when you
9
+          make use of the services of one of our affiliated business partners. Personal information
10
+          includes any information by which you can be identified and which relates to you as an
11
+          identifiable individual, such as your name, physical and postal addresses, email address,
12
+          sex, age and internet address from the domain from which you are visiting.
13
+        </p>
14
+      </div>
15
+      <div class="col-sm-12 col-md-6">
16
+        <h2>Use of your personal information</h2>
17
+        <p style="text-align:left">
18
+          We need to process your personal information when you make use of our service. We use your
19
+          personal information in the ordinary course of our business and to send you marketing
20
+          material relating to our service offering. You can unsubscribe at any time and we will
21
+          thereafter no longer use your personal information. We will not disclose your personal
22
+          information to third parties unless justifiable in terms of agreement between us.
23
+        </p>
24
+      </div>
25
+    </div>
26
+    <div class="row mb-3">
27
+      <div class=" col-sm-12 col-md-6">
28
+        <h2>Access to and correction of personal information</h2>
29
+        <p style="text-align:left">
30
+          You may access your personal information that we hold by sending an email to
31
+          <a href="mailto:info@univateproperties.co.za">info@univateproperties.co.za</a>
32
+        </p>
33
+        <p style="text-align:left">
34
+          In the event that you want to update or correct your personal information held by us, you
35
+          can send an email to
36
+          <a href="mailto:info@univateproperties.co.za">info@univateproperties.co.za</a>
37
+        </p>
38
+      </div>
39
+      <div class="col-sm-12 col-md-6">
40
+        <h2>Protection of your personal information</h2>
41
+        <p style="text-align:left">
42
+          We take reasonable steps and measures to keep your information secure from loss, misuse or
43
+          unauthorised alteration. Our database has built-in safeguards to ensure the privacy and
44
+          confidentiality of your information. We do not have control over the websites of
45
+          affiliated parties or sites linked into from this site and you must therefore refer to the
46
+          privacy policies of any such parties to see how they protect your personal information.
47
+        </p>
48
+      </div>
49
+    </div>
50
+    <div class="row mb-3">
51
+      <div class="col-sm-12 col-md-6">
52
+        <h2>Cookies</h2>
53
+        <p style="text-align:left">
54
+          We may use cookies. Cookies are programs that we transfer to your computer’s hard drive to
55
+          personalise your experience on this website. In this way, the next time you visit, we will
56
+          know who you are and that you have visited this website before. This will enable us to
57
+          enhance your browsing experience. You can set your browser to notify you if cookies are to
58
+          be transferred or to reject cookies but this may prevent your use of some of the web
59
+          pages.
60
+        </p>
61
+      </div>
62
+      <div class="col-sm-12 col-md-6">
63
+        <h2>Email Monitoring</h2>
64
+        <p style="text-align:left">
65
+          We provide email addresses on the website which enable you to contact us. Forms that you
66
+          complete via this website will also be transmitted via email. In order to check for
67
+          viruses and to monitor service we reserve the right to monitor and inspect all material
68
+          and information transmitted over our system.
69
+        </p>
70
+      </div>
71
+    </div>
72
+    <div class="row mb-3">
73
+      <div class="col-sm-12 col-md-6">
74
+        <h2>Changes to this privacy policy</h2>
75
+        <p style="text-align:left">
76
+          We reserve the right, in our sole discretion, to amend this Privacy Policy from time to
77
+          time. You agree to review the Privacy Policy whenever you visit this website for any such
78
+          amendments. The amended version of the Privacy Policy shall supersede and replace all
79
+          previous versions thereof.
80
+        </p>
81
+      </div>
82
+      <div class="col-sm-12 col-md-6">
83
+        <h2>Which laws apply to your dealings with us?</h2>
84
+        <p style="text-align:left">
85
+          This policy will be governed and interpreted in accordance with the laws of South Africa.
86
+          To the extent that a court has jurisdiction over any dispute which may arise out of or in
87
+          connection with this Privacy Policy, we both submit to the jurisdiction of the South
88
+          African Courts.
89
+        </p>
90
+      </div>
91
+    </div>
92
+  </div>
93
+</template>
94
+
95
+<script>
96
+export default {};
97
+</script>
98
+
99
+<style lang="scss" scoped></style>

+ 22
- 0
src/components/misc/privacyPolicy/privacyPolicyPage.vue ファイルの表示

1
+<template>
2
+  <div>
3
+    <carouselSection />
4
+    <main id="main" style="margin-top:-20px;padding-bottom:50px">
5
+      <contentSection />
6
+    </main>
7
+  </div>
8
+</template>
9
+
10
+<script>
11
+/* eslint-disable */
12
+import carouselSection from "./carouselSection";
13
+import contentSection from "./contentSection";
14
+export default {
15
+  components: {
16
+    carouselSection,
17
+    contentSection
18
+  }
19
+};
20
+</script>
21
+
22
+<style lang="scss" scoped></style>

+ 0
- 121
src/components/misc/privacyPolicyPage.vue ファイルの表示

1
-<template>
2
-  <main id="main" style="margin-top:-20px;padding-bottom:50px">
3
-    <div class="container">
4
-      <div class="row mb-5">
5
-        <div class="col">
6
-          <div class="section-header">
7
-            <h2>Privacy Policy</h2>
8
-          </div>
9
-        </div>
10
-      </div>
11
-      <div class="row mb-3">
12
-        <div class="col-sm-12 col-md-6">
13
-          <h2>Privacy</h2>
14
-          <p style="text-align:left">
15
-            We respect your privacy. This Privacy Policy governs the manner in which we will treat
16
-            your personal information collected when using our website and when we otherwise engage
17
-            with each after you visiting our website.
18
-          </p>
19
-        </div>
20
-        <div class="col-sm-12 col-md-6">
21
-          <h2>How do we collect your personal indormation?</h2>
22
-          <p style="text-align:left">
23
-            Your personal information may be collected while using this website, when you contact
24
-            us, when you complete an application form, when you check in at your destination or when
25
-            you make use of the services of one of our affiliated business partners. Personal
26
-            information includes any information by which you can be identified and which relates to
27
-            you as an identifiable individual, such as your name, physical and postal addresses,
28
-            email address, sex, age and internet address from the domain from which you are
29
-            visiting.
30
-          </p>
31
-        </div>
32
-      </div>
33
-      <div class="row mb-3">
34
-        <div class=" col-sm-12 col-md-6">
35
-          <h2>Use of your personal information</h2>
36
-          <p style="text-align:left">
37
-            We need to process your personal information when you make use of our service. We use
38
-            your personal information in the ordinary course of our business and to send you
39
-            marketing material relating to our service offering. You can unsubscribe at any time and
40
-            we will thereafter no longer use your personal information. We will not disclose your
41
-            personal information to third parties unless justifiable in terms of agreement between
42
-            us.
43
-          </p>
44
-        </div>
45
-        <div class="col-sm-12 col-md-6">
46
-          <h2>Access to and correction of personal information</h2>
47
-          <p style="text-align:left">
48
-            You may access your personal information that we hold by sending an email to
49
-            <a href="mailto:info@univateproperties.co.za">info@univateproperties.co.za</a>
50
-          </p>
51
-          <p style="text-align:left">
52
-            In the event that you want to update or correct your personal information held by us,
53
-            you can send an email to
54
-            <a href="mailto:info@univateproperties.co.za">info@univateproperties.co.za</a>
55
-          </p>
56
-        </div>
57
-      </div>
58
-      <div class="row mb-3">
59
-        <div class="col-sm-12 col-md-6">
60
-          <h2>Protection of your personal information</h2>
61
-          <p style="text-align:left">
62
-            We take reasonable steps and measures to keep your information secure from loss, misuse
63
-            or unauthorised alteration. Our database has built-in safeguards to ensure the privacy
64
-            and confidentiality of your information. We do not have control over the websites of
65
-            affiliated parties or sites linked into from this site and you must therefore refer to
66
-            the privacy policies of any such parties to see how they protect your personal
67
-            information.
68
-          </p>
69
-        </div>
70
-        <div class="col-sm-12 col-md-6">
71
-          <h2>Cookies</h2>
72
-          <p style="text-align:left">
73
-            We may use cookies. Cookies are programs that we transfer to your computer’s hard drive
74
-            to personalise your experience on this website. In this way, the next time you visit, we
75
-            will know who you are and that you have visited this website before. This will enable us
76
-            to enhance your browsing experience. You can set your browser to notify you if cookies
77
-            are to be transferred or to reject cookies but this may prevent your use of some of the
78
-            web pages.
79
-          </p>
80
-        </div>
81
-      </div>
82
-      <div class="row mb-3">
83
-        <div class="col-sm-12 col-md-6">
84
-          <h2>Email Monitoring</h2>
85
-          <p style="text-align:left">
86
-            We provide email addresses on the website which enable you to contact us. Forms that you
87
-            complete via this website will also be transmitted via email. In order to check for
88
-            viruses and to monitor service we reserve the right to monitor and inspect all material
89
-            and information transmitted over our system.
90
-          </p>
91
-        </div>
92
-        <div class="col-sm-12 col-md-6">
93
-          <h2>Changes to this privacy policy</h2>
94
-          <p style="text-align:left">
95
-            We reserve the right, in our sole discretion, to amend this Privacy Policy from time to
96
-            time. You agree to review the Privacy Policy whenever you visit this website for any
97
-            such amendments. The amended version of the Privacy Policy shall supersede and replace
98
-            all previous versions thereof.
99
-          </p>
100
-        </div>
101
-      </div>
102
-      <div class="row mb-3">
103
-        <div class="col-md-12">
104
-          <h2>Which laws apply to your dealings with us?</h2>
105
-          <p style="text-align:left">
106
-            This policy will be governed and interpreted in accordance with the laws of South
107
-            Africa. To the extent that a court has jurisdiction over any dispute which may arise out
108
-            of or in connection with this Privacy Policy, we both submit to the jurisdiction of the
109
-            South African Courts.
110
-          </p>
111
-        </div>
112
-      </div>
113
-    </div>
114
-  </main>
115
-</template>
116
-
117
-<script>
118
-export default {};
119
-</script>
120
-
121
-<style lang="scss" scoped></style>

+ 2
- 2
src/components/property/commercial/commercialPage.vue ファイルの表示

2
   <div>
2
   <div>
3
     <carouselSection />
3
     <carouselSection />
4
     <main id="main">
4
     <main id="main">
5
-      <contentSection data-aos="fade-left" />
5
+      <contentSection data-aos="fade-left" data-aos-anchor-placement="top-bottom" />
6
       <latestListings
6
       <latestListings
7
         data-aos="fade-up"
7
         data-aos="fade-up"
8
-        data-aos-anchor-placement="center-bottom"
8
+        data-aos-anchor-placement="top-bottom"
9
         data-aos-delay="150"
9
         data-aos-delay="150"
10
       />
10
       />
11
     </main>
11
     </main>

+ 4
- 4
src/components/property/commercial/latestListings.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <main id="main">
3
-    <section id="portfolio">
2
+  <section id="portfolio">
3
+    <div style="margin-top:-60px">
4
       <div class="container">
4
       <div class="container">
5
         <div class="row">
5
         <div class="row">
6
           <div class="col-lg-12">
6
           <div class="col-lg-12">
20
           </div>
20
           </div>
21
         </div>
21
         </div>
22
       </div>
22
       </div>
23
-    </section>
24
-  </main>
23
+    </div>
24
+  </section>
25
 </template>
25
 </template>
26
 
26
 
27
 <script>
27
 <script>

+ 18
- 16
src/components/property/residential/latestListings.vue ファイルの表示

1
 <template>
1
 <template>
2
-  <main id="main">
2
+  <div>
3
     <section id="portfolio">
3
     <section id="portfolio">
4
-      <div class="container">
5
-        <div class="row">
6
-          <div class="col-lg-12">
7
-            <h2>Latest Listings</h2>
4
+      <div style="margin-top:-60px">
5
+        <div class="container">
6
+          <div class="row">
7
+            <div class="col-lg-12">
8
+              <h2>Latest Listings</h2>
9
+            </div>
8
           </div>
10
           </div>
9
         </div>
11
         </div>
10
-      </div>
11
-      <div class="contianer">
12
-        <div class="row">
13
-          <div class="col">
14
-            <propertyCard
15
-              v-if="properties.length > 0"
16
-              name="propertyholder"
17
-              :properties="properties"
18
-              :showSort="false"
19
-            />
12
+        <div class="contianer">
13
+          <div class="row">
14
+            <div class="col">
15
+              <propertyCard
16
+                v-if="properties.length > 0"
17
+                name="propertyholder"
18
+                :properties="properties"
19
+                :showSort="false"
20
+              />
21
+            </div>
20
           </div>
22
           </div>
21
         </div>
23
         </div>
22
       </div>
24
       </div>
23
     </section>
25
     </section>
24
-  </main>
26
+  </div>
25
 </template>
27
 </template>
26
 
28
 
27
 <script>
29
 <script>

+ 2
- 2
src/components/property/residential/residentialPage.vue ファイルの表示

2
   <div>
2
   <div>
3
     <carouselSection />
3
     <carouselSection />
4
     <main id="main">
4
     <main id="main">
5
-      <contentSection data-aos="fade-left" />
5
+      <contentSection data-aos="fade-left" data-aos-anchor-placement="top-bottom" />
6
       <latestListings
6
       <latestListings
7
         data-aos="fade-up"
7
         data-aos="fade-up"
8
-        data-aos-anchor-placement="center-bottom"
8
+        data-aos-anchor-placement="top-bottom"
9
         data-aos-delay="150"
9
         data-aos-delay="150"
10
       />
10
       />
11
     </main>
11
     </main>

+ 1
- 1
src/components/propertyManagement/ourServicesSection.vue ファイルの表示

1
 <template>
1
 <template>
2
   <section id="services">
2
   <section id="services">
3
-    <div class="container">
3
+    <div class="container" style="margin-top:-15px">
4
       <div class="row">
4
       <div class="row">
5
         <div align="left" class="col-lg-4">
5
         <div align="left" class="col-lg-4">
6
           <p>Our Services:</p>
6
           <p>Our Services:</p>

+ 2
- 2
src/components/propertyManagement/propertyManagement.vue ファイルの表示

2
   <div>
2
   <div>
3
     <CarouselSection />
3
     <CarouselSection />
4
     <main id="main">
4
     <main id="main">
5
-      <ServicesSection data-aos="fade-down" />
5
+      <ServicesSection data-aos="fade-down" data-aos-anchor-placement="top-bottom" />
6
       <TestimonialSection
6
       <TestimonialSection
7
         data-aos="fade-up"
7
         data-aos="fade-up"
8
-        data-aos-anchor-placement="center-bottom"
8
+        data-aos-anchor-placement="top-bottom"
9
         data-aos-delay="150"
9
         data-aos-delay="150"
10
       />
10
       />
11
     </main>
11
     </main>

+ 1
- 1
src/components/propertyManagement/testimonialSection.vue ファイルの表示

13
         :loop="true"
13
         :loop="true"
14
         id="intro-carousel"
14
         id="intro-carousel"
15
         style="margin-top:-50px"
15
         style="margin-top:-50px"
16
-        :responsive="{ 0: { items: 2, nav: false }, 600: { items: 2, nav: false } }"
16
+        :responsive="{ 0: { items: 1, nav: false }, 600: { items: 2, nav: false } }"
17
         class="mt-3"
17
         class="mt-3"
18
       >
18
       >
19
         <div class="content">
19
         <div class="content">

+ 18
- 5
src/components/shared/footerSection.vue ファイルの表示

51
                 <div class="form">
51
                 <div class="form">
52
                   <div id="sendmessage">Your message has been sent. Thank you!</div>
52
                   <div id="sendmessage">Your message has been sent. Thank you!</div>
53
                   <div id="errormessage"></div>
53
                   <div id="errormessage"></div>
54
-                  <form action="" method="post" role="form" class="contactForm">
54
+                  <form
55
+                    action="mailto:jlouw365@gmail.com"
56
+                    method="post"
57
+                    role="form"
58
+                    class="contactForm"
59
+                  >
55
                     <div class="form-row">
60
                     <div class="form-row">
56
                       <div class="form-group col-md-6">
61
                       <div class="form-group col-md-6">
57
                         <input
62
                         <input
131
         </div>
136
         </div>
132
         <div class="row justify-content-center">
137
         <div class="row justify-content-center">
133
           <div class="col-lg-2 p-4">
138
           <div class="col-lg-2 p-4">
134
-            <a href="#"><img src="../../../public/img/logos/daeNew.png"/></a>
139
+            <a href="https://www.daelive.com/" target="_blank"
140
+              ><img src="../../../public/img/logos/daeNew.png"
141
+            /></a>
135
           </div>
142
           </div>
136
           <div class="col-lg-2 p-4">
143
           <div class="col-lg-2 p-4">
137
-            <a href="#"><img src="../../../public/img/logos/rciNew.png"/></a>
144
+            <a href="https://www.rci.co.za/Home/Default.aspx?id=10001" target="_blank"
145
+              ><img src="../../../public/img/logos/rciNew.png"
146
+            /></a>
138
           </div>
147
           </div>
139
           <div class="col-lg-2 p-4">
148
           <div class="col-lg-2 p-4">
140
-            <a href="#"><img src="../../../public/img/logos/gomeloNew.png"/></a>
149
+            <a href="https://www.gomelo.co.za/" target="_blank"
150
+              ><img src="../../../public/img/logos/gomeloNew.png"
151
+            /></a>
141
           </div>
152
           </div>
142
           <div class="col-lg-2 p-4">
153
           <div class="col-lg-2 p-4">
143
-            <a href="#"><img src="../../../public/img/logos/voasaNew.png"/></a>
154
+            <a href="https://voasa.co.za/" target="_blank"
155
+              ><img src="../../../public/img/logos/voasaNew.png"
156
+            /></a>
144
           </div>
157
           </div>
145
         </div>
158
         </div>
146
         <div class="row">
159
         <div class="row">

+ 2
- 0
src/components/shared/navBar.vue ファイルの表示

277
     ...mapState("authentication", ["user", "flag", "status", "person", "token"]),
277
     ...mapState("authentication", ["user", "flag", "status", "person", "token"]),
278
     isLoggedIn() {
278
     isLoggedIn() {
279
       console.log(Log.isLoggedIn());
279
       console.log(Log.isLoggedIn());
280
+      console.log(this.user);
281
+
280
       return Log.isLoggedIn();
282
       return Log.isLoggedIn();
281
     },
283
     },
282
     NAME() {
284
     NAME() {

+ 32
- 18
src/components/timeshare/buy/searchSection.vue ファイルの表示

8
           <div class="input-group">
8
           <div class="input-group">
9
             <label v-if="selectedRegion === null" class="uniSelectLabel" for="region">Region</label>
9
             <label v-if="selectedRegion === null" class="uniSelectLabel" for="region">Region</label>
10
             <select
10
             <select
11
-              class="custom-select"
11
+              class="form-control uniSelect"
12
               name="region"
12
               name="region"
13
               id="region"
13
               id="region"
14
               v-model="selectedRegion"
14
               v-model="selectedRegion"
20
             </select>
20
             </select>
21
           </div>
21
           </div>
22
 
22
 
23
-          <div v-if="selectedRegion !== null" class="input-group mt-2">
23
+          <div v-if="selectedRegion !== null" class="input-group my-1">
24
             <label v-if="selectedResort === null" class="uniSelectLabel" for="resort">Resort</label>
24
             <label v-if="selectedResort === null" class="uniSelectLabel" for="resort">Resort</label>
25
             <select
25
             <select
26
-              class="custom-select"
26
+              class="form-control uniSelect"
27
               name="resort"
27
               name="resort"
28
               id="resort"
28
               id="resort"
29
               v-model="selectedResort"
29
               v-model="selectedResort"
34
               </option>
34
               </option>
35
             </select>
35
             </select>
36
           </div>
36
           </div>
37
-          <div v-else class="input-group mt-2">
37
+          <div v-else class="input-group my-1">
38
             <label v-if="selectedResort === null" class="uniSelectLabel" for="resort">Resort</label>
38
             <label v-if="selectedResort === null" class="uniSelectLabel" for="resort">Resort</label>
39
-            <select class="custom-select" name="resort" id="resort">
39
+            <select class="form-control uniSelect" name="resort" id="resort">
40
               <option disabled>
40
               <option disabled>
41
                 Please Select a Region First
41
                 Please Select a Region First
42
               </option>
42
               </option>
43
             </select>
43
             </select>
44
           </div>
44
           </div>
45
-          <div class="input-group mt-2">
45
+          <div class="input-group my-1">
46
             <label v-if="selectedSeason === null" class="uniSelectLabel" for="season">Season</label>
46
             <label v-if="selectedSeason === null" class="uniSelectLabel" for="season">Season</label>
47
-            <select class="custom-select" name="season" id="season" v-model="selectedSeason">
47
+            <select
48
+              class="form-control uniSelect"
49
+              name="season"
50
+              id="season"
51
+              v-model="selectedSeason"
52
+            >
48
               <option v-for="season in seasons" :key="season.id" :value="season">
53
               <option v-for="season in seasons" :key="season.id" :value="season">
49
                 {{ season.name }}
54
                 {{ season.name }}
50
               </option>
55
               </option>
51
             </select>
56
             </select>
52
           </div>
57
           </div>
58
+
53
           <input
59
           <input
54
             type="number"
60
             type="number"
55
             name="bedrooms"
61
             name="bedrooms"
57
             id="bedrooms"
63
             id="bedrooms"
58
             placeholder="Bedrooms"
64
             placeholder="Bedrooms"
59
             v-model="bedrooms"
65
             v-model="bedrooms"
66
+            @input="checkValueBedrooms()"
60
           />
67
           />
68
+
61
           <input
69
           <input
62
             type="number"
70
             type="number"
63
             name="max-price"
71
             name="max-price"
65
             id="max-price"
73
             id="max-price"
66
             placeholder="Maximum Price"
74
             placeholder="Maximum Price"
67
             v-model="maxPrice"
75
             v-model="maxPrice"
76
+            @input="checkValuePrice()"
68
           />
77
           />
69
 
78
 
70
           <p>
79
           <p>
137
       selectedRegion: null,
146
       selectedRegion: null,
138
       selectedResort: null,
147
       selectedResort: null,
139
       selectedSeason: null,
148
       selectedSeason: null,
140
-      bedrooms: 0,
141
-      maxPrice: 0,
149
+      bedrooms: null,
150
+      maxPrice: null,
142
       dateFrom: "",
151
       dateFrom: "",
143
       dateTo: ""
152
       dateTo: ""
144
     };
153
     };
177
     updateMapProvince(province) {
186
     updateMapProvince(province) {
178
       this.myMap = province.replace(/\s/g, "");
187
       this.myMap = province.replace(/\s/g, "");
179
       this.myZoom = 7;
188
       this.myZoom = 7;
189
+    },
190
+    checkValueBedrooms() {
191
+      if (this.bedrooms === "0") {
192
+        this.bedrooms = null;
193
+      }
194
+    },
195
+    checkValuePrice() {
196
+      if (this.maxPrice === "0") {
197
+        this.maxPrice = null;
198
+      }
180
     }
199
     }
181
   }
200
   }
182
 };
201
 };
199
   border-color: #a5a5a5;
218
   border-color: #a5a5a5;
200
 }
219
 }
201
 
220
 
202
-.custom-select {
203
-  border-width: 1px;
204
-  border-radius: 3.425px;
205
-  border-color: rgba(0, 0, 0, 0.1);
206
-  font-family: "Muli";
207
-  font-size: 14.5px;
208
-  font-weight: 400;
221
+.uniSelect {
222
+  text-transform: none;
209
 }
223
 }
210
 
224
 
211
-.custom-select option p {
212
-  color: #495057 !important;
225
+.uniSelect option {
226
+  text-transform: none;
213
 }
227
 }
214
 
228
 
215
 .uniSelectLabel {
229
 .uniSelectLabel {

+ 0
- 1
src/components/timeshare/resort/contentSection.vue ファイルの表示

71
             <br />
71
             <br />
72
             {{ resort.prDirections }}
72
             {{ resort.prDirections }}
73
           </p>
73
           </p>
74
-
75
           <div class="d-flex mt-3">
74
           <div class="d-flex mt-3">
76
             <iframe
75
             <iframe
77
               width="100%"
76
               width="100%"

+ 3
- 13
src/components/timeshare/resort/unit/directions.vue ファイルの表示

3
     <div class="row">
3
     <div class="row">
4
       <div class="col">
4
       <div class="col">
5
         <label v-if="startAddress === null" class="uniSelectLabel" for="weekInfoRegionSelect"
5
         <label v-if="startAddress === null" class="uniSelectLabel" for="weekInfoRegionSelect"
6
-          >Select</label
6
+          >SELECT</label
7
         >
7
         >
8
-        <select v-model="startAddress" class="form-control mb-3" @change="calcRoute()">
8
+        <select v-model="startAddress" class="uniSelect form-control mb-3" @change="calcRoute()">
9
           <optgroup label="Cities">
9
           <optgroup label="Cities">
10
             <option value="-29.087217,26.154898">Bloemfontein</option>
10
             <option value="-29.087217,26.154898">Bloemfontein</option>
11
             <option value="-33.918861, 18.423300">Cape Town</option>
11
             <option value="-33.918861, 18.423300">Cape Town</option>
127
 };
127
 };
128
 </script>
128
 </script>
129
 
129
 
130
-<style lang="scss" scoped>
131
-.uniSelectLabel {
132
-  position: absolute;
133
-  z-index: 2;
134
-  margin-left: 15px;
135
-  margin-top: 7px;
136
-  font-family: "muli";
137
-  font-size: 15px;
138
-  color: rgb(118, 118, 118);
139
-}
140
-</style>
130
+<style lang="scss" scoped></style>

+ 8
- 2
src/components/timeshare/resort/unit/tabSection.vue ファイルの表示

1
 <template>
1
 <template>
2
   <div>
2
   <div>
3
-    <ul class="nav nav-tabs" id="myTab" role="tablist">
3
+    <ul class="nav nav-tabs nav-justified" id="myTab" role="tablist">
4
       <li class="nav-item">
4
       <li class="nav-item">
5
         <a
5
         <a
6
           class="nav-link active"
6
           class="nav-link active"
62
       <div class="tab-pane fade" id="directions" role="tabpanel" aria-labelledby="profile-tab">
62
       <div class="tab-pane fade" id="directions" role="tabpanel" aria-labelledby="profile-tab">
63
         <directions :resortCoords="resortCoords" />
63
         <directions :resortCoords="resortCoords" />
64
       </div>
64
       </div>
65
-      <div class="tab-pane fade" id="layout" role="tabpanel" aria-labelledby="contact-tab">
65
+      <div class="tab-pane fade mt-3" id="layout" role="tabpanel" aria-labelledby="contact-tab">
66
         <img :src="layoutImages[0]" @click="index = 0" style="width:100%" />
66
         <img :src="layoutImages[0]" @click="index = 0" style="width:100%" />
67
         <gallery :images="layoutImages" :index="index" @close="index = null"></gallery>
67
         <gallery :images="layoutImages" :index="index" @close="index = null"></gallery>
68
       </div>
68
       </div>
78
 import facilities from "./facilities";
78
 import facilities from "./facilities";
79
 import directions from "./directions";
79
 import directions from "./directions";
80
 import gallery from "../../../shared/gallerySlideShow";
80
 import gallery from "../../../shared/gallerySlideShow";
81
+import AOS from "aos";
82
+import "aos/dist/aos.css";
83
+
81
 export default {
84
 export default {
82
   components: {
85
   components: {
83
     facilities,
86
     facilities,
84
     directions,
87
     directions,
85
     gallery
88
     gallery
86
   },
89
   },
90
+  created() {
91
+    AOS.init();
92
+  },
87
   data() {
93
   data() {
88
     return {
94
     return {
89
       index: null
95
       index: null

+ 26
- 19
src/components/timeshare/sell/contentSection.vue ファイルの表示

278
             <div id="sendmessage">Your details has been sent. Thank you!</div>
278
             <div id="sendmessage">Your details has been sent. Thank you!</div>
279
             <div id="errormessage"></div>
279
             <div id="errormessage"></div>
280
 
280
 
281
-            <form action="" method="post" role="form" class="contactForm">
281
+            <form role="form" class="contactForm">
282
               <div class="form-row">
282
               <div class="form-row">
283
                 <div
283
                 <div
284
                   class="form-group col-md-12"
284
                   class="form-group col-md-12"
446
                 <button class="btn-solid-blue" @click="submitSale()">SUBMIT</button>
446
                 <button class="btn-solid-blue" @click="submitSale()">SUBMIT</button>
447
               </div>
447
               </div>
448
             </form>
448
             </form>
449
+            <button class="btn-solid-blue" @click="paygateTest()">PayGate</button>
449
             <br /><br />
450
             <br /><br />
450
           </div>
451
           </div>
451
         </div>
452
         </div>
534
   },
535
   },
535
   methods: {
536
   methods: {
536
     ...mapActions("individual", ["getIndividual"]),
537
     ...mapActions("individual", ["getIndividual"]),
538
+    ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek"]),
539
+    ...mapActions("payment", ["addPayment"]),
537
     submitSale() {
540
     submitSale() {
538
       if (this.isLoggedIn) {
541
       if (this.isLoggedIn) {
539
-        this.saveWeek(this.sellItem);
542
+        //this.saveWeek(this.sellItem);
540
       } else this.$router.push("/user/login");
543
       } else this.$router.push("/user/login");
541
     },
544
     },
545
+    paygateTest() {
546
+      var paymentObj = {
547
+        timeshareWeekId: 1,
548
+        propertyId: 0,
549
+        creatydById: 3,
550
+        amount: 380.0,
551
+        paymentStatus: "",
552
+        paymentToken: ""
553
+      };
554
+
555
+      this.addPayment(paymentObj).then(res => {
556
+        this.$router.push({
557
+          name: "PaymentGateway",
558
+          params: {
559
+            paymentReqId: res.PAY_REQUEST_ID,
560
+            checksum: res.CHECKSUM
561
+          }
562
+        });
563
+      });
564
+    },
542
     previewFiles(event) {
565
     previewFiles(event) {
543
       console.log(event.target.files);
566
       console.log(event.target.files);
544
     },
567
     },
573
     },
596
     },
574
     regionChange() {
597
     regionChange() {
575
       this.sellItem.regionId = this.sellItem.region ? this.sellItem.region.id : 1;
598
       this.sellItem.regionId = this.sellItem.region ? this.sellItem.region.id : 1;
576
-    },
577
-    ...mapActions("timeshare", ["initTimeshare", "onResortChange", "saveWeek"])
599
+    }
578
   }
600
   }
579
 };
601
 };
580
 </script>
602
 </script>
600
   height: 150px;
622
   height: 150px;
601
 }
623
 }
602
 
624
 
603
-.uniSelect {
604
-  border-color: rgb(27, 117, 187);
605
-  border-width: 2px;
606
-}
607
-
608
-.uniSelectLabel {
609
-  position: absolute;
610
-  z-index: 2;
611
-  margin-left: 15px;
612
-  margin-top: 7px;
613
-  font-family: "muli";
614
-  font-size: 15px;
615
-  color: rgb(118, 118, 118);
616
-}
617
-
618
 .custom-file-label {
625
 .custom-file-label {
619
   border-width: 2px;
626
   border-width: 2px;
620
   border-color: rgb(27, 117, 187);
627
   border-color: rgb(27, 117, 187);

+ 37
- 38
src/components/user/loginPage.vue ファイルの表示

9
                 <div class="card card-signin my-5">
9
                 <div class="card card-signin my-5">
10
                   <div class="card-body">
10
                   <div class="card-body">
11
                     <h3 class="card-title text-center">Login</h3>
11
                     <h3 class="card-title text-center">Login</h3>
12
-                    <form class="form-signin">
13
-                      <div v-if="error">
14
-                        <alert
15
-                          :text="'User doesn\'t exist or Username and Password is incorrect'"
16
-                          :type="'ERROR'"
17
-                        />
18
-                      </div>
19
-                      <div class="form-label-group">
20
-                        <input
21
-                          type="text"
22
-                          id="inputEmail"
23
-                          v-model="username"
24
-                          class="form-control"
25
-                          placeholder="Username"
26
-                          required
27
-                          autofocus
28
-                        />
29
-                      </div>
30
-                      <div class="form-label-group">
31
-                        <input
32
-                          type="password"
33
-                          placeholder="Password"
34
-                          v-model="password"
35
-                          id="inputPassword"
36
-                          class="form-control"
37
-                          required
38
-                        />
39
-                      </div>
40
-                      <div class="custom-control custom-checkbox mb-3">
41
-                        <input type="checkbox" class="custom-control-input" id="customCheck1" />
42
-                        <label class="custom-control-label" for="customCheck1"
43
-                          >Remember password?</label
44
-                        >
45
-                      </div>
46
-                      <button v-on:click="Login()" class="btn-solid-blue" type="submit">
47
-                        LOGIN
48
-                      </button>
49
-                    </form>
12
+
13
+                    <div v-if="error">
14
+                      <alert
15
+                        :text="'User doesn\'t exist or Username and Password is incorrect'"
16
+                        :type="'ERROR'"
17
+                      />
18
+                    </div>
19
+                    <div class="form-label-group">
20
+                      <input
21
+                        type="text"
22
+                        id="inputEmail"
23
+                        v-model="username"
24
+                        class="form-control"
25
+                        placeholder="Username"
26
+                        required
27
+                        autofocus
28
+                      />
29
+                    </div>
30
+                    <div class="form-label-group">
31
+                      <input
32
+                        type="password"
33
+                        placeholder="Password"
34
+                        v-model="password"
35
+                        id="inputPassword"
36
+                        class="form-control"
37
+                        required
38
+                      />
39
+                    </div>
40
+                    <div class="custom-control custom-checkbox mb-3">
41
+                      <input type="checkbox" class="custom-control-input" id="customCheck1" />
42
+                      <label class="custom-control-label" for="customCheck1"
43
+                        >Remember password?</label
44
+                      >
45
+                    </div>
46
+                    <button v-on:click="Login()" class="btn-solid-blue" type="submit">
47
+                      LOGIN
48
+                    </button>
50
                   </div>
49
                   </div>
51
                 </div>
50
                 </div>
52
               </div>
51
               </div>

+ 2
- 2
src/main.js ファイルの表示

23
 });
23
 });
24
 Vue.config.productionTip = false;
24
 Vue.config.productionTip = false;
25
 //axios.defaults.baseURL = "http://localhost:57260";
25
 //axios.defaults.baseURL = "http://localhost:57260";
26
-//axios.defaults.baseURL = "http://training.provision-sa.com:82";
27
-axios.defaults.baseURL = "http://localhost:8080/";
26
+axios.defaults.baseURL = "http://training.provision-sa.com:82";
27
+//axios.defaults.baseURL = "http://localhost:8080/";
28
 
28
 
29
 Vue.prototype.$axios = axios;
29
 Vue.prototype.$axios = axios;
30
 
30
 

+ 10
- 1
src/router/index.js ファイルの表示

47
 import UnitPage from "../components/timeshare/resort/unit/unitPage.vue";
47
 import UnitPage from "../components/timeshare/resort/unit/unitPage.vue";
48
 
48
 
49
 import ContactUs from "../components/misc/contactUs.vue";
49
 import ContactUs from "../components/misc/contactUs.vue";
50
-import PrivacyPolicy from "../components/misc/privacyPolicyPage.vue";
50
+import PrivacyPolicy from "../components/misc//privacyPolicy/privacyPolicyPage.vue";
51
 import WebsiteDisclaimer from "../components/misc/WebsiteDisclaimer.vue";
51
 import WebsiteDisclaimer from "../components/misc/WebsiteDisclaimer.vue";
52
 
52
 
53
 import MakeOffer from "../components/processFlow/makeOffer.vue";
53
 import MakeOffer from "../components/processFlow/makeOffer.vue";
64
 import CommercialSearchResults from "../components/property/commercial/commercialSearchResults.vue";
64
 import CommercialSearchResults from "../components/property/commercial/commercialSearchResults.vue";
65
 import ResidentialSearchResults from "../components/property/residential/residentialSearchResults.vue";
65
 import ResidentialSearchResults from "../components/property/residential/residentialSearchResults.vue";
66
 
66
 
67
+import PaymentGateway from "../components/financial/paygate/paygateProcess.vue";
67
 import Payments from "../components/financial/payments.vue";
68
 import Payments from "../components/financial/payments.vue";
68
 import LandingPages from "../components/marketing/landingPages.vue";
69
 import LandingPages from "../components/marketing/landingPages.vue";
69
 import LandingPage from "../components/marketing/landingPage.vue";
70
 import LandingPage from "../components/marketing/landingPage.vue";
355
       name: "PropertySearchResults",
356
       name: "PropertySearchResults",
356
       component: PropertySearchResults
357
       component: PropertySearchResults
357
     },
358
     },
359
+    {
360
+      path: "/payments/paymentGateway",
361
+      name: "PaymentGateway",
362
+      props: route => ({
363
+        ...route.params
364
+      }),
365
+      component: PaymentGateway
366
+    },
358
     {
367
     {
359
       path: "/payments",
368
       path: "/payments",
360
       name: "Payments",
369
       name: "Payments",

+ 3
- 3
src/store/modules/financial/payment.js ファイルの表示

2
 import axios from "axios";
2
 import axios from "axios";
3
 
3
 
4
 export default {
4
 export default {
5
-  amespaced: true,
5
+  namespaced: true,
6
   state: {
6
   state: {
7
     payments: [],
7
     payments: [],
8
     payment: {}
8
     payment: {}
29
         .then(result => commit("setPayments", result.data))
29
         .then(result => commit("setPayments", result.data))
30
         .catch(console.error);
30
         .catch(console.error);
31
     },
31
     },
32
-    async addPayment(payment) {
33
-      const response = await axios.post("/api/payment/", payment);
32
+    async addPayment({ commit }, payment) {
33
+      const response = await axios.post("/api/payment", payment);
34
       if (response.status === 200) {
34
       if (response.status === 200) {
35
         var respObj = {};
35
         var respObj = {};
36
         response.data.split("&").forEach(element => {
36
         response.data.split("&").forEach(element => {

+ 1
- 1
src/store/modules/user/authentication.js ファイルの表示

79
         log.clearValues();
79
         log.clearValues();
80
         log.setValues(response.data);
80
         log.setValues(response.data);
81
         commit("auth_success", response.data);
81
         commit("auth_success", response.data);
82
-        console.log(JSON.stringify(response.data));
83
         return Promise.resolve();
82
         return Promise.resolve();
84
       } else {
83
       } else {
85
         commit("auth_error");
84
         commit("auth_error");
86
         log.clearValues();
85
         log.clearValues();
87
         commit("auth_error", "error occurred");
86
         commit("auth_error", "error occurred");
87
+        return Promise.reject();
88
       }
88
       }
89
     },
89
     },
90
     logout({ commit }) {
90
     logout({ commit }) {

読み込み中…
キャンセル
保存