From 97334831995a7a442af237dd44eaf3fc7edc120b Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 12 十二月 2025 19:59:49 +0800
Subject: [PATCH] feat: 新增渠道包

---
 src/views/EnterpriseManage/components/InsureProductConfigureView.vue |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/src/views/EnterpriseManage/components/InsureProductConfigureView.vue b/src/views/EnterpriseManage/components/InsureProductConfigureView.vue
new file mode 100644
index 0000000..7b4d34e
--- /dev/null
+++ b/src/views/EnterpriseManage/components/InsureProductConfigureView.vue
@@ -0,0 +1,110 @@
+<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>

--
Gitblit v1.9.1