费用申请
parent
167defa3ed
commit
29f6965685
@ -0,0 +1,89 @@
|
|||||||
|
<!--
|
||||||
|
* @Description: 操作管理 -> 付费申请 -> 汇率换算组件
|
||||||
|
* @Author: lijj
|
||||||
|
* @Date: 2024-06-20 11:54:04
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-modal class="ds-exchange-rate" v-model:visible="visible" title="币别汇率折算" cancelText="关闭" @ok="handleOk">
|
||||||
|
<div v-for="(item, index) in c2" :key="'cur' + index">
|
||||||
|
<p class="flex">
|
||||||
|
<span class="unit">1{{ c1 }} =</span>
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="item.value"
|
||||||
|
:min="0.000001"
|
||||||
|
:max="99999999"
|
||||||
|
:step="0.000001"
|
||||||
|
string-mode
|
||||||
|
:precision="6"
|
||||||
|
@change="calc1($event, item)"
|
||||||
|
/>
|
||||||
|
{{ item.currency }}
|
||||||
|
</p>
|
||||||
|
<p class="flex">
|
||||||
|
<span class="unit">1{{ item.currency }} =</span>
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="item.value1"
|
||||||
|
:min="0.000001"
|
||||||
|
:max="99999999"
|
||||||
|
:step="0.000001"
|
||||||
|
:precision="6"
|
||||||
|
string-mode
|
||||||
|
@change="calc2($event, item)"
|
||||||
|
/>
|
||||||
|
{{ c1 }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { onMounted, ref, defineEmits, defineProps, watch, defineExpose } from 'vue'
|
||||||
|
import { GetExchangeRate } from '../../api'
|
||||||
|
const emit = defineEmits(['submit'])
|
||||||
|
const visible = ref(false)
|
||||||
|
const value = ref(0)
|
||||||
|
const value1 = ref(0)
|
||||||
|
const handleOk = () => {
|
||||||
|
visible.value = false
|
||||||
|
emit('submit', c2.value)
|
||||||
|
}
|
||||||
|
// 业务币别
|
||||||
|
const c1 = ref()
|
||||||
|
// 要转换的币别集合
|
||||||
|
const c2 = ref([])
|
||||||
|
const init = (currency, list) => {
|
||||||
|
visible.value = true
|
||||||
|
c1.value = currency
|
||||||
|
c2.value = list
|
||||||
|
c2.value.forEach(item => {
|
||||||
|
GetExchangeRate({ currencyFrom: currency, currencyTo: item.currency, feeType: item.feeType }).then(res => {
|
||||||
|
item.value = res.data.rate
|
||||||
|
item.value1 = res.data.reverseRate
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const calc1 = (e, item) => {
|
||||||
|
item.value1 = (1 / e).toFixed(6)
|
||||||
|
}
|
||||||
|
const calc2 = (e, item) => {
|
||||||
|
item.value = (1 / e).toFixed(6)
|
||||||
|
}
|
||||||
|
defineExpose({
|
||||||
|
init
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less">
|
||||||
|
.ds-exchange-rate {
|
||||||
|
.unit {
|
||||||
|
display: inline-block;
|
||||||
|
width: 66px;
|
||||||
|
}
|
||||||
|
.ant-input-number {
|
||||||
|
position: relative;
|
||||||
|
top: -4px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue