/**
 * 投递记录 API 服务
 */

class ApplyRecordsServer {
    /**
     * 分页查询投递记录
     * @param {Object} param - 查询参数
     * @param {Object} param.seachOption - 搜索条件
     * @param {Object} param.pageOption - 分页选项
     * @returns {Promise}
     */
    page(param) {
        return window.framework.http.post('apply/list', param)
    }

    /**
     * 获取单条记录详情
     * @param {String} applyId - 投递记录ID
     * @returns {Promise}
     */
    getById(applyId) {
        return window.framework.http.post('apply/detail', { applyId })
    }

    /**
     * 获取投递统计
     * @returns {Promise}
     */
    statistics() {
        return window.framework.http.get('apply/statistics')
    }

    /**
     * 新增投递记录
     * @param {Object} data - 记录数据
     * @returns {Promise}
     */
    add(data) {
        return window.framework.http.post('apply_records', data)
    }

    /**
     * 更新投递记录
     * @param {Object} row - 记录数据（包含id）
     * @returns {Promise}
     */
    update(row) {
        return window.framework.http.put(`apply_records/${row.applyId}`, row)
    }

    /**
     * 删除投递记录
     * @param {Object} row - 记录数据（包含applyId）
     * @returns {Promise}
     */
    del(row) {
        return window.framework.http.post('apply/delete', { applyId: row.applyId || row.id })
    }

    /**
     * 批量删除
     * @param {Array} ids - ID数组
     * @returns {Promise}
     */
    batchDelete(ids) {
        return window.framework.http.post('apply_records/batch_delete', { ids })
    }

    /**
     * 导出CSV
     * @param {Object} param - 查询参数
     * @returns {Promise}
     */
    exportCsv(param) {
        return window.framework.http.post('apply/export', param, { responseType: 'blob' })
    }
}

export default new ApplyRecordsServer()

