From 65c7175a1d7d448f91ee61a8a9aa935263939d37 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 17 四月 2025 10:10:22 +0800
Subject: [PATCH] feat: 接口对接

---
 src/views/EnterpriseManage/EnterpriseManageList.vue |  203 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 130 insertions(+), 73 deletions(-)

diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue
index d7a8dde..2df6ee6 100644
--- a/src/views/EnterpriseManage/EnterpriseManageList.vue
+++ b/src/views/EnterpriseManage/EnterpriseManageList.vue
@@ -3,13 +3,10 @@
     <AppContainer>
       <ProTableQueryFilterBar @on-reset="reset">
         <template #query>
-          <QueryFilterItem tip-content="鐘舵��">
+          <QueryFilterItem tip-content="閰嶇疆鐘舵��">
             <FieldRadio
-              v-model="extraParamState.status"
-              :value-enum="[
-                { label: '宸查厤缃�', value: true },
-                { label: '鏈厤缃�', value: false },
-              ]"
+              v-model="extraParamState.flexEnterpriseSettingStatus"
+              :value-enum="FlexEnterpriseSettingStatusText"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -17,7 +14,7 @@
           </QueryFilterItem>
           <QueryFilterItem>
             <SearchInput
-              v-model="extraParamState.name"
+              v-model="extraParamState.searchWord"
               style="width: 200px"
               placeholder="浼佷笟鍚嶇О/娉曚汉/鑱旂郴浜�"
               @on-click-search="getList"
@@ -29,7 +26,7 @@
         <template #btn>
           <el-button
             v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
-            @click="openDialog()"
+            @click="addOrEditEnterprise()"
             icon="Plus"
             type="primary"
             >鏂板</el-button
@@ -39,7 +36,7 @@
       <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
-    <!-- <AddOrEditSearchSetting v-bind="dialogProps" :typeList="typeList" /> -->
+    <ConfigureDialog v-bind="dialogProps" />
   </LoadingLayout>
 </template>
 
@@ -54,14 +51,24 @@
   QueryFilterItem,
   useTable,
   useFormDialog,
-  UploadUserFile,
   FieldRadio,
 } from '@bole-core/components';
 import { useAccess, useGlobalEventContext } from '@/hooks';
-import * as searchSettingServices from '@/services/api/SearchSetting';
-import { SearchType, SearchTypeText } from '@/constants';
+import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
+import {
+  SearchType,
+  FlexEnterpriseSettingStatusText,
+  FlexEnterpriseSettingStatus,
+  FlexEnterpriseCertificationStatusText,
+  EnterpriseConfigureType,
+  MessageChannelEnum,
+  VerifyStatus,
+  SignChannelEnum,
+  ChargeTypeEnum,
+  FlexEnterpriseStatus,
+} from '@/constants';
+import ConfigureDialog from './components/ConfigureDialog.vue';
 import { OrderInputType, Message } from '@bole-core/core';
-import { convertApi2FormUrl } from '@/utils';
 import { useQueryClient } from '@tanstack/vue-query';
 import { useSearchSettingType } from '@/hooks';
 
@@ -70,7 +77,10 @@
 });
 
 const operationBtnMap: Record<string, OperationBtnType> = {
-  editBtn: { emits: { onClick: (role) => openDialog(role) } },
+  editBtn: { emits: { onClick: (role) => addOrEditEnterprise(role) } },
+  detailBtn: { emits: { onClick: (role) => handleDetail(role) } },
+  configBtn: { emits: { onClick: (role) => openDialog(role) } },
+  freezeBtn: { emits: { onClick: (role) => handleSetStatus(role) } },
 };
 
 const { checkSubModuleItemShow, column, operationBtns } = useAccess({
@@ -87,6 +97,8 @@
   getList(paginationState.pageIndex);
 });
 
+const router = useRouter();
+
 const BaseState = {
   loading: true,
 };
@@ -94,6 +106,7 @@
 const { searchSettingTypeList: typeList } = useSearchSettingType({
   searchType: SearchType.IndustryCategory,
 });
+
 const state = reactive({ ...BaseState });
 
 onMounted(async () => {
@@ -110,23 +123,17 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetSearchSettingListInput = {
+      let params: API.GetFlexEnterpriseInput = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        name: extraParamState.name,
-        // belongType: Number(extraParamState.belongType),
-        searchType: Number(extraParamState.searchType),
-        status: extraParamState.status,
+        flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
+        searchWord: extraParamState.searchWord,
       };
 
-      if (extraParamState.searchType === SearchType.Position) {
-        params.isRecommend = extraParamState.isRecommend;
-        params.parentId = extraParamState.parentId;
-      }
-      let res = await searchSettingServices.getSearchSettingList(params, {
+      let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -136,34 +143,39 @@
   },
   {
     defaultExtraParams: {
-      name: '',
-      searchType: SearchType.Identity,
-      orderInput: [{ property: 'sort', order: OrderInputType.Asc }],
-      status: '' as any as boolean,
-      isRecommend: '' as any as boolean,
-      parentId: '',
+      searchWord: '',
+      orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+      flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
     },
-    queryKey: ['searchSettingServices/getSearchSettingList'],
+    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
     columnsRenderProps: {
-      searchType: { type: 'enum', valueEnum: SearchTypeText },
+      settingStatus: { type: 'enum', valueEnum: FlexEnterpriseSettingStatusText },
+      certificationStatus: { type: 'enum', valueEnum: FlexEnterpriseCertificationStatusText },
     },
   }
 );
 
-function openDialog(row?: API.GetSearchSettingList) {
+function openDialog(row?: API.FlexEnterpriseDto) {
   if (row) {
     handleEdit({
       id: row.id,
-      searchType: extraParamState.searchType,
-      name: row.name,
-      sort: row.sort,
-      status: row.status,
-      src: row.src?.length ? [convertApi2FormUrl(row.src)] : [],
-      parentId: row.parentId ?? '',
+      enterpriseConfigureType: EnterpriseConfigureType.Bank,
+      flexEnterpirseId: row.id,
+      openBank: row.flexEnterpriseBankDto?.openBank,
+      openBranchBank: row.flexEnterpriseBankDto?.openBranchBank,
+      bankAccount: row.flexEnterpriseBankDto?.bankAccount,
+      verifyStatus: row.flexEnterpriseBankDto?.verifyStatus,
+      signChannel: row.enterpriseSignSettingDto?.signChannel,
+      chargeType: row.enterpriseSignSettingDto?.chargeType,
+      realVerifyCost: row.enterpriseSignSettingDto?.realVerifyCost ?? 0,
+      signCost: row.enterpriseSignSettingDto?.signCost ?? 0,
+      mergeSignCost: row.enterpriseSignSettingDto?.mergeSignCost ?? 0,
+      messageCost: row.flexEnterpriseMessageSettingDto?.messageCost ?? 0,
+      messageChannel: row.flexEnterpriseMessageSettingDto?.messageChannel,
     });
   } else {
     handleAdd({
-      searchType: extraParamState.searchType,
+      enterpriseConfigureType: EnterpriseConfigureType.Bank,
     });
   }
 }
@@ -172,57 +184,102 @@
   onConfirm: handleAddOrEdit,
   defaultFormParams: {
     id: '',
-    searchType: SearchType.Identity,
-    name: '',
-    sort: 0,
-    status: true,
-    src: [] as UploadUserFile[],
-    parentId: '',
+    flexEnterpirseId: '',
+    enterpriseConfigureType: '' as any as EnterpriseConfigureType,
+    openBank: '',
+    openBranchBank: '',
+    bankAccount: '',
+    verifyStatus: '' as any as VerifyStatus,
+    signChannel: '' as any as SignChannelEnum,
+    chargeType: '' as any as ChargeTypeEnum,
+    realVerifyCost: 0,
+    signCost: 0,
+    mergeSignCost: 0,
+    messageCost: 0,
+    messageChannel: '' as any as MessageChannelEnum,
   },
 });
 
-async function handleAddOrEdit() {
+async function handleAddOrEdit(type: EnterpriseConfigureType) {
   try {
-    let params: API.CreateOrEditSearchInput = {
-      searchType: extraParamState.searchType,
-      name: editForm.name,
-      sort: editForm.sort,
-      status: editForm.status,
-      src: editForm.src?.[0]?.path ?? '',
-      parentId: editForm.parentId ?? '',
-    };
-    if (editForm.id) {
-      params.id = editForm.id;
+    let res;
+    if (type === EnterpriseConfigureType.Bank) {
+      res = await createOrEditFlexEnterpriseBankSetting();
     }
-    let res = await searchSettingServices.createOrEditSearchSetting(params);
+    if (type === EnterpriseConfigureType.Electronic) {
+      res = await createOrEditFlexEnterpriseSignSetting();
+    }
+    if (type === EnterpriseConfigureType.ShortMessage) {
+      res = await createOrEditFlexEnterpriseMessageSetting();
+    }
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
       dialogState.dialogVisible = false;
-      updateCategoryMenu();
     }
   } catch (error) {}
 }
 
-function updateCategoryMenu() {
-  queryClient.invalidateQueries({
-    queryKey: [
-      'searchSettingServices/getTypeSearchSettingList',
-      { searchType: extraParamState.searchType, belongType: null },
-    ],
-  });
+async function createOrEditFlexEnterpriseBankSetting() {
+  try {
+    let params: API.CreateOrEditFlexEnterpriseBankInput = {
+      id: editForm.id,
+      openBank: editForm.openBank,
+      openBranchBank: editForm.openBranchBank,
+      bankAccount: editForm.bankAccount,
+      verifyStatus: editForm.verifyStatus,
+      flexEnterpirseId: editForm.flexEnterpirseId,
+    };
+    return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params);
+  } catch (error) {}
+}
+async function createOrEditFlexEnterpriseSignSetting() {
+  try {
+    let params: API.CreateOrEditFlexEnterpriseSignSettingInput = {
+      id: editForm.id,
+      flexEnterpirseId: editForm.flexEnterpirseId,
+      signChannel: editForm.signChannel,
+      chargeType: editForm.chargeType,
+      realVerifyCost: editForm.realVerifyCost,
+      signCost: editForm.signCost,
+      mergeSignCost: editForm.mergeSignCost,
+    };
+    return await flexEnterpriseServices.createOrEditFlexEnterpriseSignSetting(params);
+  } catch (error) {}
+}
+async function createOrEditFlexEnterpriseMessageSetting() {
+  try {
+    let params: API.CreateOrEditFlexEnterpriseMessageSettingInput = {
+      id: editForm.id,
+      flexEnterpirseId: editForm.flexEnterpirseId,
+      messageChannel: editForm.messageChannel,
+      messageCost: editForm.messageCost,
+    };
+    return await flexEnterpriseServices.createOrEditFlexEnterpriseMessageSetting(params);
+  } catch (error) {}
 }
 
-async function setCategoryVis(row: API.GetSearchSettingList) {
+async function handleSetStatus(row: API.FlexEnterpriseDto) {
   try {
-    let params: API.EnableSearchSettingInput = {
+    let params: API.SetFlexEnterpriseStatusInput = {
       id: row.id,
-      status: !row.status,
+      status:
+        row.status === FlexEnterpriseStatus.Frozen
+          ? FlexEnterpriseStatus.Normal
+          : FlexEnterpriseStatus.Frozen,
     };
-    let res = await searchSettingServices.enableSearchSetting(params);
-    updateCategoryMenu();
-    getList(paginationState.pageIndex);
-    return !!res;
+    let res = await flexEnterpriseServices.setFlexEnterpriseStatus(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
   } catch (error) {}
 }
+
+function addOrEditEnterprise(row?: API.FlexEnterpriseDto) {
+  router.push({ name: 'AddOrEditEnterprise', params: { id: row?.id ?? '' } });
+}
+function handleDetail(row: API.FlexEnterpriseDto) {
+  router.push({ name: 'EnterpriseDetail', params: { id: row?.id ?? '' } });
+}
 </script>

--
Gitblit v1.9.1