import { getServiceUrl } from '../api'; import RequestService from '../httpRequest'; export default { // 获取字典类型列表 getDictTypeList(params, callback) { const queryParams = new URLSearchParams({ dictType: params.dictType || '', dictName: params.dictName || '', page: params.page || 1, limit: params.limit || 10 }).toString(); RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/type/page?${queryParams}`) .method('GET') .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('获取字典类型列表失败:', err) this.$message.error(err.msg || '获取字典类型列表失败') RequestService.reAjaxFun(() => { this.getDictTypeList(params, callback) }) }).send() }, // 获取字典类型详情 getDictTypeDetail(id, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/type/${id}`) .method('GET') .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('获取字典类型详情失败:', err) this.$message.error(err.msg || '获取字典类型详情失败') RequestService.reAjaxFun(() => { this.getDictTypeDetail(id, callback) }) }).send() }, // 新增字典类型 addDictType(data, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/type/save`) .method('POST') .data(data) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('新增字典类型失败:', err) this.$message.error(err.msg || '新增字典类型失败') RequestService.reAjaxFun(() => { this.addDictType(data, callback) }) }).send() }, // 更新字典类型 updateDictType(data, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/type/update`) .method('PUT') .data(data) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('更新字典类型失败:', err) this.$message.error(err.msg || '更新字典类型失败') RequestService.reAjaxFun(() => { this.updateDictType(data, callback) }) }).send() }, // 删除字典类型 deleteDictType(ids, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/type/delete`) .method('POST') .data(ids) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('删除字典类型失败:', err) this.$message.error(err.msg || '删除字典类型失败') RequestService.reAjaxFun(() => { this.deleteDictType(ids, callback) }) }).send() }, // 获取字典数据列表 getDictDataList(params, callback) { const queryParams = new URLSearchParams({ dictTypeId: params.dictTypeId, dictLabel: params.dictLabel || '', dictValue: params.dictValue || '', page: params.page || 1, limit: params.limit || 10 }).toString(); RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/page?${queryParams}`) .method('GET') .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('获取字典数据列表失败:', err) this.$message.error(err.msg || '获取字典数据列表失败') RequestService.reAjaxFun(() => { this.getDictDataList(params, callback) }) }).send() }, // 获取字典数据详情 getDictDataDetail(id, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/${id}`) .method('GET') .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('获取字典数据详情失败:', err) this.$message.error(err.msg || '获取字典数据详情失败') RequestService.reAjaxFun(() => { this.getDictDataDetail(id, callback) }) }).send() }, // 新增字典数据 addDictData(data, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/save`) .method('POST') .data(data) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('新增字典数据失败:', err) this.$message.error(err.msg || '新增字典数据失败') RequestService.reAjaxFun(() => { this.addDictData(data, callback) }) }).send() }, // 更新字典数据 updateDictData(data, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/update`) .method('PUT') .data(data) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('更新字典数据失败:', err) this.$message.error(err.msg || '更新字典数据失败') RequestService.reAjaxFun(() => { this.updateDictData(data, callback) }) }).send() }, // 删除字典数据 deleteDictData(ids, callback) { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/delete`) .method('POST') .data(ids) .success((res) => { RequestService.clearRequestTime() callback(res) }) .networkFail((err) => { console.error('删除字典数据失败:', err) this.$message.error(err.msg || '删除字典数据失败') RequestService.reAjaxFun(() => { this.deleteDictData(ids, callback) }) }).send() }, // 获取字典数据列表 getDictDataByType(dictType) { return new Promise((resolve, reject) => { RequestService.sendRequest() .url(`${getServiceUrl()}/admin/dict/data/type/${dictType}`) .method('GET') .success((res) => { RequestService.clearRequestTime() if (res.data && res.data.code === 0) { resolve(res.data) } else { reject(new Error(res.data?.msg || '获取字典数据列表失败')) } }) .networkFail((err) => { console.error('获取字典数据列表失败:', err) reject(err) }).send() }) } }