<template>
|
<LoadingLayout :loading="isLoading">
|
<ProForm :model="form" ref="dialogForm" label-width="140px">
|
<div class="configure-dialog-form-title">通道配置</div>
|
<ProFormItemV2
|
label="通道:"
|
prop="insuranceSupplierAccess"
|
:checkRules="[{ message: '请选择通道' }]"
|
>
|
<ProFormSelect
|
v-model="form.insuranceSupplierAccess"
|
:valueEnum="EnumInsuranceSupplierAccessText"
|
placeholder="请选择通道"
|
>
|
</ProFormSelect>
|
</ProFormItemV2>
|
<ProFormItemV2
|
label="投保供应商账号:"
|
prop="insuranceSupplierAccount"
|
:checkRules="[{ message: '请输入投保供应商账号' }]"
|
>
|
<ProFormText
|
v-model.trim="form.insuranceSupplierAccount"
|
placeholder="请输入投保供应商账号"
|
>
|
</ProFormText>
|
</ProFormItemV2>
|
</ProForm>
|
</LoadingLayout>
|
</template>
|
|
<script setup lang="ts">
|
import { FormInstance } from 'element-plus';
|
import {
|
ProForm,
|
ProFormItemV2,
|
ProFormSelect,
|
ProFormText,
|
LoadingLayout,
|
} from '@bole-core/components';
|
import * as enterpriseServices from '@/services/api/enterprise';
|
import { useQuery } from '@tanstack/vue-query';
|
import { useEnabledElectronSignSettings } from '@/hooks';
|
import { EnumInsuranceSupplierAccessText } from '@/constants';
|
|
defineOptions({
|
name: 'InsureProductConfigureView',
|
});
|
|
type Props = {
|
id: string;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {});
|
|
const dialogForm = ref<FormInstance>();
|
|
const { enabledElectronSignSettings, invalidateQueries } = useEnabledElectronSignSettings({
|
all: true,
|
});
|
|
const form = reactive({
|
insuranceSupplierAccess: '' as any as EnumInsuranceSupplierAccess,
|
insuranceSupplierAccount: '',
|
});
|
|
const { isLoading } = useQuery({
|
queryKey: ['enterpriseServices/getEnterpriseInsuranceSetting', props.id],
|
queryFn: async () => {
|
return await enterpriseServices.getEnterpriseInsuranceSetting({
|
id: props.id,
|
});
|
},
|
onSuccess(data) {
|
form.insuranceSupplierAccess = data.insuranceSupplierAccess;
|
form.insuranceSupplierAccount = data.insuranceSupplierAccount;
|
},
|
});
|
|
async function createOrEditFlexEnterpriseSignSetting() {
|
try {
|
if (!dialogForm.value) return;
|
const valid = await dialogForm.value.validate();
|
if (!valid) return;
|
let params: API.SetEnterpriseInsuranceSettingCommand = {
|
id: props.id,
|
insuranceSupplierAccess: form.insuranceSupplierAccess,
|
insuranceSupplierAccount: form.insuranceSupplierAccount,
|
};
|
let res = await enterpriseServices.setEnterpriseInsuranceSetting(params);
|
invalidateQueries();
|
return res;
|
} catch (error) {}
|
}
|
|
defineExpose({
|
onConfirm: createOrEditFlexEnterpriseSignSetting,
|
});
|
</script>
|
|
<style lang="scss" scoped>
|
@use '@/style/common.scss' as *;
|
|
.configure-dialog-form-title {
|
margin-bottom: 10px;
|
font-size: 15px;
|
font-weight: bold;
|
line-height: 36px;
|
}
|
</style>
|