Project

General

Profile

追加功能 #441

Updated by Xihua Fan about 1 year ago

*Background* 
 # New requirement for v4.0 OTS 
   See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求 

 *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 (%{color:red}to-do%) (to-do) 
    - Background(red) if [today >= delivery date && Not Completed] 

 *Questions:* 
 # 新的8种订单状态:(Page 20) delivered, arrived in Se-Warehouse, Arrived in SE-Office 这几种订单状态不在这八种之内,在order list如何表示这几种状态(颜色 or 文字)。 
   *Van*:可以暂时跳过。 
 # 这8种是否应作用于desktop和mobile版,不只是mobile版本。 
   *Van*:应该是7种, *labelled* (建议 status = false),因为v3没有这个状态。是的,理论上所有平台都适用。 
 # Mobile Main界面:建议暂时先不开发main界面,登录之后直接跳到order界面,因为暂时就一个模块,main界面完全可以不使用,等开发第二个模块时,在回过头设计main界面。 
   *Van*:可以考虑desktop + mobile都开发main页面,暂时可以跳过。 
 # Mobile 子订单折叠时的状态提示:  
   - 当子订单折叠时,默认显示第一条子订单,并显示对应的背景颜色(但是Desktop默认所有订单产品都会显示) 
     则此时,对于浏览的人员,可能会错过某些子订单的状态,建议当折叠时,做些适当的提示信息(子订单含不同的状态) 
   *Van*:暂时可以跳过, 或者比如提示多条订单产品的时候(多个 “.” 就OK了),用户会主动点击展开。 
 # Mobile 超时未发货的提示: 
   - delivery date 小于 今天    --> 当前订单行红色背景提示:mobile是否需要此功能? 
   *Van*:需要,警告提示我们可能需要【共通化】,回头我们可以一起考虑。 
 # “特别关注”的订单: 
   - 当在V4对订单设定了‘特别关注’,是否需要体现到v3上,或者这个功能是mobile独有的功能,无需体现到desktop(v3+v4)版。 
   - 建议:无需体现到v3,    仅v4(mobile+desktop)支持‘特别关注’功能。 (Extra: 个人感觉,“特别关注” 和 ”UGC“ 都使用”星型“图标有些重复) 
   *Van*:是的,v4独有(建议所有的功能desktop + mobile都共有,除非开发花费很多时间,具体问题可以再讨论),“特别关注”可以考虑使用 【♥】 icon。 
 # Mobile order list上传产品图片的功能(双击):上传之后的图片是否需要查看,也许我们需要某个位置来管理这些图片。 
   *Van*:是的,你的理解正确。但是怎么呈现我们再讨论。 
 # Mobile order list涉及常规/非常规订单相关的问题等开发产品模块时在做考虑 
   *Van*:v3中含有【special】的产品,你的意思是使用flag(DB中新的字段?),我们可以暂时跳过,使用【文字】判断。 
          另外,区分标识没有文档说明的意思?如果是,我建议使用【※】icon,连接在产品名后面,比如 【Special - Display ※】,样式我们后面可以修改。 
 # (word p14)Input date往前推3天?是默认显示[3天前]-[今天](即默认显示这几天的数据),还是筛选的时候默认在筛选的日期加3天的意思(即在筛选的基础上额外筛选三天的数据)。是否desktop和mobile同步此filter。 
   *Van*: 将trello提问 
 # 创建User时"Not CN"的意义,静态解析来看,我们将订单分为中国/非中国的订单(创建order时的"Not CN"),使用"Not CN"判断用户是否可以看这两类订单。但从v3的数据来看,我们并没有利用这个字段。v4中我们是否需要重新利用这个字段。 
   *Van*: 将trello提问 
 # 关于权限问题:V3在创建user时,可以设置用户可看的product和ratailer,但是如果没有设置,则该用户可看到所有的订单(无论用户的权限是什么),个人认为是bug,已在V4版本中修复(product和retailer是"和"的关系),如果理解有误,请指正。 
   *Van*: 【不选】 和 【全选】 代表相同含义,个人支持【BUG修改】,但能否调查现在prod数据库有【不选】用户的嘛? 
           另外,v4的user模块(不选/全选)我们应该遵循【所见即所得】的规律。 

 *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