소스 검색

Minor Fixes and Directions download

master
30117125 4 년 전
부모
커밋
3abc57cc15

+ 111
- 3
package-lock.json 파일 보기

796
       "version": "7.8.3",
796
       "version": "7.8.3",
797
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
797
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz",
798
       "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
798
       "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==",
799
-      "dev": true,
800
       "requires": {
799
       "requires": {
801
         "regenerator-runtime": "^0.13.2"
800
         "regenerator-runtime": "^0.13.2"
802
       }
801
       }
1087
       "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
1086
       "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
1088
       "dev": true
1087
       "dev": true
1089
     },
1088
     },
1089
+    "@types/raf": {
1090
+      "version": "3.4.0",
1091
+      "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz",
1092
+      "integrity": "sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==",
1093
+      "optional": true
1094
+    },
1090
     "@vue/babel-helper-vue-jsx-merge-props": {
1095
     "@vue/babel-helper-vue-jsx-merge-props": {
1091
       "version": "1.0.0",
1096
       "version": "1.0.0",
1092
       "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz",
1097
       "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz",
2344
         }
2349
         }
2345
       }
2350
       }
2346
     },
2351
     },
2352
+    "base64-arraybuffer": {
2353
+      "version": "0.2.0",
2354
+      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz",
2355
+      "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==",
2356
+      "optional": true
2357
+    },
2347
     "base64-js": {
2358
     "base64-js": {
2348
       "version": "1.3.1",
2359
       "version": "1.3.1",
2349
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
2360
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
2610
         "node-releases": "^1.1.46"
2621
         "node-releases": "^1.1.46"
2611
       }
2622
       }
2612
     },
2623
     },
2624
+    "btoa": {
2625
+      "version": "1.2.1",
2626
+      "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
2627
+      "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
2628
+    },
2613
     "buffer": {
2629
     "buffer": {
2614
       "version": "4.9.2",
2630
       "version": "4.9.2",
2615
       "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
2631
       "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
2793
       "integrity": "sha512-FjwPPtt/I07KyLPkBQ0g7/XuZg6oUkYBVnPHNj3VHJbOjmmJ/GdSo/GUY6MwINEQvjhP6WZVbX8Tvms8xh0D5A==",
2809
       "integrity": "sha512-FjwPPtt/I07KyLPkBQ0g7/XuZg6oUkYBVnPHNj3VHJbOjmmJ/GdSo/GUY6MwINEQvjhP6WZVbX8Tvms8xh0D5A==",
2794
       "dev": true
2810
       "dev": true
2795
     },
2811
     },
2812
+    "canvg": {
2813
+      "version": "3.0.6",
2814
+      "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.6.tgz",
2815
+      "integrity": "sha512-eFUy8R/4DgocR93LF8lr+YUxW4PYblUe/Q1gz2osk/cI5n8AsYdassvln0D9QPhLXQ6Lx7l8hwtT8FLvOn2Ihg==",
2816
+      "optional": true,
2817
+      "requires": {
2818
+        "@babel/runtime": "^7.6.3",
2819
+        "@types/raf": "^3.4.0",
2820
+        "core-js": "3",
2821
+        "raf": "^3.4.1",
2822
+        "rgbcolor": "^1.0.1",
2823
+        "stackblur-canvas": "^2.0.0"
2824
+      },
2825
+      "dependencies": {
2826
+        "core-js": {
2827
+          "version": "3.6.5",
2828
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
2829
+          "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
2830
+          "optional": true
2831
+        }
2832
+      }
2833
+    },
2796
     "case-sensitive-paths-webpack-plugin": {
2834
     "case-sensitive-paths-webpack-plugin": {
2797
       "version": "2.3.0",
2835
       "version": "2.3.0",
2798
       "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
2836
       "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
3594
         "timsort": "^0.3.0"
3632
         "timsort": "^0.3.0"
3595
       }
3633
       }
3596
     },
3634
     },
3635
+    "css-line-break": {
3636
+      "version": "1.1.1",
3637
+      "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz",
3638
+      "integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==",
3639
+      "optional": true,
3640
+      "requires": {
3641
+        "base64-arraybuffer": "^0.2.0"
3642
+      }
3643
+    },
3597
     "css-loader": {
3644
     "css-loader": {
3598
       "version": "1.0.1",
3645
       "version": "1.0.1",
3599
       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
3646
       "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz",
4252
         "domelementtype": "1"
4299
         "domelementtype": "1"
4253
       }
4300
       }
4254
     },
4301
     },
4302
+    "dompurify": {
4303
+      "version": "2.0.14",
4304
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.0.14.tgz",
4305
+      "integrity": "sha512-oqcjyCLHLjWugZ6VwK0YfmRND/DFy/CuZhdasmymMfnxbzaaQxBSA1ATZIXWESGDj/nvq1vKLmRa7rTdbGgrmQ==",
4306
+      "optional": true
4307
+    },
4255
     "domutils": {
4308
     "domutils": {
4256
       "version": "1.7.0",
4309
       "version": "1.7.0",
4257
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
4310
       "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
6675
         }
6728
         }
6676
       }
6729
       }
6677
     },
6730
     },
6731
+    "html2canvas": {
6732
+      "version": "1.0.0-rc.7",
6733
+      "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.7.tgz",
6734
+      "integrity": "sha512-yvPNZGejB2KOyKleZspjK/NruXVQuowu8NnV2HYG7gW7ytzl+umffbtUI62v2dCHQLDdsK6HIDtyJZ0W3neerA==",
6735
+      "optional": true,
6736
+      "requires": {
6737
+        "css-line-break": "1.1.1"
6738
+      }
6739
+    },
6678
     "htmlparser2": {
6740
     "htmlparser2": {
6679
       "version": "3.10.1",
6741
       "version": "3.10.1",
6680
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
6742
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
7468
         "graceful-fs": "^4.1.6"
7530
         "graceful-fs": "^4.1.6"
7469
       }
7531
       }
7470
     },
7532
     },
7533
+    "jspdf": {
7534
+      "version": "2.1.0",
7535
+      "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-2.1.0.tgz",
7536
+      "integrity": "sha512-NQygqZEKhSw+nExySJxB72Ge/027YEyIM450Vh/hgay/H9cgZNnkXXOQPRspe9EuCW4sq92zg8hpAXyyBdnaIQ==",
7537
+      "requires": {
7538
+        "atob": "^2.1.2",
7539
+        "btoa": "^1.2.1",
7540
+        "canvg": "^3.0.6",
7541
+        "core-js": "^3.6.0",
7542
+        "dompurify": "^2.0.12",
7543
+        "html2canvas": "^1.0.0-rc.5"
7544
+      },
7545
+      "dependencies": {
7546
+        "core-js": {
7547
+          "version": "3.6.5",
7548
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
7549
+          "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
7550
+          "optional": true
7551
+        }
7552
+      }
7553
+    },
7554
+    "jspdf-autotable": {
7555
+      "version": "3.5.9",
7556
+      "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.5.9.tgz",
7557
+      "integrity": "sha512-ZRfiI5P7leJuWmvC0jGVXu227m68C2Jfz1dkDckshmDYDeVFCGxwIBYdCUXJ8Eb2CyFQC2ok82fEWO+xRDovDQ=="
7558
+    },
7471
     "jsprim": {
7559
     "jsprim": {
7472
       "version": "1.4.1",
7560
       "version": "1.4.1",
7473
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
7561
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
9853
         "fast-diff": "1.1.2"
9941
         "fast-diff": "1.1.2"
9854
       }
9942
       }
9855
     },
9943
     },
9944
+    "raf": {
9945
+      "version": "3.4.1",
9946
+      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
9947
+      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
9948
+      "optional": true,
9949
+      "requires": {
9950
+        "performance-now": "^2.1.0"
9951
+      }
9952
+    },
9856
     "randombytes": {
9953
     "randombytes": {
9857
       "version": "2.1.0",
9954
       "version": "2.1.0",
9858
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
9955
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
10015
     "regenerator-runtime": {
10112
     "regenerator-runtime": {
10016
       "version": "0.13.3",
10113
       "version": "0.13.3",
10017
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
10114
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
10018
-      "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
10019
-      "dev": true
10115
+      "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
10020
     },
10116
     },
10021
     "regenerator-transform": {
10117
     "regenerator-transform": {
10022
       "version": "0.14.1",
10118
       "version": "0.14.1",
10318
       "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
10414
       "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
10319
       "dev": true
10415
       "dev": true
10320
     },
10416
     },
10417
+    "rgbcolor": {
10418
+      "version": "1.0.1",
10419
+      "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz",
10420
+      "integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0=",
10421
+      "optional": true
10422
+    },
10321
     "rimraf": {
10423
     "rimraf": {
10322
       "version": "2.6.3",
10424
       "version": "2.6.3",
10323
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
10425
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
11249
       "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
11351
       "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
11250
       "dev": true
11352
       "dev": true
11251
     },
11353
     },
11354
+    "stackblur-canvas": {
11355
+      "version": "2.4.0",
11356
+      "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.4.0.tgz",
11357
+      "integrity": "sha512-Z+HixfgYV0ss3C342DxPwc+UvN1SYWqoz7Wsi3xEDWEnaBkSCL3Ey21gF4io+WlLm8/RIrSnCrDBIEcH4O+q5Q==",
11358
+      "optional": true
11359
+    },
11252
     "stackframe": {
11360
     "stackframe": {
11253
       "version": "1.1.1",
11361
       "version": "1.1.1",
11254
       "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz",
11362
       "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz",

+ 2
- 0
package.json 파일 보기

16
     "core-js": "^2.6.11",
16
     "core-js": "^2.6.11",
17
     "datatables.net": "^1.10.20",
17
     "datatables.net": "^1.10.20",
18
     "jquery": "^3.4.1",
18
     "jquery": "^3.4.1",
19
+    "jspdf": "^2.1.0",
20
+    "jspdf-autotable": "^3.5.9",
19
     "lodash": "^4.17.15",
21
     "lodash": "^4.17.15",
20
     "material-design-icons-iconfont": "^3.0.3",
22
     "material-design-icons-iconfont": "^3.0.3",
21
     "moment": "^2.24.0",
23
     "moment": "^2.24.0",

+ 1
- 1
src/components/property/commercial/commercialSearchResults.vue 파일 보기

38
             <img src="img/no-homes.png" />
38
             <img src="img/no-homes.png" />
39
             <br />
39
             <br />
40
             <br />
40
             <br />
41
-            <p>Sorry no listing where found matching your search</p>
41
+            <p>Sorry no listings where found matching your search</p>
42
           </div>
42
           </div>
43
         </div>
43
         </div>
44
       </div>
44
       </div>

+ 2
- 0
src/components/property/commercial/createProperty/commercialCreate.vue 파일 보기

385
         this.property.userId = this.user.id;
385
         this.property.userId = this.user.id;
386
       }
386
       }
387
 
387
 
388
+      console.log(this.property);
389
+
388
       this.saveProperty(this.property)
390
       this.saveProperty(this.property)
389
         .then(fulfilled => {
391
         .then(fulfilled => {
390
           this.$router.push(`/property/commercial/property/${fulfilled.data.id}`);
392
           this.$router.push(`/property/commercial/property/${fulfilled.data.id}`);

+ 2
- 2
src/components/property/mapSection.vue 파일 보기

92
                     this.mapObj.coords = coords;
92
                     this.mapObj.coords = coords;
93
                     this.$emit("map-location", this.mapObj);
93
                     this.$emit("map-location", this.mapObj);
94
                   }),
94
                   }),
95
-                500
95
+                1000
96
               );
96
               );
97
             }),
97
             }),
98
-          500
98
+          1000
99
         );
99
         );
100
       });
100
       });
101
     }
101
     }

+ 0
- 8
src/components/property/propertyCard.vue 파일 보기

15
                   <img :src="currentProperty.displayImage" alt="" />
15
                   <img :src="currentProperty.displayImage" alt="" />
16
                 </div>
16
                 </div>
17
                 <h1>{{ currentProperty.suburb }}</h1>
17
                 <h1>{{ currentProperty.suburb }}</h1>
18
-                <p>
19
-                  <strong>Week</strong> #000 &nbsp;|&nbsp; <strong>Season</strong> Peak <br />
20
-                  <strong>Levy</strong> #R0000
21
-                </p>
22
                 <a href="#"> </a>
18
                 <a href="#"> </a>
23
               </div>
19
               </div>
24
             </router-link>
20
             </router-link>
31
                   <img :src="currentProperty.displayImage" alt="" />
27
                   <img :src="currentProperty.displayImage" alt="" />
32
                 </div>
28
                 </div>
33
                 <h1>{{ currentProperty.suburb }}</h1>
29
                 <h1>{{ currentProperty.suburb }}</h1>
34
-                <p>
35
-                  <strong>Week</strong> #000 &nbsp;|&nbsp; <strong>Season</strong> Peak <br />
36
-                  <strong>Levy</strong> #R0000
37
-                </p>
38
                 <a href="#"> </a>
30
                 <a href="#"> </a>
39
               </div>
31
               </div>
40
             </router-link>
32
             </router-link>

+ 1
- 1
src/components/property/residential/residentialSearchResults.vue 파일 보기

38
             <img src="img/no-homes.png" />
38
             <img src="img/no-homes.png" />
39
             <br />
39
             <br />
40
             <br />
40
             <br />
41
-            <p>Sorry no listing where found matching your search</p>
41
+            <p>Sorry no listings where found matching your search</p>
42
           </div>
42
           </div>
43
         </div>
43
         </div>
44
       </div>
44
       </div>

+ 0
- 6
src/components/timeshare/resort/contentSection.vue 파일 보기

63
             </table>
63
             </table>
64
           </div> -->
64
           </div> -->
65
           <p>
65
           <p>
66
-            {{ resort.prUnitFacilities }}
67
-            <br />
68
-            <br />
69
             {{ resort.prNotes }}
66
             {{ resort.prNotes }}
70
-            <br />
71
-            <br />
72
-            {{ resort.prDirections }}
73
           </p>
67
           </p>
74
           <div class="d-flex mt-3">
68
           <div class="d-flex mt-3">
75
             <iframe
69
             <iframe

+ 71
- 19
src/components/timeshare/resort/unit/directions.vue 파일 보기

2
   <div class="container">
2
   <div class="container">
3
     <div class="row">
3
     <div class="row">
4
       <div class="col">
4
       <div class="col">
5
+        <label for=""> <strong>Directions From:</strong></label>
6
+        <br />
5
         <label v-if="startAddress === null" class="uniSelectLabel" for="weekInfoRegionSelect"
7
         <label v-if="startAddress === null" class="uniSelectLabel" for="weekInfoRegionSelect"
6
           >SELECT</label
8
           >SELECT</label
7
         >
9
         >
8
         <select v-model="startAddress" class="uniSelect form-control mb-3" @change="calcRoute()">
10
         <select v-model="startAddress" class="uniSelect form-control mb-3" @change="calcRoute()">
9
           <optgroup label="Cities">
11
           <optgroup label="Cities">
10
-            <option value="-29.087217,26.154898">Bloemfontein</option>
11
-            <option value="-33.918861, 18.423300">Cape Town</option>
12
-            <option value="-29.883333, 31.049999">Durban</option>
13
-            <option value="-33.0153, 27.9116">East London</option>
14
-            <option value="-33.977074, 22.457581">George</option>
15
-            <option value="-26.195246, 28.034088">Johannesburg</option>
16
-            <option value="-25.4745, 30.9703">Nelspruit</option>
17
-            <option value="-23.9045, 29.4689">Polokwane</option>
18
-            <option value="-33.9180, 25.5701">Port Elizabeth</option>
19
-            <option value="-25.731340, 28.218370">Pretoria</option>
20
-            <option value="-28.44776, 21.25612">Upington</option>
12
+            <option value="-29.087217,26.154898,Bloemfontein">Bloemfontein</option>
13
+            <option value="-33.918861, 18.423300,Cape Town">Cape Town</option>
14
+            <option value="-29.883333, 31.049999,Durban">Durban</option>
15
+            <option value="-33.0153, 27.9116,East London">East London</option>
16
+            <option value="-33.977074, 22.457581,George">George</option>
17
+            <option value="-26.195246, 28.034088,Johannesburg">Johannesburg</option>
18
+            <option value="-25.4745, 30.9703,Nelspruit">Nelspruit</option>
19
+            <option value="-23.9045, 29.4689,Polokwane">Polokwane</option>
20
+            <option value="-33.9180, 25.5701,Port Elizabeth">Port Elizabeth</option>
21
+            <option value="-25.731340, 28.218370,Pretoria">Pretoria</option>
22
+            <option value="-28.44776, 21.25612,Upington">Upington</option>
21
           </optgroup>
23
           </optgroup>
22
 
24
 
23
           <optgroup label="Airports">
25
           <optgroup label="Airports">
24
-            <option value="-26.13916667, 28.24611111">OR Tambo</option>
25
-            <option value="-29.61444444, 31.11638889">King Shaka</option>
26
-            <option value="-33.9843, 25.6170">Port Elizabeth</option>
27
-            <option value="-33.96944444, 18.59722222">Cape Town</option>
26
+            <option value="-26.13916667, 28.24611111,OR Tambo Airport">OR Tambo</option>
27
+            <option value="-29.61444444, 31.11638889,King Shaka Airport">King Shaka</option>
28
+            <option value="-33.9843, 25.6170,Port Elizabeth Airport">Port Elizabeth</option>
29
+            <option value="-33.96944444, 18.59722222,Cape Town Airport">Cape Town</option>
28
           </optgroup>
30
           </optgroup>
29
         </select>
31
         </select>
30
         <GmapMap
32
         <GmapMap
36
         >
38
         >
37
         </GmapMap>
39
         </GmapMap>
38
         <div style="max-height:500px; overflow:auto">
40
         <div style="max-height:500px; overflow:auto">
39
-          <table class="table table-sm">
41
+          <table id="directionTable" class="table table-sm">
40
             <tr>
42
             <tr>
41
               <td colspan="4">{{ overallRoute }}</td>
43
               <td colspan="4">{{ overallRoute }}</td>
42
             </tr>
44
             </tr>
52
             </tr>
54
             </tr>
53
           </table>
55
           </table>
54
         </div>
56
         </div>
57
+
58
+        <button
59
+          style="float:right"
60
+          v-if="fromSelected"
61
+          class="btn-solid-blue"
62
+          @click="saveDirections()"
63
+        >
64
+          Save
65
+        </button>
55
       </div>
66
       </div>
56
     </div>
67
     </div>
57
   </div>
68
   </div>
60
 <script>
71
 <script>
61
 /* eslint-disable */
72
 /* eslint-disable */
62
 import { gmapApi } from "vue2-google-maps";
73
 import { gmapApi } from "vue2-google-maps";
74
+import jsPDF from "jspdf";
75
+import "jspdf-autotable";
63
 export default {
76
 export default {
64
   computed: {
77
   computed: {
65
     google: gmapApi,
78
     google: gmapApi,
68
     }
81
     }
69
   },
82
   },
70
   props: {
83
   props: {
71
-    resortCoords: {}
84
+    resortCoords: {},
85
+    resortName: ""
72
   },
86
   },
73
   data() {
87
   data() {
74
     return {
88
     return {
75
       directionService: {},
89
       directionService: {},
76
       startAddress: null,
90
       startAddress: null,
77
       directionSteps: [],
91
       directionSteps: [],
78
-      overallRoute: ""
92
+      overallRoute: "",
93
+      fromSelected: false,
94
+      selectedFromName: ""
79
     };
95
     };
80
   },
96
   },
81
   methods: {
97
   methods: {
98
+    saveDirections() {
99
+      const doc = new jsPDF();
100
+
101
+      doc.setDrawColor(186, 186, 186);
102
+      doc.line(15, 62, 195, 62);
103
+      doc.setFontSize(20);
104
+      doc.text(115, 25, "Directions:");
105
+      doc.setFontSize(9);
106
+      doc.text(115, 30, "From " + this.selectedFromName + " to " + this.resortName);
107
+      doc.addImage("/img/logos/UVProp.png", "PNG", 15, 10, 75, 25);
108
+      doc.setFontSize(12);
109
+      doc.autoTable({
110
+        html: "#directionTable",
111
+        startY: 47,
112
+        headStyles: {
113
+          fillColor: [255, 255, 255],
114
+          textColor: [0, 0, 0]
115
+        }
116
+      });
117
+
118
+      doc.setFontSize(10);
119
+      const pages = doc.internal.getNumberOfPages();
120
+      const pageWidth = doc.internal.pageSize.width;
121
+      const pageHeight = doc.internal.pageSize.height;
122
+      for (let j = 1; j < pages + 1; j++) {
123
+        let horizontalPos = pageWidth / 2;
124
+        let verticalPos = pageHeight - 10;
125
+        doc.setPage(j);
126
+        doc.text(`${j} of ${pages}`, horizontalPos, verticalPos, {
127
+          align: "center"
128
+        });
129
+      }
130
+      doc.save("directions.pdf");
131
+    },
82
     calcRoute() {
132
     calcRoute() {
83
       var resortCoords = this.resortCoords.split(",");
133
       var resortCoords = this.resortCoords.split(",");
84
       var resortLatLng = new google.maps.LatLng({
134
       var resortLatLng = new google.maps.LatLng({
87
       });
137
       });
88
 
138
 
89
       var startCoords = this.startAddress.split(",");
139
       var startCoords = this.startAddress.split(",");
140
+      this.selectedFromName = startCoords[2];
90
       var startLatLng = new google.maps.LatLng({
141
       var startLatLng = new google.maps.LatLng({
91
         lat: parseFloat(startCoords[0]),
142
         lat: parseFloat(startCoords[0]),
92
         lng: parseFloat(startCoords[1])
143
         lng: parseFloat(startCoords[1])
111
       this.directionsService.route(request, (result, status) => {
162
       this.directionsService.route(request, (result, status) => {
112
         if (status == "OK") {
163
         if (status == "OK") {
113
           this.directionSteps = result.routes[0].legs[0].steps;
164
           this.directionSteps = result.routes[0].legs[0].steps;
114
-          console.log(result.routes[0].legs[0]);
165
+          console.log(result);
115
           this.overallRoute =
166
           this.overallRoute =
116
             result.routes[0].legs[0].distance.text +
167
             result.routes[0].legs[0].distance.text +
117
             ". About " +
168
             ". About " +
122
           this.directionsRenderer.setDirections(result);
173
           this.directionsRenderer.setDirections(result);
123
         }
174
         }
124
       });
175
       });
176
+      this.fromSelected = true;
125
     }
177
     }
126
   }
178
   }
127
 };
179
 };

+ 3
- 2
src/components/timeshare/resort/unit/tabSection.vue 파일 보기

60
         <facilities :resortCode="resortCode" />
60
         <facilities :resortCode="resortCode" />
61
       </div>
61
       </div>
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" :resortName="resortName" />
64
       </div>
64
       </div>
65
       <div class="tab-pane fade mt-3" 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%" />
98
   props: {
98
   props: {
99
     resortCode: {},
99
     resortCode: {},
100
     resortCoords: {},
100
     resortCoords: {},
101
-    layoutImages: {}
101
+    layoutImages: {},
102
+    resortName: ""
102
   }
103
   }
103
 };
104
 };
104
 </script>
105
 </script>

+ 2
- 1
src/components/timeshare/resort/unit/unitPage.vue 파일 보기

1
 <template>
1
 <template>
2
-  <main id="main" style="margin-top:-20px; padding-bottom:50px">
2
+  <main id="main" style="padding-bottom:50px">
3
     <summarySection :resortCode="resortCode" :unitNumber="unitNumber" />
3
     <summarySection :resortCode="resortCode" :unitNumber="unitNumber" />
4
     <div class="container">
4
     <div class="container">
5
       <div class="row mt-5">
5
       <div class="row mt-5">
9
             :resortCode="resortCode"
9
             :resortCode="resortCode"
10
             :resortCoords="resort.prPostAdd1"
10
             :resortCoords="resort.prPostAdd1"
11
             :layoutImages="layouts"
11
             :layoutImages="layouts"
12
+            :resortName="resort.prName"
12
           />
13
           />
13
         </div>
14
         </div>
14
       </div>
15
       </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
 

+ 2
- 2
vue.config.js 파일 보기

2
   devServer: {
2
   devServer: {
3
     proxy: {
3
     proxy: {
4
       "/api": {
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
         changeOrigin: true
7
         changeOrigin: true
8
       },
8
       },
9
       "/nph-srep": {
9
       "/nph-srep": {

Loading…
취소
저장