Blame view

store-pc/src/utils/jsjResolveHelper.js 1.5 KB
c4040263   “wangming”   feat: V2.0.2 会员标签...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  import { getJsjInfo } from '@/api/lqKhxx'
  
  /**
   * 按健康师 + 业绩日期查询金三角 ID(与后端 Helper 口径一致)
   */
  export async function resolveJsjId(userId, dateYmd) {
    if (!userId || !dateYmd) return ''
    try {
      const res = await getJsjInfo(userId, dateYmd)
      if (res.code === 200 && res.data) return res.data.jsjId || ''
    } catch (e) {
      /* 提交前兜底失败时由服务端 FillMissingJsjId 补全 */
    }
    return ''
  }
  
  async function fillWorkerJsjIds(rows, dateYmd, cache) {
    for (const w of rows) {
      if (!w || !w.workerId || w.jsjId) continue
      if (cache[w.workerId] === undefined) {
        cache[w.workerId] = await resolveJsjId(w.workerId, dateYmd)
      }
      w.jsjId = cache[w.workerId]
    }
  }
  
  /** 耗卡:健康师 + 陪同 */
  export async function ensureStoreConsumeJsjIds(form, dateYmd) {
    if (!form || !dateYmd) return
    const cache = {}
    for (const it of form.items || []) {
      await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
      await fillWorkerJsjIds(it.accompanied || [], dateYmd, cache)
    }
  }
  
  /** 开单 */
  export async function ensureStoreBillingJsjIds(form, dateYmd) {
    if (!form || !dateYmd) return
    const cache = {}
    for (const it of form.items || []) {
      await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
    }
  }
  
  /** 退卡 */
  export async function ensureStoreRefundJsjIds(form, dateYmd) {
    if (!form || !dateYmd) return
    const cache = {}
    for (const it of form.items || []) {
      await fillWorkerJsjIds(it.workers || [], dateYmd, cache)
    }
  }