文睿 张
|
62372abeb6
|
fix(material-import): 导入上限下调为 1MB/10000 行,同步提示、文档与测试
|
2026-10-12 16:51:58 +08:00 |
|
文睿 张
|
ec293fa8b2
|
fix: 校验物料名称和规格长度
|
2026-10-12 15:37:54 +08:00 |
|
文睿 张
|
0ddda5363e
|
fix(material-import): 完善批量导入异常提示,仅保存成功历史,补齐审计日志名称、编码、详情及物料快照。上传解析前限制请求大小,逐行读取提前拦截超限数据,保留空行和真实行号规则。补充回归测试,同步计划、接口说明及八条人工用例。
|
2026-10-12 11:37:37 +08:00 |
|
文睿 张
|
7f2b296339
|
feat: 物料页面接入批量导入与模板下载
- 顶部加「下载模板」「批量导入」两个按钮和隐藏的 xlsx 文件输入
- 上传走保存互斥,飞行期间禁止切换公司;importing 标志挡住重复选文件
- 发起请求前清空 input.value,否则连续选同一个文件不会再触发 change
- 校验失败(400 且 data 带 errors)弹结果弹窗,其余错误走兜底提示
- 成功后刷新到第一页并提示导入条数
测试里挂载后先把 fetchMaterials mockClear 掉:onMounted 已经拉过一次列表,
不清空的话「未被调用」必然失败、成功用例的断言也没有区分度;成功那条改成断言
具体的 (1, '', 'all') 参数。
|
2026-10-10 16:30:27 +08:00 |
|
文睿 张
|
616a4a3b1d
|
feat: 物料增加初始单位,补充物料批量上传计划
- 物料默认单位由 pcs 改为「个」,新建/编辑表单与后端 Create 保持一致
- 单位下拉增加未选择时的默认提示
- init.sql 补充 30 个常用计量单位种子数据
- init.sql 新增 material_import_logs 表,为批量导入提供落库
- 新增物料批量导入实施计划文档,相关测试期望值同步更新
|
2026-10-10 14:15:49 +08:00 |
|
文睿 张
|
dff5420a31
|
fix: 物料图片上传纳入保存互斥
|
2026-10-09 14:34:43 +08:00 |
|
文睿 张
|
1a4b48cf9a
|
fix: 切换公司时重置组织级页面状态
- 组织级 store 统一提供 resetForOrganization,清空缓存、查询参数、分页与 loading
- 加载方法提交状态前校验捕获的公司 ID 与上下文版本,旧公司延迟响应不再覆盖新公司
- 页面重挂载清理局部状态(物料选择、单据 ID、申请详情、审批弹窗)
- 新增切换守卫,脏表单时取消切换不清空数据、保存期间禁止切换
- 接上库存事件消费与写请求的保存互斥标记
- 仓库配置页在已有仓库/库位时隐藏新增入口,仅保留编辑与启停
|
2026-10-09 14:19:17 +08:00 |
|
文睿 张
|
6ac9f2cb3c
|
新增伙伴业务分类,优化物料编辑并整理数据库脚本
|
2026-10-08 11:54:51 +08:00 |
|
文睿 张
|
c9f0a69f8e
|
停用显示修复
|
2026-09-23 14:53:27 +08:00 |
|
文睿 张
|
7f06b2ee58
|
bugs修复
|
2026-09-23 14:46:51 +08:00 |
|
文睿 张
|
688dffebaa
|
fix: 物料页两个作废入口的按钮宽度对齐
「作废」和「撤销作废」轮流出现在同一列,2 字对 4 字,宽度不一样,最右边按钮的
位置会参差。把「作废」改成「作废物料」,两边都是 4 个中文字,同字体同字号下自然
等宽,不依赖写死的 px 值——本项目的测试环境是 jsdom,不做布局计算,量不了像素,
写死的值只能靠猜。
顺带修了测试里的一个自欺:那行物料原本叫「作废物料」,和按钮文案撞名,而按钮
自身就在那一行里,用 toContain 断言行归属会恒为真。改成「旧螺丝」才真的在测。
测试补 1 条(锁住两个按钮的文案字数相同)。变异验证:把「作废物料」改回「作废」,
文案断言和字数断言都变红。
|
2026-09-22 15:15:54 +08:00 |
|
文睿 张
|
b9c0681c47
|
fix: 物料页的「撤销」按钮文案改成「撤销作废」
「撤销」在中文 UI 里默认指撤销上一步(Ctrl+Z),看不出在撤销什么;这一页又
没有状态列(文案即状态),用户看到一行数据和绿色「撤销」按钮,无从判断这条
物料被作废了。改成「撤销作废」后,按钮自身就说明了这条物料怎么了。
只改这一处按钮文案。全站其他实体(仓库与库位、主数据、组织、角色、往来单位)
仍用「停用/启用」,那是另一套配对,跟这里的「作废/撤销作废」不冲突。
测试补 1 条,同时锁住两个入口的互斥关系(作废的那行不该再有「作废」,有效的
那行不该有「撤销作废」)。变异验证两处:文案改回「撤销」、以及把作废按钮的
状态条件去掉让两个入口同时出现,断言都变红。
|
2026-09-22 15:06:08 +08:00 |
|
文睿 张
|
43f680219e
|
fix: 物料主数据页检索不到已作废的物料
检索框是 el-select,必须从下拉候选项里选一项才能设上关键字,而候选项取自
materialOptions(status='active'),作废物料压根不在里面,搜不到也选不中。
可这一页的列表查询走 status='all',本身就显示着作废物料——同一份数据两条
路径不一致,而且这一页正是恢复作废物料的入口。
改法照 Logs.vue / Stock.vue 流水检索框的既有做法:这一页改用含作废的
historicalMaterialOptions / fetchHistoricalMaterialOptions()。业务单据页
(入库/出库/申请)保持只用有效物料不动。
后端无需改动,已实测:status=all&search=A010201 返回 1 条 obsolete,
status=active 对同一关键字返回 0 条。
测试补 1 条。变异验证:候选项来源和 onMounted 那处分别改回原样,断言都变红。
|
2026-09-22 14:53:18 +08:00 |
|
文睿 张
|
bcee877278
|
fix: 物料/用户增删改后列表的搜索关键字被丢弃
写操作后原地重新拉取列表时,search 参数被写死成缺省的空串:搜索框里还显示着
用户输入的关键字,列表却退回全量。用户会把全量列表当成筛选结果,接下来的作废/
删除操作就打在被误认的那一条上。store 层一直有这个缺陷却没被拦住,因为页面
那层没有测试。
修法照 stock.js / approval.js 已有的约定(store 存一份 filters,写操作原地刷新
时取出来用):
- materials.js:编辑/作废/恢复沿用 search 和 status
- users.js:编辑/删除沿用 search
- 新增走反方向,清空筛选并回第 1 页:新建的项不一定匹配当前关键字,沿用搜索
就看不见它,用户会以为没建成功。物料按 id 倒序,回第 1 页正好能看见
- Materials.vue / Users.vue:新增成功后把搜索框一起清空,否则 store 清了筛选而
搜索框没清,同样是表里不一
测试补 14 条(两个 store + 两个页面)。全部做过变异验证:把实现改回原样后,
6 条 store 断言和 2 条页面断言确实变红,且只有它们变红。
|
2026-09-22 14:40:21 +08:00 |
|
文睿 张
|
85d9683754
|
前端提示优化
|
2026-09-21 16:40:43 +08:00 |
|
文睿 张
|
ea63cd9931
|
修改一致性问题
|
2026-09-21 14:13:30 +08:00 |
|
文睿 张
|
8a60e2cb00
|
前端报错提示优化
|
2026-09-20 17:17:28 +08:00 |
|
文睿 张
|
d463fbf71a
|
修改前端报错文案
|
2026-09-20 16:59:38 +08:00 |
|
文睿 张
|
a7c7936e0b
|
feat: 实现物料编码按分类规则自动生成、手工修改及并发安全的流水号管理
|
2026-09-20 16:48:06 +08:00 |
|
文睿 张
|
6a443577b0
|
更新init.sql
|
2026-09-17 17:55:03 +08:00 |
|
文睿 张
|
368c0bfb99
|
fix: improve material search selectors
|
2026-09-17 09:48:04 +08:00 |
|
文睿 张
|
1cc3584f1a
|
restore lost frontend and backend changes
|
2026-09-16 23:30:25 +08:00 |
|
文睿 张
|
31aae223c2
|
Initial commit
|
2026-09-15 16:08:18 +08:00 |
|