plan.js 2.91 KB
import { fn, fetch } from '@/api/fn';

const Api = {
  Add: '/srv/?a=proposal&t=add',
  Delete: '/srv/?a=proposal&t=delete',
  View: '/srv/?a=proposal&t=view',
  List: '/srv/?a=proposal&t=list',
};

/**
 * @description 新增计划书
 * @param {Object} params 请求参数
 * @param {string} params.customer_name 申请人
 * @param {string} params.customer_gender 性别
 * @param {number} params.customer_age 年龄
 * @param {string} params.customer_birthday 出生年月日
 * @param {number} params.annual_premium 保额
 * @param {string} params.payment_years 缴费年期
 * @param {string} params.currency_type 币种
 * @param {string} params.allow_reduce_amount 是否容许减少名义金额
 * @param {string} params.withdrawal_option 提取选项
 * @param {number} params.withdrawal_start_age 提取开始年龄
 * @param {number} params.withdrawal_period 提取期(年)
 * @param {string} params.smoking_status 是否吸烟
 * @param {number} params.total_premium 总保费金额
 * @param {number} params.product_id 产品id
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: {
 *     order_id: string; // 订单ID
 *   };
 * }>}
 */
export const addAPI = (params) => fn(fetch.post(Api.Add, params));

/**
 * @description 删除计划书
 * @param {Object} params 请求参数
 * @param {string} params.i 计划书id
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 * }>}
 */
export const deleteAPI = (params) => fn(fetch.post(Api.Delete, params));

/**
 * @description 查看计划书
 * @param {Object} params 请求参数
 * @param {string} params.i 计划书id
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 * }>}
 */
export const viewAPI = (params) => fn(fetch.post(Api.View, params));

/**
 * @description 计划书列表
 * @param {Object} params 请求参数
 * @param {string} [params.status] 状态筛选(3:待处理,5:处理中,7:已生成,9:已查看)
 * @param {string} [params.keyword] 搜索关键词
 * @param {string} [params.limit] 每页数量(默认10)
 * @param {string} [params.page] 页码(默认0)
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: {
 *     list: Array<{
 *       id: number; // 计划书id
 *       customer_name: string; // 申请人
 *       product_name: string; // 产品名
 *       categories: Array<{
 *         id: string; // 分类id
 *         name: string; // 分类名
 *       }>; // 分类
 *       created_time: string; // 创建时间
 *       order_status: string; // 状态
 *       proposal_files: Array<{
 *         file_name: string; // 文件名称
 *         file_url: string; // 文件地址
 *         id: number; // 文件id
 *       }>; // 生成的计划书
 *     }>; // 计划书列表
 *     total: string; // 总数
 *   };
 * }>}
 */
export const listAPI = (params) => fn(fetch.get(Api.List, params));