no message
Showing
9 changed files
with
225 additions
and
81 deletions
| ... | @@ -133,6 +133,13 @@ export function createPalPay(data) { | ... | @@ -133,6 +133,13 @@ export function createPalPay(data) { |
| 133 | data: data | 133 | data: data |
| 134 | }) | 134 | }) |
| 135 | } | 135 | } |
| 136 | export function createOfflinePay(data) { | ||
| 137 | return request({ | ||
| 138 | url: `/ota/norder/offlinePay`, | ||
| 139 | method: 'post', | ||
| 140 | data: data | ||
| 141 | }) | ||
| 142 | } | ||
| 136 | 143 | ||
| 137 | export function callbackPalPay(tradeNo) { | 144 | export function callbackPalPay(tradeNo) { |
| 138 | return request({ | 145 | return request({ |
| ... | @@ -143,6 +150,14 @@ export function callbackPalPay(tradeNo) { | ... | @@ -143,6 +150,14 @@ export function callbackPalPay(tradeNo) { |
| 143 | } | 150 | } |
| 144 | }) | 151 | }) |
| 145 | } | 152 | } |
| 153 | //对公 上传凭证 | ||
| 154 | export function renewalProof(data) { | ||
| 155 | return request({ | ||
| 156 | url: `/ota/norder/renewalProof`, | ||
| 157 | method: 'put', | ||
| 158 | data: data | ||
| 159 | }) | ||
| 160 | } | ||
| 146 | 161 | ||
| 147 | export function getInvoiceByActiveId(query) { | 162 | export function getInvoiceByActiveId(query) { |
| 148 | return request({ | 163 | return request({ |
| ... | @@ -151,6 +166,13 @@ export function getInvoiceByActiveId(query) { | ... | @@ -151,6 +166,13 @@ export function getInvoiceByActiveId(query) { |
| 151 | params: query | 166 | params: query |
| 152 | }) | 167 | }) |
| 153 | } | 168 | } |
| 169 | export function getRoomBillPayment(query) { | ||
| 170 | return request({ | ||
| 171 | url: `/ota/orderRoom/getRoomBillPayment`, | ||
| 172 | method: 'get', | ||
| 173 | params: query | ||
| 174 | }) | ||
| 175 | } | ||
| 154 | 176 | ||
| 155 | export function getCanInvoiceBills(query) { | 177 | export function getCanInvoiceBills(query) { |
| 156 | return request({ | 178 | return request({ | ... | ... |
| ... | @@ -86,6 +86,12 @@ export function countryList() { | ... | @@ -86,6 +86,12 @@ export function countryList() { |
| 86 | method: 'get' | 86 | method: 'get' |
| 87 | }) | 87 | }) |
| 88 | } | 88 | } |
| 89 | export function associationList() { | ||
| 90 | return request({ | ||
| 91 | url: `/system/association/getList`, | ||
| 92 | method: 'get' | ||
| 93 | }) | ||
| 94 | } | ||
| 89 | 95 | ||
| 90 | export function getAssociation() { | 96 | export function getAssociation() { |
| 91 | return request({ | 97 | return request({ |
| ... | @@ -763,11 +769,19 @@ export function getProjectByCptId(cptId, query) { | ... | @@ -763,11 +769,19 @@ export function getProjectByCptId(cptId, query) { |
| 763 | 769 | ||
| 764 | export function addInvitation(data) { | 770 | export function addInvitation(data) { |
| 765 | return request({ | 771 | return request({ |
| 766 | url: `/league/person`, | 772 | // url: `/league/person`, |
| 773 | url: `/league/visa`, | ||
| 767 | method: 'post', | 774 | method: 'post', |
| 768 | data: data | 775 | data: data |
| 769 | }) | 776 | }) |
| 770 | } | 777 | } |
| 778 | export function getVisaInfo(query) { | ||
| 779 | return request({ | ||
| 780 | url: `/league/visa/getVisa`, | ||
| 781 | method: 'get', | ||
| 782 | params: query | ||
| 783 | }) | ||
| 784 | } | ||
| 771 | 785 | ||
| 772 | // 酒店预约查询 | 786 | // 酒店预约查询 |
| 773 | export function hotelList(params) { | 787 | export function hotelList(params) { | ... | ... |
| ... | @@ -41,7 +41,7 @@ | ... | @@ -41,7 +41,7 @@ |
| 41 | :on-preview="handlePictureCardPreview" | 41 | :on-preview="handlePictureCardPreview" |
| 42 | :file-list="fileListInUpload" | 42 | :file-list="fileListInUpload" |
| 43 | :class="{ hide: fileList.length >= limit }" | 43 | :class="{ hide: fileList.length >= limit }" |
| 44 | name="image" | 44 | :name="paramName" |
| 45 | :disabled="disabled" | 45 | :disabled="disabled" |
| 46 | :accept="accept" | 46 | :accept="accept" |
| 47 | > | 47 | > |
| ... | @@ -94,6 +94,10 @@ const props = defineProps({ | ... | @@ -94,6 +94,10 @@ const props = defineProps({ |
| 94 | type: Number, | 94 | type: Number, |
| 95 | default: 5 | 95 | default: 5 |
| 96 | }, | 96 | }, |
| 97 | paramName: { | ||
| 98 | type: String, | ||
| 99 | default: 'image' | ||
| 100 | }, | ||
| 97 | // 文件类型, 例如['png', 'jpg', 'jpeg'] | 101 | // 文件类型, 例如['png', 'jpg', 'jpeg'] |
| 98 | fileType: { | 102 | fileType: { |
| 99 | type: Array, | 103 | type: Array, |
| ... | @@ -127,7 +131,7 @@ const accept = computed(() => { | ... | @@ -127,7 +131,7 @@ const accept = computed(() => { |
| 127 | }) | 131 | }) |
| 128 | 132 | ||
| 129 | const { proxy } = getCurrentInstance() | 133 | const { proxy } = getCurrentInstance() |
| 130 | const emit = defineEmits(['update:modelValue']) | 134 | const emit = defineEmits(['update:modelValue','response']) |
| 131 | const number = ref(0) | 135 | const number = ref(0) |
| 132 | const uploadList = ref([]) | 136 | const uploadList = ref([]) |
| 133 | const dialogImageUrl = ref('') | 137 | const dialogImageUrl = ref('') |
| ... | @@ -211,15 +215,20 @@ function handleExceed() { | ... | @@ -211,15 +215,20 @@ function handleExceed() { |
| 211 | 215 | ||
| 212 | // 上传成功回调 | 216 | // 上传成功回调 |
| 213 | function handleUploadSuccess(res, file) { | 217 | function handleUploadSuccess(res, file) { |
| 214 | if (res.code === 200) { | 218 | if(!actionUrl.value){ |
| 215 | uploadList.value.push({ name: file.name, url: res.data || res.msg }) | 219 | if (res.code === 200) { |
| 216 | uploadedSuccessfully() | 220 | uploadList.value.push({ name: file.name, url: res.data || res.msg }) |
| 221 | uploadedSuccessfully() | ||
| 222 | } else { | ||
| 223 | number.value-- | ||
| 224 | proxy.$modal.closeLoading() | ||
| 225 | proxy.$modal.msgError(res.msg) | ||
| 226 | proxy.$refs.imageUpload.handleRemove(file) | ||
| 227 | uploadedSuccessfully() | ||
| 228 | } | ||
| 217 | } else { | 229 | } else { |
| 218 | number.value-- | ||
| 219 | proxy.$modal.closeLoading() | 230 | proxy.$modal.closeLoading() |
| 220 | proxy.$modal.msgError(res.msg) | 231 | emit('response', res) |
| 221 | proxy.$refs.imageUpload.handleRemove(file) | ||
| 222 | uploadedSuccessfully() | ||
| 223 | } | 232 | } |
| 224 | } | 233 | } |
| 225 | 234 | ... | ... |
| ... | @@ -5,9 +5,9 @@ | ... | @@ -5,9 +5,9 @@ |
| 5 | <template #item="{ element }"> | 5 | <template #item="{ element }"> |
| 6 | <div class="fileItem el-upload-list__item is-success animated"> | 6 | <div class="fileItem el-upload-list__item is-success animated"> |
| 7 | <img | 7 | <img |
| 8 | :src="element.url" | 8 | :src="element.url" |
| 9 | alt="" | 9 | alt="" |
| 10 | class="el-upload-list__item-thumbnail" | 10 | class="el-upload-list__item-thumbnail" |
| 11 | > | 11 | > |
| 12 | <div class="hover-actions"> | 12 | <div class="hover-actions"> |
| 13 | <span @click="handlePictureCardPreview(element)"> | 13 | <span @click="handlePictureCardPreview(element)"> |
| ... | @@ -30,14 +30,14 @@ | ... | @@ -30,14 +30,14 @@ |
| 30 | 30 | ||
| 31 | <!--预览--> | 31 | <!--预览--> |
| 32 | <el-dialog | 32 | <el-dialog |
| 33 | v-model="dialogVisible" | 33 | v-model="dialogVisible" |
| 34 | title="预览" | 34 | title="预览" |
| 35 | width="800px" | 35 | width="800px" |
| 36 | append-to-body | 36 | append-to-body |
| 37 | > | 37 | > |
| 38 | <img | 38 | <img |
| 39 | :src="dialogImageUrl" | 39 | :src="dialogImageUrl" |
| 40 | style="display: block; max-width: 100%; margin: 0 auto" | 40 | style="display: block; max-width: 100%; margin: 0 auto" |
| 41 | > | 41 | > |
| 42 | </el-dialog> | 42 | </el-dialog> |
| 43 | 43 | ||
| ... | @@ -57,26 +57,27 @@ | ... | @@ -57,26 +57,27 @@ |
| 57 | </div> | 57 | </div> |
| 58 | <!--裁剪--> | 58 | <!--裁剪--> |
| 59 | <el-dialog | 59 | <el-dialog |
| 60 | v-model="open" | 60 | v-model="open" |
| 61 | title="裁剪图片" | 61 | title="裁剪图片" |
| 62 | width="600px" | 62 | width="600px" |
| 63 | append-to-body | 63 | append-to-body |
| 64 | @opened="modalOpened" | 64 | @opened="modalOpened" |
| 65 | @close="closeDialog" | 65 | @close="closeDialog" |
| 66 | > | 66 | > |
| 67 | <el-row> | 67 | <el-row> |
| 68 | <el-col :style="{ height: '350px' }"> | 68 | <el-col :style="{ height: '350px' }"> |
| 69 | <vue-cropper | 69 | <vue-cropper |
| 70 | v-if="visible" | 70 | v-if="visible" |
| 71 | ref="cropper" | 71 | ref="cropper" |
| 72 | :img="options.img" | 72 | :img="options.img" |
| 73 | :info="true" | 73 | :info="true" |
| 74 | :auto-crop="options.autoCrop" | 74 | :auto-crop="options.autoCrop" |
| 75 | :auto-crop-width="options.autoCropWidth" | 75 | :auto-crop-width="options.autoCropWidth" |
| 76 | :auto-crop-height="options.autoCropHeight" | 76 | :auto-crop-height="options.autoCropHeight" |
| 77 | :fixed-box="options.fixedBox" | 77 | :fixed-box="options.fixedBox" |
| 78 | output-type="png" | 78 | output-type="png" |
| 79 | @realTime="realTime" | 79 | :output-size="1" |
| 80 | @realTime="realTime" | ||
| 80 | /> | 81 | /> |
| 81 | <!-- <img :src="options.img"> --> | 82 | <!-- <img :src="options.img"> --> |
| 82 | </el-col> | 83 | </el-col> |
| ... | @@ -85,11 +86,11 @@ | ... | @@ -85,11 +86,11 @@ |
| 85 | <el-row> | 86 | <el-row> |
| 86 | <el-col :lg="2" :md="2"> | 87 | <el-col :lg="2" :md="2"> |
| 87 | <el-upload | 88 | <el-upload |
| 88 | action="#" | 89 | action="#" |
| 89 | :http-request="requestUpload" | 90 | :http-request="requestUpload" |
| 90 | :show-file-list="false" | 91 | :show-file-list="false" |
| 91 | :before-upload="beforeUpload" | 92 | :before-upload="beforeUpload" |
| 92 | :accept="accept" | 93 | :accept="accept" |
| 93 | > | 94 | > |
| 94 | <el-button> | 95 | <el-button> |
| 95 | 选择 | 96 | 选择 |
| ... | @@ -154,7 +155,7 @@ const props = defineProps({ | ... | @@ -154,7 +155,7 @@ const props = defineProps({ |
| 154 | type: Boolean, | 155 | type: Boolean, |
| 155 | default: false | 156 | default: false |
| 156 | } | 157 | } |
| 157 | 158 | ||
| 158 | }) | 159 | }) |
| 159 | const accept = computed(() => { | 160 | const accept = computed(() => { |
| 160 | return _.map(props.fileType, (t) => { | 161 | return _.map(props.fileType, (t) => { |
| ... | @@ -192,36 +193,36 @@ const options = reactive({ | ... | @@ -192,36 +193,36 @@ const options = reactive({ |
| 192 | const fileList = ref([]) | 193 | const fileList = ref([]) |
| 193 | 194 | ||
| 194 | watch( | 195 | watch( |
| 195 | () => props.modelValue, | 196 | () => props.modelValue, |
| 196 | (val) => { | 197 | (val) => { |
| 197 | if (val) { | 198 | if (val) { |
| 198 | // 首先将值转为数组 | 199 | // 首先将值转为数组 |
| 199 | const list = Array.isArray(val) ? val : props.modelValue.split(',') | 200 | const list = Array.isArray(val) ? val : props.modelValue.split(',') |
| 200 | // 然后将数组转为对象数组 | 201 | // 然后将数组转为对象数组 |
| 201 | fileList.value = list.map((item) => { | 202 | fileList.value = list.map((item) => { |
| 202 | if (typeof item === 'string') { | 203 | if (typeof item === 'string') { |
| 203 | if (item.indexOf('http') === -1) { | 204 | if (item.indexOf('http') === -1) { |
| 204 | item = { url: baseUrl + item } | 205 | item = { url: baseUrl + item } |
| 205 | } else { | 206 | } else { |
| 206 | item = { url: item } | 207 | item = { url: item } |
| 208 | } | ||
| 207 | } | 209 | } |
| 208 | } | 210 | return item |
| 209 | return item | 211 | }) |
| 210 | }) | 212 | } else { |
| 211 | } else { | 213 | fileList.value = [] |
| 212 | fileList.value = [] | 214 | return [] |
| 213 | return [] | 215 | } |
| 214 | } | 216 | }, |
| 215 | }, | 217 | { deep: true, immediate: true } |
| 216 | { deep: true, immediate: true } | ||
| 217 | ) | 218 | ) |
| 218 | 219 | ||
| 219 | watch( | 220 | watch( |
| 220 | () => fileList.value.length, | 221 | () => fileList.value.length, |
| 221 | (value) => { | 222 | (value) => { |
| 222 | showUpload.value = value !== props.limit | 223 | showUpload.value = value !== props.limit |
| 223 | }, { deep: true, immediate: true } | 224 | }, { deep: true, immediate: true } |
| 224 | 225 | ||
| 225 | ) | 226 | ) |
| 226 | 227 | ||
| 227 | 228 | ||
| ... | @@ -259,7 +260,7 @@ function beforeUpload(file) { | ... | @@ -259,7 +260,7 @@ function beforeUpload(file) { |
| 259 | } | 260 | } |
| 260 | if (file.type.indexOf('image/') == -1) { | 261 | if (file.type.indexOf('image/') == -1) { |
| 261 | proxy.$modal.msgError( | 262 | proxy.$modal.msgError( |
| 262 | '文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。' | 263 | '文件格式错误,请上传图片类型,如:JPG,PNG后缀的文件。' |
| 263 | ) | 264 | ) |
| 264 | } else { | 265 | } else { |
| 265 | const reader = new FileReader() | 266 | const reader = new FileReader() |
| ... | @@ -281,7 +282,7 @@ function uploadImg() { | ... | @@ -281,7 +282,7 @@ function uploadImg() { |
| 281 | open.value = false | 282 | open.value = false |
| 282 | visible.value = false | 283 | visible.value = false |
| 283 | } | 284 | } |
| 284 | 285 | ||
| 285 | 286 | ||
| 286 | // request({ | 287 | // request({ |
| 287 | // url: '/upload/uploadImgToLocalServer', | 288 | // url: '/upload/uploadImgToLocalServer', | ... | ... |
| ... | @@ -352,9 +352,11 @@ | ... | @@ -352,9 +352,11 @@ |
| 352 | <el-row align="middle" justify="space-between"> | 352 | <el-row align="middle" justify="space-between"> |
| 353 | <el-col :lg="12"> | 353 | <el-col :lg="12"> |
| 354 | <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}:{{ form.payDate }}</div> | 354 | <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}:{{ form.payDate }}</div> |
| 355 | <div v-if="form.payDate" class="mt10">{{ language == 0 ? '支付方式' : 'Payment Method' }}: | 355 | <div class="mt10">{{ language == 0 ? '支付方式' : 'Payment Method' }}: |
| 356 | <span v-if="form.paymentType=='1'">{{ language == 0 ? '微信支付' : 'WePay' }}</span> | 356 | <span v-if="form.paymentType=='1'">{{ language == 0 ? '微信支付' : 'WePay' }}</span> |
| 357 | <span v-if="form.paymentType=='3'">PayPal</span> | 357 | <span v-else-if="form.paymentType=='3'">PayPal</span> |
| 358 | <span v-else-if="form.paymentType=='4'|| form.paymentType=='5'">{{language == 0 ?'对公转账':'Bank Transfer'}}</span> | ||
| 359 | <span v-else>--</span> | ||
| 358 | </div> | 360 | </div> |
| 359 | </el-col> | 361 | </el-col> |
| 360 | <el-col :lg="12" class="result"> | 362 | <el-col :lg="12" class="result"> |
| ... | @@ -410,7 +412,7 @@ | ... | @@ -410,7 +412,7 @@ |
| 410 | </el-button> | 412 | </el-button> |
| 411 | </div> | 413 | </div> |
| 412 | 414 | ||
| 413 | <div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')" class="pd20"> | 415 | <div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')&&form.paymentType!='4'&&form.paymentType!='5'" class="pd20"> |
| 414 | 416 | ||
| 415 | <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div> | 417 | <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div> |
| 416 | <div class="mt20"> | 418 | <div class="mt20"> |
| ... | @@ -457,6 +459,12 @@ | ... | @@ -457,6 +459,12 @@ |
| 457 | fill="#003087" p-id="22662"></path> | 459 | fill="#003087" p-id="22662"></path> |
| 458 | </svg> | 460 | </svg> |
| 459 | </el-radio> | 461 | </el-radio> |
| 462 | <el-radio value="4" v-if="language==0&&type=='hotel'" border> | ||
| 463 | 对公打款 | ||
| 464 | </el-radio> | ||
| 465 | <el-radio value="5" v-if="language==1&&type=='hotel'" border> | ||
| 466 | Corporate payment | ||
| 467 | </el-radio> | ||
| 460 | </el-radio-group> | 468 | </el-radio-group> |
| 461 | <div v-if="payType == '2'&&wePayCodeUrl"> | 469 | <div v-if="payType == '2'&&wePayCodeUrl"> |
| 462 | <div class="payImgbox flexCenter"> | 470 | <div class="payImgbox flexCenter"> |
| ... | @@ -481,6 +489,29 @@ | ... | @@ -481,6 +489,29 @@ |
| 481 | </div> | 489 | </div> |
| 482 | </div> | 490 | </div> |
| 483 | </div> | 491 | </div> |
| 492 | |||
| 493 | <!-- 线下支付且待支付状态--> | ||
| 494 | <el-row v-if="(form.paymentType=='4'|| form.paymentType=='5')&&form.viewStatus=='0'" class="proofBox"> | ||
| 495 | <el-col :lg="12"> | ||
| 496 | <div class="flex"> | ||
| 497 | <label style="width: 10em"> | ||
| 498 | {{ language==0?'上传缴费凭证:':'Upload proof:' }} | ||
| 499 | </label> | ||
| 500 | <file-upload :is-show-tip="false" v-model="form.pic" :limit="1"/> | ||
| 501 | </div> | ||
| 502 | </el-col> | ||
| 503 | <el-col :lg="12"> | ||
| 504 | <el-button class="fr" text type="primary" @click="downOfflineInvoice" icon="download"> | ||
| 505 | {{ language == 0 ? '下载缴费单' : 'Download Invoice' }} | ||
| 506 | </el-button> | ||
| 507 | </el-col> | ||
| 508 | <!-- 如果没审批通过--> | ||
| 509 | <el-col :lg="24" align="center" justify="center"> | ||
| 510 | <el-button round type="primary" @click="submitProof">提交凭证</el-button> | ||
| 511 | </el-col> | ||
| 512 | </el-row> | ||
| 513 | |||
| 514 | |||
| 484 | <el-row align="middle" class="mt20 mb60" justify="center"> | 515 | <el-row align="middle" class="mt20 mb60" justify="center"> |
| 485 | <el-col :span="24" class="text-center"> | 516 | <el-col :span="24" class="text-center"> |
| 486 | <el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary" | 517 | <el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary" |
| ... | @@ -493,6 +524,7 @@ | ... | @@ -493,6 +524,7 @@ |
| 493 | <el-button v-if="form.viewStatus == '0'" class="underline" link @click="cancel"> | 524 | <el-button v-if="form.viewStatus == '0'" class="underline" link @click="cancel"> |
| 494 | {{ language == 0 ? '取消订单' : 'Cancel Order' }} | 525 | {{ language == 0 ? '取消订单' : 'Cancel Order' }} |
| 495 | </el-button> | 526 | </el-button> |
| 527 | |||
| 496 | </el-col> | 528 | </el-col> |
| 497 | </el-row> | 529 | </el-row> |
| 498 | 530 | ||
| ... | @@ -540,6 +572,19 @@ | ... | @@ -540,6 +572,19 @@ |
| 540 | </div> | 572 | </div> |
| 541 | </div> | 573 | </div> |
| 542 | </el-dialog> | 574 | </el-dialog> |
| 575 | <el-dialog v-model="showOfflineSuccessDialog" :title="language==0?'提示':'Tip'" width="460px"> | ||
| 576 | <el-result | ||
| 577 | :sub-title="language==0?'请在7日内上传凭证,否则订单取消':'Please upload the payment receipt within 7 days, otherwise the order will be cancelled'" | ||
| 578 | :title="language==0?'订单已提交':'Order submitted'" | ||
| 579 | icon="success" | ||
| 580 | > | ||
| 581 | <template #extra> | ||
| 582 | <el-button class="btn-lineG w200px" round type="primary" @click="downOfflineInvoice"> | ||
| 583 | {{ language == 0 ? '下载缴费单' : 'Download Invoice' }} | ||
| 584 | </el-button> | ||
| 585 | </template> | ||
| 586 | </el-result> | ||
| 587 | </el-dialog> | ||
| 543 | </div> | 588 | </div> |
| 544 | </template> | 589 | </template> |
| 545 | 590 | ||
| ... | @@ -563,16 +608,24 @@ const payType = ref('2') | ... | @@ -563,16 +608,24 @@ const payType = ref('2') |
| 563 | const orderId = ref(route.query.orderId) | 608 | const orderId = ref(route.query.orderId) |
| 564 | const matchId = ref() | 609 | const matchId = ref() |
| 565 | const groupId = ref() | 610 | const groupId = ref() |
| 611 | const proofUrl = ref() | ||
| 566 | import useUserStore from "@/store/modules/user"; | 612 | import useUserStore from "@/store/modules/user"; |
| 567 | import FileUpload from "@/components/FileUpload"; | 613 | import FileUpload from "@/components/FileUpload"; |
| 568 | import {useStorage} from "@vueuse/core/index"; | 614 | import {useStorage} from "@vueuse/core/index"; |
| 569 | import {ElMessage, ElMessageBox} from "element-plus"; | 615 | import {ElMessage, ElMessageBox} from "element-plus"; |
| 570 | import { | 616 | import { |
| 571 | cancelOrder, | 617 | cancelOrder, |
| 572 | cancelOrder2, getBaseInfoByActiveId, | 618 | cancelOrder2, |
| 619 | createOfflinePay, | ||
| 620 | getBaseInfoByActiveId, | ||
| 573 | getCarBilldetailbyId, | 621 | getCarBilldetailbyId, |
| 574 | getFoodBilldetailbyId, | 622 | getFoodBilldetailbyId, |
| 575 | getMealOrderInfoByLogex, getPhotoOrderInfo, getPhotoOrderInfoByLogex, getTicketInfoByActivityId, getTicketOrderInfo, | 623 | getMealOrderInfoByLogex, |
| 624 | getPhotoOrderInfo, | ||
| 625 | getPhotoOrderInfoByLogex, | ||
| 626 | getRoomBillPayment, | ||
| 627 | getTicketInfoByActivityId, | ||
| 628 | getTicketOrderInfo, renewalProof, | ||
| 576 | } from "@/apiPc/booking"; | 629 | } from "@/apiPc/booking"; |
| 577 | import dayjs from 'dayjs' | 630 | import dayjs from 'dayjs' |
| 578 | import {delPerson} from "@/api/exam/person"; | 631 | import {delPerson} from "@/api/exam/person"; |
| ... | @@ -588,6 +641,7 @@ const errorBox = ref(false) | ... | @@ -588,6 +641,7 @@ const errorBox = ref(false) |
| 588 | const hideconfirmbtn = ref(false) | 641 | const hideconfirmbtn = ref(false) |
| 589 | const remark = ref('') | 642 | const remark = ref('') |
| 590 | const showSJDialog = ref(false) | 643 | const showSJDialog = ref(false) |
| 644 | const showOfflineSuccessDialog = ref(false) | ||
| 591 | const loading = ref(false) | 645 | const loading = ref(false) |
| 592 | const lpName = ref('') | 646 | const lpName = ref('') |
| 593 | const matchForm = ref({}) | 647 | const matchForm = ref({}) |
| ... | @@ -671,6 +725,10 @@ function getData() { | ... | @@ -671,6 +725,10 @@ function getData() { |
| 671 | form.value.messageObj = JSON.parse(form.value.message) || {} | 725 | form.value.messageObj = JSON.parse(form.value.message) || {} |
| 672 | form.value.extJsonObj = JSON.parse(form.value.extJson) || {} | 726 | form.value.extJsonObj = JSON.parse(form.value.extJson) || {} |
| 673 | matchId.value = form.value.extJsonObj?.activeId | 727 | matchId.value = form.value.extJsonObj?.activeId |
| 728 | //如果对公打款- | ||
| 729 | if(form.value.paymentType=='4' || form.value.paymentType=='5'){ | ||
| 730 | hideconfirmbtn.value = true | ||
| 731 | } | ||
| 674 | }).catch(err => { | 732 | }).catch(err => { |
| 675 | console.log(err) | 733 | console.log(err) |
| 676 | errorBox.value = true | 734 | errorBox.value = true |
| ... | @@ -738,6 +796,17 @@ function goPay() { | ... | @@ -738,6 +796,17 @@ function goPay() { |
| 738 | } | 796 | } |
| 739 | }) | 797 | }) |
| 740 | } | 798 | } |
| 799 | if (payType.value == '4' || payType.value == '5') { | ||
| 800 | //对公打款 | ||
| 801 | booking.createOfflinePay({orderId: orderId.value}).then(res => { | ||
| 802 | console.log(res) | ||
| 803 | // booking.getRoomBillPayment({orderId: orderId.value}).then(res => { | ||
| 804 | // 显示付款单信息-上传凭证 | ||
| 805 | hideconfirmbtn.value = true | ||
| 806 | showOfflineSuccessDialog.value = true | ||
| 807 | // }) | ||
| 808 | }) | ||
| 809 | } | ||
| 741 | } | 810 | } |
| 742 | 811 | ||
| 743 | let handle; | 812 | let handle; |
| ... | @@ -942,6 +1011,33 @@ const showSJ = () => { | ... | @@ -942,6 +1011,33 @@ const showSJ = () => { |
| 942 | showSJDialog.value = false | 1011 | showSJDialog.value = false |
| 943 | getData() | 1012 | getData() |
| 944 | } | 1013 | } |
| 1014 | |||
| 1015 | const downOfflineInvoice = () => { | ||
| 1016 | //下载 对公转账缴费单 | ||
| 1017 | var obj = { | ||
| 1018 | orderId: orderId.value | ||
| 1019 | } | ||
| 1020 | proxy.download(`/ota/orderRoom/exportRoomBillPayment`, { | ||
| 1021 | ...obj | ||
| 1022 | }, `Invoice_${new Date().getTime()}.pdf`) | ||
| 1023 | } | ||
| 1024 | const submitProof = () => { | ||
| 1025 | //提交凭证 | ||
| 1026 | if(!form.value.pic){ | ||
| 1027 | ElMessage.warning(language.value == 0 ? '请上传凭证' : 'Please upload a voucher') | ||
| 1028 | return | ||
| 1029 | } | ||
| 1030 | booking.renewalProof({ | ||
| 1031 | id: orderId.value, | ||
| 1032 | pic: form.value.pic[0]?.url | ||
| 1033 | }).then(res => { | ||
| 1034 | ElMessage.success({ | ||
| 1035 | message: language.value == 0 ? '凭证提交成功' : 'Voucher submission successful', | ||
| 1036 | type: 'success' | ||
| 1037 | }) | ||
| 1038 | getData() | ||
| 1039 | }) | ||
| 1040 | } | ||
| 945 | </script> | 1041 | </script> |
| 946 | 1042 | ||
| 947 | <style lang="scss" scoped> | 1043 | <style lang="scss" scoped> |
| ... | @@ -1109,4 +1205,5 @@ const showSJ = () => { | ... | @@ -1109,4 +1205,5 @@ const showSJ = () => { |
| 1109 | .price { | 1205 | .price { |
| 1110 | color: orange; | 1206 | color: orange; |
| 1111 | } | 1207 | } |
| 1208 | .proofBox{padding: 20px;margin: 0 20px;border: 1px dashed #999;} | ||
| 1112 | </style> | 1209 | </style> | ... | ... |
| ... | @@ -114,7 +114,7 @@ | ... | @@ -114,7 +114,7 @@ |
| 114 | </span> | 114 | </span> |
| 115 | </el-col> | 115 | </el-col> |
| 116 | <el-col :lg="6" :md="16" :sm="16" :xs="16"> | 116 | <el-col :lg="6" :md="16" :sm="16" :xs="16"> |
| 117 | <div class="text-right mb20 text-danger"> | 117 | <div class="text-right mb20 text-danger" v-if="b.paymentType!='4'&&b.paymentType!='5'"> |
| 118 | <el-countdown | 118 | <el-countdown |
| 119 | v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" | 119 | v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" |
| 120 | :value="b.countdown" | 120 | :value="b.countdown" |
| ... | @@ -134,7 +134,8 @@ | ... | @@ -134,7 +134,8 @@ |
| 134 | </el-button> | 134 | </el-button> |
| 135 | <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10" | 135 | <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10" |
| 136 | plain round size="small" type="primary" @click="goDetail(b)"> | 136 | plain round size="small" type="primary" @click="goDetail(b)"> |
| 137 | {{ language == 0 ? '支付' : 'Pay' }} | 137 | <span v-if="b.paymentType=='4'||b.paymentType=='5'">{{language == 0 ? '上传凭证' : 'Upload Receipt'}}</span> |
| 138 | <span v-else>{{ language == 0 ? '支付' : 'Pay' }}</span> | ||
| 138 | </el-button> | 139 | </el-button> |
| 139 | <el-button v-if="b.viewStatus==0" class="mb10" plain round size="small" type="warning" | 140 | <el-button v-if="b.viewStatus==0" class="mb10" plain round size="small" type="warning" |
| 140 | @click="cancel(b)"> | 141 | @click="cancel(b)"> | ... | ... |
| ... | @@ -154,7 +154,7 @@ function popRemark(type) { | ... | @@ -154,7 +154,7 @@ function popRemark(type) { |
| 154 | if(type == '0'){ | 154 | if(type == '0'){ |
| 155 | // 签证 | 155 | // 签证 |
| 156 | if(language.value === 0){ | 156 | if(language.value === 0){ |
| 157 | ElMessage.warning('请切换英文页面办理,仅英文页面可以点击') | 157 | ElMessage.warning('请切换英文页面办理') |
| 158 | return | 158 | return |
| 159 | } else { | 159 | } else { |
| 160 | applyInvitation() | 160 | applyInvitation() |
| ... | @@ -235,7 +235,6 @@ function goBooking(n) { | ... | @@ -235,7 +235,6 @@ function goBooking(n) { |
| 235 | margin: 0 5%;width: 75px;height: 75px; | 235 | margin: 0 5%;width: 75px;height: 75px; |
| 236 | } | 236 | } |
| 237 | } | 237 | } |
| 238 | .itemBox_en{} | ||
| 239 | .itemBox_en .item { | 238 | .itemBox_en .item { |
| 240 | flex-direction: column;text-align: center;text-transform: uppercase; | 239 | flex-direction: column;text-align: center;text-transform: uppercase; |
| 241 | height: 100%; | 240 | height: 100%; |
| ... | @@ -258,8 +257,9 @@ height: 100%; | ... | @@ -258,8 +257,9 @@ height: 100%; |
| 258 | } | 257 | } |
| 259 | 258 | ||
| 260 | @media screen and (max-width: 768px) { | 259 | @media screen and (max-width: 768px) { |
| 261 | .itemBox,.itemBox_en{padding: 0 20px 20px} | 260 | .itemBox,.itemBox_en{padding: 0 20px 0} |
| 262 | .item{font-size: 16px; | 261 | .item{font-size: 16px;height: auto !important; |
| 262 | padding: 15px 0; | ||
| 263 | img{width: 50px;height: 50px} | 263 | img{width: 50px;height: 50px} |
| 264 | } | 264 | } |
| 265 | } | 265 | } | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -142,7 +142,7 @@ function popRemark(type) { | ... | @@ -142,7 +142,7 @@ function popRemark(type) { |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | if (type === 0 && language.value === 0) { //签证服务 | 144 | if (type === 0 && language.value === 0) { //签证服务 |
| 145 | ElMessage.warning('请切换英文页面办理,仅英文页面可以点击') | 145 | ElMessage.warning('请切换英文页面办理') |
| 146 | return | 146 | return |
| 147 | } | 147 | } |
| 148 | 148 | ... | ... |
-
Please register or sign in to post a comment