<template>
|
<LoadingLayout :loading="isLoading">
|
<ProForm :model="form" ref="dialogForm" label-width="130px">
|
<ProFormItemV2
|
label="联系人姓名:"
|
prop="name"
|
:checkRules="[{ message: '请输入联系人姓名' }]"
|
>
|
<ProFormText v-model.trim="form.name" placeholder="请输入联系人姓名"> </ProFormText>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="联系人类型:"
|
prop="name"
|
:checkRules="[{ message: '请选择联系人类型' }]"
|
>
|
<ProFormRadio v-model.trim="form.name" :value-enum="[]" button-style />
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="业务办理授权函:"
|
prop="url"
|
:check-rules="[{ type: 'upload', message: '请上传业务办理授权函' }]"
|
>
|
<div style="display: flex">
|
<ProFormUpload
|
v-model:file-url="form.url"
|
:limit="1"
|
:limitFileSize="10"
|
accept="png,jpg,jpeg,pdf"
|
></ProFormUpload>
|
<el-button style="margin-left: 10px" type="primary" link @click="downloadTemplate"
|
>模板下载</el-button
|
>
|
</div>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="手机号:"
|
prop="name"
|
:checkRules="[{ type: 'phone', message: '请输入手机号' }]"
|
>
|
<ProFormText v-model.trim="form.name" placeholder="请输入手机号" />
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="电子邮箱:"
|
prop="name"
|
:checkRules="[{ type: 'email', message: '请输入电子邮箱' }]"
|
>
|
<ProFormText v-model.trim="form.name" placeholder="请输入电子邮箱" />
|
</ProFormItemV2>
|
<ProFormItemV2 label="主体类型:" prop="name" :checkRules="[{ message: '请选择主体类型' }]">
|
<ProFormSelect v-model="form.name" :valueEnum="[]" placeholder="请选择主体类型">
|
</ProFormSelect>
|
</ProFormItemV2>
|
<ProFormItemV2 label="商户简称:" prop="name" :checkRules="[{ message: '请输入商户简称' }]">
|
<ProFormText
|
:maxlength="64"
|
show-word-limit
|
v-model.trim="form.name"
|
placeholder="请输入商户简称"
|
/>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="客服电话:"
|
prop="name"
|
:checkRules="[{ type: 'tel', message: '请输入客服电话' }]"
|
>
|
<ProFormText v-model.trim="form.name" placeholder="请输入客服电话" />
|
</ProFormItemV2>
|
<ProFormItemV2 label="经营场景:" prop="name" :checkRules="[{ message: '请选择经营场景' }]">
|
<ProFormSelect v-model="form.name" :valueEnum="[]" placeholder="请选择经营场景">
|
</ProFormSelect>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="入驻结算ID:"
|
prop="name"
|
:checkRules="[{ message: '请输入入驻结算ID' }]"
|
>
|
<div style="display: flex; width: 100%">
|
<ProFormText v-model.trim="form.name" placeholder="请输入入驻结算ID" />
|
<el-button style="margin-left: 10px" type="primary" link @click="openOuterSettleRule"
|
>费率结算规则对照表</el-button
|
>
|
</div>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="特殊资质照片:"
|
prop="url"
|
:check-rules="[{ type: 'upload', message: '请上传特殊资质照片' }]"
|
>
|
<ProFormUpload
|
v-model:file-url="form.url"
|
:limit="5"
|
:limitFileSize="10"
|
accept="png,jpg,jpeg,pdf"
|
></ProFormUpload>
|
</ProFormItemV2>
|
<ProFormItemV2 label="结算账户:" prop="name" :checkRules="[{ message: '请选择结算账户' }]">
|
<ProFormSelect v-model="form.name" :valueEnum="[]" placeholder="请选择结算账户">
|
</ProFormSelect>
|
</ProFormItemV2>
|
<ProFormItemV2 label="开户银行:" prop="name" :checkRules="[{ message: '请输入开户银行' }]">
|
<ProFormText v-model.trim="form.name" placeholder="请输入开户银行" />
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="银行账号:"
|
prop="name"
|
:checkRules="[{ message: '请输入银行账号', type: 'bankCard' }]"
|
>
|
<ProFormText v-model.trim="form.name" placeholder="请输入银行账号" />
|
</ProFormItemV2>
|
</ProForm>
|
</LoadingLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { FormInstance } from 'element-plus';
|
import {
|
ProForm,
|
ProFormItemV2,
|
ProFormText,
|
LoadingLayout,
|
UploadUserFile,
|
ProFormSelect,
|
ProFormUpload,
|
useFormDialog,
|
ProFormRadio,
|
} from '@bole-core/components';
|
import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
|
import { useQuery } from '@tanstack/vue-query';
|
import { convertWalletApiToFiles, convertWalletFilesToApi, downloadFileByUrl } from '@/utils';
|
|
defineOptions({
|
name: 'WechatConfigureView',
|
});
|
|
type Props = {
|
id: string;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {});
|
|
const dialogForm = ref<FormInstance>();
|
|
const form = reactive({
|
name: '',
|
url: [] as UploadUserFile[],
|
});
|
|
const { isLoading, refetch } = useQuery({
|
queryKey: [
|
'enterpriseWalletServices/getEnterpriseWallet',
|
props.id,
|
EnumEnterpriseWalletAccess.Alipay,
|
],
|
queryFn: async (ctx) => {
|
return await enterpriseWalletServices.getEnterpriseWallet({
|
enterpriseId: props.id,
|
access: EnumEnterpriseWalletAccess.Alipay,
|
});
|
},
|
onSuccess(data) {
|
form.name = data.name;
|
form.url = convertWalletApiToFiles(
|
data.files,
|
EnumEnterpriseWalletExpandindirectOrderFileType.Scene
|
);
|
},
|
});
|
|
function openOuterSettleRule() {
|
window.open('https://kf.qq.com/faq/220228IJb2UV220228uEjU3Q.html', '_blank');
|
}
|
|
async function enterpriseWalletExpandindirectCreate() {
|
try {
|
if (!dialogForm.value) return;
|
const valid = await dialogForm.value.validate();
|
if (!valid) return;
|
let params: API.EnterpriseWalletExpandindirectCreateCommand = {};
|
let res = await enterpriseWalletServices.enterpriseWalletExpandindirectCreate(params);
|
return res;
|
} catch (error) {}
|
}
|
|
function downloadTemplate() {
|
downloadFileByUrl(
|
'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/FlexJob/temp/%E4%B8%9A%E5%8A%A1%E5%8A%9E%E7%90%86%E6%8E%88%E6%9D%83%E5%87%BD.png',
|
'业务办理授权函'
|
);
|
}
|
|
defineExpose({
|
onConfirm: enterpriseWalletExpandindirectCreate,
|
});
|
</script>
|