9503459c by zhangmeng

票务

1 parent 0e1113e9
1 <template> 1 <template>
2 <div style="min-height: 100vh"> 2 <div style="min-height: 100vh">
3 <div class="box" v-if="!errorBox"> 3 <div v-if="!errorBox" class="box">
4 <el-card :body-style="{ padding: '0px' }" class="mt20 mb60"> 4 <el-card :body-style="{ padding: '0px' }" class="mt20 mb60">
5 <div slot="header"> 5 <div slot="header">
6 <div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div> 6 <div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div>
...@@ -13,16 +13,17 @@ ...@@ -13,16 +13,17 @@
13 <h3>{{ form.hotelName }}</h3> 13 <h3>{{ form.hotelName }}</h3>
14 <el-row> 14 <el-row>
15 <el-col> 15 <el-col>
16 {{ language == 0 ?'地址':'Address' }} 16 {{ language == 0 ? '地址' : 'Address' }}
17 <span v-if="language == 0">{{ form.provinceName }} {{ form.cityName }} {{ form.areaName }} </span> 17 <span v-if="language == 0">{{ form.provinceName }} {{ form.cityName }} {{ form.areaName }} </span>
18 {{ form.address }} 18 {{ form.address }}
19 </el-col> 19 </el-col>
20 <el-col> 20 <el-col>
21 {{ language == 0 ?'入住信息':'Check-in&Check-out' }}{{ form.messageObj?.roomStayDate }} 21 {{ language == 0 ? '入住信息' : 'Check-in&Check-out' }}{{ form.messageObj?.roomStayDate }}
22 </el-col> 22 </el-col>
23 <el-col> 23 <el-col>
24 {{ language == 0 ?'房间信息':'Room Information' }}{{ form.messageObj?.roomName }}{{ form.roomNum }} 24 {{ language == 0 ? '房间信息' : 'Room Information' }}{{ form.messageObj?.roomName }}
25 {{ language == 0 ? '间':'rooms' }} 25 {{ form.roomNum }}
26 {{ language == 0 ? '间' : 'rooms' }}
26 </el-col> 27 </el-col>
27 </el-row> 28 </el-row>
28 </div> 29 </div>
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
32 <div class="border-info mt20"> 33 <div class="border-info mt20">
33 <div class="flex aic"> 34 <div class="flex aic">
34 <h3 class="esp">{{ form.checkIn }}</h3> 35 <h3 class="esp">{{ form.checkIn }}</h3>
35 <img class="w40px mlr20 " style="height: 40px;" src="@/assets/booking/wf.png"/> 36 <img class="w40px mlr20 " src="@/assets/booking/wf.png" style="height: 40px;"/>
36 <h3 class="esp">{{ form.checkOut }}</h3> 37 <h3 class="esp">{{ form.checkOut }}</h3>
37 </div> 38 </div>
38 </div> 39 </div>
...@@ -41,13 +42,16 @@ ...@@ -41,13 +42,16 @@
41 <div class="leftboderTT">{{ language == 0 ? '饭店信息' : 'Restaurant Information' }}</div> 42 <div class="leftboderTT">{{ language == 0 ? '饭店信息' : 'Restaurant Information' }}</div>
42 <div class="border-info mt20"> 43 <div class="border-info mt20">
43 <h3>{{ form.name }}</h3> 44 <h3>{{ form.name }}</h3>
44 <!-- <p>{{ language == 0 ?'地址':'Address' }}{{form.address}}</p>--> 45 <!-- <p>{{ language == 0 ?'地址':'Address' }}{{form.address}}</p>-->
45 <el-row> 46 <el-row>
46 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 47 <el-col :lg="12" :md="12" :sm="12" :xs="24">
47 <div class="mb10">{{ language==0?'送餐地址':'Delivery Address' }}{{ form.address || '-' }}</div> 48 <div class="mb10">{{ language == 0 ? '送餐地址' : 'Delivery Address' }}{{
49 form.address || '-'
50 }}
51 </div>
48 </el-col> 52 </el-col>
49 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 53 <el-col :lg="12" :md="12" :sm="12" :xs="24">
50 <div>{{ language==0?'送餐时间':'Delivery Time' }}{{form.psStart}} ~ {{ form.psEnd}}</div> 54 <div>{{ language == 0 ? '送餐时间' : 'Delivery Time' }}{{ form.psStart }} ~ {{ form.psEnd }}</div>
51 </el-col> 55 </el-col>
52 </el-row> 56 </el-row>
53 </div> 57 </div>
...@@ -58,27 +62,31 @@ ...@@ -58,27 +62,31 @@
58 <h3>{{ formInfo.studioName }}</h3> 62 <h3>{{ formInfo.studioName }}</h3>
59 <el-row> 63 <el-row>
60 <el-col> 64 <el-col>
61 {{ language == 0 ?'地址':'Address' }} 65 {{ language == 0 ? '地址' : 'Address' }}
62 <span >{{ formInfo.remarks }} </span> 66 <span>{{ formInfo.remarks }} </span>
63 </el-col> 67 </el-col>
64 <el-col> 68 <el-col>
65 {{ language == 0 ?'套餐':'Package' }}{{ formInfo.mealName }} <span style="margin-left: 40px">{{ language==0?'价格':'Price' }}</span><span class="price">{{language==0? '¥'+formInfo.mealPrice:'€'+ formInfo.mealPriceEn}}</span> 69 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.mealName }} <span
66 <span style="margin-left: 40px">{{language==0?'工作室电话':'Studio phone number' }}{{formInfo.contact}}</span> 70 style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span
71 class="price">{{ language == 0 ? '¥' + formInfo.mealPrice : '€' + formInfo.mealPriceEn }}</span>
72 <span style="margin-left: 40px">{{
73 language == 0 ? '工作室电话' : 'Studio phone number'
74 }}{{ formInfo.contact }}</span>
67 </el-col> 75 </el-col>
68 <el-col> 76 <el-col>
69 <div class="esp_3 s" @click="handleView()"> 77 <div class="esp_3 s" @click="handleView()">
70 {{ language == 0 ?'套餐说明':'Package Description' }}{{ formInfo.introduction}} 78 {{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }}
71 </div> 79 </div>
72 </el-col> 80 </el-col>
73 <!-- <el-col>--> 81 <!-- <el-col>-->
74 <!-- <div v-if="language == 0">--> 82 <!-- <div v-if="language == 0">-->
75 <!-- 套餐详情: <span v-html="form.details"></span>--> 83 <!-- 套餐详情: <span v-html="form.details"></span>-->
76 <!-- </div>--> 84 <!-- </div>-->
77 <!-- <div v-else>--> 85 <!-- <div v-else>-->
78 <!-- Package details:<span v-html="form.detailsEn"></span>--> 86 <!-- Package details:<span v-html="form.detailsEn"></span>-->
79 <!-- </div>--> 87 <!-- </div>-->
80 <!--&lt;!&ndash; {{ language == 0 ?'套餐详情':'Package details' }}{{ language == 0?form.details:form.detailsEn}}&ndash;&gt;--> 88 <!--&lt;!&ndash; {{ language == 0 ?'套餐详情':'Package details' }}{{ language == 0?form.details:form.detailsEn}}&ndash;&gt;-->
81 <!-- </el-col>--> 89 <!-- </el-col>-->
82 </el-row> 90 </el-row>
83 </div> 91 </div>
84 </div> 92 </div>
...@@ -88,14 +96,16 @@ ...@@ -88,14 +96,16 @@
88 <h3>{{ formInfo.shootName }}</h3> 96 <h3>{{ formInfo.shootName }}</h3>
89 <el-row> 97 <el-row>
90 <el-col> 98 <el-col>
91 {{ language == 0 ?'地址':'Address' }} 99 {{ language == 0 ? '地址' : 'Address' }}
92 <span >{{ formInfo.remarks }} </span> 100 <span>{{ formInfo.remarks }} </span>
93 </el-col> 101 </el-col>
94 <el-col> 102 <el-col>
95 {{ language == 0 ?'套餐':'Package' }}{{ formInfo.photoName }} <span style="margin-left: 40px">{{ language==0?'价格':'Price' }}</span><span class="price">{{language==0? '¥'+formInfo.photoPrice:'€'+ formInfo.photoPriceEn}}</span> 103 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.photoName }} <span
104 style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span
105 class="price">{{ language == 0 ? '¥' + formInfo.photoPrice : '€' + formInfo.photoPriceEn }}</span>
96 </el-col> 106 </el-col>
97 <el-col> 107 <el-col>
98 {{ language == 0 ?'套餐说明':'Package Description' }}{{ formInfo.introduction}} 108 {{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }}
99 </el-col> 109 </el-col>
100 </el-row> 110 </el-row>
101 </div> 111 </div>
...@@ -106,154 +116,185 @@ ...@@ -106,154 +116,185 @@
106 <div class="border-info mt20"> 116 <div class="border-info mt20">
107 <el-row v-if="type == 'hotel'"> 117 <el-row v-if="type == 'hotel'">
108 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 118 <el-col :lg="8" :md="12" :sm="12" :xs="24">
109 <div>{{ language == 0 ?'入住人':'Check-in Person' }}{{ form.rzUsers }}</div> 119 <div>{{ language == 0 ? '入住人' : 'Check-in Person' }}{{ form.rzUsers }}</div>
120 </el-col>
121 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{
122 language == 0 ? '联系方式' : 'Contact Information'
123 }}{{ form.phone }}
110 </el-col> 124 </el-col>
111 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language == 0 ?'联系方式':'Contact Information' }}{{ form.phone }}</el-col>
112 <el-col :lg="8" :md="12" :sm="12" :xs="24"></el-col> 125 <el-col :lg="8" :md="12" :sm="12" :xs="24"></el-col>
113 </el-row> 126 </el-row>
114 <el-row v-if="type == 'car'"> 127 <el-row v-if="type == 'car'">
115 <el-col :lg="12" :md="12" :sm="12" :xs="24" v-if="form.pickUpBo?.revTime"> 128 <el-col v-if="form.pickUpBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
116 <h4>{{ language == 0 ?'接站信息':'Pick-up Information' }}</h4> 129 <h4>{{ language == 0 ? '接站信息' : 'Pick-up Information' }}</h4>
117 <div class="st-info"> 130 <div class="st-info">
118 <div>{{ language == 0 ?'用车时间':'Delivery Time' }}{{ form.pickUpBo.revTime }}</div> 131 <div>{{ language == 0 ? '用车时间' : 'Delivery Time' }}{{ form.pickUpBo.revTime }}</div>
119 <div class="carLine" v-for="(car,index) in form.pickUpBo.carsList" :key="index"> 132 <div v-for="(car,index) in form.pickUpBo.carsList" :key="index" class="carLine">
120 <div v-if="car.num > 0"> 133 <div v-if="car.num > 0">
121 <label>{{car.name}}</label> 134 <label>{{ car.name }}</label>
122 <el-tag class="mr10">{{car.carSeat}} {{ language == 0 ?'座 ':'Sets'}}</el-tag> 135 <el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>
123 <el-tag>{{car.carColor}}</el-tag> 136 <el-tag>{{ car.carColor }}</el-tag>
124 </div> 137 </div>
125 138
126 <span v-if="car.num > 0"> {{car.num}}{{ language == 0 ?'辆':'Cars' }} * {{ language == 0 ?'¥':'€' }}{{car.price}}</span> 139 <span v-if="car.num > 0"> {{ car.num }}{{
140 language == 0 ? '辆' : 'Cars'
141 }} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>
127 </div> 142 </div>
128 143
129 <div>{{ language == 0 ?'人数':'People' }}{{form.pickUpBo.count}}</div> 144 <div>{{ language == 0 ? '人数' : 'People' }}{{ form.pickUpBo.count }}</div>
130 <div>{{ language == 0 ?'航班/火车班次':'Flight/Train' }}{{form.pickUpBo.no}}</div> 145 <div>{{ language == 0 ? '航班/火车班次' : 'Flight/Train' }}{{ form.pickUpBo.no }}</div>
131 <div>{{ language == 0 ?'接机/接站地点':'Pick-up/Drop-off Place' }}{{form.pickUpBo.noAddress}}</div> 146 <div>{{ language == 0 ? '接机/接站地点' : 'Pick-up/Drop-off Place' }}
132 <div>{{ language == 0 ?'送达地点':'Delivery Place' }}{{form.pickUpBo.deliveryAddress}}</div> 147 {{ form.pickUpBo.noAddress }}
133 <div>{{ language == 0 ?'联系人':'Contact Person' }}{{ form.dropOffBo.contacts }}</div> 148 </div>
134 <div>{{ language == 0 ?'联系电话':'Contact Phone' }}{{ form.dropOffBo.phone }}</div> 149 <div>{{ language == 0 ? '送达地点' : 'Delivery Place' }}{{ form.pickUpBo.deliveryAddress }}</div>
135 <div>{{ language == 0 ?'备注':'Remarks' }}{{ form.dropOffBo.remarks ||'-'}}</div> 150 <div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
151 <div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
152 <div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.dropOffBo.remarks || '-' }}</div>
136 </div> 153 </div>
137 </el-col> 154 </el-col>
138 <el-col :lg="12" :md="12" :sm="12" :xs="24" v-if="form.dropOffBo?.revTime"> 155 <el-col v-if="form.dropOffBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
139 <h4>{{ language == 0 ?'送站信息':'Drop-off Information' }}</h4> 156 <h4>{{ language == 0 ? '送站信息' : 'Drop-off Information' }}</h4>
140 <div class="st-info"> 157 <div class="st-info">
141 <div>{{ language == 0 ?'用车时间':'Delivery Time' }}{{ form.dropOffBo.revTime }}</div> 158 <div>{{ language == 0 ? '用车时间' : 'Delivery Time' }}{{ form.dropOffBo.revTime }}</div>
142 <div class="carLine" v-for="(car,index) in form.dropOffBo.carsList" :key="index"> 159 <div v-for="(car,index) in form.dropOffBo.carsList" :key="index" class="carLine">
143 <div v-if="car.num > 0"> 160 <div v-if="car.num > 0">
144 <label>{{car.name}}</label> 161 <label>{{ car.name }}</label>
145 <el-tag class="mr10">{{car.carSeat}} {{ language == 0 ?'座 ':'Sets'}}</el-tag> 162 <el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>
146 <el-tag>{{car.carColor}}</el-tag> 163 <el-tag>{{ car.carColor }}</el-tag>
147 </div> 164 </div>
148 165
149 <span v-if="car.num > 0"> {{car.num }}{{ language == 0 ?'辆':'Cars' }} * {{ language == 0 ? '¥' : '€' }}{{car.price}}</span> 166 <span v-if="car.num > 0"> {{ car.num }}{{
167 language == 0 ? '辆' : 'Cars'
168 }} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>
150 </div> 169 </div>
151 <div>{{ language == 0 ?'人数':'Counts' }}{{ form.dropOffBo.count }}</div> 170 <div>{{ language == 0 ? '人数' : 'Counts' }}{{ form.dropOffBo.count }}</div>
152 <div>{{ language == 0 ?'联系人':'Contact Person' }}{{ form.dropOffBo.contacts }}</div> 171 <div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
153 <div>{{ language == 0 ?'联系电话':'Contact Phone' }}{{ form.dropOffBo.phone }}</div> 172 <div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
154 <div>{{ language == 0 ?'备注':'Remarks' }}{{ form.dropOffBo.remarks ||'-'}}</div> 173 <div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.dropOffBo.remarks || '-' }}</div>
155 </div> 174 </div>
156 </el-col> 175 </el-col>
157 </el-row> 176 </el-row>
158 <el-row v-if="type == 'food'"> 177 <el-row v-if="type == 'food'">
159 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 178 <el-col :lg="8" :md="12" :sm="12" :xs="24">
160 <div v-for="f in form.messageObj?.foodsList"> 179 <div v-for="f in form.messageObj?.foodsList">
161 <span v-if="f.category==0">{{language==0?'早餐':'Breakfast'}}</span> 180 <span v-if="f.category==0">{{ language == 0 ? '早餐' : 'Breakfast' }}</span>
162 <span v-if="f.category==1">{{language==0?'午餐':'Lunch'}}</span> 181 <span v-if="f.category==1">{{ language == 0 ? '午餐' : 'Lunch' }}</span>
163 <span v-if="f.category==2">{{language==0?'晚餐':'Dinner'}}</span> 182 <span v-if="f.category==2">{{ language == 0 ? '晚餐' : 'Dinner' }}</span>
164 {{f.name}} * {{f.num}} {{language==0?'份':'pcs'}} 183 {{ f.name }} * {{ f.num }} {{ language == 0 ? '份' : 'pcs' }}
165 </div> 184 </div>
166 </el-col> 185 </el-col>
167 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 186 <el-col :lg="12" :md="12" :sm="12" :xs="24">
168 <div class="mb10">{{ language==0?'订餐周期':'Check-in date' }}{{ form.extJsonObj?.dcStart || '-' }} ~ {{form.extJsonObj?.dcEnd|| '-'}}</div> 187 <div class="mb10">{{
188 language == 0 ? '订餐周期' : 'Check-in date'
189 }}{{ form.extJsonObj?.dcStart || '-' }} ~ {{ form.extJsonObj?.dcEnd || '-' }}
190 </div>
169 </el-col> 191 </el-col>
170 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 192 <el-col :lg="8" :md="12" :sm="12" :xs="24">
171 <div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div> 193 <div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
194 </el-col>
195 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{
196 language == 0 ? '联系方式' : 'Contact Phone'
197 }}{{ form.phone }}
172 </el-col> 198 </el-col>
173 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }}</el-col> 199 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks || '-' }}</el-col>
174 <el-col :span="24" >{{ language==0?'备注':'Remarks' }}{{ form.remarks || '-' }}</el-col>
175 </el-row> 200 </el-row>
176 <el-row v-if="type == 'makeUp'"> 201 <el-row v-if="type == 'makeUp'">
177 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 202 <el-col :lg="8" :md="12" :sm="12" :xs="24">
178 <div class="mb10">{{ language==0?'化妆时间':'Makeup time' }} 203 <div class="mb10">{{ language == 0 ? '化妆时间' : 'Makeup time' }}
179 <!-- {{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;' }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'}}--> 204 <!-- {{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;' }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'}}-->
180 {{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+ form.nameStart }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+form.nameEnd}} 205 {{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameStart }} ~
206 {{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameEnd }}
181 </div> 207 </div>
182 </el-col> 208 </el-col>
183 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 209 <el-col :lg="12" :md="12" :sm="12" :xs="24">
184 <div class="mb10">{{ language==0?'预约数':'Number of appointments' }}{{ form.num }} </div> 210 <div class="mb10">{{ language == 0 ? '预约数' : 'Number of appointments' }}{{ form.num }}</div>
185 </el-col> 211 </el-col>
186 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 212 <el-col :lg="8" :md="12" :sm="12" :xs="24">
187 <div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div> 213 <div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
188 </el-col> 214 </el-col>
189 <el-col :lg=12 :md="12" :sm="12" :xs="24"> 215 <el-col :lg=12 :md="12" :sm="12" :xs="24">
190 <div class="mb10"> 216 <div class="mb10">
191 {{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }} 217 {{ language == 0 ? '联系方式' : 'Contact Phone' }}{{ form.phone }}
192 </div> 218 </div>
193 </el-col> 219 </el-col>
194 <el-col :lg="8" :md="12" :sm="12" :xs="24" > 220 <el-col :lg="8" :md="12" :sm="12" :xs="24">
195 <div class="mb10"> 221 <div class="mb10">
196 {{ language==0?'备注':'Remarks' }}{{ form.remarks }} 222 {{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}
197 </div> 223 </div>
198 </el-col> 224 </el-col>
199 <el-col :lg="8" :md="12" :sm="12" :xs="24" > 225 <el-col :lg="8" :md="12" :sm="12" :xs="24">
200 <div class="mb10"> 226 <div class="mb10">
201 {{ language==0?'地点':'Address' }}{{language==0? formInfo.address :formInfo.addressEn }} 227 {{ language == 0 ? '地点' : 'Address' }}{{ language == 0 ? formInfo.address : formInfo.addressEn }}
202 </div> 228 </div>
203 </el-col> 229 </el-col>
204 </el-row> 230 </el-row>
205 <el-row v-if="type == 'photography'"> 231 <el-row v-if="type == 'photography'">
206 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 232 <el-col :lg="8" :md="12" :sm="12" :xs="24">
207 <div class="mb10">{{ language==0?'拍摄时间':'Makeup time' }} 233 <div class="mb10">{{ language == 0 ? '拍摄时间' : 'Makeup time' }}
208 {{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+ form.nameStart }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+form.nameEnd}} 234 {{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameStart }} ~
235 {{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameEnd }}
209 </div> 236 </div>
210 </el-col> 237 </el-col>
211 <el-col :lg="12" :md="12" :sm="12" :xs="24"> 238 <el-col :lg="12" :md="12" :sm="12" :xs="24">
212 <div class="mb10">{{ language==0?'预约数':'Number of appointments' }}{{ form.num }} </div> 239 <div class="mb10">{{ language == 0 ? '预约数' : 'Number of appointments' }}{{ form.num }}</div>
213 </el-col> 240 </el-col>
214 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 241 <el-col :lg="8" :md="12" :sm="12" :xs="24">
215 <div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div> 242 <div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
216 </el-col> 243 </el-col>
217 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }}</el-col> 244 <el-col :lg="8" :md="12" :sm="12" :xs="24">{{
218 <el-col :span="24" >{{ language==0?'备注':'Remarks' }}{{ form.remarks }}</el-col> 245 language == 0 ? '联系方式' : 'Contact Phone'
246 }}{{ form.phone }}
247 </el-col>
248 <el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col>
219 </el-row> 249 </el-row>
220 </div> 250 </div>
221 251
222 <el-row justify="space-between" align="middle"> 252 <el-row align="middle" justify="space-between">
223 <el-col :lg="12"> 253 <el-col :lg="12">
224 <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{form.payDate}}</div> 254 <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{ form.payDate }}</div>
225 <div class="mt10" v-if="form.payDate">{{ language == 0 ? '支付方式':'Payment Method'}} 255 <div v-if="form.payDate" class="mt10">{{ language == 0 ? '支付方式' : 'Payment Method' }}
226 <span v-if="form.paymentType=='1'">{{language==0?'微信支付':'WePay'}}</span> 256 <span v-if="form.paymentType=='1'">{{ language == 0 ? '微信支付' : 'WePay' }}</span>
227 <span v-if="form.paymentType=='3'">PayPal</span> 257 <span v-if="form.paymentType=='3'">PayPal</span>
228 </div> 258 </div>
229 </el-col> 259 </el-col>
230 <el-col :lg="12" class="result"> 260 <el-col :lg="12" class="result">
231 <div class="priceb" v-if="form.viewStatus=='0'">{{ language == 0 ? '待支付金额' : 'Amount Due' }} 261 <div v-if="form.viewStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}
232 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span> 262 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
233 </div> 263 </div>
234 <div class="priceb" v-if="form.viewStatus=='1'||form.viewStatus=='5'">{{ language == 0 ? '已支付金额' : 'Amount Due' }} 264 <div v-if="form.viewStatus=='1'||form.viewStatus=='5'" class="priceb">
265 {{ language == 0 ? '已支付金额' : 'Amount Due' }}
235 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span> 266 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
236 </div> 267 </div>
237 <div class="priceb" v-if="form.viewStatus=='4'">{{ language == 0 ? '已退订' : 'Refunded' }} 268 <div v-if="form.viewStatus=='4'" class="priceb">{{ language == 0 ? '已退订' : 'Refunded' }}
238 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span> 269 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
239 </div> 270 </div>
240 <div class="priceb" v-if="form.viewStatus=='2'">{{ language == 0 ? '已取消' : 'Canceled' }} 271 <div v-if="form.viewStatus=='2'" class="priceb">{{ language == 0 ? '已取消' : 'Canceled' }}
241 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span> 272 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
242 </div> 273 </div>
243 <div class="priceb" v-if="form.viewStatus=='7'">{{ language == 0 ? '退款审核中' : 'Refund in review' }} 274 <div v-if="form.viewStatus=='7'" class="priceb">{{ language == 0 ? '退款审核中' : 'Refund in review' }}
244 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span> 275 <span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
245 </div> 276 </div>
246 </el-col> 277 </el-col>
247 <el-col :lg="24"> 278 <el-col :lg="24">
248 <div class="text-center"> 279 <div class="text-center">
249 <el-button round class="mt20 btn-lineG" size="large" v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" type="primary" @click="exportPdf"> 280 <el-button v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG"
250 <el-icon><Upload /></el-icon> 281 round
251 {{ language==0?'导出酒店预订单':'Export PDF' }} 282 size="large" type="primary"
283 @click="exportPdf">
284 <el-icon>
285 <Upload/>
286 </el-icon>
287 {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }}
252 </el-button> 288 </el-button>
253 <el-button round class="mt20 btn-lineG" size="large" v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel')" type="primary" 289 <el-button v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel')"
290 class="mt20 btn-lineG" round
291 size="large"
292 type="primary"
254 @click="downInvoice"> 293 @click="downInvoice">
255 <el-icon><Download /></el-icon> 294 <el-icon>
256 {{ language==0?'下载收据':'DownLoad Invoice' }} 295 <Download/>
296 </el-icon>
297 {{ language == 0 ? '下载收据' : 'DownLoad Invoice' }}
257 </el-button> 298 </el-button>
258 </div> 299 </div>
259 </el-col> 300 </el-col>
...@@ -262,21 +303,21 @@ ...@@ -262,21 +303,21 @@
262 </div> 303 </div>
263 <div v-else class="pd20 skeletonBox"> 304 <div v-else class="pd20 skeletonBox">
264 <el-skeleton :rows="8"/> 305 <el-skeleton :rows="8"/>
265 <el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'" 306 <el-button :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large"
266 round @click="showLogin"> 307 type="primary" @click="showLogin">
267 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }} 308 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }}
268 </el-button> 309 </el-button>
269 </div> 310 </div>
270 311
271 <div class="pd20" v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')"> 312 <div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')" class="pd20">
272 313
273 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div> 314 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
274 <div class="mt20"> 315 <div class="mt20">
275 <el-radio-group v-model="payType" > 316 <el-radio-group v-model="payType">
276 <el-radio value="2" v-if="language==0" border> 317 <el-radio v-if="language==0" border value="2">
277 <!-- 微信--> 318 <!-- 微信-->
278 <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1" 319 <svg class="icon" height="40" p-id="24747" t="1709002960407"
279 xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40"> 320 version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg">
280 <path 321 <path
281 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" 322 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
282 fill="#09BB07" p-id="24748"></path> 323 fill="#09BB07" p-id="24748"></path>
...@@ -285,10 +326,10 @@ ...@@ -285,10 +326,10 @@
285 fill="#595757" p-id="24749"></path> 326 fill="#595757" p-id="24749"></path>
286 </svg> 327 </svg>
287 </el-radio> 328 </el-radio>
288 <el-radio value="3" v-if="language==1" border> 329 <el-radio v-if="language==1" border value="3">
289 <!--paypal--> 330 <!--paypal-->
290 <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1" 331 <svg class="icon" height="40" p-id="22654" t="1709002828937"
291 xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40"> 332 version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg">
292 <path 333 <path
293 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" 334 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
294 fill="#009CDE" p-id="22655"></path> 335 fill="#009CDE" p-id="22655"></path>
...@@ -319,18 +360,18 @@ ...@@ -319,18 +360,18 @@
319 <div v-if="payType == '2'&&wePayCodeUrl"> 360 <div v-if="payType == '2'&&wePayCodeUrl">
320 <div class="payImgbox flexCenter"> 361 <div class="payImgbox flexCenter">
321 <div> 362 <div>
322 <img width="260" class="border" :src="wePayCodeUrl"/> 363 <img :src="wePayCodeUrl" class="border" width="260"/>
323 <img class="mt20" src="@/assets/img/sm.png"/> 364 <img class="mt20" src="@/assets/img/sm.png"/>
324 </div> 365 </div>
325 <div class="ml20"> 366 <div class="ml20">
326 <img height="360" src="@/assets/img/rr.jpg"/> 367 <img height="360" src="@/assets/img/rr.jpg"/>
327 </div> 368 </div>
328 </div> 369 </div>
329 <div class="tip text-center text-danger" v-if="language==0"> 370 <div v-if="language==0" class="tip text-center text-danger">
330 支付后不要关闭此窗口,等待确认支付成功. 371 支付后不要关闭此窗口,等待确认支付成功.
331 若长时间未收到支付成功提醒,请刷新页面 372 若长时间未收到支付成功提醒,请刷新页面
332 </div> 373 </div>
333 <div class="tip text-center text-danger" v-else> 374 <div v-else class="tip text-center text-danger">
334 After payment, do not close this window and wait for confirmation of successful payment. 375 After payment, do not close this window and wait for confirmation of successful payment.
335 <br/> 376 <br/>
336 If you have not received a notification of successful payment for a long time, 377 If you have not received a notification of successful payment for a long time,
...@@ -339,14 +380,17 @@ ...@@ -339,14 +380,17 @@
339 </div> 380 </div>
340 </div> 381 </div>
341 </div> 382 </div>
342 <el-row class="mt20 mb60" align="middle" justify="center"> 383 <el-row align="middle" class="mt20 mb60" justify="center">
343 <el-col :span="24" class="text-center"> 384 <el-col :span="24" class="text-center">
344 <el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" type="primary" @click="goPay" round class="btn-lineG w200px"> 385 <el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary"
386 @click="goPay">
345 {{ language == 0 ? '确定' : 'Submit' }} 387 {{ language == 0 ? '确定' : 'Submit' }}
346 </el-button> 388 </el-button>
347 <el-button round @click="unsubscribe" v-if="form.viewStatus == '5'">{{ language==0?'退订':'Unsubscribe' }}</el-button> 389 <el-button v-if="form.viewStatus == '5'" round @click="unsubscribe">
348 <el-button link class="underline" @click="cancel" v-if="form.viewStatus == '0'"> 390 {{ language == 0 ? '退订' : 'Unsubscribe' }}
349 {{ language==0?'取消订单':'Cancel Order' }} 391 </el-button>
392 <el-button v-if="form.viewStatus == '0'" class="underline" link @click="cancel">
393 {{ language == 0 ? '取消订单' : 'Cancel Order' }}
350 </el-button> 394 </el-button>
351 </el-col> 395 </el-col>
352 </el-row> 396 </el-row>
...@@ -363,23 +407,23 @@ ...@@ -363,23 +407,23 @@
363 </el-card> 407 </el-card>
364 </div> 408 </div>
365 409
366 <div class="box" v-if="errorBox"> 410 <div v-if="errorBox" class="box">
367 <el-result 411 <el-result
368 icon="error"
369 :title="language==0?'未找到对应订单':'No corresponding order found'"
370 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'" 412 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
413 :title="language==0?'未找到对应订单':'No corresponding order found'"
414 icon="error"
371 > 415 >
372 <template #extra> 416 <template #extra>
373 <el-button type="primary" @click="goHome" class="btn-lineG w200px" round> 417 <el-button class="btn-lineG w200px" round type="primary" @click="goHome">
374 {{ language == 0 ? '返回首页' : 'Home' }} 418 {{ language == 0 ? '返回首页' : 'Home' }}
375 </el-button> 419 </el-button>
376 </template> 420 </template>
377 </el-result> 421 </el-result>
378 </div> 422 </div>
379 <Dialog ref="DialogRef" /> 423 <Dialog ref="DialogRef"/>
380 424
381 <el-dialog :title="language==0?'开收据':'Issue a receipt'" v-model="showSJDialog" width="460px" 425 <el-dialog v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
382 :close-on-click-modal="false" :close-on-press-escape="false"> 426 :title="language==0?'开收据':'Issue a receipt'" width="460px">
383 <div class="flex"> 427 <div class="flex">
384 <el-form-item :label="language==0?'开票人':'Name'"> 428 <el-form-item :label="language==0?'开票人':'Name'">
385 <div class="flex"> 429 <div class="flex">
...@@ -388,7 +432,7 @@ ...@@ -388,7 +432,7 @@
388 </div> 432 </div>
389 </el-form-item> 433 </el-form-item>
390 </div> 434 </div>
391 <div class="tip mt20" v-if="remark"> 435 <div v-if="remark" class="tip mt20">
392 <label>{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:</label> 436 <label>{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:</label>
393 <div class="pd10"> 437 <div class="pd10">
394 {{ remark }} 438 {{ remark }}
...@@ -437,7 +481,7 @@ const language = useStorage('language', 0) ...@@ -437,7 +481,7 @@ const language = useStorage('language', 0)
437 const totalFee = ref('') 481 const totalFee = ref('')
438 const wePayCodeUrl = ref('') 482 const wePayCodeUrl = ref('')
439 const form = ref({}) 483 const form = ref({})
440 const formInfo=ref({}) 484 const formInfo = ref({})
441 const type = ref('') 485 const type = ref('')
442 const errorBox = ref(false) 486 const errorBox = ref(false)
443 const hideconfirmbtn = ref(false) 487 const hideconfirmbtn = ref(false)
...@@ -456,11 +500,11 @@ onMounted(() => { ...@@ -456,11 +500,11 @@ onMounted(() => {
456 } else { 500 } else {
457 payType.value = '3' 501 payType.value = '3'
458 } 502 }
459 if(route.query.type){ 503 if (route.query.type) {
460 type.value = route.query.type 504 type.value = route.query.type
461 } 505 }
462 if(route.query.orderType){ 506 if (route.query.orderType) {
463 switch (route.query.orderType){ 507 switch (route.query.orderType) {
464 case '0': 508 case '0':
465 type.value = 'hotel' 509 type.value = 'hotel'
466 break 510 break
...@@ -476,19 +520,22 @@ onMounted(() => { ...@@ -476,19 +520,22 @@ onMounted(() => {
476 case '4': 520 case '4':
477 type.value = 'photography' 521 type.value = 'photography'
478 break 522 break
523 case '5':
524 type.value = 'ticket'
525 break
479 } 526 }
480 } 527 }
481 if(route.query.matchId){ 528 if (route.query.matchId) {
482 matchId.value = route.query.matchId 529 matchId.value = route.query.matchId
483 } 530 }
484 getData() 531 getData()
485 }) 532 })
486 533
487 function getData() { 534 function getData() {
488 if(type.value=='car') { 535 if (type.value == 'car') {
489 return booking.getCarBilldetailbyId({orderId: orderId.value}).then(res => { 536 return booking.getCarBilldetailbyId({orderId: orderId.value}).then(res => {
490 form.value = res.data 537 form.value = res.data
491 if(language.value==0){ 538 if (language.value == 0) {
492 totalFee.value = res.data.total 539 totalFee.value = res.data.total
493 } else { 540 } else {
494 totalFee.value = res.data.totalEn 541 totalFee.value = res.data.totalEn
...@@ -498,9 +545,9 @@ function getData() { ...@@ -498,9 +545,9 @@ function getData() {
498 errorBox.value = true 545 errorBox.value = true
499 }) 546 })
500 } 547 }
501 if(type.value=='food') { 548 if (type.value == 'food') {
502 return booking.getFoodBilldetailbyId({orderId: orderId.value}).then(res => { 549 return booking.getFoodBilldetailbyId({orderId: orderId.value}).then(res => {
503 if(language.value==0){ 550 if (language.value == 0) {
504 totalFee.value = res.data.total 551 totalFee.value = res.data.total
505 } else { 552 } else {
506 totalFee.value = res.data.totalEn 553 totalFee.value = res.data.totalEn
...@@ -511,9 +558,9 @@ function getData() { ...@@ -511,9 +558,9 @@ function getData() {
511 console.log(form.value) 558 console.log(form.value)
512 }) 559 })
513 } 560 }
514 if(type.value=='hotel') { 561 if (type.value == 'hotel') {
515 return booking.getRoomBilldetailbyId({orderId: orderId.value}).then(res => { 562 return booking.getRoomBilldetailbyId({orderId: orderId.value}).then(res => {
516 if(language.value==0){ 563 if (language.value == 0) {
517 totalFee.value = res.data.total 564 totalFee.value = res.data.total
518 } else { 565 } else {
519 totalFee.value = res.data.totalEn 566 totalFee.value = res.data.totalEn
...@@ -527,15 +574,17 @@ function getData() { ...@@ -527,15 +574,17 @@ function getData() {
527 errorBox.value = true 574 errorBox.value = true
528 }) 575 })
529 } 576 }
530 if(type.value=='makeUp') { 577 if (type.value == 'makeUp') {
531 MakeUpOrder() 578 MakeUpOrder()
532 // MakeUpIno() 579 // MakeUpIno()
533 } 580 }
534 if(type.value=='photography') { 581 if (type.value == 'photography') {
535 photographyOrder() 582 photographyOrder()
536 // photographyInfo() 583 // photographyInfo()
537 } 584 }
585 if (type.value == 'ticket') {
538 586
587 }
539 console.log(payType.value) 588 console.log(payType.value)
540 } 589 }
541 590
...@@ -564,8 +613,8 @@ let handle; ...@@ -564,8 +613,8 @@ let handle;
564 613
565 function startforGetData() { 614 function startforGetData() {
566 handle = setTimeout(() => { 615 handle = setTimeout(() => {
567 if (type.value=='photography'){ 616 if (type.value == 'photography') {
568 photographyOrder().then(res=>{ 617 photographyOrder().then(res => {
569 if (form.value.payDate) { 618 if (form.value.payDate) {
570 if (handle) { 619 if (handle) {
571 clearTimeout(handle) 620 clearTimeout(handle)
...@@ -575,8 +624,8 @@ function startforGetData() { ...@@ -575,8 +624,8 @@ function startforGetData() {
575 startforGetData() 624 startforGetData()
576 } 625 }
577 }) 626 })
578 }else if(type.value=='makeUp'){ 627 } else if (type.value == 'makeUp') {
579 MakeUpOrder().then(res=>{ 628 MakeUpOrder().then(res => {
580 if (form.value.payDate) { 629 if (form.value.payDate) {
581 if (handle) { 630 if (handle) {
582 clearTimeout(handle) 631 clearTimeout(handle)
...@@ -586,8 +635,8 @@ function startforGetData() { ...@@ -586,8 +635,8 @@ function startforGetData() {
586 startforGetData() 635 startforGetData()
587 } 636 }
588 }) 637 })
589 }else{ 638 } else {
590 getData().then( res => { 639 getData().then(res => {
591 if (form.value.payDate) { 640 if (form.value.payDate) {
592 if (handle) { 641 if (handle) {
593 clearTimeout(handle) 642 clearTimeout(handle)
...@@ -606,10 +655,10 @@ function showLogin() { ...@@ -606,10 +655,10 @@ function showLogin() {
606 } 655 }
607 656
608 657
609 function MakeUpOrder(){ 658 function MakeUpOrder() {
610 return booking.getMealOrderInfo({orderId: orderId.value}).then(res => { 659 return booking.getMealOrderInfo({orderId: orderId.value}).then(res => {
611 form.value=res.data 660 form.value = res.data
612 totalFee.value=language.value==0?form.value.total:form.value.totalEn 661 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
613 matchId.value = form.value.activeId 662 matchId.value = form.value.activeId
614 MakeUpIno() 663 MakeUpIno()
615 console.log(res) 664 console.log(res)
...@@ -618,9 +667,10 @@ function MakeUpOrder(){ ...@@ -618,9 +667,10 @@ function MakeUpOrder(){
618 errorBox.value = true 667 errorBox.value = true
619 }) 668 })
620 } 669 }
621 function MakeUpIno(){ 670
622 booking.getMealOrderInfoByLogex({asmId: form.value.asmId}).then(res=>{ 671 function MakeUpIno() {
623 formInfo.value=res.data 672 booking.getMealOrderInfoByLogex({asmId: form.value.asmId}).then(res => {
673 formInfo.value = res.data
624 console.log(res) 674 console.log(res)
625 }) 675 })
626 .catch((e) => { 676 .catch((e) => {
...@@ -630,10 +680,10 @@ function MakeUpIno(){ ...@@ -630,10 +680,10 @@ function MakeUpIno(){
630 } 680 }
631 681
632 682
633 function photographyOrder(){ 683 function photographyOrder() {
634 return booking.getPhotoOrderInfo({orderId: orderId.value}).then(res => { 684 return booking.getPhotoOrderInfo({orderId: orderId.value}).then(res => {
635 form.value=res.data 685 form.value = res.data
636 totalFee.value=language.value==0?form.value.total:form.value.totalEn 686 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
637 photographyInfo() 687 photographyInfo()
638 }).catch(err => { 688 }).catch(err => {
639 console.log(err) 689 console.log(err)
...@@ -641,9 +691,9 @@ function photographyOrder(){ ...@@ -641,9 +691,9 @@ function photographyOrder(){
641 }) 691 })
642 } 692 }
643 693
644 function photographyInfo(){ 694 function photographyInfo() {
645 booking.getPhotoOrderInfoByLogex({aspId: form.value.aspId}).then(res=>{ 695 booking.getPhotoOrderInfoByLogex({aspId: form.value.aspId}).then(res => {
646 formInfo.value=res.data 696 formInfo.value = res.data
647 }) 697 })
648 // .catch((e) => { 698 // .catch((e) => {
649 // console.log(e) 699 // console.log(e)
...@@ -653,22 +703,22 @@ function photographyInfo(){ ...@@ -653,22 +703,22 @@ function photographyInfo(){
653 703
654 const cancel = () => { 704 const cancel = () => {
655 //取消订单 705 //取消订单
656 proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' :`Are you sure to cancel the order?`).then(() => { 706 proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' : `Are you sure to cancel the order?`).then(() => {
657 return cancelOrder2(orderId.value).then(res=>{ 707 return cancelOrder2(orderId.value).then(res => {
658 getData() 708 getData()
659 ElMessage({ 709 ElMessage({
660 message: language.value == 0?'操作成功':'Successful operation!', 710 message: language.value == 0 ? '操作成功' : 'Successful operation!',
661 type: 'success' 711 type: 'success'
662 }) 712 })
663 }) 713 })
664 }) 714 })
665 } 715 }
666 const unsubscribe = () => { 716 const unsubscribe = () => {
667 proxy.$modal.confirm(language.value == 0 ?`确定退款吗 ?`:'Are you sure to refund?').then(() => { 717 proxy.$modal.confirm(language.value == 0 ? `确定退款吗 ?` : 'Are you sure to refund?').then(() => {
668 return cancelOrder(orderId.value).then(res=>{ 718 return cancelOrder(orderId.value).then(res => {
669 getData() 719 getData()
670 ElMessage({ 720 ElMessage({
671 message: language.value == 0?'已提交退款,请等待审核!':'Refund has been submitted, please wait for review!', 721 message: language.value == 0 ? '已提交退款,请等待审核!' : 'Refund has been submitted, please wait for review!',
672 type: 'success' 722 type: 'success'
673 }) 723 })
674 }) 724 })
...@@ -679,7 +729,7 @@ function exportPdf() { ...@@ -679,7 +729,7 @@ function exportPdf() {
679 var obj = { 729 var obj = {
680 orderId: orderId.value 730 orderId: orderId.value
681 } 731 }
682 if(language.value==0){ 732 if (language.value == 0) {
683 proxy.download('/ota/orderRoom/downRoomConfirmation', { 733 proxy.download('/ota/orderRoom/downRoomConfirmation', {
684 ...obj 734 ...obj
685 }, `订房确认书.pdf`) 735 }, `订房确认书.pdf`)
...@@ -692,9 +742,9 @@ function exportPdf() { ...@@ -692,9 +742,9 @@ function exportPdf() {
692 } 742 }
693 743
694 // 套餐详情 744 // 套餐详情
695 function handleView(){ 745 function handleView() {
696 console.log(form.value) 746 console.log(form.value)
697 proxy.$refs['DialogRef'].open(language.value==0? form.value.details:form.value.detailsEn) 747 proxy.$refs['DialogRef'].open(language.value == 0 ? form.value.details : form.value.detailsEn)
698 } 748 }
699 749
700 function downInvoice() { 750 function downInvoice() {
...@@ -706,15 +756,16 @@ function downInvoice() { ...@@ -706,15 +756,16 @@ function downInvoice() {
706 } 756 }
707 } 757 }
708 758
709 function getremark(){ 759 function getremark() {
710 getBaseInfoByActiveId(matchId.value).then(res => { 760 getBaseInfoByActiveId(matchId.value).then(res => {
711 if (res.data) { 761 if (res.data) {
712 remark.value = res.data.remarks 762 remark.value = res.data.remarks
713 } 763 }
714 }) 764 })
715 } 765 }
766
716 function submitSJ() { 767 function submitSJ() {
717 if(!lpName.value){ 768 if (!lpName.value) {
718 ElMessage.warning(language.value == 0 ? '请填写开票人' : 'Please fill in the invoice recipient') 769 ElMessage.warning(language.value == 0 ? '请填写开票人' : 'Please fill in the invoice recipient')
719 return 770 return
720 } 771 }
...@@ -727,6 +778,7 @@ function submitSJ() { ...@@ -727,6 +778,7 @@ function submitSJ() {
727 showSJ() 778 showSJ()
728 }) 779 })
729 } 780 }
781
730 const showSJ = () => { 782 const showSJ = () => {
731 // 查看电子收据预览信息 783 // 查看电子收据预览信息
732 var obj = { 784 var obj = {
...@@ -745,11 +797,19 @@ const showSJ = () => { ...@@ -745,11 +797,19 @@ const showSJ = () => {
745 } 797 }
746 </script> 798 </script>
747 799
748 <style scoped lang="scss"> 800 <style lang="scss" scoped>
749 .st-info{line-height: 2;font-size: 14px;} 801 .st-info {
750 .underline{text-decoration: underline;} 802 line-height: 2;
803 font-size: 14px;
804 }
805
806 .underline {
807 text-decoration: underline;
808 }
809
751 .wePrice { 810 .wePrice {
752 font-size: 24px;font-family: "DIN Alternate"; 811 font-size: 24px;
812 font-family: "DIN Alternate";
753 font-weight: 400; 813 font-weight: 400;
754 } 814 }
755 815
...@@ -899,7 +959,7 @@ const showSJ = () => { ...@@ -899,7 +959,7 @@ const showSJ = () => {
899 margin-top: 10px 959 margin-top: 10px
900 } 960 }
901 961
902 .price{ 962 .price {
903 color:orange; 963 color: orange;
904 } 964 }
905 </style> 965 </style>
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
8 <el-row gutter="20"> 8 <el-row gutter="20">
9 <el-col :lg="16" class="left"> 9 <el-col :lg="16" class="left">
10 <div class="info"> 10 <div class="info">
11 <div class="name">{{ order.activityName }}</div> 11 <div class="name">{{ TickForm.name }}</div>
12 <div class="address">{{ order.placeName }}</div> 12 <div class="address">{{ TickForm.address }}</div>
13 </div> 13 </div>
14 14
15 <div class="ticket_info mb20"> 15 <div class="ticket_info mb20">
...@@ -135,7 +135,13 @@ ...@@ -135,7 +135,13 @@
135 135
136 <script setup> 136 <script setup>
137 import {ref} from 'vue' 137 import {ref} from 'vue'
138 import {customerListApi, getTicketTotalApi, submitOrderTicket, listApi} from '@/apiPc/booking' 138 import {
139 customerListApi,
140 getTicketTotalApi,
141 submitOrderTicket,
142 listApi,
143 getTicketListApi, getTicketInfoByActivityId,
144 } from '@/apiPc/booking'
139 import {ElMessage} from "element-plus"; 145 import {ElMessage} from "element-plus";
140 import {languageFormat} from "@/viewsPc/seat/utils/language.js"; 146 import {languageFormat} from "@/viewsPc/seat/utils/language.js";
141 import useUserStore from "/@/store/modules/user"; 147 import useUserStore from "/@/store/modules/user";
...@@ -171,6 +177,7 @@ const price = ref({ ...@@ -171,6 +177,7 @@ const price = ref({
171 total_cn: 0 177 total_cn: 0
172 }) 178 })
173 const tickType = ref({}) 179 const tickType = ref({})
180 const matchType = ref({})
174 const rules = ref({ 181 const rules = ref({
175 contacts: [ 182 contacts: [
176 { 183 {
...@@ -195,6 +202,7 @@ const rules = ref({ ...@@ -195,6 +202,7 @@ const rules = ref({
195 ], 202 ],
196 }) 203 })
197 const formRef = ref(null) 204 const formRef = ref(null)
205 const TickForm = ref({})
198 let timer = null; 206 let timer = null;
199 207
200 208
...@@ -319,19 +327,27 @@ async function getTicketTotal() { ...@@ -319,19 +327,27 @@ async function getTicketTotal() {
319 const res = await getTicketTotalApi(orderForm.value) 327 const res = await getTicketTotalApi(orderForm.value)
320 price.value = res.data 328 price.value = res.data
321 orderForm.value.total = language == 0 ? price.value.total_cn : price.value.total_en 329 orderForm.value.total = language == 0 ? price.value.total_cn : price.value.total_en
322 console.log(orderForm.value)
323 } 330 }
324 331
325 // 获取票档信息 332 // 获取票档信息
326 async function getTicketListType() { 333 async function getTicketListType() {
327 const res = await listApi({latId: orderForm.value.latId}) 334 const res = await listApi({latId: orderForm.value.latId})
328 tickType.value = res.rows.find(item => item.id == orderForm.value.attId) 335 tickType.value = res.rows.find(item => item.id == orderForm.value.attId)
329 orderForm.value.ticketDate = tickType.value.name 336 orderForm.value.ticketDate = JSON.stringify(tickType.value)
330 orderForm.value.ticketType = tickType.value.ticketType
331 } 337 }
332 338
333 getTicketListType() 339 getTicketListType()
334 340
341 // 票档信息
342 async function getTicketList() {
343 const res = await getTicketListApi({activityId: route.params.activeId})
344 matchType.value = res.rows.find(item => item.id == orderForm.value.atId)
345 orderForm.value.ticketType = JSON.stringify(matchType.value)
346
347 }
348
349 getTicketList()
350
335 // 提交 351 // 提交
336 async function paymentHandle() { 352 async function paymentHandle() {
337 await formRef.value.validate() 353 await formRef.value.validate()
...@@ -341,6 +357,12 @@ async function paymentHandle() { ...@@ -341,6 +357,12 @@ async function paymentHandle() {
341 } 357 }
342 } 358 }
343 359
360 async function getDetail() {
361 const res = await getTicketInfoByActivityId({activityId: orderForm.value.activeId})
362 TickForm.value = res.data
363 }
364
365 getDetail()
344 </script> 366 </script>
345 367
346 368
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
19 <label v-if="b.orderType == 3" class="orangeTag"> {{ language == 0 ? '化妆' : 'MakeUp' }} </label> 19 <label v-if="b.orderType == 3" class="orangeTag"> {{ language == 0 ? '化妆' : 'MakeUp' }} </label>
20 <label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label> 20 <label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label>
21 <span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span> 21 <span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
22 <label v-if="b.orderType == 5" class="orangeTag"> {{ language == 0 ? '票务' : 'TICKETING ' }} </label>
23 <span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
22 </div> 24 </div>
23 25
24 <div class="status-po"> 26 <div class="status-po">
...@@ -76,6 +78,16 @@ ...@@ -76,6 +78,16 @@
76 }} 78 }}
77 </p> 79 </p>
78 </div> 80 </div>
81
82 <div v-if="b.orderType==5">
83 <h3 class="name">{{ b.name }}</h3>
84 <p>
85 <!-- {{-->
86 <!-- dayjs(b.deliveryTime).format('YYYY-MM-DD') + ' ' + b.extJsonObj.timePeriod?.split('-')[0] + '-' + dayjs(b.deliveryTime).format('YYYY-MM-DD') + ' ' + b.extJsonObj.timePeriod?.split('-')[1]-->
87 <!-- }}-->
88 {{ b.extJsonObj.ticketDate.name }}
89 </p>
90 </div>
79 </el-col> 91 </el-col>
80 <el-col :lg="6" :md="12" :sm="12" :xs="24"> 92 <el-col :lg="6" :md="12" :sm="12" :xs="24">
81 <div v-if="b.orderType == 0"> 93 <div v-if="b.orderType == 0">
...@@ -89,6 +101,9 @@ ...@@ -89,6 +101,9 @@
89 <div v-if="b.orderType == 3||b.orderType == 4"> 101 <div v-if="b.orderType == 3||b.orderType == 4">
90 <p>{{ b.extJsonObj.packageName }}</p> 102 <p>{{ b.extJsonObj.packageName }}</p>
91 </div> 103 </div>
104 <div v-if="b.orderType == 5">
105 <p>{{ b.extJsonObj.packageName }}</p>
106 </div>
92 </el-col> 107 </el-col>
93 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> 108 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
94 <span class="text-warning"> {{ language == 0 ? '¥' : '€' }} 109 <span class="text-warning"> {{ language == 0 ? '¥' : '€' }}
...@@ -97,9 +112,12 @@ ...@@ -97,9 +112,12 @@
97 </el-col> 112 </el-col>
98 <el-col :lg="6" :md="16" :sm="16" :xs="16"> 113 <el-col :lg="6" :md="16" :sm="16" :xs="16">
99 <div class="text-right mb20 text-danger"> 114 <div class="text-right mb20 text-danger">
100 <el-countdown v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" 115 <el-countdown
101 :value="b.countdown" format="mm:ss" 116 v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
102 value-style="color:#E60012;font-size:16px;" @finish="finish(b)"/> 117 :value="b.countdown"
118 format="mm:ss"
119 value-style="color:#E60012;font-size:16px;"
120 @finish="finish(b)"/>
103 </div> 121 </div>
104 122
105 <div class="text-right"> 123 <div class="text-right">
...@@ -160,9 +178,17 @@ function finish(bill) { ...@@ -160,9 +178,17 @@ function finish(bill) {
160 function getList() { 178 function getList() {
161 newbilllist({createById: user.userId}).then(res => { 179 newbilllist({createById: user.userId}).then(res => {
162 list.value = res.rows || [] 180 list.value = res.rows || []
163 for (var b of list.value) { 181 for (let b of list.value) {
164 b.messageObj = JSON.parse(b.message) || {} 182 b.messageObj = JSON.parse(b.message) || {}
165 b.extJsonObj = JSON.parse(b.extJson) || {} 183 b.extJsonObj = JSON.parse(b.extJson) || {}
184 if (b.orderType == 5) {
185 try {
186 b.extJsonObj.ticketDate = b.extJsonObj.ticketDate ? JSON.parse(b.extJsonObj.ticketDate) : {}
187 b.extJsonObj.ticketType = b.extJsonObj.ticketType ? JSON.parse(b.extJsonObj.ticketType) : {}
188 } catch (e) {
189 console.log(e)
190 }
191 }
166 if (b.surplus && b.status == '0' && (b.surplus != '0,0' && b.surplus != '0')) { 192 if (b.surplus && b.status == '0' && (b.surplus != '0,0' && b.surplus != '0')) {
167 b.countdown = Date.now() + Number((b.surplus.split(',')[0] * 60 + b.surplus.split(',')[1]) * 10) 193 b.countdown = Date.now() + Number((b.surplus.split(',')[0] * 60 + b.surplus.split(',')[1]) * 10)
168 } 194 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!