This commit is contained in:
Your Name
2026-05-11 16:34:44 +08:00
parent 1338b8735c
commit 1156787327
280 changed files with 430 additions and 306 deletions
+20 -5
View File
@@ -395,7 +395,7 @@
<el-tooltip placement="top" effect="dark" :show-after="200">
<template #content>
<div style="max-width: 300px; line-height: 1.7; font-size: 12px">
按订单<b>创建时间</b>统计剔除履约已取消金额与<b>接诊诊单</b>列一致诊单<b>医助</b>或订<b>创建人</b>的人事部门落在本展示行含下级即计入多行命中时取最深的展示部门<br />
按订单<b>创建时间</b>统计剔除履约已取消金额与<b>接诊诊单</b>列一致<b>创建人</b>人事部门优先无创建人时回退诊<b>医助</b>落在本展示行含下级即计入同表多行命中时取最深的展示部门<br />
<b>不受渠道筛选影响</b>与侧栏按部门打开的业务订单列表可对齐<br />
点击金额可查看对应业务订单明细侧栏默认合计业绩全量列表
</div>
@@ -446,7 +446,7 @@
<template #content>
<div style="max-width: 320px; line-height: 1.7; font-size: 12px">
<b>业务订单条数</b>非取消订单 <b>create_time</b> 落入区间<b>fulfillment_status 4</b>与列表筛选
<b>assistant_dept_id</b> 时一致诊单 <b>医助</b>或订 <b>创建人</b>的人事部门落在该部门子树即计入表格多行命中时取最深的展示部门与侧栏勾选与表格业绩对齐时的集合可能略有差异选定渠道时本列仍为全量
<b>assistant_dept_id</b> 时一致<b>创建人</b>人事部门优先无创建人则诊 <b>医助</b>落在该部门子树即计入表格多行命中时取最深的展示部门与侧栏勾选与表格业绩对齐时的集合可能略有差异选定渠道时本列仍为全量
</div>
</template>
<el-icon class="col-info"><InfoFilled /></el-icon>
@@ -1081,6 +1081,7 @@
</template>
</el-table-column>
<el-table-column prop="doctor_name" label="开方人" width="88" show-overflow-tooltip />
<el-table-column prop="assistant_name" label="诊单医助" width="88" show-overflow-tooltip />
<el-table-column prop="creator_name" label="创建人" width="88" show-overflow-tooltip />
</el-table>
<el-empty v-if="!orderDrawerLoading && orderDrawerLists.length === 0" description="暂无业务订单" />
@@ -2103,7 +2104,15 @@ const orderDrawerSplitPerfCache = ref<{
} | null>(null)
type OrderDrawerFilter =
| { mode: 'dept'; deptId: number; deptName: string; start: string; end: string }
| {
mode: 'dept'
deptId: number
deptName: string
start: string
end: string
/** 当前业绩表各展示行 dept_id,用于侧栏与「接诊诊单」列对齐(创建人优先 + 最深展示行) */
yejiTableRowDeptIds?: number[]
}
| {
mode: 'assistant'
assistantId: number
@@ -2634,7 +2643,11 @@ function buildOrderDrawerListParams(): Record<string, any> | null {
}
if (f.mode === 'dept') {
params.assistant_dept_id = f.deptId
/** 勿传 yeji_drawer_match_table_performance:该参数按「业绩归因」医助收窄,与看板渠道成交/渠道业绩的列表摊行(诊单医助∪创建人∪最深展示行)不一致 */
/** 与 YejiStatsLogic 最深展示行 + 创建人优先归属一致 */
if (f.yejiTableRowDeptIds && f.yejiTableRowDeptIds.length > 0) {
params.yeji_table_row_dept_ids = f.yejiTableRowDeptIds.join(',')
}
/** 勿传 yeji_drawer_match_table_performance:该参数按「业绩归因」医助收窄,与看板列表摊行不一致 */
if (selectedDeptIds.value.length > 0) {
params.dept_ids = selectedDeptIds.value.join(',')
}
@@ -2740,9 +2753,10 @@ function openOrderDrawerByDept(tb: YejiTable, row: YejiRow, opts?: { listTab?: '
deptName: row.dept_name,
start: tb.start_date,
end: tb.end_date,
yejiTableRowDeptIds: tb.rows.map(r => r.dept_id).filter((id): id is number => typeof id === 'number' && id > 0),
}
orderDrawerTitle.value = `业务订单 · ${row.dept_name}`
orderDrawerHint.value = `创建时间:${tb.start_date} ${tb.end_date} · 与「接诊诊单」同口径:诊单医助或订单创建人落在本部门(含下级)· 不含履约已取消`
orderDrawerHint.value = `创建时间:${tb.start_date} ${tb.end_date} · 与「接诊诊单」同口径:**创建人**人事部门优先,无创建人则诊单医助;同表多行间取最深归属 · 不含履约已取消`
orderDrawerPage.value = 1
orderDrawerVisible.value = true
void fetchOrderDrawerPage()
@@ -2763,6 +2777,7 @@ function openOrderDrawerByYejiTableScope(
deptName: '当前展示合计',
start: tb.start_date,
end: tb.end_date,
yejiTableRowDeptIds: tb.rows.map(r => r.dept_id).filter((id): id is number => typeof id === 'number' && id > 0),
}
orderDrawerTitle.value = '业务订单 · 当前展示合计'
orderDrawerHint.value = `创建时间:${tb.start_date} ${tb.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约已取消`