136529c9 by zhangmeng

化妆

1 parent 864e02a7
...@@ -5,34 +5,37 @@ ...@@ -5,34 +5,37 @@
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'}} &nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; 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' }} &nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;
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' }}&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; 21 <span class="sign"> {{ form.dresserLimit }}</span>{{ language == 0 ? '名化妆师' : 'makeup artists' }}&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;
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 &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; 28 &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;
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
...@@ -40,13 +43,15 @@ ...@@ -40,13 +43,15 @@
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,7 +107,7 @@ function getData() { ...@@ -101,7 +107,7 @@ 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;
...@@ -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',
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!