Blame view

绿纤uni-app/apis/modules/project.js 2.08 KB
29608708   李宇   增加unia-app和html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  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);
  	}
  }