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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# 品项字段优化说明
## 概述
已成功按照提供的字段规范优化了品项相关的数据结构和方法,支持更完善的品项管理功能。
## 字段结构
### 新的品项字段
```javascript
{
px: '', // 品项id
pxmc: '', // 品项名称
pxjg: 0, // 单价通过总价除以数量自动计算
actualPrice: 0, // 总价
projectNumber: 1, // 数量
sourceType: '', // 类型选择(购买,体验,赠送)
jksList: [], // 健康师列表
kjbList: [] // 科技部人员列表
}
```
## 功能特性
### 1. 自动计算功能
- **单价计算**: 总价 ÷ 数量 = 单价
- **总价计算**: 单价 × 数量 = 总价
- **实时更新**: 修改总价或数量时自动重新计算单价
### 2. 类型选择
- **购买**: 正常购买类型
- **体验**: 体验类型
- **赠送**: 赠送类型
### 3. 界面布局
- **第一行**: 品项选择 + 总价输入 + 删除按钮
- **第二行**: 数量输入 + 类型选择
- **第三行**: 单价显示
- **第四行**: 健康师和科技部人员选择
- **第五行**: 已选择的人员列表
## 方法说明
### 数据更新方法
```javascript
// 更新品项总价
updatePxActualPrice(index, value)
// 更新品项数量
updatePxProjectNumber(index, value)
// 计算品项单价(总价除以数量)
calculatePxUnitPrice(index)
// 计算品项总价(单价乘以数量)
calculatePxTotalPrice(index)
```
### 类型选择方法
```javascript
// 打开类型选择器
openSourceTypePicker(index)
// 关闭类型选择器
closeSourceTypePicker()
// 确认类型选择
onSourceTypeConfirm(e)
```
## 样式优化
### 新增样式类
- `.px-type-select`: 类型选择器样式
- `.px-unit-price`: 单价显示区域样式
- `.price-label`: 价格标签样式
- `.price-value`: 价格数值样式
- `.px-row-fifth`: 第五行布局样式
### 响应式支持
- 在小屏幕设备上,所有行都会垂直排列
- 保持良好的移动端体验
## 使用示例
### 添加品项
```javascript
// 添加新的品项行
this.addPxRow();
```
### 选择品项
```javascript
// 选择品项后会自动设置ID、名称和单价
// 并自动计算总价
```
### 修改价格
```javascript
// 修改总价会自动计算单价
this.updatePxActualPrice(0, '1000');
// 修改数量会自动计算单价
this.updatePxProjectNumber(0, '5');
```
## 注意事项
1. **数据验证**: 数量必须大于0,否则默认为1
2. **价格计算**: 所有价格计算都保留2位小数
3. **类型必选**: 建议用户选择品项类型
4. **实时更新**: 价格和数量修改会实时触发计算
5. **兼容性**: 保持了原有的健康师和科技部人员选择功能
|