采购申请
{{stats.total_requests||0}}
进行中 {{stats.ongoing_count||0}} · 已完结 {{stats.finished_count||0}}
↑{{stats.trend_analysis.mom_requests.change}}%
↓{{Math.abs(stats.trend_analysis.mom_requests.change)}}
环比上月
合同签署
{{stats.total_contracts||0}}份
总金额 {{fmt(stats.contract_total)}}
↑{{stats.trend_analysis.mom_amount.change}}%
↓{{Math.abs(stats.trend_analysis.mom_amount.change)}}
环比上月
已付款
{{fmt(stats.paid_total)}}
占比 {{(stats.paid_total&&stats.contract_total)?((stats.paid_total/stats.contract_total)*100).toFixed(1)+'%':'—'}}
↑{{stats.trend_analysis.mom_paid.change}}%
↓{{Math.abs(stats.trend_analysis.mom_paid.change)}}
环比上月
未付款
{{fmt(stats.unpaid_total)}}
待执行资金
待审批
{{(stats.pending_request||0)+(stats.pending_bidding||0)}}
申请 {{stats.pending_request||0}} · 比价 {{stats.pending_bidding||0}}
待派单
{{stats.pending_dispatch||0}}
已批未分配接单人
合作供应商
{{stats.active_supplier_count||0}}
维护中
库存类别
{{(stats.inventory_summary||[]).length}}
入库分类
未付款金额预警
当前未付款金额:{{fmt(stats.unpaid_total)}},
已超出安全阈值,请及时处理资金安排!
请注意资金安排。
合同即将到期预警({{stats.alert_contracts.length}} 份)
{{ct.contract_no||'—'}}
{{ct.days_left>=0?ct.days_left+'天后到期':'已过期'}}
采购类型分布
按申请单数暂无数据
{{t.type}}{{t.count}} 单
合同甲方统计
按合同金额暂无数据
{{p.party}}
{{fmt(p.amount)}}({{p.count}}份)
合同状态分布
按份数暂无数据
{{s.status||'未分类'}}{{s.count}}份
近6月合同签署
柱=份数 · 线=金额付款执行进度
已付/应付已付 {{fmt(stats.paid_total)}}
未付 {{fmt(stats.unpaid_total)}}
总额 {{fmt(stats.contract_total)}}
按付款阶段
{{s.stage_name}}×{{s.cnt}}
{{fmt(s.paid_amount)}}
/ {{fmt(s.total_amount)}}
{{s.total_amount>0?((s.paid_amount/s.total_amount)*100).toFixed(1):'0'}}%
暂无付款阶段数据
供应商排行榜
中标次数+金额暂无中标数据
| # | 供应商名称 | 中标次数 | 中标金额 |
|---|---|---|---|
| {{i+1}} | {{s.name.length>12?s.name.slice(0,12)+'…':s.name}} | {{s.win_count}} | {{fmt(s.total_amount)}} |
申报部门分布
按申请单数暂无数据
{{d.dept}}{{d.count}}
库存入库概览
按物料大类暂无入库数据
{{inv.category}}{{inv.entries}}笔{{inv.total_qty}}件
未付清合同({{stats.contract_expiring.length}} 份)
按签署日期倒序| 合同编号 | 甲方 | 乙方 | 合同金额 | 已付金额 | 未付金额 | 状态 |
|---|---|---|---|---|---|---|
| {{ct.contract_no||'—'}} | {{ct.party_a||'—'}} | {{(ct.party_b||'—').length>10?(ct.party_b||'').slice(0,10)+'…':(ct.party_b||'—')}} | {{fmt(ct.total_amount)}} | {{fmt(ct.paid_amount)}} | {{fmt((ct.total_amount||0)-(ct.paid_amount||0))}} | {{ct.status||'执行中'}} |
月度趋势
近6个月 · 申请数 + 合同份数 + 合同金额暂无数据
审批中心 · {{(pendingApprovals?pendingApprovals.length:0) + (pendingRequestApprovals?pendingRequestApprovals.length:0)}} 条待审批
询价比价定标
| 比价编号 | 标题 | 提交日期 | 操作 |
|---|---|---|---|
| {{b.rfq_no||'—'}} | {{b.title||'—'}} | {{b.updated_at?b.updated_at.slice(0,10):'—'}} |
采购申请审批
| 单据编号 | 采购类型 | 申报部门 | 审批环节 | 操作 |
|---|---|---|---|---|
| {{pa.doc_no||'—'}} | {{pa.purchase_type||'—'}} | {{pa.request_dept||'—'}} | {{pa.step_name||'—'}} |
询价比价定标分页
采购申请审批分页
最近采购流程
暂无采购数据
{{r.doc_no}}
{{r.purchase_type||'—'}}
{{r.request_dept||'—'}}
{{r.execution_status||'—'}}
{{r.current_stage||'—'}}
{{r.created_at?r.created_at.slice(0,10):''}}
采购申请
| 物料名称 | 规格 | 单位 | 数量 | 单价 | 总价 |
|---|---|---|---|---|---|
| {{it.material_name||'—'}} | {{it.spec||'—'}} | {{it.unit||'—'}} | {{it.quantity}} | {{fmt(it.unit_price)}} | {{fmt(it.total_price)}} |
询价比价定标
{{b.rfq_no}}投标:{{b.bidders.join('、')}}丨定标:{{b.winners.join('、')}}投标单位:—
合同执行
{{c.contract_no||'—'}}金额:{{fmt(c.total_amount)}}已付:{{fmt(c.paid_amount)}}{{c.party_b}}
付款执行
{{ps.stage_name||'—'}} {{fmt(ps.amount)}}
无付款记录
商务验收
{{a.form_no}}经办人:{{a.handler}}{{a.accept_date?String(a.accept_date).slice(0,10):''}}
入库库位:、{{iv.storage_location||'—'}}—
领用部门:、{{o.outbound_dept||'—'}}—
采购申请
| 单据编号 | 提报日期 | 采购类型 | 物资大类 | 业务描述 | 申报部门 | 审批状态 | 采购接单人 | 当前环节 | 执行 | 创建人 | 附件 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{r.doc_no}} | {{r.report_date||r.receive_date}} | {{r.purchase_type}} | {{r.material_cat}} | {{(r.description||'—').slice(0,30)}} | {{r.request_dept}} | 草稿 审批中({{APPROVAL_STEP_NAMES[r.current_approval_step]||r.current_approval_step}}) 已通过 已驳回 {{r.approval_status||'—'}} |
{{r.procurement_handler}}
—
{{r.procurement_handler}}
—
|
{{r.current_stage}} | {{r.execution_status||'—'}} | {{r.created_by||'—'}} | {{r.att_count}} 0 | |
暂无数据,请新建采购申请 | ||||||||||||
新建采购申请
PDF 识别结果
文件:{{requestOcr.fileName}}
{{requestOcr.summary}}
签批参考:{{requestOcr.signerSummary}}
{{requestOcr.warning}}
{{requestOcr.error}}
识别内容已预填到下方表单,请核对单号、日期、明细和最晚到货日期后再保存。
查看高置信 OCR 文本({{requestOcr.lines.length}} 行)
[{{Math.round((line.confidence||0)*100)}}%] {{line.text}}
采购明细
| 物料编码 | 物料名称 | 规格 | 物料类别 | 单位 | 数量 | 备注 | |
|---|---|---|---|---|---|---|---|
|
{{s.name}}
{{s.spec||'—'}}
{{s.unit||'—'}}
|
暂无明细,请点击"添加明细"
附件管理
上传
点击选择文件 或 拖拽文件到此处
询价比价定标
| 比价编号 | 标题 | 关联采购单 | 比价日期 | 参与供应商 | 状态 | 审批 | 创建人 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{b.rfq_no||'—'}} | {{b.title||'—'}} | {{b.request_doc_no||b.request_id||'—'}} | {{b.compare_date||'—'}} | {{b.suppliers||'—'}} | {{b.status||'询价中'}} | {{b.approval_by||'—'}} {{b.approval_date||''}} {{b.approval_by||'—'}} {{b.approval_date||''}} 待审批 — | {{b.created_by||'—'}} | |
暂无数据 | ||||||||
报价明细 — {{bidDetail.rfq_no}} ({{bidDetail.suppliers}})
| 供应商 | 物料名称 | 规格 | 单位 | 数量 | 单价 | 总价 | 中标 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{it.supplier_name||'—'}} | {{it.material_name||'—'}} | {{it.spec||'—'}} | {{it.unit||'—'}} | {{it.qty||1}} | {{it.unit_price||'—'}} | {{it.total_price||'—'}} | 中标 | |
暂无报价明细 | ||||||||
合同执行
| 合同编号 | 签订日期 | 甲方 | 乙方 | 合同名称 | 合同金额(元) | 已付(元) | 已开票(元) | 待开票(元) | 预计到货 | 质保到期 | 状态 | 创建人 | 附件 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{c.contract_no}} 未比价 | {{c.sign_date}} | {{c.party_a}} | {{c.party_b}} | {{c.contract_name||'—'}} | {{fmt(c.total_amount)}} | {{fmt(c.paid_amount)}} | {{fmt(c.invoiced_amount)}} | {{fmt(c.uninvoiced_amount)}} | {{c.expected_delivery_date||'—'}} | {{c.warranty_end||'—'}} | {{c.created_by||'—'}} | {{c.att_count}} 0 | ||
暂无数据 | ||||||||||||||
| 合计 | {{fmt(contractTotals().total_amount)}} | {{fmt(contractTotals().paid_amount)}} | {{fmt(contractTotals().invoiced_amount)}} | {{fmt(contractTotals().uninvoiced_amount)}} | ||||||||||
付款执行
| 合同编号 | 合同名称 | 乙方 | 付款方 | 阶段名 | 比例(%) | 金额(元) | 实付金额(元) | 计划日期 | 状态 | 创建人 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ps.contract_no||'—'}} | {{ps.contract_name||'—'}} | {{ps.party_b||ps.payee||'—'}} | {{ps.payer||ps.party_a||'—'}} | {{ps.stage_name}} | {{ps.ratio}} | {{fmt(ps.amount)}} | {{fmt(ps.paid_amount)}} | {{ps.planned_date}} | {{ps.status}} | {{ps.created_by||'—'}} | |
暂无付款阶段,请先为合同制定付款计划 | |||||||||||
| 合计 | {{fmt(paymentTotals().amount)}} | {{fmt(paymentTotals().paid_amount)}} | |||||||||
商务验收
| 验收单号 | 单据编号 | 验收内容 | 验收日期 | 经办人 | 入厂位置 | 创建人 | 附件 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{a.app_number || a.form_no || '—'}} | {{a.doc_no||'—'}} | {{a.remark}} {{a._summary}} — | {{a.accept_date||'—'}} | {{a.handler||'—'}} | {{a.storage_location||'—'}} | {{a.created_by||'—'}} | {{a.att_count}} | |
暂无数据 | ||||||||
🏷️ 供应商管理 v2.0(支持分类及评分)
总计:{{supplierReport.total_stats.total_suppliers}} 家
优秀(A+):{{supplierReport.total_stats.excellent_count||0}} 家
良好(B):{{supplierReport.total_stats.good_count||0}} 家
平均分:{{supplierReport.total_stats.avg_score||'—'}} 分
| ID | 供应商名称 | 分类标签 | 统一信用代码 | 联系人 | 电话 | 评分 | 状态 | 创建人 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{s.id}} | {{s.name}} | {{cname}} +{{s.category_names.length-2}} 未分类 | {{s.unified_code}} | {{s.contact_person}} | {{s.contact_phone || s.phone}} | {{s.overall_score}} {{s.grade||'—'}} 未评分 | {{s.status}} | {{s.created_by||s.data_source||'—'}} | |
暂无数据,请新建供应商 | |||||||||
安全日志中心
账号认证与业务操作全程留痕,仅管理员和授权角色可见
当前筛选 {{auditTotal}} 条
| ID | 账号 | 认证事件 | 结果 | 网络位置 | IP | 时间 | 内容 | 设备 |
|---|---|---|---|---|---|---|---|---|
| {{r.id}} | {{r.username || 'anonymous'}} | {{loginEventText(r.event)}} | {{r.result==='success'?'成功':'失败'}} | {{r.network_location || networkLocationText(r.client_ip)}} | {{maskIP(r.client_ip)}} | {{r.created_at}} | {{r.detail || '—'}} | {{formatDevice(r.user_agent)}} |
当前筛选条件下暂无登录记录 | ||||||||
| ID | 操作人 | 角色 | 动作 | 模块 | 业务对象 | 结果 | 耗时 | 网络位置 | IP | 时间 | 内容 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{r.id}} | {{r.username}} | {{roleLabel(r.role)}} | {{actionText(r.action)}} | {{MODULE_KEYS[r.module] || r.module || '系统'}} | {{r.target_type ? (r.target_type + (r.target_id ? '#'+r.target_id : '')) : '—'}} | {{statusText(r.status)}} | {{formatDuration(r.duration_ms)}} | {{r.network_location || networkLocationText(r.client_ip)}} | {{maskIP(r.client_ip)}} | {{r.created_at}} | |
|
操作内容摘要(敏感值已排除) {{formatAuditDetail(r.detail)}}访问设备 {{formatDevice(r.user_agent)}} |
|||||||||||
当前筛选条件下暂无操作记录 | |||||||||||
物料维护
| 物料编码 | 物料名称 | 规格 | 单位 | 物资大类 | 品牌 | 状态 | 创建人 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|
| {{m.material_code}} | {{m.name}} | {{m.spec}} | {{m.unit}} | {{m.material_cat}} | {{m.brand}} | {{m.is_active==1?'启用':'停用'}} | {{m.created_by||'—'}} | ||
暂无物料,请新建 | |||||||||
入库管理
| ID | 采购申请单号 | 物资类别 | 物料名称 | 规格 | 单位 | 供应商 | 入库数量 | 单价 | 金额 | 入库位置 | 入库日期 | 库存余量 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{r.id}} | {{r.request_doc_no||'—'}} | {{r.material_cat||'—'}} | {{r.material_name}} | {{r.spec||'—'}} | {{r.unit||'—'}} | {{r.supplier||'—'}} | {{fmt(r.inbound_qty)}} | {{r.unit_price ? '¥'+r.unit_price : '—'}} | {{r.total_amount ? '¥'+fmt(r.total_amount) : '—'}} | {{r.storage_location||'—'}} | {{r.inbound_date||'—'}} | {{fmt(r.remaining)}} {{r.unit}} | |
暂无入库记录,请新建入库 | |||||||||||||
出库管理
| ID | 物资类别 | 物料名称 | 规格 | 单位 | 出库数量 | 领用部门 | 领用人 | 用途 | 出库日期 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|
| {{r.id}} | {{r.material_cat||'—'}} | {{r.material_name}} | {{r.spec||'—'}} | {{r.unit||'—'}} | {{fmt(r.outbound_qty)}} | {{r.outbound_dept||'—'}} | {{r.outbound_person||'—'}} | {{r.outbound_date||'—'}} | ||
暂无出库记录,请新建出库 | ||||||||||
库存现有量
| 物料名称 | 规格 | 单位 | 库存位置 | 入库合计 | 出库合计 | 退供应商 | 退回库存 | 库存现有量 |
|---|---|---|---|---|---|---|---|---|
| {{s.material_name||'—'}} | {{s.spec||'—'}} | {{s.unit||'—'}} | {{s.storage_location||'—'}} | {{fmt(s.inbound_total)}} {{s.unit}} | {{fmt(s.outbound_total)}} {{s.unit}} | {{fmt(s.returned_supplier_total)}} {{s.unit}} | {{fmt(s.returned_stock_total)}} {{s.unit}} | {{fmt(s.current_stock)}} {{s.unit}} |
暂无库存现有量数据 | ||||||||
退库管理
发起退库
已选:{{ returnForm.sourceLabel }}
未选择来源
退库流水
| 类型 | 来源 | 物料名称 | 规格 | 单位 | 供应商 | 退库数量 | 原因 | 操作人 | 时间 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ ret.return_type==='to_supplier' ? '退供应商' : '退回库存' }} | {{ ret.source_label }} | {{ ret.material_name||'—' }} | {{ ret.spec||'—' }} | {{ ret.unit||'—' }} | {{ ret.supplier||'—' }} | {{ fmt(ret.qty) }} | {{ ret.reason||'—' }} | {{ ret.operator||'—' }} | {{ ret.created_at||'—' }} | |
{{ returnSearch ? '未找到匹配的退库记录' : '暂无退库记录' }} | ||||||||||
发票管理
| 合同编号 | 关联申请 | 发票号码 | 发票类型 | 开票方 | 发票内容 | 开票日期 | 不含税金额 | 税率 | 税额 | 发票金额 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{i.contract_no||'—'}} | {{i.request_no||'—'}} | {{i.invoice_no}} | {{i.invoice_type||'—'}} | {{i.issuer||'—'}} | {{i.content||'—'}} | {{i.issue_date}} | {{fmt(i.untaxed_amount)}} | {{i.tax_rate!=null?(i.tax_rate*100)+'%':''}} | {{fmt(i.tax_amount)}} | {{fmt(i.total_amount)}} | |
暂无发票数据 | |||||||||||
| 合计 | {{fmt(invoiceTotals().untaxed_amount)}} | {{fmt(invoiceTotals().tax_amount)}} | {{fmt(invoiceTotals().total_amount)}} | ||||||||
编号申请
在此模块可以申请各类单据编号(采购申请、比价、验收等),系统自动按规则生成唯一编号。
| ID | 编号 | 阶段 | 类型 | 项目名称 | 申请人 | 状态 | 申请时间 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{n.id}} | {{n.app_number}} | {{n.project_phase==='P2'?'二期':'一期'}} | {{docTypeLabel(n.doc_type)}} | {{n.project_name||'—'}} | {{n.applicant||'—'}} | {{(n.status==='已分配'||n.status==='used')?'已分配':'未分配'}} | {{n.created_at}} | |
暂无编号申请记录,点击右上角申请新编号 | ||||||||
管理员审批台 (线下已批单据一键代录,仅系统管理员)
勾选下方待审单据后点击,将按原审批链完整代录(可追溯)
| 类型 | 单号 | 摘要 | 状态 | |
|---|---|---|---|---|
| {{it.type==='request'?'采购申请':(it.type==='bidding'?'定标/比价':'商务验收')}} | {{it.doc_no||'—'}} | {{it.title||'—'}} | {{it.status}} | |
🎉 当前没有待审批的单据 | ||||
代批结果
| 类型 | 单号/ID | 结果 | 说明 |
|---|---|---|---|
| {{r.type==='request'?'采购申请':(r.type==='bidding'?'定标/比价':'商务验收')}} | {{r.id}} | {{r.ok?'成功':'失败'}} | {{r.ok?'':(r.error||'')}} |
账号管理
⌕
共 {{userList.length}} 个账号,匹配 {{filteredUserList.length}} 个
| ID | 用户名 | 角色 | 部门 | 邮箱 | 权限数 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{u.id}} | {{u.username}} | {{u.is_admin?'管理员':(u.role||'普通用户')}} | {{u.dept||'—'}} | {{u.email||'未绑定'}} | {{u.permissions?u.permissions.length:0}} 个模块 | {{u.created_at||'—'}} | |
{{userSearch?'没有匹配的账号':'暂无账号数据'}} | |||||||
基础数据管理
| 编码 | 名称 | 上级大类 | 排序 | 操作 | |||||
|---|---|---|---|---|---|---|---|---|---|
| {{item.code||'—'}} | {{item.code||'—'}} | {{item.name}} | {{item.parent_code||'—'}} | {{item.remark||'—'}} | {{item.sort_order||0}} | ||||
暂无数据 |