Просмотр исходного кода

feat(web-admin): add quote approver setting API client

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 3 месяцев назад
Родитель
Сommit
a1e26f044d
2 измененных файлов с 41 добавлено и 1 удалено
  1. 29 1
      web-admin/src/api/crm/quote/index.ts
  2. 12 0
      web-admin/src/api/crm/quote/types.ts

+ 29 - 1
web-admin/src/api/crm/quote/index.ts

@@ -10,10 +10,13 @@ import type {
   GenerateShareForm,
   ToContractForm,
   NewVersionForm,
-  QuoteProductForm
+  QuoteProductForm,
+  QuoteApproverSettingVO,
+  QuoteApproverSettingForm
 } from './types'
 
 const BASE = '/web/crm/quote'
+const SETTING_BASE = '/web/crm/quote-approver-setting'
 
 function unwrapData(res: any) {
   return res?.data ?? res ?? {}
@@ -271,4 +274,29 @@ export async function shareLogStatistics(quoteId: number | string) {
   return { data: unwrapData(res) }
 }
 
+// ── 审批人设置 ──
+
+export async function getQuoteApproverSetting() {
+  const res = await request.post({ url: `${SETTING_BASE}/get`, data: {} })
+  const data = unwrapData(res) || {}
+  return {
+    data: {
+      id: data.id,
+      approverIds: (data.approverIds || []).map(String),
+      status: data.status ?? '1',
+      updateTime: data.updateTime
+    } as QuoteApproverSettingVO
+  }
+}
+
+export function saveQuoteApproverSetting(data: QuoteApproverSettingForm) {
+  return request.post({
+    url: `${SETTING_BASE}/save`,
+    data: {
+      approverIds: (data.approverIds || []).map(String),
+      status: data.status
+    }
+  })
+}
+
 export * from './types'

+ 12 - 0
web-admin/src/api/crm/quote/types.ts

@@ -232,3 +232,15 @@ export interface QuoteStatisticsVO {
   totalAmount: number
   monthAmount: number
 }
+
+export interface QuoteApproverSettingVO {
+  id?: string
+  approverIds: (string | number)[]
+  status: '0' | '1' | string
+  updateTime?: string
+}
+
+export interface QuoteApproverSettingForm {
+  approverIds: (string | number)[]
+  status: '0' | '1'
+}