project.js 2.08 KB
import request from '@/service/request.js'
import config from '@/common/config.js'

export default {
	// 获取品项列表
	getProjectList(params = {}) {
		return request.get(`${config.getApiBaseUrl()}/api/Extend/LqXmzl`, params);
	},
	
	// 获取品项详情
	getProjectDetail(id) {
		return request.get(`${config.getApiBaseUrl()}/api/Extend/LqXmzl/${id}`);
	},
	
	// 创建品项
	createProject(data) {
		return request.post(`${config.getApiBaseUrl()}/api/Extend/LqXmzl`, data);
	},
	
	// 更新品项
	updateProject(id, data) {
		return request.put(`${config.getApiBaseUrl()}/api/Extend/LqXmzl/${id}`, data);
	},
	
	// 删除品项
	deleteProject(id) {
		return request.del(`${config.getApiBaseUrl()}/api/Extend/LqXmzl/${id}`);
	},
	
	// 获取品项选项(用于下拉选择)
	async getProjectOptions(params = {}) {
		try {
			const defaultParams = {
				page: 1,
				pageSize: 1000,
				...params
			};
			
			const result = await this.getProjectList(defaultParams);
			
			if (result.code === 200 && result.data && result.data.list) {
				return result.data.list.map(item => ({
					value: item.id,
					label: item.xmmc,
					px: item.id,
					pxmc: item.xmmc,
					pxjg: item.pxjg || 0, // 品项价格
					qt2: item.qt2,
					// 可以根据需要添加更多字段
					description: item.description || '',
					status: item.status || 1
				}));
			}
			
			// 如果API调用失败,返回默认数据
			console.warn("获取品项列表失败,使用默认数据");
			return this.getDefaultProjectOptions();
		} catch (error) {
			console.error("获取品项选项出错:", error);
			return this.getDefaultProjectOptions();
		}
	},
	
	// 获取默认品项选项(当API调用失败时使用)
	getDefaultProjectOptions() {
		return [
			{ value: '1', label: '品项1', px: '1', pxmc: '品项1', pxjg: 100, qt2: '' },
			{ value: '2', label: '品项2', px: '2', pxmc: '品项2', pxjg: 200, qt2: '' }
		];
	},
	
	// 搜索品项
	searchProjects(keyword, params = {}) {
		const searchParams = {
			...params,
			xmmc: keyword // 根据品项名称搜索
		};
		return this.getProjectList(searchParams);
	}
}