瀏覽代碼

Property Management Pages

master
Lene 4 年之前
父節點
當前提交
039aa685bf

+ 151
- 75
src/components/property/commercial/enquireNow/contentSection.vue 查看文件

@@ -2,83 +2,114 @@
2 2
   <div class="container pt-5">
3 3
         <div class="row mb-8">
4 4
           <div class="col-md-6">
5
-            <form action="mailto:info@univateproperties.co.za" method="post" enctype="text/plain">
6
-              <div class="form-group row">
7
-                <div class="col-md-6">
8
-                  <div class="input-group-prepend">
9
-                    <span class="input-group-text">
10
-                      <eva-icon name="person" fill="#60CBEB"></eva-icon>
11
-                    </span>
12
-                    <label for="yourname"></label>
13
-                    <input
14
-                      id="yourname"
15
-                      name="yourname"
16
-                      placeholder="Your Name"
17
-                      type="text"
18
-                      required="required"
19
-                      class="form-control"
20
-                    />
21
-                  </div>
22
-                </div>
23
-                <div class="col-md-6">
24
-                  <div class="input-group-prepend">
25
-                    <span class="input-group-text">
26
-                      <eva-icon name="email" fill="#60CBEB"></eva-icon>
27
-                    </span>
28
-                    <label for="youremail"></label>
29
-                    <input
30
-                      id="youremail"
31
-                      name="youremail"
32
-                      placeholder="Your Email"
33
-                      type="text"
34
-                      required="required"
35
-                      class="form-control"
36
-                    />
37
-                  </div>
38
-                </div>
39
-              </div>
40
-              <div class="form-group row">
41
-                <div class="col-md-12">
42
-                  <div class="input-group-prepend">
43
-                    <span class="input-group-text">
44
-                      <eva-icon name="bookmark-outline" fill="#60CBEB"></eva-icon>
45
-                    </span>
46
-                    <label for="subject"></label>
47
-                    <input
48
-                      id="subject"
49
-                      name="subject"
50
-                      placeholder="Subject"
51
-                      type="text"
52
-                      class="form-control"
53
-                      required="required"
54
-                    />
55
-                  </div>
56
-                </div>
57
-              </div>
58
-              <div class="form-group row">
59
-                <div class="col-md-12">
60
-                  <div class="input-group-prepend">
61
-                    <span class="input-group-text">
62
-                      <eva-icon name="message-square-outline" fill="#60CBEB"></eva-icon>
63
-                    </span>
64
-                    <label for="message"></label>
65
-                    <textarea
66
-                      id="message"
67
-                      name="message"
68
-                      placeholder="Message"
69
-                      cols="40"
70
-                      rows="8"
71
-                      class="form-control"
72
-                      required="required"
73
-                    ></textarea>
74
-                  </div>
75
-                </div>
5
+            <h3>Mooikloof Office Park</h3>
6
+            <p>
7
+              The cream of the crop, no costs were spared on the finishing touches of this beautiful office.  This 160m2 office is ideally situated in Pretoria East in the hub of business expansion for Pretoria.  Two superb, air-conditioned ground floor units divided only by glass and completed with two small recording studios.  The Space is currently used for corporate boardroom and training centre functions and can accommodate up to 25 delegates.  Stunning finishes y interior designer complete the unit with style and class.  The perfect address and office for the established professional for the training centre of your dreams! 
8
+            </p>
9
+            <p><strong>View by Appointment only!</strong></p>
10
+            <br/>
11
+              <p></p>
12
+              To arrange a viewing contact Mynie:
13
+              <div class="col-md-4">
14
+                <a href="mailto:info@univateproperties.co.za">info@univateproperties.co.za</a
15
+                  ><br />
16
+                  <a href="tel:0124921238">+27 (0) 12 492 1238</a>
76 17
               </div>
18
+          </div>
19
+          <div class="col-md-6">
20
+            <form >
77 21
               <div class="form-group row">
78
-                <div class="col-md-1">
79
-                  <button name="submit" type="submit" class="btn btn-b-n">Send Message</button>
80
-                </div>
22
+        <div class="form-group col-md-6">
23
+          <input
24
+            type="text"
25
+            name="name"
26
+            class="form-control"
27
+            id="Unit"
28
+            placeholder="Unit"
29
+            data-rule="minlen:4"
30
+            v-model="Unit"
31
+          />
32
+          <div class="validation"></div>
33
+        </div>
34
+                <div class="form-group col-md-6">
35
+          <input
36
+            type="text"
37
+            name="name"
38
+            class="form-control"
39
+            id="Price"
40
+            placeholder="Price"
41
+            data-rule="minlen:4"
42
+            v-model="Price"
43
+          />
44
+          <div class="validation"></div>
45
+        </div>
46
+                <div class="form-group col-md-6">
47
+          <input
48
+            type="text"
49
+            name="name"
50
+            class="form-control"
51
+            id="Size"
52
+            placeholder="Size"
53
+            data-rule="minlen:4"
54
+            v-model="Size"
55
+          />
56
+          <div class="validation"></div>
57
+        </div>
58
+                <div class="form-group col-md-6">
59
+          <input
60
+            type="text"
61
+            name="name"
62
+            class="form-control"
63
+            id="Suburb"
64
+            placeholder="Suburb"
65
+            data-rule="minlen:4"
66
+            v-model="Suburb"
67
+          />
68
+          <div class="validation"></div>
69
+        </div>
70
+                <div class="form-group col-md-12">
71
+          <input
72
+            type="text"
73
+            name="name"
74
+            class="form-control"
75
+            id="Name"
76
+            placeholder="Name"
77
+            data-rule="minlen:4"
78
+            v-model="Name"
79
+          />
80
+          <div class="validation"></div>
81
+        </div>
82
+                <div class="form-group col-md-12">
83
+          <input
84
+            type="text"
85
+            name="name"
86
+            class="form-control"
87
+            id="ContactNumber"
88
+            placeholder="ContactNumber"
89
+            data-rule="minlen:4"
90
+            v-model="ContactNumber"
91
+          />
92
+          <div class="validation"></div>
93
+        </div>
94
+                <div class="form-group col-md-12">
95
+          <input
96
+            type="text"
97
+            name="name"
98
+            class="form-control"
99
+            id="Email"
100
+            placeholder="Email"
101
+            data-rule="minlen:4"
102
+            v-model="Email"
103
+          />
104
+          <div class="validation"></div>
105
+        </div>
81 106
               </div>
107
+              <div class="text-center">
108
+        <button class="btn-solid-blue" @click="sendMail()">ENQUIRE NOW</button>
109
+      </div>
110
+      <div v-if="boolSent">
111
+        <alert :text="alertMsg" :type="'SUCCESS'" />
112
+      </div>
82 113
             </form>
83 114
           </div>
84 115
         </div>
@@ -86,7 +117,52 @@
86 117
 </template>
87 118
 
88 119
 <script>
89
-export default {};
120
+import axios from 'axios';
121
+import alert from '../../../shared/alert';
122
+
123
+export default {
124
+  components: {
125
+    alert
126
+  },
127
+  data() {
128
+    return {
129
+      alertMsg: "Sent! You can expect a reply soon!",
130
+      name: null,
131
+      email: null,
132
+      phone: null,
133
+      property: null,
134
+      message: null,
135
+      boolSent: false
136
+    };
137
+  },
138
+  mounted() {
139
+    this.boolSent = false;
140
+  },
141
+  methods: {
142
+    async sendMail() {
143
+      var mailObj = {
144
+        toAddress: "lenes@provision-sa.com",
145
+        fromAddress: "jlouw365@gmail.com",
146
+        name: this.name,
147
+        email: this.email,
148
+        phone: this.phone,
149
+        property: this.property,
150
+        message: this.message
151
+      };
152
+
153
+      const response = await axios.post("/api/mail/1", mailObj);
154
+
155
+      if (response.status === 200) {
156
+        this.boolSent = true;
157
+      } else {
158
+        console.log("Error");
159
+      }
160
+    },
161
+    countDownChanged(dismissCountDown) {
162
+      this.dismissCountDown = dismissCountDown;
163
+    }
164
+  }
165
+};
90 166
 </script>
91 167
 
92 168
 <style lang="scss" scoped></style>

+ 0
- 37
src/components/propertyManagement/ourServicesSection.vue 查看文件

@@ -1,37 +0,0 @@
1
-<template>
2
-  <section id="services">
3
-    <div class="container" style="margin-top:-15px">
4
-      <div class="row">
5
-        <div align="left" class="col-lg-4">
6
-          <p>Our Services:</p>
7
-          <a class="btn-white-border" style="min-width:270px; cursor: context-menu;"
8
-            >Rent / Levy Collection</a
9
-          >
10
-          <a class="btn-white-border" style="min-width:270px; cursor: context-menu;"
11
-            >Occupancy Management</a
12
-          >
13
-          <a class="btn-white-border" style="min-width:270px; cursor: context-menu;">Maintenance</a>
14
-          <a class="btn-white-border" style="min-width:270px; cursor: context-menu;"
15
-            >Administration</a
16
-          >
17
-        </div>
18
-        <div align="left" class="col-lg-8">
19
-          <p>Information about what is Property Management and why UVP is the preferred option.</p>
20
-          <p>
21
-            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
22
-            incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
23
-            exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
24
-            dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
25
-          </p>
26
-          <h4>Contact us for a quote</h4>
27
-        </div>
28
-      </div>
29
-    </div>
30
-  </section>
31
-</template>
32
-
33
-<script>
34
-export default {};
35
-</script>
36
-
37
-<style lang="scss" scoped></style>

src/components/propertyManagement/carouselSection.vue → src/components/propertyManagement/sectionalTitle/carouselSection.vue 查看文件

@@ -6,8 +6,9 @@
6 6
           <div class="intro-content box">
7 7
             <h2>Let us manage your property</h2>
8 8
             <p>
9
-              Uni-Vate Properties found that there was a desperate need for a reputable source for
10
-              buyers and sellers to turn to with their timeshare needs in South Africa.
9
+              At Uni-Vate we appreciate the significant and positive relationship between effective Property Management and property prices.  We understand that effective management not only relies on administrative processes being intact, but also on a clear plan and good communication with our clients based on respect, trust understanding, openness and accountability.  We have access to a comprehensive set of human and other resources to ensure that your property is proactively managed to protect your investment and to ensure the contentedness of occupants.
10
+              We offer comprehensive property management services, whether it being Sectional Title Management, HOA Management or Rental Property Portfolio Management.  
11
+
11 12
             </p>
12 13
             <a href="#" class="btn-solid-blue">LIST YOUR PROPERTY WITH UNI-VATE PROPERTIES</a>
13 14
             <router-link v-if="!isLoggedIn" to="/user/login" class="btn-white-border"
@@ -44,7 +45,7 @@
44 45
 <script>
45 46
 /* eslint-disable */
46 47
 import { mapState, mapActions } from "vuex";
47
-import Log from "../../assets/Log";
48
+import Log from "../../../assets/Log";
48 49
 import carousel from "vue-owl-carousel";
49 50
 export default {
50 51
   components: {

+ 113
- 0
src/components/propertyManagement/sectionalTitle/ourServicesSection.vue 查看文件

@@ -0,0 +1,113 @@
1
+<template>
2
+  <section id="services">
3
+    <div class="container" style="margin-top:-15px">
4
+      <div class="row">
5
+        <div class="col-lg-12">
6
+          <p>Whether residential, commercial, hybrid schemes or home owners associations – we offer a complete property management solution tailored for the needs of the individual community scheme.</p>
7
+          <p>We are proud members of the National Association of Managing Agents and registered Estate Agents and Debt Collectors offering the following valuable functions to the residents and corporate bodies alike: </p>
8
+        </div>
9
+        <p></p>
10
+        <div class="row">
11
+          <div class="col-md-6">
12
+            
13
+          </div>
14
+          <div class="col-md-6">
15
+            <h4>Contact us for a quote</h4>
16
+          </div>
17
+        </div>
18
+        <div align="left" class="col-lg-12">
19
+          <p>Our Services:</p>
20
+          <ul class="nav nav-tabs" id="myTab" role="tablist">
21
+            <li class="nav-item">
22
+              <a class="nav-link-active" id="takeOn-tab" data-toggle="tab" href="#takeOn" role="tab" aria-controls="takeOn" aria-selected="true">Take-on Audit</a>
23
+            </li>
24
+            <li class="nav-item">
25
+              <a class="nav-link-active" id="levy-tab" data-toggle="tab" href="#levy" role="tab" aria-controls="levy" aria-selected="false">Levy, Billing and Collections</a>
26
+            </li>
27
+            <li class="nav-item">
28
+              <a class="nav-link-active" id="financial-tab" data-toggle="tab" href="#financial" role="tab" aria-controls="financial" aria-selected="false">Financial Management and Accounting</a>
29
+            </li>
30
+            <li class="nav-item">
31
+              <a class="nav-link-active" id="advisory-tab" data-toggle="tab" href="#advisory" role="tab" aria-controls="advisory" aria-selected="false">Advisory and Secretarial functions</a>
32
+            </li>
33
+            <li class="nav-item">
34
+              <a class="nav-link-active" id="admin-tab" data-toggle="tab" href="#admin" role="tab" aria-controls="admin" aria-selected="false">Administrative functions</a>
35
+            </li>
36
+          </ul>
37
+
38
+          <div class="tab-content">
39
+            <div class="tab-pane active" id="takeOn" role="tabpanel" aria-labelledby="takeOn-tab">
40
+              On appointment of company as managing agent, we perform a take-on audit which entails:
41
+              <p></p>
42
+              <p>•	Deeds search to confirm that correct owners and their details are loaded for levy billing and communication purposes.</p>
43
+              <p>•	Validation of sectional tile plans, PQ and levy schedule.</p>
44
+              <p>•	Levy Budget review, identification of risks and formulation of recommendations.</p>
45
+              <p>•	Accounting quality assessment from last financial statements to date.</p>
46
+              <p>•	Confirmation that the adjusting journals and opening balance adjustments agree to the auditor’s report.</p>
47
+              <p>•	Assessment of 10 MAP Plan and CSOS compliance.</p>
48
+              <p>•	Assessment of insurance cover.</p>
49
+              <p>•	Assessment of firefighting equipment.</p>
50
+              <p>•	Confirmation of conduct rules lodged with CSOS.</p>
51
+              <p>•	Assessment of owner arrear levies, credit control procedures, and legal report.</p>
52
+              <p>•	Assessment of compliance to relevant legislation.</p>
53
+              <p>•	Compilation of a report and action log to address identified gaps</p>
54
+              <p>•	Compilation of a property management control schedule demonstrating required monthly operational activities to be managed.</p>
55
+            </div>
56
+            <hr/>
57
+            <div class="tab-pane" id="levy" role="tabpanel" aria-labelledby="levy-tab">
58
+              <p>•	Distribution of monthly levy statements to owners by email</p>
59
+              <p>•	Collection of monthly levies and charges due to CSOS</p>
60
+              <p>•	Credit Control of outstanding levies</p>
61
+              <p>•	Billing of interest on arrears</p>
62
+              <p>•	Soft Collections</p>
63
+              <p>•	Attorney Collections liaison</p>
64
+              <p>•	Liaison with metering companies </p>
65
+              <p>•	Issuing of levy clearance certificates</p>
66
+            </div>
67
+            <div class="tab-pane" id="financial" role="tabpanel" aria-labelledby="financial-tab">
68
+              <p>•	Payment of approved operational and capital expenditure as per the approved budget and on sign-off in accordance with scheme executive instructions.</p>
69
+              <p>•	To open and / or operate a bank account in the name of the community scheme or a trust account which include current, savings and investment accounts in the name of the Scheme.</p>
70
+              <p>•	To keep books of account and records in accordance with standard accounting principles.</p>
71
+              <p>•	Preparing the annual audit file for the appointed auditors.</p>
72
+              <p>•	Preparing the annual budget and levy schedule for approval by the members at the AGM.</p>
73
+              <p>•	To compile and distribute a monthly management report to scheme executives which will include an income and expenditure statement detailing actual expenses versus budgeted expenses, a balance sheet, a debtor and supplier age analysis and any such supplementary information as the scheme executives may require.</p>
74
+              <p>•	Invest surplus funds after payment of creditors.</p>
75
+            </div>
76
+            <div class="tab-pane" id="advisory" role="tabpanel" aria-labelledby="advisory-tab">
77
+              <p>•	Managing the owners’ register</p>
78
+              <p>•	Consulting and providing advice on risk, compliance and governance matters where required.</p>
79
+              <p>•	Preparation and distribution of notices of meetings, agendas and minutes in respect of executives and owners’ meetings</p>
80
+              <p>•	Attending limited scheme executive meetings and the annual Annual General Meeting.</p>
81
+              <p>•	Attending Special General Meetings on request.</p>
82
+              <p>•	Arrange property valuation in terms of PMR 23(3).</p>
83
+              <p>•	Arrange competitive comprehensive property and fidelity insurance cover.</p>
84
+              <p>•	Submission and management of all insurance claims.</p>
85
+              <p>•	Maintenance management for common property to arrange quotes, booking contractors and facilitating approval and payment.  </p>
86
+              <p>•	Maintenance of statutory records.</p>
87
+              <p>•	Assisting with queries from management and owners.</p>
88
+              <p>•	Assisting executives with CSOS disputes.</p>
89
+            </div>
90
+            <div class="tab-pane" id="admin" role="tabpanel" aria-labelledby="admin-tab">
91
+              <p>•	Managing the owners’ register.</p>
92
+              <p>•	Safekeeping of the governance documents such as the conduct rules.</p>
93
+              <p>•	Issuing clearance and insurance certificates as and when required.</p>
94
+              <p>•	Performing general secretarial duties.</p>
95
+              <p>•	Recording, preparing and circulating the minutes of the trustee meetings and the AGM’s.</p>
96
+              <p>•	The preparing and circulation of all correspondence to owners and residents</p>
97
+              <p>•	Safekeeping of the minute books in perpetuity.</p>
98
+              <p>•	Provision of a legal address domicilium citandi et executandi for the body corporate.</p>
99
+              <p>•	Archiving and safekeeping of all body corporate records, as required by current legislation.</p>
100
+            </div>
101
+          </div>
102
+        </div>
103
+        
104
+      </div>
105
+    </div>
106
+  </section>
107
+</template>
108
+
109
+<script>
110
+export default {};
111
+</script>
112
+
113
+<style lang="scss" scoped></style>

src/components/propertyManagement/propertyManagement.vue → src/components/propertyManagement/sectionalTitle/propertyManagement.vue 查看文件

@@ -16,7 +16,7 @@
16 16
 /* eslint-disable */
17 17
 import CarouselSection from "./carouselSection";
18 18
 import ServicesSection from "./ourServicesSection";
19
-import TestimonialSection from "./testimonialSection";
19
+import TestimonialSection from "../testimonialSection";
20 20
 import AOS from "aos";
21 21
 import "aos/dist/aos.css";
22 22
 export default {

+ 16
- 2
src/components/shared/navBar.vue 查看文件

@@ -95,8 +95,22 @@
95 95
                       </li>
96 96
                     </ul>
97 97
                   </li> -->
98
-                  <li>
99
-                    <router-link to="/propertyManagement">Property Management</router-link>
98
+                  <li class="menu-has-children">
99
+                    <div
100
+                      @mouseover="propManClass = 'ts-display'"
101
+                      @mouseleave="propManClass = 'no-display'"
102
+                    ></div>
103
+                    <a href="#" class="sf-with-ul">
104
+                      Property Management
105
+                    </a>
106
+                    <ul style="margin-top:-10px; text-align:left" :class="propManClass">
107
+                      <li>
108
+                        <router-link to="/propertyManagement">Sectional Title and HOA Management</router-link>
109
+                      </li>
110
+                      <li>
111
+                        <router-link to="/about/timeshare">Rental Property Portfolio Management</router-link>
112
+                      </li>
113
+                    </ul>
100 114
                   </li>
101 115
                   <li class="menu-has-children">
102 116
                     <div

+ 2
- 2
src/main.js 查看文件

@@ -23,8 +23,8 @@ Vue.use(VueGoogleMaps, {
23 23
 });
24 24
 Vue.config.productionTip = false;
25 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 29
 Vue.prototype.$axios = axios;
30 30
 

+ 2
- 2
src/router/index.js 查看文件

@@ -24,7 +24,7 @@ import PropertyTypeList from "../components/admin/property/propertyTypeList.vue"
24 24
 import PropertyType from "../components/admin/property/propertyTypeEdit.vue";
25 25
 import UserDefinedGroups from "../components/admin/property/userDefinedGroupsPage.vue";
26 26
 import UserDefinedGroup from "../components/admin/property/userDefinedGroupPage.vue";
27
-import PropertyManagement from "../components/propertyManagement/propertyManagement.vue";
27
+import PropertyManagement from "../components/propertyManagement/sectionalTitle/propertyManagement.vue";
28 28
 
29 29
 import ResidentialPage from "../components/property/residential/residentialPage.vue";
30 30
 import CommercialPage from "../components/property/commercial/commercialPage.vue";
@@ -406,5 +406,5 @@ export default new Router({
406 406
       name: "ToBuySearch",
407 407
       component: ToBuySearch
408 408
     },
409
-  ]
409
+  ],
410 410
 });

+ 2
- 2
vue.config.js 查看文件

@@ -2,8 +2,8 @@ module.exports = {
2 2
   devServer: {
3 3
     proxy: {
4 4
       "/api": {
5
-        //target: "http://localhost:57260/",
6
-        target: "http://training.provision-sa.com:82",
5
+        target: "http://localhost:57260/",
6
+        // target: "http://training.provision-sa.com:82",
7 7
         changeOrigin: true
8 8
       },
9 9
       "/nph-srep": {

Loading…
取消
儲存