追加功能 #441
Updated by Junyi Zhang 10 months ago
*Background*
# New requirement for v4.0 OTS
See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求
*Task List*
# List the functions related to the order list
|_. No |_. Function |_. D/M |_. R/W |_. Done/To-Do |_. Others |
|1 |My Filter | D/M | R/W | Done | v3和v4的filter数据不同共通,但是ID共通,建议创建my-filter时带上v4的标记,方便区分 |
|2 |Regular Filter | D/M | R | Done | Desktop可以显示当前已选择的filters. |
|3 |Current Filter | D/M | R | Done | - |
|4 |Current Input Date | D/M | R | Done | - |
|5 |Display order detail | D/M | R | Done | 单击订单行 |
|6 |Favorite | M | R/W | Done | Mobile长按订单行(除最后一列Update order status) |
|7 |Update Order Status | M | R/W | Done | - |
|8 |Switch compact/full | M | R | Done | - |
|9 |Fold order products | M | R | Done | Compact: 子订单大于等于6
Full: 子订单大于等于9 |
|10 |Tracking Info (filter) | D/M | R | Done | 单击order list中的tracking number |
|11 |Tracking Info (Tracking detail) | D/M | R | To-Do | 双击order list中的tracking number |
|12 |Download attach files | M | R | To-Do | Mobile长按订单行(除最后一列Update order status)
Mobile双击订单行(除最后一列Update order status) |
|13 |Upload product images | M | W | To-Do | Mobile长按订单行(除最后一列Update order status)
Mobile双击订单行(除最后一列Update order status) |
|14 |Display Extra info | M | R | To-Do | Mobile双击订单行(除最后一列Update order status) |
*Task Details*
# *Order list* : mobile/desktop
# *Permission Policy* :
## order list - row:
- Admin: 没有限制
- Retailer: 只看到自己的order (创建订单时可以选择Retailer,或者默认自己如果是Retailer)
- Agent: 允许看到被分配的retailer的order + 允许看到被分配的product的order
- Operator: 同Agent
## order list - column:
- Admin: 允许看到Index, SE date, SE Service
- Retailer: 允许看到 SE date, SE Service (if has_se_info == 1)
- Agent: 同Retailer
- Operator: 同Retailer
## Retailer filter:
- Admin: 没有限制
- Retailer: 不显示该filter
- Agent: 该filter中仅显示被分配给自己的retailers
- Operator: 同Agent
## has_not_cn:
- has_not_cn = 0 -> 筛选非中国订单(order detail "Not CN")
- has_not_cn = 1 -> 中国/非中国都看
## Sub-account:
- Order detail默认选择的ratailer。
- 非retailer可设置sub-account
## SE Status:
- 允许查看/修改 SE order status
- 没有权限的人查看SE order status,默认显示"Send to customer"
# *Information Pattern (Error, Warning, or notification)*
- Form validate
- Loading indicator
- Modal
- Background(red) if [today >= delivery date && Not Completed]
*Questions:*
# 创建User时"Not CN"的意义,静态解析来看,我们将订单分为中国/非中国的订单(创建order时的"Not CN"),使用"Not CN"判断用户是否可以看这两类订单。但从v3的数据来看,我们并没有利用这个字段。v4中我们是否需要重新利用这个字段。
*Van*: %{color:red}可以处理【用户管理 = 权限】部分的时候统一提问,暂时保留此问题%
# mobile子订单折叠: compact版本大于6(P14),full版本大于9(P17)折叠的意图是什么,是否可以子订单无条件折叠(大于3,显示第一条和最后一条,其他子订单折叠并使用'省略号')
*Van*: 折叠的意图是减少order products(子订单)的行数,尽量多显示order,我们可以不使用【...】,可以用【+ -】代表collapsible。
[是否可以子订单无条件折叠] 可以暂时按照需求处理,后期可能需要修改的时候再说。
%{color:red}调查后再提问,暂时保留此问题%
*v4 coding standard:*
# Git提交
#xxx(redmine number): xxx(redmine title) - xxx(任意:补充内容)
# 代码规范
2.1: 结构:Public -> Protected -> Private
2.2: 其他代码规范同SBX
# 数据层规范(Model)
3.1: 数据库操作只应出现在model或者system中。
3.2: v3/v4的model分为两个文件,比如: order.php, order_v3.php
# 前台代码
twig, js, css (js, css尽量写在单独的css文件中)
# 后台代码
MVCL (L:en,cn)
# 注释
## 类名:
<pre>
/**
* xxx
*
* @copyright RedBlue-OTS 2024
* @version v4
*
*/
</pre>
## 函数名:参数类型 + 返回值类型
<pre>
/**
* xxx
*
* @param xxx $xxx
* @param xxx $xxx
* @return xxx
*/
</pre>
*Output*
* Report and Solution
*Others*