0ed93485 by 杨炀

no message

1 parent 76220a00
...@@ -135,7 +135,7 @@ export function getInvoiceByActiveId(query) { ...@@ -135,7 +135,7 @@ export function getInvoiceByActiveId(query) {
135 } 135 }
136 export function getCanInvoiceBills(query) { 136 export function getCanInvoiceBills(query) {
137 return request({ 137 return request({
138 url: `/ota/norder/list`, 138 url: `ota/norder/getOrderInvoiceList`,
139 method: 'get', 139 method: 'get',
140 params: query 140 params: query
141 }) 141 })
...@@ -147,6 +147,13 @@ export function getCanInvoiceBm(query) { ...@@ -147,6 +147,13 @@ export function getCanInvoiceBm(query) {
147 params: query 147 params: query
148 }) 148 })
149 } 149 }
150 export function getCanInvoiceTicket(query) {
151 return request({
152 url: `/api/order/getOrderInvoiceList`,
153 method: 'get',
154 params: query
155 })
156 }
150 export function cancelOrder(orderId) { 157 export function cancelOrder(orderId) {
151 return request({ 158 return request({
152 // url: `/logex/norder/unSubscribeOrderBack/${orderId}`, 159 // url: `/logex/norder/unSubscribeOrderBack/${orderId}`,
...@@ -208,6 +215,13 @@ export function editInvoice(form) { ...@@ -208,6 +215,13 @@ export function editInvoice(form) {
208 data: form 215 data: form
209 }) 216 })
210 } 217 }
218 export function editCptInvoice(form) {
219 return request({
220 url: `/cpt/invoice`,
221 method: 'put',
222 data: form
223 })
224 }
211 export function addAddress(form) { 225 export function addAddress(form) {
212 return request({ 226 return request({
213 url: `/ota/invoiceInfo`, 227 url: `/ota/invoiceInfo`,
......
...@@ -119,6 +119,13 @@ export function getBackNumber(qy) { ...@@ -119,6 +119,13 @@ export function getBackNumber(qy) {
119 params: qy 119 params: qy
120 }) 120 })
121 } 121 }
122 export function getTeamBackNumber(qy) {
123 return request({
124 url: `/league/backNumber/teamQuery`,
125 method: 'get',
126 params: qy
127 })
128 }
122 129
123 130
124 131
......
...@@ -18,23 +18,24 @@ ...@@ -18,23 +18,24 @@
18 18
19 <h3 v-if="b.name">{{ b.name }}</h3> 19 <h3 v-if="b.name">{{ b.name }}</h3>
20 <h3 v-if="b.cptName">{{ b.cptName }}</h3> 20 <h3 v-if="b.cptName">{{ b.cptName }}</h3>
21
21 <div v-if="!b.orderType"> 22 <div v-if="!b.orderType">
22 <p v-if="b.groupName">{{ language==0?'团队名称':'Team name' }}{{b.groupName}}</p> 23 <p v-if="b.groupName">{{ language==0?'团队名称':'Team name' }}{{b.groupName}}</p>
23 <p v-if="b.payTime">{{ language==0?'支付时间':'Payment time' }}{{b.payTime}}</p> 24 <p v-if="b.payTime">{{ language==0?'支付时间':'Payment time' }}{{b.payTime}}</p>
24 <p class="poPrice">¥ {{b.totalPayAmount}}</p> 25 <p class="poPrice" v-if="b.totalPayAmount">¥ {{b.totalPayAmount}}</p>
25 </div> 26 </div>
26 <!-- 酒店订单--> 27 <!-- 酒店订单-->
27 <div v-if="b.orderType == 0"> 28 <div v-if="b.orderType == 0">
28 <p>{{b.messageObj.roomInfo}}</p> 29 <p>{{b.messageObj.roomInfo}}</p>
29 <p>{{b.messageObj.roomStayDate}}</p> 30 <p>{{b.messageObj.roomStayDate}}</p>
30 <p class="poPrice">¥{{b.total}}</p> 31 <p class="poPrice" v-if="b.total">¥{{b.total}}</p>
31 </div> 32 </div>
32 <!-- 接送订单--> 33 <!-- 接送订单-->
33 <div v-if="b.orderType == 1"> 34 <div v-if="b.orderType == 1">
34 <p v-for="(car,index) in b.messageObj.carsList" :key="index" v-show="car.num>0"> 35 <p v-for="(car,index) in b.messageObj.carsList" :key="index" v-show="car.num>0">
35 <span>{{car.name}}{{car.num}}</span> 36 <span>{{car.name}}{{car.num}}</span>
36 </p> 37 </p>
37 <p class="poPrice">¥{{b.total}}</p> 38 <p class="poPrice" v-if="b.total">¥{{b.total}}</p>
38 </div> 39 </div>
39 <!-- 餐饮订单--> 40 <!-- 餐饮订单-->
40 <div v-if="b.orderType == 2"> 41 <div v-if="b.orderType == 2">
...@@ -43,7 +44,7 @@ ...@@ -43,7 +44,7 @@
43 {{n.name}}({{n.categoryName}}) <span>{{n.num}}</span> 44 {{n.name}}({{n.categoryName}}) <span>{{n.num}}</span>
44 </span> 45 </span>
45 </p> 46 </p>
46 <p class="poPrice">¥{{b.total}}</p> 47 <p class="poPrice" v-if="b.total">¥{{b.total}}</p>
47 </div> 48 </div>
48 <div v-if="b.orderType == 3 || b.orderType == 4"> 49 <div v-if="b.orderType == 3 || b.orderType == 4">
49 <div> 50 <div>
...@@ -52,7 +53,7 @@ ...@@ -52,7 +53,7 @@
52 <div> 53 <div>
53 {{language==0?'预约时间:':''}}{{b.deliveryTime.slice(0,10)}} {{b.messageObj.timePeriod}} 54 {{language==0?'预约时间:':''}}{{b.deliveryTime.slice(0,10)}} {{b.messageObj.timePeriod}}
54 </div> 55 </div>
55 <p class="poPrice">¥{{b.total}}</p> 56 <p class="poPrice" v-if="b.total">¥{{b.total}}</p>
56 </div> 57 </div>
57 </div> 58 </div>
58 59
...@@ -63,7 +64,7 @@ ...@@ -63,7 +64,7 @@
63 <span class="bigprice">¥{{totalMoney}}</span> 64 <span class="bigprice">¥{{totalMoney}}</span>
64 </el-form-item> 65 </el-form-item>
65 66
66 <el-form-item :label="`发票形式`" required prop="invoiceForm"> 67 <el-form-item :label="language == 0 ?`发票形式`:'Invoice Form'" required prop="invoiceForm">
67 <el-radio-group v-model="form.invoiceForm"> 68 <el-radio-group v-model="form.invoiceForm">
68 <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio> 69 <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio>
69 <!-- <el-radio value="2" v-if="kpType.indexOf('2')!=-1">{{ language == 0 ? '纸质普票' : 'Paper-invoice' }}</el-radio>--> 70 <!-- <el-radio value="2" v-if="kpType.indexOf('2')!=-1">{{ language == 0 ? '纸质普票' : 'Paper-invoice' }}</el-radio>-->
...@@ -87,16 +88,16 @@ ...@@ -87,16 +88,16 @@
87 <!-- </a>--> 88 <!-- </a>-->
88 <!-- </div>--> 89 <!-- </div>-->
89 <!-- </el-form-item>--> 90 <!-- </el-form-item>-->
90 <el-form-item :label="`发票类型`" required prop="invoiceType"> 91 <el-form-item :label="language == 0 ?`发票类型`:'Invoice Type'" required prop="invoiceType">
91 <el-radio-group v-model="form.invoiceType"> 92 <el-radio-group v-model="form.invoiceType">
92 <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio> 93 <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio>
93 <el-radio value="1">{{ language == 0 ? '个人非企业' : 'Individual' }}</el-radio> 94 <el-radio value="1">{{ language == 0 ? '个人非企业' : 'Individual' }}</el-radio>
94 </el-radio-group> 95 </el-radio-group>
95 </el-form-item> 96 </el-form-item>
96 <el-form-item :label="`发票抬头`" required prop="invoiceTitle"> 97 <el-form-item :label="language == 0 ?`发票抬头`:'Invoice Title'" required prop="invoiceTitle">
97 <el-input v-model="form.invoiceTitle"/> 98 <el-input v-model="form.invoiceTitle"/>
98 </el-form-item> 99 </el-form-item>
99 <el-form-item :label="`税号`" required v-if="form.invoiceType=='0'" prop="invoiceTfn"> 100 <el-form-item :label="language == 0 ?`税号`:'Duty Paragraph'" required v-if="form.invoiceType=='0'" prop="invoiceTfn">
100 <el-input v-model="form.invoiceTfn"/> 101 <el-input v-model="form.invoiceTfn"/>
101 </el-form-item> 102 </el-form-item>
102 <div v-if="form.invoiceForm=='3'&&form.invoiceType=='0'"> 103 <div v-if="form.invoiceForm=='3'&&form.invoiceType=='0'">
...@@ -116,7 +117,7 @@ ...@@ -116,7 +117,7 @@
116 </el-form> 117 </el-form>
117 118
118 <div class="tip" v-if="remark"> 119 <div class="tip" v-if="remark">
119 <label>开票须知:</label> 120 <label>{{ language == 0 ?'开票须知':'Invoice Notice' }}:</label>
120 <div> 121 <div>
121 {{remark}} 122 {{remark}}
122 </div> 123 </div>
...@@ -208,18 +209,17 @@ let invoiceId ...@@ -208,18 +209,17 @@ let invoiceId
208 let cptId 209 let cptId
209 onMounted(() => { 210 onMounted(() => {
210 if(route.query.orders){ 211 if(route.query.orders){
211 let obj = JSON.parse(decodeURIComponent(route.query.orders)) || [] 212 let obj = JSON.parse(decodeURIComponent(route.query.orders)) || {}
212 if(obj.cptId){ 213 if(obj.cptId){
213 cptId = obj.cptId 214 cptId = obj.cptId
214 getRemark()
215 } 215 }
216 if(obj.activeId){ 216 if(obj.activeId){
217 cptId = obj.activeId 217 cptId = obj.activeId
218 getRemark()
219 } 218 }
219 getRemark()
220 let arr = [] 220 let arr = []
221 list.value.push(obj) 221 list.value.push(obj)
222 for (var bill of list.value) { 222 for (let bill of list.value) {
223 if(bill?.message){ 223 if(bill?.message){
224 bill.messageObj = JSON.parse(bill.message) 224 bill.messageObj = JSON.parse(bill.message)
225 } 225 }
...@@ -228,7 +228,6 @@ onMounted(() => { ...@@ -228,7 +228,6 @@ onMounted(() => {
228 form.value.orders = arr.toString() 228 form.value.orders = arr.toString()
229 } 229 }
230 if(route.query.activeId){ 230 if(route.query.activeId){
231 form.value.activeId = route.query.activeId
232 cptId = route.query.activeId 231 cptId = route.query.activeId
233 } 232 }
234 if (route.query.totalMoney) { 233 if (route.query.totalMoney) {
...@@ -316,20 +315,13 @@ function getAddress(obj) { ...@@ -316,20 +315,13 @@ function getAddress(obj) {
316 function submit() { 315 function submit() {
317 proxy.$refs['formRef'].validate((valid) => { 316 proxy.$refs['formRef'].validate((valid) => {
318 if(valid){ 317 if(valid){
319 // if((kpType.value.indexOf('2')>-1 || kpType.value.indexOf('3')>-1)&&!nowAddress.value){
320 // ElMessage({
321 // message: language.value==0?'请选择邮寄地址':'Please select address',
322 // type: 'warning',
323 // duration: 2000
324 // })
325 // return
326 // }
327 // 提交确认 318 // 提交确认
328 ElMessageBox.confirm(language.value == 0 ? '确认提交吗?' : 'Confirm to submit ?', { 319 ElMessageBox.confirm(language.value == 0 ? '确认提交吗?' : 'Confirm to submit ?', {
329 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 320 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
330 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 321 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
331 type: 'warning' 322 type: 'warning'
332 }).then(() => { 323 }).then(() => {
324 form.value.activeId = cptId
333 form.value.total = totalMoney.value 325 form.value.total = totalMoney.value
334 form.value.version = 2 326 form.value.version = 2
335 if (isEdit.value) { 327 if (isEdit.value) {
...@@ -349,12 +341,13 @@ function update() { ...@@ -349,12 +341,13 @@ function update() {
349 }) 341 })
350 } 342 }
351 function add() { 343 function add() {
352 if(list.value[0].orderType){ 344 if(list.value[0].orderType||list.value[0].orderType==0){
353 submitInvoice(form.value).then(res=>{ 345 submitInvoice(form.value).then(res=>{
354 //返回列表 346 //返回列表
355 backList() 347 backList()
356 }) 348 })
357 } else { 349 } else {
350 console.log(list.value[0].orderType,'2')
358 submitCptInvoice(form.value).then(res=>{ 351 submitCptInvoice(form.value).then(res=>{
359 //返回列表 352 //返回列表
360 backList() 353 backList()
......
...@@ -15,9 +15,10 @@ ...@@ -15,9 +15,10 @@
15 <el-tab-pane :label="language==0?'摄像订单':'Shooting'" name="4"></el-tab-pane> 15 <el-tab-pane :label="language==0?'摄像订单':'Shooting'" name="4"></el-tab-pane>
16 </el-tabs> 16 </el-tabs>
17 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/> 17 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/>
18 <div v-if="activeName=='6'" class="pd20">
18 19
19 <div v-if="activeName=='5'" class="pd20"> 20 </div>
20 <!-- languageSource=='100'--> 21 <div v-else-if="activeName=='5'" class="pd20">
21 <div v-for="b in list" class="item" v-loading="loading"> 22 <div v-for="b in list" class="item" v-loading="loading">
22 <div class="title"> 23 <div class="title">
23 <label class="bg-lineg"> {{ language==0?'大赛报名':'REGISTRATION' }} </label> 24 <label class="bg-lineg"> {{ language==0?'大赛报名':'REGISTRATION' }} </label>
...@@ -28,8 +29,8 @@ ...@@ -28,8 +29,8 @@
28 <el-col :lg="9" :md="12" :sm="12" :xs="24"> 29 <el-col :lg="9" :md="12" :sm="12" :xs="24">
29 <div> 30 <div>
30 <h4 class="m0">{{b.cptName}}</h4> 31 <h4 class="m0">{{b.cptName}}</h4>
31 <p v-if="b.groupName">团队名称{{b.groupName}}</p> 32 <p v-if="b.groupName">{{ language == 0 ?'团队名称':'Team name' }}{{b.groupName}}</p>
32 <p v-if="b.payTime">支付时间{{b.payTime}}</p> 33 <p v-if="b.payTime">{{ language == 0 ?'支付时间':'Pay time'}}{{b.payTime}}</p>
33 </div> 34 </div>
34 </el-col> 35 </el-col>
35 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> 36 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
...@@ -40,16 +41,16 @@ ...@@ -40,16 +41,16 @@
40 <el-col :lg="6" :md="16" :sm="16" :xs="16"> 41 <el-col :lg="6" :md="16" :sm="16" :xs="16">
41 <div class="text-right"> 42 <div class="text-right">
42 <el-button type="primary" plain round v-if="b.isInvoice == '0'&&!b.invoiceId&&b.languageSource=='100'" @click.stop="gokp(b)"> 43 <el-button type="primary" plain round v-if="b.isInvoice == '0'&&!b.invoiceId&&b.languageSource=='100'" @click.stop="gokp(b)">
43 {{ language == 0 ? '开发票' : 'Edit' }} 44 {{ language == 0 ? '开发票' : 'Invoice' }}
44 </el-button> 45 </el-button>
45 <el-button type="primary" plain round v-if="b.isInvoice == '0'&&b.invoiceId&&b.languageSource=='100'" @click.stop="editkp(b)"> 46 <el-button type="primary" plain round v-if="b.isInvoice == '0'&&b.invoiceId&&b.languageSource=='100'" @click.stop="editkp(b)">
46 {{ language == 0 ? '重开发票' : 'Edit' }} 47 {{ language == 0 ? '重开发票' : 'Rebilling' }}
47 </el-button> 48 </el-button>
48 <el-button type="primary" plain round v-if="b.invoiceId&&b.languageSource=='100'" 49 <el-button type="primary" plain round v-if="b.invoiceId&&b.languageSource=='100'"
49 @click.stop="showDetail(b)">{{ language == 0 ? '查看发票' : 'Detail' }} 50 @click.stop="showDetail(b)">{{ language == 0 ? '查看发票' : 'Detail' }}
50 </el-button> 51 </el-button>
51 <el-button type="primary" v-if="b.isInvoice == '0'&&!b.invoiceId&&b.languageSource!='100'" plain round @click.stop="goSj(b)"> 52 <el-button type="primary" v-if="b.isInvoice == '0'&&!b.invoiceId&&b.languageSource!='100'" plain round @click.stop="goSj(b)">
52 {{ language == 0 ? '开收据' : 'Edit' }} 53 {{ language == 0 ? '开收据' : 'Receipt' }}
53 </el-button> 54 </el-button>
54 <el-button type="primary" plain round v-if="b.invoiceId&&b.languageSource!='100'" 55 <el-button type="primary" plain round v-if="b.invoiceId&&b.languageSource!='100'"
55 @click.stop="showSJ(b)">{{ language == 0 ? '查看收据' : 'Detail' }} 56 @click.stop="showSJ(b)">{{ language == 0 ? '查看收据' : 'Detail' }}
...@@ -68,13 +69,13 @@ ...@@ -68,13 +69,13 @@
68 <label class="orangeTag" v-if="b.orderType == 3"> {{ language==0?'化妆':'MakeUp' }} </label> 69 <label class="orangeTag" v-if="b.orderType == 3"> {{ language==0?'化妆':'MakeUp' }} </label>
69 <label class="orangeTag" v-if="b.orderType == 4"> {{ language==0?'拍摄':'Shooting ' }} </label> 70 <label class="orangeTag" v-if="b.orderType == 4"> {{ language==0?'拍摄':'Shooting ' }} </label>
70 <span>{{ language==0?'订单编号:':'No.' }} {{ b.id }}</span> 71 <span>{{ language==0?'订单编号:':'No.' }} {{ b.id }}</span>
71
72 <span class="fr text-warning status">{{b.invoiceStr}}</span> 72 <span class="fr text-warning status">{{b.invoiceStr}}</span>
73 </div> 73 </div>
74 74
75 <el-row class="pd20 mt10" justify="space-between" align="middle"> 75 <el-row class="pd20 mt10" justify="space-between" align="middle">
76 <el-col :lg="9" :md="12" :sm="12" :xs="24"> 76 <el-col :lg="9" :md="12" :sm="12" :xs="24">
77 <div v-if="b.orderType == 0"> 77 <div v-if="b.orderType == 0">
78 <h3 class="m0">{{b.name}}</h3>
78 <p>{{b.messageObj.roomName}}</p> 79 <p>{{b.messageObj.roomName}}</p>
79 <p>{{b.messageObj.roomInfo}}</p> 80 <p>{{b.messageObj.roomInfo}}</p>
80 <p>{{b.messageObj.roomType}}</p> 81 <p>{{b.messageObj.roomType}}</p>
...@@ -142,11 +143,7 @@ ...@@ -142,11 +143,7 @@
142 <div class="tip mt20"> 143 <div class="tip mt20">
143 <label>{{ language==0?'开电子收据须知':'Receipt notice' }}:</label> 144 <label>{{ language==0?'开电子收据须知':'Receipt notice' }}:</label>
144 <div class="pd10"> 145 <div class="pd10">
145 1.发票开具时间:提交后,开票时间为开票日起7天(含7天)内;<br/> 146 {{remark}}
146 2.开具发票后,发票金额不得修改;<br/>
147 3.未开具发票前,可修改修改公司抬头/税号;<br/>
148 4.未开票成功,请及时联系客服处理;<br/>
149 5.发票开具后,将发送至当前登录账号邮箱;
150 </div> 147 </div>
151 </div> 148 </div>
152 149
...@@ -157,16 +154,28 @@ ...@@ -157,16 +154,28 @@
157 <script setup> 154 <script setup>
158 import {useStorage} from "@vueuse/core/index"; 155 import {useStorage} from "@vueuse/core/index";
159 import useUserStore from "@/store/modules/user"; 156 import useUserStore from "@/store/modules/user";
160 import {getCanInvoiceBills, getCanInvoiceBm, getInvoiceByActiveId, ppOtaReceipt, getReceipt} from "@/apiPc/booking"; 157 import {
158 getCanInvoiceBills,
159 getCanInvoiceBm,
160 getInvoiceByActiveId,
161 ppOtaReceipt,
162 getReceipt,
163 getBaseInfoByActiveId
164 } from "@/apiPc/booking";
161 import {getCurrentInstance, onMounted, ref} from "vue"; 165 import {getCurrentInstance, onMounted, ref} from "vue";
162 import {ElMessage, ElMessageBox} from "element-plus"; 166 import {ElMessage, ElMessageBox} from "element-plus";
167 import {md5} from "md5js";
168 import {loginFree,getCanInvoiceTicket} from "@/viewsPc/seat/api";
169 import {setToken} from "@/viewsPc/seat/utils/local-store";
163 const router = useRouter() 170 const router = useRouter()
164 const route = useRoute() 171 const route = useRoute()
165 const language= useStorage('language',0) 172 const language= useStorage('language',0)
166 const activeName = ref('5') 173 const activeName = ref('5')
167 const lpName = ref('') 174 const lpName = ref('')
175 const remark = ref('')
168 const showSJDialog = ref(false) 176 const showSJDialog = ref(false)
169 const user = useUserStore().user || {} 177 const user = useUserStore().user || {}
178 const userStore = useUserStore();
170 const query = ref({ 179 const query = ref({
171 createById: user.userId, 180 createById: user.userId,
172 orderType:'5' 181 orderType:'5'
...@@ -188,7 +197,11 @@ const getList = () => { ...@@ -188,7 +197,11 @@ const getList = () => {
188 list.value = res.rows 197 list.value = res.rows
189 loading.value = false 198 loading.value = false
190 }) 199 })
200 }else if(query.value.orderType=='6'){
201 login()
202 // 用户免登录
191 }else { 203 }else {
204 query.value.invoiced = 1
192 getCanInvoiceBills(query.value).then(res=>{ 205 getCanInvoiceBills(query.value).then(res=>{
193 list.value = res.rows 206 list.value = res.rows
194 for (let b of list.value) { 207 for (let b of list.value) {
...@@ -199,6 +212,19 @@ const getList = () => { ...@@ -199,6 +212,19 @@ const getList = () => {
199 } 212 }
200 213
201 } 214 }
215 const login = async () => {
216 const userId = userStore.user?.userId;
217 const sign = md5(`uid=${userId}lgo1acfkw51jfo`, 32);
218 return loginFree({
219 userId: userId,
220 sign,
221 }).then((res) => {
222 setToken(res.data.token);
223 getCanInvoiceTicket().then(res=>{
224 list.value = res.lists
225 })
226 })
227 }
202 const handleClick = (e) => { 228 const handleClick = (e) => {
203 console.log(e.paneName) 229 console.log(e.paneName)
204 query.value.orderType = e.paneName 230 query.value.orderType = e.paneName
...@@ -236,9 +262,17 @@ const showDetail = (item) => { ...@@ -236,9 +262,17 @@ const showDetail = (item) => {
236 let nowSj = {} 262 let nowSj = {}
237 const goSj = (item) => { 263 const goSj = (item) => {
238 // 电子收据须知 开票人 264 // 电子收据须知 开票人
265 getremark(item)
239 showSJDialog.value = true 266 showSJDialog.value = true
240 nowSj = item 267 nowSj = item
241 } 268 }
269 function getremark(item) {
270 getBaseInfoByActiveId(item.cptId).then(res=>{
271 if(res.data){
272 remark.value = res.data.remarks
273 }
274 })
275 }
242 const showSJ = (item) => { 276 const showSJ = (item) => {
243 // 查看电子收据预览信息 277 // 查看电子收据预览信息
244 var obj = { 278 var obj = {
......
...@@ -7,41 +7,77 @@ ...@@ -7,41 +7,77 @@
7 > 7 >
8 <div style="min-height: 300px"> 8 <div style="min-height: 300px">
9 9
10 <div class="flex mt30"> 10 <div v-if="!type||type==''">
11 <el-input :placeholder="language==0?'输入会员号 / 姓名查询':'Enter WDSF MIN / Name to Query'" v-model="query" clearable 11 <div @click="type='0'" class="rItem">个人查询</div>
12 @enter="search" @blur="search" @empty="search"/> 12 <div @click="type='1'" class="rItem">团队查询</div>
13 <el-button @click="search" class="btn-lineG" style="color: #fff">{{
14 language == 0 ? '查询' : 'Search'
15 }}
16 </el-button>
17 </div> 13 </div>
18 14
19 <div v-if="list.length>0"> 15 <div v-if="type=='0'">
20 <div class="nowteamItem" v-for="(form, index) in list" :key="index"> 16 <div class="flex mt30">
21 <div class="info"> 17 <el-input :placeholder="language==0?'输入会员号 / 姓名查询':'Enter WDSF MIN / Name to Query'" v-model="query" clearable
22 <div class="nowName text-center"> 18 @enter="search" @blur="search" @empty="search"/>
23 <span class="text-primary">{{ form.number }}</span> 19 <el-button @click="search" class="btn-lineG" style="color: #fff">{{
24 </div> 20 language == 0 ? '查询' : 'Search'
25 <div> 21 }}
26 <label>{{ language==0?'选手1':'Name1' }}</label>{{ form.maleName }} 22 </el-button>
27 <span v-if="form.maleWdsf"> - {{ form.maleWdsf }}</span> 23 </div>
28 </div> 24
29 <div> 25 <div v-if="list.length>0">
30 <label>{{ language==0?'选手2':'Name2' }}</label>{{ form.femaleName }} 26 <div class="nowteamItem" v-for="(form, index) in list" :key="index">
31 <span v-if="form.femaleWdsf"> - {{ form.femaleWdsf }}</span> 27 <div class="info">
32 </div> 28 <div class="nowName text-center">
33 <div> 29 <span class="text-primary">{{ form.number }}</span>
34 <label>{{ language==0?'代表队':'Represent' }}</label> 30 </div>
35 {{ form.groupName }} 31 <div>
36 </div> 32 <label>{{ language==0?'选手1':'Name1' }}</label>{{ form.maleName }}
37 <div v-if="form.zuInfo"> 33 <span v-if="form.maleWdsf"> - {{ form.maleWdsf }}</span>
38 <label> {{ language==0?'组别':'Event' }}</label>{{ form.zuInfo }} 34 </div>
35 <div>
36 <label>{{ language==0?'选手2':'Name2' }}</label>{{ form.femaleName }}
37 <span v-if="form.femaleWdsf"> - {{ form.femaleWdsf }}</span>
38 </div>
39 <div>
40 <label>{{ language==0?'代表队':'Represent' }}</label>
41 {{ form.groupName }}
42 </div>
43 <div v-if="form.zuInfo">
44 <label> {{ language==0?'组别':'Event' }}</label>{{ form.zuInfo }}
45 </div>
39 </div> 46 </div>
40 </div> 47 </div>
41 </div> 48 </div>
49 <div v-else>
50 <el-empty/>
51 </div>
42 </div> 52 </div>
43 <div v-else> 53 <div v-if="type=='1'">
44 <el-empty/> 54 <div class="flex mt20">
55 <el-input :placeholder="language==0?'请输入代表队名称至少两字符':'Enter the representing team name,At least two characters'"
56 v-model="query2" clearable
57 @enter="searchTeam" @blur="searchTeam" @empty="searchTeam"/>
58 <el-button @click="searchTeam" class="btn-lineG" style="color: #fff">
59 {{language == 0 ? '查询' : 'Search' }}
60 </el-button>
61 </div>
62 <span class="tip">*模糊查询</span>
63
64 <div v-if="teamlist.length>0" class="temell mt20">
65 <el-collapse v-model="activeNames" accordion>
66 <el-collapse-item :name="index" :title="team[0][0].groupName" v-for="(team,index) in teamlist" :key="index">
67 <div class="nowteamItem" v-for="(p,jndex) in team" :key="jndex">
68 <div class="fontSize14 text-bold">{{p[0].zuInfo}}</div>
69 <div v-for="f in p" :key="f.id">
70 <span class="nowName text-primary">{{f.number}}</span>
71 <span class="mr10">{{ language==0?'选手1':'Name1' }}{{f.maleName}} </span>
72 <span>{{ language==0?'选手2':'Name2' }}{{f.femaleName}} </span>
73 </div>
74 </div>
75 </el-collapse-item>
76 </el-collapse>
77 </div>
78 <div v-else>
79 <el-empty/>
80 </div>
45 </div> 81 </div>
46 </div> 82 </div>
47 </el-dialog> 83 </el-dialog>
...@@ -50,14 +86,18 @@ ...@@ -50,14 +86,18 @@
50 <script setup> 86 <script setup>
51 import {ref} from "vue"; 87 import {ref} from "vue";
52 import {ElMessage} from "element-plus"; 88 import {ElMessage} from "element-plus";
53 import {getBackNumber} from "@/apiPc/common"; 89 import {getBackNumber,getTeamBackNumber} from "@/apiPc/common";
54 import {useStorage} from "@vueuse/core/index"; 90 import {useStorage} from "@vueuse/core/index";
55 91
56 const language = useStorage('language', 0) 92 const language = useStorage('language', 0)
57 const show = ref(false) 93 const show = ref(false)
58 // const form = ref({}) 94 // const form = ref({})
59 const list = ref([]) 95 const list = ref([])
96 const teamlist = ref([])
60 const query = ref('') 97 const query = ref('')
98 const query2 = ref('')
99 const type = ref('')
100 const activeNames = ref(0)
61 const search = () => { 101 const search = () => {
62 if (!query.value) { 102 if (!query.value) {
63 ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name') 103 ElMessage.warning(language.value == 0 ? '请输入会员号/姓名' : 'Please enter WDSF MIN / Name')
...@@ -74,11 +114,26 @@ const search = () => { ...@@ -74,11 +114,26 @@ const search = () => {
74 }) 114 })
75 115
76 } 116 }
77 117 const searchTeam = () => {
118 if (!query2.value||query2.value.length < 2) {
119 ElMessage.warning(language.value == 0 ? '请输入代表队名称至少两字符' : 'Enter the representing team name,At least two characters')
120 return
121 }
122 getTeamBackNumber({query: query2.value}).then(res => {
123 if (!res.data||res.data.length==0) {
124 teamlist.value = []
125 //提示 '未找到结果,请重新查询'
126 ElMessage.warning(language.value == 0 ? '未找到结果,请重新查询' : 'No result')
127 return
128 }
129 teamlist.value = res.data
130 })
131 }
78 const open = (param) => { 132 const open = (param) => {
79 show.value = true 133 show.value = true
80 list.value = [] 134 list.value = []
81 query.value = '' 135 query.value = ''
136 type.value = ''
82 } 137 }
83 defineExpose({ 138 defineExpose({
84 open 139 open
...@@ -86,6 +141,18 @@ defineExpose({ ...@@ -86,6 +141,18 @@ defineExpose({
86 </script> 141 </script>
87 142
88 <style scoped lang="scss"> 143 <style scoped lang="scss">
144 .tip{font-size: 12px;margin: 4px 0 0;display: inline-block;}
145 .rItem{
146 height: 130px;
147 cursor: pointer;border: 1px solid #e1e1e1;border-radius: 4px;
148 width: 350px;text-align: center;line-height: 130px;
149 padding: 1px; font-size: 30px;color: #fff;
150 margin: 20px auto;background:linear-gradient(90deg, #8623FC, #453DEA);
151 &:hover{
152 background:linear-gradient(90deg, #453DEA, #8623FC);
153 box-shadow: 0 4px 10px #453DEA;border: none;
154 }
155 }
89 .nowteamItem { 156 .nowteamItem {
90 width: 100%;border: 1px solid #c8c5ff; margin-top: 20px; 157 width: 100%;border: 1px solid #c8c5ff; margin-top: 20px;
91 position: relative;border-radius: 4px;padding: 0 0 20px; 158 position: relative;border-radius: 4px;padding: 0 0 20px;
...@@ -115,4 +182,11 @@ defineExpose({ ...@@ -115,4 +182,11 @@ defineExpose({
115 } 182 }
116 } 183 }
117 } 184 }
185 .temell {
186 .nowteamItem{padding: 10px;margin: 0 0 10px;
187 .nowName{font-size: 15px;font-weight: bold;margin-right: 10px}
188 .text-bold{font-weight: bold;}
189 .fontsize14{font-size: 14px;}
190 }
191 }
118 </style> 192 </style>
......
...@@ -220,7 +220,7 @@ ...@@ -220,7 +220,7 @@
220 <el-card> 220 <el-card>
221 <el-row :gutter="20"> 221 <el-row :gutter="20">
222 <el-col :lg="8"> 222 <el-col :lg="8">
223 <a class="liveImgbox" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698"> 223 <a class="liveImgbox" target="_blank" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698">
224 <div class="livetimecount" v-if="time>0"> 224 <div class="livetimecount" v-if="time>0">
225 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 225 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
226 <template #default="timeData"> 226 <template #default="timeData">
......
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
226 <el-card> 226 <el-card>
227 <el-row :gutter="20"> 227 <el-row :gutter="20">
228 <el-col :lg="8"> 228 <el-col :lg="8">
229 <a class="liveImgbox" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698"> 229 <a class="liveImgbox" target="_blank" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698">
230 <div class="livetimecount" v-if="time>0"> 230 <div class="livetimecount" v-if="time>0">
231 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒"> 231 <van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
232 <template #default="timeData"> 232 <template #default="timeData">
......
...@@ -52,3 +52,6 @@ export const checkPaySuccess = (data) => ...@@ -52,3 +52,6 @@ export const checkPaySuccess = (data) =>
52 /** 检查是否支付成功 */ 52 /** 检查是否支付成功 */
53 export const payCallback = (data) => 53 export const payCallback = (data) =>
54 request("POST", `/api/order/palPayTicket/callback/`, data); 54 request("POST", `/api/order/palPayTicket/callback/`, data);
55 export const getCanInvoiceTicket = (data) =>
56 request("GET", `/api/order/getOrderInvoiceList`, data);
57
......
...@@ -82,17 +82,17 @@ export default defineConfig(({ mode, command }) => { ...@@ -82,17 +82,17 @@ export default defineConfig(({ mode, command }) => {
82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
83 }, 83 },
84 '/dev-api': { 84 '/dev-api': {
85 // target: 'http://192.168.1.118:8081/', 85 target: 'http://192.168.1.118:8081/',
86 // target: 'http://192.168.1.131:8081/', 86 // target: 'http://192.168.1.131:8081/',
87 target: 'https://jijin.wtwuxicenter.com/stage-api', 87 // target: 'https://jijin.wtwuxicenter.com/stage-api',
88 // target: 'https://wdsfwuxicenter.com/stage-api/', 88 // target: 'https://wdsfwuxicenter.com/stage-api/',
89 changeOrigin: true, 89 changeOrigin: true,
90 rewrite: (p) => p.replace(/^\/dev-api/, '') 90 rewrite: (p) => p.replace(/^\/dev-api/, '')
91 }, 91 },
92 '/ticket': { 92 '/ticket': {
93 // target: 'http://192.168.1.118:8098/', 93 target: 'http://192.168.1.118:8098/',
94 // target: 'http://192.168.1.131:8081/', 94 // target: 'http://192.168.1.131:8081/',
95 target: 'https://jijin.wtwuxicenter.com/h5', 95 // target: 'https://jijin.wtwuxicenter.com/h5',
96 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/stage-api', 96 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/stage-api',
97 changeOrigin: true, 97 changeOrigin: true,
98 rewrite: (p) => p.replace(/^\/ticket/, '') 98 rewrite: (p) => p.replace(/^\/ticket/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!