9fa2d4d5 by zhangmeng

拍摄

1 parent 136529c9
...@@ -5,69 +5,73 @@ ...@@ -5,69 +5,73 @@
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?'名摄影师':'Photographers' }}&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; 21 <span class="sign"> {{ form.dresserLimit }}</span>{{ language == 0 ? '名摄影师' : 'Photographers' }}&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 <div style="display: flex"> 34 <div style="display: flex">
33 <div style="min-width: 130px" class="title">{{language==0?'工作室简介:':'Studio profile:'}}</div> 35 <div class="title" style="min-width: 130px">{{ language == 0 ? '工作室简介:' : 'Studio profile:' }}</div>
34 <div v-html="form.introduction"></div> 36 <div v-html="form.introduction" />
35 </div> 37 </div>
36 </el-card> 38 </el-card>
37 <div class="mt30"> 39 <div class="mt30">
38 <el-row :gutter="20"> 40 <el-row :gutter="20">
39 <el-col :span="10"> 41 <el-col :span="10">
40 <div class="imgbox hotelImg"> 42 <div class="imgbox hotelImg">
41 <el-image :src="form?.photosList?.[0]" fit="cover" :preview-src-list="form?.photosList"/> 43 <el-image :preview-src-list="form?.photosList" :src="form?.photosList?.[0]" fit="cover" />
42 </div> 44 </div>
43 </el-col> 45 </el-col>
44 <el-col :span="14"> 46 <el-col :span="14">
45 <el-row class="h100" :gutter="20"> 47 <el-row :gutter="20" class="h100">
46 <el-col :span="8" class="oddmb" v-for="(p,index) in form?.photosList?.slice(1,7)"> 48 <el-col v-for="(p,index) in form?.photosList?.slice(1,7)" :span="8" class="oddmb">
47 <div class="imgbox hotelImg"><el-image :src="p" fit="cover"/></div> 49 <div class="imgbox hotelImg">
50 <el-image :src="p" fit="cover" />
51 </div>
48 </el-col> 52 </el-col>
49 </el-row> 53 </el-row>
50 </el-col> 54 </el-col>
51 </el-row> 55 </el-row>
52 </div> 56 </div>
53 <br> 57 <br>
54
55 <el-card :body-style="{'padding':'20px 20px'}"> 58 <el-card :body-style="{'padding':'20px 20px'}">
56 <PhotoGraphyCalendar/> 59 <PhotoGraphyCalendar />
57 </el-card> 60 </el-card>
58 </div> 61 </div>
59 </div> 62 </div>
60 </template> 63 </template>
61 64
62 <script setup > 65 <script setup>
63 import {useRouter} from "vue-router"; 66 import { useRouter } from 'vue-router'
64 import {ref, reactive, onMounted} from "vue"; 67 import { ref, reactive, onMounted } from 'vue'
65 import {useRoute} from "vue-router"; 68 import { useRoute } from 'vue-router'
66 import * as booking from "@/apiPc/booking" 69 import * as booking from '@/apiPc/booking'
67 import {useStorage} from "@vueuse/core/index"; 70 import { useStorage } from '@vueuse/core/index'
68 import useUserStore from "@/store/modules/user"; 71 import useUserStore from '@/store/modules/user'
69 import PhotoGraphyCalendar from "@/viewsPc/booking/component/photoGraphyCalendar.vue"; 72 import PhotoGraphyCalendar from '@/viewsPc/booking/component/photoGraphyCalendar.vue'
70 import {fillImgUrl} from "/@/utils/ruoyi"; 73 import { fillImgUrl } from '/@/utils/ruoyi'
74
71 const user = useUserStore().user 75 const user = useUserStore().user
72 const language = useStorage('language', 0) 76 const language = useStorage('language', 0)
73 const router = useRouter() 77 const router = useRouter()
...@@ -75,7 +79,7 @@ const route = useRoute() ...@@ -75,7 +79,7 @@ const route = useRoute()
75 const form = ref({}) 79 const form = ref({})
76 const query = ref({ 80 const query = ref({
77 activityId: route.params.cptId, 81 activityId: route.params.cptId,
78 id:route.params.id 82 id: route.params.id
79 }) 83 })
80 const loading = ref(false) 84 const loading = ref(false)
81 const map = ref(null) 85 const map = ref(null)
...@@ -88,35 +92,34 @@ function getData() { ...@@ -88,35 +92,34 @@ function getData() {
88 booking.getComShootVoById(query.value).then(res => { 92 booking.getComShootVoById(query.value).then(res => {
89 loading.value = false 93 loading.value = false
90 form.value = res.data 94 form.value = res.data
91 form.value.photosList=[] 95 form.value.photosList = []
92 form.value.photos.split(',').forEach(v=>{ 96 form.value.photos.split(',').forEach(v => {
93 form.value.photosList.push(fillImgUrl(v)) 97 form.value.photosList.push(fillImgUrl(v))
94 }) 98 })
95 }).catch(err => { 99 }).catch(err => {
96 console.log(err) 100 console.log(err)
97 }) 101 })
98
99 } 102 }
100 103
101 </script> 104 </script>
102 105
103 <style scoped lang="scss"> 106 <style lang="scss" scoped>
104 .room { 107 .room {
105 background: #FAFBFD; 108 background: #FAFBFD;
106 margin: 20px 0 0; 109 margin: 20px 0 0;
107 padding: 20px; 110 padding: 20px;
108 border: 1px solid #E5E5E5; 111 border: 1px solid #E5E5E5;
109 112
110 .name { 113 .name {
111 font-size: 20px; 114 font-size: 20px;
112 margin: 0 0 10px; 115 margin: 0 0 10px;
113 } 116 }
114 117
115 .roomImg { 118 .roomImg {
116 aspect-ratio: 16/9; 119 aspect-ratio: 16/9;
117 border-radius: 10px; 120 border-radius: 10px;
118 overflow: hidden; 121 overflow: hidden;
119 122
120 img { 123 img {
121 width: 100%; 124 width: 100%;
122 object-fit: cover; 125 object-fit: cover;
...@@ -124,17 +127,17 @@ function getData() { ...@@ -124,17 +127,17 @@ function getData() {
124 height: 100%; 127 height: 100%;
125 } 128 }
126 } 129 }
127 130
128 .price { 131 .price {
129 color: #FF8124; 132 color: #FF8124;
130 font-size: 24px; 133 font-size: 24px;
131 134
132 span { 135 span {
133 font-size: 36px; 136 font-size: 36px;
134 font-family: "DIN Alternate" 137 font-family: "DIN Alternate"
135 } 138 }
136 } 139 }
137 140
138 .bg-lineg { 141 .bg-lineg {
139 margin: auto; 142 margin: auto;
140 border-radius: 10px; 143 border-radius: 10px;
...@@ -143,7 +146,7 @@ function getData() { ...@@ -143,7 +146,7 @@ function getData() {
143 font-size: 24px; 146 font-size: 24px;
144 width: 66px; 147 width: 66px;
145 cursor: pointer; 148 cursor: pointer;
146 149
147 div { 150 div {
148 background: #fff; 151 background: #fff;
149 font-size: 13px; 152 font-size: 13px;
...@@ -166,30 +169,30 @@ function getData() { ...@@ -166,30 +169,30 @@ function getData() {
166 h3 { 169 h3 {
167 margin: 0 0 20px; 170 margin: 0 0 20px;
168 } 171 }
169 172
170 img.w100 { 173 img.w100 {
171 object-fit: cover; 174 object-fit: cover;
172 aspect-ratio: 16/9 175 aspect-ratio: 16/9
173 } 176 }
174 177
175 .addr { 178 .addr {
176 font-size: 16px; 179 font-size: 16px;
177 color: #929AA0; 180 color: #929AA0;
178 font-weight: 400; 181 font-weight: 400;
179 } 182 }
180 183
181 .price { 184 .price {
182 margin: 0 0 25px; 185 margin: 0 0 25px;
183 color: #FF8124; 186 color: #FF8124;
184 font-size: 18px; 187 font-size: 18px;
185 188
186 span { 189 span {
187 font-size: 24px; 190 font-size: 24px;
188 margin: 0 8px; 191 margin: 0 8px;
189 font-family: 'DINAlternate-Bold'; 192 font-family: 'DINAlternate-Bold';
190 font-weight: 600; 193 font-weight: 600;
191 } 194 }
192 195
193 i { 196 i {
194 font-style: normal; 197 font-style: normal;
195 color: #929AA0; 198 color: #929AA0;
...@@ -200,12 +203,12 @@ function getData() { ...@@ -200,12 +203,12 @@ function getData() {
200 203
201 .tagbox { 204 .tagbox {
202 margin: 15px 0; 205 margin: 15px 0;
203 206
204 a { 207 a {
205 color: #AFB5B9; 208 color: #AFB5B9;
206 font-size: 12px; 209 font-size: 12px;
207 } 210 }
208 211
209 span { 212 span {
210 border-radius: 13px; 213 border-radius: 13px;
211 font-size: 12px; 214 font-size: 12px;
...@@ -213,22 +216,22 @@ function getData() { ...@@ -213,22 +216,22 @@ function getData() {
213 margin-right: 10px; 216 margin-right: 10px;
214 font-weight: 400; 217 font-weight: 400;
215 } 218 }
216 219
217 span:nth-child(4n) { 220 span:nth-child(4n) {
218 background: rgba(50, 177, 108, 0.2); 221 background: rgba(50, 177, 108, 0.2);
219 color: rgba(50, 177, 108, 1); 222 color: rgba(50, 177, 108, 1);
220 } 223 }
221 224
222 span:nth-child(4n+1) { 225 span:nth-child(4n+1) {
223 background: rgba(243, 152, 0, 0.2); 226 background: rgba(243, 152, 0, 0.2);
224 color: rgba(243, 152, 0, 1); 227 color: rgba(243, 152, 0, 1);
225 } 228 }
226 229
227 span:nth-child(4n+2) { 230 span:nth-child(4n+2) {
228 background: rgba(0, 160, 233, 0.2); 231 background: rgba(0, 160, 233, 0.2);
229 color: rgba(0, 160, 233, 1); 232 color: rgba(0, 160, 233, 1);
230 } 233 }
231 234
232 span:nth-child(4n+3) { 235 span:nth-child(4n+3) {
233 background: rgba(247, 64, 166, 0.2); 236 background: rgba(247, 64, 166, 0.2);
234 color: rgba(247, 64, 166, 1); 237 color: rgba(247, 64, 166, 1);
...@@ -239,7 +242,7 @@ function getData() { ...@@ -239,7 +242,7 @@ function getData() {
239 position: relative; 242 position: relative;
240 overflow: hidden; 243 overflow: hidden;
241 height: 200px; 244 height: 200px;
242 245
243 #map { 246 #map {
244 position: relative; 247 position: relative;
245 left: -70px; 248 left: -70px;
...@@ -260,14 +263,17 @@ function getData() { ...@@ -260,14 +263,17 @@ function getData() {
260 width: 100%; 263 width: 100%;
261 height: 100%; 264 height: 100%;
262 position: relative; 265 position: relative;
263 img{object-fit: cover} 266
267 img {
268 object-fit: cover
269 }
264 } 270 }
265 271
266 .img-hover{ 272 .img-hover {
267 position: absolute; 273 position: absolute;
268 top: 0; 274 top: 0;
269 left: 0; 275 left: 0;
270 background-color: rgb(0,0,0,.5); 276 background-color: rgb(0, 0, 0, .5);
271 color: #fff; 277 color: #fff;
272 font-size: 18px; 278 font-size: 18px;
273 font-weight: 400; 279 font-weight: 400;
...@@ -276,15 +282,28 @@ function getData() { ...@@ -276,15 +282,28 @@ function getData() {
276 line-height: 115px; 282 line-height: 115px;
277 text-align: center; 283 text-align: center;
278 border-radius: 10px; 284 border-radius: 10px;
279 285
280 //display: none; 286 //display: none;
281 } 287 }
282 .hotelImg{border-radius: 10px;overflow: hidden;aspect-ratio: 16/9; 288
283 img{object-fit: cover;object-position: center;width: 100%;height: 100%; 289 .hotelImg {
290 border-radius: 10px;
291 overflow: hidden;
292 aspect-ratio: 16/9;
293
294 img {
295 object-fit: cover;
296 object-position: center;
297 width: 100%;
298 height: 100%;
284 } 299 }
285 } 300 }
286 .oddmb:nth-child(2){margin-bottom: 20px;} 301
287 .title{ 302 .oddmb:nth-child(2) {
303 margin-bottom: 20px;
304 }
305
306 .title {
288 width: 130px; 307 width: 130px;
289 font-weight: 500; 308 font-weight: 500;
290 font-size: 18px; 309 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.orderType==3)&&b.viewStatus!=0" 136 v-if="(b.orderType == 0||b.orderType == 5||b.orderType==1||b.orderType==2||b.orderType==3||b.orderType==4)&&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)"
...@@ -266,6 +266,12 @@ function Rebook(row) { ...@@ -266,6 +266,12 @@ function Rebook(row) {
266 path: `/booking/makeUp/${row.activeId}/${row.extId}` 266 path: `/booking/makeUp/${row.activeId}/${row.extId}`
267 }) 267 })
268 } 268 }
269 // 拍摄
270 if (row.orderType == 4) {
271 return router.push({
272 path: `/booking/photography/${row.activeId}/${row.extId}`
273 })
274 }
269 275
270 if (row.orderType == 5) { 276 if (row.orderType == 5) {
271 router.push({ 277 router.push({
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!