115 lines
3.2 KiB
Vue
115 lines
3.2 KiB
Vue
<template>
|
|
<a-drawer
|
|
v-model:visible="vdata.visible"
|
|
title="参数配置"
|
|
width="50%"
|
|
@close="onClose"
|
|
>
|
|
<a-form>
|
|
<a-form-item label="用户号:">
|
|
<a-tag color="blue">{{ vdata.detailData.mchNo }}</a-tag>
|
|
</a-form-item>
|
|
|
|
<a-form-item label="支付参数:">
|
|
<a-textarea
|
|
v-model:value="vdata.detailData.succResParameter"
|
|
disabled="disabled"
|
|
style="height: 100px;color: black"
|
|
/>
|
|
</a-form-item>
|
|
|
|
<a-divider orientation="left"><a-tag color="black">应用配置</a-tag></a-divider>
|
|
|
|
<a-form-item label="参数配置到应用:">
|
|
<a-select v-model:value="vdata.configAppId" class="form-item-content" placeholder="选择应用">
|
|
<a-select-option key="">请选择商户应用</a-select-option>
|
|
<a-select-option v-for="(item) in vdata.mchAppList" :key="item.appId">{{ item.appName }} [{{ item.appId }}]</a-select-option>
|
|
</a-select>
|
|
<a-button size="small" style="margin-left: 20px;" type="primary" :disabled="!vdata.configAppId" @click="configMchAppIdFunc"><save-outlined />配置到应用</a-button>
|
|
</a-form-item>
|
|
</a-form>
|
|
</a-drawer>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { API_URL_MCH_APPLYMENT_LIST, API_URL_MCH_APP, req, $applymentAppConfig, $saveRateConfig } from '@/api/manage'
|
|
import {reactive, getCurrentInstance} from 'vue'
|
|
const { $infoBox } = getCurrentInstance()!.appContext.config.globalProperties
|
|
|
|
|
|
const vdata : any = reactive({
|
|
detailData: {}, // 数据对象
|
|
recordId: null, // 更新对象ID
|
|
visible: false, // 是否显示弹层/抽屉
|
|
mchAppList: [], // 商户app列表
|
|
configAppId: ''
|
|
})
|
|
|
|
function show (recordId) { // 弹层打开事件
|
|
|
|
//重置配置
|
|
vdata.configAppId = ''
|
|
vdata.mchAppList = []
|
|
|
|
vdata.recordId = recordId
|
|
|
|
req.getById(API_URL_MCH_APPLYMENT_LIST, recordId).then( (res) => {
|
|
vdata.detailData = res
|
|
req.list(API_URL_MCH_APP, { pageSize: -1, mchNo: vdata.detailData.mchNo }).then(res2 => {
|
|
vdata.mchAppList = res2.records
|
|
if(vdata.mchAppList.length > 0){
|
|
vdata.configAppId = vdata.mchAppList[0].appId
|
|
}
|
|
})
|
|
|
|
vdata.visible = true
|
|
})
|
|
|
|
}
|
|
|
|
// 配置本系统的app应用配置项
|
|
function configMchAppIdFunc(){
|
|
|
|
if(!vdata.configAppId){
|
|
$infoBox.message.error('请选择商户应用')
|
|
return Promise.reject()
|
|
}
|
|
|
|
return $applymentAppConfig(vdata.recordId, vdata.configAppId).then((res) => {
|
|
$infoBox.message.success('商户应用配置完成, 如商户支付方式未配置,请进行方式配置。 ')
|
|
return Promise.resolve()
|
|
})
|
|
|
|
}
|
|
|
|
function onClose () {
|
|
vdata.visible = false
|
|
}
|
|
|
|
// 配置费率到应用
|
|
function configMchRateAppIdFunc(){
|
|
|
|
if(!vdata.configAppId){
|
|
$infoBox.message.error('请选择商户应用')
|
|
return Promise.reject()
|
|
}
|
|
|
|
// 请求对象
|
|
let configMode = 'agentMch' // 服务商配置商户费率
|
|
let reqObject = {infoId: vdata.configAppId, ifCode: vdata.detailData.ifCode, configMode: configMode, MCHRATE: JSON.parse(vdata.detailData.applyDetailInfo).paywayFeeList}
|
|
return $saveRateConfig(reqObject).then((res) => {
|
|
$infoBox.message.success('费率保存成功')
|
|
})
|
|
|
|
}
|
|
|
|
defineExpose({ show })
|
|
</script>
|
|
<style scoped>
|
|
|
|
.form-item-content{
|
|
width: 70%
|
|
}
|
|
|
|
</style>
|