From f35680f356168af8d4a3d5f34456e561af40fbba Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 24 十二月 2025 13:15:10 +0800
Subject: [PATCH] feat: 接口

---
 src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue |  129 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 2 deletions(-)

diff --git a/src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue b/src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue
index ddab4f7..dab3c92 100644
--- a/src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue
+++ b/src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue
@@ -177,6 +177,91 @@
               </ProFormItemV2>
             </ProFormColItem>
           </ProFormCol>
+        </ProForm>
+      </ChunkCell>
+      <ChunkCell title="鍚堜綔淇℃伅">
+        <ProForm
+          :model="form"
+          ref="cooperationFormRef"
+          label-width="140px"
+          :scroll-to-error="false"
+          :is-read="isDetail"
+        >
+          <ProFormCol>
+            <ProFormColItem :span="8">
+              <ProFormItemV2 label="鍚堜綔鐘舵��:" prop="cooperationStatus">
+                <ProFormRadio
+                  v-model="form.cooperationStatus"
+                  :value-enum="EnumEnterpriseCooperationStatusText"
+                />
+              </ProFormItemV2>
+            </ProFormColItem>
+            <ProFormColItem :span="8">
+              <ProFormItemV2 label="绛剧害鐘舵��:" prop="signStatus">
+                <ProFormRadio
+                  v-model="form.signStatus"
+                  :value-enum="EnumEnterpriseCooperationSignStatusText"
+                />
+              </ProFormItemV2>
+            </ProFormColItem>
+            <ProFormColItem :span="8">
+              <ProFormItemV2 label="鍚堜綔鍗忚:" prop="cooperationAgreementUrl">
+                <ProFormUpload
+                  v-model:file-url="form.cooperationAgreementUrl"
+                  :limit="1"
+                  :limitFileSize="10"
+                  accept="jpg/jpeg,png,pdf"
+                ></ProFormUpload>
+              </ProFormItemV2>
+            </ProFormColItem>
+          </ProFormCol>
+          <ProFormCol>
+            <ProFormColItem :span="8">
+              <ProFormItemV2 label="鏈嶅姟璐规敹鍙栨柟寮�:" prop="serviceFeeCollectType">
+                <ProFormSelect
+                  v-model="form.serviceFeeCollectType"
+                  :valueEnum="EnumEnterpriseCooperationServiceFeeCollectTypeText"
+                  placeholder="璇烽�夋嫨鏈嶅姟璐规敹鍙栨柟寮�"
+                >
+                </ProFormSelect>
+              </ProFormItemV2>
+            </ProFormColItem>
+            <ProFormColItem :span="8">
+              <ProFormItemV2
+                label="鏈嶅姟璐�:"
+                prop="serviceFeeRate"
+                :check-rules="
+                  form.serviceFeeCollectType ? [{ message: '璇疯緭鍏ユ湇鍔¤垂' }] : undefined
+                "
+                :required="!!form.serviceFeeCollectType"
+              >
+                <ProFormInputNumber
+                  v-model="form.serviceFeeRate"
+                  :controls="false"
+                  :min="0"
+                  :precision="2"
+                  placeholder="璇疯緭鍏�"
+                  :unit="serviceFeeCollectTypeUnit"
+                  :showReadContent="!!form.serviceFeeRate"
+                />
+              </ProFormItemV2>
+            </ProFormColItem>
+          </ProFormCol>
+          <ProFormCol>
+            <ProFormColItem :span="8">
+              <ProFormItemV2 label="鍙戠エ绋庣偣:" prop="invoiceTaxPointRate">
+                <ProFormInputNumber
+                  v-model="form.invoiceTaxPointRate"
+                  :controls="false"
+                  :min="0"
+                  :precision="2"
+                  placeholder="璇疯緭鍏�"
+                  unit="%"
+                  :showReadContent="!!form.invoiceTaxPointRate"
+                />
+              </ProFormItemV2>
+            </ProFormColItem>
+          </ProFormCol>
           <div class="chuck-add-or-edit-actions">
             <el-button @click="handleBack">杩斿洖</el-button>
             <el-button v-if="!isDetail" type="primary" @click="handleSubmit">纭</el-button>
@@ -198,15 +283,24 @@
   ProFormTextArea,
   ProFormCol,
   ProFormColItem,
+  UploadUserFile,
+  ProFormRadio,
+  ProFormInputNumber,
+  ProFormUpload,
 } from '@bole-core/components';
 import { FormRules, FormInstance } from 'element-plus';
 import * as enterpriseServices from '@/services/api/enterprise';
 import { useRouteView, useGlobalEventContext, GlobalEvent } from '@/hooks';
 import _ from 'lodash';
-import { validateFormList, filterCN, removeEmptyKeys } from '@/utils';
+import { validateFormList, filterCN, removeEmptyKeys, convertApi2FormUrlOnlyOne } from '@/utils';
 import { Message, BoleRegExp } from '@bole-core/core';
 import { useQuery } from '@tanstack/vue-query';
-import { AreaType } from '@/constants';
+import {
+  AreaType,
+  EnumEnterpriseCooperationSignStatusText,
+  EnumEnterpriseCooperationStatusText,
+  EnumEnterpriseCooperationServiceFeeCollectTypeText,
+} from '@/constants';
 
 defineOptions({ name: 'AddOrEditEnterpriseView' });
 
@@ -246,6 +340,23 @@
   contactEmail: '',
   userName: '',
   password: '',
+
+  cooperationStatus: EnumEnterpriseCooperationStatus.None,
+  signStatus: EnumEnterpriseCooperationSignStatus.None,
+  cooperationAgreementUrl: [] as UploadUserFile[],
+  serviceFeeCollectType: '' as any as EnumEnterpriseCooperationServiceFeeCollectType,
+  serviceFeeRate: null as any as number,
+  invoiceTaxPointRate: null as any as number,
+});
+
+const serviceFeeCollectTypeUnit = computed(() => {
+  if (!form.serviceFeeCollectType) {
+    return '';
+  } else {
+    return form.serviceFeeCollectType === EnumEnterpriseCooperationServiceFeeCollectType.Rate
+      ? '%'
+      : '鍏�/浜�';
+  }
 });
 
 const { isLoading } = useQuery({
@@ -271,6 +382,13 @@
     form.contactEmail = data.contactEmail;
     form.userName = data.userName;
     form.areaList = [data.provinceCode, data.cityCode].filter(Boolean);
+
+    form.cooperationStatus = data.cooperationStatus;
+    form.signStatus = data.signStatus;
+    form.cooperationAgreementUrl = convertApi2FormUrlOnlyOne(data.cooperationAgreementUrl);
+    form.serviceFeeCollectType = data.serviceFeeCollectType;
+    form.serviceFeeRate = data.serviceFeeRate;
+    form.invoiceTaxPointRate = data.invoiceTaxPointRate;
   },
   enabled: computed(() => !!id),
 });
@@ -308,6 +426,13 @@
       contactEmail: form.contactEmail,
       userName: form.userName,
       password: form.password,
+
+      cooperationStatus: form.cooperationStatus,
+      signStatus: form.signStatus,
+      cooperationAgreementUrl: form.cooperationAgreementUrl[0]?.path,
+      serviceFeeCollectType: form.serviceFeeCollectType,
+      serviceFeeRate: form.serviceFeeRate,
+      invoiceTaxPointRate: form.invoiceTaxPointRate,
     };
     if (isEdit.value) {
       params.id = id;

--
Gitblit v1.10.0