/** * 调查问卷选项管理API接口 * @fileoverview 提供选项的增删改查功能 */ import request from '@/router/axios' /** * 选项查询参数类型定义 * @typedef {Object} OptionQueryParams * @property {string|number} questionId - 题目ID * @property {number} [size=10] - 每页数量 * @property {number} [current=1] - 当前页码 */ /** * 选项表单数据类型定义 * @typedef {Object} OptionForm * @property {string|number} [id] - 选项ID(编辑时必填) * @property {string|number} questionId - 题目ID * @property {number} optionNo - 选项序号 * @property {string} optionText - 选项文本 */ /** * 选项数据项类型定义 * @typedef {Object} OptionItem * @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 - 是否删除 * @property {string|number} questionId - 题目ID * @property {number} optionNo - 选项序号 * @property {string} optionText - 选项文本 */ /** * 选项列表响应数据类型定义 * @typedef {Object} OptionListResponse * @property {Array} records - 选项列表 * @property {number} total - 总数 * @property {number} size - 每页数量 * @property {number} current - 当前页码 * @property {Array} orders - 排序 * @property {boolean} optimizeCountSql - 优化计数SQL * @property {boolean} hitCount - 命中计数 * @property {null} countId - 计数ID * @property {null} maxLimit - 最大限制 * @property {boolean} searchCount - 搜索计数 * @property {number} pages - 总页数 */ /** * 获取选项列表 * @param {OptionQueryParams} params - 查询参数 * @returns {Promise<{code: number, success: boolean, data: OptionListResponse, msg: string}>} 选项列表响应 */ export async function getOptionList(params) { return await request({ url: '/api/blade-factory/api/factory/survey-option', method: 'get', params }) } /** * 添加选项 * @param {OptionForm} data - 选项表单数据 * @returns {Promise<{code: number, success: boolean, data: boolean, msg: string}>} 添加结果 */ export async function addOption(data) { return await request({ url: '/api/blade-factory/api/factory/survey-option', method: 'post', data }) } /** * 修改选项 * @param {OptionForm} data - 选项表单数据 * @returns {Promise<{code: number, success: boolean, data: boolean, msg: string}>} 修改结果 */ export async function updateOption(data) { return await request({ url: '/api/blade-factory/api/factory/survey-option', method: 'put', data }) }