index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!-- 交易服务-保税服务-确认付款 -->
  2. <template>
  3. <app-drawer title="确认付款" :width="800" v-model:show="show" :loading="loading" :refresh="refresh">
  4. <el-descriptions :column="2" border v-if="details">
  5. <el-descriptions-item label="单据编号">{{ selectedRow.orderid }}</el-descriptions-item>
  6. <el-descriptions-item label="综合服务费">{{ details.servicefee }}</el-descriptions-item>
  7. <el-descriptions-item label="代缴物流保险费">{{ details.logisticsfee }}</el-descriptions-item>
  8. <el-descriptions-item label="税费保证金">{{ details.taxmargin }}</el-descriptions-item>
  9. <el-descriptions-item label="汇款银行手续费">{{ details.bankfee }}</el-descriptions-item>
  10. <el-descriptions-item label="其它费用">{{ details.otherfee }}</el-descriptions-item>
  11. <el-descriptions-item label="总应收款">{{ details.settleamount }}</el-descriptions-item>
  12. <el-descriptions-item label="预收款">{{ details.advanceamount }}</el-descriptions-item>
  13. <el-descriptions-item label="应收\退款">{{ arrearage.toFixed(2) }}</el-descriptions-item>
  14. <el-descriptions-item label="结算费用详情文件">请下载文件“付款通知书(结算费用).pdf”</el-descriptions-item>
  15. <el-descriptions-item label="账户可用余额" v-if="arrearage >= 0">{{
  16. avaiableMoney.toFixed(2)
  17. }}</el-descriptions-item>
  18. </el-descriptions>
  19. <template #footer>
  20. <el-button @click="onCancel(false)" plain>取消</el-button>
  21. <el-button type="primary" :disabled="disabled" @click="onSubmit">确认</el-button>
  22. </template>
  23. </app-drawer>
  24. </template>
  25. <script lang="ts" setup>
  26. import { shallowRef, PropType, computed } from 'vue'
  27. import { ElMessage } from 'element-plus'
  28. import { useAccountStore } from '@/stores'
  29. import { useBSFWOrderOperate, useBSFWMemberOperate } from '@/business/customs/bonded'
  30. import AppDrawer from '@pc/components/base/drawer/index.vue'
  31. const props = defineProps({
  32. selectedRow: {
  33. type: Object as PropType<Ermcp.GZBSFWOrderRsp>,
  34. required: true
  35. },
  36. })
  37. const { details, getFworderoperate } = useBSFWOrderOperate(props.selectedRow)
  38. const { loading, formData, formSubmit } = useBSFWMemberOperate(props.selectedRow.orderid)
  39. const { avaiableMoney } = useAccountStore()
  40. const show = shallowRef(true)
  41. const refresh = shallowRef(false)
  42. // 应收\退款
  43. const arrearage = computed(() => {
  44. const { settleamount = 0, advanceamount = 0 } = details.value ?? {}
  45. return settleamount - advanceamount
  46. })
  47. const disabled = computed(() => {
  48. return arrearage.value > avaiableMoney.value
  49. })
  50. const onCancel = (isRefresh = false) => {
  51. show.value = false
  52. refresh.value = isRefresh
  53. }
  54. const onSubmit = () => {
  55. formData.OperateType = 4
  56. formSubmit().then(() => {
  57. ElMessage.success('提交成功')
  58. onCancel(true)
  59. }).catch((err) => {
  60. ElMessage.error('提交失败:' + err)
  61. })
  62. }
  63. getFworderoperate()
  64. </script>