Showing
2 changed files
with
21 additions
and
14 deletions
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2024-01-16 10:06:47 | 2 | * @Date: 2024-01-16 10:06:47 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-01-25 16:10:17 | 4 | + * @LastEditTime: 2024-01-25 16:26:37 |
| 5 | * @FilePath: /xysBooking/src/components/qrCode.vue | 5 | * @FilePath: /xysBooking/src/components/qrCode.vue |
| 6 | * @Description: 预约码卡组件 | 6 | * @Description: 预约码卡组件 |
| 7 | --> | 7 | --> |
| ... | @@ -190,9 +190,13 @@ onMounted(async () => { | ... | @@ -190,9 +190,13 @@ onMounted(async () => { |
| 190 | // | 190 | // |
| 191 | item.datetime = `${str.split(' ')[0]} ${str.split(' ')[1]}-${str.split(' ')[3]}` | 191 | item.datetime = `${str.split(' ')[0]} ${str.split(' ')[1]}-${str.split(' ')[3]}` |
| 192 | }); | 192 | }); |
| 193 | + const { code: status_code, data: status_data } = await qrcodeStatusAPI({ qr_code: data[select_index.value]?.qr_code }); | ||
| 194 | + if (status_code) { | ||
| 195 | + useStatus.value = status_data.status; | ||
| 193 | // 剔除qr_code为空的二维码 | 196 | // 剔除qr_code为空的二维码 |
| 194 | userList.value = data.filter(item => item.qr_code !== ''); | 197 | userList.value = data.filter(item => item.qr_code !== ''); |
| 195 | } | 198 | } |
| 199 | + } | ||
| 196 | } else { | 200 | } else { |
| 197 | const { code, data } = await billPersonAPI({ pay_id }); | 201 | const { code, data } = await billPersonAPI({ pay_id }); |
| 198 | if (code) { | 202 | if (code) { |
| ... | @@ -200,10 +204,14 @@ onMounted(async () => { | ... | @@ -200,10 +204,14 @@ onMounted(async () => { |
| 200 | // 生成二维码地址 | 204 | // 生成二维码地址 |
| 201 | item.qr_code_url = 'http://oa.onwall.cn/admin?m=srv&a=get_qrcode&key=' + item.qr_code; | 205 | item.qr_code_url = 'http://oa.onwall.cn/admin?m=srv&a=get_qrcode&key=' + item.qr_code; |
| 202 | }); | 206 | }); |
| 207 | + const { code: status_code, data: status_data } = await qrcodeStatusAPI({ qr_code: data[select_index.value]?.qr_code }); | ||
| 208 | + if (status_code) { | ||
| 209 | + useStatus.value = status_data.status; | ||
| 203 | // 剔除qr_code为空的二维码 | 210 | // 剔除qr_code为空的二维码 |
| 204 | userList.value = data.filter(item => item.qr_code !== ''); | 211 | userList.value = data.filter(item => item.qr_code !== ''); |
| 205 | } | 212 | } |
| 206 | } | 213 | } |
| 214 | + } | ||
| 207 | }); | 215 | }); |
| 208 | 216 | ||
| 209 | // 定义轮询函数 | 217 | // 定义轮询函数 | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2024-01-15 16:25:51 | 2 | * @Date: 2024-01-15 16:25:51 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2024-01-24 17:28:25 | 4 | + * @LastEditTime: 2024-01-25 16:19:42 |
| 5 | * @FilePath: /xysBooking/src/views/submit.vue | 5 | * @FilePath: /xysBooking/src/views/submit.vue |
| 6 | * @Description: 预约人员信息 | 6 | * @Description: 预约人员信息 |
| 7 | --> | 7 | --> |
| ... | @@ -23,7 +23,7 @@ | ... | @@ -23,7 +23,7 @@ |
| 23 | <div> | 23 | <div> |
| 24 | <p style="color: #A67939;">{{ item.name }}</p> | 24 | <p style="color: #A67939;">{{ item.name }}</p> |
| 25 | <p>证件号:{{ formatId(item.id_number) }}</p> | 25 | <p>证件号:{{ formatId(item.id_number) }}</p> |
| 26 | - <p v-if="item.is_reserve === '1'" style="color: #9C9A9A; font-size: 0.8rem;">*已预约过{{ date }}参观,请不要重复预约</p> | 26 | + <p v-if="item.is_reserve === RESERVE_STATUS.ENABLE" style="color: #9C9A9A; font-size: 0.8rem;">*已预约过{{ date }}参观,请不要重复预约</p> |
| 27 | </div> | 27 | </div> |
| 28 | </div> | 28 | </div> |
| 29 | </div> | 29 | </div> |
| ... | @@ -33,7 +33,7 @@ | ... | @@ -33,7 +33,7 @@ |
| 33 | </div> | 33 | </div> |
| 34 | <div style="height: 5rem;"></div> | 34 | <div style="height: 5rem;"></div> |
| 35 | <div class="submit-wrapper"> | 35 | <div class="submit-wrapper"> |
| 36 | - <div style="display: flex; justify-content: space-between;"> | 36 | + <div class="control-wrapper"> |
| 37 | <div class="left"> | 37 | <div class="left"> |
| 38 | <div style="margin-left: 1rem; display: flex;align-items: center;"> | 38 | <div style="margin-left: 1rem; display: flex;align-items: center;"> |
| 39 | 订单金额 <div style="color: #FF1919;display: inline-block;">¥<div style="font-size: 1.5rem;display: inline-block;"> {{ total }}</div></div> | 39 | 订单金额 <div style="color: #FF1919;display: inline-block;">¥<div style="font-size: 1.5rem;display: inline-block;"> {{ total }}</div></div> |
| ... | @@ -88,9 +88,13 @@ const formatId = (id) => { | ... | @@ -88,9 +88,13 @@ const formatId = (id) => { |
| 88 | return replaceMiddleCharacters(id); | 88 | return replaceMiddleCharacters(id); |
| 89 | }; | 89 | }; |
| 90 | 90 | ||
| 91 | +const RESERVE_STATUS = { | ||
| 92 | + ENABLE: '1' | ||
| 93 | +} | ||
| 94 | + | ||
| 91 | const checked_visitors = ref([]); | 95 | const checked_visitors = ref([]); |
| 92 | const addVisitor = (item) => { | 96 | const addVisitor = (item) => { |
| 93 | - if (item.is_reserve === '1') { // 今天已经预约 | 97 | + if (item.is_reserve === RESERVE_STATUS.ENABLE) { // 今天已经预约 |
| 94 | showToast('已预约过参观,请不要重复预约') | 98 | showToast('已预约过参观,请不要重复预约') |
| 95 | return; | 99 | return; |
| 96 | } | 100 | } |
| ... | @@ -125,15 +129,6 @@ const submitBtn = async () => { | ... | @@ -125,15 +129,6 @@ const submitBtn = async () => { |
| 125 | if (code) { | 129 | if (code) { |
| 126 | const pay_url = `/srv/?f=reserve&a=icbc_pay&pay_id=${data.pay_id}`; | 130 | const pay_url = `/srv/?f=reserve&a=icbc_pay&pay_id=${data.pay_id}`; |
| 127 | location.href = pay_url; // 跳转支付页面 | 131 | location.href = pay_url; // 跳转支付页面 |
| 128 | - // const { code: prepare_code, data: prepare_data } = await payPrepareAPI({ pay_id: data.pay_id }); | ||
| 129 | - // if (prepare_code) { | ||
| 130 | - // const { code: callback_code, data: callback_data } = await payCallbackAPI({ pay_id: prepare_data.pay_id, pay_status: 1 }); | ||
| 131 | - // if (callback_code) { | ||
| 132 | - // // TODO:看需求,把跳转页换成等待页面 | ||
| 133 | - // go('/success', { pay_id: prepare_data.pay_id }); | ||
| 134 | - // // go('/waiting', { pay_id: prepare_data.pay_id }); | ||
| 135 | - // } | ||
| 136 | - // } | ||
| 137 | } | 132 | } |
| 138 | } | 133 | } |
| 139 | } | 134 | } |
| ... | @@ -202,6 +197,10 @@ onMounted(async () => { | ... | @@ -202,6 +197,10 @@ onMounted(async () => { |
| 202 | // padding: 1rem; | 197 | // padding: 1rem; |
| 203 | justify-content: space-between; | 198 | justify-content: space-between; |
| 204 | flex-direction: column; | 199 | flex-direction: column; |
| 200 | + .control-wrapper { | ||
| 201 | + display: flex; | ||
| 202 | + justify-content: space-between; | ||
| 203 | + } | ||
| 205 | .left { | 204 | .left { |
| 206 | display: flex; | 205 | display: flex; |
| 207 | justify-content: center; | 206 | justify-content: center; | ... | ... |
-
Please register or login to post a comment