|  |  |  | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="银行账户:" prop="verifyStatus"> | 
|---|
|  |  |  | {{ VerifyStatusText[form.verifyStatus] }} | 
|---|
|  |  |  | <el-button style="margin-left: 40px" type="primary" link @click="handleCheckBankAccount" | 
|---|
|  |  |  | <el-button style="margin-left: 10px" type="primary" link @click="handleCheckBankAccount" | 
|---|
|  |  |  | >校验</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | </template> --> | 
|---|
|  |  |  | <template v-if="form.enterpriseConfigureType === EnterpriseConfigureType.AliPay"> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="支付宝账号:" | 
|---|
|  |  |  | prop="alipayAccount" | 
|---|
|  |  |  | :checkRules="[{ message: '请输入支付宝账号' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="display: flex; width: 100%"> | 
|---|
|  |  |  | <ProFormText v-model.trim="form.alipayAccount" placeholder="请输入支付宝账号"> | 
|---|
|  |  |  | </ProFormText> | 
|---|
|  |  |  | <el-button style="margin-left: 10px" type="primary" link @click="openEnterpriseWallet" | 
|---|
|  |  |  | >获取签约链接</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="支付宝姓名:" | 
|---|
|  |  |  | prop="name" | 
|---|
|  |  |  | :checkRules="[{ message: '请输入支付宝姓名' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText v-model.trim="form.name" placeholder="请输入支付宝姓名" /> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="商户ID:" | 
|---|
|  |  |  | prop="alipayMerchantId" | 
|---|
|  |  |  | :checkRules="[{ message: '请输入商户ID' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText v-model.trim="form.alipayMerchantId" placeholder="请输入商户ID" disabled /> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="业务场景:" prop="scene" :checkRules="[{ message: '请选择业务场景' }]"> | 
|---|
|  |  |  | <ProFormSelect | 
|---|
|  |  |  | v-model="form.scene" | 
|---|
|  |  |  | :valueEnum="EnumEnterpriseWalletExpandindirectOrderSceneText" | 
|---|
|  |  |  | placeholder="请选择业务场景" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </ProFormSelect> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="场景描述:" | 
|---|
|  |  |  | prop="sceneDirections" | 
|---|
|  |  |  | :checkRules="[{ message: '请输入场景描述' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormText | 
|---|
|  |  |  | v-model.trim="form.sceneDirections" | 
|---|
|  |  |  | placeholder="谁/通过什么媒介(APP/web/小程序)/主要为谁提供什么服务/用于在什么场景给什么人群转账" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="转账场景截图:" | 
|---|
|  |  |  | prop="sceneFiles" | 
|---|
|  |  |  | :check-rules="[{ type: 'upload', message: '请上传转账场景截图' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormUpload | 
|---|
|  |  |  | v-model:file-url="form.sceneFiles" | 
|---|
|  |  |  | :limit="5" | 
|---|
|  |  |  | :limitFileSize="10" | 
|---|
|  |  |  | accept="png,jpg,jpeg,pdf" | 
|---|
|  |  |  | ></ProFormUpload> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | label="资质文件:" | 
|---|
|  |  |  | prop="sceneQualificationFiles" | 
|---|
|  |  |  | :check-rules="[{ type: 'upload', message: '请上传资质文件' }]" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProFormUpload | 
|---|
|  |  |  | v-model:file-url="form.sceneQualificationFiles" | 
|---|
|  |  |  | :limit="5" | 
|---|
|  |  |  | :limitFileSize="10" | 
|---|
|  |  |  | accept="png,jpg,jpeg,pdf" | 
|---|
|  |  |  | ></ProFormUpload> | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="签约状态:" prop="signStatus" required> | 
|---|
|  |  |  | <span>{{ EnumEnterpriseWalletSignStatusText[form.signStatus] }}</span> | 
|---|
|  |  |  | <el-button style="margin-left: 10px" type="primary" link @click="handleCheckBankAccount" | 
|---|
|  |  |  | >校验</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | <ProFormItemV2 label="进件状态:" prop="expandindirectOrderStatus" required> | 
|---|
|  |  |  | <span>{{ | 
|---|
|  |  |  | EnumEnterpriseWalletExpandindirectOrderStatusText[form.expandindirectOrderStatus] | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | <el-button style="margin-left: 10px" type="primary" link @click="handleCheckBankAccount" | 
|---|
|  |  |  | >校验</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </ProFormItemV2> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <template v-if="form.enterpriseConfigureType === EnterpriseConfigureType.Electronic"> | 
|---|
|  |  |  | <div class="configure-dialog-form-title">通道配置</div> | 
|---|
|  |  |  | <ProFormItemV2 | 
|---|
|  |  |  | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </ProDialog> | 
|---|
|  |  |  | <AlipayWalletOpen v-bind="dialogQrcodeProps"></AlipayWalletOpen> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | 
|---|
|  |  |  | ProFormInputNumber, | 
|---|
|  |  |  | ProFormSelect, | 
|---|
|  |  |  | ProFormSwitch, | 
|---|
|  |  |  | useFormDialog, | 
|---|
|  |  |  | UploadUserFile, | 
|---|
|  |  |  | ProFormImageUpload, | 
|---|
|  |  |  | ProFormUpload, | 
|---|
|  |  |  | } from '@bole-core/components'; | 
|---|
|  |  |  | import { BoleRegExp } from '@bole-core/core'; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | 
|---|
|  |  |  | EnumElectronSignAccessText, | 
|---|
|  |  |  | EnumSmsAccessText, | 
|---|
|  |  |  | EnumElectronSignAccess, | 
|---|
|  |  |  | EnumEnterpriseWalletSignStatusText, | 
|---|
|  |  |  | EnumEnterpriseWalletExpandindirectOrderStatusText, | 
|---|
|  |  |  | EnumEnterpriseWalletExpandindirectOrderSceneText, | 
|---|
|  |  |  | } from '@/constants'; | 
|---|
|  |  |  | import * as enterpriseWalletServices from '@/services/api/enterpriseWallet'; | 
|---|
|  |  |  | import AlipayWalletOpen from './AlipayWalletOpen.vue'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'ConfigureDialog', | 
|---|
|  |  |  | 
|---|
|  |  |  | electronSignAccesses: EnumElectronSignAccess[]; | 
|---|
|  |  |  | smsAccess: EnumSmsAccess; | 
|---|
|  |  |  | smsCost: number; | 
|---|
|  |  |  | alipayAccount: string; | 
|---|
|  |  |  | alipayMerchantId: string; | 
|---|
|  |  |  | id: string; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | signStatus: EnumEnterpriseWalletSignStatus; | 
|---|
|  |  |  | expandindirectOrderStatus: EnumEnterpriseWalletExpandindirectOrderStatus; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | name: string; | 
|---|
|  |  |  | scene: EnumEnterpriseWalletExpandindirectOrderScene; | 
|---|
|  |  |  | sceneDirections: string; | 
|---|
|  |  |  | /**转账场景截图 */ | 
|---|
|  |  |  | sceneFiles: UploadUserFile[]; | 
|---|
|  |  |  | /**商户行业资质图片或协议文本 */ | 
|---|
|  |  |  | sceneQualificationFiles: UploadUserFile[]; | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const form = defineModel<Form>('form'); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const dialogForm = ref<FormInstance>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { enabledElectronSignSettings } = useEnabledElectronSignSettings(); | 
|---|
|  |  |  | const { enabledElectronSignSettings } = useEnabledElectronSignSettings({ | 
|---|
|  |  |  | all: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function handleCheckBankAccount() {} | 
|---|
|  |  |  | async function handleCheckBankAccount() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let alipayWallet = await enterpriseWalletServices.getEnterpriseWallet({ | 
|---|
|  |  |  | enterpriseId: form.value.id, | 
|---|
|  |  |  | access: EnumEnterpriseWalletAccess.Alipay, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (alipayWallet) { | 
|---|
|  |  |  | form.value.signStatus = alipayWallet.signStatus; | 
|---|
|  |  |  | form.value.expandindirectOrderStatus = alipayWallet.expandindirectOrderStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function getEnterpriseWalletExpandindirectOrder() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let res = await enterpriseWalletServices.getEnterpriseWalletExpandindirectOrder({ | 
|---|
|  |  |  | enterpriseId: form.value.id, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | form.value.expandindirectOrderStatus = res.orderStatus; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function onDialogClose() { | 
|---|
|  |  |  | if (!dialogForm.value) return; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { dialogProps: dialogQrcodeProps, handleAdd } = useFormDialog({ | 
|---|
|  |  |  | defaultFormParams: { | 
|---|
|  |  |  | alipayUrl: '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // async function handleOpenEnterpriseWallet() { | 
|---|
|  |  |  | //   try { | 
|---|
|  |  |  | //     if (!dialogForm.value) return; | 
|---|
|  |  |  | //     const valid = await dialogForm.value.validateField(['alipayAccount', 'alipayMerchantId']); | 
|---|
|  |  |  | //     if (valid) { | 
|---|
|  |  |  | //       openEnterpriseWallet(); | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | //   } catch (error) {} | 
|---|
|  |  |  | // } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function openEnterpriseWallet() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let params: API.OpenEnterpriseWalletCommand = { | 
|---|
|  |  |  | access: EnumEnterpriseWalletAccess.Alipay, | 
|---|
|  |  |  | enterpriseId: form.value.id, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await enterpriseWalletServices.openEnterpriseWallet(params); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | handleAdd({ | 
|---|
|  |  |  | alipayUrl: res.signUrl, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | @use '@/style/common.scss' as *; | 
|---|