ux: 待签合同列表新增「待签内容」列,展示场景标签+签署方式

每行员工直接显示待签文件的类型(劳动合同/离职协议/规章制度等)
和签署方式(电子签/线下手签),无需展开即可看出是什么待签。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
selfrelease
2026-08-16 12:06:15 +08:00
parent 71f0619d18
commit 8c7fb99219
2 changed files with 291 additions and 1 deletions
+17 -1
View File
@@ -824,7 +824,8 @@ function PendingTab({ pendingList, loading, onRemind, remindLoading, remindData,
<th className="py-2 px-3 text-left"></th>
<th className="py-2 px-3 text-left"></th>
<th className="py-2 px-3 text-left"></th>
<th className="py-2 px-3 text-center"></th>
<th className="py-2 px-3 text-left"></th>
<th className="py-2 px-3 text-center"></th>
<th className="py-2 px-3 text-right"></th>
</tr>
</thead>
@@ -849,6 +850,21 @@ function PendingTab({ pendingList, loading, onRemind, remindLoading, remindData,
</td>
<td className="py-2 px-3 text-gray-500">{emp.department || '—'}</td>
<td className="py-2 px-3 text-gray-500">{emp.phone || '—'}</td>
<td className="py-2 px-3">
<div className="flex flex-wrap gap-1">
{emp.pendingItems.map((item: any, idx: number) => {
const sceneCfg = SCENE_CONFIG[item.scene]
const methodCfg = SIGN_METHOD_CONFIG[item.signMethod] || SIGN_METHOD_CONFIG.ELECTRONIC
return (
<span key={idx} className={`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs ${sceneCfg ? sceneCfg.color : 'bg-gray-100 text-gray-600'}`} title={item.title}>
{sceneCfg ? sceneCfg.label : item.title}
<span className={`px-1 rounded text-[10px] ${methodCfg.color}`}>{methodCfg.label}</span>
{item.type === 'contract' && <span className="text-[10px] text-gray-400"></span>}
</span>
)
})}
</div>
</td>
<td className="py-2 px-3 text-center">
<span className="inline-flex items-center justify-center px-2 py-0.5 rounded-full text-xs bg-yellow-100 text-yellow-700 font-medium">
{emp.pendingItems.length}