化妆
Showing
3 changed files
with
101 additions
and
73 deletions
This diff is collapsed.
Click to expand it.
| ... | @@ -5,48 +5,53 @@ | ... | @@ -5,48 +5,53 @@ |
| 5 | <el-row> | 5 | <el-row> |
| 6 | <div class="zh-title">{{ form.name }}</div> | 6 | <div class="zh-title">{{ form.name }}</div> |
| 7 | <div class="tagbox esp"> | 7 | <div class="tagbox esp"> |
| 8 | <span v-for="(t,index) in form.label?.split(',')" v-show="index<4">{{t}}</span> | 8 | <span v-for="(t,index) in form.label?.split(',')" v-show="index<4">{{ t }}</span> |
| 9 | </div> | 9 | </div> |
| 10 | </el-row> | 10 | </el-row> |
| 11 | <el-row class="hz-row"> | 11 | <el-row class="hz-row"> |
| 12 | <el-icon size="16" style="position: relative;top: 2px" color="#929AA0"> | 12 | <el-icon color="#929AA0" size="16" style="position: relative;top: 2px"> |
| 13 | <OfficeBuilding/> | 13 | <OfficeBuilding /> |
| 14 | </el-icon> | 14 | </el-icon> |
| 15 | {{ language==0?'成立':'Established for'}} <span class="sign">{{form.ageLimit}}</span>{{language==0?'年':'years'}} | | 15 | {{ language == 0 ? '成立' : 'Established for' }} <span |
| 16 | <el-icon size="16" style="position: relative;top: 2px" color="#929AA0"> | 16 | class="sign" |
| 17 | <UserFilled/> | 17 | >{{ form.ageLimit }}</span>{{ language == 0 ? '年' : 'years' }} | |
| 18 | <el-icon color="#929AA0" size="16" style="position: relative;top: 2px"> | ||
| 19 | <UserFilled /> | ||
| 18 | </el-icon> | 20 | </el-icon> |
| 19 | <span class="sign"> {{ form.dresserLimit }}</span>{{language==0?'名化妆师':'makeup artists' }} | | 21 | <span class="sign"> {{ form.dresserLimit }}</span>{{ language == 0 ? '名化妆师' : 'makeup artists' }} | |
| 20 | <el-icon size="16" style="position: relative;top: 2px" color="#929AA0"> | 22 | <el-icon color="#929AA0" size="16" style="position: relative;top: 2px"> |
| 21 | <PhoneFilled/> | 23 | <PhoneFilled /> |
| 22 | </el-icon> | 24 | </el-icon> |
| 23 | <span style="padding-top: 2px"> | 25 | <span style="padding-top: 2px"> |
| 24 | {{ form.contact }} | 26 | {{ form.contact }} |
| 25 | </span> | 27 | </span> |
| 26 | | | 28 | | |
| 27 | <el-icon size="16" style="position: relative;top: 2px" color="#929AA0"> | 29 | <el-icon color="#929AA0" size="16" style="position: relative;top: 2px"> |
| 28 | <LocationFilled/> | 30 | <LocationFilled /> |
| 29 | </el-icon> | 31 | </el-icon> |
| 30 | {{form.remarks}} | 32 | {{ form.remarks }} |
| 31 | </el-row> | 33 | </el-row> |
| 32 | 34 | ||
| 33 | <div style="display: flex"> | 35 | <div style="display: flex"> |
| 34 | <div style="min-width: 130px" class="title forPc">{{language==0?'工作室简介:':'Studio profile:'}}</div> | 36 | <div class="title forPc" style="min-width: 130px">{{ language == 0 ? '工作室简介:' : 'Studio profile:' }} |
| 35 | <div v-html="form.introduction"></div> | 37 | </div> |
| 38 | <div v-html="form.introduction" /> | ||
| 36 | </div> | 39 | </div> |
| 37 | </el-card> | 40 | </el-card> |
| 38 | 41 | ||
| 39 | <div class="mt30"> | 42 | <div class="mt30"> |
| 40 | <el-row :gutter="20"> | 43 | <el-row :gutter="20"> |
| 41 | <el-col :span="10"> | 44 | <el-col :span="10"> |
| 42 | <div class="imgbox hotelImg"> | 45 | <div class="imgbox hotelImg"> |
| 43 | <el-image :src="form?.photosList?.[0]" fit="cover" :preview-src-list="form?.photosList"/> | 46 | <el-image :preview-src-list="form?.photosList" :src="form?.photosList?.[0]" fit="cover" /> |
| 44 | </div> | 47 | </div> |
| 45 | </el-col> | 48 | </el-col> |
| 46 | <el-col :span="14"> | 49 | <el-col :span="14"> |
| 47 | <el-row class="h100" :gutter="20"> | 50 | <el-row :gutter="20" class="h100"> |
| 48 | <el-col :span="8" class="oddmb" v-for="(p,index) in form?.photosList?.slice(1,7)"> | 51 | <el-col v-for="(p,index) in form?.photosList?.slice(1,7)" :span="8" class="oddmb"> |
| 49 | <div class="imgbox hotelImg"><el-image :src="p" fit="cover"/></div> | 52 | <div class="imgbox hotelImg"> |
| 53 | <el-image :src="p" fit="cover" /> | ||
| 54 | </div> | ||
| 50 | </el-col> | 55 | </el-col> |
| 51 | </el-row> | 56 | </el-row> |
| 52 | </el-col> | 57 | </el-col> |
| ... | @@ -54,22 +59,23 @@ | ... | @@ -54,22 +59,23 @@ |
| 54 | </div> | 59 | </div> |
| 55 | <br> | 60 | <br> |
| 56 | <el-card :body-style="{'padding':'20px 20px'}"> | 61 | <el-card :body-style="{'padding':'20px 20px'}"> |
| 57 | <MakeUpCalendar/> | 62 | <MakeUpCalendar /> |
| 58 | </el-card> | 63 | </el-card> |
| 59 | 64 | ||
| 60 | </div> | 65 | </div> |
| 61 | </div> | 66 | </div> |
| 62 | </template> | 67 | </template> |
| 63 | 68 | ||
| 64 | <script setup > | 69 | <script setup> |
| 65 | import {useRouter} from "vue-router"; | 70 | import { useRouter } from 'vue-router' |
| 66 | import {ref, reactive, onMounted} from "vue"; | 71 | import { ref, reactive, onMounted } from 'vue' |
| 67 | import {useRoute} from "vue-router"; | 72 | import { useRoute } from 'vue-router' |
| 68 | import * as booking from "@/apiPc/booking" | 73 | import * as booking from '@/apiPc/booking' |
| 69 | import {useStorage} from "@vueuse/core/index"; | 74 | import { useStorage } from '@vueuse/core/index' |
| 70 | import useUserStore from "@/store/modules/user"; | 75 | import useUserStore from '@/store/modules/user' |
| 71 | import MakeUpCalendar from "@/viewsPc/booking/component/makeUpCalendar.vue"; | 76 | import MakeUpCalendar from '@/viewsPc/booking/component/makeUpCalendar.vue' |
| 72 | import {fillImgUrl} from "/@/utils/ruoyi"; | 77 | import { fillImgUrl } from '/@/utils/ruoyi' |
| 78 | |||
| 73 | const user = useUserStore().user | 79 | const user = useUserStore().user |
| 74 | const language = useStorage('language', 0) | 80 | const language = useStorage('language', 0) |
| 75 | const router = useRouter() | 81 | const router = useRouter() |
| ... | @@ -77,7 +83,7 @@ const route = useRoute() | ... | @@ -77,7 +83,7 @@ const route = useRoute() |
| 77 | const form = ref({}) | 83 | const form = ref({}) |
| 78 | const query = ref({ | 84 | const query = ref({ |
| 79 | activityId: route.params.cptId, | 85 | activityId: route.params.cptId, |
| 80 | id:route.params.id | 86 | id: route.params.id |
| 81 | }) | 87 | }) |
| 82 | const loading = ref(false) | 88 | const loading = ref(false) |
| 83 | onMounted(() => { | 89 | onMounted(() => { |
| ... | @@ -89,8 +95,8 @@ function getData() { | ... | @@ -89,8 +95,8 @@ function getData() { |
| 89 | booking.makeUpDetail(query.value).then(res => { | 95 | booking.makeUpDetail(query.value).then(res => { |
| 90 | loading.value = false | 96 | loading.value = false |
| 91 | form.value = res.data | 97 | form.value = res.data |
| 92 | form.value.photosList=[] | 98 | form.value.photosList = [] |
| 93 | form.value.photos?.split(',')?.forEach(v=>{ | 99 | form.value.photos?.split(',')?.forEach(v => { |
| 94 | form.value.photosList.push(fillImgUrl(v)) | 100 | form.value.photosList.push(fillImgUrl(v)) |
| 95 | }) | 101 | }) |
| 96 | console.log(res) | 102 | console.log(res) |
| ... | @@ -101,23 +107,23 @@ function getData() { | ... | @@ -101,23 +107,23 @@ function getData() { |
| 101 | 107 | ||
| 102 | </script> | 108 | </script> |
| 103 | 109 | ||
| 104 | <style scoped lang="scss"> | 110 | <style lang="scss" scoped> |
| 105 | .room { | 111 | .room { |
| 106 | background: #FAFBFD; | 112 | background: #FAFBFD; |
| 107 | margin: 20px 0 0; | 113 | margin: 20px 0 0; |
| 108 | padding: 20px; | 114 | padding: 20px; |
| 109 | border: 1px solid #E5E5E5; | 115 | border: 1px solid #E5E5E5; |
| 110 | 116 | ||
| 111 | .name { | 117 | .name { |
| 112 | font-size: 20px; | 118 | font-size: 20px; |
| 113 | margin: 0 0 10px; | 119 | margin: 0 0 10px; |
| 114 | } | 120 | } |
| 115 | 121 | ||
| 116 | .roomImg { | 122 | .roomImg { |
| 117 | aspect-ratio: 16/9; | 123 | aspect-ratio: 16/9; |
| 118 | border-radius: 10px; | 124 | border-radius: 10px; |
| 119 | overflow: hidden; | 125 | overflow: hidden; |
| 120 | 126 | ||
| 121 | img { | 127 | img { |
| 122 | width: 100%; | 128 | width: 100%; |
| 123 | object-fit: cover; | 129 | object-fit: cover; |
| ... | @@ -125,17 +131,17 @@ function getData() { | ... | @@ -125,17 +131,17 @@ function getData() { |
| 125 | height: 100%; | 131 | height: 100%; |
| 126 | } | 132 | } |
| 127 | } | 133 | } |
| 128 | 134 | ||
| 129 | .price { | 135 | .price { |
| 130 | color: #FF8124; | 136 | color: #FF8124; |
| 131 | font-size: 24px; | 137 | font-size: 24px; |
| 132 | 138 | ||
| 133 | span { | 139 | span { |
| 134 | font-size: 36px; | 140 | font-size: 36px; |
| 135 | font-family: "DIN Alternate" | 141 | font-family: "DIN Alternate" |
| 136 | } | 142 | } |
| 137 | } | 143 | } |
| 138 | 144 | ||
| 139 | .bg-lineg { | 145 | .bg-lineg { |
| 140 | margin: auto; | 146 | margin: auto; |
| 141 | border-radius: 10px; | 147 | border-radius: 10px; |
| ... | @@ -144,7 +150,7 @@ function getData() { | ... | @@ -144,7 +150,7 @@ function getData() { |
| 144 | font-size: 24px; | 150 | font-size: 24px; |
| 145 | width: 66px; | 151 | width: 66px; |
| 146 | cursor: pointer; | 152 | cursor: pointer; |
| 147 | 153 | ||
| 148 | div { | 154 | div { |
| 149 | background: #fff; | 155 | background: #fff; |
| 150 | font-size: 13px; | 156 | font-size: 13px; |
| ... | @@ -167,30 +173,30 @@ function getData() { | ... | @@ -167,30 +173,30 @@ function getData() { |
| 167 | h3 { | 173 | h3 { |
| 168 | margin: 0 0 20px; | 174 | margin: 0 0 20px; |
| 169 | } | 175 | } |
| 170 | 176 | ||
| 171 | img.w100 { | 177 | img.w100 { |
| 172 | object-fit: cover; | 178 | object-fit: cover; |
| 173 | aspect-ratio: 16/9 | 179 | aspect-ratio: 16/9 |
| 174 | } | 180 | } |
| 175 | 181 | ||
| 176 | .addr { | 182 | .addr { |
| 177 | font-size: 16px; | 183 | font-size: 16px; |
| 178 | color: #929AA0; | 184 | color: #929AA0; |
| 179 | font-weight: 400; | 185 | font-weight: 400; |
| 180 | } | 186 | } |
| 181 | 187 | ||
| 182 | .price { | 188 | .price { |
| 183 | margin: 0 0 25px; | 189 | margin: 0 0 25px; |
| 184 | color: #FF8124; | 190 | color: #FF8124; |
| 185 | font-size: 18px; | 191 | font-size: 18px; |
| 186 | 192 | ||
| 187 | span { | 193 | span { |
| 188 | font-size: 24px; | 194 | font-size: 24px; |
| 189 | margin: 0 8px; | 195 | margin: 0 8px; |
| 190 | font-family: 'DINAlternate-Bold'; | 196 | font-family: 'DINAlternate-Bold'; |
| 191 | font-weight: 600; | 197 | font-weight: 600; |
| 192 | } | 198 | } |
| 193 | 199 | ||
| 194 | i { | 200 | i { |
| 195 | font-style: normal; | 201 | font-style: normal; |
| 196 | color: #929AA0; | 202 | color: #929AA0; |
| ... | @@ -201,12 +207,12 @@ function getData() { | ... | @@ -201,12 +207,12 @@ function getData() { |
| 201 | 207 | ||
| 202 | .tagbox { | 208 | .tagbox { |
| 203 | margin: 15px 0; | 209 | margin: 15px 0; |
| 204 | 210 | ||
| 205 | a { | 211 | a { |
| 206 | color: #AFB5B9; | 212 | color: #AFB5B9; |
| 207 | font-size: 12px; | 213 | font-size: 12px; |
| 208 | } | 214 | } |
| 209 | 215 | ||
| 210 | span { | 216 | span { |
| 211 | border-radius: 13px; | 217 | border-radius: 13px; |
| 212 | font-size: 12px; | 218 | font-size: 12px; |
| ... | @@ -214,22 +220,22 @@ function getData() { | ... | @@ -214,22 +220,22 @@ function getData() { |
| 214 | margin-right: 10px; | 220 | margin-right: 10px; |
| 215 | font-weight: 400; | 221 | font-weight: 400; |
| 216 | } | 222 | } |
| 217 | 223 | ||
| 218 | span:nth-child(4n) { | 224 | span:nth-child(4n) { |
| 219 | background: rgba(50, 177, 108, 0.2); | 225 | background: rgba(50, 177, 108, 0.2); |
| 220 | color: rgba(50, 177, 108, 1); | 226 | color: rgba(50, 177, 108, 1); |
| 221 | } | 227 | } |
| 222 | 228 | ||
| 223 | span:nth-child(4n+1) { | 229 | span:nth-child(4n+1) { |
| 224 | background: rgba(243, 152, 0, 0.2); | 230 | background: rgba(243, 152, 0, 0.2); |
| 225 | color: rgba(243, 152, 0, 1); | 231 | color: rgba(243, 152, 0, 1); |
| 226 | } | 232 | } |
| 227 | 233 | ||
| 228 | span:nth-child(4n+2) { | 234 | span:nth-child(4n+2) { |
| 229 | background: rgba(0, 160, 233, 0.2); | 235 | background: rgba(0, 160, 233, 0.2); |
| 230 | color: rgba(0, 160, 233, 1); | 236 | color: rgba(0, 160, 233, 1); |
| 231 | } | 237 | } |
| 232 | 238 | ||
| 233 | span:nth-child(4n+3) { | 239 | span:nth-child(4n+3) { |
| 234 | background: rgba(247, 64, 166, 0.2); | 240 | background: rgba(247, 64, 166, 0.2); |
| 235 | color: rgba(247, 64, 166, 1); | 241 | color: rgba(247, 64, 166, 1); |
| ... | @@ -249,14 +255,17 @@ function getData() { | ... | @@ -249,14 +255,17 @@ function getData() { |
| 249 | width: 100%; | 255 | width: 100%; |
| 250 | height: 100%; | 256 | height: 100%; |
| 251 | position: relative; | 257 | position: relative; |
| 252 | img{object-fit: cover} | 258 | |
| 259 | img { | ||
| 260 | object-fit: cover | ||
| 261 | } | ||
| 253 | } | 262 | } |
| 254 | 263 | ||
| 255 | .img-hover{ | 264 | .img-hover { |
| 256 | position: absolute; | 265 | position: absolute; |
| 257 | top: 0; | 266 | top: 0; |
| 258 | left: 0; | 267 | left: 0; |
| 259 | background-color: rgb(0,0,0,.5); | 268 | background-color: rgb(0, 0, 0, .5); |
| 260 | color: #fff; | 269 | color: #fff; |
| 261 | font-size: 18px; | 270 | font-size: 18px; |
| 262 | font-weight: 400; | 271 | font-weight: 400; |
| ... | @@ -267,12 +276,24 @@ function getData() { | ... | @@ -267,12 +276,24 @@ function getData() { |
| 267 | border-radius: 10px; | 276 | border-radius: 10px; |
| 268 | } | 277 | } |
| 269 | 278 | ||
| 270 | .hotelImg{border-radius: 10px;overflow: hidden;aspect-ratio: 16/9; | 279 | .hotelImg { |
| 271 | img{object-fit: cover;object-position: center;width: 100%;height: 100%; | 280 | border-radius: 10px; |
| 281 | overflow: hidden; | ||
| 282 | aspect-ratio: 16/9; | ||
| 283 | |||
| 284 | img { | ||
| 285 | object-fit: cover; | ||
| 286 | object-position: center; | ||
| 287 | width: 100%; | ||
| 288 | height: 100%; | ||
| 272 | } | 289 | } |
| 273 | } | 290 | } |
| 274 | .oddmb:nth-child(2){margin-bottom: 20px;} | 291 | |
| 275 | .title{ | 292 | .oddmb:nth-child(2) { |
| 293 | margin-bottom: 20px; | ||
| 294 | } | ||
| 295 | |||
| 296 | .title { | ||
| 276 | width: 130px; | 297 | width: 130px; |
| 277 | font-weight: 500; | 298 | font-weight: 500; |
| 278 | font-size: 18px; | 299 | font-size: 18px; | ... | ... |
| ... | @@ -133,7 +133,7 @@ | ... | @@ -133,7 +133,7 @@ |
| 133 | </div> | 133 | </div> |
| 134 | <div class="text-right"> | 134 | <div class="text-right"> |
| 135 | <el-button | 135 | <el-button |
| 136 | v-if="(b.orderType == 0||b.orderType == 5||b.orderType==1||b.orderType==2)&&b.viewStatus!=0" | 136 | v-if="(b.orderType == 0||b.orderType == 5||b.orderType==1||b.orderType==2||b.orderType==3)&&b.viewStatus!=0" |
| 137 | class="mb10" plain round | 137 | class="mb10" plain round |
| 138 | size="small" type="success" | 138 | size="small" type="success" |
| 139 | @click="Rebook(b)" | 139 | @click="Rebook(b)" |
| ... | @@ -236,6 +236,19 @@ function goDetail(b) { | ... | @@ -236,6 +236,19 @@ function goDetail(b) { |
| 236 | 236 | ||
| 237 | function Rebook(row) { | 237 | function Rebook(row) { |
| 238 | console.log(row) | 238 | console.log(row) |
| 239 | if (row.orderType == 0) { | ||
| 240 | router.push({ | ||
| 241 | name: 'hotelDetail', | ||
| 242 | params: { | ||
| 243 | cptId: row.activeId, | ||
| 244 | hotelId: row.hotelId | ||
| 245 | }, | ||
| 246 | query: { | ||
| 247 | id: row.extId | ||
| 248 | } | ||
| 249 | }) | ||
| 250 | } | ||
| 251 | |||
| 239 | if (row.orderType == 1) { | 252 | if (row.orderType == 1) { |
| 240 | return router.push({ | 253 | return router.push({ |
| 241 | path: `/booking/car/${row.activeId}` | 254 | path: `/booking/car/${row.activeId}` |
| ... | @@ -247,19 +260,13 @@ function Rebook(row) { | ... | @@ -247,19 +260,13 @@ function Rebook(row) { |
| 247 | path: `/booking/dinner/${row.activeId}` | 260 | path: `/booking/dinner/${row.activeId}` |
| 248 | }) | 261 | }) |
| 249 | } | 262 | } |
| 250 | 263 | // 化妆 | |
| 251 | if (row.orderType == 0) { | 264 | if (row.orderType == 3) { |
| 252 | router.push({ | 265 | return router.push({ |
| 253 | name: 'hotelDetail', | 266 | path: `/booking/makeUp/${row.activeId}/${row.extId}` |
| 254 | params: { | ||
| 255 | cptId: row.activeId, | ||
| 256 | hotelId: row.hotelId | ||
| 257 | }, | ||
| 258 | query: { | ||
| 259 | id: row.extId | ||
| 260 | } | ||
| 261 | }) | 267 | }) |
| 262 | } | 268 | } |
| 269 | |||
| 263 | if (row.orderType == 5) { | 270 | if (row.orderType == 5) { |
| 264 | router.push({ | 271 | router.push({ |
| 265 | name: 'ticket', | 272 | name: 'ticket', | ... | ... |
-
Please register or sign in to post a comment