追加功能 #441
Updated by Junyi Zhang 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
## has_not_cn:
- has_not_cn = 0 -> 筛选非中国订单(order detail "Not CN")
- has_not_cn = 1 -> 中国/非中国都看
## Sub-account:
- Order detail默认选择的ratailer。
## SE Status:
- 允许查看/修改 SE order status
- 没有权限的人查看SE order status,默认显示"Send to customer"
# *Information Pattern (Error, Warning, or notification)*
- Form validate
- Loading indicator
- Modal (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。
# 创建User时"Not CN"的意义,静态解析来看,我们将订单分为中国/非中国的订单(创建order时的"Not CN"),使用"Not CN"判断用户是否可以看这两类订单。但从v3的数据来看,我们并没有利用这个字段。v4中我们是否需要重新利用这个字段。
# 关于权限问题:V3在创建user时,可以设置用户可看的product和ratailer,但是如果没有设置,则该用户可看到所有的订单(无论用户的权限是什么),个人认为是bug,已在V4版本中修复(product和retailer是"和"的关系),如果理解有误,请指正。
*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*