4da7ea7d by zrj

8.18 hebing

1 parent 0def89d5
<template>
<div class="pd20">
<div style="margin-bottom: 20px">
<el-button type="primary" @click="downloadAll">合并生成缴费单</el-button>
<!-- <el-button type="primary" @click="showDialog">合并上传缴费单</el-button>-->
</div>
<div v-for="b in list" class="item">
<div class="title">
<el-checkbox v-model="b.ischeck"></el-checkbox>
<label v-if="b.orderType == 0" class="blueTag"> {{ language == 0 ? '酒店' : 'HOTEL' }} </label>
<label v-if="b.orderType == 1" class="purpleTag"> {{ language == 0 ? '车辆' : 'TRANSPORTATION' }} </label>
<label v-if="b.orderType == 2" class="orangeTag"> {{ language == 0 ? '餐饮' : 'DINING' }} </label>
......@@ -140,17 +145,37 @@
</el-col>
</el-row>
</div>
<el-dialog v-model="show" :title="language == 0 ? '上传:' : 'Upload:'" width="1000px">
<div>
<el-row class="proofBox">
<el-col :lg="12">
<div class="flex">
<label style="width: 10em">
{{ language == 0 ? '上传缴费凭证:' : 'Upload proof:' }}
</label>
<file-upload v-model="pf" :is-show-tip="false" :button-text="language==0?'上传文件':'Upload'"/>
</div>
</el-col>
<!-- 如果没审批通过-->
<el-col :lg="24" align="center" justify="center">
<el-button round type="primary" @click="submitProofAll">{{ language == '0' ? '提交凭证' : 'Submit Proof' }}
</el-button>
</el-col>
</el-row>
</div>
</el-dialog>
</div>
</template>
<script setup>
import dayjs from "dayjs";
import {useStorage} from "@vueuse/core";
import {cancelOrder, cancelOrder2} from "/@/apiPc/booking";
import {cancelOrder, cancelOrder2,renewalProof} from "/@/apiPc/booking";
import {ElMessage} from "element-plus";
import {getCurrentInstance} from "@vue/runtime-core";
import {ref} from "vue";
defineProps({
const props = defineProps({
list: {
type: Array,
default: () => []
......@@ -239,6 +264,69 @@ const downInvoice = (row) => {
}, `Invoice_${new Date().getTime()}.pdf`)
}
function downloadAll() {
let selectList = props.list.filter(item => item.ischeck==true)
if (selectList.length > 0) {
let flag = true
let pType = selectList[0].paymentType == 1||selectList[0].paymentType == 4 ? 0 : 1
selectList.forEach(n => {
let nType = n.paymentType == 1||n.paymentType == 4 ? 0 : 1
if (nType != pType) {
flag = false
}
})
if (!flag) {
ElMessage({
message: language.value == 0 ? '存在不同货币结算的订单,无法合并!' : 'Orders with different currency settlements cannot be merged!',
type: 'warning'
})
}
let ids = selectList.map(item => item.id)
downInvoices(ids.join(','), pType)
} else {
ElMessage({
message: language.value == 0 ? '请选择缴费单!' : 'Please select a order!',
type: 'warning'
})
}
}
const downInvoices = (ids,language) => {
proxy.download(`/ota/orderRoom/exportRoomBillPaymentBatch`, {
ids: ids,
language: language,
}, `Invoice_${new Date().getTime()}.pdf`)
}
const show = ref(false)
const pf = ref([])
const submitProofAll = () => {
console.log(pf.value)
// //提交凭证
// if (!pf.value) {
// ElMessage.warning(language.value == 0 ? '请上传凭证' : 'Please upload a voucher')
// return
// }
// booking.renewalProof({
// id: orderId.value,
// pic: form.value.pic[0]?.url
// }).then(res => {
// ElMessage.success({
// message: language.value == 0 ? '凭证提交成功' : 'Voucher submission successful',
// type: 'success'
// })
// getData()
// })
}
const showDialog = () => {
show.value = true
}
</script>
<style lang="scss" scoped>
......@@ -392,4 +480,9 @@ const downInvoice = (row) => {
}
}
.proofBox {
padding: 20px;
margin: 0 20px;
border: 1px dashed #999;
}
</style>
......
......@@ -51,6 +51,7 @@ function getList() {
if ( b.status == '0') {
b.countdown = Number(b.surplus)
}
b.ischeck = false
}
})
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!