fujunling
2023-06-26 a4e4026aee8c5e6d12c1065ce71efee81a2b5518
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
import { getCodeRule } from "@/api/formTemplate.js";
export default {
  data() {
    return {
      secVOList: [],
      showCodeApply: false,
      selfColumnType: {
        codefixedsec: "combox",
        codeclassifysec: "refer",
        codevariablesec: "text",
        coderefersec: "refer",
      },
      selfColumnConfig: {
        function: {
          required: this.isRequired,
          dicData: this.getOptionList,
          type: this.getType,
          referConfig: this.getReferConfig,
          readOnly: this.getDisabled,
        },
        exchange: {
          text: "name",
          field: "oid",
          prop: "oid",
          showField: "name",
          parentClassifySecOid: "parentClassifySecOid",
          label: "name",
          maxlength: "codeSecLength",
          data: "fixedValueVOList",
        },
        directVoluation: {
          search: true,
          span: 12,
          props: {
            label: "id",
            value: "id",
          },
        },
      },
      codeApplyForm: {},
    }
  },
  created() {
    this.getCodeRule()
  },
  methods: {
    // 获取码值申请数据
    getCodeRule() {
      getCodeRule({ codeClassifyOid: '1673234841140858880' }).then((res) => {
        if (res.data && res.data.code === 200) {
          const typeList = [
            "codefixedsec",
            "codeclassifysec",
            "codevariablesec",
            "coderefersec",
          ];
          this.secVOList = (res.data.data.secVOList || []).filter((item) =>
            typeList.includes(item.sectype)
          );
          this.secVOList = [
            {
              "oid": "1673235191453323264",
              "id": "gdmd",
              "name": "固定码段",
              "tenantId": "",
              "description": "",
              "revisionOid": "1673235191453323267",
              "nameOid": "1673235191453323265",
              "btmname": "codebasicsec",
              "lastR": "1",
              "firstR": "1",
              "lastV": "1",
              "firstV": "1",
              "creator": "0",
              "createTime": "2023-06-26 15:42:11",
              "lastModifier": "0",
              "lastModifyTime": "2023-06-26 15:42:11",
              "revisionRule": "",
              "revisionSeq": 1,
              "revisionValue": "",
              "versionRule": "0",
              "versionSeq": 1,
              "versionValue": "1",
              "lctid": "",
              "lcStatus": "",
              "lcStatusText": "",
              "ts": "2023-06-26 15:42:11.506",
              "owner": "1",
              "copyFromVersion": "",
              "secretGrade": -1,
              "secretGradeText": "",
              "data": {},
              "sectype": "codefixedsec",
              "secTypeText": "固定码段",
              "pkCodeRule": "1673234841140858880",
              "orderNum": 1,
              "codeSecLengthType": "code_sec_length_variable",
              "codeSecLengthTypeText": "可变长度",
              "codeSecLength": "10",
              "referAttributeName": "",
              "referAttributeId": "",
              "getValueClass": "",
              "codeDateFormatStr": "",
              "codeLevelType": "",
              "codeLevelTypeText": "",
              "codeLevelValue": -1,
              "valueCutLength": -1,
              "valueCutType": "",
              "valueCutTypeText": "",
              "codeGetValueType": "",
              "codeGetValueTypeText": "",
              "referCodeClassifyOid": "",
              "referCodeClassifyOidName": "",
              "referBtmId": "",
              "referBtmName": "",
              "referConfig": "",
              "referValueInfo": "",
              "filterSql": "",
              "serialStart": "",
              "serialStep": -1,
              "codeFillType": "",
              "codeFillTypeText": "",
              "codeFillSeparator": "0",
              "codeFillLength": "",
              "codeFillLimit": -1,
              "codeFillFlag": "false",
              "customCodeSerialClass": "",
              "matchClassifyValueFlag": "false",
              "parentClassifySecOid": "",
              "parentClassifySecText": "",
              "nullableFlag": "false",
              "componentCodeFlag": "false",
              "serialDependFlag": "false",
              "displayFlag": "false",
              "serialDependOrder": 0,
              "fixedValueVOList": [
                {
                  "oid": "1673235247598276608",
                  "id": "001",
                  "name": "",
                  "tenantId": "",
                  "description": "",
                  "revisionOid": "1673235247615053824",
                  "nameOid": "1673235247598276609",
                  "btmname": "codefixedvalue",
                  "lastR": "1",
                  "firstR": "1",
                  "lastV": "1",
                  "firstV": "1",
                  "creator": "0",
                  "createTime": "2023-06-26 15:42:24",
                  "lastModifier": "0",
                  "lastModifyTime": "2023-06-26 15:42:24",
                  "revisionRule": "",
                  "revisionSeq": 1,
                  "revisionValue": "",
                  "versionRule": "0",
                  "versionSeq": 1,
                  "versionValue": "1",
                  "lctid": "",
                  "lcStatus": "",
                  "lcStatusText": "",
                  "ts": "2023-06-26 15:42:24.892",
                  "owner": "1",
                  "copyFromVersion": "",
                  "secretGrade": -1,
                  "secretGradeText": "",
                  "data": {},
                  "codeFixedSecOid": "1673235191453323264",
                  "codefixedsecoidName": "",
                  "orderNum": 1
                },
                {
                  "oid": "1673235273523269632",
                  "id": "002",
                  "name": "",
                  "tenantId": "",
                  "description": "",
                  "revisionOid": "1673235273535852544",
                  "nameOid": "1673235273523269633",
                  "btmname": "codefixedvalue",
                  "lastR": "1",
                  "firstR": "1",
                  "lastV": "1",
                  "firstV": "1",
                  "creator": "0",
                  "createTime": "2023-06-26 15:42:31",
                  "lastModifier": "0",
                  "lastModifyTime": "2023-06-26 15:42:31",
                  "revisionRule": "",
                  "revisionSeq": 1,
                  "revisionValue": "",
                  "versionRule": "0",
                  "versionSeq": 1,
                  "versionValue": "1",
                  "lctid": "",
                  "lcStatus": "",
                  "lcStatusText": "",
                  "ts": "2023-06-26 15:42:31.073",
                  "owner": "1",
                  "copyFromVersion": "",
                  "secretGrade": -1,
                  "secretGradeText": "",
                  "data": {},
                  "codeFixedSecOid": "1673235191453323264",
                  "codefixedsecoidName": "",
                  "orderNum": 2
                }
              ]
            },
            {
              "oid": "1673235394948370432",
              "id": "flmdf",
              "name": "分类码段父",
              "tenantId": "",
              "description": "",
              "revisionOid": "1673235394948370435",
              "nameOid": "1673235394948370433",
              "btmname": "codebasicsec",
              "lastR": "1",
              "firstR": "1",
              "lastV": "1",
              "firstV": "1",
              "creator": "0",
              "createTime": "2023-06-26 15:43:00",
              "lastModifier": "0",
              "lastModifyTime": "2023-06-26 15:43:00",
              "revisionRule": "",
              "revisionSeq": 1,
              "revisionValue": "",
              "versionRule": "0",
              "versionSeq": 1,
              "versionValue": "1",
              "lctid": "",
              "lcStatus": "",
              "lcStatusText": "",
              "ts": "2023-06-26 15:43:00.023",
              "owner": "1",
              "copyFromVersion": "",
              "secretGrade": -1,
              "secretGradeText": "",
              "data": {},
              "sectype": "codeclassifysec",
              "secTypeText": "分类码段",
              "pkCodeRule": "1673234841140858880",
              "orderNum": 2,
              "codeSecLengthType": "code_sec_length_variable",
              "codeSecLengthTypeText": "可变长度",
              "codeSecLength": "10",
              "referAttributeName": "",
              "referAttributeId": "",
              "getValueClass": "",
              "codeDateFormatStr": "",
              "codeLevelType": "",
              "codeLevelTypeText": "",
              "codeLevelValue": -1,
              "valueCutLength": -1,
              "valueCutType": "",
              "valueCutTypeText": "",
              "codeGetValueType": "",
              "codeGetValueTypeText": "",
              "referCodeClassifyOid": "",
              "referCodeClassifyOidName": "",
              "referBtmId": "",
              "referBtmName": "",
              "referConfig": "",
              "referValueInfo": "",
              "filterSql": "",
              "serialStart": "",
              "serialStep": -1,
              "codeFillType": "",
              "codeFillTypeText": "",
              "codeFillSeparator": "0",
              "codeFillLength": "",
              "codeFillLimit": -1,
              "codeFillFlag": "false",
              "customCodeSerialClass": "",
              "matchClassifyValueFlag": "false",
              "parentClassifySecOid": "",
              "parentClassifySecText": "",
              "nullableFlag": "false",
              "componentCodeFlag": "false",
              "serialDependFlag": "false",
              "displayFlag": "false",
              "serialDependOrder": 0,
              "fixedValueVOList": []
            },
            {
              "oid": "1673235616541839360",
              "id": "flmdz",
              "name": "分类码段子",
              "tenantId": "",
              "description": "",
              "revisionOid": "1673235616541839363",
              "nameOid": "1673235616541839361",
              "btmname": "codebasicsec",
              "lastR": "1",
              "firstR": "1",
              "lastV": "1",
              "firstV": "1",
              "creator": "0",
              "createTime": "2023-06-26 15:43:52",
              "lastModifier": "0",
              "lastModifyTime": "2023-06-26 15:43:52",
              "revisionRule": "",
              "revisionSeq": 1,
              "revisionValue": "",
              "versionRule": "0",
              "versionSeq": 1,
              "versionValue": "1",
              "lctid": "",
              "lcStatus": "",
              "lcStatusText": "",
              "ts": "2023-06-26 15:43:52.855",
              "owner": "1",
              "copyFromVersion": "",
              "secretGrade": -1,
              "secretGradeText": "",
              "data": {},
              "sectype": "codeclassifysec",
              "secTypeText": "分类码段",
              "pkCodeRule": "1673234841140858880",
              "orderNum": 3,
              "codeSecLengthType": "code_sec_length_variable",
              "codeSecLengthTypeText": "可变长度",
              "codeSecLength": "10",
              "referAttributeName": "",
              "referAttributeId": "",
              "getValueClass": "",
              "codeDateFormatStr": "",
              "codeLevelType": "",
              "codeLevelTypeText": "",
              "codeLevelValue": -1,
              "valueCutLength": -1,
              "valueCutType": "",
              "valueCutTypeText": "",
              "codeGetValueType": "",
              "codeGetValueTypeText": "",
              "referCodeClassifyOid": "",
              "referCodeClassifyOidName": "",
              "referBtmId": "",
              "referBtmName": "",
              "referConfig": "",
              "referValueInfo": "",
              "filterSql": "",
              "serialStart": "",
              "serialStep": -1,
              "codeFillType": "",
              "codeFillTypeText": "",
              "codeFillSeparator": "0",
              "codeFillLength": "",
              "codeFillLimit": -1,
              "codeFillFlag": "false",
              "customCodeSerialClass": "",
              "matchClassifyValueFlag": "false",
              "parentClassifySecOid": "1673235394948370432",
              "parentClassifySecText": "分类码段父",
              "nullableFlag": "false",
              "componentCodeFlag": "false",
              "serialDependFlag": "false",
              "displayFlag": "false",
              "serialDependOrder": 0,
              "fixedValueVOList": []
            },
            {
              "oid": "1673235886290112512",
              "id": "kbmd",
              "name": "可变码段",
              "tenantId": "",
              "description": "",
              "revisionOid": "1673235886290112515",
              "nameOid": "1673235886290112513",
              "btmname": "codebasicsec",
              "lastR": "1",
              "firstR": "1",
              "lastV": "1",
              "firstV": "1",
              "creator": "0",
              "createTime": "2023-06-26 15:44:57",
              "lastModifier": "0",
              "lastModifyTime": "2023-06-26 15:44:57",
              "revisionRule": "",
              "revisionSeq": 1,
              "revisionValue": "",
              "versionRule": "0",
              "versionSeq": 1,
              "versionValue": "1",
              "lctid": "",
              "lcStatus": "",
              "lcStatusText": "",
              "ts": "2023-06-26 15:44:57.168",
              "owner": "1",
              "copyFromVersion": "",
              "secretGrade": -1,
              "secretGradeText": "",
              "data": {},
              "sectype": "codevariablesec",
              "secTypeText": "可变码段",
              "pkCodeRule": "1673234841140858880",
              "orderNum": 4,
              "codeSecLengthType": "code_sec_length_variable",
              "codeSecLengthTypeText": "可变长度",
              "codeSecLength": "10",
              "referAttributeName": "",
              "referAttributeId": "",
              "getValueClass": "",
              "codeDateFormatStr": "",
              "codeLevelType": "",
              "codeLevelTypeText": "",
              "codeLevelValue": -1,
              "valueCutLength": -1,
              "valueCutType": "",
              "valueCutTypeText": "",
              "codeGetValueType": "",
              "codeGetValueTypeText": "",
              "referCodeClassifyOid": "",
              "referCodeClassifyOidName": "",
              "referBtmId": "",
              "referBtmName": "",
              "referConfig": "",
              "referValueInfo": "",
              "filterSql": "",
              "serialStart": "",
              "serialStep": -1,
              "codeFillType": "code_fill_left",
              "codeFillTypeText": "",
              "codeFillSeparator": "0",
              "codeFillLength": "",
              "codeFillLimit": -1,
              "codeFillFlag": "false",
              "customCodeSerialClass": "",
              "matchClassifyValueFlag": "false",
              "parentClassifySecOid": "",
              "parentClassifySecText": "",
              "nullableFlag": "false",
              "componentCodeFlag": "false",
              "serialDependFlag": "false",
              "displayFlag": "false",
              "serialDependOrder": 0,
              "fixedValueVOList": []
            },
            {
              "oid": "1673236217442996224",
              "id": "yymd",
              "name": "引用码段",
              "tenantId": "",
              "description": "",
              "revisionOid": "1673236217442996227",
              "nameOid": "1673236217442996225",
              "btmname": "codebasicsec",
              "lastR": "1",
              "firstR": "1",
              "lastV": "1",
              "firstV": "1",
              "creator": "0",
              "createTime": "2023-06-26 15:46:16",
              "lastModifier": "0",
              "lastModifyTime": "2023-06-26 15:46:16",
              "revisionRule": "",
              "revisionSeq": 1,
              "revisionValue": "",
              "versionRule": "0",
              "versionSeq": 1,
              "versionValue": "1",
              "lctid": "",
              "lcStatus": "",
              "lcStatusText": "",
              "ts": "2023-06-26 15:46:16.121",
              "owner": "1",
              "copyFromVersion": "",
              "secretGrade": -1,
              "secretGradeText": "",
              "data": {},
              "sectype": "coderefersec",
              "secTypeText": "引用码段",
              "pkCodeRule": "1673234841140858880",
              "orderNum": 5,
              "codeSecLengthType": "code_sec_length_variable",
              "codeSecLengthTypeText": "可变长度",
              "codeSecLength": "",
              "referAttributeName": "",
              "referAttributeId": "",
              "getValueClass": "",
              "codeDateFormatStr": "",
              "codeLevelType": "",
              "codeLevelTypeText": "",
              "codeLevelValue": -1,
              "valueCutLength": -1,
              "valueCutType": "",
              "valueCutTypeText": "",
              "codeGetValueType": "",
              "codeGetValueTypeText": "",
              "referCodeClassifyOid": "",
              "referCodeClassifyOidName": "",
              "referBtmId": "referconfig",
              "referBtmName": "参照配置表",
              "referConfig": "{\"codeSrchCondConfigVOS\":[],\"codeShowFieldConfigVOS\":[{\"field\":\"displaytable\",\"title\":\"displaytable\",\"sort\":false,\"attrSortField\":\"displaytable\",\"isquery\":false,\"$cellEdit\":false,\"$index\":0,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"},{\"field\":\"mapfields\",\"title\":\"mapfields\",\"sort\":false,\"attrSortField\":\"mapfields\",\"isquery\":false,\"$cellEdit\":false,\"$index\":1,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"},{\"field\":\"displaytable\",\"title\":\"displaytable\",\"sort\":false,\"attrSortField\":\"displaytable\",\"isquery\":false,\"$cellEdit\":false,\"$index\":2,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"}],\"referTypeName\":\"参照配置表\",\"referType\":\"referconfig\",\"textField\":\"name\",\"valueField\":\"oid\",\"type\":\"default\",\"url\":\"\",\"backPath\":\"\",\"method\":\"GET\",\"height\":\"\",\"useFormKey\":\"\",\"paramForFormKey\":\"\",\"isMuti\":false,\"mapFields\":\"\",\"isOpenGlobal\":true,\"isPersistence\":true,\"id\":\"004\",\"name\":\"测试引用码段\",\"limit\":\"\",\"sortField\":\"\",\"sortType\":\"\"}",
              "referValueInfo": "{\"codeSrchCondConfigVOS\":[],\"codeShowFieldConfigVOS\":[{\"field\":\"displaytable\",\"title\":\"displaytable\",\"sort\":false,\"attrSortField\":\"displaytable\",\"isquery\":false,\"$cellEdit\":false,\"$index\":0,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"},{\"field\":\"mapfields\",\"title\":\"mapfields\",\"sort\":false,\"attrSortField\":\"mapfields\",\"isquery\":false,\"$cellEdit\":false,\"$index\":1,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"},{\"field\":\"displaytable\",\"title\":\"displaytable\",\"sort\":false,\"attrSortField\":\"displaytable\",\"isquery\":false,\"$cellEdit\":false,\"$index\":2,\"$fieldTypeText\":\"\",\"$fixedPosition\":\"\"}],\"referTypeName\":\"参照配置表\",\"referType\":\"referconfig\",\"textField\":\"name\",\"valueField\":\"oid\",\"type\":\"default\",\"url\":\"\",\"backPath\":\"\",\"method\":\"GET\",\"height\":\"\",\"useFormKey\":\"\",\"paramForFormKey\":\"\",\"isMuti\":false,\"mapFields\":\"\",\"isOpenGlobal\":true,\"isPersistence\":true,\"id\":\"004\",\"name\":\"测试引用码段\",\"limit\":\"\",\"sortField\":\"\",\"sortType\":\"\"}",
              "filterSql": "",
              "serialStart": "",
              "serialStep": -1,
              "codeFillType": "",
              "codeFillTypeText": "",
              "codeFillSeparator": "0",
              "codeFillLength": "",
              "codeFillLimit": -1,
              "codeFillFlag": "false",
              "customCodeSerialClass": "",
              "matchClassifyValueFlag": "false",
              "parentClassifySecOid": "",
              "parentClassifySecText": "",
              "nullableFlag": "false",
              "componentCodeFlag": "false",
              "serialDependFlag": "false",
              "displayFlag": "false",
              "serialDependOrder": 0,
              "fixedValueVOList": []
            }
          ]
          if (this.secVOList.length > 0) {
            this.showCodeApply = true
            this.$nextTick(() => {
              this.$refs.CodeApply.templateRender(this.secVOList);
            });
          }
 
        }
      });
    },
    getCodeApplyFormData(codeApplyForm) {
      this.codeApplyForm = codeApplyForm;
    },
    getType(item) {
      console.log(item.sectype, 'item.sectype');
      return this.selfColumnType[item.sectype];
    },
    getReferConfig(item) {
      let params = {};
      if (item.sectype == "codeclassifysec") {
        params = {
          isMuti: false,
          type: "grid",
          tableConfig: {
            limit: -1,
            cols: [
              {
                field: "id",
                title: "英文名称",
                sort: true,
                width: 150,
              },
              {
                field: "name",
                title: "中文名称",
                sort: true,
                width: 150,
              },
              {
                field: "description",
                title: "描述",
                width: 250,
              },
            ],
            queryColumns: [
              {
                field: "id",
                title: "英文名称",
              },
              {
                field: "name",
                title: "中文名称",
              },
            ],
          },
          url: "api/ubcs-code/ubcs-code/mdmEngineController/listCodeClassifyValueBySecOid",
          extraParams: {
            classifySecOid: item.oid,
            parentClassifyValueOid: item.parentClassifySecOid
              ? this.codeApplyForm[item.parentClassifySecOid]
              : "",
          },
        };
      } else if (item.sectype == "coderefersec") {
        params = JSON.parse(item.referValueInfo);
      }
      return params;
    },
    getDisabled(item) {
      if (item.sectype === "codeclassifysec") {
        if (item.parentClassifySecOid) {
          if (!this.codeApplyForm[item.parentClassifySecOid]) {
            return true;
          } else {
            return false;
          }
        }
      }
    },
    isRequired(item) {
      return item.nullableFlag != "true";
    },
    getOptionList(item) {
      if (
        Array.isArray(item.fixedValueVOList) &&
        item.fixedValueVOList.length > 0
      ) {
        const configAttr = {
          key: "id",
          value: "id",
        };
        const optionList = item.fixedValueVOList.map((item) => {
          for (const key in configAttr) {
            if (Object.hasOwnProperty.call(configAttr, key)) {
              const element = configAttr[key];
              item[key] = item[element];
            }
          }
          return item;
        });
        return optionList;
      } else {
        return [];
      }
    },
    // 参照组件数据变更
    referConfigDataUpdate(data) {
      const { field } = data;
      this.secVOList = this.secVOList.map((item) => {
        if (item.parentClassifySecOid === field) {
          this.$refs.CodeApply.form[item.oid] = undefined;
          this.$refs.CodeApply.form[item.name] = undefined;
        }
        return item;
      });
      this.$refs.CodeApply.templateRender(this.secVOList);
    },
  }
}