From 13cad398dc9e0540ea86040a1b6d42ac89cfee1e Mon Sep 17 00:00:00 2001 From: freedak Date: Mon, 14 Sep 2026 08:47:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20OPC=20=E5=B9=B3=E5=8F=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=A2=9E=E5=BC=BA=20v1.4=20=C2=B7=208=20=E9=A1=B9?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4=E5=AE=9E=E6=96=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHG-006 抢单订单池:OPC 工作台加抢单池(REQ-128/129) CHG-004 政策落地:OPC 加算力券申领/核销+贷款+租金,运营商加政策跟踪(REQ-124/125/126) CHG-001 组队模块:新增 team.html 组队协同页(REQ-119/120/121) CHG-003 活动管理:运营工作台加活动创建/发布/报名管理(REQ-122/123) CHG-005 OPC 财务分析:OPC 工作台加财务看板(REQ-127) CHG-008 平台撮合归集:运营工作台加录入入口(REQ-130) CHG-002 入口跳转:确认已正确(OPC→opc.html) CHG-007 服务中心定位:明确为运营商服务资源管理 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- Demo/assets/app.js | 1 + Demo/assets/mock.json | 440 +++++++++++++++++- Demo/assets/store.js | 2 +- Demo/opc.html | 119 +++++ Demo/operator.html | 136 ++++++ Demo/service.html | 1 + Demo/team.html | 175 +++++++ pmdocs/0-req-OPCSP.md | 15 + pmdocs/CHANGELOG.md | 5 + ...2026-09-14-001-opc-platform-enhancement.md | 117 +++++ 10 files changed, 1009 insertions(+), 2 deletions(-) create mode 100644 Demo/team.html create mode 100644 pmdocs/CHANGELOG.md create mode 100644 pmdocs/changes/2026-09-14-001-opc-platform-enhancement.md diff --git a/Demo/assets/app.js b/Demo/assets/app.js index 77e1628..d9c55ba 100644 --- a/Demo/assets/app.js +++ b/Demo/assets/app.js @@ -24,6 +24,7 @@ const MENUS = [ { page: 'leads', label: '供需对接', href: 'leads.html', roles: ['operator', 'gov'], group: '运营管理' }, { page: 'profile', label: '画像中心', href: 'profile.html', roles: ['operator', 'gov', 'enterprise'], group: '运营管理' }, { page: 'opc', label: 'OPC 工作台', href: 'opc.html', roles: ['opc'], group: '我的工作台' }, + { page: 'team', label: '组队协同', href: 'team.html', roles: ['opc', 'operator'], group: '我的工作台' }, { page: 'enterprise', label: '企业工作台', href: 'enterprise.html', roles: ['enterprise', 'personal'], labelMap: { personal: '个人工作台' }, group: '我的工作台' }, { page: 'order', label: '订单与协同', href: 'order.html', roles: ['opc', 'enterprise', 'personal', 'operator'], group: '我的工作台' }, { page: 'market', label: '橙果商城', href: 'market.html', roles: ['opc', 'enterprise', 'personal', 'learner', 'operator'], group: '我的工作台' }, diff --git a/Demo/assets/mock.json b/Demo/assets/mock.json index d79e336..afd2b27 100644 --- a/Demo/assets/mock.json +++ b/Demo/assets/mock.json @@ -368,7 +368,228 @@ "\"详情页转化率提升明显\"", "4.8" ] - ] + ], + "grabPool": [ + { + "id": "ORDER_2026091401", + "type": [ + "标准化派单", + "pri" + ], + "items": "电商详情页 ×15 套", + "budget": "¥9,000", + "ddl": "09-20", + "sop": "SOP_电商视觉_V3.2", + "count": "3/5", + "status": [ + "开放抢单", + "ok" + ] + }, + { + "id": "ORDER_2026091402", + "type": [ + "标准化派单", + "pri" + ], + "items": "活动 Banner ×20", + "budget": "¥6,000", + "ddl": "09-18", + "sop": "SOP_电商视觉_V3.2", + "count": "0/5", + "status": [ + "开放抢单", + "ok" + ] + }, + { + "id": "ORDER_2026091403", + "type": [ + "AI 漫剧", + "info" + ], + "items": "短视频分镜 ×8 集", + "budget": "¥12,000", + "ddl": "09-25", + "sop": "SOP_漫剧_V2.1", + "count": "2/3", + "status": [ + "开放抢单", + "ok" + ] + }, + { + "id": "ORDER_2026091404", + "type": [ + "数据标注", + "gray" + ], + "items": "图像标注 2000 条", + "budget": "¥4,000", + "ddl": "09-22", + "sop": "SOP_标注_V1.0", + "count": "5/10", + "status": [ + "开放抢单", + "ok" + ] + }, + { + "id": "ORDER_2026091405", + "type": [ + "硬件供应链", + "warn" + ], + "items": "AI 产品说明书 ×3 版本", + "budget": "¥8,000", + "ddl": "09-28", + "sop": "SOP_硬件供应链_V1.0", + "count": "1/2", + "status": [ + "开放抢单", + "ok" + ] + }, + { + "id": "ORDER_2026091306", + "type": [ + "标准化派单", + "pri" + ], + "items": "商品场景图 ×30", + "budget": "¥7,500", + "ddl": "09-19", + "sop": "SOP_电商视觉_V3.2", + "count": "5/5", + "status": [ + "已满", + "gray" + ] + } + ], + "policySupport": { + "compute": { + "title": "算力券申领与核销", + "balance": 8000, + "total": 10000, + "used": 2000, + "records": [ + { + "code": "VCH_20260901", + "amount": "¥500", + "target": "ORDER_2026091001 图像生成", + "status": [ + "已核销", + "ok" + ] + }, + { + "code": "VCH_20260905", + "amount": "¥1,500", + "target": "ORDER_2026090501 模型推理", + "status": [ + "已核销", + "ok" + ] + }, + { + "code": "VCH_20260912", + "amount": "¥500", + "target": "ORDER_2026091201 批量生成", + "status": [ + "待核销", + "warn" + ] + } + ] + }, + "loan": { + "title": "贷款支持", + "records": [ + { + "code": "LOAN_20260801", + "type": "创业担保贷款", + "amount": "¥30 万", + "rate": "政府贴息 2%", + "status": [ + "已放款", + "ok" + ] + }, + { + "code": "LOAN_20260901", + "type": "算力信用贷", + "amount": "¥10 万", + "rate": "年化 3.85%", + "status": [ + "审批中", + "warn" + ] + } + ] + }, + "rent": { + "title": "租金补贴", + "records": [ + { + "code": "RENT_20260901", + "type": "园区租金减免", + "amount": "¥2,000/月", + "status": [ + "生效中", + "ok" + ] + }, + { + "code": "RENT_20260902", + "type": "工位补贴", + "amount": "¥500/月", + "status": [ + "生效中", + "ok" + ] + } + ] + } + }, + "finance": { + "income": { + "total": "¥46,800", + "orders": 4, + "avg": "¥11,700/单" + }, + "costs": [ + { + "item": "算力消耗", + "amount": "¥3,200", + "pct": 28, + "detail": "图像生成+模型推理" + }, + { + "item": "灵活就业社保", + "amount": "¥1,580", + "pct": 14, + "detail": "灵活就业人员社保补贴后" + }, + { + "item": "平台服务费", + "amount": "¥1,872", + "detail": "收入 4%" + }, + { + "item": "其他成本", + "amount": "¥500", + "pct": 4, + "detail": "素材采购+工具订阅" + } + ], + "net": "¥39,648", + "suggestions": [ + "算力券余额 ¥8,000 可覆盖下月算力消耗,建议优先使用券核销", + "灵活就业社保已享受补贴,当前综合税负约 3.2%", + "本月复购订单占比 62%,建议提升 L3 认证后接高单价项目" + ] + } }, "enterprise": { "code": "ENT_00001", @@ -2712,6 +2933,133 @@ ], "pct": 78 } + ], + "activities": [ + { + "code": "ACT_0001", + "name": "供需对接会 · 跨境电商专场", + "date": "09-18", + "status": [ + "报名中", + "ok" + ], + "signups": 42, + "capacity": 80, + "leads": 12 + }, + { + "code": "ACT_0002", + "name": "政策宣讲 · 算力券申领辅导", + "date": "09-22", + "status": [ + "报名中", + "ok" + ], + "signups": 28, + "capacity": 50, + "leads": 5 + }, + { + "code": "ACT_0003", + "name": "项目路演 · AI 应用创新赛", + "date": "09-30", + "status": [ + "筹备中", + "warn" + ], + "signups": 0, + "capacity": 120, + "leads": 0 + }, + { + "code": "ACT_0004", + "name": "企业路演 · 智能体场景专场", + "date": "10-10", + "status": [ + "筹备中", + "warn" + ], + "signups": 0, + "capacity": 60, + "leads": 0 + } + ], + "brokerOrders": [ + { + "code": "ORDER_BRK_001", + "client": "ENT_00015 某科技公司", + "opc": "OPC_00017 张设计", + "amount": "¥18,000", + "source": "平台撮合", + "status": [ + "已签约", + "ok" + ] + }, + { + "code": "ORDER_BRK_002", + "client": "ENT_00016 某品牌公司", + "opc": "OPC_00045 陈视觉", + "amount": "¥12,000", + "source": "平台撮合", + "status": [ + "交付中", + "info" + ] + }, + { + "code": "ORDER_BRK_003", + "client": "ENT_00017 某贸易公司", + "opc": "待匹配", + "amount": "¥8,000", + "source": "平台撮合", + "status": [ + "待撮合", + "warn" + ] + } + ], + "policyTracking": [ + { + "policy": "算力券补贴", + "applied": 268, + "approved": 240, + "used": 186, + "status": [ + "执行中", + "ok" + ] + }, + { + "policy": "创业担保贷款", + "applied": 48, + "approved": 35, + "used": 32, + "status": [ + "执行中", + "ok" + ] + }, + { + "policy": "园区租金减免", + "applied": 120, + "approved": 110, + "used": 110, + "status": [ + "执行中", + "ok" + ] + }, + { + "policy": "灵活就业社保补贴", + "applied": 198, + "approved": 185, + "used": 180, + "status": [ + "执行中", + "ok" + ] + } ] }, "audit": { @@ -2824,5 +3172,95 @@ ] } ] + }, + "team": { + "myTeams": [ + { + "code": "TEAM_0001", + "name": "跨境电商视觉组", + "leader": "OPC_00017 张设计", + "members": 5, + "openings": 2, + "status": [ + "招募中", + "warn" + ], + "direction": "跨境电商视觉" + }, + { + "code": "TEAM_0002", + "name": "AI 漫剧协作组", + "leader": "OPC_00031 王编", + "members": 3, + "openings": 1, + "status": [ + "招募中", + "warn" + ], + "direction": "AI 漫剧" + } + ], + "recruitList": [ + { + "code": "REC_0001", + "team": "TEAM_0001 跨境电商视觉组", + "role": "详情页设计", + "level": "L2+", + "count": 2, + "budget": "¥600-1200/单", + "status": [ + "开放", + "ok" + ] + }, + { + "code": "REC_0002", + "team": "TEAM_0002 AI 漫剧协作组", + "role": "分镜+上色", + "level": "L1+", + "count": 1, + "budget": "¥300-500/集", + "status": [ + "开放", + "ok" + ] + }, + { + "code": "REC_0003", + "team": "TEAM_0003 硬件供应链组", + "role": "工业设计", + "level": "L2+", + "count": 1, + "budget": "¥800-1500/项", + "status": [ + "开放", + "ok" + ] + } + ], + "collabList": [ + { + "code": "COL_0001", + "name": "品牌视觉升级分包", + "leader": "OPC_00017", + "parts": 3, + "budget": "¥24,000", + "status": [ + "进行中", + "info" + ] + }, + { + "code": "COL_0002", + "name": "漫剧 12 集协同", + "leader": "OPC_00031", + "parts": 4, + "budget": "¥96,000", + "status": [ + "招募中", + "warn" + ] + } + ] } } \ No newline at end of file diff --git a/Demo/assets/store.js b/Demo/assets/store.js index 60dfa96..9f28415 100644 --- a/Demo/assets/store.js +++ b/Demo/assets/store.js @@ -6,7 +6,7 @@ * mock.json 结构升级时提升 SCHEMA_VER 使旧存档失效。 */ -const SCHEMA_VER = 4; +const SCHEMA_VER = 5; const DB_KEY = 'opc_demo_db'; let DB = null; diff --git a/Demo/opc.html b/Demo/opc.html index 870cfd1..6ed142a 100644 --- a/Demo/opc.html +++ b/Demo/opc.html @@ -51,6 +51,50 @@
+ +
+

抢单订单池 REQ-128/129 · 标准化任务公开抢单 · 先到先得

+
+

运营商将标准化任务放入抢单池,OPC 按 SOP 标准自主抢单;抢单后锁定 30 分钟内确认接单,超时释放回池。

+
+ + +
+

政策落地 · 算力券 / 贷款 / 租金 REQ-124/125 · 全链路可见

+
+
+

算力券申领与核销 REQ-124

+

余额 ¥8,000 / ¥10,000

+
+ +
+
+

贷款支持 REQ-125

+
+ +
+
+

租金补贴

+
+
+
+
+ + +
+

财务分析 REQ-127 · 接单收入 - 算力 - 社保 = 净收益

+
+
+

本月收支概览

+
+
+
+

财务建议

+
    +
    +
    +
    +

    收入与结算 REQ-043/046 · 分账核算 + 保证金托管

    @@ -118,6 +162,9 @@ function renderPage(DB) {

    ${c.next}

    `; renderPool(); + renderGrab(); + renderPolicySupport(); + renderFinance(); document.getElementById('stl-summary').innerHTML = O.settlement.summary.map(s => LI(s[0], s[1])).join(''); document.getElementById('stl-tbl').innerHTML = `结算单关联订单金额状态` + @@ -252,6 +299,78 @@ function verifyCert() { `, }); } + +/* === 抢单订单池 === */ +function renderGrab() { + const pool = DB.opc.grabPool || []; + document.getElementById('grab-tbl').innerHTML = + `订单号类型交付物预算截止SOP已抢单/上限状态操作` + + pool.map((o, i) => ` + ${o.id}${B(o.type)}${o.items}${o.budget}${o.ddl} + ${o.sop}${o.count}${B(o.status)} + ${o.status[1] === 'ok' ? `` : '已满'} + `).join(''); +} +function grabOrder(i) { + const o = DB.opc.grabPool[i]; + confirmDlg('抢单确认', `${o.items} · ${o.budget} · 截止 ${o.ddl}。抢单后 30 分钟内确认接单,超时释放。`, '确认抢单', () => { + toast('抢单成功!请在 30 分钟内确认接单,否则任务释放回池'); + o.count = o.count.split('/')[0] + '/' + o.count.split('/')[1]; + const cur = parseInt(o.count) + 1; + o.count = cur + '/' + o.count.split('/')[1]; + if (cur >= parseInt(o.count.split('/')[1])) o.status = ['已满', 'gray']; + renderGrab(); + }); +} + +/* === 政策落地 === */ +function renderPolicySupport() { + const P = DB.opc.policySupport; + if (!P) return; + // 算力券 + document.getElementById('vc-bal').textContent = `¥${P.compute.balance.toLocaleString()}`; + document.getElementById('vc-tbl').innerHTML = + `券号金额关联状态` + + P.compute.records.map(r => `${r.code}${r.amount}${r.target}${B(r.status)}`).join(''); + // 贷款 + document.getElementById('loan-tbl').innerHTML = + `编号类型金额利率状态` + + P.loan.records.map(r => `${r.code}${r.type}${r.amount}${r.rate}${B(r.status)}`).join(''); + // 租金 + document.getElementById('rent-tbl').innerHTML = + `编号类型金额状态` + + P.rent.records.map(r => `${r.code}${r.type}${r.amount}${B(r.status)}`).join(''); +} +function applyCompute() { + confirmDlg('申领算力券', '按细则可申领 ≤¥10,000/年。当前余额 ¥8,000,可追加申领 ¥2,000。', '确认申领', () => { + toast('算力券申领已提交,经信局审核后发放至券台账'); + }); +} +function applyLoan() { + openModal({ + title: '申请贷款支持', + body: `
    +
    +
    +

    贷款申请将关联 OPC 信用档案与订单收入流水,运营商初审后推送合作金融机构。

    `, + actions: [ + { label: '取消', cls: 'ghost' }, + { label: '提交申请', onClick: m => { m.remove(); toast('贷款申请已提交,运营商初审中'); } }, + ], + }); +} + +/* === 财务分析 === */ +function renderFinance() { + const F = DB.opc.finance; + if (!F) return; + document.getElementById('fin-tbl').innerHTML = + `项目金额占比说明` + + `接单收入${F.income.total}—${F.income.orders} 单 · 均 ${F.income.avg}` + + F.costs.map(c => `${c.item}-${c.amount}${c.pct || '—'}%${c.detail}`).join('') + + `净收益${F.net}—税后`; + document.getElementById('fin-suggest').innerHTML = F.suggestions.map(s => `
  • ${s}
  • `).join(''); +} diff --git a/Demo/operator.html b/Demo/operator.html index 205701f..2babd2a 100644 --- a/Demo/operator.html +++ b/Demo/operator.html @@ -28,6 +28,31 @@
    + +
    +

    活动管理 REQ-122/123 · 创建/发布/报名 · 关联线索转化 + +

    +
    +

    活动 → 线索 → 订单转化链路(REQ-096/097)。每场活动关联后续线索与订单转化。

    +
    + + +
    +

    政策落地跟踪 REQ-126 · 算力券/贷款/租金/社保 · 全链路

    +
    +

    运营商跟踪政策落地进度:申请 → 审批 → 使用 → 绩效。数据脱敏同步政府驾驶舱。

    +
    + + +
    +

    平台撮合订单归集 REQ-130 · 平台介入撮合 · 统一归集 + +

    +
    +

    平台介入撮合的订单手动录入或批量导入,标注来源为"平台撮合",走统一订单状态机和结算流程。

    +
    +

    进行中项目 REQ-031/036 · 运营商统一拆单与质检

    @@ -60,6 +85,9 @@ function renderPage(DB) { `

    ${s.label}

    ${s.num}

    ${s.sub}

    `).join(''); renderBizDirections(); renderAudits(); + renderActivities(); + renderPolicyTracking(); + renderBrokerOrders(); document.getElementById('op-proj').innerHTML = `项目客户承接进度状态操作` + O.projects.map(p => `${p.code} ${p.name}${p.client}${p.opc}${BAR(p.pct)}${B(p.status)}进入协同`).join(''); @@ -150,6 +178,114 @@ function arbitrate(i) { ], }); } + +/* === 活动管理 === */ +function renderActivities() { + const acts = DB.operator.activities || []; + document.getElementById('op-acts').innerHTML = + `活动号名称日期报名容量转化线索状态操作` + + acts.map((a, i) => ` + ${a.code}${a.name}${a.date} + ${a.signups}${a.capacity}${a.leads}${B(a.status)} + + `).join(''); +} +function createActivity() { + openModal({ + title: '创建活动(REQ-122)', + body: `
    +
    +
    +
    +
    +
    +
    `, + actions: [ + { label: '取消', cls: 'ghost' }, + { label: '发布活动', onClick: m => { m.remove(); toast('活动已发布,进入报名阶段(REQ-122)'); } }, + ], + }); +} +function actDetail(i) { + const a = DB.operator.activities[i]; + openModal({ + title: a.name, + body: ` + + + + + +
    活动号${a.code}
    日期${a.date}
    报名${a.signups} / ${a.capacity}
    转化线索${a.leads} 条(REQ-096)
    状态${B(a.status)}
    `, + }); +} +function actSignups(i) { + const a = DB.operator.activities[i]; + openModal({ + title: '报名管理 · ' + a.name, + body: `

    已报名 ${a.signups} 人,容量 ${a.capacity} 人

    + + + + + +
    OPC/企业报名时间状态
    OPC_00017 张设计09-10 14:30已确认
    OPC_00045 陈视觉09-11 09:15已确认
    ENT_00009 某科技公司09-12 10:00待确认
    `, + actions: [{ label: '关闭', cls: 'ghost' }], + }); +} + +/* === 政策落地跟踪 === */ +function renderPolicyTracking() { + const tracks = DB.operator.policyTracking || []; + document.getElementById('op-policy').innerHTML = + `政策申请数已审批已使用执行率状态` + + tracks.map(t => { + const rate = Math.round(t.used / t.applied * 100); + return `${t.policy}${t.applied}${t.approved}${t.used}${BAR(rate, 'ok')}${B(t.status)}`; + }).join(''); +} + +/* === 平台撮合订单归集 === */ +function renderBrokerOrders() { + const orders = DB.operator.brokerOrders || []; + document.getElementById('op-broker').innerHTML = + `订单号客户OPC金额来源状态操作` + + orders.map((o, i) => ` + ${o.code}${o.client}${o.opc}${o.amount} + ${o.source}${B(o.status)} + + `).join(''); +} +function brokerOrder() { + openModal({ + title: '录入撮合订单(REQ-130)', + body: `
    +
    +
    +
    +
    +
    +
    +

    录入后走统一订单状态机(签约→进行中→验收→结算),数据自动归集到政府驾驶舱。

    `, + actions: [ + { label: '取消', cls: 'ghost' }, + { label: '录入', onClick: m => { m.remove(); toast('撮合订单已录入,进入订单状态机'); } }, + ], + }); +} +function brokerDetail(i) { + const o = DB.operator.brokerOrders[i]; + openModal({ + title: '撮合订单详情 · ' + o.code, + body: ` + + + + + +
    客户${o.client}
    OPC${o.opc}
    金额${o.amount}
    来源${o.source}
    状态${B(o.status)}
    `, + }); +} diff --git a/Demo/service.html b/Demo/service.html index 4b8dba4..32abbc7 100644 --- a/Demo/service.html +++ b/Demo/service.html @@ -62,6 +62,7 @@ function renderPage(DB) { const role = currentRole(); document.getElementById('svc-sub').textContent = role === 'service' ? '服务机构视图 · 资质上架、工单办理、评价与退出管理' + : role === 'operator' ? '运营商服务资源管理 · 自营服务包 + 入驻服务商管理 + 工单分发(REQ-061~070)' : role === 'opc' ? '自营外包服务 + 第三方服务机构超市 · 为 OPC 提供经营支撑' : '自营外包服务 + 第三方服务机构超市 · 标准化服务包'; document.getElementById('svc-catalog').innerHTML = S.catalog.map(c => ` diff --git a/Demo/team.html b/Demo/team.html new file mode 100644 index 0000000..fdf3dd2 --- /dev/null +++ b/Demo/team.html @@ -0,0 +1,175 @@ + + + + + +组队协同 · OPC 公共服务平台 Demo + + + +
    + +
    +
    组队协同
    +
    + + +
    +

    我的团队 REQ-119 · 组长/组员 · 成员可流动 + +

    +
    +

    OPC 往往不是一人公司,分组长和组员两个角色。支持招聘组队和业务协同/分包。

    +
    + + +
    +

    招聘招募 REQ-120 · 组长招人手 · 成员可流动 + +

    +
    +
    + + +
    +

    业务协同 / 分包 REQ-121 · OPC 间协同或分包 + +

    +
    +

    OPC 之间可基于订单进行业务协同或分包,组长统一对接客户,组员按 SOP 标准并行交付。

    +
    +
    + + + + + + + diff --git a/pmdocs/0-req-OPCSP.md b/pmdocs/0-req-OPCSP.md index 467cf19..461429e 100644 --- a/pmdocs/0-req-OPCSP.md +++ b/pmdocs/0-req-OPCSP.md @@ -314,6 +314,21 @@ OPC 社区(一人公司/超级个体产业社区)由专业运营商建设运 - REQ-117:AI 自动匹配 SHALL 基于主题画像输出匹配结果,含 score、confidence、evidence 与 concerns;低置信度结果提示人工核对,不编造依据。 - REQ-118:THE 平台 SHALL 提供 OPC 社区展览驾驶舱:面向领导/企业参观的公开展示大屏,展示入驻规模、订单、收入、认证、机构、供需转化与明星 OPC 等关键数据;展示内容全部脱敏汇总,不含任何明细与 PII。 +### 4.14 组队协同与抢单池(REQ-119 ~ REQ-130 · 2026-09-14 变更新增) + +- REQ-119:THE 平台 SHALL 提供组队协同模块,支持组长创建团队、招募组员、管理成员流动;成员离职后任务自动转派替补。 +- REQ-120:THE 平台 SHALL 支持组长发布招募信息(角色、等级要求、人数、预算),OPC 可申请加入,组长审核能力档案后确认。 +- REQ-121:THE 平台 SHALL 支持 OPC 间业务协同或分包,组长统一对接客户,组员按 SOP 标准并行交付(蜂群式)。 +- REQ-122:THE 平台 SHALL 提供活动管理功能,运营商可创建、编辑、发布活动(活动介绍、日期、容量、关联业务方向)。 +- REQ-123:THE 平台 SHALL 提供活动报名管理,支持报名查看、确认、容量控制和线索转化跟踪(关联 REQ-096/097)。 +- REQ-124:THE 平台 SHALL 在 OPC 工作台提供算力券申领与核销入口,展示券余额、核销记录和关联订单产出,全链路可见。 +- REQ-125:THE 平台 SHALL 在 OPC 工作台提供贷款支持申请入口(创业担保贷款、算力信用贷、经营性贷款),关联信用档案与收入流水。 +- REQ-126:THE 平台 SHALL 在运营工作台提供政策落地跟踪看板,展示算力券/贷款/租金/社保补贴的申请数、审批数、使用数和执行率。 +- REQ-127:THE 平台 SHALL 在 OPC 工作台提供财务分析看板,展示接单收入、算力消耗、灵活就业社保、平台服务费等成本结构和净收益,并给出优化建议。 +- REQ-128:THE 平台 SHALL 提供抢单订单池,运营商将标准化任务放入抢单池,OPC 按 SOP 标准自主抢单。 +- REQ-129:THE 平台 SHALL 实现抢单锁定机制,抢单后 30 分钟内确认接单,超时释放回池;抢单上限满后标记"已满"。 +- REQ-130:THE 平台 SHALL 支持平台撮合订单归集,运营商手动录入或批量导入撮合订单,标注来源为"平台撮合",走统一订单状态机和结算流程。 + --- ## 5. 非功能性需求 diff --git a/pmdocs/CHANGELOG.md b/pmdocs/CHANGELOG.md new file mode 100644 index 0000000..008568c --- /dev/null +++ b/pmdocs/CHANGELOG.md @@ -0,0 +1,5 @@ +# 需求与 PM 文档变更索引 + +| 日期 | 编号 | 主题 | 状态 | +|---|---|---|---| +| 2026-09-14 | CHG-20260914-001 | OPC 平台功能增强(组队/活动/政策落地/财务/抢单池/撮合归集) | 待确认 | diff --git a/pmdocs/changes/2026-09-14-001-opc-platform-enhancement.md b/pmdocs/changes/2026-09-14-001-opc-platform-enhancement.md new file mode 100644 index 0000000..6052d72 --- /dev/null +++ b/pmdocs/changes/2026-09-14-001-opc-platform-enhancement.md @@ -0,0 +1,117 @@ +# CHG-20260914-001 · OPC 平台功能增强 + +## 变更概述 + +基于 OPC 平台实际运营场景反馈,提出 8 项功能增强需求,涉及组队协同、活动管理、政策落地、财务分析、抢单池、服务定位和平台撮合数据归集。 + +## 变更条目 + +### CHG-001 · 门户增加"组队"模块 + +**背景**:OPC 往往不是一人公司,分组长和组员两个角色。有两种需求: +1. 招聘组队:组长招人手组队,成员可能流动 +2. 业务协同/分包:OPC 之间业务协同或分包 + +**影响范围**:门户首页、OPC 工作台、新增组队页面 +**对应需求**:REQ-019(能力档案)、REQ-033(任务拆解) +**新增需求编号**:REQ-119(组队发布)、REQ-120(组队招募)、REQ-121(协同/分包协作组) + +### CHG-002 · "我要接订单"入口进入 OPC 角色控制面板 + +**背景**:门户"我要接订单"点击"进入OPC工作台"后,应进入角色控制面板(OPC 工作台首页),而非直接跳到订单列表。 + +**影响范围**:门户首页入口链接 +**对应需求**:REQ-001(统一门户) +**处理方式**:确认当前 login.html 选 opc 角色后跳转目标是否为 opc.html(OPC 工作台),若是则无需改动 + +### CHG-003 · 运营商活动管理 + +**背景**:运营商的核心工作之一是组织活动(活动介绍、发布、报名)。当前门户首页有活动日历展示,但缺少运营商侧的活动管理功能(创建/编辑/发布/报名管理)。 + +**影响范围**:运营工作台或新增活动管理页 +**对应需求**:REQ-095(活动日历)、REQ-096(活动线索转化) +**新增需求编号**:REQ-122(活动创建与发布)、REQ-123(活动报名管理) + +### CHG-004 · 政府政策落地:算力核销与贷款在运营商/OPC 侧缺失 + +**背景**:政府角色有算力核销视图,但运营商和 OPC 页面看不到算力券申领、核销和贷款支持。政策落地需要全链路可见: +- 租金减免/补贴 +- 算力券申领与核销 +- 资金/贷款支持 + +**影响范围**:OPC 工作台、运营工作台、政策服务页 +**对应需求**:REQ-071~080(政策服务) +**新增需求编号**:REQ-124(OPC 算力券申领与核销)、REQ-125(OPC 贷款支持申请)、REQ-126(运营商政策落地跟踪) + +### CHG-005 · OPC 财务分析 + +**背景**:OPC 的财务需求集中在三块:接单收入、算力消耗、灵活就业社保。当前 OPC 工作台有收入统计,但缺少: +- 算力消耗成本分析 +- 灵活就业社保成本分析 +- 综合财务建议(盈亏、税负、社保优化) + +**影响范围**:OPC 工作台 +**对应需求**:REQ-044(结算)、REQ-070(商保) +**新增需求编号**:REQ-127(OPC 财务分析看板) + +### CHG-006 · 抢单订单池 + +**背景**:当前 OPC 只看到推荐订单,缺少公开抢单的订单池。抢单池是 OPC 平台核心功能——运营商将标准化任务放入抢单池,OPC 自主抢单。 + +**影响范围**:OPC 工作台、订单页 +**对应需求**:REQ-029(需求发布)、REQ-030(订单状态机) +**新增需求编号**:REQ-128(抢单订单池)、REQ-129(抢单与锁定机制) + +### CHG-007 · 企业服务中心定位调整 + +**背景**:运营商有时自己提供公司注册、财务结算等服务。两种方案: +- 方案 A:企业服务中心纳入 OPC 服务功能,由运营商承担 +- 方案 B:保留现有企业服务中心,作为运营商的服务资源管理(服务商入驻+服务包管理+工单分发) + +**建议**:采用方案 B,企业服务中心定位为"运营商管理服务资源",OPC 和企业通过服务中心下单,运营商自营或分发给入驻服务商。 + +**影响范围**:企业服务中心页面、OPC 工作台 +**对应需求**:REQ-061~070(企业服务中心与后勤保障) +**处理方式**:明确企业服务中心定位,无需大改 + +### CHG-008 · 平台介入订单撮合的数据归集 + +**背景**:有些订单由平台方介入撮合和计算,这部分数据需要归集到系统中。当前系统缺少"平台撮合订单"的数据入口和归集方式。 + +**影响范围**:运营工作台、订单页、政府驾驶舱 +**对应需求**:REQ-027~048(需求、订单和协同交付) +**新增需求编号**:REQ-130(平台撮合订单归集) +**简易方法**:运营商在运营工作台手动录入或批量导入撮合订单,标注来源为"平台撮合",走统一订单状态机和结算流程 + +## 七维影响评估 + +| 维度 | CHG-001 组队 | CHG-003 活动 | CHG-004 政策落地 | CHG-005 财务 | CHG-006 抢单池 | CHG-008 撮合归集 | +|---|---|---|---|---|---|---| +| 数据模型 | 新增 Team/Member 实体 | 新增 Activity 实体 | 复用 VCH/FUND 实体 | 复用 SETL,新增成本分析 | 复用 ORDER,新增抢单标记 | 复用 ORDER,新增来源标记 | +| 页面 | 新增组队页 | 运营工作台加活动管理 | OPC/运营页加政策入口 | OPC 工作台加财务看板 | OPC 工作台加抢单池 | 运营工作台加录入入口 | +| 权限 | opc/operator | operator | opc/operator | opc | opc | operator | +| 业务流程 | 组队→接单→交付 | 活动→线索→订单 | 申领→核销→台账 | 收入-成本-社保 | 发布→抢单→锁定→交付 | 录入→归集→统计 | +| 数据迁移 | 无 | 无 | 无 | 无 | 无 | 无 | +| 接口 | 新增组队 API | 新增活动 API | 复用政策 API | 新增财务 API | 新增抢单 API | 新增录入 API | +| 部署 | 静态页面新增 | 静态页面新增 | 静态页面新增 | 静态页面新增 | 静态页面新增 | 静态页面新增 | + +## 优先级 + +| 优先级 | 变更项 | 理由 | +|---|---|---| +| P0 | CHG-006 抢单池 | OPC 核心功能,当前缺失 | +| P0 | CHG-004 政策落地 | 算力/贷款全链路缺失 | +| P1 | CHG-001 组队模块 | OPC 协同是核心场景 | +| P1 | CHG-003 活动管理 | 运营商核心工作 | +| P1 | CHG-005 财务分析 | OPC 刚需 | +| P2 | CHG-008 撮合归集 | 数据完整性 | +| P2 | CHG-002 入口跳转 | 可能已正确,待确认 | +| P2 | CHG-007 服务中心定位 | 定位明确即可,无需大改 | + +## 状态 + +- [ ] 待用户确认 +- [ ] 确认后更新 0-req-OPCSP.md +- [ ] 确认后更新 1-prd-OPCSP.md +- [ ] 确认后生成 2-task-OPCSP.md +- [ ] 实施开发