Project

General

Profile

追加功能 #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*

Back