import request from '@/router/axios' /** * 地址分页查询 * @param {number} current - 当前页码 * @param {number} size - 每页大小 * @param {CustomerAddressQueryParams} params - 查询参数 * @returns {Promise>>>} 分页查询结果 */ export const getList = async (current, size, params) => { return request({ url: '/api/blade-factory/api/factory/address', method: 'get', params: { ...params, current, size } }) } /** * 添加地址 * @param {CustomerAddressForm} row - 地址表单数据 * @returns {Promise>>} 添加结果 */ export const add = async (row) => { return request({ url: '/api/blade-factory/api/factory/address', method: 'post', data: row }) } /** * 修改地址 * @param {CustomerAddressForm} row - 地址表单数据 * @returns {Promise>>} 修改结果 */ export const update = async (row) => { return request({ url: '/api/blade-factory/api/factory/address', method: 'put', data: row }) } /** * 删除地址 * @param {string} ids - 要删除的ID,多个用逗号分隔 * @returns {Promise>>} 删除结果 */ export const remove = async (ids) => { return request({ url: '/api/blade-factory/api/factory/address/remove', method: 'delete', params: { ids } }) } /** * 获取地址详情 * @param {string|number} id - 地址ID * @returns {Promise>>} 地址详情 */ export const getDetail = async (id) => { return request({ url: `/api/blade-factory/api/factory/address/${id}`, method: 'get' }) } /** * @typedef {Object} CustomerAddressQueryParams * @property {string} [customerCode] - 客户编码 * @property {string} [customerName] - 客户名称 * @property {string} [receiverName] - 收货人姓名 * @property {string} [receiverPhone] - 收货人电话 * @property {string} [regionName] - 地区名称 * @property {number} [isDefault] - 是否默认地址 0-否 1-是 * @property {number} [isActive] - 是否启用 0-禁用 1-启用 */ /** * @typedef {Object} CustomerAddressForm * @property {string|number} [id] - 地址ID(修改时必填) * @property {number} customerId - 客户ID * @property {string} customerCode - 客户编码 * @property {string} customerName - 客户名称 * @property {string} receiverName - 收货人姓名 * @property {string} receiverPhone - 收货人电话 * @property {string} regionCode - 地区编码 * @property {string} regionName - 地区名称 * @property {string} detailAddress - 详细地址 * @property {string} [postalCode] - 邮政编码 * @property {number} [isDefault] - 是否默认地址 0-否 1-是 * @property {number} [isActive] - 是否启用 0-禁用 1-启用 */ /** * @typedef {Object} CustomerAddressItem * @property {string} id - 地址ID * @property {string} createUser - 创建用户ID * @property {string} createDept - 创建部门ID * @property {string} createTime - 创建时间 * @property {string} updateUser - 更新用户ID * @property {string} updateTime - 更新时间 * @property {number} status - 状态 * @property {number} isDeleted - 是否删除 0-否 1-是 * @property {number} customerId - 客户ID * @property {string} customerCode - 客户编码 * @property {string} customerName - 客户名称 * @property {string} receiverName - 收货人姓名 * @property {string} receiverPhone - 收货人电话 * @property {string} regionCode - 地区编码 * @property {string} regionName - 地区名称 * @property {string} detailAddress - 详细地址 * @property {string} postalCode - 邮政编码 * @property {number} isDefault - 是否默认地址 0-否 1-是 * @property {number} isActive - 是否启用 0-禁用 1-启用 */ // 引用公共类型定义 /** * @typedef {import('../types/common.js').ApiResponse} ApiResponse * @typedef {import('../types/common.js').PageResult} PageResult */ /** * 获取客户地址列表 * @param {string|number} customerId - 客户ID * @returns {Promise>>} 客户地址列表 */ export const getAddressList = async (customerId) => { return request({ url: '/api/blade-factory/api/factory/salesOrder/getAddressList', method: 'get', params: { customerId } }) } /** * 添加客户地址 * @param {CustomerAddressForm} row - 地址表单数据 * @returns {Promise>>} 添加结果 */ export const addAddress = async (row) => { return request({ url: '/api/blade-factory/api/factory/salesOrder/addAddress', method: 'post', data: row }) } /** * 更新客户地址 * @param {CustomerAddressForm} row - 地址表单数据 * @returns {Promise>>} 更新结果 */ export const updateAddress = async (row) => { return request({ url: '/api/blade-factory/api/factory/salesOrder/updateAddress', method: 'put', data: row }) } /** * 设置默认地址 * @param {string|number} id - 地址ID * @param {string|number} customerId - 客户ID * @returns {Promise>>} 设置结果 */ export const setDefaultAddress = async (id, customerId) => { return request({ url: '/api/blade-factory/api/factory/salesOrder/setDefaultAddress', method: 'put', params: { id, customerId } }) } /** * 删除客户地址 * @param {string|number} id - 地址ID * @returns {Promise>>} 删除结果 */ export const deleteAddress = async (id) => { return request({ url: '/api/blade-factory/api/factory/salesOrder/deleteAddress', method: 'delete', params: { id } }) }