From 8f96197aa51b1ab5e2451faf0e9b289b9e111b17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E6=96=87=E6=98=8A?=
<15984991+wwh2328692301@user.noreply.gitee.com>
Date: Wed, 20 May 2026 11:09:08 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=BE=85=E5=8A=9E?=
=?UTF-8?q?=E4=BA=8B=E9=A1=B9=E6=A8=A1=E5=9D=97=E5=8F=8A=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
新增待办事项页面,包含钢卷列表展示、筛选功能、钢卷详情页,支持重贴标签操作和查看改判/调拨记录,同时添加底部 tab 栏入口和对应图标资源
---
apps/hand-factory/api/wms/todo.js | 19 +
apps/hand-factory/pages.json | 31 +-
apps/hand-factory/pages/todo/coil-detail.vue | 387 ++++++++++++++
.../pages/todo/components/coil-card.vue | 238 +++++++++
.../pages/todo/components/filter-bar.vue | 317 ++++++++++++
.../pages/todo/components/record-popup.vue | 446 +++++++++++++++++
.../pages/todo/components/relabel-popup.vue | 222 ++++++++
apps/hand-factory/pages/todo/index.vue | 473 ++++++++++++++++++
.../static/images/tabbar/todo.png | Bin 0 -> 4108 bytes
.../static/images/tabbar/todo_.png | Bin 0 -> 5008 bytes
10 files changed, 2121 insertions(+), 12 deletions(-)
create mode 100644 apps/hand-factory/api/wms/todo.js
create mode 100644 apps/hand-factory/pages/todo/coil-detail.vue
create mode 100644 apps/hand-factory/pages/todo/components/coil-card.vue
create mode 100644 apps/hand-factory/pages/todo/components/filter-bar.vue
create mode 100644 apps/hand-factory/pages/todo/components/record-popup.vue
create mode 100644 apps/hand-factory/pages/todo/components/relabel-popup.vue
create mode 100644 apps/hand-factory/pages/todo/index.vue
create mode 100644 apps/hand-factory/static/images/tabbar/todo.png
create mode 100644 apps/hand-factory/static/images/tabbar/todo_.png
diff --git a/apps/hand-factory/api/wms/todo.js b/apps/hand-factory/api/wms/todo.js
new file mode 100644
index 0000000..e0fca91
--- /dev/null
+++ b/apps/hand-factory/api/wms/todo.js
@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+// 查询改判记录(根据钢卷ID)
+export function listChangeHistory(coilId) {
+ return request({
+ url: '/wms/coilQualityRejudge/list',
+ method: 'get',
+ params: { coilId }
+ })
+}
+
+// 查询调拨记录(根据钢卷ID)
+export function listTransferHistory(coilId) {
+ return request({
+ url: '/wms/transferOrderItem/list',
+ method: 'get',
+ params: { coilId }
+ })
+}
diff --git a/apps/hand-factory/pages.json b/apps/hand-factory/pages.json
index c4c3a32..cb8e484 100644
--- a/apps/hand-factory/pages.json
+++ b/apps/hand-factory/pages.json
@@ -100,6 +100,19 @@
"style": {
"navigationBarTitleText": "发货"
}
+ },
+ {
+ "path": "pages/todo/index",
+ "style": {
+ "navigationBarTitleText": "待办事项",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/todo/coil-detail",
+ "style": {
+ "navigationBarTitleText": "钢卷详情"
+ }
}
],
"globalStyle": {
@@ -116,24 +129,18 @@
"selectedIconPath": "/static/images/tabbar/home_.png",
"iconPath": "/static/images/tabbar/home.png"
},
+ {
+ "text": "待办",
+ "pagePath": "pages/todo/index",
+ "selectedIconPath": "/static/images/tabbar/todo_.png",
+ "iconPath": "/static/images/tabbar/todo.png"
+ },
{
"text": "扫码",
"pagePath": "pages/easycode/easycode",
"selectedIconPath": "/static/images/tabbar/work_.png",
"iconPath": "/static/images/tabbar/work.png"
},
- // {
- // "text": "收货",
- // "pagePath": "pages/receive/receive",
- // "selectedIconPath": "/static/images/tabbar/receive_.png",
- // "iconPath": "/static/images/tabbar/receive.png"
- // },
- // {
- // "text": "查找",
- // "pagePath": "pages/search/search",
- // "selectedIconPath": "/static/images/tabbar/search_.png",
- // "iconPath": "/static/images/tabbar/search.png"
- // },
{
"text": "报餐",
"pagePath": "pages/meal/meal",
diff --git a/apps/hand-factory/pages/todo/coil-detail.vue b/apps/hand-factory/pages/todo/coil-detail.vue
new file mode 100644
index 0000000..b518afa
--- /dev/null
+++ b/apps/hand-factory/pages/todo/coil-detail.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+ 📋
+ 基础信息
+
+
+
+ 厂家卷号
+ {{ coilInfo.factoryCoilNo || '-' }}
+
+
+ 物料类型
+ {{ coilInfo.itemType || '-' }}
+
+
+ 产品名称
+ {{ coilInfo.itemName || '-' }}
+
+
+ 规格
+ {{ coilInfo.specification || '-' }}
+
+
+ 材质
+ {{ coilInfo.material || '-' }}
+
+
+ 厂家
+ {{ coilInfo.manufacturer || '-' }}
+
+
+
+
+
+
+
+ 📦
+ 库存信息
+
+
+
+ 逻辑库区
+ {{ coilInfo.warehouseName || '-' }}
+
+
+ 实际库区
+ {{ coilInfo.actualWarehouseName || '-' }}
+
+
+ 净重(吨)
+ {{ coilInfo.netWeight || '-' }}
+
+
+ 毛重(吨)
+ {{ coilInfo.grossWeight || '-' }}
+
+
+ 长度(米)
+ {{ coilInfo.length || '-' }}
+
+
+ 质量状态
+
+ {{ coilInfo.qualityStatus || '-' }}
+
+
+
+
+
+
+
+
+ ⚙️
+ 加工信息
+
+
+
+ 表面处理
+ {{ coilInfo.surfaceTreatment || '-' }}
+
+
+ 镀层质量
+ {{ coilInfo.coatingWeight || '-' }}
+
+
+ 包装要求
+ {{ coilInfo.packaging || '-' }}
+
+
+ 切边
+ {{ coilInfo.cuttingEdge || '-' }}
+
+
+ 班组
+ {{ coilInfo.team || '-' }}
+
+
+ 备注
+ {{ coilInfo.remark || '-' }}
+
+
+
+
+
+
+
+ 👤
+ 操作信息
+
+
+
+ 创建人
+ {{ coilInfo.creator || '-' }}
+
+
+ 创建时间
+ {{ coilInfo.createTime || '-' }}
+
+
+ 更新人
+ {{ coilInfo.updater || '-' }}
+
+
+ 更新时间
+ {{ coilInfo.updateTime || '-' }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/todo/components/coil-card.vue b/apps/hand-factory/pages/todo/components/coil-card.vue
new file mode 100644
index 0000000..7004358
--- /dev/null
+++ b/apps/hand-factory/pages/todo/components/coil-card.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+ 当前钢卷号
+ {{ data.currentCoilNo || '-' }}
+
+
+ 产品类型
+ {{ data.itemName || '-' }}
+
+
+
+
+
+ 实际库区
+ {{ data.actualWarehouseName || '-' }}
+
+
+ 备注
+ {{ data.remark || '-' }}
+
+
+
+
+
+ 调拨类型
+ {{ data.transferType }}
+ -
+
+
+ 改判原因
+ {{ data.changeReason || '-' }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/todo/components/filter-bar.vue b/apps/hand-factory/pages/todo/components/filter-bar.vue
new file mode 100644
index 0000000..d7600fa
--- /dev/null
+++ b/apps/hand-factory/pages/todo/components/filter-bar.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+ 入场卷号
+
+
+
+ 当前卷号
+
+
+
+
+
+
+ 产品名称
+
+
+
+ 规格
+
+
+
+
+
+
+ 材质
+
+
+
+ 厂家
+
+
+
+
+
+
+
+
+
+
+
+ 找到 {{ total }} 条记录
+ ✕
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/todo/components/record-popup.vue b/apps/hand-factory/pages/todo/components/record-popup.vue
new file mode 100644
index 0000000..b3e3cae
--- /dev/null
+++ b/apps/hand-factory/pages/todo/components/record-popup.vue
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/todo/components/relabel-popup.vue b/apps/hand-factory/pages/todo/components/relabel-popup.vue
new file mode 100644
index 0000000..2437627
--- /dev/null
+++ b/apps/hand-factory/pages/todo/components/relabel-popup.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/todo/index.vue b/apps/hand-factory/pages/todo/index.vue
new file mode 100644
index 0000000..e7a0657
--- /dev/null
+++ b/apps/hand-factory/pages/todo/index.vue
@@ -0,0 +1,473 @@
+
+
+
+
+
+ 待办事项
+
+
+
+
+
+
+ {{ tab.label }}
+ {{ tab.badge }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 🚧
+ 功能开发中
+
+
+
+
+ 📭
+ 暂无待办事项
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/static/images/tabbar/todo.png b/apps/hand-factory/static/images/tabbar/todo.png
new file mode 100644
index 0000000000000000000000000000000000000000..21e130d8e788d2ad97508c62ae7d65d618481b47
GIT binary patch
literal 4108
zcmeH~*H;tR7RHkh0-+O>A}wHu6hT0$v;YA?kdlEJ1%c3up)19JCgM;=)X!jWNKq4^aYf*xY+1Z)u_F}b
z`S32LdQM6CUP>m-4u%+i{~^A^?`8S#ru$Bw_n&=CEsFn8$(d?F@c1?v~2x>F;>
zwuYuZ?@;%tfv?%*SRLFU8sx~5SWBNsHW4
z>uxAxlbYl1|6IF?R+7w&&fRbapR_I&&nPl#Rkisr*#m;-9#62CbyTJInm&Q8sB!uf-dIj0T6v92*J3y@U;o8*ake0k$31G?1B>y+WieQAQEvkCoEX$J6MvVxJ*@CUJ}
z(LWMUxGLm@{f9zaxYQd02?<*ZHHUU1aS54Tu0TU*ddT*2&lJtTWnvD;ts2aN`2CFF
zz`46QPjZlV+_yh5-TU1Lj!v*wl!XTxX;YE;V!8H_#pw-L{Yu?KV4c{owM_Mwwv<7omZ6;SU)g&NfNJo_`Od>%|J{*mRV20>hT$h7MDUDjAuF(51@v4
zfFmhV&FwVe5M9Jo!j(Fbsb=LU;3yyxdL`s9crZE{Ms{GgXAj-9107ev3UCGImU*{4
z@Lv(X-2bH{_G`wtKWJvkw{$r7UO!av)-@w(%bG(g@1A~D;te0nafzcm)(kj^t03NX
zR)5+v6MLO_g{gnPRZtB!HXJ}}6j}I(xKsZakO=EPq-H7)O!49h^%#U-XZytk&jMbI
z2t)!W8?PAva32{~wsG>r8|>%TM8DNg0}ZytJ{g?P^1Z%+ekk-{6%X;fw4+`|2Uy
zm(_QHlZ!Sw;YWgtj}lYF%174L*_+nLmjw2_eQgbROTZon*N-l`SDgd-%F#0dV8%0v
zqNekBP>9bPfFYNDE_PxNaRsi`|BcWlWR5={;(FgD33=kBcB-ilu!ID6NYT%A)-+o_
zLt$!^E<>k*d2Bz$qFzL1hDxGO5|Hp98*V7f>R|i2sqVWkQ$Tf7_aNsj!R}rx*oF>v
z9rLA_AwFxV9FR2`P4)N2p2apQaNwaEjS8_-Uq(R;iC55TeFpRU5y=AmF=xjOfA|s%
z2ni*r$-;@BGwOShibu;jFbkvZNC;0C`FLyw2q%H(D20)Dp=hr=6ThTPxx5gmgD_XFop%k%QV7z@mrk3a1VCJ(=Q5W%-$y}$q)V`E
zMO?G~O(-JJ##&TF^K#B*g#{!MPjs|d433_IqO#Tn~1
zP7CvJBeYP7mxrG)Pwb&SNHv
z%)T3@C$=<^D_O?O`qM=Z*gZs}79NV(Vx$8t3b$&4x65}OYRU{hy&rlM>%GZwI%e1l
zZRSW?LHnERM|__+)t8{ND3_VEAdHo{+vWx1Jq{i0L1W1zOvl4cfLN<&sBiFl___>n
zuOfsZV+hwizRuGL_NJgs?r!}qGnle~P(t9ce-e$3Al;<|{UO;D>PxS%C}p2#pq9+2
zhAKYNXL1wDd2fC2888Ic@
zP_4ZRS}_W5n(i!vPRH<&l^OL-m3UGuo6%aomjc<1hTD!*Ar3(nZW3el{{8{kNMk(6
zow74?MJjQ`lZ}
zj-VY$6+pa`+H=P6QYC}J1$~>oJH;}2&&O;36Y-qEgj{`F5HOl6z`hcUX2ch
z^)r1!pxE_cWTQ9rErnaV>I4s7B;~so2};BvJ_r2Vr=0~d^V}X2c%~IWY9?m)ShaEr
zjy(SIs{lb#V>%drNJ0=>;~ZH+F)Y9f__{~CqQ#FS)M@l-M82|T<_q`>xXOI`?5UGk
zA%}f_42=2tV(@X5wSn54%m#bVzaptC|ChqK$@g3Ns@|Iidh^*#u~_
z;lEpNA+fuehPbm1lLEJACTFO(l`UI=RoQw2m8<*(?6d&OFFdo0Qv;CiMKAEn+wy_vKe$8fLPpq57$g
zH6k`AsSEvqh6}fvTnsCitfs0cL-o0EIeMM)#3>;2ed^HQu-2&UF(^Ebnl{^3r>AMm
zt+y(a9~v#K^@CMSP158BTM{u=8;rZT;pp5OdXDUQ^0HcNA-I?~HohdXg`LZ*JL&+5
zH-8V_b#GGomTS;Q*2lI$nqBT0L1IdL^JJ!LLBf$dRF#hQEIi2`!~pI6W}=Pv)7n&b)CQ7xlCd)D%g(JDxMwusNXG?v}aID&v
zp_V~qIzTs`VzWHL;2RIYU8clA81sr6LqFxayX{w5_AqdW`@D7D*i@onnxD~wrv@Vi
zQe^y-nh0s~)vVFoTeb9WH`)bS>s$@iE)lch^~!R4`(+dOflr`DZ&ut`Ek~~ch
zR(*X)x`Lf40zhbEJ)uaAqES0)qR^tiv~kt3Z^9PlAj!xQ~j
z=KFJrD7GF^w1g?QSMguni2)b%OS{$PtCG51$xl^9Fyht{a-7}0SnailXZrQ$W9Kgb
z+l>f1y=GgISj!cZT=F}qAbRN(sqb}K@5Mzq8otjY4$E6CKn?uZ$%S!2g^5hFdhGiRF(4%OC&p0hVSq=o%C3
G{r><2moMf3
literal 0
HcmV?d00001
diff --git a/apps/hand-factory/static/images/tabbar/todo_.png b/apps/hand-factory/static/images/tabbar/todo_.png
new file mode 100644
index 0000000000000000000000000000000000000000..80b979c5a3356c09cf37f1ca742c0da982293448
GIT binary patch
literal 5008
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
a-+ox4z)NM}p*%Hd0~qR>BFnTL9{&eNattW|
literal 0
HcmV?d00001