vue3-element-plus-app-chu 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/layout/index.vue +12 -12
  4. package/src/utils/digital-rmb-request.ts +78 -0
  5. package/src/view/dcps/{digital-rmb-position-estimation → estimation}/api.ts +12 -7
  6. package/src/view/dcps/estimation/typs.ts +158 -0
  7. package/src/view/dcps/{digital-rmb-forecast → forecast}/api.ts +19 -7
  8. package/src/view/dcps/forecast/typs.ts +262 -0
  9. package/src/view/dcps/{digital-rmb-write-off → write-off}/api.ts +15 -9
  10. package/src/view/dcps/write-off/typs.ts +263 -0
  11. package/src/view/dcps/digital-rmb-forecast/typs.ts +0 -50
  12. package/src/view/dcps/digital-rmb-position-estimation/typs.ts +0 -29
  13. package/src/view/dcps/digital-rmb-write-off/typs.ts +0 -59
  14. /package/src/view/dcps/{digital-rmb-authorization → auth}/api.ts +0 -0
  15. /package/src/view/dcps/{digital-rmb-authorization → auth}/components/.gitkeep +0 -0
  16. /package/src/view/dcps/{digital-rmb-authorization → auth}/components/AuthorizationDetailDialog.vue +0 -0
  17. /package/src/view/dcps/{digital-rmb-authorization → auth}/index.vue +0 -0
  18. /package/src/view/dcps/{digital-rmb-authorization → auth}/typs.ts +0 -0
  19. /package/src/view/dcps/{digital-rmb-account-balance → balance}/api.ts +0 -0
  20. /package/src/view/dcps/{digital-rmb-account-balance → balance}/index.vue +0 -0
  21. /package/src/view/dcps/{digital-rmb-account-balance → balance}/typs.ts +0 -0
  22. /package/src/view/dcps/{digital-rmb-position-estimation → estimation}/components/EstimationDetailDialog.vue +0 -0
  23. /package/src/view/dcps/{digital-rmb-position-estimation → estimation}/index.vue +0 -0
  24. /package/src/view/dcps/{digital-rmb-forecast → forecast}/components/ForecastDetailView.vue +0 -0
  25. /package/src/view/dcps/{digital-rmb-forecast → forecast}/components/ForecastEditorView.vue +0 -0
  26. /package/src/view/dcps/{digital-rmb-forecast → forecast}/components/ForecastListView.vue +0 -0
  27. /package/src/view/dcps/{digital-rmb-forecast → forecast}/components/ForecastPageShell.vue +0 -0
  28. /package/src/view/dcps/{digital-rmb-forecast → forecast}/index.vue +0 -0
  29. /package/src/view/dcps/{digital-rmb-injection → injection}/api.ts +0 -0
  30. /package/src/view/dcps/{digital-rmb-injection → injection}/components/InjectionDetailDialog.vue +0 -0
  31. /package/src/view/dcps/{digital-rmb-injection → injection}/index.vue +0 -0
  32. /package/src/view/dcps/{digital-rmb-injection → injection}/typs.ts +0 -0
  33. /package/src/view/dcps/{digital-rmb-write-off → write-off}/components/FlowWriteOffView.vue +0 -0
  34. /package/src/view/dcps/{digital-rmb-write-off → write-off}/components/ForecastWriteOffView.vue +0 -0
  35. /package/src/view/dcps/{digital-rmb-write-off → write-off}/index.vue +0 -0
package/README.md CHANGED
@@ -25,7 +25,7 @@ pnpm dev:backend # 只启动后端(backend/ 目录,tsx watch)
25
25
  - 支持交易日期、客户、交易对手、机构、金额范围及业务代码筛选,分页、详情、新增、修改和批量删除。
26
26
  - 金额、账号及流水号使用字符串处理。业务状态与类型代码保留接口原值,待服务端提供字典后再接入中文选项。
27
27
  - 导入、导出按钮保留在列表工具栏,文件由后端接口生成和解析,页面不再在前端拼装 CSV。
28
- - 模块目录与授权页面保持一致:`api.ts` 接口与日期、金额、表单校验等共用工具,`typs.ts` 类型,`runtime.ts` 默认交易日期,`index.vue` 为入口,`components/` 放页面外壳和列表、新增修改、详情页面。
28
+ - 模块目录与授权页面保持一致:`api.ts` 接口与日期、金额、表单校验等共用工具,`typs.ts` 类型,`runtime.ts` 默认交易日期,`index.vue` 为入口,`components/` 放页面外壳和列表、新增修改、详情页面。接口定义只维护在各自模块下,不再集中到 `src/api`。
29
29
  - 新增、修改、详情页面每行四列展示,窗口变窄后依次降为三列、两列、一列。
30
30
 
31
31
  本地后端的预报接口当前使用通用模拟响应,写入成功响应不代表真实持久化。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue3-element-plus-app-chu",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -1,11 +1,11 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, onMounted, ref, type Component } from 'vue'
3
- import DigitalRmbAuthorization from '@/view/dcps/digital-rmb-authorization/index.vue'
4
- import DigitalRmbAccountBalance from '@/view/dcps/digital-rmb-account-balance/index.vue'
5
- import DigitalRmbForecast from '@/view/dcps/digital-rmb-forecast/index.vue'
6
- import DigitalRmbInjection from '@/view/dcps/digital-rmb-injection/index.vue'
7
- import DigitalRmbWriteOff from '@/view/dcps/digital-rmb-write-off/index.vue'
8
- import DigitalRmbPositionEstimation from '@/view/dcps/digital-rmb-position-estimation/index.vue'
3
+ import DigitalRmbAuthorization from '@/view/dcps/auth/index.vue'
4
+ import DigitalRmbAccountBalance from '@/view/dcps/balance/index.vue'
5
+ import DigitalRmbForecast from '@/view/dcps/forecast/index.vue'
6
+ import DigitalRmbInjection from '@/view/dcps/injection/index.vue'
7
+ import DigitalRmbWriteOff from '@/view/dcps/write-off/index.vue'
8
+ import DigitalRmbPositionEstimation from '@/view/dcps/estimation/index.vue'
9
9
 
10
10
  interface LayoutMenu {
11
11
  /** 菜单唯一标识,同时作为 KeepAlive 内的页面缓存键。 */
@@ -17,12 +17,12 @@ interface LayoutMenu {
17
17
 
18
18
  // 全局布局的菜单配置:新增业务页面时只需在这里追加一项。
19
19
  const menus: LayoutMenu[] = [
20
- { key: 'digital-rmb-forecast', title: '数字人民币头寸预报', compactTitle: '头寸预报', component: DigitalRmbForecast },
21
- { key: 'digital-rmb-position-estimation', title: '数字人民币头寸匡算', compactTitle: '匡算', component: DigitalRmbPositionEstimation },
22
- { key: 'digital-rmb-injection', title: '数字人民币注资明细查询', compactTitle: '注资明细', component: DigitalRmbInjection },
23
- { key: 'digital-rmb-account-balance', title: '数字人民币账户行余额查询申请', compactTitle: '余额查询', component: DigitalRmbAccountBalance },
24
- { key: 'digital-rmb-authorization', title: '数字人民币授权', compactTitle: '授权', component: DigitalRmbAuthorization },
25
- { key: 'digital-rmb-write-off', title: '数字人民币核销', compactTitle: '核销', component: DigitalRmbWriteOff },
20
+ { key: 'forecast', title: '数字人民币头寸预报', compactTitle: '头寸预报', component: DigitalRmbForecast },
21
+ { key: 'estimation', title: '数字人民币头寸匡算', compactTitle: '匡算', component: DigitalRmbPositionEstimation },
22
+ { key: 'injection', title: '数字人民币注资明细查询', compactTitle: '注资明细', component: DigitalRmbInjection },
23
+ { key: 'balance', title: '数字人民币账户行余额查询申请', compactTitle: '余额查询', component: DigitalRmbAccountBalance },
24
+ { key: 'auth', title: '数字人民币授权', compactTitle: '授权', component: DigitalRmbAuthorization },
25
+ { key: 'write-off', title: '数字人民币核销', compactTitle: '核销', component: DigitalRmbWriteOff },
26
26
  ]
27
27
 
28
28
  const firstMenu = menus[0]!
@@ -0,0 +1,78 @@
1
+ import { post, type ApiResponse } from './request'
2
+
3
+ /** TAM 公共请求头中允许出现在数币请求里的字段;未列出的字段按业务字段处理。 */
4
+ export interface DigitalRmbHead {
5
+ adminUserId?: string
6
+ agentBranchId?: string
7
+ apprUserId?: string
8
+ areaCode?: string
9
+ batch?: boolean
10
+ branchId?: string
11
+ consumerId?: string
12
+ consumerSeqNo?: string
13
+ ctrlBits?: string
14
+ digitalSign?: string
15
+ extra?: Record<string, unknown>
16
+ fileFlag?: string
17
+ filePath?: string
18
+ isBatch?: boolean
19
+ msgId?: string
20
+ origSender?: string
21
+ pageIndex?: number | string
22
+ pageSize?: number | string
23
+ spanId?: string
24
+ traceId?: string
25
+ tranCode?: string
26
+ tranDate?: string
27
+ tranTimestamp?: string
28
+ userId?: string
29
+ verifyUserId?: string
30
+ versionId?: string
31
+ }
32
+
33
+ /** 已分组的数币请求报文。 */
34
+ export interface DigitalRmbEnvelope<T> {
35
+ body: T
36
+ head?: DigitalRmbHead & Record<string, unknown>
37
+ appHead?: { opType?: string; ip?: string }
38
+ }
39
+
40
+ /** 平铺入参中的 tranDate 保留在业务体;公共交易日期请显式传入 head。 */
41
+ export type DigitalRmbParams<T> = DigitalRmbEnvelope<T> | (T & Omit<DigitalRmbHead, 'tranDate'> & {
42
+ opType?: string
43
+ ip?: string
44
+ })
45
+
46
+ const publicFields = new Set([
47
+ 'adminUserId', 'agentBranchId', 'apprUserId', 'areaCode', 'batch',
48
+ 'branchId', 'consumerId', 'consumerSeqNo', 'ctrlBits', 'digitalSign',
49
+ 'extra', 'fileFlag', 'filePath', 'isBatch', 'msgId', 'origSender',
50
+ 'pageIndex', 'pageSize', 'spanId', 'traceId', 'tranCode',
51
+ 'tranTimestamp', 'userId', 'verifyUserId', 'versionId',
52
+ ])
53
+
54
+ /**
55
+ * 发送数币接口请求。
56
+ * 支持平铺参数和 { appHead, head, body } 报文;业务 tranDate 始终保留在 body。
57
+ * 分页参数统一转为字符串,响应保留 TAM 的 head、body 结构。
58
+ */
59
+ export function postDigitalRmb<TInput, TOutput>(url: string, params: DigitalRmbParams<TInput>) {
60
+ if (Object.hasOwn(params as object, 'body')) {
61
+ const envelope = params as DigitalRmbEnvelope<TInput>
62
+ const head = { ...envelope.head }
63
+ if (head.pageIndex !== undefined) head.pageIndex = String(head.pageIndex)
64
+ if (head.pageSize !== undefined) head.pageSize = String(head.pageSize)
65
+ return post<ApiResponse<TOutput>>(url, { ...envelope, head })
66
+ }
67
+
68
+ const body: Record<string, unknown> = {}
69
+ const head: Record<string, unknown> = {}
70
+ const appHead: Record<string, unknown> = {}
71
+ for (const [key, value] of Object.entries(params as Record<string, unknown>)) {
72
+ if (value === undefined) continue
73
+ if (key === 'opType' || key === 'ip') appHead[key] = value
74
+ else if (publicFields.has(key)) head[key] = key === 'pageIndex' || key === 'pageSize' ? String(value) : value
75
+ else body[key] = value
76
+ }
77
+ return post<ApiResponse<TOutput>>(url, { head, appHead, body })
78
+ }
@@ -1,13 +1,15 @@
1
- import sharedEstimationApi from '@/api/modules/digital-rmb/position-estimation'
1
+ import { postDigitalRmb } from '@/utils/digital-rmb-request'
2
2
  import type { ApiResponse } from '@/utils/request'
3
3
  import type {
4
4
  EstimationAmounts, EstimationHistory, EstimationPredRow, EstimationQueryParams, EstimationTranRow,
5
+ Tam140503001InBody, Tam140503001OutBody, Tam140503002InBody, Tam140503002OutBody,
6
+ Tam140503003InBody, Tam140503003OutBody, Tam140503004InBody, Tam140503004OutBody,
5
7
  } from './typs'
6
8
 
7
9
  /**
8
10
  * 数字人民币头寸匡算页面接口与共用工具。
9
11
  * 接口地址:查询 140503001、导出 140503002、详情 140503003、历史预计调拨金额 140503004;
10
- * 请求报文沿用 @/api 中的数币接口定义。
12
+ * 请求报文和接口类型均在本模块内维护。
11
13
  */
12
14
  const API = {
13
15
  /**
@@ -15,27 +17,30 @@ const API = {
15
17
  * @param params tranDate 为交易日期;predictAllotInAmt、predictAllotOutAmt
16
18
  * 为今日预计调拨收入、支付金额。返回十个单元格金额,C11、D11 回显本次输入。
17
19
  */
18
- queryListApi: (params: EstimationQueryParams) => sharedEstimationApi.queryListApi(params),
20
+ queryListApi: (params: EstimationQueryParams) =>
21
+ postDigitalRmb<Tam140503001InBody, Tam140503001OutBody>('/TAM/0001/140503001', params),
19
22
 
20
23
  /**
21
24
  * 匡算导出(140503002):入参与查询完全一致,响应只有 fileName。
22
25
  * 下载协议待文件服务确认,页面导出按钮暂未接线。
23
26
  */
24
- exportApi: (params: EstimationQueryParams) => sharedEstimationApi.exportApi(params),
27
+ exportApi: (params: EstimationQueryParams) =>
28
+ postDigitalRmb<Tam140503002InBody, Tam140503002OutBody>('/TAM/0001/140503002', params),
25
29
 
26
30
  /**
27
31
  * 匡算详情(140503003)。
28
32
  * @param params position 为报表单元格位置编码,tranDate 为交易日期;
29
33
  * 返回该单元格对应的预报列表、流水列表和总条数。
30
34
  */
31
- getDetailApi: (params: { position: string; tranDate: string }) =>
32
- sharedEstimationApi.getDetailApi(params),
35
+ getDetailApi: (params: Tam140503003InBody) =>
36
+ postDigitalRmb<Tam140503003InBody, Tam140503003OutBody>('/TAM/0001/140503003', params),
33
37
 
34
38
  /**
35
39
  * 历史预计调拨金额查询(140503004)。
36
40
  * @param tranDate 交易日期。返回该日期的预计调拨收支金额,用于预填查询条件。
37
41
  */
38
- queryHistoryApi: (tranDate: string) => sharedEstimationApi.queryHistoryApi({ tranDate }),
42
+ queryHistoryApi: (tranDate: string) =>
43
+ postDigitalRmb<Tam140503004InBody, Tam140503004OutBody>('/TAM/0001/140503004', { tranDate }),
39
44
  }
40
45
 
41
46
  /** 校验公共响应头;retCode 不是 00000 时按服务端提示或 fallback 抛错。 */
@@ -0,0 +1,158 @@
1
+ /**
2
+ * 数字人民币头寸匡算接口类型,摘自 docs/digital-rmb.openapi.json。
3
+ * 金额、日期、流水号保留协议原始 string;只有 schema.required 中的字段必填。
4
+ */
5
+
6
+ /** Tam140503001In.Body */
7
+ export interface Tam140503001InBody {
8
+ /** 今日预计调拨收入金额 */
9
+ predictAllotInAmt: string
10
+ /** 今日预计调拨支付金额 */
11
+ predictAllotOutAmt: string
12
+ /** 交易日期 */
13
+ tranDate: string
14
+ }
15
+
16
+ /** Tam140503001Out.Body */
17
+ export interface Tam140503001OutBody {
18
+ /** 当日可用余额 */
19
+ B15?: string
20
+ /** 预计调拨收入金额 */
21
+ C11?: string
22
+ /** 昨日可用余额 */
23
+ C3?: string
24
+ /** 预报收入金额 */
25
+ C6?: string
26
+ /** 未核销收入金额 */
27
+ C7?: string
28
+ /** 未核销流水收入金额 */
29
+ C8?: string
30
+ /** 预计调拨支出金额 */
31
+ D11?: string
32
+ /** 预报支出金额 */
33
+ D6?: string
34
+ /** 未核销支出金额 */
35
+ D7?: string
36
+ /** 未核销流水支出金额 */
37
+ D8?: string
38
+ }
39
+
40
+ /** Tam140503002In.Body */
41
+ export interface Tam140503002InBody {
42
+ /** 今日预计调拨收入金额 */
43
+ predictAllotInAmt: string
44
+ /** 今日预计调拨支付金额 */
45
+ predictAllotOutAmt: string
46
+ /** 交易日期 */
47
+ tranDate: string
48
+ }
49
+
50
+ /** Tam140503002Out.Body */
51
+ export interface Tam140503002OutBody {
52
+ /** 返回文件名 */
53
+ fileName?: string
54
+ }
55
+
56
+ /** Tam140503003In.Body */
57
+ export interface Tam140503003InBody {
58
+ /** 位置信息 */
59
+ position: string
60
+ /** 交易时间 */
61
+ tranDate: string
62
+ }
63
+
64
+ /** Tam140503003Out.Body */
65
+ export interface Tam140503003OutBody {
66
+ /** 返回预报列表 */
67
+ predList?: Array<Tam140503003OutBodyPredList>
68
+ /** 总条数 */
69
+ totalCount?: string
70
+ /** 返回流水列表 */
71
+ tranList?: Array<Tam140503003OutBodyTranList>
72
+ }
73
+
74
+ /** Tam140503003Out.Body.predList */
75
+ export interface Tam140503003OutBodyPredList {
76
+ /** 业务类型 */
77
+ busiType?: string
78
+ /** 客户名称 */
79
+ clientName?: string
80
+ /** 交易对手名称 */
81
+ competName?: string
82
+ /** 落地支行 */
83
+ groundBranch?: string
84
+ /** 支付渠道 */
85
+ payChannel?: string
86
+ /** 收支方向 */
87
+ payDirec?: string
88
+ /** 预报金额 */
89
+ predAmt?: string
90
+ /** 预报流水号 */
91
+ predRefNo?: string
92
+ /** 上级单位 */
93
+ upOrg?: string
94
+ /** 已核销金额 */
95
+ verifyAmt?: string
96
+ /** 核销状态 */
97
+ verifyStatus?: string
98
+ }
99
+
100
+ /** Tam140503003Out.Body.tranList */
101
+ export interface Tam140503003OutBodyTranList {
102
+ /** 金额 */
103
+ amt?: string
104
+ /** 支付系统业务类型 */
105
+ busiType?: string
106
+ /** 落地支行 */
107
+ groundBranch?: string
108
+ /** 支付渠道 */
109
+ payChannel?: string
110
+ /** 收支方向 */
111
+ payDirec?: string
112
+ /** 收款人名称 */
113
+ payeeName?: string
114
+ /** 付款人名称 */
115
+ payerName?: string
116
+ /** 交易参考号 */
117
+ refNo?: string
118
+ /** 上级单位 */
119
+ upOrg?: string
120
+ /** 核销状态 */
121
+ verifyStatus?: string
122
+ }
123
+
124
+ /** Tam140503004In.Body */
125
+ export interface Tam140503004InBody {
126
+ /** 交易时间 */
127
+ tranDate: string
128
+ }
129
+
130
+ /** Tam140503004Out.Body */
131
+ export interface Tam140503004OutBody {
132
+ /** 今日预计调拨收入金额 */
133
+ predictAllotInAmt: string
134
+ /** 今日预计调拨支付金额 */
135
+ predictAllotOutAmt: string
136
+ }
137
+
138
+ /** 匡算查询与导出(140503001、140503002)的业务参数:交易日期与预计调拨收支金额均为必填。 */
139
+ export type EstimationQueryParams = Required<Tam140503001InBody>
140
+
141
+ /** 匡算查询(140503001)返回的十个报表单元格金额;字段名即单元格位置编码。 */
142
+ export type EstimationAmounts = Tam140503001OutBody
143
+
144
+ /** 历史预计调拨金额查询(140503004)返回,用于预填查询条件。 */
145
+ export type EstimationHistory = Required<Tam140503004OutBody>
146
+
147
+ /** 匡算详情(140503003)返回的单条预报明细。 */
148
+ export type EstimationPredRow = Tam140503003OutBodyPredList
149
+
150
+ /** 匡算详情(140503003)返回的单条流水明细。 */
151
+ export type EstimationTranRow = Tam140503003OutBodyTranList
152
+
153
+ /** 匡算报表单元格:位置为接口字段编码,label 为中文展示名称,amount 为接口金额文本。 */
154
+ export interface EstimationCell {
155
+ position: string // 单元格位置编码,同接口字段名;详情接口按此提交 position。
156
+ label: string // 单元格展示名称,如 报备金额(收入)。
157
+ amount?: string // 接口返回的原始金额文本;未查询时可为空。
158
+ }
@@ -1,4 +1,4 @@
1
- import sharedForecastApi from '@/api/modules/digital-rmb/forecast-management'
1
+ import { postDigitalRmb } from '@/utils/digital-rmb-request'
2
2
  import type { ApiResponse } from '@/utils/request'
3
3
  import type {
4
4
  ForecastCreateBody,
@@ -9,12 +9,19 @@ import type {
9
9
  ForecastListBody,
10
10
  ForecastQueryParams,
11
11
  ForecastRow,
12
+ Tam120501001InBody,
13
+ Tam120501002InBody,
14
+ Tam120501003InBody,
15
+ Tam140501001InBody,
16
+ Tam140501001OutBody,
17
+ Tam140501002InBody,
18
+ Tam140501002OutBody,
12
19
  } from './typs'
13
20
 
14
21
  /**
15
22
  * 数字人民币头寸预报页面接口与共用工具。
16
23
  * 接口地址:新增 120501001、修改 120501002、删除 120501003、查询 140501001、详情 140501002;
17
- * 请求报文沿用 @/api 中的数币接口定义。
24
+ * 请求报文和接口类型均在本模块内维护。
18
25
  */
19
26
  const API = {
20
27
  /**
@@ -22,31 +29,36 @@ const API = {
22
29
  * @param params 查询参数:opType 固定为 query;tranDate 为必查交易日期,格式为 YYYYMMDD。
23
30
  * 其余筛选条件为空字符串表示不限制;金额范围使用 startTransAmt、endTransAmt。
24
31
  */
25
- queryListApi: (params: ForecastQueryParams) => sharedForecastApi.queryListApi(params),
32
+ queryListApi: (params: ForecastQueryParams) =>
33
+ postDigitalRmb<Tam140501001InBody, Tam140501001OutBody>('/TAM/0001/140501001', params),
26
34
 
27
35
  /**
28
36
  * 新增一条头寸预报。
29
37
  * @param body 新增业务字段;金额字段由调用方标准化为十进制文本。
30
38
  */
31
- addApi: (body: ForecastCreateBody) => sharedForecastApi.addApi({ body }),
39
+ addApi: (body: ForecastCreateBody) =>
40
+ postDigitalRmb<Tam120501001InBody, Record<string, unknown>>('/TAM/0001/120501001', { body }),
32
41
 
33
42
  /**
34
43
  * 修改一条头寸预报。
35
44
  * @param body 修改业务字段;predRefSeq 为待修改记录的预报流水号。
36
45
  */
37
- editApi: (body: ForecastEditBody) => sharedForecastApi.editApi({ body }),
46
+ editApi: (body: ForecastEditBody) =>
47
+ postDigitalRmb<Tam120501002InBody, Record<string, unknown>>('/TAM/0001/120501002', { body }),
38
48
 
39
49
  /**
40
50
  * 按预报流水号删除头寸预报。
41
51
  * @param predRefSeqs 待删除记录的预报流水号列表。
42
52
  */
43
- deleteApi: (predRefSeqs: string[]) => sharedForecastApi.deleteApi({ predRefSeqs }),
53
+ deleteApi: (predRefSeqs: string[]) =>
54
+ postDigitalRmb<Tam120501003InBody, Record<string, unknown>>('/TAM/0001/120501003', { predRefSeqs }),
44
55
 
45
56
  /**
46
57
  * 读取单条预报详情。
47
58
  * @param params 详情参数:predRefNo 为预报流水号。
48
59
  */
49
- getDetailApi: (params: ForecastDetailParams) => sharedForecastApi.getDetailApi(params),
60
+ getDetailApi: (params: ForecastDetailParams) =>
61
+ postDigitalRmb<Tam140501002InBody, Tam140501002OutBody>('/TAM/0001/140501002', params),
50
62
 
51
63
  /**
52
64
  * 读取详情并与列表记录合并:详情没有的字段由同一条列表记录补充,
@@ -0,0 +1,262 @@
1
+ /**
2
+ * 数字人民币头寸预报接口类型,摘自 docs/digital-rmb.openapi.json。
3
+ * 金额、日期、流水号保留协议原始 string;只有 schema.required 中的字段必填。
4
+ */
5
+
6
+ /** Tam120501001In.Body */
7
+ export interface Tam120501001InBody {
8
+ /** 出票日 */
9
+ billDate?: string
10
+ /** 票号 */
11
+ billNo?: string
12
+ /** 业务类型 */
13
+ busiType?: string
14
+ /** 客户名称 */
15
+ clientName?: string
16
+ /** 客户类型 */
17
+ clientType?: string
18
+ /** 交易对手账号 */
19
+ competAcct?: string
20
+ /** 交易对手名称 */
21
+ competName?: string
22
+ /** 客户信息流水号 */
23
+ custInfoSeq?: string
24
+ /** 落地机构 */
25
+ groundBranch?: string
26
+ /** 落地机构名称 */
27
+ groundBranchName?: string
28
+ /** 联系人 */
29
+ linkMan?: string
30
+ /** 支付渠道 */
31
+ payChannel?: string
32
+ /** 收支方向 */
33
+ payDirec?: string
34
+ /** 联系电话 */
35
+ phoneNo?: string
36
+ /** 预报金额 */
37
+ predAmt?: string
38
+ /** 预报日期 */
39
+ predDate?: string
40
+ /** 预报人员姓名 */
41
+ predName?: string
42
+ /** 预报机构名称 */
43
+ predOrgName?: string
44
+ /** 用途 */
45
+ purpose?: string
46
+ /** 备注 */
47
+ remark?: string
48
+ /** 交易日期 */
49
+ tranDate?: string
50
+ }
51
+
52
+ /** Tam120501002In.Body */
53
+ export interface Tam120501002InBody {
54
+ /** 出票日 */
55
+ billDate?: string
56
+ /** 票号 */
57
+ billNo?: string
58
+ /** 业务类型 */
59
+ busiType?: string
60
+ /** 客户名称 */
61
+ clientName?: string
62
+ /** 客户类型 */
63
+ clientType?: string
64
+ /** 交易对手账号 */
65
+ competAcct?: string
66
+ /** 交易对手名称 */
67
+ competName?: string
68
+ /** 客户信息流水号 */
69
+ custRefSeq?: string
70
+ /** 落地机构 */
71
+ groundBranch?: string
72
+ /** 落地机构名称 */
73
+ groundBranchName?: string
74
+ /** 联系人 */
75
+ linkMan?: string
76
+ /** 支付渠道 */
77
+ payChannel?: string
78
+ /** 收支方向 */
79
+ payDirec?: string
80
+ /** 联系电话 */
81
+ phoneNo?: string
82
+ /** 预报金额 */
83
+ predAmt?: string
84
+ /** 预报日期 */
85
+ predDate?: string
86
+ /** 预报流水号 */
87
+ predRefSeq?: string
88
+ /** 用途 */
89
+ purpose?: string
90
+ /** 备注 */
91
+ remark?: string
92
+ /** 交易日期 */
93
+ tranDate?: string
94
+ }
95
+
96
+ /** Tam120501003In.Body */
97
+ export interface Tam120501003InBody {
98
+ /** 预报流水号 */
99
+ predRefSeqs?: Array<string>
100
+ }
101
+
102
+ /** Tam140501001In.Body */
103
+ export interface Tam140501001InBody {
104
+ /** 业务类型 */
105
+ busiType?: string
106
+ /** 客户名称 */
107
+ clientName?: string
108
+ /** 交易对手名称 */
109
+ competName?: string
110
+ /** 截止金额 */
111
+ endTransAmt?: string
112
+ /** 落地机构 */
113
+ groundBranch?: string
114
+ /** 支付渠道 */
115
+ payChannel?: string
116
+ /** 收支方向 */
117
+ payDirec?: string
118
+ /** 预报状态 */
119
+ predStatus?: string
120
+ /** 排序 */
121
+ sortRule?: string
122
+ /** 起始金额 */
123
+ startTransAmt?: string
124
+ /** 交易时间 */
125
+ tranDate: string
126
+ /** 核销状态 */
127
+ verifyStatus?: string
128
+ }
129
+
130
+ /** Tam140501001Out.Body */
131
+ export interface Tam140501001OutBody {
132
+ /** 文件名称 */
133
+ fileName?: string
134
+ /** 信息列表 */
135
+ resultList?: Array<Tam140501001OutBodyResultList>
136
+ /** 总条数 */
137
+ totalCount?: string
138
+ }
139
+
140
+ /** Tam140501001Out.Body.resultList */
141
+ export interface Tam140501001OutBodyResultList {
142
+ /** 业务类型 */
143
+ busiType?: string
144
+ /** 客户名称 */
145
+ clientName?: string
146
+ /** 客户类型 */
147
+ clientType?: string
148
+ /** 交易对手账号 */
149
+ competAcct?: string
150
+ /** 交易对手名称 */
151
+ competName?: string
152
+ /** 落地机构 */
153
+ groundBranch?: string
154
+ /** 机构代码 */
155
+ groundBranchCode?: string
156
+ /** 支付渠道 */
157
+ payChannel?: string
158
+ /** 收支方向 */
159
+ payDirec?: string
160
+ /** 预报金额 */
161
+ predAmt?: string
162
+ /** 预报人员编号 */
163
+ predCode?: string
164
+ /** 预报日期 */
165
+ predDate?: string
166
+ /** 预报流水号 */
167
+ predRefNo?: string
168
+ /** 预报状态 */
169
+ predStatus?: string
170
+ /** 标准名称 */
171
+ standardName?: string
172
+ /** 交易日期 */
173
+ tranDate?: string
174
+ /** 已核销金额 */
175
+ verifyAmt?: string
176
+ /** 核销状态 */
177
+ verifyStatus?: string
178
+ }
179
+
180
+ /** Tam140501002In.Body */
181
+ export interface Tam140501002InBody {
182
+ /** 预报流水号 */
183
+ predRefNo: string
184
+ }
185
+
186
+ /** Tam140501002Out.Body */
187
+ export interface Tam140501002OutBody {
188
+ /** 票号 */
189
+ billNo?: string
190
+ /** 出票日 */
191
+ billSignDate?: string
192
+ /** 业务类型 */
193
+ busiType?: string
194
+ /** 客户名称 */
195
+ clientName?: string
196
+ /** 交易对手账号 */
197
+ competAcct?: string
198
+ /** 交易对手名称 */
199
+ competName?: string
200
+ /** 释放状态 */
201
+ edusFlag?: string
202
+ /** 落地机构名称 */
203
+ groundBranchName?: string
204
+ /** 支付渠道 */
205
+ payChannel?: string
206
+ /** 收支方向 */
207
+ payDirec?: string
208
+ /** 预报金额 */
209
+ predAmt?: string
210
+ /** 预报流水号 */
211
+ predRefNo?: string
212
+ /** 预报状态 */
213
+ predStatus?: string
214
+ /** 标准名称 */
215
+ standardName?: string
216
+ /** 交易时间 */
217
+ tranDate?: string
218
+ /** 已核销金额 */
219
+ verifyAmt?: string
220
+ /** 核销状态 */
221
+ verifyStatus?: string
222
+ }
223
+
224
+ /** 页面查询条件;空字符串表示不限制该条件。 */
225
+ export type ForecastFilters = Required<Tam140501001InBody>
226
+
227
+ /** 列表查询参数;日期格式为 YYYYMMDD,分页从第 1 页开始。 */
228
+ export type ForecastQueryParams = ForecastFilters & {
229
+ opType: 'query' // 查询操作标识。
230
+ pageIndex: number // 当前页码。
231
+ pageSize: number // 每页条数。
232
+ }
233
+
234
+ /** 新增预报的入参;仅提交填写了内容的业务字段。 */
235
+ export type ForecastCreateBody = Tam120501001InBody
236
+
237
+ /** 修改预报的入参;predRefSeq 必传,其余字段按接口原值覆盖。 */
238
+ export type ForecastEditBody = Tam120501002InBody
239
+
240
+ /** 删除预报的入参;一次可提交多个预报流水号。 */
241
+ export type ForecastDeleteBody = Tam120501003InBody
242
+
243
+ /** 预报详情入参;predRefNo 为要查看的预报流水号。 */
244
+ export type ForecastDetailParams = Tam140501002InBody
245
+
246
+ /** 接口返回的预报记录,列表和详情共用同一组基础字段。 */
247
+ export type ForecastRow = Tam140501001OutBodyResultList
248
+
249
+ /** 预报详情;详情接口未返回的字段由同一条列表记录补充。 */
250
+ export type ForecastDetail = ForecastRow & Tam140501002OutBody
251
+
252
+ /** 详情可能附带客户信息流水号,协议类型未声明,按可选字段处理。 */
253
+ export type ForecastDetailFields = ForecastDetail & Partial<Pick<ForecastFormValues, 'custInfoSeq' | 'custRefSeq'>>
254
+
255
+ /** 列表查询返回的业务数据。 */
256
+ export type ForecastListBody = Tam140501001OutBody
257
+
258
+ /** 新增、修改、详情共用的表单值;custRefSeq 为修改接口的字段别名。 */
259
+ export type ForecastFormValues = Required<Tam120501001InBody> & { custRefSeq?: string }
260
+
261
+ /** 表单模式:create 为新增,edit 为修改。 */
262
+ export type ForecastEditorMode = 'create' | 'edit'
@@ -1,16 +1,17 @@
1
- import sharedWriteOffApi from '@/api/modules/digital-rmb/manual-write-off'
1
+ import { postDigitalRmb, type DigitalRmbParams } from '@/utils/digital-rmb-request'
2
2
  import type { ApiResponse } from '@/utils/request'
3
- import type { DigitalRmbParams } from '@/api/modules/digital-rmb/request'
4
3
  import type {
5
4
  Tam120502001InBody,
6
5
  Tam120502002InBody,
7
6
  Tam120502003InBody,
8
7
  Tam140502001InBody,
8
+ Tam140502001OutBody,
9
9
  Tam140502002InBody,
10
- } from '@/api/modules/digital-rmb/types'
10
+ Tam140502002OutBody,
11
+ } from './typs'
11
12
 
12
13
  /**
13
- * 数字人民币头寸核销的五个接口,复用公共封装及 Swagger 类型。
14
+ * 数字人民币头寸核销的五个接口,复用本模块的类型定义。
14
15
  * 支持平铺参数和 { appHead, head, body } 报文;业务 tranDate 始终保留在 body。
15
16
  * 金额、日期、账号及流水号使用字符串,响应保留 TAM 的 head、body 结构。
16
17
  */
@@ -20,21 +21,24 @@ const API = {
20
21
  * @param params predRefNo 为预报流水号,predAmt 为预报金额,
21
22
  * beforeVerifyAmt 为修改前核销金额,verifyAmt 为已核销金额。
22
23
  */
23
- editApi: (params: DigitalRmbParams<Tam120502001InBody>) => sharedWriteOffApi.editApi(params),
24
+ editApi: (params: DigitalRmbParams<Tam120502001InBody>) =>
25
+ postDigitalRmb<Tam120502001InBody, Record<string, unknown>>('/TAM/0001/120502001', params),
24
26
 
25
27
  /**
26
28
  * 头寸核销-核销(120502002)。
27
29
  * @param params predList 为必填预报集合,每项包含 predRefNo、predAmt、verifyAmt、verifyStatus;
28
30
  * tranList 为可选流水集合,传入时每项必须包含 refNo、tranAmt、verifyStatus。
29
31
  */
30
- writeOffApi: (params: DigitalRmbParams<Tam120502002InBody>) => sharedWriteOffApi.writeOffApi(params),
32
+ writeOffApi: (params: DigitalRmbParams<Tam120502002InBody>) =>
33
+ postDigitalRmb<Tam120502002InBody, Record<string, unknown>>('/TAM/0001/120502002', params),
31
34
 
32
35
  /**
33
36
  * 头寸核销-撤销核销(120502003)。
34
37
  * @param params predList 为预报集合,tranList 为流水集合;Swagger 未声明集合必填。
35
38
  * 流水项必须包含 refNo、tranAmt、verifyStatus;预报项字段的必填约束与核销接口不同。
36
39
  */
37
- cancelWriteOffApi: (params: DigitalRmbParams<Tam120502003InBody>) => sharedWriteOffApi.cancelWriteOffApi(params),
40
+ cancelWriteOffApi: (params: DigitalRmbParams<Tam120502003InBody>) =>
41
+ postDigitalRmb<Tam120502003InBody, Record<string, unknown>>('/TAM/0001/120502003', params),
38
42
 
39
43
  /**
40
44
  * 头寸核销-预报查询(140502001)。
@@ -42,7 +46,8 @@ const API = {
42
46
  * busiType:201 兑回、202 兑出、203 付现;payChannel:8 数字人民币;payDirec:I 来账、O 往账。
43
47
  * 分页使用公共头 pageIndex、pageSize;返回 body.resultList、body.totalCount(字符串)。
44
48
  */
45
- queryForecastApi: (params: DigitalRmbParams<Tam140502001InBody>) => sharedWriteOffApi.queryForecastApi(params),
49
+ queryForecastApi: (params: DigitalRmbParams<Tam140502001InBody>) =>
50
+ postDigitalRmb<Tam140502001InBody, Tam140502001OutBody>('/TAM/0001/140502001', params),
46
51
 
47
52
  /**
48
53
  * 头寸核销-流水查询(140502002)。
@@ -50,7 +55,8 @@ const API = {
50
55
  * startTransAmt、endTransAmt、verifyStatus(1 未核销、2 已核销)筛选。
51
56
  * 返回 body.resultList、body.totalCount 和可选 fileName;流水的渠道说明为 5 数字人民币。
52
57
  */
53
- queryFlowApi: (params: DigitalRmbParams<Tam140502002InBody>) => sharedWriteOffApi.queryFlowApi(params),
58
+ queryFlowApi: (params: DigitalRmbParams<Tam140502002InBody>) =>
59
+ postDigitalRmb<Tam140502002InBody, Tam140502002OutBody>('/TAM/0001/140502002', params),
54
60
  }
55
61
 
56
62
  /** 列表查询结果:当前页记录和符合条件的总条数。 */
@@ -0,0 +1,263 @@
1
+ /**
2
+ * 数字人民币头寸核销接口类型,摘自 docs/digital-rmb.openapi.json。
3
+ * 金额、日期、流水号保留协议原始 string;只有 schema.required 中的字段必填。
4
+ */
5
+
6
+ /** Tam120502001In.Body */
7
+ export interface Tam120502001InBody {
8
+ /** 修改前核销金额 */
9
+ beforeVerifyAmt?: string
10
+ /** 预报金额 */
11
+ predAmt?: string
12
+ /** 预报流水号 */
13
+ predRefNo?: string
14
+ /** 已核销金额 */
15
+ verifyAmt?: string
16
+ }
17
+
18
+ /** Tam120502002In.Body */
19
+ export interface Tam120502002InBody {
20
+ /** 预报集合 */
21
+ predList: Array<Tam120502002InBodyPredList>
22
+ /** 流水集合 */
23
+ tranList?: Array<Tam120502002InBodyTranList>
24
+ }
25
+
26
+ /** Tam120502002In.Body.predList */
27
+ export interface Tam120502002InBodyPredList {
28
+ /** 预报金额 */
29
+ predAmt: string
30
+ /** 预报流水 */
31
+ predRefNo: string
32
+ /** 核销金额 */
33
+ verifyAmt: string
34
+ /** 核销状态 */
35
+ verifyStatus: string
36
+ }
37
+
38
+ /** Tam120502002In.Body.tranList */
39
+ export interface Tam120502002InBodyTranList {
40
+ /** 流水号 */
41
+ refNo: string
42
+ /** 交易金额 */
43
+ tranAmt: string
44
+ /** 核销状态 */
45
+ verifyStatus: string
46
+ }
47
+
48
+ /** Tam120502003In.Body */
49
+ export interface Tam120502003InBody {
50
+ /** 预报集合 */
51
+ predList?: Array<Tam120502003InBodyPredList>
52
+ /** 流水集合 */
53
+ tranList?: Array<Tam120502003InBodyTranList>
54
+ }
55
+
56
+ /** Tam120502003In.Body.predList */
57
+ export interface Tam120502003InBodyPredList {
58
+ /** 预报金额 */
59
+ predAmt?: string
60
+ /** 预报流水 */
61
+ predRefNo?: string
62
+ /** 核销金额 */
63
+ verifyAmt?: string
64
+ /** 核销状态 */
65
+ verifyStatus?: string
66
+ }
67
+
68
+ /** Tam120502003In.Body.tranList */
69
+ export interface Tam120502003InBodyTranList {
70
+ /** 流水号 */
71
+ refNo: string
72
+ /** 交易金额 */
73
+ tranAmt: string
74
+ /** 核销状态 */
75
+ verifyStatus: string
76
+ }
77
+
78
+ /** Tam140502001In.Body */
79
+ export interface Tam140502001InBody {
80
+ /** 我方账号 */
81
+ acctNo?: string
82
+ /** 机构关键字 */
83
+ banchPre?: string
84
+ /** 机构号列表 */
85
+ branchCodeList?: Array<string>
86
+ /** 业务类型,兑回:201 ,兑出:202,付现:203 */
87
+ busiType?: string
88
+ /** 客户名称 */
89
+ clientName?: string
90
+ /** 交易对手名称 */
91
+ competName?: string
92
+ /** 截止金额 */
93
+ endTransAmt?: string
94
+ /** 支付渠道,8:数字人民币 */
95
+ payChannel?: string
96
+ /** 收支方向,I=来账 O=往账 */
97
+ payDirec?: string
98
+ /** 起始金额 */
99
+ startTransAmt?: string
100
+ /** 交易日期 */
101
+ tranDate: string
102
+ /** 核销状态列表 */
103
+ verifyStatusList?: Array<string>
104
+ }
105
+
106
+ /** Tam140502001Out.Body */
107
+ export interface Tam140502001OutBody {
108
+ /** 返回信息列表 */
109
+ resultList?: Array<Tam140502001OutBodyResultList>
110
+ /** 总条数 */
111
+ totalCount?: string
112
+ }
113
+
114
+ /** Tam140502001Out.Body.ResultList */
115
+ export interface Tam140502001OutBodyResultList {
116
+ /** 业务类型,兑回:201 ,兑出:202,付现:203 */
117
+ busiType?: string
118
+ /** 客户名称 */
119
+ clientName?: string
120
+ /** 交易对手名称 */
121
+ competName?: string
122
+ /** 释放状态 */
123
+ edusFlag?: string
124
+ /** 落地机构名称 */
125
+ groundBranchName?: string
126
+ /** 支付渠道,8:数字人民币 */
127
+ payChannel?: string
128
+ /** 收支方向 */
129
+ payDirec?: string
130
+ /** 预报金额 */
131
+ predAmt?: string
132
+ /** 预报流水号 */
133
+ predRefNo?: string
134
+ /** 预报状态 */
135
+ predStatus?: string
136
+ /** 交易时间 */
137
+ tranDate?: string
138
+ /** 已核销金额 */
139
+ verifyAmt?: string
140
+ /** 核销状态 */
141
+ verifyStatus?: string
142
+ }
143
+
144
+ /** Tam140502002In.Body */
145
+ export interface Tam140502002InBody {
146
+ /** 截止金额 */
147
+ endTransAmt?: string
148
+ /** 我方机构 */
149
+ orgName?: string
150
+ /** 收支方向 */
151
+ payDirec?: string
152
+ /** 收款人名称 */
153
+ payeeName?: string
154
+ /** 付款人名称 */
155
+ payerName?: string
156
+ /** 起始金额 */
157
+ startTransAmt?: string
158
+ /** 交易日期 */
159
+ tranDate: string
160
+ /** 核销状态,1-未核销 2-已核销 */
161
+ verifyStatus?: string
162
+ }
163
+
164
+ /** Tam140502002Out.Body */
165
+ export interface Tam140502002OutBody {
166
+ /** 导出文件名 */
167
+ fileName?: string
168
+ /** 返回信息列表 */
169
+ resultList?: Array<Tam140502002OutBodyResultList>
170
+ /** 总条数 */
171
+ totalCount?: string
172
+ }
173
+
174
+ /** Tam140502002Out.Body.ResultList */
175
+ export interface Tam140502002OutBodyResultList {
176
+ /** 机构行号 */
177
+ branchCode?: string
178
+ /** 机构名称 */
179
+ branchName?: string
180
+ /** 业务状态 */
181
+ busiStatus?: string
182
+ /** 业务类型,201:兑回 ,202:兑出,203:付现 */
183
+ busiType?: string
184
+ /** 收款行行名称 */
185
+ collBankName?: string
186
+ /** 收款行行号 */
187
+ collBankNo?: string
188
+ /** 收款钱包ID */
189
+ collWltId?: string
190
+ /** 付款行行名称 */
191
+ payBankName?: string
192
+ /** 付款行行号 */
193
+ payBankNo?: string
194
+ /** 支付渠道,5:数字人民币 */
195
+ payChannel?: string
196
+ /** 收支方向,I=来账 O=往账 */
197
+ payDirec?: string
198
+ /** 付款钱包ID */
199
+ payWltId?: string
200
+ /** 收款人名称 */
201
+ payeeName?: string
202
+ /** 付款人名称 */
203
+ payerName?: string
204
+ refNo?: string
205
+ /** 备注 */
206
+ remark?: string
207
+ /** 交易金额 */
208
+ tranAmt?: string
209
+ /** 交易日期 */
210
+ tranDate?: string
211
+ /** 交易时间 */
212
+ tranTime?: string
213
+ /** 核销状态 */
214
+ verifyStatus?: string
215
+ }
216
+
217
+ /** 预报查询条件;空字符串和空数组表示不限制该条件,重置时恢复默认配置。 */
218
+ export type ForecastFilters = Required<Tam140502001InBody>
219
+
220
+ /** 预报查询参数:必填 tranDate,分页从第 1 页开始; pageIndex、pageSize 由公共请求头承载。 */
221
+ export type ForecastQueryParams = Tam140502001InBody & { pageIndex: number; pageSize: number }
222
+
223
+ /** 流水查询条件;空字符串表示不限制该条件。 */
224
+ export type FlowFilters = Required<Tam140502002InBody>
225
+
226
+ /** 流水查询参数:必填 tranDate,分页从第 1 页开始。 */
227
+ export type FlowQueryParams = Tam140502002InBody & { pageIndex: number; pageSize: number }
228
+
229
+ /** 预报查询(140502001)返回的单条预报记录。 */
230
+ export type ForecastRow = Tam140502001OutBodyResultList
231
+
232
+ /** 流水查询(140502002)返回的单条流水记录。 */
233
+ export type FlowRow = Tam140502002OutBodyResultList
234
+
235
+ /** 核销(120502002)提交的预报集合项:predRefNo、predAmt、verifyAmt、verifyStatus 均必填。 */
236
+ export type WriteOffForecastItem = Tam120502002InBodyPredList
237
+
238
+ /** 核销(120502002)提交的流水集合项:refNo、tranAmt、verifyStatus 均必填。 */
239
+ export type WriteOffFlowItem = Tam120502002InBodyTranList
240
+
241
+ /** 撤销核销(120502003)提交的预报集合项;字段可选,按行原值提交。 */
242
+ export type CancelWriteOffPredItem = Tam120502003InBodyPredList
243
+
244
+ /** 撤销核销(120502003)提交的流水集合项:refNo、tranAmt、verifyStatus 均必填。 */
245
+ export type CancelWriteOffFlowItem = Tam120502003InBodyTranList
246
+
247
+ /** 修改核销金额(120502001)的表单值;predRefNo、predAmt、beforeVerifyAmt 从行数据带入。 */
248
+ export type EditVerifyFormValues = Required<Tam120502001InBody>
249
+
250
+ /** 核销弹窗的预报编辑行:amount 为待输入的核销金额,key 用于表格渲染。 */
251
+ export type WriteOffItemInput = {
252
+ key: string // 弹窗表格行的渲染键,取预报流水号。
253
+ predRefNo: string // 预报流水号,提交时原样带回。
254
+ predAmt: string // 预报金额,仅展示。
255
+ amount: string // 用户输入的核销金额,默认取预报金额。
256
+ }
257
+
258
+ /** 核销弹窗的流水行:已在预报表格勾选的流水,提交时按行原值组装。 */
259
+ export type WriteOffFlowInput = {
260
+ key: string // 弹窗表格行的渲染键,取流水号。
261
+ refNo: string // 流水号,提交时原样带回。
262
+ tranAmt: string // 交易金额,仅展示。
263
+ }
@@ -1,50 +0,0 @@
1
- import type {
2
- Tam120501001InBody,
3
- Tam120501002InBody,
4
- Tam120501003InBody,
5
- Tam140501001InBody,
6
- Tam140501001OutBody,
7
- Tam140501001OutBodyResultList,
8
- Tam140501002InBody,
9
- Tam140501002OutBody,
10
- } from '@/api'
11
-
12
- /** 页面查询条件;空字符串表示不限制该条件。 */
13
- export type ForecastFilters = Required<Tam140501001InBody>
14
-
15
- /** 列表查询参数;日期格式为 YYYYMMDD,分页从第 1 页开始。 */
16
- export type ForecastQueryParams = ForecastFilters & {
17
- opType: 'query' // 查询操作标识。
18
- pageIndex: number // 当前页码。
19
- pageSize: number // 每页条数。
20
- }
21
-
22
- /** 新增预报的入参;仅提交填写了内容的业务字段。 */
23
- export type ForecastCreateBody = Tam120501001InBody
24
-
25
- /** 修改预报的入参;predRefSeq 必传,其余字段按接口原值覆盖。 */
26
- export type ForecastEditBody = Tam120501002InBody
27
-
28
- /** 删除预报的入参;一次可提交多个预报流水号。 */
29
- export type ForecastDeleteBody = Tam120501003InBody
30
-
31
- /** 预报详情入参;predRefNo 为要查看的预报流水号。 */
32
- export type ForecastDetailParams = Tam140501002InBody
33
-
34
- /** 接口返回的预报记录,列表和详情共用同一组基础字段。 */
35
- export type ForecastRow = Tam140501001OutBodyResultList
36
-
37
- /** 预报详情;详情接口未返回的字段由同一条列表记录补充。 */
38
- export type ForecastDetail = ForecastRow & Tam140501002OutBody
39
-
40
- /** 详情可能附带客户信息流水号,协议类型未声明,按可选字段处理。 */
41
- export type ForecastDetailFields = ForecastDetail & Partial<Pick<ForecastFormValues, 'custInfoSeq' | 'custRefSeq'>>
42
-
43
- /** 列表查询返回的业务数据。 */
44
- export type ForecastListBody = Tam140501001OutBody
45
-
46
- /** 新增、修改、详情共用的表单值;custRefSeq 为修改接口的字段别名。 */
47
- export type ForecastFormValues = Required<Tam120501001InBody> & { custRefSeq?: string }
48
-
49
- /** 表单模式:create 为新增,edit 为修改。 */
50
- export type ForecastEditorMode = 'create' | 'edit'
@@ -1,29 +0,0 @@
1
- import type {
2
- Tam140503001InBody,
3
- Tam140503001OutBody,
4
- Tam140503003OutBodyPredList,
5
- Tam140503003OutBodyTranList,
6
- Tam140503004OutBody,
7
- } from '@/api'
8
-
9
- /** 匡算查询与导出(140503001、140503002)的业务参数:交易日期与预计调拨收支金额均为必填。 */
10
- export type EstimationQueryParams = Required<Tam140503001InBody>
11
-
12
- /** 匡算查询(140503001)返回的十个报表单元格金额;字段名即单元格位置编码。 */
13
- export type EstimationAmounts = Tam140503001OutBody
14
-
15
- /** 历史预计调拨金额查询(140503004)返回,用于预填查询条件。 */
16
- export type EstimationHistory = Required<Tam140503004OutBody>
17
-
18
- /** 匡算详情(140503003)返回的单条预报明细。 */
19
- export type EstimationPredRow = Tam140503003OutBodyPredList
20
-
21
- /** 匡算详情(140503003)返回的单条流水明细。 */
22
- export type EstimationTranRow = Tam140503003OutBodyTranList
23
-
24
- /** 匡算报表单元格:位置为接口字段编码,label 为中文展示名称,amount 为接口金额文本。 */
25
- export interface EstimationCell {
26
- position: string // 单元格位置编码,同接口字段名;详情接口按此提交 position。
27
- label: string // 单元格展示名称,如 报备金额(收入)。
28
- amount?: string // 接口返回的原始金额文本;未查询时可为空。
29
- }
@@ -1,59 +0,0 @@
1
- import type {
2
- Tam120502001InBody,
3
- Tam120502002InBodyPredList,
4
- Tam120502002InBodyTranList,
5
- Tam120502003InBodyPredList,
6
- Tam120502003InBodyTranList,
7
- Tam140502001InBody,
8
- Tam140502001OutBodyResultList,
9
- Tam140502002InBody,
10
- Tam140502002OutBodyResultList,
11
- } from '@/api'
12
-
13
- /** 预报查询条件;空字符串和空数组表示不限制该条件,重置时恢复默认配置。 */
14
- export type ForecastFilters = Required<Tam140502001InBody>
15
-
16
- /** 预报查询参数:必填 tranDate,分页从第 1 页开始; pageIndex、pageSize 由公共请求头承载。 */
17
- export type ForecastQueryParams = Tam140502001InBody & { pageIndex: number; pageSize: number }
18
-
19
- /** 流水查询条件;空字符串表示不限制该条件。 */
20
- export type FlowFilters = Required<Tam140502002InBody>
21
-
22
- /** 流水查询参数:必填 tranDate,分页从第 1 页开始。 */
23
- export type FlowQueryParams = Tam140502002InBody & { pageIndex: number; pageSize: number }
24
-
25
- /** 预报查询(140502001)返回的单条预报记录。 */
26
- export type ForecastRow = Tam140502001OutBodyResultList
27
-
28
- /** 流水查询(140502002)返回的单条流水记录。 */
29
- export type FlowRow = Tam140502002OutBodyResultList
30
-
31
- /** 核销(120502002)提交的预报集合项:predRefNo、predAmt、verifyAmt、verifyStatus 均必填。 */
32
- export type WriteOffForecastItem = Tam120502002InBodyPredList
33
-
34
- /** 核销(120502002)提交的流水集合项:refNo、tranAmt、verifyStatus 均必填。 */
35
- export type WriteOffFlowItem = Tam120502002InBodyTranList
36
-
37
- /** 撤销核销(120502003)提交的预报集合项;字段可选,按行原值提交。 */
38
- export type CancelWriteOffPredItem = Tam120502003InBodyPredList
39
-
40
- /** 撤销核销(120502003)提交的流水集合项:refNo、tranAmt、verifyStatus 均必填。 */
41
- export type CancelWriteOffFlowItem = Tam120502003InBodyTranList
42
-
43
- /** 修改核销金额(120502001)的表单值;predRefNo、predAmt、beforeVerifyAmt 从行数据带入。 */
44
- export type EditVerifyFormValues = Required<Tam120502001InBody>
45
-
46
- /** 核销弹窗的预报编辑行:amount 为待输入的核销金额,key 用于表格渲染。 */
47
- export type WriteOffItemInput = {
48
- key: string // 弹窗表格行的渲染键,取预报流水号。
49
- predRefNo: string // 预报流水号,提交时原样带回。
50
- predAmt: string // 预报金额,仅展示。
51
- amount: string // 用户输入的核销金额,默认取预报金额。
52
- }
53
-
54
- /** 核销弹窗的流水行:已在预报表格勾选的流水,提交时按行原值组装。 */
55
- export type WriteOffFlowInput = {
56
- key: string // 弹窗表格行的渲染键,取流水号。
57
- refNo: string // 流水号,提交时原样带回。
58
- tranAmt: string // 交易金额,仅展示。
59
- }