{{ currentName }}
🔔 {{ notify.total }}
消息通知{{ notify.total }} 条待跟进
待审批
{{ t.customer_name }} · {{ t.type==='contract_new'?'新签':'续费' }}{{ t.category==='address'?'地址':'代账' }}合同
{{ t.approver_desc }} · 待审批
待续费
{{ c.customer_name }} · {{ c.category==='address'?'地址':'代账' }}合同
{{ c.renewal_status==='expired' ? '已到期 '+(-c.days_left)+' 天' : '还剩 '+c.days_left+' 天到期' }}({{ c.end_date }})
暂无待跟进事项
{{ company && company.name }} {{ user && user.name }}

📊 业绩排行榜

排名 业务员 新签合同额(元) 实际回款额(元) 业绩目标(元) 完成率
{{ i+1 }} {{ r.user_name }} {{ fmt(r.new_amount) }} {{ fmt(r.received) }} {{ fmt(r.target) }} {{ r.rate }}%
本月暂无业绩数据,请先在「绩效管理」中设置目标

💰 本月收入概览

代账合同
¥{{ fmt(dash.income_by_category.accounting) }}
地址合同
¥{{ fmt(dash.income_by_category.address) }}
其他合同
¥{{ fmt(dash.income_by_category.other) }}
本月总收入
¥{{ fmt(dash.income_total) }}
当前列表未收款金额合计:¥{{ fmt(unpaidTotal) }}
ID号 类型 客户 代账类型 地址类型 所属场地 金额 负责人 收款状态 状态 操作
{{ c.id }} {{ c.type==='contract_new'?'新签':'续费' }} {{ c.customer_name }} {{ c.accounting_type || '—' }} {{ c.address_type || '—' }} {{ c.venue || '—' }} ¥{{ fmt(c.amount) }} {{ c.owner_name }} {{ payStatusText(c.pay_status) }} {{ contractStatusText(c) }}
暂无合同
ID客户负责人合同类型原合同到期日剩余状态操作
{{ c.category==='rental' ? c.code : c.id }} {{ c.customer_name }}({{ c.venue_name }} {{ c.room_no }}) {{ c.owner_name }} {{ categoryText(c.category) }} {{ c.code }} {{ c.end_date }} {{ c.days_left < 0 ? ('已逾期 '+Math.abs(c.days_left)+'天') : ('剩 '+c.days_left+'天') }} {{ c.renewal_status==='expired'?'到期未续费':'即将到期' }}
暂无到期或即将到期的合同
合同总额
¥{{ fmt(receivableStats.total_contract_amount) }}
已回款
¥{{ fmt(receivableStats.received) }}
未回款
¥{{ fmt(receivableStats.unpaid) }}
回款率
{{ receivableStats.rate }}%
{{ r.customer_name }}
¥{{ fmt(r.amount) }}
{{ r.contract_code }} · {{ categoryText(r.category) }}
{{ auditStatusText(r.audit_status) }} {{ r.paid_at }} · {{ r.method || '—' }}
凭证号 {{ r.voucher_no }}
{{ r.remark }}
暂无收款记录
合同 客户 类型 金额 收款日期 方式 经手人 审核 操作
{{ r.contract_code }} {{ r.customer_name }} {{ categoryText(r.category) }} ¥{{ fmt(r.amount) }} {{ r.paid_at }} {{ r.method || '—' }} {{ r.handler_name }} {{ auditStatusText(r.audit_status) }}
暂无收款记录
按企业微信审批模式配置:新增流程 → 设置流程节点 → 配置表单模板
流程名称绑定业务审批节点表单字段状态操作
{{ f.name }} {{ flowCategoryText(f.category) }} {{ flowNodeSummary(f) }} {{ (f.fields || []).length }} 项 {{ f.status_label }}
暂无流程,请点击「新建流程」创建
字段设置:先维护「字段」,再给每个字段维护「选项」。代账类型 / 地址类型 / 绩效指标 为系统内置字段(合同表单与绩效目标直接消费,不可删除);其余字段可自由新增,供审批流程「下拉选择(预置选项)」控件引用。场地与房号请在「场地管理」中维护。
字段
序号 字段名称 编码 选项数 排序 操作
{{ i + 1 }} {{ ft.name }} 内置 {{ ft.code }} {{ ft.option_count }} {{ ft.sort }}
新增
暂无字段,点击「+ 新增字段」添加
场地名称 详细地址 街道 出租方 状态 备注 操作
{{ v.name }} {{ v.address || '—' }} {{ v.street || '—' }} {{ v.lessor || '—' }} {{ v.status }} {{ v.remark || '—' }}
暂无场地,点右上角「新增场地」创建
所属场地 地址类型 起始房号 面积(㎡) 操作
{{ r.venue_name }} {{ r.address_type }} {{ r.room_no || '—' }} {{ r.area || '—' }}
暂无房号配置,点右上角「新增房号」创建

实租场地信息

我们从房东手里整租的场地。运营成本 = 物业费 + 水电费 + 网络费 + 其他(仅作展示,非计算)。

场地名称 位置 出租方 总面积(㎡) 余额租金 租赁起止 保证金 运营成本/月 状态 合同 操作
{{v.name}} {{v.address}} {{v.lessor}} {{v.total_area}} {{v.balance_rent}} {{v.start_date}} ~ {{v.end_date}} {{v.deposit}} ¥{{v.op_total}}/月 {{v.status}} {{f.name}}
暂无实租场地

实租房号管理

所属场地 房号 面积(㎡) 报价(元/月) 租赁状态 操作
{{r.venue_name}} {{r.room_no}} {{r.area}} {{r.price}} {{r.rental_status}}
暂无房号

实租合同

业务员 客户类型 承租方 场地/房号 联系方式 起止 付款方式 月租/年租 履约保证金 同行 状态 审批 操作
{{c.owner_name}} {{c.customer_type}} {{c.lessee}} {{c.venue_name}} / {{c.room_no}} {{c.contact}} {{c.contact_phone}} {{c.start_date}} ~ {{c.end_date}} {{c.pay_cycle}} ¥{{c.monthly_rent}}/月 ¥{{c.yearly_rent}}/年 ¥{{c.rental_deposit}} {{c.peer_name}} - {{c.status}} 已通过 待审批 已驳回 草稿
暂无实租合同
合计期初¥{{ fmtMoney(finSummary.total.opening) }}
收入¥{{ fmtMoney(finSummary.total.total_in) }}
支出¥{{ fmtMoney(finSummary.total.total_out) }}
系统期末¥{{ fmtMoney(finSummary.total.closing) }}
银行期末¥{{ fmtMoney(finSummary.total.bank_closing) }}
差额¥{{ fmtMoney(finSummary.total.diff) }}
未匹配{{ finSummary.total.unmatched }} 笔
{{ a.name }} {{ a.entity_name || '未归属' }} {{ a.status }} 已结账 {{ a.closed_months.length }} 月
开户行{{ a.bank || '—' }}
账号{{ a.account_no || '—' }}
本方户名{{ a.holder || a.entity_name || '—' }}
类型{{ a.account_type }}
期初¥{{ fmtMoney(a.opening) }}
收入¥{{ fmtMoney(a.total_in) }}
支出¥{{ fmtMoney(a.total_out) }}
期末¥{{ fmtMoney(a.closing) }}
银行期末¥{{ fmtMoney(a.bank_closing) }}
差额¥{{ fmtMoney(a.diff) }}
流水{{ a.line_count }} 笔
未匹配{{ a.unmatched }} 笔
暂无账户。可点「按模板一键建 9 个账户」快速初始化。

💡 文件名需与账户名一致(如「创崎公账.xls」),系统会按内置模板自动识别列;重复导入会自动跳过;期初余额自动推算。

{{ finImportResult.ok ? '✅ ' : '❌ ' }}{{ finImportResult.msg }}
导入 {{ finImportResult.import.row_count }} 笔,跳过重复 {{ finImportResult.import.dup_count }} 笔, 期初 ¥{{ fmtMoney(finImportResult.opening_balance) }} → 期末 ¥{{ fmtMoney(finImportResult.closing_balance) }} |余额校验通过 |⚠️ 有 {{ finImportResult.error_count }} 行余额对不上
账户文件名覆盖月份导入行数跳过重复期初期末校验导入人时间操作
{{ (finAccounts.find(a=>a.id===i.account_id)||{}).name || i.account_id }} {{ i.filename }} {{ i.period }} {{ i.row_count }} {{ i.dup_count }} ¥{{ fmtMoney(i.opening_balance) }} ¥{{ fmtMoney(i.closing_balance) }} {{ i.check_passed ? '通过' : '异常' }} {{ i.imported_by_name }} {{ i.imported_at }} 已撤销
暂无导入记录

银行流水(未匹配,{{ (finUnmatched && finUnmatched.journals.length) || 0 }} 笔)

{{ j.direction==='in' ? '+' : '-' }}¥{{ fmtMoney(j.amount) }} {{ j.entry_date }} {{ j.counterparty || j.summary || '—' }}
{{ (finAccounts.find(a=>a.id===j.account_id)||{}).name || '' }}
全部已匹配 🎉

系统单据(未匹配:收款 {{ (finUnmatched && finUnmatched.receivables.length) || 0 }} / 付款 {{ (finUnmatched && finUnmatched.payments.length) || 0 }})

+¥{{ fmtMoney(r.amount) }} {{ r.date }} {{ r.counterparty || '—' }}(收款)
-¥{{ fmtMoney(p.amount) }} {{ p.date }} {{ p.counterparty || '—' }}(付款·{{ p.category }})
无可配对单据

全部日记账

日期方向金额科目来源对方摘要状态操作
{{ j.entry_date }} {{ j.direction==='in' ? '收入' : '支出' }} ¥{{ fmtMoney(j.amount) }} {{ j.category || '—' }} {{ j.source==='auto' ? '流水自动' : '手动' }} {{ j.counterparty || '—' }} {{ j.summary || '—' }} {{ j.match_status==='matched' ? '已匹配' : j.match_status==='ignored' ? '已忽略' : '未匹配' }}
暂无日记账
期初¥{{ fmtMoney(finSummary.total.opening) }}
收入¥{{ fmtMoney(finSummary.total.total_in) }}
支出¥{{ fmtMoney(finSummary.total.total_out) }}
系统期末¥{{ fmtMoney(finSummary.total.closing) }}
银行期末¥{{ fmtMoney(finSummary.total.bank_closing) }}
差额¥{{ fmtMoney(finSummary.total.diff) }}

⚠️ 差额不为 0,不能结账。常见原因:手动补记未勾「计入银行余额」、流水漏导、重复导入。

按所属主体分组

所属主体账户数期初收入支出期末银行期末差额未匹配
{{ g.entity_name }}{{ g.accounts }} ¥{{ fmtMoney(g.opening) }} ¥{{ fmtMoney(g.total_in) }} ¥{{ fmtMoney(g.total_out) }} ¥{{ fmtMoney(g.closing) }} ¥{{ fmtMoney(g.bank_closing) }} ¥{{ fmtMoney(g.diff) }} {{ g.unmatched }}

账户余额明细与月结

账户主体期初收入支出系统期末银行期末差额流水未匹配操作
{{ a.name }}{{ a.entity_name || '—' }} ¥{{ fmtMoney(a.opening) }} ¥{{ fmtMoney(a.total_in) }} ¥{{ fmtMoney(a.total_out) }} ¥{{ fmtMoney(a.closing) }} ¥{{ fmtMoney(a.bank_closing) }} ¥{{ fmtMoney(a.diff) }} {{ a.line_count }} {{ a.unmatched }} 已锁定
暂无账户

结账记录

账户月份期初收入支出期末银行差额未匹配结账人时间状态
{{ (finAccounts.find(a=>a.id===c.account_id)||{}).name || c.account_id }} {{ c.month }} ¥{{ fmtMoney(c.opening_balance) }} ¥{{ fmtMoney(c.total_in) }} ¥{{ fmtMoney(c.total_out) }} ¥{{ fmtMoney(c.closing_balance) }} ¥{{ fmtMoney(c.bank_closing) }} ¥{{ fmtMoney(c.diff) }} {{ c.unmatched_count }} {{ c.closed_by_name }} {{ c.closed_at }} {{ c.reopened ? '已反结账' : '已结账' }}
暂无结账记录
客户名称 联系人 电话 行业 客户类别 所属类别 客户等级 微信号 状态 负责人 操作
{{ c.name }} {{ c.contact }} {{ c.phone }} {{ c.industry }} {{ c.customer_type }} {{ c.belong_type }} {{ c.level }} {{ c.wechat }} {{ c.follow_status }} {{ c.owner_name }}
暂无客户
年份月份人员指标目标值实际值完成率操作
{{ g.year }}{{ g.month }}{{ g.user_name }}{{ metricText(g.metric_type) }} {{ g.target_value }}{{ g.actual_value }} {{ g.target_value? Math.round(g.actual_value/g.target_value*100):0 }}%
暂无目标
财务报表
📊

销售月度报表

按销售员和月份统计各类合同实际收入(已扣除返佣),支持Excel导出

👥

客户月度统计

按客户和月份统计各类合同实际收入,支持按业务类型、客户类别、销售员多维度分析

🔄

续费/回款分析

按月份统计应续费、已续费、未续费及未收款客户数量,支持按模块和业务员查看

角色名权限点人数操作
{{ r.name }}{{ (r.permissions||[]).map(p=>permText(p)).join(',') }}{{ r.user_count }}
部门名称负责人人数备注操作
{{ d.name }} {{ d.leader_name || '—' }} {{ d.member_count }} {{ d.description || '—' }}
暂无部门,请先新增
账号姓名部门角色企业微信状态操作
{{ u.username }}{{ u.name }}{{ u.dept }}{{ (u.role_names||[]).join('、') }} {{ u.wecom_userid || '—' }} {{ u.status==='active'?'启用':'停用' }}

基本资料

修改密码

公司模块开关状态操作
{{ c.name }}
{{ c.uscc }}
{{ c.status==='active'?'启用':'停用' }}
当前页面未匹配到内容(view={{ view }})。请按 Ctrl+F5 强制刷新后再试。
{{ hubTitle }}
📝发起申请
待我审批
📋我已审批
📤我已提交
{{ mApplyFlow.name }}
申请内容
明细 {{ ri+1 }}
{{ lbl }}合计:¥{{ sum }}({{ numToCny(sum) }})
该流程未配置表单字段,可直接提交
审批 转交
{{ mApproval.generic ? '' : ('¥' + fmt(mApproval.contract && mApproval.contract.amount)) }}
{{ mApproval.generic ? ('【' + mApproval.generic.flow_name + '】' + mApproval.generic.applicant) : ((mApproval.contract && mApproval.contract.customer_name) + ' · ' + categoryText(mApproval.contract && mApproval.contract.category)) }}
当前节点:{{ mApproval.current_task && mApproval.current_task.name ? mApproval.current_task.name : ('第 ' + mApproval.instance.current_level + ' 级') }}({{ mApproval.current_task.approver_desc }} · {{ mApproval.current_task.mode_text }})
申请内容
{{ fd.name }}{{ (mApproval.generic.form_data && mApproval.generic.form_data[fd.id]) || '—' }}
合同信息
合同编号{{ contractDetail.code }}
类型{{ contractDetail.type==='contract_new'?'新签':'续费' }}
负责人{{ contractDetail.owner_name }}
签约日期{{ contractDetail.sign_date }}
开始{{ contractDetail.start_date }}
结束{{ contractDetail.end_date }}
联系人{{ contractDetail.contact || '—' }}
联系方式{{ contractDetail.contact_phone || '—' }}
代账类型{{ contractDetail.accounting_type || '—' }}
收款方式{{ contractDetail.pay_mode || '—' }}
备注{{ contractDetail.remark || '—' }}
加载中…
审批进度
{{ s.name || ('第 ' + s.level_index + ' 级') }}{{ stepStateText(s.status) }}
{{ s.approver_desc }} · {{ s.mode_text }}
{{ d.approver_name }}:{{ d.action==='approve'?'同意':d.action==='reject'?'不同意':'撤回' }} · {{ d.comment }}
加载中…
{{ editingReceipt ? '编辑收款' : '录入收款' }} 取消
合同额¥{{ fmt(receiptContractInfo.amount) }}
已收¥{{ fmt(receiptContractInfo.received) }}
未收¥{{ fmt(receiptContractInfo.unpaid) }}
收款截图拍照后自动识别金额与日期
收款截图
{{ toast }}