fix:新增通道调整
This commit is contained in:
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "يرجى تأكيد ما إذا كنت ترغب في متابعة تقديم طلب السحب هذا",
|
||||
"importantNoteBtn": "إلغاء الطلب",
|
||||
"importantNoteBtn2": "أنا أدرك وأرغب في المتابعة",
|
||||
"dearCustomer": "عزيزي العميل"
|
||||
"dearCustomer": "عزيزي العميل",
|
||||
"optionPayment":"طريقة الدفع",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "الشركاء",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "Please confirm if you wish to proceed with this withdrawal request. ",
|
||||
"importantNoteBtn": "Cancel Request",
|
||||
"importantNoteBtn2": "I Acknowledge and Proceed",
|
||||
"dearCustomer": "Dear Client,"
|
||||
"dearCustomer": "Dear Client,",
|
||||
"optionPayment":"Payment method",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "Partners",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "Confirme si desea continuar con esta solicitud de retiro",
|
||||
"importantNoteBtn": "Cancelar solicitud",
|
||||
"importantNoteBtn2": "Entiendo y deseo continuar",
|
||||
"dearCustomer": "Estimado cliente"
|
||||
"dearCustomer": "Estimado cliente",
|
||||
"optionPayment":"Método de pago",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "Socios",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "कृपया पुष्टि करें कि क्या आप इस निकासी अनुरोध को आगे बढ़ाना चाहते हैं।",
|
||||
"importantNoteBtn": "अनुरोध रद्द करेंं",
|
||||
"importantNoteBtn2": "मैं स्वीकार करता हूँ और जारी रखता हूँ",
|
||||
"dearCustomer": "प्रप्रिय ग्राहक,"
|
||||
"dearCustomer": "प्रप्रिय ग्राहक,",
|
||||
"optionPayment":"भुगतान विधि",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "साथी",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "Harap konfirmasi jika Anda ingin melanjutkan permintaan penarikan ini.",
|
||||
"importantNoteBtn": "Batalkan Permintaan",
|
||||
"importantNoteBtn2": "Saya Mengerti dan Lanjutkan",
|
||||
"dearCustomer": "Dear Client,"
|
||||
"dearCustomer": "Dear Client,",
|
||||
"optionPayment":"Metode pembayaran",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "Rekanan",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "출금 요청을 계속 진행하시겠습니까?",
|
||||
"importantNoteBtn": "요청 취소",
|
||||
"importantNoteBtn2": "확인하고 진행합니다",
|
||||
"dearCustomer": "고객님께,"
|
||||
"dearCustomer": "고객님께,",
|
||||
"optionPayment":"결제 방법",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "파트너",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "โปรดยืนยันหากท่านต้องการดำเนินการคำขอนี้ต่อไป",
|
||||
"importantNoteBtn": "ยกเลิกคำขอ",
|
||||
"importantNoteBtn2": "ยืนยันและดำเนินการต่อ",
|
||||
"dearCustomer": "เรียน คุณลูกค้าที่เคารพ,"
|
||||
"dearCustomer": "เรียน คุณลูกค้าที่เคารพ,",
|
||||
"optionPayment":"วิธีการชำระเงิน",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "พันธมิตร",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "Vui lòng xác nhận nếu bạn muốn tiếp tục yêu cầu rút tiền này.",
|
||||
"importantNoteBtn": "Hủy yêu cầu",
|
||||
"importantNoteBtn2": "Tôi xác nhận và tiến hành",
|
||||
"dearCustomer": "Kính gửi Quý khách hàng"
|
||||
"dearCustomer": "Kính gửi Quý khách hàng",
|
||||
"optionPayment":"Phương thức thanh toán",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "Đối tác",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2":"请确认是否继续提交本次出金申请",
|
||||
"importantNoteBtn":"取消申请",
|
||||
"importantNoteBtn2":"我已知晓并继续",
|
||||
"dearCustomer":"尊敬的客户,"
|
||||
"dearCustomer":"尊敬的客户,",
|
||||
"optionPayment":"支付方式",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "合作伙伴",
|
||||
|
@ -579,7 +579,8 @@ export default {
|
||||
"importantNote2": "請確認是否繼續提交本次出金申請。",
|
||||
"importantNoteBtn": "取消申請",
|
||||
"importantNoteBtn2": "我已知曉並繼續",
|
||||
"dearCustomer": "尊敬的客戶,"
|
||||
"dearCustomer": "尊敬的客戶,",
|
||||
"optionPayment":"支付方式",
|
||||
},
|
||||
"partner": {
|
||||
"pageTitle": "合作夥伴",
|
||||
|
@ -54,8 +54,8 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :lg="12" >
|
||||
<el-form-item :label="t('capital.agencyMtLogin')" prop="pay_agency" v-if="channel && channel.pay_code.indexOf('LDAgency')>=0" >
|
||||
<el-col :md="24" :lg="12" v-if="channel && channel.pay_code.indexOf('LDAgency')>=0">
|
||||
<el-form-item :label="t('capital.agencyMtLogin')" prop="pay_agency" >
|
||||
<el-select
|
||||
v-model="form.pay_agency"
|
||||
:placeholder="t('common.selectChoose')"
|
||||
@ -71,6 +71,22 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :lg="12" v-if="channel && channel.pay_code.indexOf('PayOK')>=0">
|
||||
<el-form-item :label="t('capital.optionPayment')" prop="option_payment" >
|
||||
<el-select
|
||||
v-model="form.option_payment"
|
||||
:placeholder="t('capital.optionPayment')"
|
||||
:clearable="false"
|
||||
style="width: 100%"
|
||||
value-key="id"
|
||||
>
|
||||
<template #empty>
|
||||
<div style="min-height: 40px;padding: 1px 15px;line-height: 40px;font-size: 14px;" >{{ t('capital.payNotCurrencyPleaseOther') }}</div>
|
||||
</template>
|
||||
<el-option v-for="(item, index) in payOkMethod" :key="index" :label="item.name" :value="item.code" ></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :lg="12" >
|
||||
<el-form-item :label="t('capital.usdAmount')" prop="usd_amount" >
|
||||
<el-input type="number" v-model="form.usd_amount" min="0" @input="handleAmount" @mousewheel.native.prevent style="width: 100%" />
|
||||
@ -135,6 +151,10 @@
|
||||
<div v-show="step == 6">
|
||||
<remittance3 :data="remittanceInfo" @last-step="handleLastStep" @submit="handleSubmit" />
|
||||
</div>
|
||||
<!-- one2Pay -->
|
||||
<div v-show="step == 7">
|
||||
<one2Pay :data="remittanceInfo" @last-step="handleLastStep" @submit="handleSubmit" />
|
||||
</div>
|
||||
<!-- LDAgency -->
|
||||
<div v-show="step == 4" style="padding: 0 150px;">
|
||||
<remittance-ld-agency :data="remittanceInfo" @last-step="handleLastStep" @submit="handleSubmit" />
|
||||
@ -165,6 +185,7 @@ import Remittance from './remittance'
|
||||
import Remittance2 from './remittance2'
|
||||
import Remittance3 from './remittance3'
|
||||
import RemittanceLdAgency from './remittanceLDAgency'
|
||||
import One2Pay from "@/views/capital/payChannel/one2Pay.vue";
|
||||
|
||||
const emit = defineEmits(['close-channel'])
|
||||
const { proxy } = getCurrentInstance();
|
||||
@ -177,6 +198,54 @@ const payAgencyList = ref([])
|
||||
const currencyList = ref([])
|
||||
const exchangeRate = ref(null)
|
||||
let exchange_rate_sign = null
|
||||
const payOkMethod = ref([])
|
||||
const payOkMethodVND = ref([
|
||||
{"code":"ATM/Visa Master Card","name":"ATM/Visa Master Card"},
|
||||
{"name":"OFFLINEPAY","code":"OFFLINEPAY"},
|
||||
{"name":"Garena","code":"Garena"},
|
||||
{"name":"Gate","code":"Gate"},
|
||||
{"name":"Mobifone","code":"Mobifone"},
|
||||
{"name":"Vcoin","code":"Vcoin"},
|
||||
{"name":"Vietnamobile","code":"Vietnamobile"},
|
||||
{"name":"Viettel","code":"Viettel"},
|
||||
{"name":"Vinaphone","code":"Vinaphone"},
|
||||
{"name":"Zing","code":"Zing"},
|
||||
{"name":"BankVA","code":"BankVA"},
|
||||
{"name":"ACBVietQR","code":"ACBVietQR"},
|
||||
{"name":"AGRIBankQR","code":"AGRIBankQR"},
|
||||
{"name":"BIDVQR","code":"BIDVQR"},
|
||||
{"name":"MBVietQR","code":"MBVietQR"},
|
||||
{"name":"PVcombankQR","code":"PVcombankQR"},
|
||||
{"name":"TechcomVietQR","code":"TechcomVietQR"},
|
||||
{"name":"TPBankQR","code":"TPBankQR"},
|
||||
{"name":"VIBBankQR","code":"VIBBankQR"},
|
||||
{"name":"VietcomQR","code":"VietcomQR"},
|
||||
{"name":"VietinBankQR","code":"VietinBankQR"},
|
||||
{"name":"VPBankQR","code":"VPBankQR"},
|
||||
{"name":"Momo","code":"Momo"},
|
||||
{"name":"ViettelPay","code":"ViettelPay"},
|
||||
{"name":"ZaloPay","code":"ZaloPay"},
|
||||
])
|
||||
|
||||
const payOkMethodIDR = ref([
|
||||
{"code":"Alfamart","name":"Alfamart"},
|
||||
{"code":"Indomaret","name":"Indomaret"},
|
||||
{"code":"CreditCard","name":"CreditCard"},
|
||||
{"code":"ConvenienceStore","name":"ConvenienceStore"},
|
||||
{"code":"QRIS","name":"QRIS"},
|
||||
{"code":"BCAVA","name":"BCAVA"},
|
||||
{"code":"BNIVA","name":"BNIVA"},
|
||||
{"code":"BRIVA","name":"BRIVA"},
|
||||
{"code":"CIMBVA","name":"CIMBVA"},
|
||||
{"code":"MandiriVA","name":"MandiriVA"},
|
||||
{"code":"PermataVA","name":"PermataVA"},
|
||||
{"code":"DANAWALLET","name":"DANAWALLET"},
|
||||
{"code":"LINKAJA-APP","name":"LINKAJA-APP"},
|
||||
{"code":"LINKAJA-WEB","name":"LINKAJA-WEB"},
|
||||
{"code":"OVOWALLET","name":"OVOWALLET"},
|
||||
{"code":"SHOPEEPAY-APP","name":"SHOPEEPAY-APP"},
|
||||
{"code":"SHOPEEPAY-WEB","name":"SHOPEEPAY-WEB"},
|
||||
])
|
||||
|
||||
const subsidy = ref(null)
|
||||
const subsidy_amount = computed(() => {
|
||||
@ -230,7 +299,8 @@ const form = ref({
|
||||
currency_type: null,
|
||||
usd_amount: null,
|
||||
mt4_server: null,
|
||||
mt4_login: null
|
||||
mt4_login: null,
|
||||
option_payment:null
|
||||
})
|
||||
|
||||
const rules = ref({
|
||||
@ -242,6 +312,7 @@ const rules = ref({
|
||||
],
|
||||
currency_type: [{ required: true, message: "", trigger: "blur" }],
|
||||
pay_agency: [{ required: true, message: "", trigger: "blur" }],
|
||||
option_payment: [{ required: true, message: "", trigger: "blur" }],
|
||||
})
|
||||
|
||||
let ioGoldConf = {}
|
||||
@ -354,6 +425,17 @@ function currencyTypeChange() {
|
||||
getSubsidy(form.value.pay_agency?form.value.pay_agency.id:null)
|
||||
})
|
||||
}
|
||||
|
||||
if (payChannel && payChannel.pay_code.indexOf('PayOK')>=0) {
|
||||
if(form.value.currency_type == 'VND'){
|
||||
payOkMethod.value = payOkMethodVND.value
|
||||
}else if (form.value.currency_type == 'IDR'){
|
||||
payOkMethod.value = payOkMethodIDR.value
|
||||
}else {
|
||||
payOkMethod.value = []
|
||||
}
|
||||
}
|
||||
|
||||
if (isEmpty(form.value.currency_type)) {
|
||||
exchangeRate.value = null
|
||||
} else {
|
||||
@ -517,7 +599,7 @@ function doGoldIn() {
|
||||
proxy.$refs["formRef"].validate(valid => {
|
||||
if (valid) {
|
||||
payLoading.value = true
|
||||
const { act_id, pay_channel, mt4_server, mt4_login, usd_amount, currency_type, pay_agency } = form.value
|
||||
const { act_id, pay_channel, mt4_server, mt4_login, usd_amount, currency_type, pay_agency, option_payment } = form.value
|
||||
goldInSave({
|
||||
act_id, pay_channel, mt4_server, mt4_login, usd_amount, currency_type,
|
||||
pay_agency: pay_agency ? pay_agency.id : null,
|
||||
@ -526,7 +608,8 @@ function doGoldIn() {
|
||||
currency_amount: currencyAmount.value,
|
||||
usd_service_charge: 0,
|
||||
language: serverLang(),
|
||||
exchange_rate_sign: exchange_rate_sign
|
||||
exchange_rate_sign: exchange_rate_sign,
|
||||
option_payment: option_payment
|
||||
}).then(resp => {
|
||||
toOpenPay(resp)
|
||||
}).catch(() => {
|
||||
@ -608,6 +691,17 @@ function toOpenPay(json) {
|
||||
}).catch(() => {
|
||||
payLoading.value = false
|
||||
})
|
||||
} else if (pay_channel=='One2Pay') {
|
||||
if (patams.status==0 || patams.status=='0'){
|
||||
patams.currency_amount = currencyAmount.value
|
||||
remittanceInfo.value = patams
|
||||
step.value = 7
|
||||
}else {
|
||||
window.showTip({
|
||||
title: patams.msg,
|
||||
status: 'error'
|
||||
})
|
||||
}
|
||||
} else if (pay_channel.indexOf('LDAgency')>=0) {
|
||||
remittanceSign({
|
||||
qcc_language: serverLang(),
|
||||
@ -623,7 +717,49 @@ function toOpenPay(json) {
|
||||
}).catch(() => {
|
||||
payLoading.value = false
|
||||
})
|
||||
}else if (pay_channel == 'ForcePay' || pay_channel == 'AbaPay'){
|
||||
window.open(patams)
|
||||
}else if (pay_channel == 'PayOK' || pay_channel == 'DidaPay' || pay_channel == 'PaySpec' || pay_channel == 'RediPay' || pay_channel == 'CCPay' || pay_channel == 'TokenPay'){
|
||||
if(patams.status==0 || patams.status=='0'){
|
||||
let payUrl = patams.payUrl
|
||||
window.open(payUrl)
|
||||
}else{
|
||||
window.showTip({
|
||||
title: patams.msg,
|
||||
status: 'error'
|
||||
})
|
||||
}
|
||||
}else if (pay_channel == 'EBitPay'){
|
||||
let payUrl = patams.payUrl
|
||||
delete patams.payUrl
|
||||
let paramStr = '';
|
||||
for (let key in patams){
|
||||
paramStr += "&"+key+"="+patams[key];
|
||||
}
|
||||
paramStr = paramStr.substr(1);
|
||||
window.open( payUrl + "?" + paramStr);
|
||||
}else if (pay_channel=='help2PayMYR' || pay_channel=='help2PayTHB' || pay_channel=='help2PayPHP' || pay_channel=='help2PayIDR' || pay_channel=='Help2Pay'){
|
||||
let payUrl = patams.payUrl;
|
||||
delete patams.payUrl;
|
||||
postOpenWindow2(payUrl , patams);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function postOpenWindow2(url , postData) {
|
||||
var tempform = document.createElement("form");
|
||||
tempform.action = url;
|
||||
tempform.target = "_blank";
|
||||
tempform.method = "post";
|
||||
tempform.style.display = "none";
|
||||
for (var x in postData) {
|
||||
var opt = document.createElement("textarea");
|
||||
opt.name = x;
|
||||
opt.value = postData[x];
|
||||
tempform.appendChild(opt);
|
||||
}
|
||||
document.body.appendChild(tempform);
|
||||
tempform.submit();
|
||||
}
|
||||
|
||||
function handleLastStep() {
|
||||
|
@ -30,7 +30,8 @@
|
||||
<svg-icon icon-class="LDAgencyIcon2" class="channel-icon" v-if="item.active && (index%2)==0" />
|
||||
<svg-icon icon-class="LDAgencyIcon1" class="channel-icon" v-if="!item.active" />
|
||||
</template>
|
||||
<template v-if="item.pay_code=='htfxcashier'">
|
||||
<template v-if="item.pay_code=='htfxcashier' || item.pay_code=='ForcePay' || item.pay_code=='AbaPay' || item.pay_code=='PayOK'
|
||||
|| item.pay_code=='DidaPay' || item.pay_code=='PaySpec' || item.pay_code=='RediPay' || item.pay_code=='CCPay' || item.pay_code=='EBitPay' || item.pay_code=='Help2Pay'">
|
||||
<svg-icon icon-class="htfxcashierIcon3" class="channel-icon" v-if="item.active && (index%2)!=0" />
|
||||
<svg-icon icon-class="htfxcashierIcon2" class="channel-icon" v-if="item.active && (index%2)==0" />
|
||||
<svg-icon icon-class="htfxcashierIcon1" class="channel-icon" v-if="!item.active" />
|
||||
@ -43,7 +44,7 @@
|
||||
<el-text style="font-size: 0.8vw;font-weight: 500;color: rgba(14, 48, 102, 1);">{{ t('capital.subsidyTips') }}</el-text>
|
||||
</div> -->
|
||||
</template>
|
||||
<template v-if="item.pay_code=='htfxcashier3'">
|
||||
<template v-if="item.pay_code=='htfxcashier3' || item.pay_code=='One2Pay'">
|
||||
<!-- <svg-icon icon-class="htfxcashier3Icon3" class="channel-icon" v-if="item.active && (index%2)!=0" style="left: -12px;bottom: -12px;" />
|
||||
<svg-icon icon-class="htfxcashier3Icon2" class="channel-icon" v-if="item.active && (index%2)==0" style="left: -12px;bottom: -12px;" />
|
||||
<svg-icon icon-class="htfxcashier3Icon1" class="channel-icon" v-if="!item.active" style="left: -12px;bottom: -12px;" /> -->
|
||||
|
117
src/views/capital/payChannel/one2Pay.vue
Normal file
117
src/views/capital/payChannel/one2Pay.vue
Normal file
@ -0,0 +1,117 @@
|
||||
<template>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<div style="text-align: center">
|
||||
<div>{{ t('capital.currencyAmount') }}</div>
|
||||
<div class="info-text">{{ props.data?.currency_amount }}</div>
|
||||
</div>
|
||||
<div style="text-align: center;">
|
||||
<div class="template-content">
|
||||
<div class="qr-bg">
|
||||
<div class="img-wrap" v-if="props && props.data">
|
||||
<el-image style="width: 180px; height: 180px" :src="'data:image/png;base64,' + props.data.code_image" fit="contain" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex;align-items: center;justify-content: space-evenly;max-width: 310px;margin: 0 auto;">
|
||||
<!-- <svg-icon icon-class="wxpay" class="payIcon" /> -->
|
||||
<!-- <svg-icon icon-class="alipay" class="payIcon" />-->
|
||||
<!-- <svg-icon icon-class="unionpay" class="payIcon" /> -->
|
||||
<!-- <svg-icon icon-class="huabei" class="payIcon" /> -->
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
import useClipboard from "vue-clipboard3"
|
||||
import { useLocale } from 'element-plus'
|
||||
import { getImgPath } from '@/api/common'
|
||||
import { isEmpty } from '@/utils/htfx'
|
||||
import { onMounted, watch } from 'vue';
|
||||
import RemittanceUpload from '@/components/RemittanceUpload'
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { t } = useLocale()
|
||||
const { toClipboard } = useClipboard()
|
||||
const emit = defineEmits(['last-step', 'submit'])
|
||||
const props = defineProps({
|
||||
data: Object
|
||||
})
|
||||
const baseUrl = ref(null)
|
||||
|
||||
|
||||
|
||||
|
||||
onMounted(()=> {
|
||||
getImgPath().then(resp => {
|
||||
baseUrl.value = resp.data
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-form-item__label) {
|
||||
font-size: 16px !important;
|
||||
font-weight: 400 !important;
|
||||
color: rgba(51, 51, 51, 1);
|
||||
}
|
||||
|
||||
.info-text {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: rgba(51, 51, 51, 1);
|
||||
}
|
||||
|
||||
.countdown-text {
|
||||
font-weight: 700;
|
||||
font-size: 36px;
|
||||
color: rgba(41, 187, 228, 1);
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.sub-btn {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.currency-amount {
|
||||
font-size: 36px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0px;
|
||||
line-height: 55.02px;
|
||||
color: rgba(41, 187, 228, 1);
|
||||
}
|
||||
|
||||
.template-content {
|
||||
padding: 50px 80px;
|
||||
|
||||
.qr-bg {
|
||||
margin: auto;
|
||||
width: 192px;
|
||||
height: 192px;
|
||||
padding: 6px;
|
||||
|
||||
.img-wrap {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.template-content > div {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 0px;
|
||||
line-height: 27px;
|
||||
color: rgba(170, 170, 170, 1);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.payIcon {
|
||||
width: 43px;
|
||||
height: 43px;
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user