vue2server7 7.0.28 → 7.0.29

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.
@@ -17,12 +17,17 @@
17
17
  <el-row :gutter="20">
18
18
  <el-col :span="8">
19
19
  <el-form-item label="头寸报备编号" prop="id">
20
- <el-input v-model="form.id" placeholder="" clearable />
20
+ <el-input v-model="form.id" placeholder="" clearable :disabled="isReadonlyField('id')" />
21
21
  </el-form-item>
22
22
  </el-col>
23
23
  <el-col :span="8">
24
24
  <el-form-item label="业务类型" prop="forecastType">
25
- <el-select v-model="form.forecastType" placeholder="请选择" style="width: 100%">
25
+ <el-select
26
+ v-model="form.forecastType"
27
+ placeholder="请选择"
28
+ style="width: 100%"
29
+ :disabled="isReadonlyField('forecastType')"
30
+ >
26
31
  <el-option
27
32
  v-for="o in forecastTypeOptions"
28
33
  :key="o.value"
@@ -42,7 +47,12 @@
42
47
  <el-row :gutter="20">
43
48
  <el-col :span="8">
44
49
  <el-form-item label="证件类型" prop="priIdCardType">
45
- <el-select v-model="form.priIdCardType" placeholder="请选择" style="width: 100%">
50
+ <el-select
51
+ v-model="form.priIdCardType"
52
+ placeholder="请选择"
53
+ style="width: 100%"
54
+ :disabled="isReadonlyField('priIdCardType')"
55
+ >
46
56
  <el-option
47
57
  v-for="o in priIdCardTypeOptions"
48
58
  :key="o.value"
@@ -54,7 +64,7 @@
54
64
  </el-col>
55
65
  <el-col :span="8">
56
66
  <el-form-item label="对公组织机构代码" prop="pubOrgCode">
57
- <el-input v-model="form.pubOrgCode" clearable />
67
+ <el-input v-model="form.pubOrgCode" clearable :disabled="isReadonlyField('pubOrgCode')" />
58
68
  </el-form-item>
59
69
  </el-col>
60
70
  <el-col :span="8">
@@ -68,13 +78,23 @@
68
78
  <el-col :span="8">
69
79
  <el-form-item label="拟付款币种/金额" prop="currency">
70
80
  <div class="currency-amt">
71
- <el-select v-model="form.currency" placeholder="币种" class="currency-amt__cur">
81
+ <el-select
82
+ v-model="form.currency"
83
+ placeholder="币种"
84
+ class="currency-amt__cur"
85
+ :disabled="isReadonlyField('currency')"
86
+ >
72
87
  <el-option label="CNY - 人民币" value="CNY" />
73
88
  <el-option label="USD - 美元" value="USD" />
74
89
  <el-option label="EUR - 欧元" value="EUR" />
75
90
  <el-option label="HKD - 港币" value="HKD" />
76
91
  </el-select>
77
- <el-input v-model="form.forecastAmt" class="currency-amt__amt" clearable />
92
+ <el-input
93
+ v-model="form.forecastAmt"
94
+ class="currency-amt__amt"
95
+ clearable
96
+ :disabled="isReadonlyField('forecastAmt')"
97
+ />
78
98
  </div>
79
99
  </el-form-item>
80
100
  </el-col>
@@ -87,6 +107,7 @@
87
107
  format="YYYY-MM-DD"
88
108
  value-format="YYYY-MM-DD"
89
109
  style="width: 100%"
110
+ :disabled="isReadonlyField('valueDate')"
90
111
  />
91
112
  </el-form-item>
92
113
  </el-col>
@@ -105,6 +126,7 @@
105
126
  format="YYYY-MM-DD"
106
127
  value-format="YYYY-MM-DD"
107
128
  style="width: 100%"
129
+ :disabled="isReadonlyField('planDate')"
108
130
  />
109
131
  </el-form-item>
110
132
  </el-col>
@@ -117,12 +139,18 @@
117
139
  format="YYYY-MM-DD"
118
140
  value-format="YYYY-MM-DD"
119
141
  style="width: 100%"
142
+ :disabled="isReadonlyField('bigForDate')"
120
143
  />
121
144
  </el-form-item>
122
145
  </el-col>
123
146
  <el-col :span="8">
124
147
  <el-form-item label="报备时间" prop="bigForTime">
125
- <el-input v-model="form.bigForTime" placeholder="HHmmss" clearable />
148
+ <el-input
149
+ v-model="form.bigForTime"
150
+ placeholder="HHmmss"
151
+ clearable
152
+ :disabled="isReadonlyField('bigForTime')"
153
+ />
126
154
  </el-form-item>
127
155
  </el-col>
128
156
  </el-row>
@@ -130,7 +158,12 @@
130
158
  <el-row :gutter="20">
131
159
  <el-col :span="8">
132
160
  <el-form-item label="是否退汇" prop="rtnFlag">
133
- <el-select v-model="form.rtnFlag" placeholder="请选择" style="width: 100%">
161
+ <el-select
162
+ v-model="form.rtnFlag"
163
+ placeholder="请选择"
164
+ style="width: 100%"
165
+ :disabled="isReadonlyField('rtnFlag')"
166
+ >
134
167
  <el-option label="否" value="01" />
135
168
  <el-option label="是" value="02" />
136
169
  </el-select>
@@ -144,12 +177,13 @@
144
177
  show-word-limit
145
178
  placeholder="退汇为「是」时必填,16 位"
146
179
  clearable
180
+ :disabled="isReadonlyField('oriInnerRefNo')"
147
181
  />
148
182
  </el-form-item>
149
183
  </el-col>
150
184
  <el-col :span="8">
151
185
  <el-form-item label="账户行" prop="nostro">
152
- <el-input v-model="form.nostro" clearable />
186
+ <el-input v-model="form.nostro" clearable :disabled="isReadonlyField('nostro')" />
153
187
  </el-form-item>
154
188
  </el-col>
155
189
  </el-row>
@@ -157,17 +191,26 @@
157
191
  <el-row :gutter="20">
158
192
  <el-col :span="8">
159
193
  <el-form-item label="收款银行" prop="swiftCode">
160
- <el-input v-model="form.swiftCode" placeholder="最终收款行 SWIFT" clearable />
194
+ <el-input
195
+ v-model="form.swiftCode"
196
+ placeholder="最终收款行 SWIFT"
197
+ clearable
198
+ :disabled="isReadonlyField('swiftCode')"
199
+ />
161
200
  </el-form-item>
162
201
  </el-col>
163
202
  <el-col :span="8">
164
203
  <el-form-item label="收款银行开户行" prop="pyeAcctBicSCode">
165
- <el-input v-model="form.pyeAcctBicSCode" clearable />
204
+ <el-input
205
+ v-model="form.pyeAcctBicSCode"
206
+ clearable
207
+ :disabled="isReadonlyField('pyeAcctBicSCode')"
208
+ />
166
209
  </el-form-item>
167
210
  </el-col>
168
211
  <el-col :span="8">
169
212
  <el-form-item label="收款银行开户行名称" prop="pyeAcctBicName">
170
- <el-input v-model="form.pyeAcctBicName" disabled />
213
+ <el-input v-model="form.pyeAcctBicName" :disabled="isReadonlyField('pyeAcctBicName')" />
171
214
  </el-form-item>
172
215
  </el-col>
173
216
  </el-row>
@@ -175,7 +218,12 @@
175
218
  <el-row :gutter="20">
176
219
  <el-col :span="8">
177
220
  <el-form-item label="邮件通知服务产品" prop="mailFlag">
178
- <el-select v-model="form.mailFlag" placeholder="请选择" style="width: 100%">
221
+ <el-select
222
+ v-model="form.mailFlag"
223
+ placeholder="请选择"
224
+ style="width: 100%"
225
+ :disabled="isReadonlyField('mailFlag')"
226
+ >
179
227
  <el-option label="否" value="0" />
180
228
  <el-option label="是" value="1" />
181
229
  </el-select>
@@ -183,7 +231,12 @@
183
231
  </el-col>
184
232
  <el-col :span="8">
185
233
  <el-form-item label="多币种汇款产品" prop="mulCurFlag">
186
- <el-select v-model="form.mulCurFlag" placeholder="请选择" style="width: 100%">
234
+ <el-select
235
+ v-model="form.mulCurFlag"
236
+ placeholder="请选择"
237
+ style="width: 100%"
238
+ :disabled="isReadonlyField('mulCurFlag')"
239
+ >
187
240
  <el-option label="否" value="0" />
188
241
  <el-option label="是" value="1" />
189
242
  </el-select>
@@ -191,7 +244,12 @@
191
244
  </el-col>
192
245
  <el-col :span="8">
193
246
  <el-form-item label="自贸区标识" prop="ftzFlag">
194
- <el-select v-model="form.ftzFlag" placeholder="请选择" style="width: 100%">
247
+ <el-select
248
+ v-model="form.ftzFlag"
249
+ placeholder="请选择"
250
+ style="width: 100%"
251
+ :disabled="isReadonlyField('ftzFlag')"
252
+ >
195
253
  <el-option label="否" value="0" />
196
254
  <el-option label="是" value="1" />
197
255
  </el-select>
@@ -202,12 +260,12 @@
202
260
  <el-row :gutter="20">
203
261
  <el-col :span="8">
204
262
  <el-form-item label="报备人" prop="linkMan">
205
- <el-input v-model="form.linkMan" clearable />
263
+ <el-input v-model="form.linkMan" clearable :disabled="isReadonlyField('linkMan')" />
206
264
  </el-form-item>
207
265
  </el-col>
208
266
  <el-col :span="8">
209
267
  <el-form-item label="联系电话" prop="linkWay">
210
- <el-input v-model="form.linkWay" clearable />
268
+ <el-input v-model="form.linkWay" clearable :disabled="isReadonlyField('linkWay')" />
211
269
  </el-form-item>
212
270
  </el-col>
213
271
  <el-col :span="8">
@@ -219,6 +277,7 @@
219
277
  default-first-option
220
278
  placeholder="请选择或输入"
221
279
  style="width: 100%"
280
+ :disabled="isReadonlyField('orgId')"
222
281
  >
223
282
  <el-option label="00301-和平里支行营业部" value="00301" />
224
283
  </el-select>
@@ -229,7 +288,13 @@
229
288
  <el-row :gutter="20">
230
289
  <el-col :span="8">
231
290
  <el-form-item label="报备说明" prop="remark">
232
- <el-input v-model="form.remark" type="textarea" :rows="2" placeholder="" />
291
+ <el-input
292
+ v-model="form.remark"
293
+ type="textarea"
294
+ :rows="2"
295
+ placeholder=""
296
+ :disabled="isReadonlyField('remark')"
297
+ />
233
298
  </el-form-item>
234
299
  </el-col>
235
300
  <el-col :span="8" class="form-col--spacer">
@@ -237,7 +302,7 @@
237
302
  </el-col>
238
303
  <el-col :span="8">
239
304
  <el-form-item label="备注(拒绝原因)" prop="rejectRemark">
240
- <el-input v-model="form.rejectRemark" clearable />
305
+ <el-input v-model="form.rejectRemark" clearable :disabled="isReadonlyField('rejectRemark')" />
241
306
  </el-form-item>
242
307
  </el-col>
243
308
  </el-row>
@@ -245,7 +310,12 @@
245
310
  <el-row :gutter="20">
246
311
  <el-col :span="8">
247
312
  <el-form-item label="使用状态" prop="isUsedFlg">
248
- <el-select v-model="form.isUsedFlg" placeholder="请选择" style="width: 100%">
313
+ <el-select
314
+ v-model="form.isUsedFlg"
315
+ placeholder="请选择"
316
+ style="width: 100%"
317
+ :disabled="isReadonlyField('isUsedFlg')"
318
+ >
249
319
  <el-option label="未使用" value="0" />
250
320
  <el-option label="已使用" value="1" />
251
321
  </el-select>
@@ -253,7 +323,12 @@
253
323
  </el-col>
254
324
  <el-col :span="8">
255
325
  <el-form-item label="当前队列" prop="forecastStatus">
256
- <el-select v-model="form.forecastStatus" placeholder="请选择" style="width: 100%">
326
+ <el-select
327
+ v-model="form.forecastStatus"
328
+ placeholder="请选择"
329
+ style="width: 100%"
330
+ :disabled="isReadonlyField('forecastStatus')"
331
+ >
257
332
  <el-option
258
333
  v-for="o in forecastStatusOptions"
259
334
  :key="o.value"
@@ -265,7 +340,7 @@
265
340
  </el-col>
266
341
  <el-col :span="8">
267
342
  <el-form-item label="业务渠道" prop="businessChannel">
268
- <el-input v-model="form.businessChannel" disabled />
343
+ <el-input v-model="form.businessChannel" :disabled="isReadonlyField('businessChannel')" />
269
344
  </el-form-item>
270
345
  </el-col>
271
346
  </el-row>
@@ -275,17 +350,27 @@
275
350
  <el-row :gutter="20">
276
351
  <el-col :span="8">
277
352
  <el-form-item label="授权人" prop="author">
278
- <el-input v-model="form.author" clearable />
353
+ <el-input v-model="form.author" clearable :disabled="isReadonlyField('author')" />
279
354
  </el-form-item>
280
355
  </el-col>
281
356
  <el-col :span="8">
282
357
  <el-form-item label="授权日期" prop="authorDate">
283
- <el-input v-model="form.authorDate" placeholder="YYYY-MM-DD" clearable />
358
+ <el-input
359
+ v-model="form.authorDate"
360
+ placeholder="YYYY-MM-DD"
361
+ clearable
362
+ :disabled="isReadonlyField('authorDate')"
363
+ />
284
364
  </el-form-item>
285
365
  </el-col>
286
366
  <el-col :span="8">
287
367
  <el-form-item label="授权时间" prop="authorTime">
288
- <el-input v-model="form.authorTime" placeholder="HHmmss" clearable />
368
+ <el-input
369
+ v-model="form.authorTime"
370
+ placeholder="HHmmss"
371
+ clearable
372
+ :disabled="isReadonlyField('authorTime')"
373
+ />
289
374
  </el-form-item>
290
375
  </el-col>
291
376
  </el-row>
@@ -293,17 +378,27 @@
293
378
  <el-row :gutter="20">
294
379
  <el-col :span="8">
295
380
  <el-form-item label="复核人" prop="supervisor">
296
- <el-input v-model="form.supervisor" clearable />
381
+ <el-input v-model="form.supervisor" clearable :disabled="isReadonlyField('supervisor')" />
297
382
  </el-form-item>
298
383
  </el-col>
299
384
  <el-col :span="8">
300
385
  <el-form-item label="复核日期" prop="checkDate">
301
- <el-input v-model="form.checkDate" placeholder="YYYY-MM-DD" clearable />
386
+ <el-input
387
+ v-model="form.checkDate"
388
+ placeholder="YYYY-MM-DD"
389
+ clearable
390
+ :disabled="isReadonlyField('checkDate')"
391
+ />
302
392
  </el-form-item>
303
393
  </el-col>
304
394
  <el-col :span="8">
305
395
  <el-form-item label="复核时间" prop="checkTime">
306
- <el-input v-model="form.checkTime" placeholder="HHmmss" clearable />
396
+ <el-input
397
+ v-model="form.checkTime"
398
+ placeholder="HHmmss"
399
+ clearable
400
+ :disabled="isReadonlyField('checkTime')"
401
+ />
307
402
  </el-form-item>
308
403
  </el-col>
309
404
  </el-row>
@@ -311,17 +406,17 @@
311
406
  <el-row :gutter="20">
312
407
  <el-col :span="8">
313
408
  <el-form-item label="大额授权码" prop="posForecastNo">
314
- <el-input v-model="form.posForecastNo" clearable />
409
+ <el-input v-model="form.posForecastNo" clearable :disabled="isReadonlyField('posForecastNo')" />
315
410
  </el-form-item>
316
411
  </el-col>
317
412
  <el-col :span="8">
318
413
  <el-form-item label="中间行 SWIFT" prop="interBk">
319
- <el-input v-model="form.interBk" clearable />
414
+ <el-input v-model="form.interBk" clearable :disabled="isReadonlyField('interBk')" />
320
415
  </el-form-item>
321
416
  </el-col>
322
417
  <el-col :span="8">
323
418
  <el-form-item label="收款人名称" prop="pyeName">
324
- <el-input v-model="form.pyeName" clearable />
419
+ <el-input v-model="form.pyeName" clearable :disabled="isReadonlyField('pyeName')" />
325
420
  </el-form-item>
326
421
  </el-col>
327
422
  </el-row>
@@ -329,12 +424,17 @@
329
424
  <el-row :gutter="20">
330
425
  <el-col :span="8">
331
426
  <el-form-item label="实际付款金额" prop="usedAmt">
332
- <el-input v-model="form.usedAmt" clearable />
427
+ <el-input v-model="form.usedAmt" clearable :disabled="isReadonlyField('usedAmt')" />
333
428
  </el-form-item>
334
429
  </el-col>
335
430
  <el-col :span="8">
336
431
  <el-form-item label="可操作标志" prop="isOperateFlag">
337
- <el-select v-model="form.isOperateFlag" placeholder="请选择" style="width: 100%">
432
+ <el-select
433
+ v-model="form.isOperateFlag"
434
+ placeholder="请选择"
435
+ style="width: 100%"
436
+ :disabled="isReadonlyField('isOperateFlag')"
437
+ >
338
438
  <el-option label="不可操作" value="0" />
339
439
  <el-option label="可以操作" value="1" />
340
440
  </el-select>
@@ -358,7 +458,7 @@
358
458
  </template>
359
459
 
360
460
  <script setup lang="ts">
361
- import { computed, reactive, ref } from 'vue'
461
+ import { computed, ref } from 'vue'
362
462
  import { useRouter } from 'vue-router'
363
463
  import { ElMessage } from 'element-plus'
364
464
  import type { FormInstance, FormRules } from 'element-plus'
@@ -445,7 +545,7 @@ const clientTypeLabels: Record<string, string> = {
445
545
  '03': '对私非居民'
446
546
  }
447
547
 
448
- const form = reactive<PositionForecastForm>({
548
+ const form = ref<PositionForecastForm>({
449
549
  id: '',
450
550
  author: '',
451
551
  authorDate: '',
@@ -488,7 +588,21 @@ const form = reactive<PositionForecastForm>({
488
588
  businessChannel: '柜面系统'
489
589
  })
490
590
 
491
- const clientTypeLabel = computed(() => clientTypeLabels[form.clientType] ?? form.clientType)
591
+ const clientTypeLabel = computed(
592
+ () => clientTypeLabels[form.value.clientType] ?? form.value.clientType
593
+ )
594
+
595
+ /** 仅以下字段可编辑,其余只读 */
596
+ const EDITABLE_FORM_KEYS = new Set([
597
+ 'valueDate',
598
+ 'nostro',
599
+ 'rejectRemark',
600
+ 'pyeAcctBicName'
601
+ ])
602
+
603
+ function isReadonlyField(prop: string): boolean {
604
+ return !EDITABLE_FORM_KEYS.has(prop)
605
+ }
492
606
 
493
607
  const rules: FormRules<PositionForecastForm> = {
494
608
  valueDate: [{ required: true, message: '起息日不能为空', trigger: 'change' }]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2server7",
3
- "version": "7.0.28",
3
+ "version": "7.0.29",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "dev": "nodemon --watch src --ext ts --exec \"ts-node src/app.ts\"",