设备租出去了,账还在 Excel 里:我们给工程机械中小企业做系统,从登录页就开始改
晋辉智机通 · 现场设备 · 工时绩效 · 考勤留痕 · 一套代码云端与私有化双交付
去年跟一家做挖机租赁的老板聊天,他半开玩笑半认真:「车出去了,人在哪、干了多少小时、该发多少钱——三本账对不上,月底就在办公室拍桌子。」
这不是个例。很多中小工程机械企业——租赁站、劳务班组、小施工队——没有专职 IT。设备台账在 Excel,机手到岗靠微信群发定位,工资条算完截图转发。老板真正在意的不是「数字化转型」八个字,而是三件事:设备跟得住、工时算得清、工资少扯皮。
我们做的晋辉智机通,就是冲着这类场景来的:管理后台管设备台账、保养计划、考勤汇总和工资条,手机 App 让机手现场打卡、领任务、查工资单。保养超期能提醒,工时和 OT 能进汇总,队长审核完才进工资——设备、考勤、绩效串成一条线,而不是三个互不相认的 Excel。听起来不新,难的是怎么卖:小客户想按月开通、即开即用;大客户要求数据放自己服务器。两套需求,不能维护两个产品。
中小企业的真实痛点,决定了产品长什么样
跟大集团不同,中小工程机械客户有几个鲜明特点:
第一,人少事杂。老板兼调度,队长兼人事,没人愿意学复杂系统。登录步骤多一步, adoption 就掉一半。所以我们把登录页当成产品入口来设计,而不是随便放个表单。
第二,多项目、多现场。今天 A 工地、明天 B 片区,同一套人马来回转。系统必须认「这是哪家企业在用」——我们叫企业码(租户码),登录时输入,后面所有数据自动隔离。租赁公司 A 看不到租赁公司 B 的机手和工资。
第三,交付方式两极分化。小客户要「开通就能用」,走云端托管;稍大一点或国企背景的要「数据不出内网」,走私有化部署。同一套代码、同一个 App,不能 fork 成两个项目——否则中小客户的 bug 修两遍,团队很快拖垮。
这三点,看起来是业务问题,最后都落在前端架构上。
登录页:少一个输入框,多留一个客户
托管版登录:企业码 + 账号 + 密码。企业码用来识别租户,账号密码识别管理员。
私有化客户呢?他们整个公司就是一家租户,再让企业码多填一次,现场培训成本直接翻倍。我们的做法是构建时切换模式:私有化包里隐藏企业码输入框,后台自动带上默认企业码;SaaS 包里完整展示。不是运行时写死if (客户名 === '某某'),而是换一份环境配置、打另一个包——deployConfig.js读VUE_APP_DEPLOY_MODE,登录组件用v-if="showTenantCode"控制显隐。
export const showTenantCode = process.env.VUE_APP_SHOW_TENANT_CODE !== 'false' export const defaultTenantCode = process.env.VUE_APP_DEFAULT_TENANT_CODE || ''对中小客户来说,这意味着:私有化交付不是阉割版,是「更懂他们」的版本——界面更短、培训更省,能力没少。
同一块还有双门户登录:平台运维用超管入口,租赁公司老板用租户入口。两套 Session 分开存——租户侧tenantAdmin:token,平台侧platformAdmin:token——避免同浏览器里运维登完、客户数据串线。工程机械老板不一定懂技术,但他能感知「登进去是不是我家公司的名和 Logo」。
白标:让小企业觉得「这是自家系统」
中小客户很在意面子:后台顶栏能不能换成自己公司名、Logo、浅色主题?我们登录成功后把品牌信息写入本地,全站顶栏统一读取,并提供一组克制的主题色——避免有人把背景设成高饱和红,机手表格根本没法看。
这不是炫技,是降低心理门槛:系统不是「租用别人的」,而是「我们公司的管理台」。对销售来说,这比多讲 ten 分钟 PPT 管用。
列表页:老板最常盯的几张表,不能每张都不一样
设备台账、考勤记录、工资汇总、保养计划——后台八成页面都是表格 + 分页 + 查询。中小客户老板常说的是:「这个页怎么跟上个页按钮位置不一样?」
我们封装了 **hc-table**:加载时骨架屏、没数据统一空状态、日期自动格式化、操作列固定右侧。业务同事只配列定义,不用重复抄 thirty 遍el-table。省下的不只是代码,是交付后少挨骂——界面一致,培训一次就够。
<hc-table :column="columns" :tableData="list" :loading="loading" @pageChange="fetchList" />移动端:机手只认 App,不认后台
机手不会登管理后台。他在工地打开 App:先输企业码,再打卡——和管理端同一套租户体系。API 根地址支持按企业解析后缓存,租赁公司 A 的 App 请求不会打到 B 的接口。大湾区有些班组需要繁体、英文界面,后台和 App 都做了 i18n,语言切换时连表单校验提示一起换,避免「界面是英文、报错还是中文」这种廉价体验。
一套代码两种卖法,对中小团队意味着什么
客户类型 | 典型画像 | 我们怎么交付 |
|---|---|---|
小租赁 / 劳务队 | 几十台设备、想快速上线 | 云端托管,企业码开通, |
稍大施工 / 国企分包 | 数据合规、内网要求 | 私有化部署,隐藏企业码,数据在客户机房 |
后端用tenant.mode切换共享库行级隔离或独立库;前端用.env切换登录与菜单。工程机械行业利润薄,软件团队也薄——这套架构让两三个人能同时服务 SaaS 和私有化,而不是维护两个代码库。
写在最后
中小工程机械企业的数字化,难点从来不是「有没有 App」,而是设备、工时、工资能不能在一条链上对上——以及系统卖起来、用起来、交付得起。
晋辉智机通从登录页的双模式、Session 隔离,到表格组件和移动端租户解析,都是围着这类客户打磨的。如果你也在做垂直行业 SaaS,或许可以问一句:你的登录页,是在加功能,还是在减步骤?
项目:晋辉智机通(xlhMoreApp)· 技术栈 Vue3 + Element Plus + uni-app ·